[6주차] Introduction to Meta Learning

투빅스XAI 세미나·2021년 5월 26일
1

Meta-Learning

목록 보기
3/4
post-thumbnail

작성자 : 투빅스 13기 이재빈

Contents

  1. Introduction
  2. Meta-Learning & Few-shot Scenario
  3. Approaches

Summary : Learning to learn

1. Introduction

Limitations

기존 ML/DL 방법론에는 한계가 존재합니다.

  1. Large dataset (+Large model) 을 통해 학습을 진행해야만 좋은 성능이 보장됩니다.
  2. one task 에만 적용 가능합니다. (= 학습한 것만 수행할 수 있습니다.)
    ex. 개와 고양이 분류 학습 → 개와 고양이로만 구별 가능

Problem

  1. What if you don't have a large dataset ?
  2. What if you want a general-purpose AI system in the real world?
  3. What if your data has a long tail?

Meta Learning

적은 데이터만을 가지고도, 새로운 개념과 기술빠르게 학습하고자 합니다.

우리는 Braque 와 Cezanne 를 잘 알지 못해도, 몇 개의 그림만으로 그림 간의 유사성을 파악하여, 새로운 그림을 봤을 때 판단을 내릴 수 있습니다.
이처럼 사람은 기존의 경험을 기반으로, 몇 번의 학습만으로 구분하는 방법을 배워, 여러 개의 개념을 빠르게 학습할 수 있습니다.

Goal : Learning to learn 학습을 위한 학습
적은 데이터로도 일반화가 가능하도록 학습시키는 것이 목표입니다.

Like Human Brain!
적은 데이터를 통해, 이미 알고 있는 것 처럼,
기존의 경험 (experience) 을 기반으로 새로운 다양한 (+ 관련 있는!) Task 를 처리하고자 합니다.
ex. 개와 고양이를 보고 코끼리로 분류하기

Learning Algorithms

1. Supervised Learning

관측치마다 정답 label이 달려 있는 데이터셋을 이용하여 학습
ex. Regression, Classification, Neural Network, ...

train : task data 를 learning algorithm 으로 학습시켜, predictor 를 만들고,
test : 새로운 test data 를 predictor 를 통해 예측하여 prediction 값을 도출합니다.

2. Transfer Learning

높은 정확도를 비교적 짧은 시간 내에 달성하고자,
pre-trained 되어 있는 모델을 가져와서, 주어진 목적에 맞게 fine-tuning 시키는 것

pre-trained : 대규모 말뭉치 & 컴퓨팅 파워를 통해 만들어진 embedding 값을 가져옵니다. 해당 embedding 에는 말뭉치의 의미적, 문법적 맥락이 모두 포함되어 있습니다.
fine-tuning : 이후 embedding을 입력으로 하는 새로운 딥러닝 모델을 만듭니다. 우리가 풀고 싶은 구체적인 task와, 가지고 있는 소규모 데이터에 맞추어, embedding을 포함한 모델 전체를 update 합니다.

3. Meta Learning

4. Auto ML

머신러닝 모델 개발 시간이 많이 걸리는 반복적인 작업을 자동화 하는 프로세스
[Data Prep → Feature Engineering → Modeling → HyperParameter Tuning]

etc.

🎞 Facebook Research - Learning to learn: An Introduction to Meta Learning
1. Transfer Learning / 2. Multi-task Learning / 3. Semi-supervised Learning

  1. Multi-task Learning
    서로 연관 있는 과제들을 동시에 학습


  2. Semi-supervised Learning
    label 이 달려있는 데이터와 label 이 달려있지 않은 데이터를 동시에 학습

위의 세 개의 Learning Algorithm 과 Meta-Learning 은,

  1. 현재 task 와 어느 정도 연관 있는 데이터를 추가적으로 학습하여, 현재 task 의 성능 향상에 도움이 되는 모델을 만든다는 데에서 공통점이 있습니다.
  2. 그렇지만 Meta-Learning 은, training tasks 를 통해 학습하여 new task 를 풀어 냄으로써, new task 에 adaptation 하는 것을 목표로 한다는 점에서 차이점이 있습니다.

Meta Learning tasks

  • 고양이가 없는 이미지를 학습시킨 classifier 도 몇 개의 고양이 사진을 본 이후에는 test image 상에 고양이가 있는지 확인할 수 있습니다.
  • 평평한 지면 환경에서만 학습해온 미니 로봇이 경사진 환경에서도 task 를 수행할 수 있습니다.

