Image processing/논문 Review

[2018] Bag of Tricks for Image Classification with Convolutional Neural Networks(part 2)

유니디니 2020. 8. 17. 14:41
728x90
반응형

[Training Refinement]

 

Cosine Learning Rate Decay

 

학습률에 대한 조정은 중요하다. 본 논문에서는 꾸준히 초기 학습률을 줄이는 전략을 사용하였다. 대부분의 논문에서 사용하는 전략은 기하급수적으로(exponentially) 감소시키는 전략을 많이 사용한다. He et al.은 30 epochs마다 0.1 rate를 감소시켰으며 "step decay"라고 부른다. Szegedy et al.은 2에폭마다 0.94를 감소시켰다. 

이와 대조적으로 Loshchilov et al.은 cosine annealing strategy를 사용하였다. 단순한 version은 초기 값을 cosine 함수에 따라서 0으로 감소시키는 것이다. warm up 전략을 무시하고 전체 배치 수 t에서 추정해 보면, 배치 t에 따라 학습률을 계산하면 다음과 같다. 

n은 초기 학습률을 나타내며, 이러한 스케쥴링 방법을 "Cosine" decay라고 부른다. 

step decay와 cosine decay를 비교해보면 그림 3a와 같다. cosine decay는 시작부터 학습률을 천천히 감소시키며 중간 구간은 대략 선형적으로 감소하고, 마지막 부분에서는 천천히 감소시킨다. step decay와 비교해보면, cosine decay는 학습 시작 후 학습률을 천천히 감소시키지만 잠재적으로 학습 진행 process를 향상시킨다.

 

[Knowledge Distillation]

 

Knowledge Distillation에서 teacher model은 현재 모델(student)을 학습하는데 도움을 준다. teacher 모델은 종종 사전학습된 모델을 통해 높은 정확도, 복잡도를 보이며, 학생 모델의 정확성을 향상시키는데 도움을 줄 수 있다. 

예를들어, ResNet-152를 이용해서 ResNet-50의 학습을 도울 수 있다. 학습을 하는 동안, teacher 모델과 student모델의 softmax 출력 간의 차이에 페널티를 주기 위해 증류 손실을 추가합니다. 입력이 주어지면 p가 실제 확률 분포이고, z와 r은 각각 teacher와 student의 출력이라고 가정한다. p와 z의 값을 이용한 negative softmax 손실함수는 다음과 같다.

T는 softmax 결과값을 smooth하게 만드는 hyper-parameter이며, teacher와 student 값을 줄이기 위해 학습을 수행한다.

 

[Mixup Training]

 

또 다른 augmentation 방법으로, 각 시간에서 임의로 두 샘플(xi, yi), (xj, yj)을 뽑는다. 그 후, 두 샘플 간의 새로운 weighted linear interpolation을 만든다.

람다는 Beta(a, a)분포에서 0과 1사이의 임의의 수를 나타낸다. mixup 학습에서는 새롭게 변형된 예시 값을 사용한다.

 

[실험 결과]

[결론]

 

컨볼루션 신경망의 정확도를 향상시키는 여러가지 방법들을 조사하였다. 이러한 tricks는 모델의 구조를 약간 변형시키거나, 데이터 전처리, 손실함수, 학습률 등이 있으며 우리는 Resnet-50, inception V3, MobileNet을 통해 소개하였다. 

사전학습된 모델들은 object detection이나 semantic segmentation에서 transfer learning으로 많은 장점들을 가지고 있으며, 다양한 분야에서 큰 장점들을 가질 것으로 예상된다.

반응형