Google ML Bootcamp
-
Case Studies & ConvNet practical AdviceGoogle ML Bootcamp/Convolutional Neural Networks 2023. 9. 24. 19:45
※ Classic Networks 1. LeNet - 5 - 초창기 모델임(60,000개의 parameter) - LeNet-5가 풀링 이후 비선형성을 가진다.(풀링 이후 sigmoid를 가진다.) 2. AlexNet - 약 6천만 개의 parameter를 가진다. - 훨씬 많은 hidden layer를 가지고, 더 많은 데이터에 대해서 훈련을 받음. - ReLU - 두 개의 GPU에 대해 복잡한 방식으로 훈련 실시 -> 많은 계층이 실제로 두 개의 서로 다른 GPU로 분할되어 있으며 두 GPU가 서로 통신할 수 있는 시기를 고려하여 조정됨. 3. VGG - 16 ※ ResNets - short cut / skip connection : 칸을 뛰어 넘어서 다음 layer와 연결시키는 기법 - 5개로 구획..
-
Convolutional Neural NetworksGoogle ML Bootcamp/Convolutional Neural Networks 2023. 9. 23. 17:11
※ Edge Detection Example - 6*6 Matrix와 3*3 Matrix를 컨볼루션하여 4*4 Matrix로 output을 출력함. - 합성곱 연산으로 이미지에서 편리하게 vertical edge를 찾고 구체화 시킬 수 있게 한다. ※ Padding ■ 합성곱 신경망의 단점 1. Convolution을 진행하게 되면 합성곱 연산을 적용할 때마다 이미지가 축소됨 -> 엣지 검출 or 다른 기능 설정 시 이미지 축소 2. 모서리에 있는 픽셀의 경우 3*3이라도 작은 모서리 픽셀의 결과 중 Matrix 하나에서만 사용되는 것처럼 터치가 됨. -> 가운데 픽셀의 경우는 3*3 컨볼루션 시 중복되는 Matrix가 많음. but, 모서리나 엣지의 픽셀은 결과에서 훨씬 적게 사용되는 것처럼 보여 이미..
-
Structuring Machine Learning Projects - Week2Google ML Bootcamp/structuring Machine Learning Projects 2023. 9. 19. 19:58
※ Transfer Learning - 한 분야의 문제를 해결하기 위해서 얻은 지식과 정보를 다른 문제를 푸는데 사용하는 방식. - 컴퓨터 비전의 영역에서 전이 학습으로 수행된 모델들이 높은 성능을 보이고 있음. - ImageNet과 같은 데이터셋으로 이미 학습된 pretrained Model을 사용해서 뒷 부분에 FC를 붙여서 학습시킴. - 초깃값으로 이미 학습된 model을 사용할 수 있어 학습 속도 면에서 2~3배의 효과를 낼 수 있음. ※ Multi-task Learning - transfer Learning에서는 A작업을 배우고 B작업으로 넘어가는 과정에서 순차적인 과정이 필요했으나 Multi-task Learning에서는 일을 동시에 시작하여 신경망이 여러가지 일을 동시에 할 수 있어, 각각의..
-
Structuring ML projects - 1Google ML Bootcamp/structuring Machine Learning Projects 2023. 9. 16. 18:05
1. Orthogonalization - Fit training set well on cost function : Adam과 같은 최적화 - Fit dev set well on cost function : 정규화, training set을 크게 만들기 - Fit test set well on cost function : dev set을 크게 만들기 - Performs well in real world : 현실적인 알고리즘에 적용 X -> 개발 세트나 비용함수를 바꿔야 한다. 2. Single Number Evaluation Metric - 단일 실수 평가 지표를 사용하는 것이 유용하다 - 분류기 선택 시에는 Precision과 Recall 두 가지를 모두 가지고 평가하기 보다는 두 가지 성능 지표를 합쳐..
-
Optimization AlgorithmsGoogle ML Bootcamp/Improving Deep Neural Network 2023. 9. 12. 16:17
※ Mini-batch Gradient Descent - 1000개의 mini-batch를 통해서 1 epoch을 실시한 상황. - 여러개의 epoch을 실시하고 싶다면 for loop 하나를 추가해야함. ※ Understanding Mini-batch Gradient Descent - batch에서는 cost function이 하강함, mini-batch 에서는 반드시 cost function이 하강하지 않을 수도 있다. - 장점 1 : 미니배치 크기가 1000개의 예시일 때, 1000개의 예시로 벡터화가 가능할 것이다. 이 경우 예시를 하나씩 처리하는 것보 훨씬 빠르다. - 장점 2 : 전체 훈련 세트를 처리할 때 기다릴 필요없이 진전이 있도록 할 수 있다. - mini-batch를 사용하면 연속 하..
-
Regularization & OptimizationGoogle ML Bootcamp/Improving Deep Neural Network 2023. 9. 10. 20:45
1. Train / Dev / Test sets - ML에서는 70:30으로 분할하는 것이 일반적이었음. - 빅데이터 : 테스트 셋의 크기가 점점 작은 비율로 줄어들고 있음.(테스트 셋이 10% ~ 20%정도의 비율일 경우도 흔함.) - Training set : Cat pictures from webpages. - Dev/test sets : Cat pictures from users using your app. - Make sure dev and test come from same distribution. 2. Bias / Variance - high bias : underfitting - high variance : overfitting - Train set error : 1%, Dev set er..
-
Deep Neural NetworkGoogle ML Bootcamp/Neural Networks and DL 2023. 9. 10. 14:26
1. Deep L-Layer Neural Network - 숨겨진 층의 수를 다양한 값을 시도할 수 있는 하이퍼파라미터로 표시하고 유효성 검증 데이터 또는 개발 세트에서 평가하는 것이 합리적이다. - 4 Layer N(3 hidden Layer) 2. Forward Propagation in a Deep Network - 명시적인 for loop를 사용하는 것이 좋다. 3. Getting your Matrix Dimensions Right - Vectorization 한 상태와 아닌 일반적인 상태 각각의 차원을 위와 같이 표현할 수 있다. 4. Why Deep Representations? - 복잡한 부분을 탐지하기 위해 단순한 가장자리들을 탐지하는 것이 중요하다. 깊이를 늘리면서 점점 복잡한 것들까지 ..
-
Shallow Neural NetworkGoogle ML Bootcamp/Neural Networks and DL 2023. 9. 6. 21:22
2. Nerual Network Representation Input layer - Hidden layer - Output layer 각각 a[0], a[1], a[2]로 표현되는데 a노드 속에 w와 b가 포함되어 있다. 3. Computing a Neural Network's Output z = w.T*x + b yhat = a = sigmoid(z) 이 식을 기본으로 각 노드의 값을 지정할 수 있다. 4. Vectorizing Across Multiple Examples A[1]의 수평 조사 : 훈련 예제 전체를 인덱싱 한다. 훈련 셀 스캔 -> 수평 스캔 시 첫 번째 부터 숨겨진 단위부터 움직임. 숨겨진 단위의 활성화까지 조사. A[1]의 수직 조사 : 다른 신경망의 노드 -> 수직 스캔 시 숨겨진..