Growing a Brain: Fine-Tuning by Increasing Model Capacity(CVPR17)
Yu-Xiong Wang, Deva Ramanan, Martial Hebert
https://ieeexplore.ieee.org/document/8099806
Deep convolutional neural network(CNN)는 “big data”(매우 많은 이미지 데이터)를 가진 “big model”(수억개의 parameter를 가진)을 학습할 수 있는 능력을 통해 visual understanding을 변화시켰다. 그러나 이러한 데이터는 label이 필요하고 새로운 category, task들에 대해 많은 양의 labeling 작업을 하는것은 일반적으로 비현실적이다. 다행히 “base” 데이터 집합(e.g., ImegaNet)에 대해 교육을 받으면 CNN이 광범위한 task에서 transfer되는것처럼 보인다. 그러나 open question은 “pre-trained CNN을 novel categories 및 tasks에 adaptation시키는 최고의 방법은 무엇?” 이라고 볼 수 있음.
Fine-tuning:
Developmental networks:
그림 1: 몇가지 예시에서 새로운 category 인식을 위한 model capacity를 증가시킴으로써 pre-trained CNN의 transfer 및 developmental learning. 풍분한 데이터를 갖는 source task(e.g., ImegeNet classification)에서 network(e.g., AlexNet)가 pre-train. 고정 capacity model을 fine-tuning하는 dominant paradigm과 달리 두 가지 방식으로 새로운 대상 task(e.g., SNU-397 scene classification)에 적용할때 이 network를 확장한다. (1) 더 많은 layer (더 깊게) (2) layer당 channel을 추가 (더 넓게)Developmental learning:
Contributions: 본 논문을 통해 contribution하는 점은 세가지이다.
transfer learning에 대한 연구가 많이 있었지만 대부분 고정 capacity model을 가정함[32, 3, 6, 58, 15]. 본 논문에서는 새로운 layer의 추가와 기존 layer의 확장을 포함하는 capacity를 늘리는 다양한 방법을 체계적으로 탐구한다. 본 논문과 가장 관련이 있는것은 reinforcement learning을 위해 원래 제안된[34] 진보적인 network이다. [34, 38]은 target network를 source network의 두 배로 넓히는데 집중하지만, 새로운 unit만 fine-tuning한다. 대조적으로 본 논문에서는 새로운 unit의 작은 부분을 추가하고 전체 network를 fine-tuning하여 old unit의 adaptation이 고성능을 위해 중요한점이라는 것을 보여준다. 넓은 의미에서 본 논문의 접근은 발달 학습[26, 16, 36]과 평생 학습[41, 25, 39, 29]과 관련이 있음. 새로운 data를 기억할 때 capacity를 증가시키는 non-parametric shallow model(얕은 모델)과는 달리, 제안하는 network는 새로운 task로부터 capacity를 cumulatively하게 증가시킴.
예를들어, 1,000개의 category가 있는 ImageNet에 pre-trained된 vanilla AlexNet과 같이 풍부한 데이터에서 pre-trained된 CNN architecture를 고려해본다[20, 33]. 그림 1에서 알 수 있듯이 CNN은 feature representation module (5개의 convolutional layer와 2개의 fc layer)및 classifier module (1000개의 unit이 있는 최종 fc layer) 구성된다. 이 CNN을 제한된 train data(e.g., 397개의 장면 분류 dataset SUN-397)가 있는 새로운 task로 transfer하는것은 보통 fine-tuning을 통해 수행됨. classic fine-tuning에서 target CNN은 다음과 같이 인스턴스화되고 초기화된다.
새로운 classifier model 는 parameter 가 랜덤하게 초기화됨.
그림 2: classic fine-tuning (a)와 augmented된 model capacity를 가지는 developmental network(b-e)의 시각화새로운 top representation layer 는 두개의 block으로 구성된다.
이를 해결하기 위해 추가적으로 normalization과 adaptive scaling schmeme을 제안함.
Implementation details:
Learning with augmented network capacity:
width augmendted network(WA-CNN)의 경우 size의 new unit 를 에 추가
점차적으로 fine-tuning 정도를 높이는 네가지 시나리오에서 학습을 진행한다.
Increasing network capacity through combination or recursion:
표1: SUN-397 dataset의 task에서 고정된 model capacity를 가진 network의 fine-tuning과 augmendted model capacity를 가진 developmental network의 정확도(%) 비교.
Diagnostic analysis:
표2: SUN-397에서 다른 new unit 갯수를 가진 developmental network 변형에 대한 정확도(%) 비교.
Importance of reconciling the learning pace of new and old units
표3: normalization, scaling scheme을 도입한 경우와 도입하지 않은 경우 dapth(DA-CNN) width(WA-CNN) network의 정확도(%) 비교. 제안하는 normalization, scaling scheme기법은 new unit과 old unit의 학습속도를 조정하므로 특히 WA-CNN에서 크게 이점을 발휘한다.
Learning without forgetting:
표4: ImegeNet validation set를 잊지 않고 학습하는 능력을 입증. SUN-397에서 fine-tuning된 DA-CNN 및 WA-CNN을 ImegeNet training set로 augmendted layer와 함께 학습. 본 논문의 접근방식은 target task 성능향상에 중점을 두지만 source task에서도 정확한것을 확인할 수 있음.
Feature visualization:
feature space의 topology를 대략적으로 이해하기 위해 standard t-SNE algorithm을 사용하여 feature를 시각화한다.
그림3: SUN-397 validation set를 통한 상위 layer를 t-SNE 시각화. DA-CNN, WA-CNN이 훨씬더 의미론적으로 분리되어 있음.
Maximally activating images:
그림4는 interesting transition을 보여준다.
그림 4: 4개의 unit에 대해 이미지를 최대로 활성화하는 top 5. 왼쪽부터: ImegeNet validation image for pre-trained network, SUN-397 validation image for pre-trained, fine-tuned, WA-CNN networks. 이미지의 각 행은 network의 공통 단위에 해당하며, 이는 제안하는 WA-CNN이 새로운 target task에 대한 기존 단위의 특수화를 용이하게 한다는 것을 나타낸다. 예를들어, 맨 아래 줄은 ImegeNet pre-trained network에서 펭귄처럼 수직으로 반복되는 패턴 fine-tuned network에서는 여러 혼합된 개념으로, WA-CNN은 옷장과 같인 수직 반복 패턴으로의 전환을 보여준다.
그림 5: depth augmented netowkr(DA-CNN)의 6개 에 대해 SUN-397에서 이미지를 최대로 할성화하는 top 5. 좌측 및 우측 column들 내의 5개 이미지들의 각 행은 각 target task에 대한 scene-level 개념. e.g. 강당 및 수의학실이 첫번째 행에 배치됬다.
표 6: standard AlexNet, scratch부터 학습된 wide AlexNet(WA-CNNscratch), 점진적으로 train된 wide network (WA-CNN-grow)들의 정확도 성능 비교. 점진적 학습은 source task에서도 도움이 되는것처럼 보인다.
표 7: standard AlexNet(CNN-FT)의 standard fine-tuning과 wide AlexNet(WA-CNN-ori)의 standard fine-tuning 간의 target dataset에 대한 classification 정확도(%) 비교. 동일한 모델 capacity를 가진 WA-CNN은 WA-CNN-ori보다 훨씬 더 뛰어난 성능을 보여줌.
그림 6: CUB200-2011 testset에서 WA-CNN의 , 및 이둘의 조합에 대한 learning curves. 왼쪽과 오른쪽 그림은 다른 learning behavior을 보여줌: WA-CNN-ori의 unit은 source에 지나치게 특화된것으로 보이는 반면 WA-CNN의 새로운 unit은 새로운 target task에 대해 더 잘 조정된 다양한 expert로 보인다. 흥미롭게도 expert들은 기존 및 새로운 unit보다 더 나은 adaptation을 허용한다.(그림 7)
그림 7: 대표적인 (첫번째 행) unit 및 (두번째 행)에 대해 CUB200-2011 이미지를 최대로 활성화하는 top 5. 각 이미지 행은 WA-CNN-ori(왼쪽)와 WACNN-grow(오른쪽)의 두 network에서 공통단 unit에 해당함. WA-CNN-ori와 비교하여 WA-CNNgrow는 차별적인 pattern(상단: 물속의 새, 하단: 노란색 배가있는 새)을 capture함으로써 기존 task가 새로운 task에 adaptation하는것을 용이하게 함.
표 8: SUN-397을 통한 점진적인 grwoing을 통해 확장된 AlexNet은 MIT-67의 성능을 획기적으로 향상 시켰으며 400개의 scene category dataset(Places)을 통해 train된 Places AlexNet과 ImegeNEt VGG16의 성능을 훨씬 능가하는 성능을 보여줌.