Gradient descent부터 AMSGrad까지 최적화 알고리즘에 대해 소개하는 자료입니다. 추가로 Hessian free 알고리즘인 SR1, DFP, BFGS에 대해서도 간략히 소개하고, 알고리즘을 시각화하여 비교한 자료입니다. This slide introduces the optimization algorithms from first-order(gradient descent) to second-order(hessian free). It deals with all the algorithms in the Keras optimizer. It was made by Taewon Heo.
모두를 위한 Deep Reinforcement Learning 강의를 요약정리
http://hunkim.github.io/ml/
실습에 사용된 코드
https://github.com/freepsw/tensorflow_examples/tree/master/20.RL_by_SungKim
Dsh data sensitive hashing for high dimensional k-nn searchWooSung Choi
Gao, Jinyang, et al. "Dsh: data sensitive hashing for high-dimensional k-nnsearch." Proceedings of the 2014 ACM SIGMOD international conference on Management of data. ACM, 2014.
Coursera Machine Learning by Andrew NG 강의를 들으면서, 궁금했던 내용을 중심으로 정리.
내가 궁금했던건, 데이터를 분류하는 Decision boundary를 만들때...
- 왜 가중치(W)와 decision boundary가 직교해야 하는지?
- margin은 어떻게 계산하는지?
- margin은 어떻게 최대화 할 수 있는지?
- 실제로 margin을 최대화 하는 과정의 수식은 어떤지?
- 비선형 decision boundary를 찾기 위해서 어떻게 kernel을 이용하는지?...
http://blog.naver.com/freepsw/221032379891
“Toward Principled Methods for Training GANs, ICLR 2017, 172회 인용”은 Ian Goodfellow의 GAN에 대해서 근본적인 문제점을 제기합니다. 우리는 그냥 이미지를 잘 생성해 주니까 GAN을 사용하는데, 그 원리에 대해서 깊게 생각해 본 적은 없습니다. Generator와 Discriminator의 수렴에 대해서 관심을 가져본 적도 없죠. 이에 대해서 Distance부터 시작해서 수학적으로 질문을 던지는 논문입니다. 결국엔 Data Distribution이 확률 분포로써 어떻게 작용하는지에 대해서 살펴보고자 합니다. 물론 이에 대한 Solution을 제공한 것은 아닙니다만. 이러한 문제 제기는 GAN의 History에서 아주 큰 흐름을 가져왔습니다
- GAN에 대한 흔한 오해
- Kullback Leibler Divergence와 Jensen Shannon Divergence
- GAN 알고리즘의 수학적 분석
- GAN을 Training하는 과정에서 발생하는 치명적인 문제점
- 문제점을 해결하기 위한 시도들
- GAN 테크트리: 그래서 무슨 GAN을 사용할까
모두를 위한 Deep Reinforcement Learning 강의를 요약정리
http://hunkim.github.io/ml/
실습에 사용된 코드
https://github.com/freepsw/tensorflow_examples/tree/master/20.RL_by_SungKim
Dsh data sensitive hashing for high dimensional k-nn searchWooSung Choi
Gao, Jinyang, et al. "Dsh: data sensitive hashing for high-dimensional k-nnsearch." Proceedings of the 2014 ACM SIGMOD international conference on Management of data. ACM, 2014.
Coursera Machine Learning by Andrew NG 강의를 들으면서, 궁금했던 내용을 중심으로 정리.
내가 궁금했던건, 데이터를 분류하는 Decision boundary를 만들때...
- 왜 가중치(W)와 decision boundary가 직교해야 하는지?
- margin은 어떻게 계산하는지?
- margin은 어떻게 최대화 할 수 있는지?
- 실제로 margin을 최대화 하는 과정의 수식은 어떤지?
- 비선형 decision boundary를 찾기 위해서 어떻게 kernel을 이용하는지?...
http://blog.naver.com/freepsw/221032379891
“Toward Principled Methods for Training GANs, ICLR 2017, 172회 인용”은 Ian Goodfellow의 GAN에 대해서 근본적인 문제점을 제기합니다. 우리는 그냥 이미지를 잘 생성해 주니까 GAN을 사용하는데, 그 원리에 대해서 깊게 생각해 본 적은 없습니다. Generator와 Discriminator의 수렴에 대해서 관심을 가져본 적도 없죠. 이에 대해서 Distance부터 시작해서 수학적으로 질문을 던지는 논문입니다. 결국엔 Data Distribution이 확률 분포로써 어떻게 작용하는지에 대해서 살펴보고자 합니다. 물론 이에 대한 Solution을 제공한 것은 아닙니다만. 이러한 문제 제기는 GAN의 History에서 아주 큰 흐름을 가져왔습니다
- GAN에 대한 흔한 오해
- Kullback Leibler Divergence와 Jensen Shannon Divergence
- GAN 알고리즘의 수학적 분석
- GAN을 Training하는 과정에서 발생하는 치명적인 문제점
- 문제점을 해결하기 위한 시도들
- GAN 테크트리: 그래서 무슨 GAN을 사용할까
[GomGuard] 뉴런부터 YOLO 까지 - 딥러닝 전반에 대한 이야기JungHyun Hong
뉴런, perceptron, cnn, r-cnn, fast r-cnn, faster r-cnn 및
backpropagation, activation function, batch normalization, cost function, optimizer 등 전반적인 딥뉴럴 네트워크에 대한 지식을 다루고 있습니다.
mail : knholic@gmail.com
blog : gomguard.tistory.com
11. AMSGrad
11
Adaptive methods의 단점
① Exponential moving averages of squared past gradients로 스케일링된 adaptive methods는 출력 공간이 큰 학습에서 optimal 수렴에 실패하는 것
이 관측됨.
② The non-convergence of Adam: positive definiteness가 훼손 됐을 때, Adam이나 RMSProp은 종종 undesirable convergence를 보임.
AMSGrad의 특징
① Exponential weighted average의 문제라고 인식하여 𝐺𝑡 = max( 𝐺𝑡−1, 𝐺𝑡)를 사용.
Non-increasing step size. Step size가 한번 작아지면 커지지 않는다.
𝑣 𝑡 = 𝛽1 𝑣 𝑡−1 + (1 − 𝛽1)𝛻𝜃𝑡
𝐽 𝜃𝑡
𝐺𝑡 = 𝛽2 𝐺𝑡−1 + (1 − 𝛽2)𝛻𝜃𝑡
𝐽 𝜃𝑡
2
𝐺𝑡 = max( 𝐺𝑡−1, 𝐺𝑡)
𝜃𝑡+1 = 𝜃𝑡 −
η
𝐺𝑡 + 𝜀
ො𝑣 𝑡
𝛽: 𝑒𝑥𝑝𝑜𝑛𝑒𝑛𝑡𝑖𝑎𝑙 𝑑𝑒𝑐𝑎𝑦 𝑟𝑎𝑡𝑒, 0 < 𝛽 < 1
𝑑𝑒𝑓𝑎𝑢𝑙𝑡 𝛽1 = 0.9 , 𝛽2 = 0.999
성능 비교
I. Training and test loss for CIFARNET
12. Visualization
12
알고리즘 별 수렴 속도 비교
Animation of Gradient descent & Momentum & Nesterov updateAnimation of Adaptive Algorithms
Case1:
Adagrad < RMSProp < Adadelta < Adam
Case2:
Adamax < Nadam ≤ AMSGrad < Adam
14. Quasi-Newton Methods
14
Gradient descent method:
𝑥+ = 𝑥 − 𝑡𝛻𝑓(𝑥)
Newton’s method:
𝑥+ = 𝑥 − 𝑡𝛻2 𝑓(𝑥)−1 𝛻𝑓(𝑥)
Quasi-Newton’s method:
𝑥+ = 𝑥 + 𝑡𝑝
𝐵𝑝 = −𝛻𝑓 𝑥
B는 𝛻2 𝑓(𝑥)를 근사한 값이다.
Optimal point에 점진적으로 다가갈 수 있도록 B를 업데이트 해나가는 것이 Quasi-Newton method의 특징
즉, B를 통해 𝑛𝑒𝑥𝑡 𝑠𝑡𝑒𝑝인 𝐵+
구하는 방법에 따라 세분화 된다.
Secant equation
B는 𝐻𝑒𝑠𝑠𝑖𝑎𝑛 𝛻2 𝑓(𝑥)를 근사하는 행렬
𝑥 𝑘+1 = 𝑥 𝑘 + 𝑠 𝑘 이고 𝑓가 두 번 이상 미분 가능할 때, first-order Taylor expansion에 의
해 다음의 성질을 가진다.
𝛻2 𝑓 𝑥 𝑘 ≈
𝛻𝑓 𝑥 𝑘 + 𝑠 𝑘 − 𝛻𝑓 𝑥 𝑘
𝑠 𝑘
𝐵 𝑘+1 𝑠 𝑘 = 𝑦 𝑘 𝑜𝑟 𝐵+ 𝑠 = 𝑦
15. Symmetric Rank-1 (SR1)
15
SR1 update는 rank-1의 symmetric matrix로 B를 업데이트 함으로써 B+(next B)가 symmetric를 유지하고 secant equation을 계속해서
만족하도록 업데이트하는 방법이다. 알고리즘이 간단한 것이 장점이다.
Secant equation form을 만들기 위해 양변에 s를 곱한다.
𝑢를 𝑦 − 𝐵𝑠를 임의의 𝑠𝑐𝑎𝑙𝑎𝑟 𝛿와의 곱으로 표현
𝐵+ = 𝐵 + 𝑎𝑢𝑢 𝑇
𝐵+
𝑠 = 𝐵𝑠 + 𝑎𝑢 𝑇
𝑠 𝑢
𝑢 = 𝛿(𝑦 − 𝐵𝑠)
𝑦 − 𝐵𝑠 = 𝑎𝛿2[𝑠 𝑇(𝑦 − 𝐵𝑠)](𝑦 − 𝐵𝑠)
𝑎 = 𝑠𝑖𝑔𝑛 𝑠 𝑇
𝑦 − 𝐵𝑠 , 𝛿 = ± 𝑠 𝑇
𝑦 − 𝐵𝑠 −1/2
𝐵+ = 𝐵 +
𝑦 − 𝐵𝑠 𝑦 − 𝐵𝑠 𝑇
𝑦 − 𝐵𝑠 𝑇 𝑠
Inverse hessian H을 근사하는 𝐵−1을 업데이트 할 수 있다면?
𝑥+
= 𝑥 + 𝑡𝑝 = 𝑥 + 𝑡𝐵−
𝛻𝑓(𝑥)
𝐻+
= 𝐻 +
𝑠 − 𝐻𝑦 𝑠 − 𝐻𝑦 𝑇
𝑠 − 𝐻𝑦 𝑇 𝑦
Update form
위 등식을 만족하는 파라미터 𝛿와 𝑎
위의 값을 𝐵+ = 𝐵 + 𝑎𝑢𝑢 𝑇에 대입
Rank-1의 symmetric matrix를 𝑎 ∈ −1,1 과 𝑢 ∈ 𝑅 𝑛의 곱으로 분해
SR1의 단점
① 분모 항인 𝑦 − 𝐵𝑠 𝑇 𝑠가 0에 가까워지면 업데이트에 실패할 수 있다.
② B와 H가 positive definiteness를 유지하지 못할 수 있다.
Sherman-Morrison formula를 이용하면 𝐵−도 동일한 형태로 업데이트 할 수
있다. (𝐻 = 𝐵−)
16. 𝐻+
= 𝐻 + 𝑎𝑢𝑢 𝑇
+ 𝑏𝑣𝑣 𝑇
𝐻+ 𝑦 = 𝐻𝑦 + 𝑎𝑢 𝑇 𝑦 𝑢 + 𝑏𝑣 𝑇 𝑦 𝑣
𝐻+ = 𝐻 −
𝐻𝑦𝑦 𝑇 𝐻
𝑦 𝑇 𝐻𝑦
+
𝑠𝑠 𝑇
𝑦 𝑇 𝑠
𝐵+
= 𝐵 +
𝑦 − 𝐵𝑠 𝑦 𝑇
𝑦 𝑇 𝑠
+
𝑦 𝑦 − 𝐵𝑠 𝑇
𝑦 𝑇 𝑠
−
𝑦 − 𝐵𝑠 𝑇
𝑠
(𝑦 𝑇 𝑠)2
𝑦𝑦 𝑇
= 𝐼 −
𝑦𝑠 𝑇
𝑦 𝑇 𝑠
𝐵 𝐼 −
𝑠𝑦 𝑇
𝑦 𝑇 𝑠
+
𝑦𝑦 𝑇
𝑦 𝑇 𝑠
DFP Algorithm
16
Davidon-Fletcher-Powell(DFP) update는 rank-2의 symmetric matrix로 𝐻(= 𝐵−
)를 업데이트하는 방법이다.
Secant equation form을 만들기 위해 양변에 y를 곱한다.
𝑢 = 𝑠, 𝑣 = 𝐻𝑦로 두고 a와 b에 대해 푼다.
Update form
Secant equation에 의해 𝐵+ 𝑠 = 𝑦 ↔ 𝐻+ 𝑦 = 𝑠
SR1의 지속성 문제 해결
① B가 positive definite 이면 𝐼 −
𝑦𝑠 𝑇
𝑦 𝑇 𝑠
𝐵 𝐼 −
𝑠𝑦 𝑇
𝑦 𝑇 𝑠
는 positive semidefinite이 된다. 이때
𝑦𝑦 𝑇
𝑦 𝑇 𝑠
가 positive definite이면
𝐵+ = 𝐼 −
𝑦𝑠 𝑇
𝑦 𝑇 𝑠
𝐵 𝐼 −
𝑠𝑦 𝑇
𝑦 𝑇 𝑠
+
𝑦𝑦 𝑇
𝑦 𝑇 𝑠
는 positive definite임이 보장되어 SR1의 문제가 해결된다.
SR1과 마찬가지로 Sherman-Morrison formula 를 이용하여 B에 대한 updating formula 유도
17. 𝐵+
= 𝐵 + 𝑎𝑢𝑢 𝑇
+ 𝑏𝑣𝑣 𝑇
𝐵+ 𝑠 = 𝐵𝑠 + 𝑎𝑢 𝑇 𝑠 𝑢 + 𝑏𝑣 𝑇 𝑠 𝑣
𝐵+ = 𝐵 −
𝐵𝑠𝑠 𝑇 𝐵
𝑠 𝑇 𝐵𝑠
+
𝑦𝑦 𝑇
𝑦 𝑇 𝑠
𝐻+
= 𝐻 +
𝑠 − 𝐻𝑦 𝑠 𝑇
𝑦 𝑇 𝑠
+
𝑠 𝑠 − 𝐻𝑦 𝑇
𝑦 𝑇 𝑠
−
𝑠 − 𝐻𝑦 𝑇
𝑦
(𝑦 𝑇 𝑠)2
𝑠𝑠 𝑇
= 𝐼 −
𝑠𝑦 𝑇
𝑦 𝑇 𝑠
𝐻 𝐼 −
𝑦𝑠 𝑇
𝑦 𝑇 𝑠
+
𝑠𝑠 𝑇
𝑦 𝑇 𝑠
BFGS Algorithm
17
BFGS의 아이디어는 DFP와 동일하고 B와 H의 역할이 바뀌었다는 것이 차이점이다.
Secant equation form을 만들기 위해 양변에 y를 곱한다.
𝑢 = 𝑦, 𝑣 = 𝐵𝑠로 두고 a와 b에 대해 푼다.
Update form
Secant equation에 의해 𝐵+ 𝑠 = 𝑦 ↔ 𝐻+ 𝑦 = 𝑠
SR1의 지속성 문제 해결
① DFP와 마찬가지로 SR1의 지속성 문제를 해결할 수 있다.
② In practice BFGS seems to work better than DFP
DFP과 마찬가지로 Sherman-Morrison formula 를 이용하여 H에 대한 updating formula 유도
18. Visualization
18
알고리즘 별 수렴 속도 비교
DFP(local optimal) ≤ BFGS(local optimal) < L-BFGS-B(optimal) ≤ Conjugate Gradient(optimal)
19. Reference
19
Papers & Lecture notes
[1] John Duchi, Elad Hazan, Yoram Singer, Adaptive Subgradient Methods for Online Learning and Stochastic Optimization, The Journal of
Machine Learning Research, Volume 12, 2121-2159, 2011
[3] Diederik P. Kingma, Jimmy Ba, Adam: A method for stochastic optimization, arXiv:1412.6980
[4] Matthew D. Zeiler, ADADELTA: An Adaptive Learning Rate Method, arXiv:1212.5701
[5] G. Hinton’s lecture 6a, 6c
[6] Timothy Dozat, Incorporating Nesterov Momentum into Adam
[7] Sashank J. Reddi, Satyen Kale & Sanjiv Kumar, On the Convergence of Adam and Beyond, arXiv:1904.09237
[7] Pradeep Ravikumar, Aarti Singh, lecture notes : Convex Optimization 10-725/36-725, Carnegie Mellon University
Websites
[1] https://tensorflow.blog/2017/03/22/momentum-nesterov-momentum/#3
[2] http://ruder.io/optimizing-gradient-descent/index.html#fn19
[3] http://www.cs.cmu.edu/~pradeepr/convexopt/