본문 바로가기
AI · 인공지능/AI 칼럼

AI학습을 더 인간 답게? 학습 경험을 살린 MTL학습법의 등장!

by 두우우부 2020. 1. 1.
반응형

3 개의 요점

✔️ 지금까지의 학습 경험을 바탕으로 미지의 작업을 소량의 데이터로 해결하는 방법을 제안

✔️ 일부 매개 변수만 갱신하여도 효율이 좋아지며, 학습한 것을 잊지 않으며 학습이 가능

✔️ 어려운 태스크를 중점적으로 학습함으로써 미지의 작업을 소량의 데이터로 정밀도 높게 학습

시작하며

최근 딥러닝이 다양한 곳에서 사용되고 있습니다. 딥러닝을 이용한 것으로 유명한 것은 자동운전에 사용되는 이미지 인식 기술과 알렉사와 Siri에 사용되는 자연언어처리기술 등을 들 수 있습니다.

딥러닝으로 대표되는 인공지능 연구의 큰 목적은 인간과 유사한 지능을 만드는 것입니다. 인간은 일단 물체를 보는 것만으로 그 물체를 정밀하게 인식하는 것이 가능합니다. 그러나 딥러닝 기술은 대량의 데이터에서 학습하지 않으면 물체를 인식할 수 없습니다.

 

그러면 인간은 어떻게 적은 데이터로부터 높은 정확도로 물체를 인식하는 것일까요? 그것은 지금까지의 학습 경험을 활용한다고 생각됩니다. 예를 들어, 우리는 지금까지 대량의 물체들을 보고 학습을 해왔습니다. 물체 A와 물체 B를 구별할 때 어디를 보면 좋을지 경험을 통해 쉽게 알 수 있고, 그 경험을 반복해가며 학습을 강화합니다.

 

즉 인간은 학습 과정을 배우고 있는 것입니다. 이것은 메타 학습이라는 분야에서 활발히 연구가 진행되고 있습니다. 이 메타 학습을 이용하면 적은 데이터로부터의 학습(Few-Shot learning)이 가능합니다.

 

기존 기술은 대량의 데이터에서 학습시킨 후 소량의 데이터로 다시 학습하고, 더 나은 초기 값을 얻고 있습니다. 이로써 미지의 작업도 적은 데이터로 대응할 수 있도록 했습니다.

 

새로 제안된 방법은 일단 학습시킨 매개 변수는 재 학습하지 않고 다른 소량의 매개 변수를 제공하여 매개 변수를 학습시킵니다. 이렇게 하면 한 번 배운 것을 잊지 않고 효율적으로 학습할 수 있습니다. 이 기술을 Meta Transfer Learning (MTL)이라고 합니다.

 

또한 어려운 작업을 중점적으로 학습시키는 것으로, 어떻게 하면 어려운 작업을 적은 데이터로 학습 가능한지, 그 방법을 배울 수 있습니다. 이 기술을 hard task (HT) meta batch라고 합니다. MTL와 HT를 조합한 방법으로 이미지 분류에서 미지의 작업을 적은 데이터로부터 높은 정확도로 학습할 수 있게 되었습니다.

메타 학습과 Few-Shot learning

위에서 언급 한 바와 같이, Few-Shot learning은 소량의 데이터로 학습하는 것입니다. k장의 사진에서 학습하는 것을 k-shot이라 하고, 1-shot과 5-shot이 평가에 자주 사용됩니다.

 

Few-Shot learning에서는 주로 데이터 확장 방식과 메타 학습 방식을 취하고 있습니다. 최근 메타 학습으로 Few-Shot learning에 대한 연구가 활발해지고 있습니다.

 

메타 학습을 공식화해보면 다음의 단계로 이루어집니다.

 

① 학습 데이터를 meta training용과 meta test용으로 분할한다.

② meta training용 데이터로 원본이 되는 분류기인 base learner 학습을 실시한다. 

  - 예로, 100개 그룹의 이미지 분류 작업 시, 각 그룹별로 500장의 데이터로 학습을 실시

③ meta training의 데이터에서 태스크 T를 추출한다. 

  - 예로, 5그룹의 이미지를 분류하는 태스크 등의 작업을 에피소드라고 부른다.

  - 각 에피소드를 Ttr Tte 두 가지로 나눈다.

Ttr을 이용하여 base learner를 다시 학습한다.

Tte을 이용하여 ③에서 학습한 매개 변수를 최적화한다.(meta learner 학습)

