2020/09/28

2020. 9. 27. 09:14NewsLetter

최근 소식

  • Neurips 2020 Accept Notification이 어제 오전 10시에 나왔습니다 (acceptance rate은 약 20%라고 합니다.). 아직 accepted papers 목록이나 pdf가 공개되진 않았지만, twitter를 통해서 검색해보시면 꽤나 많은 수의 accepted papers를 찾아보실 수 있습니다. (accept된 논문들을 트윗으로 홍보하시는 연구자들 부럽... ㅠ.ㅠ)

[S1] ExGAN: Adversarial Generation of Extreme Samples

논문 원문: https://arxiv.org/pdf/2009.08454v1.pdf (Arxiv 20)

한줄평: 매우 극단적인 경우를 GAN으로 뽑아보자

  • 자연재해나 금융위기, 코로나와 같은 펜데믹 같은 극단적인 사건들은 사회에 끼치는 큰 영향에 비해 발생 빈도가 낮아 모델링하기 매우 어렵습니다.
  • 특히 최신의 딥러닝 기법들의 경우 데이터의 분포를 학습하기 때문에 이러한 낮은 빈도의 사건들을 학습하기 매우 어렵다는 특징이 있습니다.
  • 하지만 무작정 극단적인 사건들을 임의로 만들어 내기에는 현실성이 전혀 없는 사건들에 대해 생성할 가능성이 있기 때문에 이러한 극단적인 사건에 대해 모델링 작업은 매우 어렵습니다.
  • ExGAN에서는 이렇게 발생 빈도는 매우 낮지만 현실적인 사건들 (이 논문에서는 강우)에 대해 생성하는 모델 기법을 소개하였습니다.
  • 이 task에서 중요한 점은 매우 극단적인 현상(발생 가능성 0.1% 미만)이면서도 현실적인 사건을 생성할 수 있어야 하며, 사용자가 사건의 확률값을 지정 가능하며, 생성 시간이 매우 빨라야했습니다.
  • ExGAN에서는 conditional DCGAN을 사용하였으며, 각 사건에 극단성(extremeness) 지표를 이용하여 사건(논문에서는 강수에 대한 기상도)에 대해 점수를 매긴 후 학습에 사용하였습니다.
  • 전체 데이터에 대해 학습을 진행한 후 그 중에서 가장 극단적인 사건들과 generator로 만든 데이터 중 극단적인 사건을 모아 다시 데이터를 구성한 후 학습시키는 과정을 반복하여 극단적인 사건에 대해서도 잘 학습할 수 있도록 하였습니다.
  • 또한 학습시 극단성에 대한 분포(Generalized Pareto Distribution, GPD)의 파라미터를 conditional로 학습하여 사용자가 원하는 극단성에 대한 사건을 생성할 수 있도록 하였습니다.
  • basline인 DCGAN과 같이 ExGAN을 2010년부터 2020년의 미국 강수 데이터로 학습하고 비교한 결과 ExGAN이 DCGAN에 비해 극단적인 사건을 생성하는데에 정성적, 정량적 모두 우수한 결과를 보였으며, ExGAN은 사용자가 원하는 사건을 한번에 생성할 수 있어 매우 짧은 상수 시간 안에 생성을 할 수 있는데에 비해 DCGAN은 만족할 수준의 사건을 생성하기 위해 여러번 반복해서 생성해야 하기 때문에 지수 시간의 생성시간이 걸렸습니다.

[S2] Understanding the role of individual units in a deep neural network

논문 원문: https://arxiv.org/pdf/2009.05041v2.pdf (PNAS 20)

한줄평: 네트워크 각각의 유닛의 역할은 정해져있다.

  • 학습을 잘하는 네트워크를 만들기 위한 여러가지 기법들이 많이 제안되었지만, 실질적으로 네트워크의 각 유닛들의 역할에 대해서 연구된 바가 별로 없는 거 같습니다.
  • 더 좋은 모델들을 만들기 위해서는 모델들의 각 구성요소의 대한 세밀한 이해가 필요하기에 이번 논문은 네트워크(convolution network를 포함하는)의 각 유닛의 역할에 대해서 분석을 해보았습니다.
  • 이 논문에서는 image classification 모델(VGG16), image generation 모델(progressive GAN)에 대해 각각 학습하고 input과 output 그리고 모델들을 이루는 유닛의 activation을 분석하여 유닛들의 역할에 대해 분석하였습니다.
  • 특히 시각적으로 의미론적인 분석을 위해 image segmentation을 이용하여 이미지의 각 부분에 대한 정보를 얻었습니다.
  • 첫번째로 image classification 모델에서는 각 레이어 별로 이미지에서 집중하는 부분에 대한 분포가 달랐으며, 끝단으로 갈수록 더 많은 부분을 신경쓰는 모습을 보였습니다.
  • 또한 한 레이어의 유닛에서도 주어진 이미지 내에서 집중하는 부분이 달랐는데, 예를 들어 스키장 리조트로 classification하는 이미지에서는 눈, 산꼭대기, 집, 나무꼭대기 등에 대해 집중하는 유닛들이 활성화되었습니다.
  • 한 레이어에서 이렇게 한 이미지 클래스를 판별하는 가장 중요한 유닛들 20개를 제거하였을 때는 그 클래스의 판별하는 정확도가 20%정도 떨어졌지만 가장 중요한 유닛 20개를 제외한 나머지 유닛들을 제거하였을때는 3.7%만 떨어지는 모습을 보여주었습니다.
  • 두번째로 image generation 모델에서도 레이어 별로 집중하는 분포가 달랐는데, image classification과 다르게 중간에서 가장 많은 부분을 신경쓰는 모습을 보였습니다.
  • 마친가지로 image generation 모델에서도 레이어별로 주로 담당하는 유닛들이 존재하였고, 이 유닛들을 제거하였을 때는 생성된 이미지에서 그 유닛이 담당하는 물체는 제거되고 다른 부분은 변함이 없는 모습을 보여주었습니다.
  • 이러한 결과를 바탕으로 기존에 정확한 이해가 부족했던 adversarial attack에 대한 이해를 위한 분석등이 가능하며 또한 semantic painting에 대한 application도 가능하였습니다.

