가짜연구소 5기 멀티태스크메타러닝-초읽기 아카데믹 러너 활동을 통해 위의 논문을 읽게 되었습니다.

제가 주로 다루는 분야가 아니기에, 가볍게 정리하는 느낌으로 가져가 볼까 합니다.

 

Title: Meta-Learning with Differentiable Convex Optimization

Abstract

  •  few-shot learning을 위한 많은 meta-learning 접근법들은 nearst-neighbor classifier와 같은 simple base learner들에 의존하고 있다고 합니다.
  •  그러나, 심지어 few-shot regime에서도, discriminative하게 훈련된 linear predictor들이 더욱 좋은 일반화 성능을 보여주고 있다고 합니다.
  •  저자들은 이러한 predictor들을 few-shot learning을 위한 표현을 학습할 수 있는 base learner로써 사용하고, 그것들이 few-shot recognition benchmark들에서 feature size나 성능 사이의 tradeoff면에서 더욱 이점을 제공할 수 있다는 것을 보여주었다고 합니다.
  •  저자들의 목적은 새로운 category들을 위한 linear classification 규칙 아래에서, 일반화가 더욱 잘된 feature embedding을 학습하는 것이라고 합니다. 음?
  •  이러한 목적을 효율적으로 달성하기 위해, 저자들은 linear classifier의 두 개의 속성을 십분 활용했다고 합니다: convex problem의 optiality condition의 implicit differentiation 그리고 optimization problem의 dual formulation.
    •  이는 저자들에게 computational overhaed면에서 약간의 증가와 함께, 개선된 high-dimensional embedding의 일반화 성능을 선물로 주었다고 합니다.
  • MetaOptNet으로 명명한 저자들의 접근법은 miniImageNet, tieredImageNet, CIFAR-FS 그리고 FC100과 같은 few-shot laerning benchmark들에서 SOTA를 갱신했다고 하며, 코드는 online으로 공개했다고 합니다.

 

Introduction

 몇몇 예제들로부터 학습을 할 수 있는 능력은 human intelligence만이 가진 특징이라고 하며, 이는 modern ML system이 풀어야 하는 숙제로써 남겨져 있다고 합니다.

  •  이 문제는 최근 few-shot learning이 meta-learning problem으로 등장하면서, ML community로부터 상당한 관심을 받아왔다고 합니다.

 

 그 녀석들의 목표는 few training example들을 가지는 task들의 분포들 사이에서 일반화 error를 최소화 하는 것이라고 합니다.

  •  전형적으로, 이러한 접근법들은 input domain을 특징 공간으로 mapping해주는 embedding model과, 특징 공간을 task variable로 mapping해주는 base learner로 이루어져 있다고 합니다.

 

 Meta laerning objective는 base learner가 task들 사이에서 일반화 성능을 가질수 있도록? embedding model을 학습하는 것이라고 합니다.

  •  많은 선택할 수 있는 base learner들이 존재한다고 합니다. 가장 인기 있는 최근접 이웃 기반 분류기와 그들의 variants들은 간단하고, low-data regime에서 잘 동작하는 접근법이라고 합니다.

 

 하지만, discriminative하게 훈련된 linear classifier는 더 좋은 분류 경계를 학습하기 위해, 더 풍부한 negative example들을 활용할 수 있기 때문에, low-data regime안에서, 종종 최근접 이웃 분류기들을 뛰어넘는 성능을 보여준다고 합니다.

  •  더욱이, 그 친구들은 model의 capacity가 L1, L2 norm과 같은 적절한 정규화 방법을 이용해 제어될 수 있기 때문에, high dimensional feature embedding을 더 효율적으로 사용할 수 있다고 합니다.

 

 그러므로, 해당 논문에서 저자들은 few-shot learning을 위한 meta-learning based approach를 위해, base learner로써 linear classifier를 사용하는 방안에 대해서 연구를 수행했다고 합니다.

  •  해당 접근법은 Figure 1에 도시되어 있으며, linear support vector machine(이하 SVM)이 주어진 labeled training example set을 분류하기 위해, 그리고 동일한 task로부터 새로운 example set들로부터 generalization error를 계산하기 위해 사용되었다고 합니다.

 

 Key challenge는 계산 이슈라고 하며, 왜냐하면 task들 사이의 generalization error를 최소화 하는 meta-learning의 objective는 inner loop of optimization에서의 liniear classifier의 훈련을 필요로 하기 때문이라고 합니다. (그니까 for 문 두 개 돌아서 그렇다는 것 같군요 호호)

  •  그러나, linear model의 objective는 convex하고 그래서 효율적으로 해결이 될 수 있다고 합니다.

 

 저자들은 meta-learning을 효율적으로 해줄 수 있는 convex nature로부터 다음의 추가적인 두 가지 속성을 관찰했다고 합니다. (1) Implicit differentiation of the oiptimization, (2) the low-rank nature of the classifier in the few-shot setting.

  •  첫 번째 속성은 optima를 추정하기 위해 그리고 embedding model을 훈련하기 위한 KKT conditions 혹은 optimality를 암묵적으로 미분하기 위해 자주 사용되는 convex optimizer들의 사용을 허용한다는 것입니다.
  •   두 번째 속성은 dual formation의 최적화 변수들의 숫자가 few-shot learning을 위한 feature dimension에 비해 굉장히 작다는 것을 의미한다고 합니다. 완전 최적화 수학 논문이겠는데요?!

 

 이를 위해, 저자들은 few-shot classification task들을 위한 다양한 linear classifieres(SVMs, linear regression)과 embedding model을 end-to-end learning이 가능하도록, differentiable quadratic programming(이하 QP) solver를 통합했다고 합니다.

  •  이러한 속성들을 사용함에 따라, 저자들은 자신들의 기법이 실용적이며, computational cost의 약간의 증가로, 최근접 이웃 classifier에 비해 상당한 이점을 제공할 수 있다는 것을 보여준다고 합니다.

 

 저자들의 기법은 자주 이용되는 benchmark인 miniImageNet, tieredImageNet, CIFAR-FS 그리고 FC100 등에서 5-way 1-shot, 그리고 5-shot classification에서 SOTA 성능을 갱신했다고 합니다.

 

Related work

 Meta-laerning은 learner의 어떤 측면들이 task들의 분포 사이에서 일반화를 효과적으로 할 수 있을지에 대해 연구한다고 합니다.

 

 Few-shot learning을 위한 meta-learning 접근법들은 넓게 3가지 그룹으로 분류하는 것이 가능하다고 합니다.

(1) Gradient-based metdhos

(2) Nearst-neighbor methods

(3) Model-based methods

 

 Gradient-based methods는 training example들에 embedding model parameter를 적응하게 하기 위해, gradient descent를 사용하는 기법들이라고 합니다.

 

 Nearst-neighbor methods는 embedding들에 대해 distance-based prediction rule을 학습하는 것이라고 합니다.

  •  예를 들어, prototypical network는 각 class를 example들의 mean embedding으로 표현한다고 하며, 분류 기준은 nearset class mean까지의 거리를 기반으로 한다고 합니다.
  •  다른 예제는 matching network라고 합니다. 이 친구는 training data에 대한 embedding을 사용해서 class density들의 KDE를 학습한다고 합니다.

 

 Model- based methods는 model parameter들을 추정하기 위해 parameterized predictor를 학습한다고 합니다.

  •  예를 들면, parameter space에서 few steps of gradient descent방법과 유사한 parameter를 예측하는 reccurent network 음…??

 Gradient-based 기법들은 일반적이지만, 그 친구들은 embedding dimension이 성장함에 따라 overfitting하는 경향이 있다고 합니다.

 

 최근접 이웃 접근법들은 단순하며 few-shot setting에 잘 확장 된다고 합니다.

  •  하지만, 최근접 이웃 기법들은 feature selection을 위한 메커니즘이 없으며, 또한 noisy feature에 강건하지 않다고 합니다.

 

 저자들의 작업물은 최적화 절차에서의 backpropagation과 연관이 있는 기술이라고 합니다.

  •  Domke는 fixed num of steps에 대한 gardient decsent unrolling과 기울기를 계산하기 위한 automatic differentiation기반의 generic method를 제안했다고 합니다.

 

 그러나, trace of the optimizer는 large problem에 대해 금지될 수 있는 기울기를 계산하기 위해 저장할 필요가 있다고 합니다….??

  •  storage overhead issue는 Maclaurin 등에 의해 조금 더 자세히 다뤄졌다고 하네용ㅎ 그들은 deep network의 optimization trace의 낮은 표현 정확도를 연구했다고 합니다.

 

 Unconstrained quadratic minimization problem에서와 같이 최적회 문제의 argmin을 해석적으로 찾을 수 있다면, 기울기를 해석적으로 계산하는 것도 가능하다고 합니다.

  •  이는 low-level vision problem을 학습하기 위해서 적용되어 오기도 했다고 합니다.
  •  관련 연구[3]은 이러한 아이디어로, ridge regression 기반의 learner와 함께 closed-from solution을 사용해서 few-shot model을 학습시키기도 했다고 합니다.
  •  저자들은 또한 논문의 독자들에게 Gould et al의 differentiating argmin and argmax problem을 위한 기법을 survey한 논문을 추천해주기도 했네요.

 

 저자들의 접근법은 convex learning problem으로 형식화 될 수 있는 lineaer classifier의 사용을 주장한다고 합니다.

  •  특히, objective는 gradient-based technique을 사용하여 global optima를 얻기 위해 효율적으로 풀 수 있는 QP로 형식화 했다고 하네요.
  •  더욱이, convex problem의 solution은 implicif function theorem을 이용하는 learner의 역전파를 사용할 수 있게 해주는, convex problem의 KKT condition으로 특정 지을 수 있다고 합니다.

 

 구체적으로, 저자들은 QP와 QP의 gradient를 계산하기 위해 효율적인 GPU routine을 제공하는, Amos와 Kolter의 formulation을 사용했다고 합니다.

  •  그것들은 constraint satistaction problem에 대한 표현을 학습하기 위해 해당 framework를 적용했지만, 일반적으로 발생하는 문제의 크기가 작기 때문에, few-shot learning에도 또한 적합하다고 하네요

 

 저자들의 실험은 hinge loss와 l2 정규화를 포함하는 선형 분류기에 초점을 맞추고 있지만, 저자들의 framework는 다른 loss function들 그리고 non-linear kernel들에도 사용될 수 있다고 합니다.

  •  예를 들어, [3]에서 이용된 ridge regression learner의 경우에도 저자들의 framework 내에서 구현이 가능하다고 합니다.

 

Meta-learning with Convex Base Learners

 저자들은 먼저, 이전 연구들을 따라 few-shot learning의 meta-learning framework를 유도하고, 그 다음 linear SVM과 같은 convex base learner가 어떻게 이와 통합될 수 있을지에 대해서 다룬다고 합니다.

 