⑤ ①~④에서 학습 한 meta learner를 사용하여 미지의 태스크인 meta test의 데이터를 평가한다.

 

위의 단계가 일반적인 메타 학습입니다. 이를 감안하여, 새로 제안된 방법의 소개를 하겠습니다.

제안된 방법

제안된 방법은 크게 4단계로 구성되어 있습니다.

① 대규모 데이터 D base learner를 학습시킨다.

② 에피소드 T를 추출하여 base learner의 분류 계층을 교체하고 그 레이어만 Ttr을 이용하여 

     meta leaner를 학습한다. 학습 파라미터를 θ로 한다.

③ 다른 소량의 파라미터 Φ Tte을 이용하여 학습한다.

④ 마지막으로 ②에서 학습 한 파라미터 θ Tte으로 학습한다.

 

그럼, ①과 ②~④로 나누어 위의 단계를 자세히 살펴보겠습니다.

 

대규모 데이터에서의 학습

①에서는 대규모 데이터로 학습을 실시합니다. 이것은 기본적인 메타 학습과 같습니다.

 

소량의 파라미터 학습 (MTL)

기존의 메타 학습에서는 한 번 대규모 데이터에 학습시킨 후, 학습한 파라미터를 추출한 에피소드 T로 재학습 시키고 있습니다. 그러나 이것으로는 학습 효율성도 나쁘고, 한번 학습한 작업을 잊어버릴 가능성이 있습니다(파괴 망각). 따라서 이 연구에서는 Meta Transfer Learning (MTL)를 제안하고 있습니다. 그림 2는 기존 기술과 MTL의 차이를 나타낸 것입니다.

제안된 방법과 기존 방법의 차이

 

MTL은 위 그림에서와 같이, 소량의 다른 매개 변수 Φ를 준비하고 추출한 에피소드 T에서 Φ만을 학습합니다. 이렇게 하면 효율적으로 '파괴 망각' 없이 학습할 수 있게 됩니다. 이 학습 파라미터 Φ를 사용하여 아래의 Scaling and Shifting(SS)이라는 작업을 수행합니다. 또한, 파라미터 Φ는 네트워크 층의 수만큼 준비합니다.

SS조작 공식

 

정리하면, 위에서 말한 조작으로 다음의 세 가지 효과가 기대됩니다.

1) 효율적으로 학습할 수 있다

2) 파괴 망각을 방지할 수 있다

3) 소량의 파라미터만 학습시킴으로써 과도한 학습을 ​​막을 수 있다

인간의 학습을 보면, 한 번 배운 것을 전부 갱신하지 않고 일부만 업데이트하여 변경 및 학습을 해나간다고 보여집니다. 그런 의미에서 MTL는 더 인간답게 학습하는 방법이라고 생각됩니다. 또한 3)은 깊은 네트워크 구조에서도 과도한 학습을 방지할 수 있습니다. 이는 강력한 네트워크 구조를 사용하는 것이 가능해진다는 커다란 이점이 있습니다.

 

어려운 태스크 중점 학습(HT)

또한 제안된 방법은 hard task meta batch(이하 HT)입니다. 기존 기술(meta batch)에서 태스크는 랜덤으로 추출되고 있습니다. HT는 ②에서 랜덤으로 태스크를 추출하는 것이 아니라, 지금까지 학습한 것 중에 어려운 태스크(정확도가 낮은 작업)를 중점적으로 추출합니다.

 

이것도 인간의 학습과 비교하면 알기 쉬울것 같습니다. 쉬운 문제보다 어려운 문제를 푸는 쪽이 더 문제 해결 능력을 키워줍니다. HT에서는 이러한 점을 이용하여 학습을 실시하고 있습니다.

실험 결과

여기에서 제안된 방법을 이용하여 두 데이터셋에서 실험을 수행한 결과를 살펴보겠습니다.

 

데이터셋

· miniImageNet

ImageNet을 메타 학습으로 재구성한 데이터셋입니다. 100그룹으로 각 그룹마다 600장의 이미지가 포함되어 있습니다. 이 중 64그룹을 meta-trainig용으로, 20그룹을 meta-test용으로, 나머지 16그룹을 meta-validation용으로 나눕니다.

 

· Fewshot-CIFAR100 (FC100)

CIFAR100을 메타 학습으로 재구성한 데이터셋입니다. 100그룹에 각각 600장씩 32 × 32픽셀의 이미지로 구성되어 있습니다. 100그룹 중 60그룹을 meta-training용으로, 20그룹을 meta-test, 나머지를 meta-validation에 분할하고 있습니다. 각각의 그룹은 super클래스라는 것에 속하며 miniImageNet에 비해 비슷한 그룹이 같은 분할에 포함되지 않도록 되어 있습니다.

 

