본문 바로가기

논문 리뷰

(번역) MAML / Model-Agnostic Meta Learning for fast adaptation of deep networks

저자 : 첼시 핀 . // C. FINN

 

논문명 : Model-Agnostic Meta Learning for fast adaptation of deep networks

 

Meta-Learning : Learning to learn

학습하는 방법을 학습.

 

weight 를 initialize 하는 방식에 대한 논문

 

여러 태스크의 옵티멀 포인트가 있을 때,

한 그레디언트를 움직였을 때, 모든 태스크의 옵티멀 포인트와의 거리가 최소가 되는 현재의 포인트를 찾는 문제.

 

--번역>

 

<요약>

우리는 모델에 구애받지 않는(model-Agnostic) 메타 학습 알고리즘을 제안한다. 

이것은 그래디언트 디센트 방식으로 어떠한 모델들도 훈련시킬 수 있고, 분류/회귀/강화학습을 포함한 여러 다른 학습 문제들에 대해 적용할 수 있습니다.

메타 학습의 목표는 적은 수의 훈련 샘플만 사용하여 새로운 학습 과제를 해결할 수 있도록 다양한 학습 과제에 대한 모델을 훈련하는 것입니다.

우리의 접근법으로는, 모델의 파라미터들은 새로운 태스크에서 나온 적은 양의 훈련데이터로 적은 그래디언트 스텝을 통해서도 좋은 일반화 성능을 가지도록 명시적으로 훈련됩니다.

실제로, 우리의 방법은 모델이 쉽게 파인튜닝할 수 있도록 한다.

우리는 이 접근방식이 few-shot 이미지 분류에서는 SOTA 의 성능을, few-shot 회귀에서도 좋은 성능을, 정책 그래디언트 강화학습에서의 파인튜닝을 가속하는 것을 증명하였습니다.

 

<소개>

몇개의 예제로도 빠르게 사물을 인식하거나 또는 몇분의 경험으로 빠르게 기술을 익히는 것과 같이 빠르게 배우는 것은 인간의 지능의 특징이다. 우리의 인공 에이전트는 이와 같이 할 수 있어야 한다 -> 적은 예제로도 학습과 적응을 빠르게 하고, 추가되는 데이터에도 계속해서 적응할 수 있도록 해야한다.

이런 빠르고 유연한 학습은 구현하기 어렵다, 왜냐하면 에이전트는 이전의 기억들과 새로운 적은 정보들과 합쳐야 하고, 이 순간에서 새로운 데이터으로부터의 과적합을 피해야 하기 때문이다.

또한, 이전 경험과 새로운 데이터의 형태는 태스크에 따라 달라집니다.

가장 큰 적용성을 위해서, 메타러닝의 메카니즘은 태스크와 태스크를 완수하는데 필요한 연산의 형태에 일반적이어야 합니다.

 

본 연구에서, 우리는 일반적이고, 모델에 제한되지 않는 즉, 경사하강 알고리즘을 쓰는 어떠한 모델이나 학습문제에 적용할 수 있는 메타러닝 알고리즘을 제시합니다.  우리의 초점은 심층신경망에 있지만, 우리는 우리의 접근방식이 서로 다른 아키텍쳐나 (분류,회귀,정책 그래디언트 강화학습) 과 같은 다른 문제 설정에 대해서 아주 적은 수정을 통해 쉽게 다룰 수 있다는 점을 설명할 것이다.

메타러닝에서, 모델학습의 목표는 적은 양의 새로운 데이터로 빠르게 학습하는것이다. 그리고 모델은 메타러너를 통해서 많은 다른 태스크에서 학습할 수 있도록 훈련된다. 

우리의 방식의 가장 큰 아이디어는 모델의 초기 파라미터를 새로운 태스크에 대해서 적은 양의 데이터로 한번 또는 여러번의 그래디언트 스텝을 지나간 후 최고의 퍼포먼스를 낼 수 있도록 설정하는 것이다.