Problem formulation

 Base learner A의 목표는, training set D^train = {(x_t, y_t)}(t=1~T)이 주어지면 predictor y=f(x; \theta)가 unseen test set D^teset ={(x_t, y_t)}(t=1~Q)에 대해 일반화가 잘 될 수 있도록, predictor의 parameter \theta들을 추정하는 것이라고 합니다.

  •  training and teset set은 same distribution으로 부터 샘플링 되고, domain은 \phi로 parameterized된 embedding model f_\phi를 사용해서 feature space로 사상된다고, 종종 가정이 된다고 합니다.
  •  최적화 기반 learner들에서, parameter들은 training data에 대한 empirical loss와 simpler model을 촉진하기 위한 regularaiation error를 최소화 하기 위해 얻어진다고 합니다. 이는 다음과 같이 쓸 수 있다고 합니다.

 

 이때, L^base는 loss function이며, label들에 대한 negative log-likelihood 같은 친구라고 합니다. 그리고, R(\theta)는 regularization term이라고 합니다. 이 정규화 항은 training data가 제한적일때 중요한 역할을 해준다고 합니다.

 

 Few-shot learning을 위한 meta-learning 접근법은 task distribution으로부터 샘플링된 task들의 분포들 사이에서 일반화 오류를 최소화 하는 것을 목적으로 한다고 합니다.

  •  구체적으로, 이는 collection of task T={(D^train_i, D^test_i)}_(i=1~I)에서의 learning으로써 생각할 수 있다고 하며, 이는 종종 meta-training set으로 불리운다고 합니다.
  •  Tuple (D^train_i, D^test_i)는 training and, test dataset or task를 의미한다고 합니다.

 Objective 는 base learner A가 주어졌을 때, task들 사이에서 generalization error을 최소화 하는 embedding model의 \phi를 학습하는 것이라고합니다.

  • 형식적으로, learning objective는 다음과 같아진다고 합니다.

 Figure 1은 single task에 대한 training과 testing을 보여주고 있다고 합니다. 일단 embedding model f_\phi가 학습되면, 그 친구의 일반화는 held-out tasks(종종 meta-test set으로 불리기도 하는) S={(D^train_j, D^test_j)}_(j=1~J)의 집합을 통해서 추정이 된다고 합니다.

 

 이전 연구에 따라, 저자들은 방정식 2와 3의 기댓값을 추정하는 단계를 각각 meta-training and meta-testing으로써 본다고 합니다.

  •  Meta-training하는 동안, 저자들은 추가적인 held-out meta-validation set을 meta-learner의 hyperparameter와 best embedding model을 선택하기 위해 사용한다고 합니다.

 

