논문

하루에도 수만개의 글자를 읽고 있습니다. 하루에도 수백장의 종이를 들춰 읽습니다.
이것은 그 읽기에 대한 일기입니다.

Discover the effective strategy for face recognition model compression by improved knowledge distillation

1. Introduction

Knowledge distillation은 DNN의 무거운 계산량을 해결하기 위해 생겨난 방법입니다. 이 방법은 기존의 큰 teacher 모델로부터 지식을 지도 받으며 빠르고 작은 student 모델을 학습시키는 방법입니다. Teacher모델이 제공하는 지식은 각 클래스에 대한 확률 값을 가지고 있기 때문에 DB의 one-hot 벡터보다 더 많은 정보를 가지고 있습니다. Hinton은 여기에 temperature 파라미터를 적용, soft label을 이용하여 더 좋은 결과를 내었습니다.

얼굴 인식 분야에서는 Luo는 특징 레이어의 L2 loss만을 guidance signal로 사용하였습니다. 이 방법은 일반화성이 떨어진 것으로 알려져 있는데, 그 이유는 특징 레이어의 L2 loss가 레이블 정보를 가지고 있지 않기 때문입니다. 따라서 이 논문에서는 로스에 레이블 정보를 포함시키고 soft label loss, feature L2 loss, student softmax loss들의 로스 조합에 대한 효과를 분석하였습니다.

모델 압축에서의 또 다른 문제점은 student 모델을 위한 효율적인 구조의 디자인입니다. 기존 제안된 여러 디자인들을 정확도와 일반화성을 평가하였습니다.

논문의 기여는 다음과 같습니다.

  1. 로스 함수와 student 구조에 대한 분석
  2. 힌트 레이어의 문제점을 밝히고 feature normalization을 통한 성능 향상
  3. Teacher weighting method

2. Compression strategy using knowledge distillation

2.1 Strategy for Loss Function Combination

여기서는 Soft loss, hard loss, hint learning with feature의 로스들의 조합을 비교하고 제일 효과적인 전략을 찾습니다.

최종 출력되는 스코어를 Z라고 하고, teacher 모델 T의 soft label을 $ X_T^\tau = softmax(\frac{Z_T}{\tau})$, student model S의 soft label을 $X_S^\tau = softmax(\frac{Z}{\tau})$라고 합니다. 여기서 $\tau$는 temperature 파라미터입니다.

Soft loss $L_{soft} = H(X_T^\tau, X_S^\tau)$는 teacher 모델과 student 모델의 soft label 간의 크로스 엔트로피입니다. 이것은 teacher의 지식을 soft로 전수하는 효과가 있습니다.

Hard loss $H_{hard} = H(x_S, y)$는 GT 레이블 y와 soft화되지 않은 클래스 확률 $X_S$간의 크로스 엔트로피입니다. 이는 student가 분류 능력을 가지도록 합니다.

Hint learning은 특징 레이어간의 L2 loss $L_{feature} = || F_S - F_T ||$를 로스로 사용하는 것입니다. 이 로스는 수렴을 가속시킵니다.

2.2 Strategy for Student Model Architecture Design

Student 모델은 teacher모델의 성능은 유지하면서도 가볍고 빠른 모델을 가져야 합니다. 여기에서는 3가지 종류의 구조를 실험하였습니다. 실험한 구조는 다음과 같습니다.

  1. 빠른 속도를 위해 특별히 디자인된 구조를 사용하는 구조: SqueezeNet, MobileNet, ShuffleNet
  2. State-of-the-art 구조: DenseNet, Inception-ResNet
  3. Teacher 모델을 수정하여 만든 구조

3 Improved knowledge distillation

3.1 Improved hint learning by feature normalization

기존의 논문들에서 hint learning을 사용하였을 때 성능이 높아지고 수렴 속도가 빠르다고 알려져 있었으나, 논문의 실험에서는 feature loss를 추가하면 결과가 좋지 않았습니다. 그 이유는 얼굴 인식에서 보통 사용되는 코사인 유사도(cosine similarity)와 feature L2 로스가 서로 다른 최적화 방향을 가지기 때문이었습니다.

