2020/08/24

2020. 9. 20. 09:34NewsLetter

최근 소식

  • 8월 20일 미국의 고등방위연구계획국(DARPA)에서 진행한 모의 공중전 대회에서 인간 전투기 조종사를 상대로 AI 조종사가 5대 0으로 압승을 거두었습니다. 전투기는 F16을 사용했고 5가지 기본 전투기 기동 시나리오를 바탕으로 진행되었습니다. 영상도 공개되었는데 이런 결과에 조종사도 당황한 것으로 보입니다. (기사, 영상)
  • SK텔레콤에서 Machine Learning 관련 컨퍼런스를 개최한다고 합니다. 9월10일부터 9월12일까지 개최된다고 하네요. 온라인으로 진행되며, 관심 있는 분들은 아래 링크에서 신청 가능합니다! (개인적으로 Yoon Kim님과 Hanbyul Joo님 발표가 굉장히 기대되네요!)

[S1] Superposition of many models into one

논문 원문: https://arxiv.org/pdf/1902.05522.pdf (Neurips-19)

한줄평: 여러개의 모델 parameter를 하나의 parameter로 중첩시키자.

  • 여러가지 Task에서, Neural Network가 널리 쓰이고 있습니다.
  • 우리가 사용하는 Neural Network는, 다른 Machine Learning 알고리즘들에 비해서 비교적 많은 parameter를 가지고 있습니다.
  • 우리는 이러한 parameter를 효율적으로 쓰고 있을까요?
  • 실제로 모델이 학습되고 나서, parameter의 많은 부분을 pruning 해도 성능이 유지되는 경우가 많습니다.
  • 그 말은, 지금 우리가 사용하는 parameter에, 여러가지 다른 정보들을 더 담을 수 있다는 말도 됩니다. 즉, task1을 잘하는 parameter w1, task2를 잘하는 parameter w2 등을 하나의 w에 담을 수 있다는 것입니다.
  • 본 연구에서는 weight w를 memory로 접근합니다. w에는 w1, w2, w3, ... 등이 담겨져 있다고 가정합니다. 그리고 특정 task가 들어오면, 해당 task에 알맞는 weight만 꺼내서 사용하는 형식입니다. (w를 메모리로 바라보다니, 저에게는 정말 참신했습니다.)
  • 본 연구는 continual learning관점에서 해석할 수 있고, 또는 학습 초기부터의 parameter pruning으로도 바라볼 수 있을것 같습니다. (일반적인 pruning은 학습 후에 진행되는것과 대조되는 부분입니다.)

[S2] Avoiding Latent Variable Collapse with Generative Skip Models

논문 원문: https://arxiv.org/pdf/1807.04863.pdf (AISTATS-19)

한줄평: Latent Variable Z를 Decoder의 매 layer마다 넣어주자.

  • Variational Autoencoders (VAE)는 high-dimensional data의 distribution을 학습할 때에 많이 활용됩니다.
  • 하지만, 이러한 VAE는 latent variable collapse 라는 문제가 있는것으로 널리 알려져 있습니다.
  • Posterior q(zx)q(z|x)가 prior p(z)p(z)와 동일해지는 현상입니다. 즉, posterior가 data와 무관해지는 경향을 의미합니다.
Source: Avoiding Latent Variable Collapse with Generative Skip Models
  • 본 연구에서는, skip-layer를 latent variable collapse를 위해서 활용해보았습니다. 즉, latent z를 decoder의 매 layer마다 추가시켜줌으로써, x와 z 사이의 mutual information을 향상시키고자 하였습니다 (dimension이 다를 수 있는것을 고려하기 위해 linear layer를 하나 추가하여 skip-layer를 구현하였습니다).
  • 그리고 이러한 mutual information 향상을 이론적으로 입증하기도 하였습니다. (간단하게 요약 드리자면, 직전의 layer일수록 dependency가 크다는 정보이론 내용을 가지고 와서 증명을 시도합니다.)
  • 본 연구에서 제시하는 모델인 SKIP-VAE를 MNIST, Omniglot, 그리고 Yahoo corpus에 대해서 실험을 진행하였습니다. latent variable collapse가 비교적 크게 일어나는 autoregressive 환경에서의 실험이었던 Yahoo corpus에서 Mutual Information이 크게 향상되는 것을 확인할 수 있었습니다.

