2020/08/03

2020. 9. 20. 09:33NewsLetter

최근 소식


[S1] Go Wide, Then Narrow: Efficient Training of Deep Thin Networks

논문 원문: https://arxiv.org/pdf/2002.09564.pdf (ICML-20)

한줄평: 일단 넓은 모델을 학습시키고 그 다음에 줄이자!

  • 모델의 높은 성능와 동시에 낮은 latency와 적은 메모리를 위해서는 깊고 가는(deep thin) 구조가 필요합니다.
  • 처음부터 깊고 가는 모델을 학습시키기 어려우므로 model compression 관점에서 깊고 가는 구조를 학습시키는 방법을 제시했습니다.
  • 먼저 목표로 하는 모델과 같은 깊이지만 더 넓은 모델을 converge할 때까지 학습을 시킵니다. (이 모델을 B={B1,B2,,Bn}B=\{B_1, B_2, \dots, B_n\}라고 하고)
  • 학습된 모델의 각 block에서 더 가는 구조를 만들고 block 사이에 linear transformation(Mi,1M_{i,1}:넓히는, Mi,2M_{i,2}:좁히는)을 넣어서 초기화를 시킵니다. (이 모델을 S={S1,M1,1,M1,2S2,M1,2,Mn1,2,Sn}S = \{ S_1, M_{1,1}, M_{1, 2} S_2, M_{1,2} \dots, M_{n-1, 2}, S_n\}라고 하겠습니다. Sˉi=[Mi1,2,Si,Mi,1]\bar{S}_i = [M_{i-1, 2}, S_i, M_{i, 1}])
  • 모든 i에 대해서 B(:i)(x)=(BiBi1B1)(x)B_{(:i)}(x)=(B_i \circ B_{i-1} \circ \dots B_1)(x)S(:i)(x)=(SˉiSˉi1Sˉ1)(x)S_{(:i)}(x)=(\bar{S}_i \circ \bar{S}_{i-1} \circ \dots \bar{S}_1)(x)의 차이가 최소화하도록 S와 M을 학습시키면 B와 S는 이제 거의 같아집니다.
  • 마지막으로 학습된 S를 finetuning하면 깊고 가는 네트워크 구조 완성입니다.
  • 이러한 방식으로 학습을 시키면 더 좁은 error bound를 만들 수 있음을 mean field analysis로 증명까지 했습니다.
  • 이 방법론을 증명하기 위해 ResNet과 BERT 모델에 대해 적용한 결과 ResNet50의 구조로 기존의 ResNet101의 성능을, BERT base모델의 구조로 기존의 BERT large의 성능을 얻어내는데에도 성공했습니다.

[S2] Do Adversarially Robust ImageNet Models Transfer Better?

논문 원문: https://arxiv.org/pdf/2002.09564.pdf (Arxiv-20)

한줄평: Adversarially robust한 모델이 더 transfer가 잘되더라

  • Transfer learning은 source task의 정보를 활용하여 target task를 더 잘 하도록 하는 기법입니다.
  • 일반적으로 trasfer learning에는 source task에서 학습시킨 후 target task에 대해 전체 파라미터를 재학습하는 full-network와 앞단은 학습하지 않고 마지막 단만 학습시키는 fixed-feature가 있습니다.
  • 기존에는 막연하게 source task에서의 더 좋은 성능의 모델이 transfer 후 성능이 좋을거라는 믿음이 있었습니다.
  • ImageNet 데이터를 학습한 여러 크기의 ResNet 모델에 대해 다양한 ϵ\epsilon으로 adversarially robust하게 학습시키고 Aircraft, CIFAR-10, CIFAR-100, Food, SUN397, Caltech-101 등의 데이터에 대해 full-network, fixed-feature transfer한 결과 adversarially robust한 모델들이 standard 모델보다 대부분 성능이 뛰어났습니다.
  • 그리고 object detection이나 image segmentation task에도 backbone으로 학습한 결과 adversarially robust한 모델들이 더 좋았습니다.
  • Adversarially robust하게 되면서 일반적으로 source task에 대한 성능도 향상되는 것이 알려졌지만, robust로 인해 transfer 성능이 향상됨과 source task의 성능향상으로 인해 transfer 성능이 향상되는 것을 실험적으로 분리해서 검증하여 robust로 인한 효과를 보여주었습니다.
  • 추가로 데이터셋마다 다른 ϵ\epsilon값이 최적값이 다른데 데이터간의 feature 차이와 ϵ\epsilon의 관계로 이러한 현상을 설명하였습니다.

