Processing math: 100%
본문 바로가기

딥러닝/메타러닝(Meta)

[Meta-Learning] 1. 메타, 메타러닝이란 뭘까?

 

 메타, 메타러닝이란 뭘까?

 

What is Meta?

메타 라는 용어는 한 단계 더 위에 있는 것을 가리킬 때 사용됩니다. 대표적인 예시로, 데이터에 대한 정보를 나타날 때, 데이터에 대한 데이터인 meta-data가 있고, 생각을 잘하고 있는지 생각한다면, 메타인지라고 부르게 됩니다.

 

 

Meta-Learning?

머신러닝 분야를 공부하다보면 메타러닝이라는 말이 자주 등장합니다. 아마도 대부분의 사람들은 학습하는 방법을 학습한다는 표현은 많이 들어봤을 거에요. 메타의 뜻에 의하면, 메타러닝이랑 러닝에 대해서 한 단계 더 위에 있는 것을 가리킵니다.  여기서 나타나는 학습을 두 단계로 나눠서, 두 단계의 학습에 대해서 알아보겠습니다.

 

첫 번째 학습

모델이 학습이라는 것은 주어진 데이터로부터 패턴이나 특징을 찾고 새로운 데이터가 주어졌을 때, 그 특징을 찾는 것 입니다. 이는 모델의 파라미터 θ를 찾는 것과 동일합니다. Supervised Learning에서는 데이터에 대한 Label이 주어지기 때문에, 새로운 데이터에 대해서 Label을 찾는 것을 목적으로 파라미터를 학습(러닝) 합니다. Unsupervised Learning에서는 데이터에 대한 레이블이 없으므로, 데이터 자체에 대한 특징을 알아서 찾아야 합니다. 두 가지 Learning 모두 데이터에 대한 특징을 찾는 것을 목표로 모델 파라미터를 학습 합니다.

위에서 말한 Meta-data보다 Meta-Learning이 어렵게 느껴지는 것은 Learning이라는 말 자체를 동명사로 생각하니 때문인 것 같습니다. Learning은 학습하는 것이 아니라 '학습' 명사를 나타냅니다. 


두 번째 학습

사실 머신러닝에서 메타러닝이라는 말은 다양하게 쓰이고 그 의미 자체도 광범위하게 쓰이고 있습니다. 딥러닝을 하다보면, Learning rate를 조절하면서 Loss가 떨어지는 것을 비교해본 적이 있으실텐데, 이 경우도 Meta Learning에 해당합니다. 모델을 훈련하는 learning보다 한 단계 위인, Hyperparameter에 대해서 적합한 값을 찾는 Learning을 진행하기 때문입니다. 또 다른 예시는 Model을 Ensemble하는 것 입니다. 이미 learning이 된 모델들을 가지고, 모델들의 예측을 기반으로 결정하는 새로운 모델을 Stacking으로 학습시킨다면, 1차적인 학습을 넘어서 학습을 진행하기 때문에 Meta-Learning입니다.

 

Meta-Learning이라는 말의 정확한 정의를 Formal하게 정의한 논문도 있지만, 그 전까지 Meta-Learning이라는 것 자체는 조금 다양하게 쓰였습니다. 조금 쉽게 생각해보자면, 모델을 튜닝하기 위해서, 다양한 hyper-parameter를 grid search를 통해서 찾습니다. 만일 이를 자동으로 찾을 수 있다면 얼마나 좋을까요? 

Related Article 

  • 메타러닝의 Formal한 정의 [Post]
  • 메타러닝을 위한 데이터 셋 [Post]

 

References 

[1] https://machinelearningmastery.com/meta-learning-in-machine-learning/