Episodic samplings of tasks

 miniImageNet과 같은 표준적인 few-shot learning benchmark들은 model들을 K-way, N-shot classification task들에서 평가함. 여기서 K는 num of classes이고, N은 num of training examples per class라고 합니당.

 

 Few-shot learning technique은 N이라고 하는 작은 값에 대해서 평가가 된다고 하며, N은 보통 {1, 5}사이에 속하는 값이라고 합니다. 5 shot까지가 보통인가보네용!

  •  실제적으로, 이러한 데이터셋들은 명시적으로 tuple (D^train_i, D^test_i_를 포함하지 않는다고 하며, 각 meta-learning을 위한 task들은 meta-training stage동안 일반적으로 episode로 칭하는 단계에서, “on the fly”로 구축된다고 합니다. 으음?

 

 예를 들어, 이전 연구 [32, 33]에서, task (or episode) T_i = (D^train_i, D^test_i)는 다음과 같이 샘플링된다고 합니다.

  •  Overall set of categories is C^train. 각 에피소드에서, C^train으로부터 온 K category를 포함하는 categories C_i는 먼저 sampling 됩니다. 그 다음, category별로 N개의 image로 구성된 training (support) set D^train_i = {(x_n, y_n) | n=1, … , N * K, y_n \in C_i}가 sampling 된다고 합니다.
  •  마지막으로, category별로 Q개의 image로 구성된 the test(query) set D^test_i = {(x_n, y_n) | n=1, … , Q * K, y_n \in C_i}가 sampling 된다고 합니다.

 

 저자들은 일반화 에러를 최적화 하기 위해, 해당 과정에서 replacement 없이 sampling했다는 것을 강조하고 있습니다. 다시 말해서, D^train_i와 D^test_i의 교집합이 공집합이라는 것을요!

  •  같은 방식으로, meta-validation set과 meta-test set도 C^val 그리고 C^test로부터 on the fly로 구축이 된다고 합니다.

 

 Embedding model의 unseen categories에 대한 일반화 능력을 측정하기 위해, C^train, C^val 그리고 C^test는 상호 분리적으로 선택이 되었다고 합니다.

 

Convex base learneres

 base learner A의 선택은 Equation 2에 대해 상당한 임팩트를 가지고 있다고 합니다.

  •  \theta = A(D^train ; \phi)를 계산하는 base learner는 효율성을 가지고 있어야 하는데, 왜냐하면 expectation이 task들의 분포로부터 계산이 되기 때문이라고 합니다.

 

 게다가, embedding model의 \phi를 추정하기 위해, task test error L^meta(D^test; \theta, \phi)의 \phi에 대한 gradient들이 효율적으로 계산이 되어야 한다고 합니다.

  •  이는 base learner의 매개변수가 계산하기 쉽고 objectiver가 미분 가능한, nearst class mean과 같은 base learner를 사용하는 이유가 되어 왔다고 합니다.

 

 저자들은 objective가 convex한 multi-class linear classifier기반의 base learner들을 고려했다고 합니다.

  •  예를 들어, K-class lineaer SVM은 \thtea = {w_k}_(k=1~K)로 쓰여질 수 있다고 하는데 음..?
  •  Crammer와 Singer는 multi-class SVM을 다음과 같이 형식화 했다고 합니다.

 

 이때 D^train = {(x_n, y_n)}이라고 하고, C는 regularization parameter이며, \delta는 Kronecker delta function이라고 합니닷

 

 Figure 1에 따르면, 저자들은 자신들의 시스템을 end-to-end train이 가능하게끔 만들기 위해, SVM solver의 solution이 input에 대해 미분 가능하도록 했어야 한다고 합니다. 다시 말해서, 저자들은 밑의 식을 계산할 수 있었어야 한다고 합니다.

  •  Objective of SVM은 convex하고 unique optimum을 가지고 있다고 합니다. 이는 necessary gradients를 얻기 위한 KKT condition에 대해 implicit function theorem을 사용할 수 있게끔 해준다고 합니다.

 

 완비성의 관점에서, 저자들은 convex optimization problem의 이론적인 형태를 유도했다고 하며, 다음의 convex optimization problem을 고려했다고 합니다.

 

 이때, vector \theta \in R^d는 최적화 변수이며, vector z \in R^e는 input parameter of the optimization problem, which is {f_\phi(x_n)}이라고 합니다.

  •  저자들은 다음의 Lagrangian의 안장 점을 찾는 것을 통해, objective를 최적화 할 수 있다고 합니다.

 

 다르게 말하면, 저자들은 g(\tilde \theta, \tilde \lambda, \tilde v, z)=0을 해결하여 objective function의 optimum을 얻을 수 있다고 합니다.

 

 함수 f(x): R^n → R^m가 주어졌을 때, D_x f(x)는 그 함수에 대한 Jacobian \in R^(m x n)이라고 합니다. 이때, 정리 1은…

⇒ train loss를 최소로 하는 \theta를 closed-form으로 획득 할 수 있게 해주는 식인 것 같습니다.

 

Time complexity.

 저자들이 사용한 접근법인 equation (4)의 계산 즉, forward pass는 num of optimization varibale d에 대해, O(d^3)의 complextiy를 가지는 QP solver의 solution을 필요로 한다고 합니다.

  •  이 시간은 KKT matrix primal dual interior point 기법에 필요한 KKT 행렬을 분해 하는 시간에 의해 결정된다고 합니다.

 

 Backwrad pass는 theorem 1에서의 방정식 8의 solution을 요구한다고 합니다. 이 친구는 O(d^2)의 복잡도를 가진다고 하네용.

  •  이러한 forward pass와 backward pass는 embedding f_\phi의 차원이 클 때 비용이 비싸질 수 있다고 합니다.

 

Dual formulation

 Equation 4의 objective의 dual formulation은 embedding dimension의 poor dependence를 완화하는 것을 허용해 준다고 합니다. 그리고, 다음과 같이 쓰여질 수 있다고 합니다 후….

 이는 dual variable {alpha^k}_(k=1~K)에 대한 QP의 결과라고함. 저자들은 최적화 변수의 size가 num of training example에 클래스 수를 곱한 값이라고 합니다.

  •  이는 few-shot learning의 feature dimension에서의 숫자보다 매우 작은 경우들이 종종 있다고 합니다.
  •  저자들은 dual QP 방정식 10을 differentiable GPU-based QP solver를 이용해서 해결했다고 합니다.

 

 실제적으로, table3을 보면 알 수 있다시피, QP solver가 사용한 시간은 ResNet-12 아키텍쳐를 이용해서 feature를 계산하는 시간과 필적하고 그래서 전체적인 iteration별 speed는 Prototypical Network에서 사용된 nearst class prototype과 같은 간단한 base learner기반의 그것들과 많이 다르지 않을 것이라는 얘기를 합니다.

 

 저자들의 work과 동시에, Bertinetto 등은 closed-form solution을 가진 base learner인 ridge regression을 사용했었다고 합니다.

  •  비록 ridge regression은 classification problem에 best suite하지는 않지만, 그들의 작업물은 실제 상황에서 one-hot label에 대해 MSE로 훈련시킨 모델이 잘 동작하는 것을 보여주었다고 합니다.
  •  Ridge regression의 최적화 결과는 또한 QP이고, 이는 저자들의 framework 내에서 구현될 수 있다고 합니다.

 

Meta-learning objective

 model의 성능을 측정하기 위해, 저자들은 same task로부터 샘플링된 test data의 negative log-likelihood를 평가했다고 합니다.

  •  그러므로, 저자들의 meta-learning objective 방정식 2는 다음과 같이 다시 표현할 수 있다고 합니다.

 

 Few-shot learning에서의 이전 연구들은 learnable scale parameter \gamma에 의한 prediction socre를 조정하는 것이 nearest class mean과 ridge regression base learneers아래에서 더 좋은 성능을 제공할 수 있다는 것을 제안했었다고 합니다.

  •  저자들 또한 경험적으로 \gamma를 삽입하는 것이 SVM base learner를 사용하는 meta-learning에서도 이점이 있는 것을 확인했다고 합니다.
  •  또한 저자들은 hinge loss와 같은 다른 teset loss를 선택하는 것도 가능하지만, log likelihood가 실험에서 가장 좋은 성능을 보였다고 보고했습니다.

 

Experiments

저자들은 먼저, 자신들의 실험에서 사용된 네트워크 구조와 최적화에 관련된 detail들을 4.1에서 설명한다고 합니다.

 

 그 다음, 저자들은 derivatives of Imaganet(4.2) 그리고 CIFAR(4.3)등을 포함하는 표준적인 few-shot classification benchmakrs에서의 결과를 보고한다고 합니다.

  •  그 이후에, same embedding network와 training setpup을 사용했을 때, 다양한 base learner를 사용했을 때의 정확도와 속도 면에서의 효과들을 자세히 분석한다고 합니다.

 

Implementation details

Meta-learning setup. 저자들은 관련 연구[18, 20]을 따라, ResNet-12를 자신들의 실험에서 사용했다고 합니다. 자세한 사항은 밑의 사진에서 참고 부탁드려용!

 

 Meta-training 동안, 저자들은 horizontal flip, random crop and color jitter와 같은 [10, 21]에서 사용한 데이터 augmentation 기법들을 사용했다고 합니다.

  •  ResNet-12를 이용한 miniImagaNet에서의 실험에서, 저자들은 label smoothing with \epsilon=0.1도 사용했다고 하네요.. 이런 기법도 있었군요?

 

 Meta-testing보다 meta-tarining에 more higher way 분류를 수행한 [28]과 달리, 저자들은 [10, 20]과 같은 최근의 연구를 따라 동일한 stage의 5-way classification을 사용했다고 합니다.

  •  각 class들은 meta-training동안 사용할 6개의 test(querey) sample들과 meta-testing 동안 15개의 test sample들을 포함한다고 합니다.
  •  저자들의 meta-trained model은 meta-validation set에서의 5-way 5-shot test accuracy를 기반으로 선택된다고 합니다.

 

Meta-training shot. Prototypical network에서, 저자들은 meta-training shot과 meta-testing shot과정을 동일하게 가져갔다고 합니다. SVM and ridge regression의 경우, 저자들은 meta-training shot을 meta-test shot 보다 더욱 높게 가져가는 것이 그림 2에서처럼 정확도가 향상된다는 것을 보여주었다고 합니다.

  •  그러므로, meta-training동안 저자들은 training shot을 miniImageNet with ResNet에서는 15로, miniImagaNet with 4-layer CNN에서는 5로, tiredImaganet에서는 10으로, CIFAR-FS는 5, FC100은 15로 설정했다고 합니다.

 

Base-learner setup. 선형 분류기 학습의 경우, 저자들은 QP solver인 OptNet을 사용했다고 합니다. SVM에서의 정규화 파라미터 C는 0.1로 했다고 하고, ridge regression에서의 정규화 파라미터 lambda는 50으로 정했따고 합니다.

  •  최근접 클래스 평균(prototypical networks)의 경우, 저자들은 metric으로써 Euclidean distance를 사용했다고 합니다.

 

Early stoping. 저자들은 optimizer가 수렴할 때 까지 동작할 수 있음에도 불구하고, 그냥 고정된 수의 iteration동안 solver를 동작 시키는 것이 현실에서 잘 동작한다는 것을 확인했다고 합니다.

  •  Early stopping은 추가적인 정규화로써 행동할 수 있고, 꽤나 좋은 성능을 이끌어 냈다고 합니다.

 

Experiments on ImageNet derivatives

 miniImagaNet dataset은 ILSVRC-2012에서 100개의 랜덤 하게 선택된 class로 이루어진 few-shot image classification benchmark라고 합니다.

  •  이 클래스들은 64, 16 그리고 20개의 meta-training, meta-validation, meta-testing class들로 나뉜다구 합니다.
  • 각 클래스들은 84 x 84 size의 600개의 이미지들로 구성이 되어 있다고 합니다.

 

 tiredImagaNet benchmark는 ILSVRC-2012의 larger subset이라고 하며, 34개의 high-level category 내에서 608개의 class들로 구성되어 있다고 합니다.

  •  이는 20개, 6개, 8개의 meta-training, meta-validation, meta-testing을 위한 category들로 나뉜다고 합니다.
  •  각각의 category에는 251, 97, 160개의 class가 속해있다고 합니다.

 

Results. Table 1은 5-way miniImageNet and tieredImagaNet의 결과를 요약해서 보여주고 있다고 합니다.

  •  저자들의 기법은 해당 benchmark에서 5-way SOTA성능을 달성했다고 합니다.

 

 LEO는 encoder와 relation network를 WRN-28-10에 추가하여 gradient descent에 대한 초기화를 잘 했다고 합니다. MAML 비슷한 느낌인거일려나요?

 TADAM은 task embedding network(TEN) block을 각 convolutional layer에 적용하여 element-wise scale and shift vectors를 예측했다고 합니다.

 

 이전 연구들은 feature extraction을 위한 부분과 base learner를 따로따로 가지고 있으며, few-shot시 앞 단을 freeze하는 방법을 사용한다는 점을 지적

  •  저자들의 기법은 대조적이게도, end-to-end로 meta-train된다고 하며, 이러한 전략이 meta-learning에서 효과적이었다는 것을 실험으로 확인했다는 식으로 서술함.

 

Experiments on CIFAR derivatives

 CIFAR-FS dataset은 최근에 제안된, CIFAR-100의 모든 100개의 class들로 이루어진 few-shot image classification benchmark라고 합니다.

  •  해당 class들은 64, 16, 20개의 meta-training, meta-validation, meta-testing을 위한 class로 randomly split되며, 각 클래스는 32 x 32의 600개의 image들로 구성되어 있다고 합니다.

 

 FC100 dataset은 CIFAR-100으로부터 유도된 다른 데이터셋이며, 20개의 super class로 그루핑 된 100개의 클래스들을 포함하고 있다고 합니다.

  •  이 클래스들은 각각 60 classes from 12 superclasses, 20 classes from 4 super classes, 20 classes from 4 superclasses로 meta-training, meta-validation, meta-testing을 위해서 나뉜다고 합니다.
  •  각 클래스는 위와 동일하게, 32 x 32의 600개의 image들로 구성되어 있다고 합니다.

 

Results. Table2는 5-way classification tasks에 대한 결과를 요약해서 보여주고 있으며, 저자들의 MetaOptNet-SVM이 SOTA 성능을 달성했다고 합니다.

  •  더 어려운 FC100에 대해서, 이 차이는 더욱 상당했다고 합니다. 이는 complex base learner를 few-shot learning setting에서 사용했을 때의 이점을 강조한다고 합니다.

 

Comparisons between base learners

 Table3는 two different embedding architecture에 대해, base learner를 변화시켜가며 얻은 결과라고 합니다.

  •  저자들은 4-layer convolutional network(1600 feature dimension)을 사용했을 때, few-shot learning을 위한 discriminative classifier를 채택해도 큰 이득이 없었다고 얘기합니다.
  •  실제로, 최근접 이웃 기반 classifier는 low-dimensional feature 하에서도 동작이 잘 됬다고 얘기합니다. (Prototypical network 처럼)

 

 그러나, embedding dimension이 16000 정도로 굉장히 높은 경우에, SVMs은 다른 base learner들에 비하여 더 좋은 few-shot accuracy를 보였다고 하고 있습니다.

  •  Thus, 정규화된 선형 분류기들도 높은 차원의 feature가 이용 가능하면, 어느 정도 강건한 성능을 보였다고 하네요.

 

 이러한 benefit의 증가는 computational cost의 증가를 가져왔다고 합니다. ResNet-12의 경우, 최근접 분류기에 비교하여 13%정도 추가적인 overhead가 ridge regression base learner에서 발생 했고, 30~50% 정도 추가적인 overhead가 SVM base learner에서 발생했다고 합니다.

 

 Figure2를 보면, 1-shot, 5-shot 영역에서의 저자들의 모델의 성능은 meta-training shot이 증가할수록 증가하는 것을 볼 수 있다고 합니다.

  •  이는 모든 meta-test shot에 대해 더 많은 shot을 meta-training에서 활용할 수 있으므로, 저자들의 기법을 더욱 실용적인 접근으로 만들어준다고 합니다.

 

 FC 100 실험에서 보고 된 것처럼, SVM base learner는 test와 train에 쓰인 data간의 semantic overlap이 더 적을 때, 이점을 가지는 것으로 보인다고 서술함.

 

 저자들은 class embedding들이 test data보다 train data에 대해 훨씬 더 compact하다고 가정한다고 합니다. 따라서, base learner의 flexibility는 noisy embedding에 대한 강건성을 가지게 해주고, 일반화 성능을 높여준다고 서술했습니다.

 

Reducing meta-overfitting

Augmenting meta-training set. Task들을 sampling하는 것에도 불구하고, MetaOptNet-SVM with ResNet-12의 meta-training의 종료 시점에는 tiredImageNet을 제외하고, 모든 meta-training dataset들에 대해서 거의 100%의 test accuracy를 보였다고 합니다.

  •  해당 overfitting을 완화시키기 위해, [21, 25]와 유사하게, 저자들은 meta-training과 meta-validation set의 합집합을 사용해, epoch와 같은 hyperparameter등은 이전 셋팅과 동일하게 유지하면서 임베딩을 meta-training했다고 합니다.
  •  특히, 저자들은 miniImageNet에서는 21 epoch이후에, tieredImageNet에서는 52 epch 이후에, CIFAR-FS와 FC 100에서도 각각 21 epoch이후에 meta-training을 종료했다고 합니다.
  •  Table 1과 2는 augmented meta-training set의 결과를 보여주고, 이 결과를 MetaOptNet-SVM-trainval으로 명명해두었다고 합니다.

 

 miniImageNet, CIFAR-FS 그리고 FC100 dataset들에서, 저자들은 test accuracy의 개선을 관측했다고 합니다. 그런데 아쉽게도, tiredImageNet dataset에서의 차이는 미미했다고 하네요.

  •  저자들은 이것이 그들의 시스템이 overfitting의 영역에 들어가지 못 해서 그런 것이라고 해석했습니다. (사실, tiredImagaNet meta-training에서 94%까지의 정확도는 보았다고 하네요.)

 

 저자들의 결과는 더 많은 meta-training class들이 meta-learning embedding의 meta-training set에 대한 overfitting을 줄이는 것을 도와줄 수 있는 것을 보여준다고 합니다.

 

Various regularization techniques. Table 4는 ResNet-12로 이뤄진 MetaOptNet-SVM에서의 정규화 기법들에 대한 효과를 보여준다고 합니다.

  •  저자들은 few-shot learning에서의 초기 연구인 [28, 8]이 이러한 기법들을 적용하지 않았음을 알린다고 합니다.
  •  저자들은 regularization을 사용하지 않았을 때, ResNet-12의 성능은 조그마한 CNN정도의 성능으로 줄어든다고 하며, 이를 Table 3에서 보여주었다고 합니다.

 이는 meta-learner들을 위한 정규화의 중요성을 보여준다고 합니다. 저자들은 few-shot learning system들의 성능이 새로운 정규화 기법들을 도입함에 따라 더욱 향상될 수 있으리라 기대한다고 합니다.

 

Efficiency of dual optimization

 Dual optimization이 실제로 효과적이고 효율적인지 확인하기 위해, 저자들은 QP solver의 iteration을 변화해가며 meta-test의 정확도를 측정했다고 합니다.

  •  QP solover의 각 iteration은 KKT matrix의 LU decomposition을 통해 primal과 dual update를 계산하는 과정을 포함한다고 합니다.
  •  결과는 Figure3에 도시되어 있다고 합니다.

 

 QP solver는 just one iteration안에 ridgi regression objective의 최적점에 도달했다고 합니다.

  • 대안적으로, [3]에서 사용한 closed-form solution을 사용할 수도 있다고 합니다.

 

 또한, 저자들은 1-shot task들에 대해서, QP SVM solver가 비록 KKT condition이 정확히 만족 되지 않음을 관찰했지만, 1 iteration만에 optimal 정확도에 도달할 수 있었다고 합니다.

 

 5-shot task들에 대해서는, 심지어 QP SVM solver를 1 iteration만 돌렸음에도, other base learner들에비해 더 좋은 정확도를 달성할 수 있었다고 합니다.

 

 또한, 저자들은 SVM solver의 iteration이 1 iteration으로 제한 되었을 때, ridge regression solver와 계산 비용이 비슷했다는 것을 Table3에서 구체적인 수치로 보여주었다고 합니다.

 

 이러한 실험들은 SVM과 ridge regression의 dual objective를 푸는 것이 fet-shot setting 아래에서 매우 효율적임을 보여준다고 합니다.

 

Conclusions

 해당 논문에서, 저자들은 few-shot learning을 위해 convex base learner를 이용하는 meta-learning approach를 보여주었다고 합니다.

 

 Dual formulation과 KKT condition은 few-shot learning problem에 특히 적합한 meta-learning에서의 계산 효율과 메모리 효율을 허용하기 위해 십분 이용이 되었다고 합니다.

 

 Linear classifier는 약간의 computational cost의 증가 만으로, 최근접 이웃 분류기보다 더욱 좋은 일반화 성능을 제공했다고 합니다.

 

 저자들의 실험들은 정규화된 선형 모델들이 overfitting을 줄이면서도 상당히 높은 embedding dimension을 허용한다는 것을 보여주었다고 합니다.

 

 Future work으로는, 저자들은 kernel SVM들과 같은, 다른 convex base-learner에 대해서 해당 기법을 적용해보는 것을 목표로 하고 있다고 합니다.

  •  저자들은 이를 통해 task에 더 많은 훈련 데이터를 사용할 수 있게 되고, 모델의 capacity를 점진적으로 늘릴 수 있을 것이라고 얘기합니다.

 가짜연구소 5기 멀티태스크메타러닝-초읽기 아카데믹 러너 활동을 통해 위의 강의를 듣게 되었습니다.

 

 해당 스터디 활동의 조건은, 스터디에 참여하지 않은 사람들도 공부를 함께 할 수 있도록 하는 것이 원칙 중 하나기에, 스터디 과정 내 요약한 강의 요약본을 포스팅하게 되었습니다. 부족한 점이 있겠지만, 재미있게 봐주시면 감사하겠습니다!

 

Editor: 백승언

강의 슬라이드 링크: http://cs330.stanford.edu/fall2020/slides/cs330_intro.pdf

강의 링크: https://www.youtube.com/watch?v=0KWT9wIYoF8&list=PLoROMvodv4rOxuwpC_raecBCd5Jf54lEa

 

목차

  Plan for today

  Multi-task learning

    Model

    Objective

    Optimization

    Challenges

 

Plan for today

 이번 강의에서는 Multi-Task(MT) learning을 주로 다루며, transfer learning의 basic에 대해서도 다소 다룬다고 하심.

 

 MT learning에 대해서는 문제 정의, model, objectives, optimization 등에 다루고, 그다음 case study들에 대해서 다룬다고 하심. (이번 리뷰에서, case study는 제외했습니다!)

  • Youtube의 recommender system 등

 

Multi-task learning

MT learning에 대해 다루기 전에, 먼저 이후 강의에서도 사용할 notation에 대해서 먼저 정리해 주심.

  • x: input, y: output or label
    • 이미지, 텍스트 등등에 대해 사례를 들어 재밌게 설명해 주심
  • theta: parameters of neural network
  • neural network는 f_theta(y|x)로 표현!
  • Dataset D: input output pair
  • L: loss function

 

  또한, task는 무엇인지에 대해서 다시 formal하게 정의해주심.

  • A task: data set의 분포인 p_i(x), x에 대해 추론된 y의 분포인 p_i(y|x), 특정 task i에 대한 loss function L_i가 있을 때, task는 그것들의 집합으로써 정의됨.
    • T_i := {p_i(x), p_i(y|x), L_i}
    • 또한, task별로 training data set D_i^tr, D_i^test에 대해서도 notation을 알려주심. D_i^tr은 D_i로 편하게 쓰겠다고 하심!

 examples of multi-task problem에 대해서도 설명해주심

  • Multi-task classification
    •  오른쪽 위의 per-language handwriting recognition과 같은 task들의 경우, 모든 task의 loss function이 cross entropy로 동일.
    • spam filter의 경우도, L_i는 동일. 하지만 p(x)와 p(y|x)가 다름.
  • Multi-label learning
    •  loss function L_i, p_i(x)는 동일. 하지만, p(y|x)가 다름. 이것에 대한 예시로, scene understanding을 예제로 설명해주심.
    •  예제로 들어주신 scene understanding의 경우, 하나의 사진에서 instance segmentation, depth prediction 등 여러 task에 대한 label이 주어지고, 사진 하나에 대해 각 task들을 모두 예측/분류하는 것이 목표인 multi-task.
      • L_i가 동일하다고 표현하신 이유는, task별 loss function들을 weight하여 합쳐서 사용했기에 그런 것 같음.
  • 그러면, 언제 L_i가 task에 따라 달라질 수 있는가?
    • mixed discrete, continuous labels across task ⇒ 이해 정확히 안 됨
    • multiple metrics that you care about
      • spam filter의 경우, 해당 mail이 spam인지 ham인지
      • 추천 시스템의 경우, 유저의 개인별 만족도 등이 metric이 되는 경우

 

 model을 어떻게 학습하는가? task descriptor z_i를 통해 task들이 condition될 수 있다는 것을 가정하고 학습을 수행한다고 하심.

  • model의 input으로 task descriptor z_i를 입력받아서 model이 어떤 task를 해야 하는지 알려주는 컨셉
  •  이러한 z_i는 task의 개수에 따라 단순히 one-hot encoding으로 사용할 수도 있고, user혹은 language별 meta-data 등이 될 수 도 있다고 하심

 

 또한, Vanilla MTL objective function에 대해서 말씀하심. theta에 대해서, 모든 Loss L_i들을 각자의 task data set D_i에 대해 계산하여 합친 후, 최소화시키는 것.

 

 이 슬라이드 이후에는, the model, the objective and the optimization 기법들에 대해서 설명하고, 어떻게 z_i를 조건화하는지, 어떤 objective function을 사용해야 하는지, objective function을 어떻게 최적화해야 하는지에 대해서 말씀한다고 하심

 

Model

How should the model be conditioned on z_i?

what parameters of the model should be shared?

 

model이 어떻게 task에 대해서 condition될 것인가?

⇒ 기본적으로, z_i를 one-hot task index라고 가정해보자!

그러면, 어떻게 이런 z_i를 share할 것인가?

 

Conditioning on the task

 각 task별 model들은 독립적으로 학습시키고, 마지막에 gating 방식으로 하여 z_i를 사용하는 첫 번째 컨셉. 각 모델은 각기 다른 weight들로 수렴하도록 학습을 하게 됨.

 이전의 컨셉과 대척점에 있는 컨셉으로써, 단지 z_i를 거의 마지막 혹은 middle 쪽에 더해줌으로써, 각기 다른 task들이 모든 parameter들을 share하는 컨셉.

  •  z_i가 one-hot이라면, z_i에 바로 따라오는 weight의 경우, task별로 0 혹은 1이 곱해지기 때문에, 이 친구는 share에서 예외다! 라는 설명을 해주심

 

An alternative view on the multi-task architecture

 위의 컨셉과는 다른 방법으로써, 모델의 parameter theta를 shared parameter theta^sh와 task-specific parameter theta^i로 나누는 컨셉을 설명해주심

 

 몇몇 일반적인 conditioning 방법들에 대해서 설명을 해주심

Conditioning examples

 z_i를 input 혹은 중간의 정보에 concatenate하거나, 더하는 케이스. 이 두 가지는 정확히 같은 방법인데, 그 이유는 아래 그림처럼 z_i에 w_(z_i)를 곱하고 더하는, 일련의 계산 과정이 동일하기 때문이라는 것을 설명해주심.

 

 multi-head architecture: shared representation을 입력받은 후, task-specific layer들로 분기하는 형태의 구조.

multiplicative conditioning: z_i가 더해지면, 이를 linear layer를 통과시킨 후, input의 representation과 곱하는 형태의 구조.

  • ⇒ 이게 good idea인 이유는, adding, concatenating보다 더욱 표현력이 좋을 수 있기 때문(DNN이 universal appriximate estimator라는 것을 언급).
  • 또한, 앞서 언급된 independnet network, independent head의 일반화된 형태라는 것을 언급해주심

 

 추가적으로, 핀 교수님은 복잡한 conditioning example중의 일부를 가져와서 소개해주심. 어질어질하군용

불행하게도, 이러한 설계들은 1) 문제에 의존 적이고, 2) 연구자의 직관이나 지식에 의존적이며, 3) 과학보다는 art에 가까운 측면을 가지고 있다고 하심

 