[S3] TSIT: A Simple and Versatile Framework for Image-to-Image Translation

논문 원문: https://arxiv.org/pdf/2002.09564.pdf (ECCV-20)

한줄평: 어떤 task건 image translation은 이 모델이면 다 됨!

  • Image-to-Image translation은 source image의 representation을 바꿔서 target image로 변환하는 기술입니다.
  • Image-to-image translation에는 데이터에 따라 supervised와 unsupervised로 나뉠 수 있고, source image domain과 target image domain에 따라 다양한 task가 존재합니다.
  • 이 task에 맞는 특성을 고려한 특별한 구조나 학습 방식으로 인해 기존의 모델들은 한정된 task만 수행가능했습니다.
  • 그러나 이 논문에 따르면 하나의 쉽고 간단한 구조의 모델(TSIT, Two-Stream Image-to-image Translation)로 supervised와 unsupervised의 다양한 image translation task를 학습할 수 있습니다.
  • 모델의 구조는 content의 정보를 추출하는 content stream과 style의 정보를 추출하는 style stream 그리고 추출된 정보를 바탕으로 이미지를 생성하는 generator와 discriminator로 구성되어 있습니다.
  • content와 style의 정보를 포함한 feature는 multi scale로 추출이 되며, 그 scale에 맞게 generator로 반영이 되어 generator는 multi scale의 정보를 바탕으로 이미지 생성이 가능합니다.
  • 학습 방식은 기존의 모델들과 유사하게 GAN기반으로 generator와 discriminator의 adversarial loss에 perceptual loss와 feature matching loss가 추가된 objective function을 최적화합니다.
  • 모델의 성능을 검증하기 위해 arbitrary style transfer(unsuper), semantic image synthesis(super), multi-model image synthesis(diversity)의 task로 사용했고, 비교를 위해 기존의 SOTA모델들인 MUNIT, DMIT, CRN, SIMS, pix2pixHD, SPADE, CC_FPSE 등의 baseline과 비교하였습니다.
  • TSIT 모델이 기존의 SOTA모델에 비해 좀더 자연스러운 이미지를 생성하였으며, 특히 여러 상황들에 대해 더 robust한 모습을 보여주었습니다.
  • 정량적인 평가에 대해서도 기존의 모델에 비해 대부분 더 뛰어난 것으로 확인할 수 있었습니다.
  • 비교한 baseline들이 각 task에 특화된 SOTA모델임에도 단일 모델로 여러 task에 대해 크게 부족하지 않은 성능을 보여준 것이 인상적입니다.

[L1] Your Classifier is Secretly an Energy Based Model and You Should Treat it Like One

한줄요약: Generative Model과 Discriminant 모델의 장점을 결합할 순 없을까?

논문 원문: https://arxiv.org/pdf/1912.03263.pdf (ICLR-20)

Motivation

논문 제목이 재미있거나 특이한 경우가 많습니다. 아무래도 쏟아져 나오는 논문의 수가 많다 보니깐, 제목을 잘 지어야 하는 필요성도 커지는것 같습니다. 이 논문의 제목 또한 매우 재미있지 않나요? 제목을 보고는, 도저히 클릭하지 않고 넘어갈 수가 없었습니다.

본 논문에서 타겟으로 하는것은 딱 하나 입니다. Generative Model과, Discriminant Model의 장점을 결합해보자! 사실 그동안 많은 연구들이 있었지만, Generative Model과 Discriminant Model은 비교적 독립적으로 연구되어온 논문들이 많습니다. Generative Model 자체를 발전시키거나, Discriminant Model 자체를 발전 시키는 연구들이 대부분이었구요. 이 두가지를 왜 결합해야 하냐구요?!

과거부터, Generative Model은 semi-supervised learning, imputation, calibration of uncertainty 등의 여러가지 downstream task 에서 좋은 성능을 내는것으로 "알려져" 있습니다. 하지만, 실제로 그럴까요? 이에 대해서는 많은 논쟁이 있을 수 있지만, 많은 Generative Model 관련 연구들은 위의 Task와 관련된 결과들보다는, Generative Model이 생성하는 Sample 의 Quality에만 집중하는 경향이 많았습니다.

그 사이에, Discriminant model은 계속 발전되어서, Generative Model이 강점을 가질 것이라고 "믿어져 왔던" 위의 down stream task에서 좋은 성능을 보이고 있습니다. 실제로, 위의 task 들에서 가장 좋은 성능을 보이는 모델들은 Discriminant model 인 경우가 많습니다. 그렇다고 Generative Model을 연구할 가치가 없는걸까요? 저는 아니라고 생각하고 있고, 본 논문의 저자도 두 모델의 연결고리를 찾고, 더 나은 모델을 제안하고 있습니다.