[S3] Generative Modeling by Estimating Gradients of the Data Distribution

논문 원문: https://arxiv.org/pdf/1907.05600.pdf (Neurips-19)

한줄평: Log-density gradient 추정기반의 새로운 generative model을 만들어보자!

  • Data 생성을 위한 Generative Model은 중요하고, 여러가지 방향으로 발전되어 왔습니다.
  • 이러한 Generative 모델은 크게 2가지로 분류될 수 있는데, 첫번째는 likelihood-based 방법론이며, 두번째는 generative adversarial network 기반의 방법론 입니다. (물론 Flow-GAN과 같이, 이 두가지는 함께 결합될 수 있습니다.)
  • VAE 또는 Flow 기반의 방법론이 likelihood-based, 그리고 GAN이 adversarial based 라고 볼 수 있습니다.
  • 본 연구에서는, likelihood based 방법론은 모델 구조에 제약이 있거나 (Flow), surrogate loss를 사용해야 하는 단점이 있다고 말합니다 (VAE). 그리고, adversarial 기반의 방법론은 학습이 unstable 하다는 단점이 있습니다.
  • 그 까닭에, 본 연구에서는 제 3의 generative model 방법론을 제안합니다. 바로... gradient 기반입니다!
Source: Generative Modeling by Estimating Gradients of the Data Distribution
  • 위의 식이 바로 Langevin dynamics 입니다. x~0\widetilde{x}_{0}를 prior에서 뽑기만 하면, x~1\widetilde{x}_{1}은 log-density gradient와 random noise zz를 기반으로 생성 가능합니다.
  • 즉! Langevin dynamics를 활용하면, log-density gradient (또는 score function)만으로도, p(x)p(x)에서의 sampling이 가능하다는 뜻입니다 (정말 색다른 방식이죠? ㅎㅎ).
  • 아, score function은 score matching 이라는 방법론으로 추정이 가능합니다! (물론 high-diemsnion으로 가면, 추정이 어렵기 때문에, denoising score matching, sliced score matching 등의 방법론으로 발전되고 있습니다!)

[L1] Big Bird: Transformers for Longer Sequences

한줄요약: Transformer 내의 Attention을 바꿔서, 더 긴 task를 처리해보자

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

Introduction

태초 혼돈의 시기에 하나의 영웅이 등장했으니 그의 이름은 Transformer였습니다. 기존에 RNN 계열이 대세를 이루며 순서를 가진 데이터들을 모조리 RNN으로 해결하려는 그 시기에 홀연히 등장하여 이름 그대로 우리에겐 attention만이 필요할 뿐이라고 외쳤습니다. 그리고 전설이 되었습니다. 영웅은 거기서 그치지 않고 한쪽을 BERT라 하고 다른 한쪽을 GPT라하니 지금까지도 그들의 찬란한 행보가 많은 사람들에게 사랑을 받고 있습니다.

사실 따로 강조하지 않아도 워낙 BERT나 GPT 그리고 Transformer의 좋은 성능으로 인해 딥러닝을 깊게 알지 않는 사람도 알정도로 너무나도 유명한 모델들 그리고 결과물입니다. 또 여러 기법들이 적용되고 task에 따라 수많은 변형 모델들이 나와서 그들 사이에서도 계보를 따로 정리해야 할 정도입니다. 이렇게 엄청난 성능이 알려지긴 하였으나 아직도 쉽게 사용할 수 없는 모델들입니다.

