
ICML 2017

Binary Neural Networks, BNNs은 일반적으로 Adam optimization을 사용하여 얻어진다.
하지만, Adam이 BNN optimization에서 SGD와 같은 다른 optimizers보다 우수한 근본적인 이유를 탐구하거나 특정 학습법을 뒷받침하는 분석적 설명을 제공하는 연구는 거의 없었다.
이를 해결하기 위해, 본 논문에서는 먼저 BNN의 학습 과정에서 gradients and weights의 trajectories(경로)를 조사한다.
우리는 Adam의 second-order momentum이 가지는 regularization effect가 BNNs의 activation saturation으로 인해 소멸된 weights를 되살리는 데 중요한 역할을 한다는 것을 보여준다.
또한, Adam은 adaptive learning rate strategy를 통해 BNN의 rugged(거친) loss surface을 보다 효과적으로 처리하고, 더 나은 optimum에 도달하며 generalization ability가 높다는 것을 발견했다.
더 나아가, BNN에서 real-valued weights가 가지는 intriguing(흥미로운) role을 조사하고,
weight decay가 BNN optimization의 안정성과 sluggishness(학습 속도 저하)에 미치는 영향을 밝혀낸다.

그런데 우리는 real-valued networks가 Figure 2 (a)에서 보이듯이 training data에 "overfit"될 수 있도록 강력하지만, 이러한 현상이 BNN에서는 성립하지 않는다는 것을 확인했다.
SGD with modmentum과는 다르게,
second momentum term(Algorithm 1에서 )을 나눠줌으로써 parameter update시 gradient가 0로 되는 것을 방지할 수 있다.
그래서 위 그림처럼 gradient가 거의 없는 X, Y축 동시에 2~4에서 SGD optimizer는 수렴하고, Adam optimizer는 그 평평한 local space를 빠르게 빠져나올 수 있게 된다.


zero값 근처에 몰려 있는 weights들에 대해서,
zeero 주변으로 weights들을 모이게 유도한다면,
아주 약간의 값 변화는 binary weights에 큰 영향을 줄 수 있다.
우리는 최근 two-step training algorithm에 대한 좋은 weight decay scheme을 찾았다.
Step1에서는, 단지 activations만 binarized하고, real-valued weights에는 weight decay를 적용하여 작읍 update value를 accumulate한다.
real-valued networks는 FF ratio에 대한 걱정이 없으므로, weight decay를 추가하여 initialization dependency를 줄이며 이점을 얻을 수 있다.
Step2에서는 BNNs의 latent real weights를 Step1에서 학습된 weights로 initialization하고, weight decay를 0으로 설정한다.
이 방법으로 FF ratio를 감소시켜 training stability를 개선하고, random init이 아닌 Step1의 good init을 활용할 수 있다.
이 단계에서는 C2I ratio optmization에 해가 되지 않는다.

(단, One-step에서 weight decay를 너무 크게 해서는 안됨.
사실, one-step에서는 weight decay를 써서 weight가 0 주변에서 모이도록 유도하여 부호 변경을 보다 자유롭게 만드는 것이긴 하지만,
그렇다고 weight decay를 너무 크게하는 것은 학습을 불안정하게 만듦.
요약하자면 weight decay가 필요하지만, 적당한 값을 취하는게 좋다)

학습 결과,
Adam이 더 많은 절대값이 큰 real-valued weight를 유지
real-valued weights를 confidence score의 개념으로 볼 수 있기 때문에 Adam의 real-valued weights는 더 confidence를 갖고 있음을 의미.
결론
Adam의 2차 momentum이 weight update시 scale 조정을 더 잘 수행하기 때문에
dead weights 문제를 SGD with momentum보다 잘 해결할 수 있고, 안정적이고 강한 gradient signal을 유지할 수 있음.
또한 two-step training에서 one-step 때는 weight decay를 사용하여 weights들이 0근처에 몰려서 sign을 보다 자유롭게 바꿀 수 있도록 유도하고,
two-step에서는 weight들의 학습 진행 상황과 안정성을 고려하여 weight decay를 없애서 더 이상 0에 가까워지도록 유도하지 않고 confidence를 갖게 내버려둠로써 학습 결과를 향상.