Preliminary

방법론으로 넘어가기전에, 이 논문의 제목을 다시 한번 보도록 하겠습니다. "Energy Based Model (EBM)"이 제목에 들어가 있는것을 알 수 있습니다. EBM은 Generative Model의 한가지 방법론입니다. Generative Model은, Likelihood base, Adversarial base로 분류할수 있으며, (요즘엔 Gradient based 관련 generative model도 존재합니다!) EBM은 Likelihood base 모델에 속합니다.

EBM은 observation xRDx\in R^D에 대한 확률 분포 pθ(x)p_\theta(x)를 다음과 같이 모델링하고 있습니다.

잠깐 notation을 살펴보고 가겠습니다.

  • 여기서 Eθ(x)E_\theta(x)가 energy function이라고 불리는 것으로, DD dimension의 각 data xx를 scalar로 변환시켜주는 함수입니다.
  • Z(θ)Z(\theta)xexp(Eθ(x))dx\int_x exp(-E_\theta(x))dx로, normalize를 위한 함수입니다. (Softmax 의 분모에 존재하는 normalize와 같은 용도입니다!)

여기 Z(θ)Z(\theta)에서 EBM의 어려움이 시작되는데, 이 Z(θ)Z(\theta)를 정확하게 계산하는것이 쉽지 않기 때문입니다. (금방 뒤에서 나오게 됩니다!)

EBM은 어떻게 학습시킬 수 있을까요? 우리가 일반적인 classification에서 log를 취해서 계산하는것처럼, EBM도 log marginal likelihood인 logpθ(x)\log p_{\theta}(x)를 maximize 하도록 학습 됩니다. 그에 대한 gradient 는 아래와 같습니다.

