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

메타 학습의 단점을 극복? CACTUs의 등장

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

3개의 요점

✔️ 비지도 학습(Unsupervised learning)과 메타 학습을 결합한 방법 CACTUs를 제안

✔️ 비지도 학습에서 얻어진 특징량에서 자동으로 작업을 생성하고 메타 학습에 이용

✔️ 적은 데이터로 학습해서 이미지 인식 작업에 정확한 결과를 얻는 데 성공

UNSUPERVISED LEARNING VIA META-LEARNING
written by Kyle Hsu, Sergey Levine
(Submitted on 21 March 2019)

Published as a conference paper at ICLR 2019
subjects : Computer Vision and Pattern Recognition (cs.CV); Machine Learning (stat.ML)

UNSUPERVISED LEARNING VIA META-LEARNING.pdf
1.45MB

시작하기

최근 메타 학습이라는 연구 분야가 주목받고 있습니다. 메타 학습이 주목받는 주된 이유는 소량의 데이터 만으로는 심층학습 진행이 어렵다는 것입니다.

 

심층학습의 대두로 인해 다양한 태스크가 응용되기 시작했습니다. 그러나 심층학습은 대량의 고품질 데이터를 필요로 합니다. 심층학습을 더욱 이용하려면 적은 데이터로도 학습이 가능해져야 합니다.

 

인간은 적은 데이터로 학습할 수 있으며, 인간처럼 학습할 수 있는 방법이 요구되고 있습니다. 그럼 인간은 왜 적은 데이터로 학습할 수 있을까요? 그것은 지금까지 겪었던 수많은 경험들을 축적하고 이를 바탕으로 빠른 학습이 가능하다고 생각됩니다. 이를 모방한 기법이 바로 메타 학습입니다. 즉, 경험을 통하여 효율적으로 학습하는 방법을 학습하는 것이 메타 학습입니다.

 

더 정확하게 메타 학습을 표현하면, 대량의 데이터를 바탕으로 모델 학습을 수행한 후, 새로운 태스크를 소량의 데이터만으로도 해결 가능하도록 모델을 재학습 합니다. 메타 학습에 대해 더 자세히 알고 싶으신 분은 이 글을 참조하십시오.

 

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

3 개의 요점 ✔️ 지금까지의 학습 경험을 바탕으로 미지의 작업을 소량의 데이터로 해결하는 방법을 제안 ✔️ 일부 매개 변수만 갱신하여도 효율이 좋아지며, 학습한 것을 잊지 않으며 학습이 가능 ✔️ 어려운..

doooob.tistory.com

여기서 한 가지 문제가 발생합니다. 메타 학습에도 많은 양의 데이터가 필요하다는 것입니다. 사진 분류 작업을 예로 들면, 대량의 이미지와 그것이 어떤 이미지인지 식별하는 라벨 정보가 필요하다는 것입니다. 이것은 메타 학습의 이용을 크게 제한해 버립니다.

 

이를 바탕으로 본 논문에서는 비지도 학습과 메타 학습을 결합한 CACTUs라는 방법을 제시하고 있습니다. 이것은 비지도 학습에서 얻은 이미지 특징량으로부터 자동으로 메타 학습에 필요한 태스크를 생성하고 메타 학습을 하는 방법입니다. 그러면 라벨링 작업 없이도 메타 학습을 보다 쉽게 진행할 수 있습니다.

 

제안된 방법

CACTUs는 매우 심플하며, 크게 3단계로 구성되어 있습니다.

1. 비지도 학습을 사용하여 원본 데이터에서 특징량을 추출

2. 얻어진 특징량을 클러스터링 하고 의사 작업을 생성

3. 생성된 작업을 사용하여 메타 학습을 진행

이것을 나타낸 것이 아래의 그림입니다.

 

CACTUs 요약

그러면 세 단계를 더 자세히 살펴보겠습니다.

 

1. 비지도 학습에 의한 특징량 추출

서두에서도 언급한 바와 같이, 메타 학습에 바탕이 되는 모델을 만들기 위해서는 대량의 데이터가 필요합니다. 그래서 CACTUs는 먼저 비지도 학습을 통하여 이미지에서 특징량을 추출합니다. 실험 결과에서 언급하겠지만, 본 논문에서는 많이 사용되고 있는 세 가지 종류의 비지도 학습을 사용하여 이미지에서 특징량을 추출하고 있습니다.

 

