[ DeepML-CS231n ] Lec. 07 Training Neural Networks - II
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
-> 함정카드 발동
zero gradient or gradient descent / saddle points much more common in high dimension
해결할 방법은 여러번의 학습을 시도하는 것일까? 어디 있는지 모르는 Goal 을 찾아오라고 할 수는 없잔아?
vx=0
while True:
dx = comput_gradient(x)
vx = rho * vx + dx
x += learning_rate * vx
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
이 내 생각보다 중요하다는 사실을 꺠달았다. 이 분야는 반전이 많아 재밌는 것 같다
한 주의 회고
- 아이펠 과정을 진행하면서, 내가 가지고 있던 것들을 정확하게 바꿔간다는게 정말 유익하다는 생각이 자주 든다
- 직접 코딩 작업하는데에 필요한 것들을 빨리 마련하고 싶다 제발
- 인공지능은 이제 개인이 공부할 수 있는 영역을 넘어섰나?? 공부해야할 양이 정말 많다
다음 주의 다짐
- 이번 주 강의를 진행하는 데, 많은 사람들이 질문을 하고 서로 답해주면서 함께 맞춰간다는 느낌을 받았고, 이게 아이펠에서 강조하는 문화구나 라는 생각이 들었다. 나도 좀더 좋은 질문들을 꾸준히 생각하면서 더 많이 참여하고싶다
Author And Source
이 문제에 관하여([ DeepML-CS231n ] Lec. 07 Training Neural Networks - II), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://velog.io/@navigo1024/DeepML-CS231n-Lec.-07-Training-Neural-Networks-II
저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
-> 2% extra performance...(필요해???)
May not for industries...
(모델이 여러가지 포함되면 이를 처리할 하드웨어가 보급되기 어렵기때문에)
하지만 앙상블은 못참지
- 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 modelskip 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
이 내 생각보다 중요하다는 사실을 꺠달았다. 이 분야는 반전이 많아 재밌는 것 같다
한 주의 회고
- 아이펠 과정을 진행하면서, 내가 가지고 있던 것들을 정확하게 바꿔간다는게 정말 유익하다는 생각이 자주 든다
- 직접 코딩 작업하는데에 필요한 것들을 빨리 마련하고 싶다 제발
- 인공지능은 이제 개인이 공부할 수 있는 영역을 넘어섰나?? 공부해야할 양이 정말 많다
다음 주의 다짐
- 이번 주 강의를 진행하는 데, 많은 사람들이 질문을 하고 서로 답해주면서 함께 맞춰간다는 느낌을 받았고, 이게 아이펠에서 강조하는 문화구나 라는 생각이 들었다. 나도 좀더 좋은 질문들을 꾸준히 생각하면서 더 많이 참여하고싶다
Author And Source
이 문제에 관하여([ DeepML-CS231n ] Lec. 07 Training Neural Networks - II), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://velog.io/@navigo1024/DeepML-CS231n-Lec.-07-Training-Neural-Networks-II
저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
이미 학습되어 있는 정보라는 것이 도대체 어떤 것들이기에 새로운 정보들에도 통용되는 걸까
인공지능을 많이 알게 되었다고 생각했는데도 아직 모르는 것들이 수두룩하니 기분이 묘함
Adam
기본 세팅값이 유용하게 사용될 수 있을 것 같다 상세 개념에 대해서 기억해두자Data augmentation
이 내 생각보다 중요하다는 사실을 꺠달았다. 이 분야는 반전이 많아 재밌는 것 같다Author And Source
이 문제에 관하여([ DeepML-CS231n ] Lec. 07 Training Neural Networks - II), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@navigo1024/DeepML-CS231n-Lec.-07-Training-Neural-Networks-II저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)