본문 바로가기
  • 책상 밖 세상을 경험할 수 있는 Playground를 제공하고, 수동적 학습에서 창조의 삶으로의 전환을 위한 새로운 라이프 스타일을 제시합니다.
Miscellaneous

[2024-1] 염제원 - Meta-Learning in Neural Networks: A Survey

by Scuttie 2024. 4. 12.

https://arxiv.org/abs/2004.05439

 

Meta-Learning in Neural Networks: A Survey

The field of meta-learning, or learning-to-learn, has seen a dramatic rise in interest in recent years. Contrary to conventional approaches to AI where tasks are solved from scratch using a fixed learning algorithm, meta-learning aims to improve the learni

arxiv.org

 

Abstract

  • 최근 "Learning-to-Learn"으로 표방되는 "Meta-Learning"의 연구 분야가 각광 박고 있음.
  • 고정된 learning algorithm으로 학습하는 기존의 AI 접근방식과 달리, meta-learning은 learning algorithm 자체를 개선하는 데에 목적을 두고 있음.
  • 이 방식은 기존 딥러닝의 많은 문제를 해결할 수 있는 가능성을 제공했음.
  • 이 Survey에서는 먼저 Meta-Learning이 무엇인지, 그리고 이들이 관련 분야와 어떤 위치에 있는지를 소개하고, Meta-Learning 방법론을 분류할 때 쓰일 수 있는 새로운 Taxonomy를 제시함. 또한, Meta-Learning의 Application에 대해 소개하고, 마지막으로 향후 연구에서의 도전과제에 대해서도 논의하고 있음.

Introduction

  1. 딥러닝의 성공과 한계점
    • 딥러닝은 머신러닝의 문제를 해결하고 특정 task를 해결하는 데에 있어서 큰 성공을 거뒀음.
    • 하지만, 성공은 대부분 많은 데이터를 수집하고 시뮬레이션할 수 있는 환경에서만 적용되었으며, 계산 비용도 높았음.
    • 데이터가 적거나 비싸거나, 컴퓨팅 리소스가 없는 환경에서는 한계를 가졌음.
  2. 메타러닝의 소개
    • 메타러닝은 machine learning model이 (보통 서로 관련된) task들에 대해서 다수의 learning episode를 거친 뒤에 향후의 learning performace를 개선하는 패러다임을 제시함.
    • 이 학습하는 것을 학습하는 방식은, 데이터와 계산 효율성의 제고에도 이점이 있을 수 있으며, 실제 사람과 동물의 학습하는 방식과 유사함.

