지식증류

Knowledge distillation

머신러닝에서 지식 증류는 지식을 모델에서 작은 모델로 옮기는 과정이다.대형 모델(매우 깊은 신경망이나 많은 모델의 앙상블 등)은 소형 모델보다 지식 용량이 높지만, 이 용량이 충분히 활용되지 않을 수 있다.모형의 지식 능력을 거의 사용하지 않더라도 모델을 평가하는 것은 컴퓨팅적으로 비용이 많이 들 수 있다.지식 증류는 지식을 큰 모델에서 작은 모델로 유효성의 손실 없이 전달한다.소형 모델은 평가 비용이 적게 들기 때문에 성능이 떨어지는 하드웨어(모바일 기기 등)에 배치할 수 있다.[1]

지식 증류는 물체 감지,[2] 음향 모델,[3] 자연 언어 처리와 같은 기계 학습의 여러 응용 분야에서 성공적으로 사용되어 왔다.[4]최근에는 비그리드 데이터에 적용할 수 있는 신경망을 그래프로 나타내기도 했다.[5]

증류 개념

지식을 큰 모델에서 작은 모델로 옮기는 것은 타당성을 잃지 않고 후자에게 어떻게든 가르쳐야 한다.두 모델이 모두 동일한 데이터에 대해 훈련된 경우, 작은 모델은 큰 모델과 동일한 계산 자원과 동일한 데이터를 감안할 때 간결한 지식 표현을 학습하기에 용량이 부족할 수 있다.그러나 간결한 지식 표현에 대한 일부 정보는 출력에 할당된 유사 우도로 암호화된다. 모델이 클래스를 올바르게 예측하면 그러한 클래스에 해당하는 출력 변수에 큰 값을 할당하고 다른 출력 변수에 작은 값을 할당한다.기록의 출력물들 사이의 값들의 분포는 큰 모델이 어떻게 지식을 나타내는지에 대한 정보를 제공한다.따라서 유효모델의 경제적인 배치의 목표는 데이터에 대한 큰 모델만을 훈련시켜 간결한 지식표현을 익히는 더 나은 능력을 활용하고, 그런 지식을 스스로 학습할 수 없는 작은 모델로 확대시켜 t의 소프트 출력을 익히는 훈련을 함으로써 달성될 수 있다.그는 큰 모델이다.[1]

여러 모델의 지식을 하나의 신경망으로 압축하는 방법론인 모델 압축은 2006년에 도입되었다.압축된 모델의 로짓과 앙상블의 로짓이 일치하도록 최적화하면서, 고성능의 앙상블에 의해 표시된 대량의 사이비 데이터에 대해 더 작은 모델을 훈련시킴으로써 압축을 달성했다.[6]지식 증류란 제프리 힌튼 등이 2015년 제프리 힌튼(Jeoffrey Hinton)[1] 등이 이 개념을 공식화하고 이미지 분류 작업에서 달성한 일부 결과를 보여주는 프리프린트로 도입한 그러한 접근법의 일반화다.

공식화

특정 분류 작업에 대해 훈련된벡터 x {의 함수로 큰 모델이 주어지는 경우, 일반적으로 네트워크의 최종 계층은 형태의 소프트맥스(softmax)이다.

여기서 (는) 온도라는 파라미터로, 표준 소프트맥스에 대해 일반적으로 1로 설정되어 있다.소프트맥스 연산자는 로짓 ( ) )를 의사-확률로 변환하며, 온도 값이 높을수록 출력 클래스 간에 의사-확률의 분포가 부드러워지는 효과가 있다. 증류술은 증류 모델 y(x ) Outp 사이의 손실 함수교차 엔트로피를 사용하여 증류 모델이라고 하는 데이터 집합에서 증류 모델이라 불리는 작은 네트워크를 훈련시키는 것으로 구성된다.ut ( t) {y또는 큰 모델이 앙상블인 경우 개별 출력의 평균에서 두 모델[1] 모두에 대해 소프트맥스 t{\의 높은 값을 사용

이러한 맥락에서 고온은 출력의 엔트로피를 증가시키므로 하드 타겟에 비해 증류 모델에 대해 더 많은 정보를 제공함과 동시에 다른 기록들 간의 구배 분산을 감소시키고 따라서 더 높은 학습률을 허용한다.[1]

전송 세트에 접지 진리가 사용 가능한 경우 증류기 모델의 출력= 1{\}로 계산)과 알려진 y{\ 사이의 교차 엔트로피를 추가하여 프로세스를 강화할 수 있다.

온도가 증가함에 따라 모델 가중치에 대한 손실 경사가 2}}배만큼 조정되기 때문에 대형 모델에 대한 손실 는 t {\ t2배만큼 된다[1]

모델 압축과의 관계

로짓의 평균이 0이라는 가정 하에서 모델 압축은 지식 증류의 특별한 경우라는 것을 보여줄 수 있다.증류 모델 i 의 로짓에 대한 지식 증류 E 의 경사는 다음과 같다.

여기서 i}}은는) 대형 모델의 로짓이다. 의 큰 값의 경우 다음과 같이 근사치를 계산할 수 있다.

그리고 제로미언 가설 = = j}{j}{j - z^ N }-}}}}}}}}}}}}}}}}}{1 - i) 2 }2즉, 모델 압축에서와 같이 두 모델의 로짓과 일치하는 손실이다.[1]



참조

  1. ^ a b c d e f g Hinton, Geoffrey; Vinyals, Oriol; Dean, Jeff (2015). "Distilling the knowledge in a neural network". arXiv:1503.02531 [stat.ML].
  2. ^ Chen, Guobin; Choi, Wongun; Yu, Xiang; Han, Tony; Chandraker, Manmohan (2017). "Learning efficient object detection models with knowledge distillation". Advances in Neural Information Processing Systems: 742–751.
  3. ^ Asami, Taichi; Masumura, Ryo; Yamaguchi, Yoshikazu; Masataki, Hirokazu; Aono, Yushi (2017). Domain adaptation of DNN acoustic models using knowledge distillation. IEEE International Conference on Acoustics, Speech and Signal Processing. pp. 5185–5189.
  4. ^ Cui, Jia; Kingsbury, Brian; Ramabhadran, Bhuvana; Saon, George; Sercu, Tom; Audhkhasi, Kartik; Sethy, Abhinav; Nussbaum-Thom, Markus; Rosenberg, Andrew (2017). Knowledge distillation across ensembles of multilingual models for low-resource languages. IEEE International Conference on Acoustics, Speech and Signal Processing. pp. 4825–4829.}
  5. ^ Yang, Yiding; Jiayan, Qiu; Mingli, Song; Dacheng, Tao; Xinchao, Wang (2020). "Distilling Knowledge from Graph Convolutional Networks" (PDF). Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition: 7072–7081. arXiv:2003.10477. Bibcode:2020arXiv200310477Y.
  6. ^ Buciluǎ, Cristian; Caruana, Rich; Niculescu-Mizil, Alexandru (2006). "Model compression". Proceedings of the 12th ACM SIGKDD international conference on Knowledge discovery and data mining.

외부 링크