AI

Teacher Assistants Knowledge Distillation

YSW_dev ㅣ 2024. 2. 7. 20:25

 

Knowledge Distillation 지식 증류

1. Knowledge Distillation 이란 Knowledge(지식)을 Distillation(증류), 말 그대로 지식을 증류, 전달한다는 뜻입니다. 비교적 정확도가 높고 추론시간이 긴 복잡한 모델로부터 그 기능을 추출해와서 간단한

kimmimo.tistory.com

 

Improved Knowledge Distillation via Teacher Assistant

Despite the fact that deep neural networks are powerful models and achieve appealing results on many tasks, they are too large to be deployed on edge devices like smartphones or embedded sensor nodes. There have been e…

ar5iv.labs.arxiv.org

 

2020년 AAAI 컨퍼런스에서 발표된 논문입니다.

 


 

 

지식 증류를 실행할 때 선생 모델과 학생 모델간의 크기 차이(레이어 수)가 많이 날 경우 지식의 전달이 제대로 되지 않아 학생 모델의 정확도가 떨어지는 문제점이 있습니다.

 

 

교사 모델이 어느정도까지 복잡해지는 것은 학생 모델에게 더 나은 supervision을 제공하므로 긍정적인 결과로 이어질 수 있습니다.

 

하지만, 상대적으로 더욱 복잡한 교사 모델의 패턴을 학생 모델이 모방하기에는 충분치 않은 크기가 될 수 있습니다.

 

또한 교사 모델이 커짐에 따라 예측 정확도가 올라가게 되면 이는 결과의 확신으로 이어져 교사의 soft target이 soft하지 않게 되고 결국 학생 모델의 학습에 부정적인 영향을 미칩니다.

 

마치 우리가 교수님의 수업을 잘 이해할 수 없는 것과 비슷합니다.

 


 

그래서 그 넓은 간극을 매우기 위해 중간마다 조교(Teacher Assistants)를 배치하는 것이 이 논문의 핵심입니다. 선생 모델은 조교 모델에게, 조교 모델은 다시 학생 모델에게 순차적으로 지식을 증류해 주는 것입니다.

 

조교에게 supervision을 받는 학생 모델 입장에서는 상대적으로 간극이 좁고, 학습 받는 soft target 또한 상대적으로 부드러운 형태를 띄기 때문에 더욱 효과적입니다.

 

 

테스트 결과는 다음과 같습니다.

 

사용된 데이터 셋: CIFAR-10, CIFAR-100

 

각 모델에서 학생, 조교, 선생 모델의 크기

  •                               CNN: S=2, TA=4, T=10
  •          ResNet(CIFAR): S=8, TA=20, T=100
  • ResNet(ImageNet): S=14, TA=20, T=50

 

 

 

그렇다면 이후로 논의해볼 점은, TA를 어느 크기로 얼마나 배치하느냐 입니다.

 

Distillation paths for plain CNN on CIFAR-100 with T= 10

 

결론부터 보면, 컴퓨터 리소스의 한계 내에서 최대한 많은 수의 TA를 두는 것이 가장 좋은 결과를 도출합니다. TA 보조를 3개 둔 경로, 10 -> 8 -> 6 -> 4 -> 2 의 경로에서 45.14의 가장 높은 결과를 보입니다.

 

더 나아가서 제한된 TA 갯수의 상황에선 어떤 배치가 가장 최적인지를 찾는다고 할 때, 이를 자동으로 알아낼 수 있는 방법을 연구해 볼 만한 여지가 있다고 합니다.

 

한가지 확실한 점은, TA를 배치하였을 때 그렇지 않은 경우보다 항상 좋은 결과가 나온다는 것입니다. 모든 S 사이즈에서 NOKD와 비교했을 때 약 2~3%p 정도의 결과 향상을 관찰할 수 있습니다.

 

어째서 TA를 배치하는 것이 성능 향상에 긍정적인 영향을 미치는지는 논문에 아주 자세한 식과 함께 잘 설명이 되어있습니다. 🤢

 

이 방법이 현재로써는 나름 괜찮은 방법인지 CV 여러 분야에서 TAKD를 많이 사용하고 있다고 하네요.