Background

  1. Formalizing Meta-Learning: Task-Distribution View
    • Conventional Machine Learning은 "How to Learn"을 대변하는 파라미터 w가 prespecified 되어있다고 가정함. 이들은 fixed task 및 fixed how to learn인 상황에서 Loss를 최소화 하는 theta를 선정하는 것이라고 볼 수 있음. 
    • Meta-Learning은 task들에 대해서 genearlize를 하는 것이 목표임. "How to Learn"을 대변하는 파라미터 w는 task의 분포 p(T)에 의해서 평가될 수 있을 것임. Task는 Dataset D와 loss function L에 대해 T={D,L}로 정의될 수 있음. 그렇다면, "Learning how to learn"은 다음과 같이 정의될 수 있음.
    • Meta-Training 과정에서 사용되는 Task Dataset은 Source Task라고 부름. Source Task는 또 내부적으로 Train Set과 Validation Set으로 나눌 수 있는데, Train Set은 Support Set, Validation Set은 Query Set이라고도 불림. 그렇다면, Meta-training 과정은 다음과 같이 정의될 수 있음. 즉, Source Task에 대해서 log-likelihood를 maximize하는 w (how to learn)를 선택하는 것임.
    • Meta-Testing 과정에서 사용되는 Task Dataset은 Target Task라고 부름. Target Task도 내부적으로 Train Set과 Test Set으로 나눌 수 있음. Meta-Testing 과정에서는 meta-knowledge w*를 가지고 지금까지 보지못했던 unseen task를 평가하는 것임. 즉, i번째 Target Task에 대해서는 theta를 선정할 때 다음과 같이 선정함.
    • Meta-Overfitting: Source Task에서 학습한 "How to Learn"이 Target Task에서 Generalize가 되지 않는 경우. 보통 Source Task가 충분치 않은 경우에 자주 발생함. 
  2. Meta-Learning: Bilevel Optimization View
    • 이전의 논의는 Meta-Learning을 Multiple Task 시나리오에서 효과적으로 정의했지만, 실제적으로 meta-training step을 어떻게 풀 것인지에 대해서는 언급하지 않았음.
    • 보통 meta-training step은 bilevel optimization problem (optimization of optimized value)로 정의됨. optimizer-based methods에 한정된 내용이지만, Meta-Learning의 학습 과정에 대해 이해하기 효과적임.
    • Meta-training은 보통 다음과 같이 정의됨. 즉, Source Task에서 각 i번째 task에 대한 task-specific error L(task)가 최소인 theta를 w에 대해 구하고, 각 task에 정의된 how-to-learn에 관한 error L(meta)가 최소가 되도록 하는 w를 각 task에서 최적화된 theta에 대해 평가해서 구한다는 것. 이때, L(meta)는 outer objective라고 부르고, L(task)는 inner objective라고 불림.
    • Inner level에서는 how-to-learn w에 관여하지 못하지만, w가 영향을 미치고 있으며, outer level에서는 이들의 meta loss가 최소가 되도록 how-to-learn 자체를 학습하는 것임.
    • how-to-learn w는 다양한 것일 수 있음. 예를 들어, non-convex optimization에서의 initial condition이라던지, hyperparameter일 수도 있고, L(task) 자체를 optimize하는 L(task)의 parametrization일 수도 있음.
    • Meta-Training step에서 theta의 optimization은 Source Task의 Train Set에서 이뤄지며, how-to-learn w의 optimization은 각 source task에 최적화된 theta들에 대해 Source Task의 Validation Set에서 이뤄짐.
    • 지금까지는 Task-Distribution을 산정했지만, Single Task에 대해서도 메타러닝이 가능함. 여기에서는 Source Task를 Target Task의 Training Data로 선정함.
  3. Meta-Learning: Feed-Forward Model View
    • Bilevel Optimization View와 달리, Feed-Forward manner로 정의하는 경우도 있음. 여기에서는 Linear Regression을 Meta-Training하는 상황을 가정하고 설명함. g_w는 "how to learn" parameter를 갖고 train set을 linear regression weight vector로 임베딩하는 함수로 볼 수 있음. Task Distribution p(T)에서 추출된 Task들에 대한 train set 및 validation set에 대해 validation set으로 평가한 SSE의 기댓값을 최소화하는 "how to learn" 파라미터 w를 추출하는 것으로 바라볼 수 있음.
    • 모델 성능은 g의 복잡도와 support set의 임베딩 전략에 따라 달라질 수 있음.
    • 여기에서는, bilevel optimization과 달리 새로운 task를 학습하는 데에 필요한 비용이 감소한다고 볼 수 있음.
  4. Related Fields
    • Transfer Learning은 source task에서 학습한 정보를 갖고 target task에 대한 학습 성능 (속도, 데이터 효율, 정확도 등)을 개선하려는 것이 목적임. 반면, 메타러닝은 Transfer Learning 자체를 개선할 수도 있음. Transfer Learning은 Meta-Objective가 존재하지 않지만, 메타러닝에서는 존재하고, 이것은 새로운 task를 학습하는 능력을 평가하는 데 쓰일 수도 있음. 또한, 메타러닝은 단순히 model parameter만 다루는 것이 아닌 방대한 meta-representation을 다룸.
    • Domain Adaptation and Domain Generalization은 Source와 Target Problem이 같은 목적을 가지지만 Source task와 Target Task의 분포가 다를 때인 Domain Shift 문제를 다룸. DA는 Transfer Learning의 변형으로써, source-trained model을 target data의 sparse하거나 unlabeled data로 적응하려는 방법론임. DG는 source model은 Domain-Shift에 강건하게 만드는 것이 목적임. 하지만, DA와 DG도 보통은 Meta-Objective를 쓰지 않음. 반면, DA와 DG 자체를 메타러닝할 수 있음.
    • Continual Learning은 Lifelong Learning이라고도 불리며, 일정하지 않은 task의 sequence에 대해 학습하고자 하는 연구 분야임. 이때, 새롭게 배우는 task는 더 빠르게 배우면서 이전에 학습했던 task는 잊지 않는 것이 목표임. Meta-Learning과 유사하게 task distribution이 고려되지만, 여기에서도 meta-objective라는 것이 고려되지 않음. 반면, CL을 해결하기 위해 메타러닝 방법론이 적용될 수 있으며, Continual Learning Performance를 측정하는 Meta-Objective도 고안되고 있음.
    • Multi-Task Learning은 서로 연관된 task들이 공유하고 있는 representation을 학습하여 다양한 task를 학습하는 방법론임. 전통적인 MTL은 meta-objective가 없이 single-level optimization임. 또한, MTL의 목표는 내가 알고 있는 task들을 학습하는 것이 목적이지만, meta-learning은 내가 보지 못한 task를 학습하는 것이 목적임. MTL도 메타러닝할 수 있음. 예를 들어 task의 유사도를 학습하거나 multiple task에 우선순위를 어떻게 두는 지를 학습하는 방식으로 할 수 있음.
    • Hyperparameter Optimization은 Meta-Learning의 범주에 있음. 단, random search나 Bayesian HO와 같은 것은 Meta-Learning의 범주에 두지 않음.
    • Hierarchical Bayesian Models는 prior p(theta|w)에서 theta에 대한 Bayesian Learning이 포함됨. 이들은 다양한 group의 data를 다루며, Meta-Learning을 이해하는 하나의 방법론으로 여겨짐.
    • AutoML은 수동적으로 여겨지는 Data Preparation, Algorithm Selection, Hyper-Parameter Tuning, 그리고 Architecture Search들을 자동화하려는 것에 있음. AutoML은 메타러닝과는 거리가 먼 휴리스틱에 의존하는 경향이 있음. 하지만, AutoML 중에 meta-objective를 활용하여 end-to-end optimization을 하려는 것도 있음.

