기억 저장소

클라우드 기반 인공지능 개발과 DevOps 실무

인공지능/딥러닝

딥러닝 옵티마이저(Optimizer) 종류

하늘.98 2021. 11. 30. 13:10

Optimization 의 큰 틀부터 보자

 

딥러닝의 학습에서는 최대한 틀리지 않는 방향으로 학습해 나가야 한다.

 

여기서 얼마나 틀리는지(loss)를 알게 하는 함수가 loss function=손실함수이다.

 

loss function의 최소값을 찾는 것을 학습의 목표로 한다.

 

여기서 최소값을 찾아가는 것을 최적화=Optimization 이라고 하고

 

이를 수행하는 알고리즘이 최적화 알고리즘=Optimizer 이다.

 

GD를 기본으로 하여 loss function이 최소가 되는 지점, 즉 최적의 가중치를 찾는 방법

옵티마이저는 학습 데이터(Train data)셋을 이용하여 모델을 학습 할 때 데이터의 실제 결과와 모델이 예측한 결과를 기반으로 잘 줄일 수 있게 만들어주는 역할을 한다.

 

 

optimizer를 쓰는 곳과 사용 방법

opimizer 는 컴파일에 사용되는 것이며

 

optimizer ='    '        <=  아래 사진에 나와있는 것 중 자신이 원하는 것을 넣어주면 된다.

 
model.compile(optimizer ='adam', loss='mse',metrics=['mse','mae])

 

https://mole-starseeker.tistory.com/48

 

최적화 알고리즘(옵티마이저, Optimizer) 설명

# 최적화 알고리즘(옵티마이저)들인 SGD, RMSProp, AdaGrad, Adam에 대해 설명한다면? *최적화 알고리즘(옵티마이저): GD를 기본으로 하여 loss function이 최소가 되는 지점, 즉 최적의 가중치를 찾는 방법 -

mole-starseeker.tistory.com

https://hiddenbeginner.github.io/deeplearning/2019/09/22/optimization_algorithms_in_deep_learning.html