Objective

How should the objective be formed?

 연구자들은 종종 vanilla MTL objective function을 그대로 사용하기보다는, task별로 weight을 다르게 주는 것을 원했다고 합니다. (맨 위 왼쪽 식 ⇒ 오른쪽 식)

 

 그러면, “task별로 이러한 weight들을 어떻게 선정할 것인가?”가 MTL에서의 objective function을 설계하는 데 있어 핵심적인 질문이 된다고 합니다.

 

 이를 manually tuning할 수도 있지만, 이는 좋은 방법이 아니라고 하심. 그러면서 이러한 weight들을 자동으로 조정하는 방법에 대해서 소개를 해주심

  •  various heuristic ⇒ gradients들이 simillar magnitude를 가질 수 있게끔 weight을 정해주는 방법(ICML 2018)
  •  task uncertainty를 사용하는 방법 ⇒ 특정 task의 uncertainty가 크다면, 해당 task의 uncertainty를 작게 만들 수 있도록 w_i를 튜닝하는 방법..! (CVPR 2018)
  •  pareto optimal solution을 향해, 점진적으로 개선하는 것 (Nips 2018)
  •  worst-case task loss를 최적화하는 것. (or task robustness or for fairness)

 

Optimization

How should the objective be optimized?

 설계된 objective를 어떻게 최적화할 것 인지에 대한 주제도 간단히 다룸. 먼저, basic version에 대해!

  •  먼저, task가 몇 개 안 된다면 모든 task에서 data를 sampling할 수도 있을 것이고, task가 많다면 task별로 mini-batch datapoints를 sampling할 수도 있을 것임.
  • 이에 대해서 loss를 계산하고, loss를 통해 gradient를 계산 ⇒ backprogate, ⇒ applying gradient!
  • 이때, loss의 scale이 동일할 수 있게, task별 loss에 weight을 곱해주는 과정이 필요할 수 도 있다는 얘기를 해주심

 

이다음 장부터는, MTL에서의 challenging components에 대해서 다룬다고 하심.

 

