[ECCV 2018] Memory Aware Synapses: Learning what (not) to forget (MAS) 핵심 리뷰

This entry is part 11 of 22 in the series Incremental Learning

내용 요약

MAS(Memory Aware Synapses) 방식의 Incremental Learning 방법론을 제안합니다. Gradient를 사용하여 측정한 parameter의 중요도에 기반한 regularization 방식을 사용합니다.

1. 들어가며

이번 글에서는 ECCV 2018에 발표된 Memory Aware Synapses: Learning what (not) to forget (MAS) 논문을 리뷰합니다. 이 논문은 MAS라고 불리며, 이번 글에서도 MAS라고 지칭하겠습니다.

전체-흐름-속에서-보기
그림1. Incremental Learning 전체 흐름

Incremental Learning을 방법론에 따라 크게 구분하면 위의 그림과 같이 구분할 수 있습니다.

  • Regularization : 이전 task에서 학습한 네트워크의 파라미터가 최대한 변하지 않으면서 새로운 task를 학습하도록 유도
  • Distillation : 이전 task에서 학습한 파라미터를 새로운 task를 위한 네트워크에 distillation
  • Distillation + Memory : 이전 task의 데이터를 소량 메모리로 두고 새로운 task학습 때 활용
  • Distillation + Memory + Bias correction : 새로운 task에 대한 bias를 주요 문제로 보고, 이에 대한 개선에 집중
  • Distillation + Memory + Dynamic structure : task에 따라 가변적으로 적용할 수 있는 네트워크 구조를 사용
  • Distillation + Memory + Generative model : 이전 task의 데이터를 generative model을 사용하여 replay 하는 방식을 사용
  • Dynamic structure : Pruning / Masking 등을 사용하여 task별로 사용할 파라미터 또는 네트워크 등을 정해줌

MAS는 Regularization에 해당하는 방법 중 하나입니다.

2. 제안 방법

바로 제안하는 방법을 살펴보겠습니다.

2-1. Estimating parameter importance

저자들의 핵심 아이디어는 “모든 parameter를 regularization하지 말고, 중요한 parameter만 regularization 하는 것”입니다.
이때 중요한 parameter는 어떻게 정의할까요? 저자들은 “parameter값이 약간 변하더라도 feature 값이 크게 변하는 parameter”를 중요한 parameter라고 정의합니다. 이를 수식으로 표현하면 아래와 같습니다.

feature-gradient
그림2. feature gradient

좌변은 파라미터 𝜃가 미세하게 𝛿만큼 변했을 때의 feature값의 차이입니다. 이는 우변의 gradient로 표현할 수 있습니다. 따라서 parameter의 중요도는 아래와 같이 gradient의 크기로 표현할 수 있습니다.

parameter-importance
그림3. parameter importance

그럼 이제 저자들의 의도대로 parameter의 gradient가 크면 새로운 task로 학습시킬 때 backprogation을 적게 하고, 반대로 gradient가 작으면 새로운 task를 학습시킬 때 정상적으로 backpropagation을 해서 parameter를 변화시키면 됩니다.

이때 문제가 하나 있습니다. 보통 딥러닝 모델들은 매우 큰 차원을 갖는 함수인데, 각 차원별로 전부 gradient를 구해 backpropagation을 해줘야 한다는 것입니다. 따라서 차원을 줄이기 위해 F를 그대로 쓰지 않고 F의 L2 norm 제곱 값을 사용합니다.

l2-norm-제곱
그림4. l2 norm 제곱

2-2. Learning a new task

위에서 설명한 방법으로 새로운 task를 학습하기 위한 loss function은 아래와 같습니다.

loss-function
그림5. loss function

우변에 regularization 항이 추가된 모습을 볼 수 있습니다. 이때는 위에서 설명한 parameter importance에 해당합니다. 모든 파라미터에 대해 일관된 규제를 하는 방식이 아닌, 중요도가 큰 파라미터에만 집중적으로 변화량에 대해 규제한다고 생각할 수 있습니다.

2-3. Connection to Hebbian learning

다음은 신경과학에서의 Hebbian Learning Theory와의 상관관계를 살펴보겠습니다.
먼저 Hebbian learning theory는 다음과 같습니다. “하나의 자극에 대해 같이 활성화되는 뉴런 시냅스들은 연결이 더 강화되어, 그 결과 해당 자극에 대한 성능이 더 좋아진다.”
이를 딥러닝 관점에서 해석하자면 다음과 같습니다. “파라미터의 중요도는 뉴런의 activation correlation에 의해 결정된다고 할 수 있다.” 이를 수식으로 표현하면 다음과 같습니다.

뉴런-activation-correlation
그림6. 뉴런 activation correlation

다시 저자들의 모델로 돌아오겠습니다.
위에서 제안한 방법은 모델 전체의 파라미터에 영향을 주는 방법입니다. 이를 layer마다 나눠서 생각해보겠습니다.

local-방식
그림7. local 방식

위 그림의 Local 한 방식처럼 layer마다 나눠서 생각하면, 위에서 구한 gradient는 다음과 같습니다.

local-방식의-gradient
그림8. local 방식의 gradient

이때 gradient는 다음과 같이 표현됩니다.

img
그림9. local 방식의 l2 norm 제곱

이때 activation이 ReLU일 때는 다음과 같이 표현할 수 있습니다.

local-방식의-최종-gradient
그림10. local 방식의 최종 gradient

결국 위에서 본 Hebbian learning을 수식으로 표현한 것과 같은 식이 되었습니다. 따라서 저자들은 본인들의 제안 방식은 신경과학적 관점과 동일하다고 주장합니다.

Series Navigation<< [CVPR 2018] PackNet: Adding Multiple Tasks to a Single Network by Iterative Pruning[CVPR 2019] Learning to remember:A synaptic plasticity driven framework for continual learning (DGM) 핵심 리뷰 >>
0 0 votes
Article Rating
Subscribe
Notify of
guest

0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x
Scroll to Top