지식 증류
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
지식 증류는 대형 모델의 지식을 소형 모델로 이전하는 기술이다. 이는 대형 모델을 훈련한 후, 대형 모델의 소프트 출력을 사용하여 소형 모델을 훈련함으로써 달성된다. 이 과정에서, 소형 모델은 대형 모델보다 간결한 지식 표현을 학습하며, 모델 압축, 최적 뇌 손상과 연관된다. 지식 증류는 1965년에 모델 압축 방법론으로 처음 시도되었고, 1991년 순환 신경망 분야에서 초기 사례가 발표되었으며, 2015년 제프리 힌턴 등에 의해 개념이 공식화되었다.
더 읽어볼만한 페이지
- 딥 러닝 - 질의 응답
질의응답 시스템은 자연어 질문을 이해하고 답변을 생성하며, 질문 유형과 사용 기술에 따라 분류되고, 읽기 이해 기반 또는 사전 지식 기반으로 작동하며, 대규모 언어 모델과 다양한 아키텍처 발전에 힘입어 복잡한 질문에 대한 답변과 다양한 분야에 활용이 가능해졌다. - 딥 러닝 - 딥페이크
딥페이크는 인공지능 기술을 활용하여 영상이나 이미지를 조작, 합성하여 실제와 구별하기 어렵게 만드는 기술이며, 가짜 뉴스, 명예훼손, 신원 위장 등 다양한 문제점을 야기한다. - 기계 학습 - 비지도 학습
비지도 학습은 레이블이 없는 데이터를 통해 패턴을 발견하고 데이터 구조를 파악하는 것을 목표로 하며, 주성분 분석, 군집 분석, 차원 축소 등의 방법을 사용한다. - 기계 학습 - 지도 학습
지도 학습은 레이블된 데이터를 사용하여 입력 데이터와 출력 레이블 간의 관계를 학습하는 기계 학습 분야로, 예측 모델 생성, 알고리즘 선택, 모델 최적화, 정확도 평가 단계를 거치며, 회귀 및 분류 문제에 적용되고 다양한 확장 기법과 성능 평가 방법을 활용한다.
지식 증류 | |
---|---|
지식 증류 | |
유형 | 기계 학습 |
하위 분야 | 전이 학습 |
목적 | 더 작은 모델로 지식 이전 |
상세 내용 | |
설명 | 더 크고 복잡한 모델에서 더 작고 효율적인 모델로 지식을 전송하는 기계 학습 기술이다. |
특징 | 큰 모델의 정확도를 유지하면서 작은 모델의 효율성을 향상시킨다. 모델 크기 축소, 계산 비용 절감, 배포 용이성을 제공한다. |
활용 분야 | 객체 감지, 음성 인식, 자연어 처리 등 다양한 분야에 적용된다. |
관련 연구 | |
논문 | Hinton, Vinyals, Dean (2015): "Distilling the knowledge in a neural network" Yang et al. (2020): "Distilling Knowledge from Graph Convolutional Networks" |
참고 자료 | |
참고 자료 | 지식 증류: 거대한 모델의 지식을 추출한다 – Nikkei Robotics |
2. 방법
지식 증류는 대형 모델(교사 모델)의 지식을 소형 모델(학생 모델)로 전달하는 방법이다. 대형 모델은 복잡한 지식을 학습할 수 있지만, 계산 비용이 많이 든다. 소형 모델은 계산 비용이 적지만, 대형 모델만큼 복잡한 지식을 학습하기 어렵다. 지식 증류는 이러한 문제를 해결하기 위해, 대형 모델의 출력 (소프트 출력)을 이용하여 소형 모델을 학습시킨다.[1]
딥 러닝 분야에서 2015년 제프리 힌튼 등이 지식 증류 기법을 도입하였다.[21] 일반적으로 대규모 모델이 가진 지식 용량이 모두 활용되는 것은 아니며, 추론 시에 단순히 계산 자원을 낭비하는 경우도 있기 때문에, 교사 모델의 출력이나 내부 표현을 학생 모델에게 가르침으로써 추론의 타당성을 크게 손상시키지 않고 학생 모델이 보다 효율적으로 추론 속도를 향상시키기 위해 사용된다.[20]
대형 모델은 특정 클래스를 예측할 때 해당 클래스에 높은 값을 할당하고, 다른 클래스에는 낮은 값을 할당한다. 이러한 출력 값의 분포는 대형 모델이 지식을 표현하는 방식에 대한 정보를 담고 있다. 따라서 소형 모델은 대형 모델의 소프트 출력을 학습함으로써, 대형 모델의 지식을 간결하게 표현하는 방법을 배울 수 있다.[1]
2. 1. 수식
벡터 변수 의 함수로 주어진 큰 모델은 특정 분류 작업을 위해 훈련되었으며, 일반적으로 네트워크의 최종 계층은 다음과 같은 형태의 소프트맥스이다.:
여기서 는 "온도"이며, 표준 소프트맥스의 경우 1로 설정되는 매개변수이다. 소프트맥스 연산자는 로짓 값 를 유사 확률로 변환한다. 온도가 높을수록 출력 클래스 간에 더 부드러운 유사 확률 분포가 생성된다. 지식 증류는 "전이 집합"이라고 하는 데이터 세트 (큰 모델을 훈련하는 데 사용된 데이터 세트와 다름)를 사용하여 더 작은 네트워크인 "증류 모델"을 훈련하는 것으로 구성되며, 증류 모델 의 출력과 동일한 레코드(또는 큰 모델이 앙상블인 경우 개별 출력의 평균)에 대한 큰 모델 의 출력 간의 교차 엔트로피를 손실 함수로 사용하며, 두 모델 모두에 소프트맥스 온도 의 높은 값을 사용한다.[1]
:
이 맥락에서 온도가 높으면 출력의 엔트로피가 증가하므로 증류 모델이 하드 타겟에 비해 학습할 정보가 더 많아지고, 동시에 서로 다른 레코드 간의 경사의 분산이 감소하여 더 높은 학습률을 허용한다.[1]
전이 집합에 대한 정답이 있는 경우, 증류 모델의 출력(로 계산)과 알려진 레이블 간의 교차 엔트로피를 손실에 추가하여 프로세스를 강화할 수 있다.
:
여기서 큰 모델에 대한 손실의 구성 요소는 의 인수로 가중치가 부여된다. 온도가 증가함에 따라 모델 가중치에 대한 손실의 기울기가 의 인수로 확장되기 때문이다.[1]
2. 2. 모델 압축과의 관계
로짓(logit)이 0의 평균을 갖는다고 가정하면, 모델 압축은 지식 증류의 특별한 경우임을 보일 수 있다. 증류된 모델의 로짓 에 대한 지식 증류 손실 의 기울기는 다음과 같이 계산된다.[1]:
여기서 는 큰 모델의 로짓이다. 큰 값의 경우, 위 식은 다음과 같이 근사할 수 있다.[1]
:
그리고 (평균 0) 가설 하에서, 위 식은 이 되는데, 이는 의 미분값이다. 즉, 손실은 모델 압축에서 수행되는 것처럼 두 모델의 로짓을 일치시키는 것과 같다.[1]
일반적으로 대규모 모델이 가진 지식 용량이 모두 활용되는 것은 아니며, 추론 시에 단순히 계산 자원을 낭비하는 경우도 있다. 교사 모델의 출력이나 내부 표현을 학생 모델에게 가르침으로써, 추론의 타당성을 크게 손상시키지 않고 학생 모델이 보다 효율적으로 추론 속도를 향상시키기 위해 지식 증류가 사용된다.[20]
2. 3. 최적 뇌 손상 (Optimal Brain Damage)
최적 뇌 손상(Optimal Brain Damage, OBD) 알고리즘은 다음과 같다.[11]원하는 수준의 희소성 또는 성능에 도달할 때까지 다음 단계를 반복한다.
# 합리적인 해답이 얻어질 때까지 (역전파와 같은 방법으로) 네트워크를 훈련한다.
# 각 매개변수에 대한 중요도를 계산한다.
# 가장 낮은 중요도 매개변수를 일부 삭제한다.
매개변수를 삭제한다는 것은 해당 매개변수를 0으로 고정하는 것을 의미한다. 매개변수 의 "중요도"는 로 정의되며, 여기서 은 손실 함수이다. 이계도함수 는 2차 역전파로 계산할 수 있다.
최적 뇌 손상의 아이디어는 최적 매개변수 의 인접 영역에서 손실 함수를 테일러 전개로 근사하는 것이다.
:
여기서 이며, 는 최적이고, 계산을 절약하기 위해 교차 도함수 은 무시한다. 따라서 매개변수의 중요도는 해당 매개변수가 삭제될 경우 손실이 증가하는 것을 근사한다.
3. 역사
알렉세이 이바흐넨코(Alexey Ivakhnenko)와 발렌틴 라파는 1965년 우크라이나에서 훈련된 네트워크의 크기를 줄이는 모델 압축 또는 가지치기 방법론을 처음으로 수행했다.[6][7][8] 그들의 딥 네트워크는 회귀 분석을 통해 레이어별로 훈련되었으며, 불필요한 은닉 유닛은 별도의 검증 세트를 사용하여 가지치기 되었다.[9] 다른 신경망 압축 방법으로는 Biased Weight Decay[10]와 Optimal Brain Damage가 있다.[11]
신경망 증류의 초기 사례는 1991년 위르겐 슈미트후버(Jürgen Schmidhuber)에 의해 순환 신경망(RNN) 분야에서 발표되었다. 긴 시퀀스에 대한 시퀀스 예측, 즉 딥 러닝 문제는 두 개의 RNN으로 해결되었다. 그 중 하나(''오토마타'')는 시퀀스를 예측하고, 다른 하나(''청커'')는 오토마타의 오류를 예측했다. 동시에 오토마타는 청커의 내부 상태를 예측했다. 오토마타가 청커의 내부 상태를 잘 예측하게 되면 오류를 수정하기 시작하고 곧 청커는 쓸모 없게 되어 결국 하나의 RNN만 남게 된다.[12][13]
하나의 신경망 출력을 사용하여 다른 신경망을 훈련하는 아이디어는 교사-학생 네트워크 구성으로도 연구되었다.[14] 1992년, 여러 논문에서 위원회 머신[15][16] 또는 둘 다 패리티 머신인 교사-학생 구성을 연구했다.[17]
2006년에는 여러 모델의 지식을 단일 신경망으로 압축하는 것을 ''모델 압축''이라고 불렀다. 압축은 더 성능이 좋은 앙상블에 의해 레이블이 지정된 대량의 의사 데이터를 사용하여 더 작은 모델을 훈련하고, 압축된 모델의 로짓을 앙상블의 로짓과 일치하도록 최적화함으로써 달성되었다.[18] 제프리 힌턴(Geoffrey Hinton) 외의 지식 증류 사전 출판(2015)[1]은 이 개념을 공식화하고 이미지 분류 작업에서 얻은 몇 가지 결과를 보여주었다.
지식 증류는 파라즈 토라비 등이 논의한 ''행동 복제''의 개념과도 관련이 있다.[19]
참조
[1]
arXiv
Distilling the knowledge in a neural network
[2]
저널
Learning efficient object detection models with knowledge distillation
[3]
콘퍼런스
Domain adaptation of DNN acoustic models using knowledge distillation
[4]
콘퍼런스
Knowledge distillation across ensembles of multilingual models for low-resource languages
[5]
저널
Distilling Knowledge from Graph Convolutional Networks
https://openaccess.t[...]
[6]
서적
Cybernetics and Forecasting Techniques
https://google.com/b[...]
American Elsevier Publishing Co.
[7]
저널
Heuristic self-organization in problems of engineering cybernetics
https://linkinghub.e[...]
1970-03
[8]
저널
Polynomial theory of complex systems
http://gmdh.net/arti[...]
2019-11-05
[9]
arXiv
Annotated History of Modern AI and Deep Learning
2022
[10]
저널
Comparing Biases for Minimal Network Construction with Back-Propagation
https://proceedings.[...]
Morgan-Kaufmann
1988
[11]
저널
Optimal Brain Damage
https://proceedings.[...]
Morgan-Kaufmann
1989
[12]
저널
Neural Sequence Chunkers
https://people.idsia[...]
1991-04
[13]
저널
Learning complex, extended sequences using the principle of history compression
ftp://ftp.idsia.ch/p[...]
[14]
저널
The statistical mechanics of learning a rule
https://link.aps.org[...]
1993-04-01
[15]
저널
Generalization in a Large Committee Machine
https://iopscience.i[...]
1992-10-15
[16]
저널
Generalization properties of multilayered neural networks
https://iopscience.i[...]
1992-10-07
[17]
저널
Memorization Without Generalization in a Multilayered Neural Network
https://iopscience.i[...]
1992-11-01
[18]
콘퍼런스
Model compression
[19]
arXiv
Behavioral Cloning from Observation
[20]
웹사이트
知識蒸留:巨大なモデルの知識を抽出する
https://xtech.nikkei[...]
日経Robotics(日経ロボティクス)
2023-05-24
[21]
저널
Distilling the Knowledge in a Neural Network
2015-03-09
[22]
arXiv
Distilling the knowledge in a neural network
[23]
저널
Learning efficient object detection models with knowledge distillation
[24]
콘퍼런스
Domain adaptation of DNN acoustic models using knowledge distillation
[25]
콘퍼런스
Knowledge distillation across ensembles of multilingual models for low-resource languages
[26]
저널
Distilling Knowledge from Graph Convolutional Networks
https://openaccess.t[...]
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com