Challenges

 첫 번째로, negative transfer에 대해서 언급. 가끔은 independent network가 좋더라… Why?

  •  먼저, 최적화 과정에서의 어려움이 있기 때문. cross-task interference가 gardient를 어지럽힐 수 있고, 각 task들의 learning rate가 다를 수도 있다는 점을 언급해주심
  •  또한, limited representational capacity를 언급해주심. multi-task network는 종종 single-task network에 비하여 더욱 큰 capacity를 요구한다고 하심

 만약, negative transfer 현상이 발견되면, task별 shared parameter를 직접적으로 sharing하는 것이 아니라, soft하게 sharing하는 방법을 제안해주심.

  •  soft sharing의 경우, 저는 최적화 문제에서의 hard constraint / soft constraint와 비슷한 느낌으로 이해가 되는 것 같습니다.

 두 번째 어려운 요소로써, overfitting에 대해서 언급하심. 이는 충분히 sharing하지 않기 때문에 발생하는 문제라고 하네요..! MTL은 regularizing의 하나라고 간주할 수 있다고 하시며, 이를 해결하기 위해서는 sharing하는 parameter의 양을 늘리면 좋다고 추천해주셨습니다.

 

혹시나 끝까지 봐주신 분이 계시다면, 봐주셔서 감사하다는 말씀을 드리며 마무리 짓겠습니다!

 가짜연구소 5기 멀티태스크메타러닝-초읽기 아카데믹 러너 활동을 통해 위의 강의를 듣게 되었습니다.

 

 해당 스터디 활동의 조건은, 스터디에 참여하지 않은 사람들도 공부를 함께 할 수 있도록 하는 것이 원칙 중 하나기에, 스터디 과정 내 요약한 강의 요약본을 포스팅하게 되었습니다. 부족한 점이 있겠지만, 재미있게 봐주시면 감사하겠습니다!

 

Editor: 백승언

강의 슬라이드 링크: http://cs330.stanford.edu/fall2020/slides/cs330_intro.pdf

강의 링크: https://www.youtube.com/watch?v=0KWT9wIYoF8&list=PLoROMvodv4rOxuwpC_raecBCd5Jf54lEa

 

목차

  Ice braking

  Plan for lecture

  What is task?

  Critical assumption

  Informal problem definition(multi-task & meta learning)

 

Ice braking

첼시 핀 교수님께서 강의를 계획.

 multi task rl, hierarchical rl, skill discovery등을 연구한 구글 브레인의 Karol Hausman이 강의에 연사로써 참여

 

 해당 강의를 개강 하게된 이유 ⇒ multi-task learning과 meta-learning이라고 하는 기술들이 실제 세상에 영향을 많이 줄 수 있고, 중요하기 때문

 ex) youtube의 recommender system의 경우, multi-objective learning이 적용되었다고 함.

 

Plan for lecture

 multi-task learning , meta learning 등 deep learning technique을 강조한 뒤에, RL domain을 주로 다룰 예정이라고 하심. (6 lectures), AutoML 등은 이번 강의에서 다루지 않을 예정이라고 하심.

 

 why multi-task learning and meta-learning?

첼시 핀 교수는 agent들에게 breadth of skill을 학습할 수 있게 하는 연구를, 계시던 랩실에서 많이 했다고 하심.

robot 관련된 수행한 연구들에 대해서 설명해주심

 

 why robot?

Robot은 우리에게 intelligence가 무엇인지 가르쳐 줄 수 있다고 함.

 그들은 real world에 맞서서 task, object environments를 일반화할 수 있어야 하고, 또한 common sense에 대해 이해해야 동작을 잘하기 때문 등등이라고 함.

 

 첼시 핀 교수는 UC 버클리에서 robot을 가지고 연구를 했다고 하심. 비행기 조립하는 로봇을 연구했던 영상, red block을 큐브 안에 넣는 영상 등을 보여줌.

  •  그것 외에도, 문을 열거나, puck을 목표 지점으로 보내거나, atari game등등을 강화 학습이 해결할 수 있음에 대해서 소개해줌

 

 하지만, 이러한 알고리즘들은 조금 문제가 있다고 하며, 그것은 one task in one environmtn and starting from scratch라고함.

  •  만약 로봇한테 새로운 bowl을 주거나, 새로운 spatula를 주면, 로봇은 아무것도 못 한다. 처음부터 다시 학습해야 한다 라는 얘기를 함.
  • 또한, puck의 시작 위치나 goal 위치를 바꾸면 안 된다는 얘기도 함.

 

 그래서, 조금 더 general한 robot을 만들고 싶었다고 하며, 이러한 문제는 비단 RL의 문제는 아니고 machine translateion, speech recognition, object detection에서 또한 발생하는 문제라고 하심.

 

 첼시 핀 교수는 single env에서 single task를 해결하는 AI를 specialist라고 부르신다고 함.

또한, 교수님의 목표는 사람처럼 일반적인 skill, behavior를 다양한 환경에서 해결해내는 그런.. 것이라고 함. 이를 generalist라고 부르심. (영상은 아기가 single env에서 이것저것 다양한 behavior를 하는 것입니다!ㅋㅋㅋ)

=> 이 강의에서는 이러한 generalist AI system을 building하는 것을 주제로 한다고 하심.

 

 Why should we care about multi-task & meta-learning?

Deep learning의 deep이라는 토픽에 대해 얘기를 하며..

 

 2000년대 중반에는, CV 내에서, common techniuqe이 hand feature engineering이었다는 것과, 2012년에는 more modern AI system이 나왔으며, 이때 end-to-end task가 나왔다는 얘기를 꺼내심.

  •  deep learning은 unstructured input을 다룰 수 있도록 해주었다고 하며, 엄청나게 많은 domain knowledge를 어느 정도 덜 생각해도 되게끔 해주었다고 하심.
  • 2011~2016까지의 deep learning for OD(including AlexNet)에 대한 얘기를 하심.
  • google의 딥러닝 기반 Neural machine translation에 대한 얘기도 하심.

 

 그러면 왜 multi-task learning이고 왜 meta learning인가?

 물론 많고 다양한 데이터가 있으면 borad generalization이 되는 것이 맞다. 하지만, medical image, rare language 등에서는 많은 데이터가 있는가? 에 대한 질문을 던지심

 

 이런 몇 없는 데이터 혹은 long-tail 분포를 가지는 data에서 의미 있는 AI를 만드는 것은 어렵다는 얘기를 하심.

 

 그러면 왜 연구자들이 something new를 빠르게 학습하는 것이 필요한 것인가?

  • about a new person, about a new env, new task…?

 Braque와 Cezanne의 그림을 여러 개 보여주며, 오른쪽의 그림이 누가 그린 것인지 맞출 수 있겠냐고 여쭤보심 ⇒ 저는 세잔으로 골랐습니다.

 이게 바로 few shot learning이라고 하심. oh ho! 이는 이전의 경험 혹은 지식에서 빌려와서 우리가 6장만 보고 판단한 것이므로.

 

What is task?

 task는 dataset과 loss function이 주어져 있을 때, loss function을 최소로 하는 모델을 뽑을 때 그것을 task로 현재는 부르겠다고 하며, task는 다양할 수 있다는 얘기를 함.

 

Critical assumption

 multi-task and meta learning 관점에서의 배드 뉴스로, 각기 다른 task들이 structure를 공유해야 한다는 얘기를 하심. 이는 또한 굿 뉴스이기도 하다는 얘기를 하심.

  • e.g.) 뚜껑 따는 행동은 매우 비슷하다!
  • 이 task들이 보기에는 관계가 없어 보이더라도, 비슷하다. 여러 도메인에서 이와 유사하게 비유를 해서 얘기를 해주심.

 

Informal problem definition(multi-task & meta learning)

 multi-task learning problem은 각각의 task를 개별적으로 학습하는 것에 비해 빠르고 능숙하게, 모든 task들을 배우는 문제라고 함.

 meta learning problem은 previous task들에서 data/경험이 주어지면, 새로운 task를 빠르게 그리고/또는 더 능숙하게 학습하는 문제라고 함.

 

해당 강의는 이러한 문제들을 어떤 방법이든 해결하는 것에 대해 배우는 것!

 

Doesn’t multi-task learning reduce to single-task learning?

그냥 dataset 다 합치고 loss function 다 합치면 되는 것 아니냐~!

⇒ 그렇다! 물론 그렇게 하면 된다.

⇒ 그러나! 우리는 더 잘할 수 있다. 더 좋은 알고리즘을 개발할 수도 있고, 쨌든 그렇다.

 

 meta learning은 기존의 지식/데이터를 기반으로 새로운 task를 빠르고 능숙하게 해내는 것이라고 하면, multi-task learning은 동시에 여러 태스크들을 하는 것이라고 설명하심.

  •  이때 meta learning은 task별 single model/parameter들을 저장하고 접근하는 방식으로 해도 되고 등등 여러 직관에 대해 설명해주심

 

 Why should we study multi-task learning and meta-leaning?

 multi-task learning은 1990년 Caruana 교수님으로부터 아이디어가 나왔다고 합니다.

  • multi-task inductive transfer learning에 대한 아이디어를 생각했다고 하심

 1998 세바스찬 스런 교수님도 어떻게 사람이 정확히 task를 generalize 하는가 즉, few-shot learning에 대해 고민했으며, 이것은 이전의 유사한 경험들을 통해 exploit 할 수 있다 라는 골자의 연구를 했다고 하심

 

 Sami Bengio교수님은 1992에 새로운 태스크를 푸는 것을 학습하는 것에 대한 가능성을 연구했다고 하네요

 

 이렇든 연구자들은 multi-task learning과 meta-learning에 대해서 옛날부터 생각을 해왔다고 합니다..!!

 

 또한, 이러한 알고리즘들은 ML research에서 근본적인 role을 계속 이어가고 있다고 합니다.

  • 예를 들면, multilingual machine translation, one shot imitation learning in robot, sim2 real transfer larning 등등
  • next lecture에서 더욱 자세히 말할 google의 multiple objective function들을 최적화한 youtube의 recommender system 등.

 

 더욱이, multi-task learning, meta learning은 ML research에서 점점 더 중요해지는 역할을 맡게 될 것이라고 얘기합니다. 그러면서 search, 인용수 들이 점점 늘어나고 있다는 얘기를 하셨습니다.

 

 또한, 이러한 알고리즘들은 deep leaerning의 democratization에서도 중요한 역할을 할 것이라는 말씀을 하셨습니다.

  •  예를 들면, ImagaNet, WMT14 Englesh-French 등등은 엄청난 데이터셋을 요구로 하는데, 대조적으로 실제 세상에서 필요로 하는 몇몇 예제는 그만큼의 데이터를 제공할 수 없기 때문을 지적하며 설명했습니다.

 

 하지만 이 분야는 아직도 많은 질문들과 어려운 점들을 가지고 있다고 합니다. 이후 강의에서 얘기해 주실 듯하네요!

 

혹시나 끝까지 봐주신 분이 계시다면, 봐주셔서 감사하다는 말씀을 드리며 마무리 짓겠습니다!

가짜연구소 5기 멀티태스크메타러닝-초읽기 아카데믹 러너 활동을 통해 위의 논문을 읽게 되었습니다.

노션을 복붙 해오니 영 마음에 들진 않지만..! 제가 주로 다루는 분야가 아니기에, 가볍게 정리하는 느낌으로 가져가볼까 합니다.

 

Universal Language Model Fine-tuning for Text Classification