Taxonomy

  1. Previous Taxonomies
    • Optimization-Based Methods: Meta-Knowledge w에 대한 Optimization 문제를 푸는 방식으로 모델이 구성됨. 가장 대표적인 예시가 MAML임. inner loop 뿐만 아니라 outer loop에 대한 최적화도 해야하기에 계산 비용에 대한 문제가 계속해서 제기되어 오고 있었음.
    • Black Box / Model-Based Methods: inner learning step 전체가 단일 모델의 feed-forward pass로 구성되어 있는 방법론임. (Feed-Forward Model View 참조) 모델은 데이터셋을 activation state로 임베딩하며, test data에 대한 예측치는 이 state를 기준으로 평가됨. RNN, CNN, 또는 hyper-network 등의 구조를 통해서 임베딩하는 시도가 있음. MANN과 같은 구조가 이와 같은 방법론이라고 볼 수 있음. 이들은 Second-Order Gradients를 구하지 않아도 되서 계산이 비교적 간단하지만, Out-Of-Distribution Task에 generalize하는 데에 어려움을 겪는 것으로 보임. 
    • Metric-Learning: 모수 (parameter)를 사용하지 않는 알고리즘임. 아이디어는 validation points와 training points를 비교하여 예측하는 방법임. siamese, mathcing, prototypical, relation, 그리고 graph neural network가 이것의 예시라고 볼 수 있음. 여기서는 outer-level learning 자체가 metric learning임. Feature extractor w 자체가 how-to-learn에 대한 parameter라고 볼 수 있음. w는 source task에서 학습되어 target task에 쓰임.
    • 이러한 분류체계는 현재의 방대한 meta-learning framework를 조명하는 데에 있어서 한계점을 띠고 있음.
  2. Proposed Taxonomy
    • Meta-Representation ("What?"): meta-knowledge w를 뭐로 정할 것이냐 하는 것임. w는 "how-to-learn"을 표상하면 되는 것이며, 이것은 초기 모델 파라미터 값에서 부터 program induction 과정에서 생성되는 코드일 수도 있음.
    • Meta-Optimizer ("How?"): meta-training 과정에서 사용하는 outer-level optimizer를 말함. w를 outer-level에서 optimize하기 위해서는 gradient-descent나 강화학습, 혹은 evolutionary search 과정이 개입될 수 있음.
    • Meta-Objective ("Why?"): meta-learning의 목표를 말함. 이것은 Meta-Loss L(Meta)나 선택되는 Task 분포 p(T), 그리고 outer-level과 inner-level 간의 data flow를 모두 포함함. 이들을 모두 포괄하면 각각 다른 분야로 파생될 수 있으며, 예를 들어 few-shot learning, fast many-shot optimization, domain-shift에 대한 robustness, label noise, 그리고 adversarial attack 등이 해당할 수 있음.
    • 이 세 가지 축을 통해서 meta-learning method를 개발하는 데에 도움이 될 수 있음. 이때, inner-level optimization에서 최적화되는 base model representation theta는 이 taxonomy에 포함되지 않았는데, 그 이유는 application 별로 사람에 의해 결정되기 때문임.

