Deep Learning Optimization
🌟 모델 튜닝
✅ 최적화에 영향을 미치는 요인
1️⃣ 네트워크 구조
- 각 히든 레이어의 노드 수
- 히든 레이어의 수
- 용량이 큰 모델을 만든 후 규제를 적용
2️⃣ 오버피팅 방지
- L1, L2 reaularization
- Dropout, Early Stopping
- 최적화 알고리즘 선정 : Adagrad, RMSProp, Adam
🌟 성능이 안 좋아 -> 히든 레이어를 쌓아야 하는 건지, 히든 노드를 추가해야 하는 건지...
✅ 히든 레이어를 추가한다는 의미
✅ 히든 노드를 추가한다는 의미
- 동일한 특징을 더 세밀하게 잡아내겠다
- 오버피팅의 위험..
- 3,4차가 좋음
✅ 가중치 규제(reaularization)
- 가중치가 큰 값들이 오버피팅의 문제를 일으킨다는 것을 발견. 끌어내려야 함. 이게 가중치 규제
- L2 : 모든 변수를 다 사용. 0이 되는 값 없음. 2감마세타 만큼 덜 이동
- L1 : 변수를 선택 사용. 0이 되는 값 있음
✅ Optimizer 선택
- 학습률 : 학습률 * 미분값만큼 이동(항상 정해진 학습률만큼)
- 적응적 학습률 -> Adagrad(이전의 이동량을 고려)
- 이전의 이동량 중에서도 바로 전 이동량이 더 중요 -> RMSProp
- RMSPRop + 모멘텀 -> Adam
- 모멘텀 : 운동량이 컸으면 조금씩 이동해도 되는 것이 모멘텀 현상?
- 네스테로프 모멘텀
✅ 드롭아웃
- 완전 연결 구조가 매번 좋은 것이 아님
- dropout = 0.5라고 주면 한칸 띄우고 한칸 옆으로