다양한 loss function의 시각화 방법들의 단점을 드러내고, 간단한 시각화 방법들의 loss function minimizer의 local geometry(sharpness or flatness)를 정확하게 capture 못하는 것을 보여줌.
“filter normalization”에 기반하는 간단한 시각화 방법을 제안. 논문에서 제안하는 normalization이 사용될 때 Minimizer들의 sharpness가 얼마나 generalization error와 유사한지 보임.
네트워크가 충분히 깊을 때 neural loss landscape가 거의 convex 상태에서 매우 복잡한(chaotic)상태로 빠르게 전환되는지에 대해 관찰
skip connection이 어떻게 minimizer를 flat하게 만들고, chaotic하게 되는것을 방지하는지에 대해 관찰
local minima 주변의 Hessian의 smallest(most negative) eigen-values를 계산하여 non-convexity를 양적으로 측정
SGD optimization의 궤적(trajectory)들의 시각화에 대한 연구. extremely low dimensional space에 있는 optimization trajectory들을 보여줌.
기존 Loss plot 하는 법
1D linear interpolation
두 개의 parameter set θ, θ` 을 갖고, 각각의 loss 를 구한 뒤, 이를 plot 한다 (x 축은 param set, y 축은 loss)
contour plots & random directions
center point θ*, random vector δ, η 을 구하고, 2d surface 로 다음과 같은 식을 plot 한다.
알파와 beta 값 하나하나 넣어보면서 구하는 방식 (x 축은 알파, y 축은 베타, z 축은 loss)
Filter-Wise Normalization
기존 방법은 weight 들의 scale invariance 때문에 제대로 측정되지 않는다. (BN, ReLU 는 문제를 더 심각하게 만든다)
scaling effect 를 최소화 하기 위해 filter-wise norm 을 새롭게 제시.
parameters θ 와 같은 dimension을 갖는 gaussian direction vector d 를 구함
d 를 paramters θ 의 norm 크기가 맞아 떨어지게 filter 당 normalize 수행. i 번째 layer, j 번째 filter.
FC 도 1x1 conv 라 생각하고 filter normalize 수행.
1-3 을 한 번 더 반복해서 d1, d2 를 구하고, contour-plot 을 수행함.
Flat vs Sharp minima
Large batch는 시각적으로 더 sharp한 minima를 만들어내고 더 높은 test error를 보였음.
What Makes Neural Networks Trainable? Insights on the (Non)Convexity Structure of Loss Surfaces
loss 의 non-convexity 가 왜 특정한 상황에서만 문제가 될까?
왜 일부 archicture들은 large-batch 를 써도 안정적이게 훈련 할 수 있고
일부 architecture들이initialization에 매우 민감한 이유는 무엇인가?
architecture 구조에 따라 달라진다고 얘기함
skip conn 은 깊은 네트워크에서 loss landscape 를 평평하게 만들어줌,
wider filter 또한 효과적임.
weight decay 를 쓰면 안정적이게 변하더라.
주의 할 점.
high dimension 을 결국 low 로 가져오는 것이기 때문에, low 에서 convex 한 것이 high dim 에서 convex 한 것은 아니다. high dim 에서는 non convex 가 당연히 있을 수 있다.
그래도, 대부분의 feature 들이 convex 하다는 것을 어느정도 보여준다.
각각의 filter-normalized surface plot에 대해 Hessian의 maximum과 minimum eigenvalue를 계산하고, 이 두 eigenvalue에 대한 비율을 map으로 나타냈다.
no short 의 경우 negative hessian 이 많아서 saddle point 가 굉장히 많다는 것을 알 수 있다.
Visualizing Optimization Paths
θ_i == i 번째 epoch 의 parameter
n번의 학습을 수행했으면, 다음 matrix M 에 대해 PCA 를 적용하고, 2개의 방향을 지정한다.
이 2개의 vector 를 갖고 loss landscape 를 구하고,
trajectory 를 쭉 찍어보면 다음과 같이 나온다.
paper code
Contribution
기존 Loss plot 하는 법
1D linear interpolation
두 개의 parameter set θ, θ` 을 갖고, 각각의 loss 를 구한 뒤, 이를 plot 한다 (x 축은 param set, y 축은 loss)
contour plots & random directions
center point θ*, random vector δ, η 을 구하고, 2d surface 로 다음과 같은 식을 plot 한다. 알파와 beta 값 하나하나 넣어보면서 구하는 방식 (x 축은 알파, y 축은 베타, z 축은 loss)
Filter-Wise Normalization
기존 방법은 weight 들의 scale invariance 때문에 제대로 측정되지 않는다. (BN, ReLU 는 문제를 더 심각하게 만든다) scaling effect 를 최소화 하기 위해 filter-wise norm 을 새롭게 제시.
1-3 을 한 번 더 반복해서 d1, d2 를 구하고, contour-plot 을 수행함.
Flat vs Sharp minima
Large batch는 시각적으로 더 sharp한 minima를 만들어내고 더 높은 test error를 보였음.
What Makes Neural Networks Trainable? Insights on the (Non)Convexity Structure of Loss Surfaces
loss 의 non-convexity 가 왜 특정한 상황에서만 문제가 될까? 왜 일부 archicture들은 large-batch 를 써도 안정적이게 훈련 할 수 있고 일부 architecture들이initialization에 매우 민감한 이유는 무엇인가?
architecture 구조에 따라 달라진다고 얘기함 skip conn 은 깊은 네트워크에서 loss landscape 를 평평하게 만들어줌, wider filter 또한 효과적임. weight decay 를 쓰면 안정적이게 변하더라.
주의 할 점. high dimension 을 결국 low 로 가져오는 것이기 때문에, low 에서 convex 한 것이 high dim 에서 convex 한 것은 아니다. high dim 에서는 non convex 가 당연히 있을 수 있다. 그래도, 대부분의 feature 들이 convex 하다는 것을 어느정도 보여준다.
각각의 filter-normalized surface plot에 대해 Hessian의 maximum과 minimum eigenvalue를 계산하고, 이 두 eigenvalue에 대한 비율을 map으로 나타냈다. no short 의 경우 negative hessian 이 많아서 saddle point 가 굉장히 많다는 것을 알 수 있다.
Visualizing Optimization Paths
θ_i == i 번째 epoch 의 parameter n번의 학습을 수행했으면, 다음 matrix M 에 대해 PCA 를 적용하고, 2개의 방향을 지정한다.
이 2개의 vector 를 갖고 loss landscape 를 구하고, trajectory 를 쭉 찍어보면 다음과 같이 나온다.