이전의 메타러닝 방식은 업데이트 기능 또는 학습 규칙을 학습하였다면, 우리의 알고리즘은 학습 파라미터를 늘리지 않고, 모델 아키텍쳐에 제약을 두지 않으며, 완전연결망/컨볼루션/rnn 과 같은 네트워크에 결합할 수 있다. 

그리고 이 방식은 미분이 가능한 학습 목표와 미분이 불가능한 강화학습 목표를 포함한 수 많은 손실함수를 이용할 수 있다.

모델의 파라미터를 몇 번의 또는 단번의 그래디언트 스텝을 통해서 학습하는 것은, 

특징학습관점에서 많은 태스크에 적합한 내부 표현을 구축하는 것으로 좋은 결과를 만들어 낼 수 있다.

만약 내부 표현이 여러 태스크에 대해서 적합하게 구축되어 있다면, 파라미터에 대해 아주 적은 조정으로 파인튜닝만 해도 좋은 결과를 가질 수 있다. 실제로 우리의 방식은 모델이 쉽고 빠르게 파인튜닝하고, 빠른 학습을 통해 적절한 공간에서 적응할 수 있도록 최적화합니다.

동적시스템 관점에서 본다면, 우리의 학습 프로세스는 새로운 태스크의 파라미터에 관하여 손실함수의 민감도를 최대화 하는 것으로 볼 수 있다. 민감도가 크다면, 적은 로컬의 변화(파라미터의 변화?) 로도 태스크 손실에 큰 개선을 이뤄낼 수 있다.

이 작업의 주된 기여는 단순한 모델 그리고 태스크에 상관없는 알고리즘으로 하는 메타러닝으로 모델의 파라미터를 적은 숫자의 그래디언트 업데이트로 새로운 태스크에 대해 빠르게 학습합니다. 우리는 퓨샷 회귀/ 이미지 분류 / 강화학습 과 같은 다양한 별개의 도메인들과 완전연결망 / 컨볼루션망을 포함한 다른 모델 유형들에 대해서 이 알고리즘을 증명하였다.

Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks

Our evaluation shows that our meta-learning algorithm compares favor- ably to state-of-the-art one-shot learning methods designed specifically for supervised classification, while using fewer parameters, but that it can also be readily applied to regres- sion and can accelerate reinforcement learning in the pres- ence of task variability, substantially outperforming direct pretraining as initialization.

 

<2. Model-Agnostic Meta Learning 소개>

우리는 모델은 퓨샷러닝이라는 문제로 공식화되는 "빠른 적응(학습)을 하도록 모델을 훈련 하는 것"을 목표로 한다.

이 섹션에서 우리는 문제를 정의하고, 우리의 알고리즘의 가장 일반화된 형식을 제시한다.

 

<2.1 Meat-Learning 문제 정의>

퓨샷 메타러닝의 목적은 모델을 학습하는데 있어서 새로운 태스크에 대해서 아주 적은 데이터 샘플과 반복횟수로 빠르게 적응하는 것에 있다. 이것을 이루기 위해서, 모델이나 학습자는 일련의 과제에 대해서 메타-러닝 단계에서 훈련을 받게 되며 이로 인해 작은 개수의 예재와 시도로도 빠르게 적응할 수 있게 된다. 실제로, 메타학습 문제는 전체 태스크를 훈련 예재로 취급한다. 이 섹션에서, 우리는 다른 학습 도메인에서의 간단한 예를 포함해서, 일반적인 방법으로 메타러닝 문제를 공식화한다. 우리는 섹션3에서 두개의 다른 학습 도메인에 대해 이야기 합니다.

 

우리는

관측치 = x , 출력값 a , 그리고 이 둘을 사상하는 모델을 f 라고 표기한다.

메타학습동안, 모델은 많은 또는 무한의 개수의 태스크에도 적응할 수 있도록 훈련된다.

우리는 우리의 프레임워크가 <분류부터 강화학습까지> 다양한 학습문제들에 적용되기 원하기 때문에, 아래의 학습 과제의 일반적인 개념을 소개한다.

 

