Optimization for Training Deep Models 서울 시립대학교 홍성학
배경 Deep learning의 최적화 문제 중 가장 어려운 것은 neural network traning 최적화 기법들은 이 문제를 해결하기 위해 개발되었다.
기존 최적화와 차이점 대부분의 머신러닝 시나리오에서, 우리는 measure P에 대한 성능을 고려하는데, 이것은 training set에 의해 정의되고 또한 어려운 일일 수 있어, P를 간접적으로 만 최적화 한다. P의 향상을 위해 다른 cost function J(θ)를 감소한다. J를 최소화 하는 것이 그 자체의 목표가 되는 것이 순수 최적화와의 차이점이다.
J(θ) Traning set을 통한 평균 L : loss function f(x; θ) : input이 x인 경우 예측된 output : 경험적 분포 y : Surpervised learning -> target output
Optimization for Model Training Empirical Risk Minimization Batch and Minibatch Algorithms
Empirical Risk Minimization Machine learning algorith의 목표는 예상 generalization error를 감소시키는 것. 실제 distribution Pdata(x, y)를 알고있는 경우, risk minimization은 최적화 알고 리즘으로 해결할 수 있는 task가 됨. 그러나 Pdata(x, y)를 모르고 training set만 알고있는 경우 machine learning proble을 가짐. Pdata(x, y)를 모르고, traning set만 있을 경우 실제 분포 p(x, y)를 training set에 의해 정의된 경험적 분포 ^p(x, y)로 대체한다.
Empirical Risk Minimization m : traning example의 수 Traning error 의 평균을 최소화 하는 training proces가 empirical risk minimization 직접 risk를 최적화 하는 것 보다 empirical risk를 최적화 하여 실제 risk가 의미있게 감소하도록 한다. 그러나 empirical risk minimization은 overfitting 하는 경향이 있고 많은 케이스에서 실제로 가능하지 않아 deep learnin에서 드물게 사용된다.
Batch and Minibatch Algorithms Machine learning algorithms 최적화는 일반적으로 전체 cost function의 일부만을 추정하여 예측 된 값들의 각 업데이트를 계산한다. Maximum likelihood estimation probloems : 각 example들의 합을 로그공간에서 분해 Training set에 의해 정의된 경험분포를 통한 추정치를 최대화 하는것 과 같다. 최적화 알고리즘의 대부분이 사용하는 objective function J 의 속성 또한 traning set을 통해 추정한다.
Batch and Minibatch Algorithms 전체 training set을 사용하는 최적화 알고리즘을 batch 혹은 deterministic gradient methods라고 한다. 오직 하나의 exampl을 사용하는 최적화 알고리즘을 stochastic 혹은 online methods라고 한다. 모든 training example 과 하나의 exampl을 사용하는 알고리즘을 minibatch 혹은 minibatch stochastic methods라고 한다.
Minibatch의 크기는 다음과 같은 factor에 따라 구동된다. Batch and Minibatch Algorithms Minibatch의 크기는 다음과 같은 factor에 따라 구동된다. 큰 batch는 gradient보다는 크지만 linear returns보다는 적은 추정을 제공한다. Multicore architecture는 보통 소량의 batch로 활용된다. 모든 exampl이 병렬로 처리 되는 경우 메모리의 크기가 batch의 size 로 스케일링 된다. 작은 batch는 regularizing 효과를 제공할 수 있다. Gradient g 에만 기초하여 업데이트를 계산하는 방식은 상대적으로 견고하고 100보다 작은 batch size로 처리할 수 있다. Hessian matrix H를 사용하는 업데이트 계산 방식은 10,000보다 큰 batch size를 요구 한다.
Challenges in Optimization Local Minima Plateaus, Saddle Points and Other Flat Regions Cliffs and Exploding Gradients Long-Term Dependencies Inexact Gradient
Local Minima Convex function을 최적화 할 때, 어떠한 critical point를 찾아 해결책에 도달한다. Non-convex function인 neural net은 많은 local minima를 가질 수 있다. Local minima가 global minimum보다 높은 cost를 가질 경우 문제가 될 수 있다.
Plateaus, Saddle Points and Other Flat Regions 높은 차원의 non-convex function에서 local minima는 다른 zero-gradient보다 드물게 나타난다 : saddle point Newton’s Method로 수정 없이 saddle point를 뛰어 넘을 수 있다.
Cliffs and Exploding Gradients Neural Network의 layer들은 절벽과 같이 매우 가파른 지역이 있다. 가파른 절벽 구조에서의 dradient update는 parameter를 너무 멀리 이동시킬 수 있다.
Long-Term Dependencies Nerual network optimization algorithm은 computational graph가 매우 깊을 때 어렵다. 오랜 시간 동안 각 step 에서 반복적으로 같은 연산을 적용하기 때문에 동일한 parameter 의 반복 연산으로 어려움을 발생시킨다.
Inexact Gradients 대부분의 Optimization algorithm은 정확한 gradient 혹은 Hessian Matrix에 접근 할 수 있는 것을 전제로 설계 된다. 실제로 minimize하기 위한 object function은 정확하지 않다. Object function이 정확하지 않다는 것은 gradient또한 inexact하다는 것.