경사하강법
- 머신러닝 최적화는 1차 미분(그래디언트)를 사용하는 경사하강법SGD로 품
-> 머신 러닝의 주류 알고리즘
-> 경사 하강법은 깊은 CNN을 성공적으로 학습함
-> 수렴 속도 향상이나 하이퍼파라미터를 둔감하게 만들어서 하이퍼 파라미터 최적화 필요성이나 규제 기법을 줄이는 개선 필요
* [Bottou2017] 논문에서는 경사 하강법 개선책을 1) 그래디언트의 잡음(미니배치 사용)을 줄이고 2) 2차 미분을 사용하는 것으로 제시함
2차 미분
- 1차 미분보다 수렴 속도가 훨씬 빠름
--> 1처 미분(그래디언트)는 현재 위치에서의 지역적 기울기만 알려줌
--> 최저점을 지나칠 수 있어서 작은 학습률로 조금씩 최저점으로 다가가는데 속도 저하
- 잡음과 변화가 심한 불량 조건 목적함수를 최적화해야함
- 경사하강법으로는 빨간 경로를 찾을 수 없음
- 2차 미분 정보를 활용해서 빨간 경로를 알아냄
1차 미분 최적화와 2차 미분 최적화
1차 미분 최적화
- 경사도를 사용해서 선형 근사 사용
2차 미분 최적화
- 경사도와 헤시안 사용해 2차 근사 사용
뉴턴 방법
- 헤시안 행렬 H 사용
- 저차원 함수 적용에는 한계가 존재함
- 헤시안 저장 시에는 과다한 메모리가 필요
- 역행렬 구하기에 시간이 소요됨
-> 현실적으로 머신 러닝에 적용할 수 없음
켤레 그레디언트 방법 conjugate gradient
- 뉴턴 방법의 기본 원리는 따르되, 헤시안 행렬의 근사치를 사용함
- 그래디언트 정보로부터 2차 미분 정보를 근사함
-> SGD처럼 지그재그로 이동하는 것이 아니라 직전에 사용한 방향을 기억해서 다음 순간에 conjugate(켤레 쌍)을 활용
유사 뉴턴 방법 quasi Newton
- 헤시안H의 역행렬을 근사하는 행렬 M 사용
- 단위행렬I로 시작해서 갱신 규칙 이용해 H에 근사하는 M을 찾아나감
- 그래디언트만 사용해서 현실적인 시간 안에 처리 가능
e.g. BFGS(Broyden-Fletcher-Goldfarb-Shanno)
'ML' 카테고리의 다른 글
밀도 추정 (0) | 2023.07.31 |
---|---|
군집화 (0) | 2023.07.25 |
Hyperparameter Optimization (0) | 2023.01.31 |
Regularization Method (0) | 2023.01.30 |
Regularization (1) | 2023.01.18 |