April 26, 2016

AdaGrad, adaptive stochastic (sub)gradient descent

AdaGrad (아다그라드? ㅋ) 는 2011년도에 최초 제시된 것으로 상당히 최신 최적화 이론이다. 아래의 워싱톤 대학 자료가 상당히 잘 설명 되어 있는데,

- https://courses.cs.washington.edu/courses/cse547/15sp/slides/adagrad.pdf

Adagrad는 adaptive stochastic (sub)gradient descent로 이전 관측을 결합하는 것으로 매 iteration에 feature 별로 learning rate를 달리 하겠다는 개념이다 - "Adagrad provides a feature‐specific adaptive learning rate by incorporating knowledge of the geometry of past observations".

feature 별로 달리한다는게 상당히 매력적인데 왜냐하면 수많은 features에서 의미없는게 대다수이기 때문. 그리고, 일반 GD에서는 보통 그래디언트가 어떻게 되는지 모르기 때문에 모든 iteration에서 고정값을 사용한다. 그래서 AdaGrad를 잘만 사용하면 수렴 속도를 높일 수 있다.


가령 Learning Rate가 0.5라면, 해당 파라미터에 대해 에러를 50%만 반영한다는 의미다. 매 iteration에서 error가 줄어야하는데 중간에 에러가 커지는 현상이 일어나면 위와 같이 기울기가 올라가 버리는 경우이니 Learning Rate를 줄이는 것이다.


No comments:

Post a Comment