본문 바로가기

딥러닝/메타러닝(Meta)

[Meta-Learning] 2. 메타러닝의 Formal한 정의

저번 포스팅에서는 Meta Learning이 의미하는바를 알아보았습니다 [메타러닝이란 뭘까?]. 이번 포스팅에서는 Meta Learning의 Background에 대해서 살펴보겠습니다. 포스팅의 내용은 Meta Learning in Neural Networks: Survey 논문의 내용을 토대로 작성되었습니다.


메타러닝은 두 단계의 Learning으로 이루어집니다. 먼저 base learninginner learning algorithm을 이용해서 dataset과 objective로 이루어진 Task에 대한 학습을 진행합니다. 예를 들어서, MNIST의 Categorical data에 대한 학습을 진행한다면, algorithm=(Adam Optimizer, 2 Linear Layer), dataset = MNIST, objective = Loss 가 됩니다.

base learning 은 우리가 일반적으로 생각하는 훈련을 뜻합니다.

base learning과 Algorithm

다음으로 meta learning 에서는 base learning 에서 사용되는 알고리즘을 업데이트 하는 방식으로 학습을 합니다. base learning 의 학습방법에 따라서 다른 알고리즘을 사용한다는 것을 가정하므로 (base algorithm, trained model, performance) 3개의 값이 필요합니다.

 

Q. Cross-validation은 meta learning에 속하는가?

A. Yes. CV는 base learning에 대해서 가장 적합한 모델을 찾는 알고리즘이다. 따라서 모델에 대한 적합한 하이퍼파라미터를 찾기 위해서라면 CV는 메터러닝에 속한다.

Cross Validation

Q. MNIST데이터셋에서 minibatch에 대해서 동일한 숫자들을 집어넣었다. 메타러닝인가?

A. No. Meta learning Objective에 대해서 가장 적합한 방법을 찾는 걸 목표로 해야 한다. 단일 알고리즘으로 학습한 것은 메터러닝으로 볼 수 없다. (개인적인 의견)


메터러닝의 정의

Conventional Machine Learning

Supervised Learning에서는 데이터셋 $\mathcal{D} = {(x_1, y_1), \cdots, (x_N, y_N) }$이 주어지고 predictive model $\hat{y} = f_\theta(x)$ parameterized by $\theta$를 훈련합니다. 이 때 objectiveLoss를 초소화하는 모델 파라미터를 찾는 것 입니다. $w$는 알고리즘을 나타냅니다. 모델 파라미터 이외에 훈련과 관련된 모든 방법은 $w$에 속하게 됩니다.

$$
\theta^* = \arg \min_\theta \mathcal{L(D};\theta, w)
$$

Meta-Learning: Task-Distribution View

Conventional Machine Learning에서는 모든 데이터셋에 대한 훈련이 처음부터 일어난다고 가정합니다(스크래치부터 훈련). 또한 이 $w$가 미리 고정되어 있다고 가정하고 모델 파라미터를 훈련합니다. Neural Network를 훈련할 때 가중치를 초기화하고 Hyperparameter를 설정하는 것도 이러한 가정과 관련되어 있습니다. Meta learning에서는 하나의 데이터셋이 아니라, Task에 대한 Distribution $p(\mathcal{T})$가 있다고 가정합니다. 각각의 Task는 $\mathcal{T} = { \mathcal{D, L} }$으로 이루어져있으며, 메타러닝의 Objective는 다음과 같이 쓸 수 있습니다.

$$
\min_w \mathbb{E}_{\mathcal{T} \sim p(\mathcal{T})} \mathcal{L}(\mathcal{D}; w)
$$

여기서 구한 $w$는 across-task knowledge 또는 meta-knowledge라고 합니다.

Meta Learning의 목적이 학습하는 방법을 학습하는 것이라고 이야기하지만, 결국에는 새로운 Task에 대한 학습의 성능을 높이는 것을 목표로 합니다. 그래서 한 편으로는 Task View 자체가 자연스러운 것 같습니다.

Meta learning task view


다음 포스팅에서는 Meta Learning을 위한 Dataset의 구조에 대해서 알아보겠습니다. 🤗