2. 클러스터링에 의한 태스크의 자동 생성

1에서 얻어진 특징량을 k-means 하여 클러스터링을 수행합니다. 이때, 특징량의 스케일을 변화시켜 클러스터링 합니다. 스케일을 변화시켜 클러스터링 함으로써 다양한 클러스터를 만들 수 있습니다. 아래 그림은 생성된 클러스터의 예를 나타냅니다.

생성된 클러스터의 예

 

어느 스케일에서 생성된 클러스터 군 i를 Pi로 표현하고 그 클러스터 그룹에서 여러 클러스터를 선택합니다. 예를 들어, 5 클래스로 분류할 작업을 생성하고자 한다면, 클러스터 군에서 5개의 클러스터를 랜덤으로 선택하고 각 클러스터를 훈련과 테스트 용으로 나눕니다. 위의 단계를 무작위로 선택한 클러스터 군 Pi에서 실행하고 다양한 태스크를 생성합니다.

 

 

3. 생성된 태스크를 이용한 메타 학습

2에서 생성된 태스크를 이용하여 메타 학습을 실시합니다. 본 논문에서는 두 가지 유형의 메타 학습법을 이용하여 실험을 실시하고 있습니다.

 

• MAML

대표적인 메타 학습법 중 하나입니다. 소량의 경사 갱신을 통하여 새로운 태스크에 적응하기 좋은 초기값을 찾는 방법입니다.

 

• ProtoNet

이쪽도 대표적인 메타 학습법 중 하나입니다. 지도 학습 데이터의 클래스마다의 프로토타입(대표점)과 조회 데이터의 차이를 줄이는 네트웤 학습을 합니다. 아주 간단한 방법이면서 Few-shot leaning(소량의 데이터로 하는 학습)에서 정밀한 결과를 냅니다.

 

실험

여기에서 CACTUs의 성능을 조사하는 실험을 소개합니다.

 

사용 데이터 세트

평가에 사용하는 데이터로 다음의 세 가지 데이터 세트를 사용하고 있습니다.

 

• miniImageNet

100 클래스의 이미지 분류 데이터 세트로, 각 클래스는 600장의 이미지로 구성되어 있습니다. 64 클래스는 메타 학습의 훈련용으로, 16 클래스는 검증용, 나머지 20 클래스는 테스트 용으로 사용합니다.

 

• Omniglot

1,623 종류의 문자로, 각 문자는 20 샘플로 구성되어 있습니다. 이것은 1100, 100, 423으로 각각 훈련용, 검증용 테스트용으로 분할하여 사용합니다.

 

• CelebA

연예인의 얼굴 사진이 수집된 데이터 세트입니다. 하나하나의 이미지는 40가지 특성(남자 or 여자 등)이 부여되어 있습니다. 이러한 특성은 yes, no가 부여되며, 본 논문에서는 두 클래스의 분류에 사용하고 있습니다. 이것은  20종류의 훈련용, 10종류의 검증용, 10종류의 테스트용으로 분할하여 사용합니다.

 

비지도 학습 방법

사진에서 특징량을 추출하기 위해 본 논문에서는 다음의 3가지 비지도 학습 방법을 사용하고 있습니다. 여기에서는 각각에 대해 간략히 소개합니다.

 

• BiGAN

일반적인 GAN에서 생성기는 특징량으로부터 이미지 등을 생성하지만 BiGAN은 이미지에서 특징량을 생성하는 역변환도 추가 학습합니다. 이를 이용하여 특징량을 추출합니다.

 

• ACAI

Auto encorder를 이용하여 특징량을 추출하는 방법입니다. Auto encorder는 두 데이터의 특징량을 보관하는 기능(예를 들어, 숫자 2와 9의 중간적인 이미지를 복원할 수 있는 기능)이 있는 것으로 보고되고 있습니다. 기존의 방식보다 원활하게 데이터 사이를 보간할 수 있도록 제약을 가한 Auto encorder가 ACAI입니다.

 