Survey: Methodologies

  1. Meta-Representation
    • Parameter Initialization: 여기서 w는 inner optimization에서 영향을 주는 neural network의 초기 파라미터라고 볼 수 있음. MAML이 가장 대표적인 예시임. 좋은 initialization이라 함은, task 분포 p(T)에서 추출된 어떤 task T에서든지 적은 gradient step만으로도 solution 근처에 갈 수 있어야 함. 이러한 방식의 가장 큰 도전과제는 outer optimization에서 inner optimization에서 만큼 많은 파라미터를 요구한다는 점임. 이것을 해결하기 위해서 meta-learn 하는 parameter의 범주를 한정 짓는 방식이 연구되고 있음. 또 다른 도전 과제는 과연 단 하나의 initial condition이 여러 가능한 task 들에 빠르게 적응하기에 적합한지임. 이것을 해결 하기 위해 다양한 initial condition의 조합을 고려하려는 연구들이 진행되고 있음.
    • Optimizer: 위에서 소개되었던 방법론들은 대체로 momentum이나 Adam optimizer에 의존하고 있음. Optimizer-Centric Method는 inner optimizer 자체를 학습하려고 하는 방법론임. 이들은 단순히 fixed step size를 학습하는 것부터 시작해서 pre-conditioning matrix 자체를 학습하는 것까지 뻗어있음. 궁극적으로 w는 input gradient와 다른 metada에서 학습된 복잡한 gradient-based 비선형 변환으로써 정의될 수도 있음. 여기서 학습되는 parameter들은 만일 optimizer가 weight에 대해 coordinate-wise로 적용된다면 적을 수 있음. Initialization-Centric Method와 Optimizer-Centric Method들은 방법론적으로 합쳐질 수 있으며, 학습될 Optimizer에 대한 Initial Condition을 학습하는 방식으로 설명될 수 있음. 또한, 아예 0th order optimizer (L(task)에 대한 평가)를 학습하는 방식으로 meta-learn할 수 있음. 이 경우 Gradient 계산이 아예 요구되지 않으며, 전통적인 베이지안 Optimization 기법들과 비교해서 괜찮은 성능을 내고 있는 것으로 말할 수 있음.
    • Feed-Forward Models (FFMs. aka, Black-Box, Amortized): Support Set에서 바로 학습되는 Feed-Forward Mapping을 학습함. 이들은 Gradient-Based Approach로 반복적인 Optimization을 하는 것이 아님. CNAPs 등이 해당하고, corss-domain few-shot benchmarks에서 월등한 성적을 내기도 했음. 이러한 방법론은 특정 임베딩에 conditioned된 neural network의 weight를 생성하는 Hypernetwork와 관련이 있음. Support Set을 임베딩하는 방식에는 RNN, CNN, 또는 Set Embedding이 있음. 이들은 Task들에서 공통적으로 공유되는 parameter를 찾거나, w 학습에 사용되는 파라미터의 수를 한정 짓는 방식으로 연구되고 있음. MANN과 같은 방법론이 이것을 Meta-Representation한 대표적인 방법론으로 설명되고 있음.
    • Embedding Functions (Metric Learning): Query Set과 Suport Set의 유사도를 측정하는 방식으로 meta-learn을 하는 것임. 전통적인 분류로는 Metring Learning에 해당하나, Feed-Forward Model의 special case로 볼 수도 있음. 여기에서는 Embedding으로 weight를 generate하는 반면, Hypernetwork 방법론에서는 아예 linear classifier를 생성하기 때문임. task embedding을 생성하거나, comparison metric을 개선하는 등의 방식으로 연구가 되고 있음. 
    • Losses and Auxiliary Tasks: inner task-loss 자체를 meta-learn하는 방법론. 보통은 input으로 loss와 관련한 값들을 받고, output으로 loss (스칼라)를 내뱉는 함수 (small neural network)를 학습하는 것으로 됨. 이 방법론을 통해 학습된 loss는 더 빠른 학습으로 이끌거나, generalization 능력을 향상 시키거나, domain shift에 robust할 수 있음. 이러한 방법론은 unlabeled data에 대한 learn to learn (일반적으로 loss는 label이 필요하므로)에도 쓰이고 있으며, AUC와 같은 미분불가능한 task-loss에 대한 미분가능한 근사치를 구하는 데에도 쓰일 수 있음. Self-supervised Learning이나 auxiliary task learning의 generalization에서도 도움이 되고 있음. auxiliary task는 main task를 수월히 수행하기 위해 보조적인 역할을 하는 task (예를 들어, Vision-Task에서 Image Dataset을 recolorizing하는 등)를 말함. 이때 best auxiliary task를 선정하는 것은 어려울 수 있으므로 이것에 대한 loss를 meta-learn 하는 방식으로, 가장 좋은 auxiliary task를 선정하는 것으로도 이어질 수 있음. 더 일반적으로는, auxiliary task generator (example들에 보조적 label을 달아주는 것) 자체를 meta-learn할 수도 있음.
    • Architectures: Meta-Learning은 Architecture Search (특히 Neural Network)에 도움이 될 수 있음. 이것을 하기 위해 RL이나 유전알고리즘 등을 도입하는 경우가 있었음. DARTS와 같은 Gradient-Based Approach도 최근에 등장하였음.
    • Modules: Modular Meta-Learning은 task-agnostic knowledge w는 module이고, 이것은 각 task에 대해서 task-specific하게 재정립된다는 가정을 함. 
    • Hyper-parameters: base learner의 hyperparameter를 meta-learn하는 것임. 
    • Data Augmentation: Data Augmentation 전략 자체를 meta-learn하는 것임. 이들은 보통 미분불가능하며, 따라서 RL이나 discrete gradient-estimator, 혹은 유전 알고리즘 등이 활용될 수 있음. Open Question은 GAN-based Data Augmentation Method 자체가 Inner-level learning에 사용되어서, outer-level learning에 의해 최적화 될 수 있는가임.
    • Minibatch Selection, Sample Weights, and Curriculum Learning: base algorithm이 minibatch-based SGD라면, minibatch selection process도 meta-learn해볼 수 있을 것임. minibatch selection에서는 noisy sample을 덜 고르거나, outlier을 덜 고르거나, class imbalance를 조정하는 방식으로 학습을 유도할 수 있음. Curriculum Learning은 random order로 학습한 것보다 특정 sequence로 data를 학습했을 때 더 좋은 성능을 낼 것이라는 가정임. Curriculum Learning에서 학습되는 sequence 자체를 meta-learn할 수 있음. 
    • Datasets, Labels and Environments: Support Dataset 자체를 meta-learn하는 것임. Image Classification 분야에서는 support image 자체가 meta-learned되어서 real query-image에 대한 generalizaiton을 촉진하게 하는 것이 목표임. 이것은 support image dataset을 적은 image로 효과적인 representation을 할 수 있게해 continual learning 등의 세팅에서 효과적으로 사용될 수 있음. 또한, 이런 방법론은 Sim2Real (Simulation Data로 학습한 모델이 Real World에서도 효과적으로 학습하려고 하는 것)에서도 효과적으로 쓰일 수 있음.
  2. Meta-Optimizer
    • Gradient: 가장 일반적인 approach임. 다만, (1) 미분에 따른 계산 비용의 처리, (2) gradient degradation problem에 대한 대응 방안, (3) base learner나, w, 혹은 L(task)가 미분 불가능한 경우에의 미분 계산 등의 상황에서 도전 과제가 남아 있음.
    • Reinforcement Learning: base-learner 자체가 미분불가능한 step을 포함할 경우, 혹은 L(meta) 자체가 미분 불가능할 경우, RL을 종종 활용함. Policy Gradient Theorem을 활용하여 L(meta)의 w에 대한 gradient를 추정한다고 볼 수 있음. 하지만, 이런 방식으로 우회하는 것은 매우 비용이 클 수 있음.
    • Evolution: 이들의 장점으로는, (1) 미분 불가능하더라도 최적화가 가능한 점, (2) Back-Propagation에 의존하지 않는 다는 점에서 gradient degradation issue를 막을 수 있으며, higher order gradient computation 문제도 해결이 가능한 점, (3) scalable하다는 점, (4) Local minima 문제에 좀 더 유연하다는 점이 있음. 하지만, 단점으로는 (1) 학습 파라미터가 증가함에 따라서 population size가 매우 빠르게 증가한다는 점, (2) mutation strategy 자체에 의존한다는 점, (3) fitting ability 자체가 gradient-base approach 보다 안 좋다는 점이 있음. 
  3. Meta-Objective and Episode Design
    • 대부분의 Approach에서는 Meta-Objective (Meta-Loss)를 Validation set에 적용되었던 Loss와 동일하게 가져가고, task model을 update한 뒤에 이것을 meta model을 차후에 학습하는 방식으로 되었지만, design option 자체에 다양한 방법론이 있을 수 있음.
    • Many vs Few-Shot Episode Design: Meta-Learn의 목적이 Few-Shot에서의 ability를 강화하는 것인지 아니면 Many-Shot에서의 ability를 강화하는 지에 따라서 inner loop learning episode 자체가 달라질 수 있음.
    • Fast Adaptation vs Asymptotic Performance: meta-loss를 만약 task들의 validation-loss의 총합으로 정의한다면, base-task에 대해서도 더 빠르게 학습하도록 유도할 수 있음.
    • Multi vs Single-Task: Meta-Learn의 목적이 다양한 Task에 효과적으로 학습하기 위함이라면 Task-Distribution p(T)에서 Task를 Sampling하는 방식으로 inner loop learning episode를 디자인할 수 있고, 만약 단일 Task에 효과적으로 학습하기 위함이라면 같은 task에서 data를 sampling하는 방식으로 디자인할 수도 있음.
    • Online vs Offline: Single base learning episode에서 meta-optimization을 online하게 하려는 시도가 있음. 이 때, base model theta와 learner w가 single episode에서 함께 성장함.

