Progressive Neural Network
Contents
- Introduction
- Transfer Learning
- Catastrophic Forgetting
- Progressive Neural Network (Prognets)
1. Introduction
새로운 것을 배우는 것은, “기존에 알던 것을 기반”으로 하는 경우가 많음
ex) 4발 자전거 배운 뒤, 3발 자전거
Transfer Learning : 하나의 task의 지식을 다른 task를 풀기 위해 전이(Transfer)시키는 것
하지만, NN의 경우, 새로운 task를 배우는 과정에서 (새로운 task를 풀기 위해 parameter/weight를 update하는 과정에서), 기존의 task를 푸는 지식에 손상이 갈 수 있다.
Key words
transfer learning / catastrophic forgetting / progressive NN
2. Transfer Learning
하나의 task의 지식을 다른 task를 풀기 위해 전이
ex) NLP : pretrained embedding models ( ELMo, BERT, GPT3… )
( step 1 ) model은 frozen
( step 2 ) fine-tuning ( optimization은 embedder 윗 부분 header에서만 task-specific하게 수행 )
여기에 들어간 가정 : 서로 다른 텍스트라도, “언어 구조”라는 것 자체는 큰 차이가 없다
ex) CV : ResNet-50, GoogLeNet, VGG-19
위의 대표적인 두 경우 (NLP,CV)에서 알 수 있듯, fine-tuning은 effective! 하지만 단점은?
Catastrophic Forgetting!
3. Catastrophic Forgetting
fine tuning 과정에서 발생할 수 있는 문제점
Catastrophic Forgetting : 새로운 data를 fitting 시키는 과정에서, 기존의 중요한 feature가 변하게 되는 것!
이를 극복하기 위해 제안된 여러 알고리즘 들 중 하나가 바로 Progressive NN
Progressive NN
- 1) Catastrophic Forgetting을 극복하면서도
- 2) 여전히 Effective
4. Progressive Neural Network (Prognets)
( DeepMind, 2016 )
-
simple,powerful,creative
-
두 줄 요약 :
- 1) **“immune to forgetting” **
- 2) “can leverage prior knowledge via lateral connections to previously learned features”
Algorithm
STEP 1) single column NN으로 시작
-
initial task 학습
-
\(K\)개의 task, \(L\)개의 blocks, \(W\) neurons per layer
-
처음이니까 lateral connection X (일반 NN와 동일)
-
\(h_{i}^{k}=f\left(W_{i}^{k} h_{i-1}^{k}+\sum_{j<k}\left(U_{i}^{k: j} h_{i-1}^{j}\right)\right)\).
[ FIGURE ] \(K=3\), \(L=3\)
example) Task4의 Block 3은,
- “Task 4의 Block 2”와
- “Task 1,2,3의 Block 2” 의 output으로 생성된 것!
다르게 이해하자면, 각 block을 일종의 Black Box로 생각!
task를 풀기 위해 가장 중요한 information을 잘 뽑아내는 모델
( 만약 위 그림에서 \(h_2^{(3)}\)이, \(h_1^{(1)}\)이 가장 중요하다 느낀다면 \(h_1^{(2)}\), \(h_1^{(3)}\)을 모두 zero-out할 수 있음 )
\(\rightarrow\) **knowledge transfer도 쉬울 뿐만 아니라, 불필요한 정보 또한 차단 OK **
Reference
-
Progressive Neural Networks ( AA Rusu et al., 2016 )
-
https://towardsdatascience.com/progressive-neural-networks-explained-implemented-6f07366d714d