이전에 다 못본 6강을 봤고, 시간이 부족하여 7강의 일부만 들었다.
6강
1. babysitting the learning process
- step1 데이터 전처리를 한다 : zero-centered, normalized
- step2 사용할 아키텍쳐를 선택한다. : 입력층, 은닉층, 출력층 설계
- 네트워크 초기화
- 전체 데이터를 쓰지 말고 작은 데이터셋만 가지고 학습을 시켜서 모델이 오버피팅 되는지 확인하기 : 오버피팅이 되면 모델이 잘 학습하는 것이므로 좋다.
- learning rate가 너무 작으면 cost가 줄어들지 않을 것이고, 너무 크면 cost가 튈 것이다.
2. Hyperparameter Optimization
- regularization과 learning rate를 바꾸면서 학습이 잘 되는 것을 보여줌.
- Random Search vs Grid Search : 보통 Random Search가 좋다고 함.
- 가지고 놀 수 있는 하이퍼파라미터 : network architecture, learning rate, its decay schedule, update type, regularization(L2, Dropout strength)
- loss curve, accuracy 그래프를 가지고 모니터 할 때의 팁을 알려줌
7강
1. Optimization
- SGD의 문제점
1) 손실함수의 모양에 따라 영향을 많이 받는다. gradient의 불균형한 방향이 있으면 잘 작동하지 않는다. 지그재그로 이동하면서 학습이 느릴 수 있다. 이는 고차원 공간에서 빈번하게 발생한다.
2) local minima와 saddle point에서 멈춰버리는 현상이 발생한다. (이 때의 기울기가 0이기 때문에)
3) SGD는 미니배치를 가지고 업데이트를 하는데, 이는 매번 정확한 gradient를 얻기보단 부정확한 추정값만 얻는 것을 의미한다. 이 때 생기는 noise가 섞이면서 지저분해진다.
- 이를 해결하려는 노력 중 하나는 SGD + Momentum 한 것이다.
1) 이는 SGD에 가중치(속도와 마찰력을 추가한)를 더해주므로 local minima 혹은 saddle point를 만나도 극복할 수 있게 해준다.
2) 이와 비슷한 방법으로 Nesterov momentum도 있다. 이는 먼저 velocity를 구해서 이동한 뒤 그 지점에서 gradient를 구하고 원점으로 돌아와서 actual step를 이동하는 방식이다.
- 또 다른 해결하려는 노력으로는 Adagrad가 있다.
1) 이것은 그 순간의 gradient 제곱한 뒤 제곱근을 분모로 취하는 것으로 학습이 진행될수록 분모가 커져서 결과값이 작아지는 문제가 생긴다. 이는 학습속도가 느려진다는 것과 같다. 또한 convex할 때는 괜찮으나, non-convex할 때는 saddle point에서 멈출 수 있다.
2) 이를 개선하려는 것이 RMSProp이다. 누적된 gradient 제곱항에 decay_rate를 곱해준다. step의 속도를 감속 / 가속 시킬 수 있게 된다.
- 이 두 노력은 일종의 momentum 계열과 Ada 계열로 나뉜다. 2개 다 좋은 아이디어이다. 그럼 이 2개를 합치면 어떨까라는 생각에서 나온 것이 Adam이다.
- Adam은 momentum(first/second) 와 bias correction(초기에 튀는 것을 방지) 그리고 AdaGrad / RMSProp를 합친 모델이다.
- 이는 교수님도 강의하시면서 아주 좋은 모델이라 가장 처음으로 돌려볼만 하다고 말한다. beta1 = 0.9, beta2 = 0.999, and learning rate = 1e-3 or 5e-4를 주면 대부분에서 잘 작동하는 great starting point 라고 한다.
'공부 > AIFFEL' 카테고리의 다른 글
FUNDAMENTAL 19. TF2 API 개요 (0) | 2021.02.15 |
---|---|
제 1차 해커톤 (대전) : 캐글 축제 (0) | 2021.02.10 |
FUNDAMENTAL 18. 딥러닝 들여다보기 (0) | 2021.02.08 |
FUNDAMENTAL 17. 어라, 이 시계열 데이터 이상한데? - Anomaly Detection (0) | 2021.02.05 |
Exploration 9 : 나의 첫 번째 캐글 경진대회, 무작정 따라해보기 (0) | 2021.02.05 |