여기서, 문제! 이 gradient중, 어느 부분에서 어려움이 발생할까요? 바로 오른쪽 side의 첫번째 항 입니다. Epθ(x)E_{p_{\theta}(x')} 여기서 추정할 수 있듯이, 우리는 sample xx'을 뽑아야 하지만, 그것이 쉽지 않습니다. 왜냐하면, 우리는 pθ(x)=exp(Eθ(x))Z(θ)p_\theta(x)=\frac{exp(-E_\theta(x))}{Z(\theta)} 와 같이 정의했고, Z(θ)Z(\theta)를 정확하게 계산할 수 없기 때문에, sample을 쉽게 뽑아내지 못하기 때문이니다.

이렇게 EBM과 같은 Unnormalized density modeling을 학습하기 위한 방법으로는 score matching, noise contrastive estimation 등의 방법론들이 있으며, 본 논문에서는 MCMC 기반 (보다 구체적으로는 Stochastic Gradient Langevin, SGLD) 으로 sampling을 진행하였습니다.

Methodology

우리는 많은 상황에서 Classification Task를 수행합니다. Image Classification은 물론이고, Text Classification, 그리고 더 나아가 Sentence Generation Task 등에서도, 현 시점에서 어떠한 단어를 내 보낼것인지 Classification 하는 작업이 필요합니다. 이러한 Classification을 위한 방법론은 굉장히 많이 존재하지만, 다음과 같은 Softmax 기반의 Classification 방법론이 가장 일반적이고 널리 쓰이고 있습니다. 우리의 Classifier가 fθ(x)f_\theta(x)라면, 아래와 같이 우리는 class를 예측합니다.

여기서 fθ(x)[y]f_\theta(x)[y]는 classifier의 y번째 index의 output을 의미합니다. 즉, y번째 logit인 셈이죠!

혹시 어떠한 생각이 머릿속을 스치고 지나가지 않았나요? 네 맞아요! EBM! EBM 수식을 보고, 위의 softmax 기반의 classification 식을 보니, 무언가 많이 닮아있죠? 이 식과 EBM 이제 연결해보겠습니다!

이 식을 기반으로, (x,y)(x,y) joint에 대한 EBM을 다음과 같이 정의할 수 있습니다.

그리고, 맨 위에서 정의한 EBM과의 연관성을 보기 위해서, y를 marginalize out 해보겠습니다. 그럼 다음과 같이 적을 수 있습니다.

Preliminary 부분에서 정의한 pθ(x)=exp(Eθ(x))Z(θ)p_\theta(x)=\frac{exp(-E_\theta(x))}{Z(\theta)}와 연결이 되시나요? 만약 우리가 아래와 같이 Energy를 정의하면, 똑같아집니다!

(Eq.7)⁍ (Eq. 7)

결론은 다음과 같습니다. 본 연구에서는 다음과 같은 모델을 만들었고, 이를 JEM (Joint Energy based Model)으로 명명합니다.

여기서, pθ(yx)p_{\theta}(y|x)는 일반적인 discriminant model의 classifier를 나타내고, pθ(x)p_\theta(x)는 EBM 모델을 나타냅니다. 두개가 어떻게 연결되어 있냐구요?

  • 임의의 원하는 discriminant classifier fθ(x)f_\theta (x)를 정의합니다.
  • fθ(x)f_\theta (x)를 기반으로, pθ(yx)p_{\theta}(y|x)를 모델링 합니다.
  • fθ(x)f_\theta (x)를 기반으로, Energy function을 만든 다음 (Eq. 7) pθ(x)p_{\theta}(x)를 모델링합니다.

위의 불렛포인트 과정을 그림으로 보면 아래와 같습니다.

정리하자면, JEM은 logpθ(x,y)=logpθ(yx)+logpθ(x)\log p_\theta(x,y)=\log p_{\theta}(y|x)+\log p_{\theta}(x)를 모델링하고, logpθ(yx)\log p_{\theta}(y|x)logpθ(x)\log p_{\theta}(x)는 Eq. 7으로 연결되어 있습니다. 한가지 더 짚고 넘어갈 점은, Classifier fθf_{\theta}는 logits의 shift에 영향을 받지 않는것에 비해 (예를들어, softmax의 input이 (40, 50)일때의 output과, (40+10,50+10)일때의 output은 같습니다!), JEM은 logpθ(x)\log p_{\theta}(x)에 의해, 영향을 받게 됩니다.

Results

본 논문에서는 JEM모델을 총 4가지 Task에 대해서 실험을 진행하였습니다. Classification, Calibration, Out-of-Distribution Detection, Robustness 입니다. 여기서는 Classification과 Calibration에 대해서 요약을 해보도록 하겠습니다.

CIFAR-10에서의 Classification 실험결과 입니다. 본 모델에서 제안하는 JEM이 Hybrid Model 중에서는 가장 좋은 Accuracy와 Inception Score (IS)를 보이고 있습니다. 물론, Discriminant Model인 Wide-Resnet 대비, Accuracy가 낮긴 하지만, 기존의 다른 Generative Model들 대비 아주 좋은 성능을 보이고 있습니다.

다음으로는 Calibration Task 입니다. Calibration은 모델의 output이 얼마나 uncertainty를 잘 표현하는지를 나타내는지를 확인하는 Task 입니다. 부정확한 모델의 결과가 큰 손실을 초래할 수 있는 상황에서는, 이러한 uncertainty를 고려한 모델이 더욱 필요하기 때문에, 최근들어 많이 연구되고 있는 분야중 하나 입니다.

본 연구에서는 CIFAR-100에 대해서 Calibration Task를 수행하였으며, 그 결과는 위와 같습니다. x축이 모델의 confidence 값을 의미하며, y축은 accuracy를 의미합니다. 즉, 가장 이상적인 상황은 파란색 점선과 같이, 모델의 confidence 값과 y축이 align 되는것입니다. 여기서는 confidence를 다음과 같이, softmax output 중에서 가장 큰 값으로 설정하였습니다.

confidence=confidence = ⁍

기존의 Baseline 모델은 잘 calibrate 되어 있지 않지만, JEM은 confidence와 accuracy가 align되어있는 것을 확인할 수 있습니다.

Conclusion

본 연구는 Generative Model과 Discriminant Model을 연결짓는 JEM이라는 새로운 Hybrid Model을 제안하고 있습니다. JEM을 통해서, 여러 Task에서 Generative Model과 Discriminant Model의 격차를 줄이기도 하였습니다. 다만, Energy Based Model을 학습할 때에 활용되는 MCMC 기반의 방법론에서 발생할 수 있는 불안정성 때문에, JEM의 학습과정 또한 불안정 할 수 있을것 같습니다. Unnormalized density를 추정할 수 있는 더 좋은 방법들이 연구된다면, JEM이 제시한 Energy Based Model 기반의 Hybrid Model은 더욱 빛을 발할 수 있을 것 같습니다.


'NewsLetter' 카테고리의 다른 글

2020/08/24  (1) 2020.09.20
2020/08/17  (0) 2020.09.20
2020/08/10  (0) 2020.09.20
2020/07/27  (0) 2020.09.20
2020/07/20  (0) 2020.09.20