최근에 악용이 두려워 공개조차 꺼려졌던 이전작 GPT2에 이어 사람보다 더 글을 잘 쓴다고 알려진 GPT3의 경우 약 175B개의 파라미터로 이루어져 있으며 약 300B개의 데이터셋으로 학습을 하였다고 합니다. 아무리 성능이 좋다고 알려져 있어도 이를 학습하기 위한 데이터셋이 엄청나게 필요하며 모델 자체도 너무나 크기 때문에 일반 연구자들은 이를 올릴 GPU조차 구하기 힘듭니다.

이렇게 많은 데이터셋과 큰 모델이 필요한 이유는 Transformer(BERT, GPT 포함) 계열을 이루는 주요 구조가 multihead self attention이며 데이터 배열의 모든 조합을 다 계산하기 때문에 메모리적으로 많은 부담이 됩니다. 길이가 길어지면 길어질수록 더 많은 메모리를 필요로하게 되어 매우 긴 문장에 대해서 모델의 성능자체도 문제지만, 이를 올릴 메모리가 점차 커져야 한다는 한계가 존재합니다.

기존의 모든 조합을 다 계산하는 방식의 attention을 full attention이라고 부르면, 이 full attention은 배열간의 모든 조합을 연산하여 quadratic dependency가 존재한다고 말할 수 있습니다. 이러한 full attention의 계산적 부담을 덜기 위해 현재까지에도 여러가지 attention 방식의 개선에 대해 연구가 되고 있습니다 (저희 기사에서도 다룬적이 있습니다. Transformers are RNNs 기사 확인하기!). 그리고 이번 논문에서는 더 효율적으로 계산할 수 있는 attention 방식인 Big bird를 제안했습니다.

Big bird의 attention은 세가지(random, local, global)로 이루어져 있으며 기존의 quadratic한 연산을 linear하게 할 수 있습니다. 그리고 이 방식이 기존의 full attention의 특성이 유지된다는 것에 대한 이론적은 근거를 위해 두가지를 증명하였습니다. 그리고 Big bird 방식은 특히 긴 sequence에서 탁월한 성능을 보여주는데 이를 기존의 NLP task와 유전 정보에 대한 task를 통해서 성능을 입증하였습니다.

Big bird의 구조

Big bird의 attention 방식은 위와 같이 3가지 구조를 합한 것입니다. 논문에서는 이론적인 설명과 증명을 위해 attention구조를 graph관점으로 설명을 진행합니다. 하지만 이 기사에서는 이론적인 설명과 증명을 깊게 다루진 않고 기본적인 구조에 대해서만 설명을 드리려고 합니다.

특이하게도 이 논문 같은 경우 이론적인 내용이 많아 총 논문의 장수는 50장이 넘지만 자세한 증명은 모두 appendix로 빼서 appendix를 제외한 내용은 14장입니다. 그 나머지는 이론적인 증명을 포함한 appendix와 reference list(이 페이지만 해도 3장이 넘습니다!)입니다. 단순히 성능적인 면을 개선한 것 뿐 아니라 이론적으로 접근하여 Transformer를 더 깊이 이해하기 위한 시도가 개인적으로 이 논문의 놀라운 점인거 같습니다.

각 attention의 구조를 살펴보면 다음과 같습니다. 첫번째는 random attention으로 각각의 query가 랜덤한 r개의 key에 집중(attend)하는 형태로 attention map을 그리면 위와 그림에서 (a)처럼 그려지게 됩니다. 두번째는 이웃한 토큰에만 집중하는 window attention입니다. 언어적인 구조에 기반하여 인접한 토큰(혹은 단어)에 가장 큰 영향을 받는 점을 모델링한 것입니다. 그래서 이 attention의 경우 locality를 강조하여 양 옆으로 일정 거리 떨어진 토큰에 집중하는 형태입니다. 마지막은 global attention입니다. 저자들의 실험에 따르면 가장 크리티컬한 attention이 이 global attention이라고 합니다. Global attention이 중요한 이유는 global token 때문인데, global token은 모든 token에 집중하면서도 모든 token으로부터 집중받는 token입니다. 이 global token을 어떻게 설정하는지에 따라 저자들은 Big bird-itc(internal)과 Big bird-etc(extended construction)로 구분합니다. itc의 경우 기존의 token 중 일부를 global token으로 만드는 것이고, etc의 경우 CLS와 같이 별도의 token을 도입하여 그 token들을 global token으로 만드는 것입니다.