공식적으로 태스크  T = {L(x1,a1,...,xH,aH),q(x1),q(xt+1|xt,at),H

는 로스 함수 L , 초기 관측치 q(x1)에 대한 분포 , 전이분포 q(xt+1|xt,at) 에 대한 분포 그리고 에피소드 길이 H 로 구성되어 있습니다.

i.i.d(독립 항등 분포) 지도학습에서는 H는 1 입니다. 각 모델은 각 t 시간에서 출력을 고르며, H 길이의 표본을 생성 할 수 있습니다.

로스함수는 태스크별 피드백을 제공하며, 그것들은 마코프 의사결정 과정에서의 오분류 손실 이나 비용함수의 형태일 수 있다.

출처 : MAML 논문

우리의 메타러닝 시나리오에서, 우리는 모델이 적응하기 원하는 (태스크에 대한 분포)  p(t) 를 고려한다.

K-shot 러닝에서의 세팅은 다음과 같다.  

모델은 q_i 에서 추출한 K개의 샘플과 Task_i 에서 생성된 피드백 L_ti 에서 새로운 작업 T_i 를 학습하도록 훈련된다.

메타러닝중에 태스크 T_i 는 p(T) 로부터 샘플링되며, 모델은 K개의 샘플과 Ti에서 상응하는 손실 Lt_i 의 피드백으로 훈련됩니다. 그리고 T_i의 새로운 샘플들에 테스트됩니다. 그런 다음 모델 f 는 파라미터에 대해 q_i의 새로운 데이터에 대한 테스트 오차가 어떻게 변화하는지 고려하면서 개선됩니다. 실제로, 태스크 t_I 에서 샘플된 테스트 에러는 메타러닝 프로세스에서 훈련 에러 역할을 합니다.

메타러닝의 마지막 부분에서는, 새로운 태스크가 P(t) 에서 샘플링되고, 메타 성능은 K 개의 샘플에서 학습된 후 모델의 성능으로 측정된다.

일반적으로, 메타테스트들에 사용되는 태스크들은 메타 훈련 중에 사용된다.

 

2.2 모델에 의존하지 않는 메타러닝 알고리즘.

기존의 작업들~~~~~~~~~ Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks

which has sought to train re- current neural networks that ingest entire datasets (San- toro et al., 2016; Duan et al., 2016b) or feature embed- dings that can be combined with nonparametric methods at test time (Vinyals et al., 2016; Koch, 2015),

과는 다르게, 우리는 빠른 적응을 위한 모델을 준비하는 방법으로, 메타학습을 통해 표준모델의 매개변수를 배울 수 있는 방법을 제안한다.

이 접근의 이면에 있는 직관은, 몇몇 내부 표현이 다른 것들보다 더 옮겨지기 쉽다는 것이다. 예를 들어, 신경망은 단일 개별 태스크가 아닌 p(T)의 모든 작업에 넓게 적용할 수 있는 내부 특징을 학습할 수 있다. 어떻게 우리는 그런 범용적인 목적의 표현을 이끌어 낼 수 있을까?

우리는 이 문제에 대해 명확한 접근법을 취한다 : 모델들은 그래디언트 기반 학습으로 파인튜닝을 할 것이기 떄문에, 우리는 p(T)로 부터 이끌어낸 새로운 태스크에 대해 오버피팅없이 신속하게 진전하는 방법으로 학습하는 것을 목표로 할 것 이다.

실제로, 우리는 매개 변수의 작은 변화로 인해 해당 손실의 경사도 방향으로 변경되었을 때 p(T)에서 도출된 모든 작업의 손실 함수가 크게 개선되도록 태스크의 변화에 민감한 모델 매개변수를 찾는 것을 목표로 할 것이다. (그림 1)

 

우리는 일부 파라미터 벡터 세타에 의해 변수화되고, 세타에서 손실 함수가 충분히 매끄러워 그래디언트 기반 학습 기법을 사용할 수 있다고 가정하는 것 외에 모델의 형식에 대해서는 어떠한 가정을 하지 않는다. 

 

MAML 알고리즘

 

'논문 리뷰' 카테고리의 다른 글

(번역) One-shot Imitation Learning  (0) 2021.01.17
MAML / Model-Agnostic Meta-Learning  (0) 2021.01.17