iMTE

Meta-Learning 6. Gradient agreement as an optimization objective for meta-learning 본문

Deep learning study/Meta-Learning

Meta-Learning 6. Gradient agreement as an optimization objective for meta-learning

Wonju Seo 2019. 5. 24. 14:54

Gradient agreement as an optimization objective for meta-learning (NIPS, 2018)


Abstract

"Our approach is based on pushing the parameters of the model to a direction in which tasks have more agreement upon. If the gradients of a task agree with the parameters update vector, then their inner product will be a large positive value."

각 Task에서 얻은 gradient의 정보에서 가장 agreement가 큰 부분을 살리고, 반대되는 경우나 다른 방향의 update의 비중을 줄임으로써, 좀더 효율적으로 optimal weight initialization을 구하는 방법이다. 직관적으로 볼 때, 같은 방향으로의 gradient에 더 많은 비중을 주면, 반대 방향이라던가, 다른 방향으로 인한 학습 방해를 방해할 수 있을 것이다. 

Introduction

"The ability to learn rapidly is a key characteristic of humans that distinguishes them from artificial agents. Human leverage prior knowledge learned earlier when adapting to a changing task, an ability that can be explained as Bayesian inference."

"Meta-Learning model is capable of generalizing well to new unseen tasks because of task-agnostic way of training"

이 두문장이 meta-learning의 필요성과 의의를 설명하는 것으로 잘 읽어보길 바란다. 이 논문에서는 MAML 방법이 model parameter에 대한 각 task의 기여가 같다는 것을 가정해서, update rule은 다음과 같이 단순히 task loss의 average를 취해주는 방법을 선택하였다고 한다.

하지만, 만약에 N개의 task의 batch가 sample되었고 N-1 tasks들이 gradient direction에 강한 agreement를 갖는데, 만약 하나의 task가 크게 gradient direction에 disagreement한 경우에는, model parameter update에 안좋은 영향을 미칠 수 있다. 따라서, 이 논문에서는 tasks들을 거치면서 model이 잘 generalization될 수 있는 gradient agreement를 위한 optimization objective를 소개하는 것을 contribution으로 보았다.

Gradient Agreement

논문에서 나와있는 Algorithm을 확인해보자.

MAML은 학습을 위해 두 단계를 거친다.

1) "Adapting to a new task T_i in which the model parameters theta become theta_i by k steps of gradient descent on task T_i. (inner-loop optimization)"

2) "Updating the model parameters by optimizing for the performance of f_theta_i with respect to theta across all sampled tasks performed as follows :

앞서 언급했던 것 처럼, 이전 MAML의 경우 outer-loop optimization step에서 gradient direction에 대한 동일한 기여를 각 task가 해야한다는 것을 가정한다. 그러나, 이 논문에서는 각 task의 loss에 weight을 연관시켜서 meta-optimization rule을 다음과 같이 바꾸었다.

각 task의 gradient update vector를 g로 표현한다면, weight은 다음과 같이 계산된다.

i 번째 task의 weight은 batch의 전체 tasks의 gradients의 평균과 이 task의 gradient의 inner product (similarity)에 비례한다. 그럼으로, 평균 방향과 정렬된다면 다음 parameter update에 좀더 기여를 하게 될 것이다. (너무 간단하지 않는가?)

Analysis

제안된 방법에서 어떻게 weight을 계산했는지에 대해서 이 논문은 분석을 한장 정도로 정리하고 있다. MAML은 다음과 같은 outer-loop update를 사용하는데, 이 논문에서는 weight을 추가한 형태의 weight을 사용한다.

따라서, 이 논문에서의 목표는 parameter theta와 weight을 찾는 것이다.

mu 성분은 weights의 분포에 regularization parameter 이고, w는 각 task의 weight이다. 이번 section에서는 앞에서 설명된 inner product 가 어떻게 위의 objective function을 최소화하는 것을 하는지를 설명하고자 한다.

Taylor expansion을 사용하면 위와 같이 loss function을 특정 theta에 대해서 근사화를 할 수 있다. g_i는 i 번째 task 동안 inner-loop optimization에서 얻은 update vector이다. 이 식을 objective function에 대입하면,

SGD update rule에 의해서,

위 식을 다시 objective function에 대입을 하면,

와 같이 바뀐다. (단순히 대입하고 지우다보면 된다고한다..) 위의 식을 w_i에 대해서 미분을 하게 되는 경우, 우리는 다음과 같은 식을 얻을 수 있다.

그리고, w_i의 크기는 1이고, normalization이 되었음으로, lambda는 다음과 같이 계산된다.

따라서, w_i는 다음과 같이 계산된다.

Experimental results

결과적으로 Gradient agreement가 기존의 방법보다 더 낫다는 것이 결과이다.(Figure 1과 Table1을 보면 차이가 극명하게 드러난다. 하지만 Table 2에서는 comparable한 정도이다.)

Conclusion

"In this work, we presented a generalization method for meta-learning algorithms that adjusts the model parameters by introducing a set of weights over the loss functions of tasks in a batch in order to maximize the dot products between the gradients of different tasks. The higher the inner product between the gradients of different tasks, the more agreement they have upon the model parameters update."

딱 핵심적인 말이다. 천천히 읽어보자.



Comments