그래서 Big Bird 방식이라고 함은 위에서 설명한 세가지 attention 방식을 모두 더한 (d)와 같은 형태의 attention입니다. 이러한 attention의 경우 그림에서도 볼 수 있듯이 빈 부분(흰색)이 존재하는 sparse한 형태입니다. 빈 부분이 있다는 것은 이 정보를 이용하지 않는다는 점이고, 모든 부분을 다 사용하는 full attention과 비교했을 때는 사용하지 않는 정보가 있어 성능상 떨어질 것이라는 생각이 듭니다. 이 논문에서는 저자들이 이론적인 관점에서 이러한 sparse한 attention이 full attention의 특성을 모두 만족시킨다는 점을 증명하였습니다.

이 논문에서 저자들이 증명하는 것은 두가지 입니다. 첫번째로는 이 sparse한 attention을 가진 block으로 이루어진 encoder가 sequence to sequence function의 universal approximator라는 것과 두번째로는 이러한 sparse encoder-decoder의 transformer가 Turing Complete하다는 점입니다. Universal approximator는 어떤 함수든 근사를 시킬 수 있는 모델입니다. 이 논문을 통해 full attention모델의 transformer는 sequence to sequence function임을 증명하였는데, 이를 통해 sequence to sequence task에서의 이론적인 transformer의 성능을 보여주는 중요한 특성입니다. Turing complete라는 것은 튜링 머신과 동일한 계산 능력을 지닌다는 의미로 논문에서 full transformer가 Turing complete임을 증명하였습니다. 이 논문에서는 Big Bird의 sparse attention으로 full attention의 universal approximator임과 Turing complete임을 모두 증명하였습니다. 이를 통해 sparse한 attention이 full attention의 특성을 잃지 않음을 증명하였습니다.

Experiment

실험적으로 Big Bird의 성능 검증은 NLP task와 genomic task에서 각각 비교하였습니다. NLP task에서는 긴 문장에서 contextual representation을 잘 학습할 수 있는지 확인하기 위한 Masked Language Modeling (MLM), 긴 문장에서 답을 뒷받침하는 증거를 탐색하여 답을 찾을 수 있는지 확인을 위한 Question Answering (QA), 512번째 토큰 이내에서 발견할 수 없을지도 모르는 정보를 찾는 Document Classification(DC), 마지막으로 512개의 토큰보다 더 많은 토큰의 문장의 문서를 요약하는 Abstractive Summary(AS) 로 이루어져있습니다. Genomic task는 염기 서열에서 promotor의 위치를 찾는 Promotor Region Prediction과 DNA에서 단백질을 coding하고 있지 않는 non-coding 부분을 찾는 Chromatin-Profile Prediction을 진행했습니다.

NLP task에서는 SOTA라고 알려진 모델과 비교를 진행했는데, Big Bird의 attention이 적용된 transformer 모델은 대부분의 task에서 기존의 SOTA 모델의 성능을 넘어서는 성능을 보여주었습니다. QA task에서는 LeaderBoard의 top3와 비교했고, 놀라운 건 그 모델 중 대부분은 ensemble모델이었지만 그에 비해 Big Bird는 단일모델의 성능이라는 점이었습니다. task에서 성능을 비교한 결과 Big Bird는 대부분의 SOTA보다 뛰어난 성능을 보여주었고, 특히 task의 데이터 양이 적은 경우와 길이가 긴 경우에 큰 차이를 보여주었습니다. 마찬가지로 Genomics task에서도 Big Bird 모델이 기존의 모델보다 뛰어난 성능을 보여주어 NLP task 뿐 아니라 다양한 task에서의 가능성을 확인할 수 있었습니다.

'NewsLetter' 카테고리의 다른 글

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