Abstract

  •  Inductive transfer learning은 CV에서 많은 impact를 주어 왔으나, NLP에서 많이 연구가 되지 않았음을 지적. 또한, task-specific한 modification이나 training from scratch가 필요했음을 언급.
  • 이에 저자들은 any task in NLP에 적용이 가능한 효율적인 transfer learning 기법인 Universal Language Model Fine-Tuning(ULMFiT)를 제안함. 그리고, language model을 fine tuning 하기 위한 핵심 기법을 소개함.
  • 저자들의 기법은 6개의 text classification task들에서 SOTA를 상당히 뛰어넘는 성능을 보여주었다고 함.
  • 뿐만 아니라, 단 100개의 labeled example 만으로, 백배 많은 data를 training from scratch한 것보다 좋은 성능을 보여주었다고 함.

 

Introduction

 Inductive transfer learning은 CV에서 많은 impact를 주어 왔다고 함. OD, classification, segmentation등 다양한 도메인에서, trained from scratch는 매우 드물다고 함. ImageNet, MS-COCO등으로 pre-train된 모델을 보통 사용하기에.

 

 NLP의 범주 중 하나인 text classification task는 spam, fraud and bot detection, emergency responce and commercial document classification 등등을 다룬다고 하는 것 같음.

 

 DL model들이 많은 NLP task들에서 SOTA를 성취해 왔음에도 불구, 이러한 모델들은 많은 데이터셋과 함께, scratch로부터 학습을 해왔다고 함.

 

NLP 도메인에서의 연구는 주로 transductive transfer에 초점을 두었다고 함. Inductive transfer 영역에서는 fine-tuning pre-trained word embedding 등의 model의 first layer만을 타겟으로하는 간단한 transfer technique많이 연구되어 왔다고 하는 것 같음.

 

 최근의 different layer의 input으로 다른 task로부터 유도된 embedding을 concatenate 하는 접근들은 아직도 main task model은 scratch부터 학습을 해야 하고, pretrained embedding들은 그것의 유용성이 제한되는, fixed parameter로 다뤄야 했다고 함.

 

 pretraining의 이점이 빛을 발하기 위해, 연구자들은 random 초기화보다 더욱 좋게 할 수 있어야만 한다?? 고함.

그러나, inductive transfer via fine-tuning은 NLP에서 성공적이지 못해 왔다고 함. 이전 연구 언급

 

 LM(Language Model)들은 small dataset에 오버피팅 되기도 하며, classifier와 함께 fine-tune 될 경우, catastrophic forgetting을 겪기도 한다고 함.

  • Compred to CV, NLP model들은 조금 더 shallow 하고, 그래서 조금은 다른 fine-tuning 기법들을 요구한다고 함
    • 저자들은 이러한 이슈들을 해결할 수 있고, 강건한 inductive transfer learning을 할 수 있는, ULMFiT라고 하는 새로운 기법을 제안한다고 함.
  • IMDB에서, 100개의 labeled example들과 함께, ULMFiT는 10배 이상의 training from scratch와 맞먹는 성능을 보여주었다고 하며, unlabeled data로 학습을 할 시에는 100배 이상의 성능을 보여주었다고 함.
  • Contribution
    • NLP의 any task로 CV 처럼 transfer learning 할 때 사용할 수 있는 ULMFiT를 제안
    • previous 지식을 유지하면서 새로운 기법을 배우고, fine tuning 동안 catastrophic 망각을 회피하기 위해, discriminative fine-tuning, slanted triangular learning rates, and gradual unfreezing등을 제안.
    • 6개의 text classification 과 관련된 majority dataset들에서 SOTA를 상당히 뛰어넘는 성능을 보여주었다고 함.
    • 제안된 기법이 굉장히 sample efficient transfer learning이라는 것을 보여주고, 광범위한 ablation study를 수행했다고 함
    • 저자들은 pre-trained model들과 코드를 공개함 멋지다…

 

Related work

  • Multi-task learning

 해당 접근법은 Rei, Liu등이 제안했으며, language modeling objective를 main task에 추가하는 방식으로 이루어졌었다고 함.

 MT learning은 매번 scratch로부터 훈련이 되어야 하는 task들을 필요로 한다고 하며, task-specific objective function의 weight들을 신중히 정해야 하는 비효율 적인 과정이 종종 필요하다고 함

 

  • Fine-tuning

 Fine-tuning은 similar task사이에 transfer를 성공적으로 하기 위해 사용되어 왔다고 함. 예를 들면 Min et al의 QA, severyn등의 distantly supervised sentimental analysis or MT domain 등을 언급.

 또한, Dai and Le도 LM을 fine tune 했다고 함. 그러나, 굉장히 많은 데이터셋을 필요로 했다고 함. 대조적으로, ULMFiT는 general-domain pretraining을 leverage하며, small dataset만으로 SOTA를 달성했다고 어필함

 

Methodology

 저자들은 NLP를 위한 inductive transfer learning에 흥미가 있다고 합니다. static source task $T_S$와 target task $T_T$가 주어졌다고 할 때, 저자들은 $T_T$의 성능을 개선할 것이라고 합니당.

 

 LM은 ideal source task로 보고 있다고 하며, CV에서의 ImageNet에 대항할 수 있는 task로 간주한다고 하는 것 같습니다.

이는 long-term dependencies, hierarchical relations, and sentiment 등의 언어 관련된 downstream task의 많은 측면을 capture할 수 있다고 말하는 것 같습니다.

 

 MT혹은 entailment와는 대조적으로, 제안하는 기법은 거의 무제한의 quantities for most domains and languages에를 제공한다고 함. 추가적으로, pretrained LM은 target task의 성능이 상당히 개선되는, 특이점에 쉽게 다다른다고 설명함.

 

 더욱이, LM은 Machine translation, dialogue modeling 같은 기존의 task들의 key component라고도 하는군용

공식적으로, LM은 많은 다른 NLP task들에 유용한, 가설 공간 H를 유도해낼 수 있다고 서술한 다른 논문들을 인용.

 

 저자들은 large general-domain corpus에서 pretrain하고, 새로운 기법을 사용해 target task에 fine-tune하는 ULMFiT를 제안했다고 함

이 기법은....!!

1) 다양한 document size, number and label type을 다루는 task들에 대해 동작하며

2) single architecture and training process를 가졌으며,

3) custum feature engineering or processing을 필요로 하지 않으며,

4) additional in-domain documents or label을 필요로 하지 않아, universal이라는 이름을 사용했다고 합니다.

 

 저자들은 또한, 백본 모델로 SOTA language model인 AWD-LSTM을 사용했다고 합니다. (a regular LSTM(no attention, short-cut connections) with various tuned dropout hyperparams)

 

 CV와 유사하게, 저자들은 미래에 NLP downstream task performance가 high-performance LM을 사용해서 향상되기를 기대한다고 합니다. 응?

 

ULMFiT는 1) General-domain LM pretraining 2) target task LM fine-tuning 3) target task classifier fine-tuning의 단계로 구성되어 있다고 합니다.

 

General-domain LM pretraining

ImageNet-like corpus for language는 거대해야 하며, language의 general property들을 capture해야 한다고 합니다.

그래서, 저자들은 28595 preprocessed wikipedia article들과 103 million words로 구성된, Wikitext-103에서 LM을 pretrain시켰다고 합니다.

pretraining은 small dataset을 가지는 task들에게 있어서 굉장한 이점이 있으며, 심지어 100개의 example만으로도 일반화를 할 수 있게 해 준다고 합니다. 하지만 비용이 매우 비싸기 때문에, 딱 한 번만 수행되면 좋다고 합니다.

Target task LM fine-tuning

pre training에 쓰인 general-domain data가 아무리 diverse하더라도, target task의 data는 다른 분포로부터 올 가능성이 있다고 서술. 그래서, 저자들은 target task의 data에 LM을 fine-tune했다고 합니다.

pretrained general-domain LM이 주어지면, 이 단계에서는 target data의 특이점에만 빠르게 적응하면 되므로, 수렴이 빠르다고 합니다. 그리고 이 과정은 small dataset에 robust한 train을 할 수 있도록 해준다고 합니다.

이때, 저자들은 뒤이어 설명할 discriminative fine-tuning and slanted triangular learning rates for fine-tuning the LM을 제안했다고 합니다.

 

  1. Discriminative fine-tuning

different layer들이 다른 타입의 정보를 capture 함에 따라, 그것들은 different extents에 fine-tune되어야 한다고 서술. 그래서, 저자들은 discriminative fine-tuning이라고 하는 새로운 기법을 제안했다고 합니다.

모델의 모든 layer들에 대해 같은 learning rate를 사용하는 대신에, discriminative fine-tuning은 각 레이어가 다른 learning rate들로 tuning되게끔 한다고 합니다.

SGD update에 따라 $\theta$를 업데이트한다고 할 때, 특정 time t에서

가 되는데, 이때 discriminative fine-tuning에서는 $\theta$를 $\{\theta^1, ... , \theta^L\}$ 요롷게 나누다고 합니당.

마찬가지로, learning rate eta역시 $\{\eta^1 , ... , \eta^L\}$ 요롷게 나눠진다구 하네용. 또한, 경험적으로 다음과 같이 설정했더니 잘 동작했다고 합니다.

 

  2. Slanted triangular learning rates

 제안하는 model의 parameter들이 task-specific feature에 adapting하게 하기 위해, 저자들은 model이 훈련 초기에 적절한 영역으로 빠르게 수렴한 다음, refine할 수 있도록 했다고 합니다.

 

 same learning rate를 사용하거나, annealed learning rate를 훈련하는 동안 사용하는 것은 이를 위한 best way가 아니었다고 합니다.

   ⇒ 대신에, 저자들은 STLR이라고 하는, 선형적으로 증가하다가 선형적으로 감소하는, 다음과 같은 schedule을 가진 STLR을 제안했다고 합니다.

 이때, T는 num of training iteration이며, cut_frac은 삼각형의 꼭짓점 위치인 것 같습니다. p는 얼마나 증가시키고 감소시킬 것인지에 대한 친구이며, ~~ 이때 저자들은 cut_frac을 0.1로, ratio를 32로, n_max를 0.01로 정했다고 합니다.

 

 SLTR은 triangular learning rates(Smith, 2017)을 short increase and a long decay period로 수정한 버전이며, 저자들이 좋은 성능을 얻기 위한 key였다고 합니다. CV에서도 Loschilov and Hutter 2017의 논문에서 유사한 스케쥴링을 했다고 합니다. (aggressive cosine annealing)

 

    3. Target task classifier fine-tuning

 또한, classifier를 fine-tuning 하기 위하여, 저자들은 pretrained LM에 두 개의 additional linear block들을 추가하였다고 함.

다음의 CV classifier의 standard practice에서는 각 block이 batch norm과 dropout with ReLU activations for the intermediate layer를 사용했고, last layerdml 각 출력 확률에 대해서는 softmax activation을 사용했다고 하네용.

 

 이러한 task-specific classfier layer들의 parameter들은 scratch로부터 학습이 된 유일한 친구라고 하며, 첫 번째 linear layer는 last hidden layer state들을 pool해서 사용했다고 합니다.

 