[S3] Bayesian Perceptron: Towards fully Bayesian Neural Networks

논문 원문: https://arxiv.org/pdf/2009.01730v2.pdf (Arxiv 20)

한줄평: 확률적인 Bayesian perceptron은 이렇게 동작합니다.

  • 화려한 성능의 딥러닝에서 모델을 이루는 작은 유닛을 보통 perceptron이라고 하며 흔히 사용되는 perceptron은 determinstic하거나 one point estimate으로 동작합니다.
  • 따라서 많은 task에서 매우 우수한 성능을 보이고 있기는 하나 정말로 정확도가 보장되어야 하는 의료분야나 자율주행, 인간-로봇 협업 등에서는 robustness가 보장되지 않기 때문에 사용에 꺼려지고 있습니다.
  • 이러한 기존의 standard NN의 한계를 극복하기 위해 Bayesian inference를 접목하는 시도로 이번 논문에서는 Bayesian perceptron의 training과 inference시에서 closed-form의 동작에 대해 제안하였습니다.
  • 이 논문에서는 크게 두가지 타입의 activation function (sigmoidal function, piece-wise linear function)에 대해 가정하고 있고, 기본적으로 모두 Gaussian distribution을 가정하고 있습니다.
  • 논문에서는 inference(forward pass)와 training(backward pass) 과정에서 Bayesian perceptron의 동작에 대해서 상세히 설명하고 있습니다.
  • 또한 Bayesian perceptron으로 이루어진 모델로 linear binary classification 문제와 nonlinear regression 문제에 대해 학습을 진행하고 성능을 검증하였습니다.
  • Bayesian NN은 기존의 standard NN이 제공하지 못하는 결과에 대한 확률적인 해석까지 제공하고 있다는 편의성을 검증할 수 있었습니다.

[L1] SYNTHESIZER: Rethinking Self-Attention in Transformer Models

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

한줄평: Attention이라는건 애시당초 뭐인걸까?

Motivation

Attention이 2014년에 나온 이후로, 지금까지도 많은 주목을 받고 있습니다. 개인적인 생각으로는, 오히려 Attention이 활용되는 빈도나 중요성은 시간이 지날수록 더욱더 커지고 있는것 같습니다. Attention을 더 빠르게 만드는 연구나, 더 general하게 만드는 연구들을 본 뉴스레터를 통해서 소개해드린적이 있습니다. 오늘 소개드릴 연구는, attention이라는게 꼭 필요할까?에 주목한 논문입니다.

Transformer를 예로 들자면, 우리는 attention을 계산할 때, query와 key를 구성해서 dot-product와 softmax function을 기반으로 attention weight를 구합니다. query와 key가, 동일한 encoder 혹은 decoder에서 도출될 경우에는 self-attention이라고 부르기도 합니다. (decoder에서 encoder로의 attention을 cross attention 혹은, cross-sentence attention이라고 종종 부르기도 합니다.) 이러한 방식의 attention이 정말로 필요한것일까요?

Synthesizer Model

본 연구에서는 Synthesizer라는 새로운 방법론을 제안합니다. 말 그대로, attention weight (alignment matrix)를 합성하는것을 의미합니다. 여러가지 모델들을 소개하고 있는데, 하나씩 살펴보도록 하겠습니다.

먼저, Dense Synthesizer 입니다. input XRl×dX \in R^{l\times d} matrix를 받아서, FF라는 함수를 통해서, $ l \times l $크기의 행렬을 만들어냅니다. 아래식에서, σR\sigma_{R}은 ReLU activation 함수를 의미하며, G(X)G(X)는 기존의 attention에서의 value와 동일하다고 생각하시면 됩니다. 