Applications

  1. Computer Vision and Graphics
    • Few-Shot Classification, Object Detection, Landmark Prediction, Few-Shot Object Segmentation, Image and Video Generation, Generative Models and Density Estimation 등에 활발하게 쓰이고 있음.
    • Few-Shot Learning Benchmarks: miniImageNet, Tiered-ImageNet, SlimageNet, Omniglot, 그리고 Meta-Dataset이 있음. 전통적인 ML과 달리 이들은 unseen instance에 대한 일반화가 아닌 unseen task에 대한 일반화를 목적으로 하므로 다른 benchmark가 필요함. 하지만, 이들의 p(T) 분포는 좁은 경우가 많으며, 실제 세계에서의 few-shot task를 반영하지 못하는 경우가 종종 있음. 또한, Meta-Learner들의 성능은 Domain-Shift가 일어날 때 급격하게 감소하는 것으로 알려져 있음. 이런 내용 때문에 Meta-Dataset이나 CVPR cross-domain few-shot challenge 등이 일어나고 있음. 
  2. Meta Reinforcement Learning and Robotics
    • 강화 학습은 일련의 action을 환경에서 수행한 뒤의 보상을 극대화하는 policy를 학습하고자 하는 연구 분야임. Meta-Learning은 다양한 분야에서 RL을 효과적으로 수행하는 데에 도움을 줄 수 있음.
    • RL에서는 initial condtion, hyperparameter, step direction, step size 등을 meta-learn할 수 있음. RL에서 주어지는 data distribution은 고정되어 있지 않고, agent의 action에 따라서 변화하므로 어렵다고 평가됨. Meta-Learning에서는 'learning how to explore'로, 탐색하는 방법에 대한 학습을 통해 agent의 효과적인 탐색에 도움을 줄 수 있음.
    • 보통 RL은 fast-learning 보다는 점진적인 performance를 개선하려는 데에 초점이 되어 있음. 이때 meta-objective는 full episode를 거친 이후의 agent의 net return으로 종종 평가됨. 
    • 문제가 복잡하므로 아예 loss (또는 reward) 자체를 학습하는 방법론에도 연구가 많이 되고 있음. 학습된 Loss는 기존 보다 더 잘 최적화가 됨. reward에 대한 메타 학습은 때로는 내적 동기에 대한 학습으로도 불리고 있음.
    • 기존 RL에서는 off-policy와 on-policy learning으로 나뉘는데, off-policy learning은 meta-RL으로 확장하기가 더 어려운 것으로 알려져 있음. 따라서, meta-RL 방법론들은 대부분 on-policy learning에 집중되어 있음. 하지만, off-policy learning에도 meta-RL을 적용하려는 시도가 있으며, 이들은 좋은 성능을 내고 있는 것으로 평가되고 있음.
    • Benchmark로는 다양한 video game들을 이용하려는 것이 많음. Real-world situation을 모사하려는 Benchmark들도 있음 (Meta-World, PHYRE 등)
  3. Environment Learning and Sim2Real
    • Sim2Real은 Simulation에서 모델을 학습한 뒤 real-world에서 generalize하는 것을 목표로 하고 있음. 
    • Meta-Learning에서는 inner-level optimization을 simulation에서 학습한 뒤, outer-level optimization을 real-world에서 평가하고자 하려함.
  4. Neural Architecture Search (NAS)
    • neural network의 구조를 최적화하려는 연구 분야임.
    • Meta-Learning에서는 inner-level optimizaiton을 주어진 architecture로 모델을 학습한 뒤, outer-level optimization을 architecture 자체를 학습하는 것으로 정의하고 있음.
    • NAS는 매우 어렵다고 평가되는데, 그 이유로 (1) inner loop를 평가하는 과정 자체가 오래 걸림 (neural network model을 학습해야 하므로), (2) search space 자체가 define하기 힘들고 optimize하기도 힘들기 때문. 따라서 이를 해결하기 위해 train set을 sampling 하는 방법, inner loop를 조기에 종료하는 방법, w와 theta를 한꺼번에 학습하는 online meta-learning 방법, RL/evolution 방법의 도입, search space를 한정하는 방법 등이 도입되고 있음.
    • Benchmark로는 보통 CIFAR-10을 씀.
  5. Bayesian Meta-Learning
    • parameter를 직접 최적화하지 않고, 베이지안 추론에 근거하여 meta-learn 하는 방법론.
    • Meta-Learning의 맥락에서 Bayesian Learning은 매우 다루기 어려우므로, stochastic variational inference나 sampling 등이 사용됨.
    • Bayesian Meta-Learning에서는 w에 대한 uncertainty measure를 제공하므로, 안전이 중요한 domain이나 RL, active learning 등에서 유용하게 사용될 수 있음.
    • Bayesian MAML, Probablistic MAML 등이 이것의 예시라고 볼 수 있음.
  6. Unsupervised Meta-Learning
    • Unsupervised Learning of a Supervised Learner: Supervised Learning Algorithm을 meta-training을 위한 방대한 양의 source task set 필요 없이 비지도 학습하려는 방법론.
    • Supervised Learning of a Unsupervised Learner: Unsupervised Learner 자체를 Meta-Train하려고 하는 방법론. 예를 들어 'learn how to cluster' 와 같은 것이 있을 수 있음. 혹은, Feed-Forward Model을 사용하여 적은 추론만으로 빠르게 cluster를 하려는 amortized clustering과 같은 것도 있음. 
  7. Continual, Online and Adaptive Learning
    • Continual Learning: seqeuence로 주어진 task들을 학습하는 능력을 말함. 새로운 task를 계속 학습하면서 이전에 학습한 내용을 잊어버리지 않는 것이 중요함. DNN은 초기에 배웠던 것을 금방 잊어버리는 경향을 띠며, 이것을 catastrophic forgetting이라고 부름. Meta-Learning에서는 Continual Learning에서 요구되는 것을 Meta-Objective로 설정할 수 있음. 예를 들어, Support Set을 새로운 task로, 그리고 Query Set을 지금까지 봤던 모든 task로 삼을 수 있음. 또, weight prior, gradient descent preconditing matrix, RNN learned optimizer, feature representation 등을 학습할 수도 있음. 
    • Online and Adaptive Learning: 새로운 task에 금방 적응하는 것에 더 초점을 둔 것이라고 볼 수 있음.
  8. Domain Adaptation and Domain Generalization
    • 이 분야에서도 Meta-Learning이 쓰일 수 있으며, regularizer, loss, noise augmentation 등을 meta-objective로 둘 수 있음.
  9. Hyper-parameter optimization
    • Distribution of task에 대해 optimization할 수 있고, single task에 대해 optimization할 수 있음.
    • 첫번째는 보통 few-shot application에 적합할 수 있음. Single Task 상황에서는 many-shot application에 적합할 수 있음. 
  10. Novel and Biologically Plausible Learners
    • Meta-Learning을 통해 w 자체를 function으로 정해서 새로운 learning rule을 발견할 수도 있음.
  11. Language and Speech
    •  English-to-SQL, Machine Translation, Cross-Accent Adaptation 등 분야에서 Meta-Learning이 활용되고 있음.
  12. Meta-learning for Social Good
    • Medical Image Classification, Drug Discovery 등 data가 부족한 환경에서 쓰임
  13. Abstract Reasoning
    • Deep Learning의 장기적인 목표는 단순한 인지 task를 넘어서서 추상적인 추론을 하는 것임.
    • Meta-Learning을 통해서 이 문제를 해결하려고 하는 시도가 있었음.
  14. Systems
    • Network Compression: 기존 CNN은 메모리를 많이 요구함. 네트워크 압축은 최근 각광 받는 분야며, Meta-Learning을 적용하려고 하는 시도가 있었음.
    • Learning with Label Noise: 웹스크래핑, 크라우드소싱을 통해서 수집된 데이터에 대해서 Noise Data를 라벨링하는 데에도 사용할 수 있음.
    • Adversarial Attacks and Defenses: 이 분야에서도 attack이나 defense하는 방법론을 자동적으로 생성할 수 있음.
    • Recommendation Systems: cold-start 문제에 대해서 Meta-Learning이 적용될 수 있음.