3-1. Concat pooling

 text classification task의 signal은 종종 few work들을 포함하고 있다고 하며, 이 친구들은 document 어디에서나 있다고 함. 입력 문서는 hundreds of words들로 이루어져 있으며, 만약 저자들이 last hidden state of the model만을 고려한다면, 정보는 get lost 될 수 도 있다고함.

 

이러한 이유로, 저자들은 document의 last time step $h_T$에서의 hidden state를 concat했다고 합니다.

 

3-2. Gradual unfreezing

 Fine-tuning the target classifier는 transfer learning 기법에서 가장 중요한 부분이라고 합니다. 너무 공격적인 fine tuning은 catastrophic forgetting을 야기할 수 있고, LM이 capture한 정보의 이점을 잃게끔 할 수도 있다고 합니다.

 

 그렇다고, 너무 신중한 fine-tuning은 slow convergence를 야기할 수 있다고 합니다. 게다가, discriminative fine-tuning and triangular learning rates를 이용하기 때문에, 저자들은 gradual unfreezing이라는 것을 제안했다고 합니다.

Gradual unfreezing ⇒ 모든 layer를 한 번에 fine tuning하는 것이 아니라, 점진적으로 model을 unfreeze하는 방식. 최소 정보를 가지는 last layer를 시작으로 한 layer씩 unfreeze! 한 epoch당 하나의 layer를 unfreeze하는 식으로 한다구 하네용. 이는 chain-thaw 라는 Felbo et al 2017과 유사하다고 합니다.

 

3-3. BPTT for Text Classification (BPT3C)

 LM은 BPTT를 통해 학습이 된다고 합니다. 그런데 large document에서의 classifier fine-tuning을 가능하게 하기 위해, 저자들은 BPT3C를 제안했다고 합니다.

 

 저자들은 document를 각 fixed length batches of size b로 분할하고, model의 hidden states를 previous batch의 final state로 초기화하는 방식을 사용했다고 하네요. mean, max pooling도 그대로 keep track했다고 합니다.

 

3-4. Bidirectional LM

 기존의 연구와 유사하게, 저자들은 해당 LM을 unidirectional 으로 제한하지 않고, forward and backward LM 모두를 pretrain 했다고 합니다.

 

Experiments

 저자들의 접근은 sequence labeling task들에 적용이 가능하지만, 저자들은 실제 세상의 적용을 위해 중요한 태스크인 text classification task에만 신경을 조금 써봤다고 합니다.

 

4.1 Experimental setup

Datasets and tasks ⇒ 저자들은 많이 연구되어온 6개의 dataset들을 이용했다고 함. 이는 SOTA text classification and transfer learning 기법들인 Johnson and Zang 2017, McCann et al 2017에서 사용했다고 하는 것 같음.

task는 sentimental analysis, question classification, topic classification이라구 하네용

 

  4.1.1 sentimental analysis

IMDB dataset의 binary movie review, binary and five-class version of the Yelp review dataset

 

  4.1.2 Question classification

six-class version of the small TREC dataset

 

  4.1.3 Topic classification

large-scale AG news and DBpedia ontology datasets

 

 Pre processing은 기존 Johnson and Zang, McCann et al과 동일하게 사용했다고 하며, HyperParam은 Merity et al의 AWD-LSTM 모델을 사용했다고 하는 것 같습니다. 특이한 점은 Adam에서의 beta 1 을 0.9 ⇒ 0.7을 썼다는 것 정도가 있을 것 같네용.

  ⇒ 모든 dataset에 대해 hyper param은 고정했다고 합니다.

 

 Baseline으로는 IMDb, TREC-6에서는 CoVe(McCann et al)를 선정하였고, AG, Yelp, DBpedia에서는 Johnson and Zang의 기법을 선정해서 비교를 수행했다고 합니다.

 

4.2 Results

error rates를 metric으로 하여 비교한 결과, 모든 데이터셋에서 꽤나 좋은 성능을 얻어냄. IMDb에서는 43.9% 정도로 에러율을 개선하는 정도.

 

Analysis and Ablation stydy

Impact of pretraining

pretraining을 하면 성능이 훨씬 좋다!

 

Impact of LM quality

LM으로 vanilla LM 말고, AWD-LSTM LM 사용한 것은 유효했다!

 

Impact of LM fine-tuning

Full 이라고 하는 fine-tuning 이전의 성능과 이후 성능 차이도 물론 차이가 나지만, discriminative learning rates, STLR 모두 유효했음을 보여줌

 

Impact of classifier fine-tuning

 from scratch, fine-tuning full model(’full), fint-tuning last layer(’last’), chain-thaw, gradual unfreezing (’freeze’) 등등의 효과를 확인. ‘Discr’, ‘Stlr’ 등의 효과를 확인 추가적으로, Strl을 떠올림에 있어서 영향을 받았던 aggressive cosine annealing schedule (’Cos’)도 적용해봄.

 

 그 결과, 제안하는 기법이 좋은 효과를 얻는다는 것을 보여줌. (over engineering 한 만큼 성능의 이점을 얻음을 보여준 느낌)

 

Classifier fine-tuning behavior

 저자들은 모델의 fine-tuning behavior를 조금 더 잘 이해하기 위해, fine-tung 하는 과정에서 ULMFiT와 ‘Full’의 validation error를 비교하는 실험도 수행했다고 하네용. 모든 dataset에서 fine-tuning the full model은 lowest error를 초기에 부여 주었다고 합니다.

 

 그다음, full model의 erorr는 model이 overfitting을 시작함에 따라 증가하였고, pretraining으로 capture했던 지식이 슬슬 잊혀졌다고 합니다.

 

 이와 대조적으로!! ULMFiT는 fine-tuning 과정 중에서도 performance가 유지되는 것을 볼 수 있었다고 합니다. 신기하네요.

Impact of bidirectionality

forward and backwards LM classifier를 사용할 경우, 0.5~0.7의 성능 향상이 있었다고 함. IMDB에서는 5.30에서 4.58까지 test error를 크게 줄였다고 보고함.

Discussion

저자들이 ULMFiT가 SOTA 성능을 달성한다는 것을 보여주었다고 함. 저자들은 LM fine-tuning은 기존의 transfer learning 접근들에 비교하면 꽤나 유용할 것이라고 믿는다고 함. 특히 a) NLP for non-english languages, b) new NLP tasks where no SOTA architecture exists c) limited amounts of labeled data가 있는 태스크들

transfer learning and 특히 fine-tuning for NLP가 under explore되어 있는 상황에서, 많은 미래의 연구 방향들이 가능할 것 같다고 함.

LM은 또한 multi-task learning fashion 혹은 enriched with additional super vision e.g. syntax-sensitive dependencies to create a model에 유효할 것이라고 함.

Conclusion

 저자들은 ULMFiT라고 하는, 어떤 NLP task에도 적용이 가능한, 효과적이고 극단적으로 sample 효율적인 transfer learning method를 제안했다고 함.

 

 또한, 저자들은 catastophic forgetting을 방지하기 위한, 그리고 다양한 range의 task들에 대해 강건한 학습이 가능한 몇몇 새로운 fine-tuning technique들을 제안했다고 함

 

 저자들의 기법은 기존의 transfer learning기법의 성능을 상당히 뛰어넘었으며, 6개의 표현적인 text classification task들에 대해서 SOTA를 달성했다고 합니다.

 

Appendix

가짜연구소 5기 멀티태스크메타러닝-초읽기 아카데믹 러너 활동을 통해 위의 논문을 읽게 되었습니다.

노션을 복붙 해오니 영 마음에 들진 않지만..! 제가 주로 다루는 분야가 아니기에, 가볍게 정리하는 느낌으로 가져가볼까 합니다.

 

Multi-Task Learning Using Uncertainty to Weight Losses for Scene Geometry and Semantics

Abstract

  • 다양한 딥러닝 application들은 multi-task learning으로부터 이점을 얻을 수 있다.
  • 이 논문에서, 저자들은 이러한 system들의 성능이 각 task들의 loss 사이의 상대적 weighting에 강하게 의존한다는 것을 보여준다고 함
  • 저자들은 각 태스크들의 불확실성을 동분산적으로 고려함으로써 다중의 loss function에 weight을 줄 수 있는 접근 방법을 제공한다.
    • 이는 classification과 regression setting 모두에서, 다양한 단위와 scale을 가지는 various quantity들을 동시에 학습하는 것을 가능하게끔 한다고 함
  • 저자들은 그들의 모델이 per-pixel depth regression, semantic 그리고 instance segmentaion등을 학습하는 것을 보여주었다고 함.
    • 여기서 놀라운 점은, 저자들의 모델이 multi-task weigithing을 학습했을 뿐만 아니라, 각각의 태스크를 학습한 개별 모델 들의 성능을 outperform 했다는 것이라고 함.

 

Introduction

 Multi-Task(MT) learning은 shared representation으로 부터, multiple 목적들을 학습하여, 예측의 정확도와 학습의 효율성을 개선하는 것에 목적을 둔다고 함

 

 MT leanring은 다양한 분야에서 좋으며, 저자들은 visual scene understanding 분야에서 MT learning을 연구했다고 함.

Scene understanding은 geometry와 semantics of the scene을 동시에 학습해야만 한다고 함

  ⇒ 다른 unit, scale등을 가지는 다양한 regression, classification 문제를 학습해야 하는 흥미로운 MT learning 문제임을 강조

 

또한, visual scene understanding에서의 Mt learning은 중요한데, 그 이유는 robotics 등에서 사용될 때, long computation run-time이 금지되기 때문이라고 함.

  ⇒ 모든 task를 하나의 모델에서 하게 되면, computation time을 감소시킬 수 있을 뿐만 아니라, 이러한 시스템들이 real-time으로 동작할 수 있게 해 준다고 함

 

 다양한 task를 동시에 학습하고자 할 때의 이전의 접근법은 단순히 loss들을 weighted sum하는 방법을 사용했다고 함.

그러나, 저자들은 MT model의 성능이 각 task들의 loss사이의 weighting의 적절한 선택에 강하게 의존한다는 것을 보여주고, 이러한 manual tuning은 좋지 않다는 얘기를 함.

 

 이 논문에서, 저자들은 homoscedastic uncertainty를 이용해서, 다양한 목적함수 들을 동시에 학습하기 위한 multiple loss function들의 compining의 좋은 방법을 제안했다고 함.

 

 저자들은 homoscedastic uncertainty를 task-dependent weighting으로 번역 하고, 다양한 regression과 classification task를 균형 있게 학습할 수 있는, 주된 MT loss function이 어떻게 유도되는지를 보여주었다고 함.

  ⇒ 또한, 이렇게 weigthing들을 최적으로 학습할 수 있는 저자들의 방법은, 각 task를 individually 학습 하는 것에 비하여 더 좋은 성능을 내었다고 함.

