본문 바로가기
정보관리기술사/★ 130회 기출문제 풀이 ★

(130 관리 1-9) 머신러닝 최적화 알고리즘(Optimization Algorithm)유형 및 장단점

by 두음달인 2023. 7. 20.
반응형


머신러닝 최적화 알고리즘(Optimization Algorithm) 유형 및 장단점

여러 자료들을 찾아보고 있는데, 전공 분야가 AI 가 아니다 보니 이해하는 것도 어렵네요.

향후 공부를 위해 참고할만한 유관 자료들을 우선 포스팅하며, 틈틈이 업데이트해 보겠습니다.

틀린 부분도 있을 수 있으니 선별해서 보셨으면 합니다.

 

핵심 키워드 : GD, SGD, Momentum, AdaGrad, Adam, Gradient, Learning rate

경사하강법 : 비용 함수를 최소화하는 매개 변수를 찾기 위해 사용되는 알고리즘

 

Epoch : 모든 훈련 데이터셋을 학습하는 횟수

 

Batch Size : 훈련 데이터셋 중 몇 개의 데이터를 묶어서 가중치 값을 경신할 것인지에 대한 정보

 

Iterations : 한 Epoch를 진행하기 위해, 몇 번의 가중치 갱신이 이루어지는지에 대한 정보

 

배치 경사하강법 (Batch Gradient Descent, BGD) : 배치 사이즈가 훈련세트 사이즈와 동일한 경사하강법

 

확률적 경사하강법 (Stochastic Gradient Descent, SGD) : 배치 사이즈가 1개인 경사하강법

 

미니 배치 확률적 경사하강법 (Mini-Batch Stochastic Gradient Descent, MSGD) :

배치 경사하강법과 확률적 경사하강법의 절충안으로,

전체 훈련세트를 1~M 사이의 적절한 batch size로 나누어 학습하는 것

 


머신러닝 최적화 알고리즘 개념

 

머신러닝 모델 학습 과정에서 모델의 오차를 최소화하거나,
정확도를 최대화하기 위해 파라미터를 조정하여 모델 성능 최적화 하는 알고리즘

 

머신러닝 최적화 알고리즘 유형 분류 I

 

Gradient 조절하는 알고리즘, Learning rate 조절하는 알고리즘으로 분류

 

 

머신러닝 최적화 알고리즘 유형 분류 II

 

 

머신러닝 최적화 알고리즘 유형의 장단점

 

유형 장점 단점
경사하강법
(GD, SGD)
- 가중치를 Update 하는 옵티마이저
- 구현 간단, 확장성 높음
- 오버 슈팅 문제, 지역 최소점 문제 발생
- 지역 최소값 수렴 가증
모멘텀 최적화
(Momentum)
- 지역 최소값 문제 해결
- 이동계수, 파라미터 통해 Update
- Gradient 조절
- 관성으로 인해 최적값 지나칠 수 있음
- 설정에 따라 결과값 상이하게 도출
아다그리드
(Adagrad)
- 파라미터 개별 기준 적용 가능
- 최적화 파라미터 변화 최소화
- Learning Rate 조절
- 학습 오래 진행시에 학습 불가
- 학습률 진행됨에 따라 학습률 줄어듬
아담(Adam) - 하이퍼파라미터 튜닝 없이도 최적화
- RMSpros + Momentum
- 일부 데이터 성능이 안좋을 수 있음
- 초기 w 업데이트 속도 느림

- SGD는 현재 시간의 gradient만 이용해서 weight를 update 하는 반면,

  Momentum은 이전 시간의 gradient 까지도 고려하여 weight를 update 함.

- Momentum 기반의 SGD update rule은, 이전 시간에 A라는 방향으로 움직이고 있었던 물체를

  B라는 방향으로 움직이도록 변경하여도,

  일정 부분은 A라는 방향으로 계속 움직이려고 하는 힘이 작용하는 것을 나타냄

  이게 관성과 관련된 내용 같네요. (↑)

- AdaGrad(Adaptive Gradient)는 weight 업데이트 시, 

  고정된 Learning Rate가 아니라 각각의 Weight마다 적합한 Learning Rate를 자동으로 설정한다.

 

 

세부 내용을 자세히 한번 읽어보시길 권고드립니다. (↓)

참고 자료

 

KPC 해설지

 

최적화, Optimizer - 데이터 사이언스 사용 설명서 (tistory.com)

 

최적화, Optimizer

(JY) Loss function, 손실함수 (JY) Keras 사용해보기 1. What is keras? 케라스(Keras)는 텐서플로우 라이버러리 중 하나로, 딥러닝 모델 설계와 훈련을 위한 고수준 API이다. 사용자 친화적이고 모델의 구성이

dsbook.tistory.com

 

최적화 알고리즘 (tistory.com)

 

최적화 알고리즘

누군가 '인생은 속도보다 방향이 중요하다'라고 말하면 이과생이 등장해서 '속도는 벡터로 이미 방향을 포함한 값이므로 속도가 아니라 속력이다'라고 정정할 거다. 정의상 속도는 힘의 방향과

bahnsville.tistory.com

 

[딥러닝]Optimization Algorithm (최적화 알고리즘) (velog.io)

 

[딥러닝]Optimization Algorithm (최적화 알고리즘)

Gradient Descent[경사하강법], Momentum[모멘텀], RMSprop, Adam, Learning rate decay[학습률 감쇠법]

velog.io

 

 

딥러닝) optimizer ( SGD , Momentum , AdaGrad , RMSProp, Adam ) (tistory.com)

 

딥러닝) optimizer ( SGD , Momentum , AdaGrad , RMSProp, Adam )

1. Stochastic Gradient Descent (SGD) SGD는 현재 위치에서 기울어진 방향이 전체적인 최솟값과 다른 방향을 가리키므로 지그재그 모양으로 탐색해나간다. 즉, SGD의 단점은 비등방성(anisotropy)함수에서는

amber-chaeeunk.tistory.com

 

[DL] Momentum, NAG, AdaGrad, RMSProp, Adam (tistory.com)

 

[DL] Momentum, NAG, AdaGrad, RMSProp, Adam

이전 포스트에서는 배치 경사하강법, 확률적 경사하강법, 미니 배치 확률적 경사하강법에 대해서 다뤘었다. https://wooono.tistory.com/93 개요 기존의 경사하강법(Gradient descent method)에서 특정 데이터

wooono.tistory.com

 

[DL] 경사 하강법(Gradient Descent) (tistory.com)

 

[DL] 경사 하강법(Gradient Descent)

경사하강법이란? 비용 함수를 최소화하는 매개 변수를 찾기 위해 사용되는 알고리즘입니다. 경사하강법의 대략적인 순서는 다음과 같습니다. 임의의 매개변수를 정해 비용함수의 시작지점(x축)

wooono.tistory.com

 

반응형

댓글