ML

Optimization - 2차 미분

술임 2023. 2. 13. 11:08

경사하강법

- 머신러닝 최적화는 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