관련글
Optimizer AMSGRAD (2018)
논문 제목: On the Convergence of Adam and Beyond
연도: 2018
링크: https://arxiv.org/pdf/1904.09237.pdf
관련 개념:
1. Adam
서론
RMSPROP, ADAM, ADAELTA, NADAM과 같은 확률적 옵티마이저들은 Deep network 분야에서 많이 사용되고 있습니다. 하지만, 많은 실생활에서 이러한 알고리즘들은 optimial point 즉, minima에 수렴하지 못했습니다. 이런 문제의 원인은 지수 이동 평균에 있다고 저자들은 주장합니다. 저자들은 Adam을 예시로 들어 Adam 알고리즘으로는 수렴할 수 없는 Convex optimization 환경을 보여줍니다. 즉, Adam과 같은 계열의 optimizers를 사용해도 수렴할 수 없는 어떠한 loss function이 존재함을 저자들을 보입니다.
이러한 수렴에 관한 문제는 과거로부터 계속 축적된 gradients 값을 수정함으로써 해결할 수 있고, 새롭게 제시될 Adam 계열의 optimizer는 이러한 수렴에 관한 문제를 완화하고, 실험적인 성능을 증가시킬 수 있습니다.
본론
기존의 Adam 계열은 지수 이동 평균(Moving exponential average)을 사용하여 learning rate를 결정했습니다. 하지만 이러한 방법은 convergence를 어렵게 하는데, 이는 다음과 같은 이유 때문입니다.
지수 이동 평균으로 인하여 중요한 정보가 담긴 gradient의 영향이 작아진다.
즉, 큰 gradient가 시간이 지남에 따라 소멸된다.
저자들은 이것을 해결하기 위해 "long-term memory" 즉, 과거의 gradients를 장기적으로 기억할 수 있는 방식이 필요하다고 주장합니다. 실제로 Adam의 beta2가 0.999일 경우, 현재의 영향은 0.001가 되며, 이것이 다음 시점에서는 0.001 * 0.999 즉, 0.000999 만큼의 영향을 끼치기에 "long-term memory"가 보장되지 않습니다.
저자들은 또한 Adam 계열의 문제로 다음과 같은 이론을 제시합니다.
SGD는 수렴이 가능하지만, Adam 계열을 그렇지 못한 Loss function이 존재한다.
이는 논문의 3. THE NON-CONVERGENCE OF ADAM에서 언급되며, 논문의 부록에 정리되어 있습니다.
저자들은 알고리즘의 수렴성을 보장하면서도, ADAM과 RMSPROP의 장점들을 유지시키는 새로운 전략을 고안합니다. 저자들이 고안한 AMSGRAD의 알고리즘은 다음과 같습니다.
Algorithm |
위의 식을 보면 기존의 v 항 대신, 현재까지의 v항들 중, 가창 큰 값을 v로 채택하고, 그 값을 hat{v_t}라고 표현했습니다.
max 함수를 도입함으로써, 앞서 언급한 long-term memory에 관한 문제를 해소했습니다. 즉, 과거로부터 가장 큰 v_t를 max라는 함수를 통해 보존함으로써, 중요하고 값이 큰 gradient의 정보를 hat{v_t}이라는 항을 통해 보존하고 있다는 것입니다. 또한 hat{v_t}는 지금까지의 v 중, 가장 큰 값을 취득하기 때문에 step size가 증가하지는 않습니다. (왜냐하면 step size는 v항의 역수에 root를 씌운 것이기 때문이지요.)
결론
Adam의 단점을 보완하고자 나온 AMSGRAD는 기존의 Adam 식에서 hat{v_t}라는 항을 추가함으로써 지수 이동 평균에 의한 2차 momentum의 영향을 줄였습니다. 하지만, 그 과정에서 hat{v_t}라는 새로운 항이 생겼기 때문에, AMSGRAD는 메모리를 더 소모한다는 단점이 있습니다. 또한 Adam보다 성능이 안 좋은 경향이 보여지기도 한다고 합니다.
장점
1. 중요한 정보를 가지고 있는 큰 gradient 값을 장기간 보존할 수 있다. 2. Adam과 비교했을 때, 연산량이 비슷하다. |
단점
1. hat{v_t}를 위한 추가적인 메모리가 소모된다. 2. 몇몇 특별한 case에서만 뛰어난 성능을 보인다고 한다. 즉, data specific하다. |
참고
On the Convergence of Adam and Beyond
AMSgrad : One the convergence of ADAM and BEYOND
'인공지능 대학원 자료 정리 > 옵티마이저 (Optimizers)' 카테고리의 다른 글
옵티마이저 Lookahead (2019, 안정적인 학습 도모) (0) | 2022.12.12 |
---|---|
옵티마이저 RAdam (2019, Adam의 불안정성 완화) (0) | 2022.12.12 |
옵티마이저 종류들 (0) | 2022.11.23 |
옵티마이저 SM3 (2019, 메모리 효율적) (0) | 2022.11.23 |
옵티마이저 Adafactor (2018, 메모리 효율적) (2) | 2022.11.22 |