• DeepCluster

지도 학습 없이 이미지를 입력하는 CNN을 준비하고 특징량을 추출합니다. 추출된 특징량을 클러스터링 하고 의사 라벨을 붙이고 그것을 바탕으로 CNN을 학습하는 방법입니다. 이 단계를 반복하여 좋은 특징량을 추출하는 CNN을 학습할 수 있습니다.

 

실험 설정

비지도 학습에서 얻어진 특징량을 이용하여 Few-shot learning을 합니다. M-way K-shot이라는 표현은 M 클래스의 학습에 K 개의 이미지를 사용하는 것을 나타냅니다. 또한 메타 학습은 N-way 및 1-shot에서만 학습을 실시합니다.

 

한편, 이번에 사용하는 데이터 세트에는 라벨이 부여되어 있지만, 훈련용으로 분할된 데이터는 라벨 정보 없이 학습을 실시합니다. 그 후의 평가는 라벨이 부여된 테스트용 데이터 세트로 수행합니다.

 

실험 결과

Omniglot에서의 실험 결과를 나타낸 그림이 아래의 그림입니다. 클러스터의 수는 k = 500, 클러스터 군의 수 P = 100으로 실험을 실시하고 있습니다.

 

Omniglot에서의 실험 결과

 

다음 miniImageNet 및 CelebA에서의 실험 결과를 나타낸 그림이 아래 그림입니다. 클러스터의 수는 k = 500, 클러스터 군의 수 P = 50에서 실험을 실시하고 있습니다.

 

miniImageNet과 CelebA에서의 실험 결과

 

그림에서 알 수 있듯이, 비교 기법에 비해 CACTUs를 사용한 메타 학습 기법은 다른 기법들을 압도한 결과가 나왔습니다. 이것은 테스트 데이터와 훈련용 데이터의 분포는 다르기 때문에 좋은 특징량을 비지도 학습만으로 얻을 수 없다는 것을 보여줍니다.

 

또한 기본적으로 ProtoNet보다 MAML이 더 나은 성능을 내고 있습니다. 1-shot에서의 학습은 비슷한 성능이지만, 5, 20, 50으로 학습 데이터가 늘어나면서 MAML 쪽이 더 좋은 결과를 내고 있습니다. 이것은 ProtoNet(ours)는 메타 학습용 데이터 수와 테스트 데이터 수가 같을 때 좋은 결과를 낸다는 보고가 있고, 그 말대로 결과가 나오고 있습니다. 또한 Oracle은 '지도 학습'을 통한 메타 학습 결과를 나타냅니다.

 

MAML은 1-shot의 학습만으로도 비교 모델 중 가장 높은 정밀도의 결과를 내고 있습니다. 또한 어떤 비지도 학습 수법을 이용해도 CACTUs는 좋은 성적을 내고 있으며, 범용으로 사용할 수 있는 기술임을 알 수 있습니다.

 

정리

비지도 학습과 메타 학습을 결합한 CACTUs라는 기법을 소개했습니다. 심층학습을 실제로 응용하기 위해서는 메타 학습이라는 기술이 필요하며, 메타 학습에도 라벨이 부여된 대량의 데이터가 필요합니다.

 

라벨이 부여된 데이터를 대량으로 수집하는 것은 매우 어려운 작업이며, 메타 학습의 활성화를 가로막고 있습니다. CACTUs를 이용하면 라벨 정보가 없는 데이터에서도 작업을 자동으로 구성하고, 메타 학습을 할 수 있게 되었습니다. 또한 CACTUs는 일반적인 방법이며, 어떤 비지도 학습과도 결합이 가능합니다.

 

현실적으로 모든 데이터에 라벨을 붙이는 것은 매우 힘들지만 일부 데이터에 라벨을 붙이는 것은 많은 시간이 걸리지 않습니다. 반 지도 학습과 CACTUs를 결합한 기법을 통해 더욱 정밀도를 향상할 수 있다고 생각합니다. 그런 방법이 곧 등장하지 않을까, 개인적으로 기대하고 있습니다. 이 글을 계기로 메타 학습이라는 기술에 관심을 가져 주시면 감사하겠습니다.

반응형