논문 리뷰

[논문 리뷰] Targeted Dropout

망나 2019. 7. 19. 12:29

논문 Targeted Dropout에 대한 리뷰입니다.

 

 

 Dropout

가장 많이 사용되는 Bernoulli dropout 2가지(Unit dropout, Weight dropout)를 사용했습니다. Fully-connected layer with input tensor \(X\), weights matrix \(W\), output tensor \(Y\), 그리고 mask \(M_{i, o}\sim Bernoulli(\alpha)\)가 있을 때, 2가지 dropout에 대해서 다음과 같이 정의할 수 있습니다.

 

- Unit dropout

\(Y = (X\odot M)W\)

Unit dropout randomly drops units (sometimes referred to as neurons) at each training step to reduce dependence between units and prevent overfitting.

 

 

- Weight dropout

\(Y = X(W\odot M)\)

Weight dropout randomly drops individual weights in the weight matrices at each training step. Intuitively, this is dropping connections between layers, forcing the network to adapt to different connectivity at each training step.

 

 

 Magnitude-based pruning

pruning 기법 중 많이 사용되는 magnitude-based pruning 기법을 사용했습니다. 이 기법은 top-\(k\) 개의 weights만을 중요 weights로 고려하여 나머지를 pruning 하는 기법입니다. 논문에서는 argmax-k를 활용하여 전체 element(units or weights) 중에서 top-k개의 element를 선택하였습니다.

 

- Unit pruning: considers the units (column-vectors) of weight matrices under the \(L^{1}\)-norm. Note that the top-k is with respect to the other weights in the same filter.

- Weight pruning: considers each entry of the weight matrix separately under the \(L^{1}\)-norm. Note that the top-k is with respect to the other weights in the same filter.

 

 Methods

파라미터 \(\theta\)인 neural network가 있을 때, loss \(\varepsilon (W(\theta ^{*}))\)가 낮고 동시에 \(\left | W(\theta^{*}) \right |\leq k\)인 최적의 파라미터 \(\theta^{*}\)를 찾으려고 합니다. 다른 말로, 네트워크에서 가장 중요한 \(k\) 개의 weights만을 남겨두는 것이 목적입니다. 

 

deterministic implementation으로 elements 중에서 아래의(중요하지 않은) \(\left | \theta  \right |-k\) elements 들을 제거하는 방식으로 목적을 달성할 수 있습니다. 하지만, 훈련을 반복하는 동안에 중요하지 않았던 elements 중에서 만약 점점 중요도가 높아진다면 스스로의 값이 증가될 수 있도록 만드려고 합니다. 이를 위해서 논문에서는 targeting proportion \(\gamma\)와 drop probability \(\alpha\)를 이용합니다. 

 

Targeting proportion을 활용해서 \(\gamma \left | \theta  \right |\)만큼의 weights들을 dropout 후보로 선택하고, drop rate \(\alpha\)를 활용해서 독립적으로 weights를 drop 합니다. 이렇게 되면 targeted dropout이 진행되는 각 라운드마다 유지되는 units의 개수는 \((1-\gamma \cdot \alpha )\left | \theta  \right |\)로서 예상할 수 있습니다.

 

논문에서 저자들은 위와 같은 방법을 통해서 중요하지 않은 서브 네트워크들에 대한 중요한 서브 네트워크들의 종속성이 줄어들기 때문에, pruning에 대한 성능 저하가 줄어든다고 주장합니다.

 

 

 Experimental Result