기존의 attention과 다른점이 보이시나요? 여기서는 더이상, attention weight가 query와 key 사이의 interaction으로 만들어지는것이 아니라, query로만 만들어지고 있습니다! 다만, query라는 input 기반으로 attention이 local하게 만들어진다는 점은 기존과 동일합니다.

그 다음으로는, Random Synthesizer 입니다. 여기서는, attention weight가 local하게 만들어지 않고, global하게 만들어집니다. 무슨말이냐구요? 기존의 attention들은 계산되는 attention weight가 input마다 달랐습니다. 하지만, random synthesizer는 공통의 attention matrix RR을 가지고 있습니다. 이 matrix RR을 random 하게 initialize시키고 모델에 활용합니다. 물론 이 RR은 학습될수도 있으며, 학습시키지 않고 고정시킬수도 있습니다 (Fixed).

본 연구에서는 이외에도 두가지 실험을 더 해보았습니다. 첫번째 추가확장은 Factorization입니다. 위에서 소개해드린 dense와 random synthesizer는 긴 input에 대해서는 모두 많은 parameter를 필요로 합니다. Dense의 경우에는 d×ld\times l 크기의 행렬을, random synthesizer는 l×ll\times l 크기의 행렬을 학습시켜야 합니다. 그 까닭에, 여기서는 parameter를 줄이기 위해서 low-rank로 factorize 한 모델을 제안하고 있습니다.

Factorized Dense Synthesizer는 Dense를 아래와 같이 factorize시켰습니다. 여기서 HAH_AHBH_B는 tiling function입니다 (첫번째 column 값을 그대로 복사 붙여넣어서, 크기를 채우는 행렬이라고 생각하시면 됩니다.) 위에서와 다르게, 여기서는 AABBl×1l\times 1 크기의 행렬입니다.

마찬가지로 random에 대해서도, 다음과 같이 factorize를 적용해볼 수 있습니다 (Factorized Random Synthesizer). 즉, RR이라는 l×ll\times l크기의 행렬을, l×kl\times k 크기의 R1,R2R_{1},R_{2} 두 행렬의 곱으로 분해해서 parameter수를 줄인것이라고 해석할 수 있습니다.

두번째 확장은, 이러한 Synthesizer들을 여러가지 합성해보면 어떨까? 입니다. 예를들어서, random factorized 와 standard dense synthesizers를 아래와 같이 합성해볼 수 있습니다.

Results

이를 기반으로, Machine Translation (NMT), Language Modeling (LM), Summarization, Dialogue Generation, GLUE, SuperGLUE 에 대해서 실험하였습니다.

먼저, NMT 및 LM에 대한 실험입니다. 놀라운것은 Fixed Random조차도 어느정도는 괜찮은 성능을 보이고 있고, Random (learnable alignment matrix)은 기존의 Transformer와 다소 떨어지긴 하지만, 유사한 성능을 내고 있다는 점입니다. 그리고 비교적 상이한 성격의 alignment matrix를 결합한, random과 vanilla를 함게 결합한 모델이 가장 좋은 성능을 내고 있습니다.

Dialogue에서는 보다 신기한일이 벌어졌습니다. 먼저, dialogue에서는 Transformer가 좋은 성능을 내지 못하고 있습니다. 본 연구에서 제시하는 모델 중, Random을 제외하고는 모두 기존의 Transformer보다 좋은 성능을 내고 있습니다. Transformer와 D+V 모두 좋은 성능을 내지 못하는걸 보면, dialogue를 위해서는 기존의 Transformer를 많이 개선시킬 필요가 있어보입니다.

GLUE와 SuperGLUE에서는 Vanilla 모델의 우수성이 돋보인 실험이었습니다. 본 논문에서 제시하는 R과 D 만으로는 Base 모델을 이기진 못하였습니다. 다만, R+V는 base모델의 성능을 상회하고 있었습니다. 이는, 최근에 나온 fixed pattern의 random alignment matrix를 attention으로 활용하는 여러모델과 결이 비슷하다고 볼 수 있습니다.

Conclusion

Attention은 아직 미지의 영역이라고 저는 생각합니다. 특히나, Transformer와 같이 attention을 깊게 쌓은 구조에서는 더더욱 그렇구요. 최근에 attention 연구를 진행하면서, 기존의 attention이 굉장히 이상하게 작동함에도 불구하고 성능이 좋은것을 보고, random하게 attention을 줘도 잘 되지 않을까? 라고 생각한적이 있었습니다. 그 까닭에, 본 논문을 보고 방향이 비슷해서 깜짝 놀라기도 했고, 그 만큼 더 관심깊게 읽게 되었습니다. Self-attention만 필요한 경우에는, 기존의 attention이 반드시 필요하다고 말하기는 힘들겠지만, cross-attention이 필요한 경우에는 아직까지 기존의 attention 작동방식이 필요해보입니다 (아직까지는요!).



'NewsLetter' 카테고리의 다른 글

2020/09/21  (0) 2020.09.20
2020/09/14  (0) 2020.09.20
2020/08/24  (1) 2020.09.20
2020/08/17  (0) 2020.09.20
2020/08/10  (0) 2020.09.20