옵티마이저 : 모델이 학습 데이터로부터 학습하며 최적의 파라미터를 찾아내는 과정에서 옵티마이저는 손실 함수(loss function)를 최소화하는 파라미터 값을 조정. 이를 통해 모델이 더 나은 예측을 수행할 수 있도록 돕는다.
다양한 종류의 옵티마이저가 있으며, 각각의 옵티마이저는 다른 방식으로 파라미터를 업데이트한다.
확률적 경사 하강법(Stochastic Gradient Descent, SGD): 여러 샘플 중 하나 픽해서 손실 계산하여 업데이트, 일반적으로 대규모 데이터셋에서 사용
장점:
구현이 간단하고 계산 비용이 적다.
대규모 데이터셋에 적용하기에 유리
단점:
수렴 속도가 상대적으로 느릴 수 있다.
노이즈가 있는 데이터에서 수렴이 어려울 수 있다.
Mini-batch Gradient Descent : 학습 데이터를 작은 배치(mini-batch) 단위로 나누어 파라미터를 업데이트하는 방식. 전체 학습 데이터를 사용하는 배치 경사 하강법보다 빠른 계산 속도와 일정한 수준의 노이즈를 가지면서도 안정적인 업데이트를 제공합니다.
모멘텀 최적화(Momentum Optimization): 이전 업데이트에서의 관성을 사용하여 현재 기울기와 함께 업데이트에 영향을 준다. 이를 통해 이동 방향이 일정하게 유지되어 지역 최솟값에 빠지지 않고 전역 최솟값을 탐색할 수 있다.
장점:
이전 그래디언트의 영향을 고려하여 빠르게 수렴할 수 있다.
로컬 최솟값에서 빠져나오는 데 도움이 된다.
단점:
골짜기를 넘어서는 경우에는 속도가 빨라져 수렴이 어려울 수 있다.
아다그라드(Adagrad): 각 파라미터마다 학습 속도를 조정하여 자주 업데이트되는 파라미터에는 더 작은 학습 속도를 적용. 이는 기울기가 크게 갱신되는 파라미터를 더 작은 학습 속도로 업데이트하여 효과적인 학습을 돕는다.
장점:
매개변수별로 학습률을 조정하여 효율적인 학습을 가능하게 한다.
희소한 그래디언트에 대해서도 잘 동작한다.
단점:
학습률이 너무 감소하여 일찍 멈출 수 있다.
학습률 조정에 대한 자동화가 필요하다.
RMS프롭(RMSprop): 아다그라드의 단점인 학습 속도가 급격히 줄어드는 문제를 해결하기 위해 제안된 알고리즘으로, 최근 기울기를 크게 반영하여 학습 속도를 조절.
장점:
과거 그래디언트의 지수적 평균을 사용하여 학습률을 조정하여 안정적인 학습을 가능하게 하다.
학습률 감소 문제를 완화한다.
단점:
학습률이 여전히 너무 빨리 감소할 수 있다.
아담(Adam): 모멘텀 최적화와 RMS프롭을 결합한 알고리즘으로, 자유롭게 파라미터를 업데이트하고 속도를 조절하는 데에 효과적.
모멘텀 최적화와 RMSprop의 장점을 결합하여 안정적이고 빠른 수렴을 가능하게 한다.
학습률의 조정을 자동화하고 효율적으로 수렴한다.
단점:
하이퍼파라미터에 민감할 수 있다
대부분 아담을 많이 사용
'machine_learning > Deep_learning' 카테고리의 다른 글
| 소프트맥스 회귀 (0) | 2023.06.27 |
|---|---|
| 선형 분류와 선형 회귀 (0) | 2023.06.27 |
| 인공신경망 - 기초 (0) | 2023.06.26 |