실험 설정

먼저 meta-training의 모든 데이터 base leaner를 학습시킵니다. 그다음, 5 클래스 분류에서 Ttr에 1,5,10장의 이미지를 Tte에 15장의 이미지를 사용하여 meta leaner를 학습시킵니다. 기존 기술에서는 Tte에 32장 혹은 64장의 이미지를 사용하였습니다.

 

네트워크 구조

사용하는 네트워크는 4층의 회선층으로 구성된 4 CONV와 Resnet-12를 사용합니다. 이것은 이미지 특징량을 추출하는 기구이며, Θ로 표기합니다. 분류층은 하나의 FC층을 사용합니다. 분류층은 θ로 표기합니다.

 

실험 결과

첫째, 제안된 방법인 MTL의 성능을 살펴봅시다. 그림 1은 ResNet-12를 이용하여 MTL과 기존 기술을 비교한 결과입니다.

 

제안된 방법의 효과

 

여기서 update는 메타 학습 없이 학습, FT(Fine Tuning)는 기존의 메타 학습 방법의 학습, SS는 제안된 방법입니다. 각 기법에 기재된 [ ]는 학습하는 매개 변수를 나타냅니다. 예를 들어, [Θ; θ]는 매개 변수 모두를 학습하는 것을 나타냅니다. 또한 4Θ는 ResNet 4단째의 매개 변수를 나타냅니다.

위 표에 따르면, 제안된 방법은 기존 방법보다 정밀하게 이미지를 분류할 수 있습니다. 특히 miniImageNet가 정밀함을 알 수 있습니다. 이 결과로부터 MTL이 Few-shot learning에 있어서 효과적이라는 것을 알 수 있습니다.

 

miniImageNet에서 제안된 방법과 기존 방법의 결과 비교

 

위는 miniImageNet에서 다양한 기법과 제안된 방법의 비교표입니다. 1-shot에서 제안된 방법 (MTL + HT)은 가장 높은 정밀도를 내고 있습니다. 5-shot에서만 TADAM에 비해 정밀도가 떨어집니다만, 이 기술은 ResNet-12 72FC층을 더한 네트워크를 사용하고 있습니다. 이는 제안된 방법보다 많은 매개 변수가 필요하며, 학습 속도가 느려집니다.

 

또한 4 CONV보다 ResNet-12를 사용하는 편이 더 정밀하게 분류되는 것을 알 수 있습니다. MTL를 이용하면 소량의 매개 변수 만으로도 좋으며 깊은 네트워크에서도 과도한 학습이 필요하지 않습니다.

 

또한 학습하는 매개 변수가 줄어든 데 따른 효과를 살펴봅시다. 다음 그림은 2개의 데이터셋의 학습곡선을 나타냅니다.

제안된 방법에 의한 학습 속도

 

여기서, (a) (b)는 각각 miniImageNet의 1-shot과 5-shot의 결과입니다. 또한, (c) (d) (e)는 FC100의 1-shot, 5-shot, 10-shot의 결과를 나타냅니다. 기존 기술은 120k의 iteration이 필요했지만, 제안된 방법은 양쪽 모두 10분의 1 이하의 학습으로 끝나고 있습니다. 특히 FC100에서는 1~2k의 iteration에서 끝나고 있습니다.

정리

이상 인간처럼 학습하는 메타 학습법을 소개했습니다. 제안된 방법은 소량의 파라미터만 학습시키고 있습니다. 또한 어려운 작업을 중점적으로 학습함으로써 적은 데이터로도 이미지 분류 작업을 정확하고 효율적으로 해결하는 것을 가능하게 했습니다. 인간처럼 학습시키는 것은 인간을 더 깊이 알 필요가 있습니다. 뇌과학 등의 지식을 메타 학습에도 도입하면 더 나은 방법이 등장하는 것이 아닐까 생각합니다. 메타 학습의 연구는 최근 활발히 진행되고 있으며, 더욱 뛰어난 기법이 등장할 것으로 예상됩니다.

 

Meta-Transfer Learning for Few-Shot Learning
written by Qianru Sun, Yaoyao Liu, Tat-Seng Chua, Bernt Schiele
Accepted to CVPR2019 open Access
Subjects : Computer Vision

Meta-Transfer_Learning_for_Few-Shot_Learning_CVPR_2019_paper.pdf
0.99MB

반응형