벌써 2024년 2학기도 마지막을 바라보고 있다.
이번 학기를 마무리 하며 수강한 메타러닝 수업의 내용을 정리해 보려 한다(기말고사도 준비할겸..).
정말 정말 핵심만을 기록하고 내가 이해한 바를 정리해 보려 한다.
메타러닝(Meta-Learning)이란?
메타러닝은 일반적으로 "Learning to Learn" 이라는 말로 표현되며, 모델이 새로운 과제나 환경에 더 빠르고 효율적으로 적응할 수 있도록 돕는 기술이다.
일반적으로 딥러닝에서 사용하는 학습이 Data를 기반으로 학습을 진행한다면, 메타러닝에서는 Task를 기반으로 학습을 진행한다.
<Transfer Learning> vs <Meta-Learning>
Transfer Learning은 특정 Task에서 학습된 모델을 다른 Task에 적용하는 방법이지만, Meta-Learning은 몇가지 Task들을 학습하여 알지 못하는 다른 Task에 잘 적응하도록 한다. Meta-Learning은 새로운 Task를 빠르게 학습할 수 있도록 준비를 하는 과정이라고 생각하면 편하다(조금 더 딥하게 이야기하면 다른 Task를 잘 학습할 수 있는 알고리즘을 만드는 과정이라고 볼 수 있다).
일반적인 Multi-Task Learning과도 차이가 있는데, Multi-task learning에서는 여러 Task에 존재하는 데이터를 혼합하여 Train/Test Split을 한다면(같은 Task에 대한 데이터가 Train, Test에 모두 존재) Meta Learning은 몇가지 Task 자체를 모두 학습에 사용하고 아예 다른 Task가 테스트(Target Domain)로 사용된다.
Episodic Training
메타러닝에서는 주로 Episodic Training 기법을 활용하는데, 이는 학습 과정을 Episode라는 단위로 나누어 진행하는 방식이다. 각 Episode는 학습-평가 과정으로 이루어져 있으며, 이를 통해 적은 데이터로도 효과적으로 학습할 수 있게 만든다(ex. Few-shot learning).
학습 과정은 Inner-loop와 Outer-loop로 이루어져 있는데, Inner-loop에서는 각 에피소드 안에서 모델을 학습시키는 과정이고 Outer-loop는 Inner-loop에서 학습된 결과를 바탕으로 전체 메타 모델을 업데이트하는 과정을 말한다. Inner-loop에서는 빠르게 업데이트 되는 Fast Weight를 사용하며, Outer-loop에서는 모델이 오랜시간에 걸쳐 학습하는 Slow Weight를 사용한다(Test 과정에서는 Inner-loop만 사용).
Meta-Learning Methods
메타러닝의 방법론은 크게 3가지로 나눌 수 있다. 앞으로는 이 방법들이 각자 어떤 특징을 가지고 있는지 알아보도록 하자.
1. Model-based
- learning with external memory
- learning with RNNs
- learning with Hypernetworks
ex. MANN
2. Metric-based
- nearest neighbors algorithms
- kernel density estimation
3. Optimization-based
- learning parameter initialization
- learning update rules
ex. MAML
본 개념 정리 글은 제가 수업을 듣고 이해한 내용과 인터넷 검색을 통해 찾은 정보를 바탕으로 작성되었습니다. 잘못된 개념이 있다면 언제든 알려주시면 감사하겠습니다.
'AI & CS 지식 > 메타러닝' 카테고리의 다른 글
[메타러닝] 4. Bayesian Meta-Learning (0) | 2024.12.16 |
---|---|
[메타러닝] 3. Meta Reinforcement Learning (1) | 2024.12.16 |
[메타러닝] 2. Meta-Learning Methods (2) | 2024.12.13 |
댓글