티스토리 뷰

2020/10/22 - [Study/인공지능] - Optimizer: SGD ( 인공지능 기초 #13 )

2020/10/23 - [Study/인공지능] - Optimizer : Momentum, NAG ( 인공지능 기초 #14 )

2020/10/24 - [Study/인공지능] - Optimizer : AdaGrad, RMSprop ( 인공지능 기초 # 15 )

2020/10/25 - [Study/인공지능] - Optimizer : Adam ( 인공지능 기초 # 16 )

 

경사하강법 : 가장 가파른곳으로 가다가 최소점이라고 생각되는곳을 찾기를 바람 (문제점 : 가장 아래가 아닌 중간에 잠깐 다시 올라가는 구간이있으면 멈춰버림, 또는 안장점에서 멈춤)

 

↓ 관성을 생각하자

Momentum :  경사하강법에 관성 개념을 넣어서 안장점과 중간에 잠깐 다시올라가는구간을 뚫고 올라가길 바람        모멘텀 업그레이드 -> NAG : 모멘텀 스텝만큼 먼저 이동

 

↓ 학습률을 보정하자

AdaGrad : 경사하강법에 스텝마다 변수마다 학습률을 조절시킴으로써 최소점과 먼 초반에 많이 움직이고, 덜 움직인 부분을 더 움직이게 만들어줌 (안장점을 뚫고가길 바람 + 진동현상이 적음 )

AdaGrad 업그레이드 --> RMSProp : 정체되지 않도록 가중치 평균으로 감 (후반에가면 움직임이 너무 적어지는 문제점을 과거 또는 미래에 힘을 실어줌으로써 해결)

 

↓ 관성 + 학습률 모두 고려

Adam : Momentum + RMSProp ( 관성과 과거와 후반에 대한 개념도 다 넣어줌 )

 

MNIST데이터를 사용해 몇번의 실행결과 대부분 Adam과 AdaGrad가 좋은 결과를 보여줬음 (경사하강법 제외 대부분 좋은 성능을 보여줌) 

[코드는 github.com/WegraLee/deep-learning-from-scratch

 

WegraLee/deep-learning-from-scratch

『밑바닥부터 시작하는 딥러닝』(한빛미디어, 2017). Contribute to WegraLee/deep-learning-from-scratch development by creating an account on GitHub.

github.com

 

에 있습니다]

 

 

댓글
최근에 올라온 글
최근에 달린 댓글
250x250