위 그림 A에서와 같이 $F_S$에서 $F'_S$로 특징 벡터가 변화하였을 때 L2 로스는 줄어들게 되지만, 증가하여야 하는 코사인 유사도는 떨어지게 됩니다.

따라서 Feature normalization를 수행하면, L2 로스가 코사인 유사도가 일관성을 띄게 됩니다.

3.2 Teacher Weighting Method

원래의 knowledge distillation은 teacher 모델의 지식이 올바른지에 관계 없이 student가 그대로 따라 학습하는 방식입니다. 이는 teacher 모델이 틀린 가이드를 줌으로써 student 모델 또한 그에 영향받을 수 있다는 것을 의미합니다. 이를 해결하기 위해 teacher의 guidance에 가중치를 주는 방법을 사용하였습니다. Teacher의 loss가 어떤 상수보다 큰 경우, 그 샘플은 teacher에서도 적은 신뢰도를 가지므로 작은 가중치를 주도록 하였습니다.

$ \mu = 1 - \alpha \cdot w \\ w = H(X_T, y) / (H(X_s, y) + k) \\ \alpha = \begin{cases} k / MIN, & \text{if } w \gt 1 \\ 0, & \text{if } w \leq 1 \end{cases} $

여기서 $\mu$ 는 teacher 모델의 가중치입니다. MIN은 크로스 엔트로피로 얻을 수 있는 최저값으로 caffe에서는 -8.37665입니다.k는 relaxation factor로 -0.5를 사용하였습니다.

따라서 teacher 로스가 student 로스에 k를 더한 것보다 크면, 가중치 \mu는 1이 됩니다. 반대의 경우는 가중치가 k/MIN으로 줄어든 것을 사용하게 됩니다.

최종적으로 사용된 로스는 다음과 같습니다.

$ L_{Total} = \lambda_{Hard} L_{Hard} + \mu( \lambda_{Soft} L_{Soft} + \lambda_{feature} L_{feature}) $

4 Experiment and result

Teacher 모델은 27레이어를 갖는 ResNet 모델에 CASIA-WebFace 데이터셋을 사용하여 학습하였습니다. 테스트는 LFW와 자체 데이터를 사용하였습니다.

4.1 Evaluation of Different Loss Combination Strategies

기존 teacher 모델과 5개의 컨볼루셔널 레이어를 사용한 모델의 크기와 실행 시간을 비교하였습니다.

각 로스 조합별 성능은 다음과 같습니다.

Feature 로스만 이용해 학습한 경우에는 FRDCMobile에서의 성능이 떨어졌는데, 이는 특징만 동일하게 학습할 뿐, 레이블 정보는 학습하지 못하였기 때문에 LFW와 같은 타입의 데이터에서는 성능이 높지만 다른 데이터에서는 일반성이 떨어지는 것으로 보입니다. Feature 로스와 다른 로스를 조합한 경우 이보다 성능이 더 좋아졌으며, Hard + Soft + Feature는 특이하게도 Hard + Soft보다 성능이 더 낮았습니다. 이는 FeatureNorm으로 변경하니 이 문제는 해결되었습니다.

4.2 Performnace of Different Architectures

5레이어 모델과 이 모델과 비슷한 압축률과 속도를 가지도록 변경된 다른 구조들을 비교하였습니다.

SqueezeNet, MobileNet, ShuffleNet들은 큰 효과가 없었습니다. 이는 구조가 다름으로 인하여 teacher 모델과는 다른 동작을 가지기 때문에 teacher 모델을 따라하는 것이 어려운 것으로 보입니다.

DenseNet과 Inception-ResNet모델은 이보다 성능이 좋으나 Thinner-Deeper 모델도 이와 비슷한 성능을 나타내었습니다. 저자는 student 모델은 깊고 컨볼루셔널이어야 할 뿐 아니라, teacher모델과 같은 구도를 가져야 효과가 좋다고 분석하고 있습니다.

4.3 Performance of teacher weighting method

Teacher weighting 방법의 어능을 비교하였습니다.

5. Conclusion


Add a Comment Trackback