2. Meta-Learning & Few-shot Scenario

Parameters

Supervised Learning 에서는,
input xx 를 통해 output yy 를 가장 잘 설명해 주는 함수 ff 를 찾는 것을 목표로 하며,
학습 Dataset D\mathcal D 가 주어졌을 때 이에 최적화 된 weight θ\theta 를 찾는 것을 목표로 합니다.

Meta Learning 에서는,
Ditrain\mathcal D^{train}_iθ\theta 를 함께 이용하여, ϕi\phi_i 를 찾아 감으로써 new task 에 빠르게 적용하고자 합니다.

Few-shot Learning

Definition

  1. N-way, K-shot
    • N : class 수, K : example 수
  2. Support set : 새로운 class 에 대한 Train Dataset
  3. Query set : 새로운 class 에 대한 Test Dataset

  1. Episode Training : N class, K example 단위를 만들어서 학습
    Few-shot Learning 에서는, Episode Training 방식으로 Meta Learning 을 시도합니다.

    Episode Traning 에서는 각 Task 를 구성하는 범주가 완전히 달라지게끔 데이터가 구성됩니다.
    대용량 Train 데이터로부터 N-way K-shot Training Set 을 여러 개 sampling 합니다. 모델은 다양한 범주로부터 훈련된 Task 를 통해 최적의 성능을 낼 수 있도록 Training 됩니다. Training 을 마치게 되면, novel data 로 구성된 Task 로 Test 를 진행합니다.

    PROCESS

    1. Task Sampling : ELLE_{L \in \mathcal L}
    → 모든 class 중 학습시킬 N 개를 sampling 합니다.
    2. Support Set Sampling : ESLDE_{S^L \in \mathcal D}
    → example k 개를 sampling 합니다.
    3. Query Set Sampling : EBLDE_{B^L \in \mathcal D}
    → Support Set 에서 sampling 되지 않은 example 중에서, sampling 합니다.
    4. Query Set 의 class를 가장 잘 맞추는 parameter θ\theta 를 학습합니다.

3. Approaches

Meta-Learning 의 범위는 매우 다양합니다.
📑 Meta-Learning in Neural Networks: A Survey (2020, T Hospedales)

Meta-Learning 에는 크게 세 가지의 접근 방식이 존재합니다.
🗣 Meta-Learning Symposium Talk (NIPS 2018, Oriol Vinyals)

Metric-based

✔︎ Learning the Metric Space

  1. Dtr\mathcal D^{tr} 을 이용하여, 저차원으로 embedding 시키는 fθf_{\theta} 를 학습합니다.
  2. 새로운 데이터 D\mathcal D 가 들어오면, embedding 공간에서의 거리를 이용하여 가장 가까운 class 로 할당합니다.

Model-based

Train Neural Networks trying to Ingest Datasets
모델의 내부나 외부에 기억장치(memory)를 별도로 둠으로써, 모델 학습속도를 조절할 수 있게끔 합니다.

Optimization-based

✔︎ Learning the Initializations

  1. Dtr\mathcal D^{tr} 를 이용하여 효율적인 update 방법 θ\theta 을 구하고
  2. 새로운 데이터 D\mathcal Dθ\theta 를 이용하여, 새로운 Task 의 ϕ\phi 를 빠르게 학습 (adaptation) 합니다.


Reference

Lecture

  1. AAAI 2021 Meta Learning : Introduction
  2. Stanford CS330 : Course introduction

Seminar

  1. DMQA Seminar : Metric-based approaches to meta-learning
  2. KAIST NeuroAI JC_#1 Meta Learning
  3. 2020 투빅스 생성모델 세미나 : Few-shot Learning Survey

Posts

  1. Meta-Learning: Learning to Learn Fast (2018. Lilian Weng)
  2. 생각많은 소심남님 Post : [DL] Meta-Learning: Learning to Learn Fast
  3. rhcsky님 Post : Meta Learning
  4. kakaobrain : 퓨샷 러닝(few-shot learning) 연구 동향을 소개합니다.
profile
투빅스 XAI 세미나

1개의 댓글

comment-user-thumbnail
2024년 3월 4일

Joining Blooket has been a game-changer for my virtual classrooms! The ease of Blooket Join and interactive features make learning so much more enjoyable for my students. I'm curious if there are any specific tips you have for maximizing the collaborative aspect of Blooket Join. Would love to hear your thoughts!

답글 달기