Optimization
Problem with SGD
- What if loss changes quickly in one direction and slowly in another?
- Local minima or plateau or saddle point:
-> 함정카드 발동
zero gradient or gradient descent / saddle points much more common in high dimension
- The gradients come from mini-batches(stochastic) so they can be noisy.
해결할 방법은 여러번의 학습을 시도하는 것일까? 어디 있는지 모르는 Goal 을 찾아오라고 할 수는 없잔아?
SGD + Momentum
- Add velocity with gradient
vx=0
while True:
dx = comput_gradient(x)
vx = rho * vx + dx
x += learning_rate * vx
AdaGrad -> RMSProp
Gradient squared...
blahblah...
복잡하니 넘어가자(잘안쓸...걸?)
...
Adam !!!
Finally!!!
= RMSProp + Momentum (+ bias correction)
- has problem with first stage
- Adam with beta1 = 0.9, beta2 = 0.999, and learning_rate = 1e-3 or 5e-4 is a great starting point for many models!
공식처럼 외워두고 쓰라고 하심, 최적화가 너무 잘되어있어서...(신기하네)

Model Emsembles
- Train multiple independent models
- At test time average their results
-> 2% extra performance...(필요해???)
May not for industries...
(모델이 여러가지 포함되면 이를 처리할 하드웨어가 보급되기 어렵기때문에)
하지만 앙상블은 못참지
Regularization
- Add term to loss
- 오히려 제약사항들이 성능을 개선시킬 수 있다는 아이러니, 과유불급, 조상님들 당신들은 대체...
Dropout
- Randomly set some neurons to zero
- Probability of dropping is hyperparameter; 0.5 is common
- Force the network to have a redundant representation;
Prevents co-adaptation of features
- Dropout is training a large ensenble of models(that share parameters);
Each binary mask is one model
skip connection 등의 방법으로 대체될 수 있다고는 하지만,
여전히 보편적으로 사용되고 있는 기능이기 때문에 상세한 자료를 읽어둘 필요가 있는 것 같다.
Data Augmentation
- Translation, rotation, flips, color jittering, random crop and scale...
- Data centered model 이 트렌드인 요즘 굉장히 다양한 방법들이 나와있어 고민해볼 여지가 있다고 생각함
실제 프로젝트에서 5% 상당의 성능 개선 효과가 있었음을 확인한 적도 있으니 기억해두기
사실 좀 잡다한 기능들이 많아서...ㅜ
Transfer learning
- 학습 중간 모델 저장하는 기능은 꼭 추가하기, Latest + Best !!
- Fine tuning 작업을 꼭 경험해보고 싶다
이미 학습되어 있는 정보라는 것이 도대체 어떤 것들이기에 새로운 정보들에도 통용되는 걸까
인공지능을 많이 알게 되었다고 생각했는데도 아직 모르는 것들이 수두룩하니 기분이 묘함
새롭게 알게 된 것들
- 영어 자료를 확인하는 것은 생각보다 재밌고 유익함
Adam
기본 세팅값이 유용하게 사용될 수 있을 것 같다 상세 개념에 대해서 기억해두자
Data augmentation
이 내 생각보다 중요하다는 사실을 꺠달았다. 이 분야는 반전이 많아 재밌는 것 같다
한 주의 회고
- 아이펠 과정을 진행하면서, 내가 가지고 있던 것들을 정확하게 바꿔간다는게 정말 유익하다는 생각이 자주 든다
- 직접 코딩 작업하는데에 필요한 것들을 빨리 마련하고 싶다 제발
- 인공지능은 이제 개인이 공부할 수 있는 영역을 넘어섰나?? 공부해야할 양이 정말 많다
다음 주의 다짐
- 이번 주 강의를 진행하는 데, 많은 사람들이 질문을 하고 서로 답해주면서 함께 맞춰간다는 느낌을 받았고, 이게 아이펠에서 강조하는 문화구나 라는 생각이 들었다. 나도 좀더 좋은 질문들을 꾸준히 생각하면서 더 많이 참여하고싶다