구체적으로, 저자들은 scene geometry와 3개의 semantic task 들을 학습할 수 있는 저자들의 method를 보여주었다고 함.

  1. 저자들은 pixel level에서 object를 분류하였음 (semantic segmentation)
  2. 저자들은 instance segmentation이라고 하는, image 내에서의 각 individual object의 seperate mask를 segmenting 하는 어려운 태스크를 수행함
  3. 마지막으로, 저자들의 모델은 pixel-wise metric depth를 예측했다고 함. 이는 굉장히 어려운 태스크라고함.

 그리하여, 한 장의 monocular input image가 주어지면, 저자들의 시스템은 먼저, semantic sgmentation을 제공하고, metric depth를 추정하고, instance level을 추정한다고 함.

 다른 MT learning을 수행한 비전 관련 모델들이 보여주어 온 것과 달리, 저자들은 semantic들과 geometry를 어떻게 함께 학습하는지를 보여준다고 함.

 

 마지막으로, 저자들은 MT learning의 shared representation을 사용하는 것이 다양한 metric의 성능을 개선하는 것과, 모델을 효율적으로 학습할 수 있다는 것을 보여주었다고 함.

요악하면, 해당 논문의 key contribution들은 다음과 같다고 함.

  1. homoscedastic task uncertainty를 이용해서, 새롭고 원칙적인, 다양한 quantity들과 unit들에 대해 다양한 classification과 regression losse들을 동시에 학습할 수 있는 multi-task loss를 설계
  2. semantic segmentation, instance segmentation 그리고 depth regression을 위한 통합된 아키텍쳐를 설계
  3. multi-task DL에서의 loss weighting의 중요성을 보여주고, 어떻게 이것이 separately trained model에 비해 우수한 성능을 얻는지를 보여줌.

 관련 연구들에 대해서 언급한 뒤…

더욱 중요한 것은, 모든 이전의 기법들은 naive weighted sum of losses를 사용해서 multiple task들을 동시에 학습했다는 것에 대해서 강조.

  ⇒ 해당 연구에서 저자들은 homoscedastic task uncertainty를 이용해서, 다양한 목적함수 들을 동시에 학습할 수 있는, multiple loss funcdtion들을 combining하는 방법에 대한 원칙적인 방법을 제공하였다고 함.

 

Methodology

Multi task learning with Homoscedastic Uncertainty

  1. MT leaning은 중요하다! 단순한 접근은 each individual task에 대한 loss들의 합을 weighted linear sum 하는 것이다 라는 것을 보여줌.
    1. 또한, 다양한 이전 연구들을 인용하며, 이것이 주된 접근이었다는 것에 대해서 설명을 수행함.
    2. 이 방법은 여러 이슈가 있는데, 일단, 명백하게 모델의 성능이 weight selection에 너무 극심하게 예민하다는 것을 먼저 언급함. 또한, 이를 tuning하는 것은 너무나 비싼 과정이라고 함.

        ⇒ 그러므로, optimal weights를 학습할 수 있는 더욱 편리한 접근법을 찾는 것이 필요하다고 강조함.

 

    2. Homoscedastic uncertainty as task-dependent uncertainty

    Bayesian modeling 에서, uncertainty는 두 개의 주된 타입으로 모델링 될 수 있다고 함.

  • Epistemic uncertainty: 모델 내에서의 불확실성으로, 모델이 data의 부족으로 인해 무엇을 모르는지에 대해 알려줄 수 있다고 함.
  • Aleatoric uncertainty: 우리의 data가 설명할 수 없는 정보에 대해, 불확실 성을 capture할 수 있다고 함.
    • 이는 또한, data-dependent or heteroscedastic uncertainty와 task-dependent or homoscedastic uncertatinty로 분류할 수 있다고 함.
    • Data-dependent or heteroscedastic uncertainty: input data와 예측된 model output에 의존적인 불확실성?
    • Task-dependent or homoscedastic uncertainty: input data에 의존적이지 않은 불확실성. 이는 모델 출력이 아니라, 모든 입력 데이터에 대해 일정하게 유지되며, 다른 task들 사이에서 변하는 양. 따라서, task-dependent uncertainty라고 할 수 있다고 함

 multi-task setting에서, 저자들은 task uncertainty가 task들 사이의 relative confidence를 capture 할 수 있음과, regression or classfication task의 내재된 불확실 성을 반영할 수 있는 것을 보여준다고 함.

 

 또한, 이는 trask의 표현 or unit or measure에 의존적인 것을 보여주나 봄(중요한 듯)

저자들은 multi-task learning 문제에서 loss를 wighting 하기 위한 기초로써 homoscedastic unceretainty를 사용할 수 있음을 제안한다고 함.

  1. Multi-task lidelihoods

 저자들은 gaussian likelihood with homoscedastic uncertainty를 최대화하는 것을 기반으로 하여 multi-task loss function을 유도하는 것을 이 장에서 보여준다고 함.

 

 regression task들에서, 저자들은 Gaussian with mean given by the model output으로써 likelihood를 정의했다고 함. sigma는 observation noise scalar라고 한다네요…

 

 classification task에서, 연구자들은 종종 model output을 softmax function을 통해서 squash한다고 합니다. 그리고, probability vector를 결과로부터 sampling 한다고 합니다.

 

 multiple model ouput의 경우, 연구자들은 종종 likelihood를 몇몇 충분한 통계치들이 정해질 경우, output들의 factorise로써 정의한다고 합니다. 그리고 다음과 같은 multi-task likelihood를 얻는다고 합니다.

  • In maximum likelihood inference, 저자들은 model의 log likelihood를 최대화한다고 합니다. 예를 들어 regression에서, log likelihood는 다음과 같이 서술할 수 있다고 합니다.
    • 이는 $\sigma$ 라고 하는 output들이 얼마나 많은 noise를 가지고 있는지를 capture할 수 있는 model의 obserevation noise parameter 를 표준편차로 가지는 gaussian log likelihood라고 하네요

그러면, 저자들은 model parameter W와 observation noise parameter $\sigma$를 이용해서 model에 따른 log likelihood를 maximise 할 수 있다고 하네요.

  •  Regression의 경우, 저자들의 모델의 output이 two vector $y_1$, $y_2$로 구성되어 있다고 가정하게 되면, 불확실성 p는 다음과 같이 계산할 수 있다고 합니다.

 

이는 minimisation objective L(W,sigma_1,sigma_2) for thier multi-output model을 다음과 같이 정의해준다고 합니다.

이때, 저자들은 first output variable 의 loss를 다음과 같이 사용했다고 하며, L2(W) 역시 동일하다고 합니다.

 

저자들은 위의 sigma_1, sigma_2로 이뤄진 objective를 최소화하는 것을, 데이터에 기반하여 L1(w) 및 L2(w)의 상대적 가중치를 적응적으로 학습하는 것으로 해석했다고 함.

$\sigma_1$이 증가함에 따라, L1(w)가 줄어든다는 것을 얘기함. 이와 반대로, $\sigma_1$이 감소하면, L1(w)이 증가함을 얘기함. 그런데, 마지막 항은 그와 반대로 움직임. ⇒ regularaizer의 역할을 수행

  • Classification의 경우, 조금 더 흥미롭다고 얘기함. 저자들은 classification likelihood를 softmax를 이용해 squash 했다고 함.

 이는 boltzmann distribution으로 해석할 수 있다고 함. sigma^2의 역할은 temperature. 이 출력의 log likelihood는 다음과 같이 쓸 수 있다고 함.

f^W_c(x)는 c’th element of the vector f^W(x)}라고 함.

 

  • 마지막으로, continuous output y_1과 discrete output y_2로 이뤄진 multiple output을 가정하였을 때의 손실 함수 L(W,sigma_1, sigma_2)에 대해서 알아봅시다

여기서, 마지막 term의 경우, 다음의 가정을 두어서 log(sigma_2)가 튀어나온 것이라고 합니다.

다양한 조합의 regression & classification task에서의 loss는 위의 결과들을 확장하여 손쉽게 얻을 수 있다고 합니다.

 

Scene understanding model

semantic 들과 geometry를 이해하기 위해, 저자들은 fixel level에서 regression and classification output들을 학습할 수 있는 아키텍쳐를 제안했다고 함.

저자들은 convolutional encoder-decoder network 구조를 차용했으며, encoder들은 shared representation을 만들어 내고, task-specific convolutional decoder들이 그 뒤를 따른다고 자신들의 아키텍쳐를 설명함.

그다음, 저자들은 network를 각각의 task에 대해 separate decoder들로 나누었다고 함. decoder의 목적은 shared feature로부터 output으로의 mapping을 학습하기 위한 목적이라고 함.

  1. Semantic segmentation

pixel-wise class probability를 학습하기 위해, cross-entropy loss를 사용. 각 mini-batch에서 semantic label의 pixel별 loss를 평균

 

  2. Instance segmentation

 

 regression appraoch를 사용. object parts로부터 Hough votes를 사용하여 instance들을 식별하는 [28]에서 영감을 받았다고 함. 이를 DL로 바꾼 것.

pixel’s instance i_n의 중심 포인트인 각 pixel coordinate c_n에 대해 instance vector \hat x_n을 학습하였다고 함.?? i_n=\hat x_n+c_n

 

   3. Depth regression

 

또한, 다음의 loss function을 사용해서 저자들은 pixel-wise metric inverse depth를 이용하는 supervised label을 훈련

그들의 아키텍쳐는 inverse depth $\hat d_n$을 추정하는데, 왜냐하면, 이는 하늘과 같은 infinite distance를 표현할 수 있기 때문이라고 함.

 

Experiments

Dataset으로는 CitySpaces를 활용. 이는 road scene understanding을 위한 large dataset이라고 하네용.

  • 저자들은 여러 단순한 multi-task loss들과 비교를 수행함
    • uniform weighting 의경우, 좋지 않은 성능을 보여줌
    • 최적의 weight을 근사하는 경우(hand tuning)에는 task 숫자가 많아지면 비용이 너무 올라간다는 문제가 존재.
    • 저자들이 제안한 방법은 fine-grained grid search를 통해 얻은 optimal weight에 비하여 높은 성능을 보여주었다고 함.

 

Conclusion

 저자들은 multi-task learning problem에서, 가장 중요한 것이 correctly weighting loss term이라는 것을 보여주었다고 함.

또한, 저자들은 homoscedastic uncertainty가 weight losses의 효율적인 방법임을 보여주었다고 함.

 

 저자들은 weight initialization에 robust한, data로부터 자동으로 weighting하는 것을 학습 가능한 principled loss function을 유도해 냈다고 함.

 

 저자들은 이를 이용하면 unified architecture에서 3개의 scene understanding task의 성능이 개선되는 것이 가능하다는 것을 보여줌

 

 저자들은 task-dependent homoscedastic uncertainty가 각각의 task를 분리하여 학습하는 모델에 비하여, model의 표현과 각 태스크의 성능을 개선할 수 있음을 보여주었다고 함.

 

 There are many interesting questions left unanswered. Firstly, our results show that there is usually not a single optimal weighting for all tasks. Therefore, what is the optimal weighting? Is multitask learning is an ill-posed optimisation problem without a single higher-level goal?

 

 A second interesting question is where the optimal location is for splitting the shared encoder network into separate decoders for each task? And, what network depth is best for the shared multi-task representation?

 

Finally, why do the semantics and depth tasks outperform the semantics and instance tasks results in Table 1?

 

 Clearly the three tasks explored in this paper are complimentary and useful for learning a rich representation about the scene.

 It would be beneficial to be able to quantify the relationship between tasks and how useful they would be for multitask representation learning.

+ Recent posts