🔴 지식증류 방법 : spot adaptive KD (SAKD)
- 저널: IEEE Transactions on Image Processing (TIP), (IF.11)
- "무엇을 증류할 것인가?"가 아닌, "어디에서 증류할 것인가"에 초점을 두어, 지식증류 통합방법을 통해 성능향상 결과를 보여준 논문
- [git 주소] https://github.com/zju-vipa/spot-adaptive-pytorch
- [논문 주소] https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=9767610
🟠 Introduction
- deep neural networks (DNNs)은 다양한 분야에서 성공적인 결과를 보였으나, resource-limited edge devices에 배포하기에는 너무 크다는 단점이 있음. DNN 모델을 실제 적용하기 위해 경량화 방법인 KD가 제안되었음
- KD는 적은 파라미터를 가진 경량 학생 모델은 교사모델의 지식을 활용함으로써 비슷한 성능을 달성 할 수 있음
- KD의 방법은 아래와 같음 (1) One-spot distillation, (2) Multi-spot distillation (3) 본 연구 제안방법: Spot-adaptive distillation
- (1) One-spot distillation
:minimize the KL divergence
KL 다이버전스를 최소화(Hinton et al.)
:Contrastive representation distillation (CRD)
표현 레이어의 서로 다른 출력 차원 간의 상호 의존성을 증류하기 위함
:Relational knowledge distillation (RKD)
교사 모델에서 학생 모델로 데이터 예제의 상호 관계를 전송하며, 여기서 상호 관계는 단일 표현 계층 내에서 생성- (2) Multi-spot distillation
: Teacher 네트워크의 여러 계층에서 지식을 마이닝하여 학생 모델에 더 많은 supervision 신호를 제공
ex. FitNets (출력뿐만 아니라 학생 훈련을 위한 힌트로 교사가 학습한 중간 표현도 채택), Attention transfer (강력한 Teacher 네트워크의 여러 계층에서 Attention Map을 모방하도록 하여 학생 CNN 네트워크의 성능을 향상)
: 즉, One-spot distillation 보다, 교사모델에서 더 많은 정보 활용- 또한, 증류지점이 매우 중요한데, 증류지점이 어떻게 정해지느냐에 따라 증류성능이 달라질 수 있음
- 따라서, 이 논문에서 증류 지점을 훈련 샘플 및 증류 단계에 맞게 조정하기 위해
SAKD(spot-adaptive KD)
라는 새로운 증류 전략을 제안
- 본 연구에서 기여한 부분
: 증류 지점이 다양한 훈련 샘플과 다양한 증류 단계에 적응해야 하는 적응 증류 문제를 처음으로 도입
: 증류 지점을 자동으로 결정하여 훈련 샘플 및 증류 단계에 적응할 수 있는 증류 지점을 만드는 새로운 지점 적응형 증류 전략을 제안
: 기존 최첨단 증류기의 증류 성능을 개선하기 위해 제안된 방법의 효율성을 보여주기 위해 다양한 실험 설정에서 광범위한 실험이 수행
🟡 RELATED WORK
A. Knowledge Distillation
- KD는 저용량 에지 장치에 DNN 모델을 배포하는데 있어 중요한 역할을 해옴
- 교사 모델의 지식을 활용해서 학생모델을 만드는 것이 주요 아이디어이며, 교사와 성능이 유사해짐
- 그동안의 연구는 대부분 "무엇을 증류할 것인지"에 대해 초점을 두었음
- 대표적으로, soft targets [1], features [6], [12], attention [7], factors [9],
activation boundary [10], sample relationship [3], [13], [14] 등이 있음- 학생모델은 교사를 모방함으로써, 학생 모델은 훨씬 적은 파라미터로도 교사모델과 유사한 성능에 달성함
- 따라서, 본 연군에서는 기존 연구들에서 간과했던 "무엇을 증류할 것인가"가 아닌, "어디에서 증류할 것인지"에 초점을 둠
👉 기존 KD 분류법
: 증류가 일어나는 지점 수에 따라, 2종류
(1) one-spot [1]-5 multi spot [6]-[11]- Q. 멀티모달에서 지식증류는 어떤 방법이 가장 효과적일까요?
- mutual distillation (상호 증류) [17], [18], self-distillation (자가 증류) [19]–[21], knowledge amalgamation (지식 융합) [22], [23] and data-free distillation (데이터 자유 증류) [24]–[27]
- Mutual distillation (상호증류)
: 학생 모델의 앙상블은 교육 과정 전반에 걸쳐 공동으로 학습하고 서로 가르치므로 교사와 학생 모델이 함께 발전할 수 있음- Self distillation (자체증류)
: 사용 가능한 교사 네트워크가 없다고 가정하고 얕은 레이어를 감독하기 위해 더 깊은 레이어의 출력을 사용하여 학생 네트워크 자체 내에서 지식을 추출- Knowledge amalgamation (지식융합)
: 여러 교사 모델의 지식을 융합하여 단일 멀티태스킹 학생 모델을 만드는 것을 목표- Data-free distillation (데이터 없는 증류)
: 데이터 없는 증류는 교사 모델의 훈련 데이터가 학생을 훈련하는 데 사용할 수 있음
🟢 SPOT-ADAPTIVE KNOWLEDGE DISTILLATION
spot-adaptive KD
- 전체 모델: (1) multi-path routing network (2) lightweight policy network
- multi-path routing network : 교사 모델과 학생 모델로 구성되며 적응 계층은 필요에 따라 서로의 기능을 적응시킴
- policy network : 데이터가 라우팅 네트워크의 분기 지점에 도달할 때 데이터 흐름 경로에서 샘플당 라우팅 결정을 내리는 데 사용
: 그림설명) 후보 증류지점에서 증류를 수행할지 여부를 자동으로 결정?
🔵 EXPERIMENTS
A. Experimental Settings
- 1) Datasets
:CIFAR100
[42]- 클래스당, 600개 이미지, 100개의 클래스에 60,000개 32x32 컬러이미지, 5:1 비율로 분할
:Tiny-ImageNet
[43]-200개의 클래스가 있는 ImageNet[44]의 하위집합, 64x64 픽셀로 축소, 각 클래스에 train 500개, test 50개- data augmentation
: CIFAR-10- 모든 면에 4픽셀로 zero-padded 되고 32×32픽셀로 randomly cropped, 다음 randomly horizontal flipped함
: tiny-ImageNet-random horizontal flipping
:ImageNet
1,000개의 클래스가 있는 120만 개의 train 이미지와 50,000개의 validation 이미지로 구성
: random cropping of size 224×224 and horizontal flipping 적용
▶ 1) Does the Policy Network Make Useful Decisions?:
🤔 distillation strategies: always distillation, rand-distillation, anti-distillation and no-distillation.- 지식증류의 4가지 전략이 있다는 것을 처음알게됨!!
(1)always distillation
: 항상 증류는 실제로 모든 증류 지점에서 증류가 항상 수행되는 표준 증류 전략
(2)rand-distillation
: Rand-distillation은 이름에서 알 수 있듯이 후보 증류지에서 증류 여부를 무작위로 결정
(3)anti-distillation
: 본 연구에서 제안한 adaptive distillation과 반대 (Adaptive Distillation이 특정 지점에서 증류되는 경우 Anti-Distillation은 증류되지 않음)
(4)no-distillation
: 학생이 증류 없이 사소한 훈련을 받음
🟤 CONCLUSION
- 지식 추출 전략이 교육 프로세스 전체와 모든 교육 샘플에 대해 고정되어서는 안 된다고 주장
- 따라서, 서로 다른 증류 단계에서 샘플당 증류 지점을 자동으로 결정하는 지점 적응형 증류 전략을 제안
- 제안된 증류 전략은 먼저 교사 네트워크와 학생 네트워크를 다중 경로 라우팅 네트워크로 병합
- 그런 다음 정책 네트워크가 도입되어 네트워크를 통한 데이터 흐름 경로에 대한 샘플당 결정을 내림
- 증류 결정은 정책 네트워크의 라우팅 결정을 기반으로 함
- 균일 및 이종 증류 설정 모두에서 제안된 방법을 평가
- 그리고 제안된 방법의 효과를 입증하기 위해 광범위한 절제 연구도 수행
- 실험 결과는 제안된 적응형 증류 전략이 기존의 다양한 증류 방법의 성능을 지속적으로 향상시킨다는 것을 보여줌
굿