Challenges and Open Questions

  1. Diverse and multi-modal task distributions
    • 많은 Meta-Learning의 성공은 좁은 task family에 있었음. 
    • Diverse Task Distribution에 학습하는 것은 어려울 수 있음.
  2. Meta-Generalization
    • Meta-Training을 위한 task의 수가 적음.
    • Meta-Training에 사용된 task와 다른 분포에서 추출된 meta-test task에 일반화하는 것은 어려움.
  3. Task Families
    • 특정 task family에 대한 데이터가 부족한 분야가 있을 수 있음.
    • Unsupervised Meta-Learning, Single-Task Meta-Learning 등의 극복 방안이 제시되고 있음.
  4. Computation Cost & Many-Shot
    • Meta-Learning은 보통 시간과 메모리 측면에서 비용이 큼. 
    • 따라서, 지금까지의 많은 Meta-Learning 방법론은 few-shot regime에 집중하고 있음.
    • 하지만, Meta-Learning을 many-shot regime로 확장하려는 시도가 많음. 
    • Implicit Differntiation, Optimizing Forward-Mode Differentiation, Gradient Preconditioning, Evolutionary Strategies, Greedy approach by alternating inner and outer steps, minimizing trajectory length over task manifolds, closed-form solvers in the inner loop 등의 방법이 있음.