AI/딥러닝

[핸즈온머신러닝 11] 심층 신경망 학습

Mujae98 2023. 12. 13. 23:46

역전파 진행시 그레이디언트 소실과 폭주가 문제

1. 글로럿과 He 초기화 사용 -> 훈련 속도를 상당히 높일 수 있음 -> 글로럿(활성화 함수 없음), He(ReLU 및 변종들), 르쿤(SELU)

2. SELU>ELU>LeakyReLU>ReLU>tanh>로지스틱 순인데 속도가 중요하면 보편화된 ReLU gogo

3. 배치 정규화(출력 스케일 벡터, 출력 이동 벡터 이 두개는 역전파로 학습 최종 입력 평균 벡터, 최종 입력 표준편차 벡터는 지수 이동 평균으로 추정됨) -> 가중치 초기화에 네트워크가 덜 민감해지고, 큰 학습률 사용을 가능하게 해서 학습 속도가 빨라짐. + 규제 역할까지 ㄷㄷ 깊은 네트워크에서 쓰면 효율 극대화

4. 그레이디언트 클리핑 -> 폭주 완활르 위해 역전파시 일정 임곗값을 넘어서지 못하게 클리핑하는 것 (배치정규화 못 쓰는 순환 신경망에서 많이 씀)

사전훈련된 층 재사용

전이 학습(tranform learnin): 이미 있는 모델의 하위 층을 재사용하여 훈련 속도, 훈련 데이터에서의 이점이 있음 but 작은 완전 연결 네트워크에서는 잘 작동하지 않음

레이블된 훈련 데이터가 많지 않고, 비슷한 작업의 모델이 없을 때는 비지도 사전훈련을 추천 -> 제한된 볼츠만 머신(RBM) 사용

고속 옵티마이저

1. 모멘텀 최적화: 이전 그레이디언트가 얼마였는지 고려

2. 네스테로프 가속 경사: 1번 보다 거의 항상 더 빠름 -> 원래 위치에서 그레이디언트를 사용하는 것이 아닌 그레이디언트가 맞다고 생각하고 그 방향으로 더 나아가서 그레이디언트를 사용

3. AdaGrad: 학습률을 감소시키지만 경사가 완만한 차원보다 가파른 차원에 대해 더 바르게 ㄷ감소됨 -> 전역 최적점 방향으로 더 곧장 가도록 되어 있는겨 But 학습률이 너무 감소되어 전역 최적점에 도달하기 전에 알고리즘이 멈출수도..

4. RMSProp: 가장 최근 반복에서 비롯된 그레이디언트만 누적함으로써 AdaGrad의 최적점에 수렴하지 못하는 문제를 고침

5. Adam: 적응적 모멘트 추정 -> 모멘텀 최적화 + RMSProp -> 모멘텀 최적화처럼 지난 그레이디언트의 지수 감소 평균을 따르고, RMSProp처럼 지난 그레이디언트 제곱의 지수 감소된 평균을 따름 -> It's good.

규제

1. L1과 L2 규제

2. Dropout

3. 몬테 카를로 드롭아웃

4. 맥스-노름 규제