2020/08/17

2020. 9. 20. 09:33NewsLetter

최근 소식

  • 최근 놀라운 성능의 GPT3의 등장으로 사람들의 큰 관심이 있는 가운데 MIT 랙스 프리드먼 박사에 따르면 인간의 시냅스 수(약 100조개)와 비슷한 파라미터를 가지는 GPT(GPT4)를 학습시키는 데에는 460만 달러(한화 약 55억원)의 비용이 필요할 것이라고 설명했습니다. 이에 대해 많은 사람들의 찬반 댓글이 이어지고 있습니다. (http://www.aitimes.com/news/articleView.html?idxno=131416)
  • Neuroscience와 AI의 접점이 궁금하시다면, NAISys (From Neuroscience to Artificially Intelligent Systems)학회 참여를 고려해보시는것도 좋을것 같습니다. 11월9일~11월12일까지 Virtual로 열리는 학회입니다. Yoshua Bengio, Yann Lecun, Jeff Hawkins등 연사진이 정말 화려하네요!

[S1] Aligning AI With Shared Human Values

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

한줄평: 인공지능의 윤리성을 위한 데이터셋을 만들었습니다.

  • 현재 많은 모델들이 각자의 테스크에서 거의 인간과 비슷한 성능을 보이고 있습니다.
  • 아직은 인공지능의 윤리성을 논하기엔 이르지만, 많은 사람들이 걱정하듯 인공지능에게 사람들이 생각하는 윤리적인 가치에 대해 알려줄 필요가 있습니다.
  • 윤리성의 서로 다른 가치에 대한 각각의 기준과 접근방법들이 있었지만, 이것들을 한데 모아 인간의 기본적인 윤리와 보통의 인간 가치에 대한 데이터셋(ETHICS, Everyday moral intuitions, Temperament, Happiness, Impartiality, and Constraints) 을 만들었습니다.
  • ETHICS는 justice, deontology, virtue ethics, utilitarianism, commonsense moral intuition의 다섯가지 시나리오로 이루어져 있습니다.
  • 각 시나리오들은 도덕적 딜레마에 빠지지 않게 모호하지 않으며, 영어 사용자들을 대상으로 데이터를 수집하였으며, 대조적인 예제가 존재할때는 최대한 포함시킬 수 있도록 데이터셋을 구성하였습니다.
  • 최근에 제안된 여러 language model들에 대해 ETHICS 데이터셋으로 finetuning을 진행한 후 평가를 하였는데, 모델들은 대부분 낮은 점수를 보였지만 그래도 많은 데이터로 학습된 larger 모델들은 작은 모델들보다 더 나은 성능을 보였습니다.
  • 이 결과를 통해 현재 모델들은 이 데이터셋이 반영하고 있는 윤리성에 대해 큰 의미를 두고 학습되지 않고 있긴 하지만 추후에는 점차 이를 고려할 가능성을 나타내고 있다고 생각됩니다.
  • 추후에는 좀더 복잡한 상황에 대해 라벨이나 설명을 제공할 수 있는 법 지식을 테스트할 수 있는 부분을 추가해 나갈 예정입니다.

[S2] The Surprising Effectiveness of Linear Unsupervised Image-to-Image Translation

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

한줄평: 이미지를 변환하는데에 그리 복잡할 필요는 없을지도

  • Unsupervised image-to-image translation은 도메인 A의 이미지를 다른 도메인 B의 이미지로 변환하는 task입니다.
  • 이 task의 경우 도메인 A와 도메인 B의 연관관계에 대한 정보가 없기 때문에 임의의 연관관계를 만들어 mapping할 수 있습니다.
  • 이러한 특징에도 불구하고 encoder-decoder 구조로 되어 있는 CycleGAN과 그로부터 파생된 모델들은 이 task에서 매우 뛰어난 성능을 보여주었습니다.
  • 그러나 놀랍게도 output의 pixel들이 input에서 그 pixel들의 위치가 인접한 pixel과 관계가 있는 local한 문제에서만 잘 동작한 것이었고, 그렇지 못한 문제는 아주 간단한 문제(예를 들어 사진 뒤집기)에서도 잘 동작하지 않는다는 점이 발견되었습니다.
  • 이런 현상의 원인은 encoder에서 decoder로 갈때 이미지가 압축되게 되는데 이 과정에서 위치 정보가 들어가기 때문이었습니다.
  • 이 논문에서는 이러한 문제를 해결하기 위해 새로운 방법론을 제시하였는데, 이 방법론은 다른 기존의 모델과 달리 여러층으로 이루어진 복잡한 모델이 아닌 orthogonal linear transformation을 이용한 방법론입니다.
  • PCA를 이용하여 도메인 A와 도메인 B 간의 관계를 가장 잘 표현하는 orthogonal 한 linear transformation을 찾는 것이 전부이지만, local한 task와 nonlocal한 task에서 기존의 CycleGAN이나 MUNIT과 같이 매우 성능이 뛰어난 모델과 비교했을 때 성능 차이가 거의 없거나 더 뛰어났으며 학습 시간도 약 1000배 이상 절약할 수 있었습니다.
  • 변환 관계가 매우 비선형적이거나 이미지 사이즈가 크면 여러가지 제약이 생기지만, 기존의 모델들의 복잡성과 그에 따른 학습 시간을 고려할 때 매우 효과적인면서도 효율적인 방법론이어서 여러가지를 생각하게 만드는 논문이었습니다.

[S3] SpeedySpeech: Efficient Neural Speech Synthesis

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

한줄평: 음성 합성 하는데에 self attention은 필요없어!

  • 음성 합성(Text-to-Speech, TTS)은 주어진 텍스트를 학습한 화자의 목소리로 합성해내는 task입니다.
  • Tacotron과 같은 이전의 딥러닝 방식은 seq2seq with attention 기반의 autoregressive 모델로 attention을 학습하고 mel frame을 매번 생성하는 방식으로 동작하였습니다.
  • 그러나 이런 autoregressive 방식은 학습과 합성에 시간이 오래걸린다는 단점과 attention이 불안정하다는 존재하여 Fastspeech와 같이 병렬적으로 전체 mel을 한번에 생성하는 모델들이 등장했습니다.
  • 이렇게 병렬적으로 전체 mel을 한번에 생성하기 위해서는 각 음소의 duration 길이를 알아야 했습니다.
  • Speedspeedy 모델은 기존의 fastspeech와 같이 병렬적으로 mel을 생성하는 모델로 duration 길이를 알기 위해 teacher 모델을 먼저 학습하는 모델입니다.
  • 그러나 기존의 fastspeech와는 다르게 encoder와 decoder 부분을 크고 복잡한 self attention이 아닌 1D conv로 이루어진 gated residual block으로 대체하여 더 가볍게 개량했으며 그에 따라 학습과 합성 속도를 빠르게 하였습니다.
  • 이렇게 제안한 speedyspeech는 기존의 뛰어난 성능을 가진 tacotron2 모델보다 성능은 우수하면서도 합성 속도가 빨라 GPU에서는 real time의 49배, CPU에서도 real time의 5배라는 합성 속도를 갖출 수 있었습니다.

[L1] Inference Suboptimality in Variational Autoencoders

논문 원문: https://arxiv.org/pdf/1801.03558.pdf (ICML-18)

한줄평: Variational Autoencoder의 ELBO는 원래의 log marginal likelihood와 얼마나 차이날까?

Motivation

Variational Autoencoder (VAE)는 주어진 data의 representation을 학습하거나, 이미지를 생성 또는 변형할 때에 많이 활용됩니다. 이러한 VAE는 ture posterior p(zx)p(z|x)를 추정하는 방식으로 학습이 진행됩니다. 하지만, 최적화를 진행할 목적식이 intractable하기 때문에, 그 과정에서 approximate posterior q(zx)q(z|x)를 활용하여, true posterior를 근사하게 됩니다. 그렇다면, true posterior 와 approximate posterior 사이의 inference gap은 얼마나 되며, 그러한 gap은 왜 존재하게 되는 것일까요? 본 논문은 inference gap을 두가지 component로 분류하였으며 (approximation gap, amortization gap), 각각에 대해서 실험적인 결과를 보이고 있습니다.

즉 정리하자면, 본 논문에서는 inference gap이 1)approximation gap과 2)amortization gap으로 구성되는것을 밝혔으며, 각각의 gap을 여러 실험에 대해서 측정하였습니다.

Preliminary

1) VAE: 주어진 dataset X={x1,...,xN}X=\{x_1,...,x_N\}에 대해서, log marginal likelihood logpθ(X)\log p_{\theta}(X)는 다음과 같이 쓸 수 있습니다. (여기서 zz는 latent variable)

일반적으로, zz에 대한 integration 부분 때문에 위 식의 계산은 intractable한 경우가 많습니다. 그 까닭에, VAE는 inference network (approximate posterior) qϕ(zx)q_\phi(z|x)를 활용해서 marginal likelihood를 아래와 같이 근사합니다.

logp(x)=Eq(zx)[log(p(x,z)q(zx))]+KL(q(zx)p(zx))\log p(x)=E_{q(z|x)}[\log (\frac{p(x,z)}{q(z|x)})]+KL(q(z|x)||p(z|x)) \\

여기서 LVAE[q]L_{VAE}[q]가 VAE의 목적식이며, 우리가 Evidence Lower BOund (ELBO)라고 부르는 항목입니다. (위의 확인하실 수 있듯이, KL(q(zx)p(zx))KL(q(z|x)||p(z|x))가 0이 되면, ELBO와 log marginal likelihood는 동일해집니다. (ELBO가 tight 하다고 표현하기도 합니다.)

2) AVI and SVI

여기서 한가지 짚고 넘어가야 할 점은, 우리가 최적화 하는 parameter ϕ\phi가 모든 데이터에 대해서 동일하다는 것입니다. 이렇게, 하나의 network를 활용하는 방식을 Amortized Variational Inference (AVI)라고 부릅니다. 반면, data point 마다 variational parameter가 주어지고, ELBO를 기반으로 업데이트 (gradient ascent 등의 방법으로)하는 것을 Stochastic Variational Inference (SVI)라고 부릅니다.

AVI는 SVI보다 더 빠르지만, amortization gap이 큰 것으로 알려져 있습니다. 즉, AVI와 SVI 사이에는 amortization gap과 속도 사이의 trade off가 존재하게 됩니다.

3) Normalizing Flows

Standard VAE는 posterior로 Gaussian distribution과 같은 비교적 단순한 분포를 가정합니다. 이러한 까닭에, true posterior를 잘 추정하지 못하는 경우가 종종 발생하게 됩니다. 어떻게 하면 보다 유연한 posterior distribution을 모델링 할 수 있을까요? 이에 대한 답을 Flow가 하고 있습니다. Normalizing Flow는 simple invertible transform을 여러번 수행하여, 복잡한 density를 표현할 수 있도록 도와줍니다. (Flow에 대해서는 추후에 별도의 section을 통해서 찾아오도록 하겠습니다!)

Methods

Inference gap GG는 log marginal likelihood logp(x)\log p(x)와 ELBO L[q]L[q]사이의 차이로, 다음과 같이 표현이 됩니다.

여기서 qq^*argmaxqQL[q]argmax_{q\in Q} L[q]로, 가능한 qq distribution 중, 가장 최적의 qq입니다. (예를 들어 posterior distribution으로 Gaussian distribution을 가정하였다면, 최적의 mean과 variance를 가진 Gaussian distribution을 qq^*라고 생각하시면 됩니다.)

여기서 logp(x)L[q]\log p(x) - L[q^*]는 approximation gap을 나타냅니다. 최적의 qq^*를 찾았음에도 발생할 수 있는 gap을 의미합니다. 우리가 아무리 최적의 Gaussian qq^*를 찾았다고 해도, 애초에 true posterior가 Gaussian이 아니라면, gap이 발생하게 되는 것입니다. Flow등의 방법론들이 이러한 gap을 줄여줄 수 있습니다.

그 다음 항목인, L[q]L[q]L[q^*]-L[q]는 amortization gap을 의미합니다. 최적의 qq를 찾지 못해서 발생하는 gap입니다. VAE에서는 amortized variational inference를 사용하기에, 이러한 gap을 amortization gap이라고 부릅니다.

앞서서 Motivation에서 말씀드린바와 같이, Inference gap을 approximation gap과 amortization gap으로 분리한 것이, 가장 큰 contribution이라고 개인적으로 생각하고 있습니다. 그렇다면 이러한 gap을 어떻게 실제 수치화 할 수 있을까요? logp(x)\log p(x)도 알 수 없으며, L[q]L[q^*]도 알 수 없기에, 이를 수치화 하는 것은 쉽지 않을 수 있습니다. 저자는 다음과 같이 수치화 하고 있습니다.

  • logp(x)\log p(x)를 위해서, IWAE (Importance Weighted Autoencoder)와 AIS (Annealed Importance Sampling)을 활용합니다. IWAE는 VAE와는 다른방식으로 lower bound를 유도한 것으로, importance sample의 갯수가 무한히 많아지면, log marginal likelihood에 근사할 수 있는것으로 알려져 있습니다. AIS 또한 IWAE와 유사하게 굉장히 tight한 lowerbound를 구할 수 있는 것으로 알려져 있구요. 본 논문에서는, IWAE와 AIS의 lower bound 중에서 tight 한 것을 marginal likelihood로 사용하고 있습니다. (logp^(x)=max(LIWAE,LAIS)\log \widehat{p}(x) = max(L_{IWAE},L_{AIS})) True marginal likelihood를 알 수 없으니, tight한 lower bound를 가진다고 알려져있는 방법론을 통해서 "추정된" true marginal likelihood를 사용하는 것입니다.
  • L[q]L[q^*]를 구하기 위해서는, 최적의 qq^*를 찾아야 합니다. 만약 Gaussian posterior 라고 한다면, 최적의 mean 과 variance parameter를 찾아야 하는 것입니다. 이를 위해서 본 저자는, mean 과 variance parameter를 더이상 neural network의 ouptut으로 보지 않고, learnable parameter로 두고 gradient ascent를 통해서 최적화를 수행합니다.

Results

본 연구에서는 Inference gap, Approximation gap, Amortizatioan gap을 측정하는 실험과, Flow 모델이 Amortization gap에 미치는 영향을 분석한 실험, 그리고 training 및 validation의 각 epoch별 inference gap을 분석하였습니다.

여기서는 각각의 gap을 분석한 실험에 대해서 집중해보도록 하겠습니다. 다음 은 MNIST, Fashion-MNIST, 3-BIT CIFAR에 대해서 각각의 gap을 측정한 결과입니다. FFG는 fully-factorized Gaussian posterior 기반의 VAE를 의미하며, AF는 flow를 통해서 보다 flexible한 posterior를 가진 VAE를 의미합니다.

여기서 Inference gap은 logp^(x)LVAE[q]\log \widehat{p}(x)-L_{VAE}[q]를 의미합니다. Approximation gap은 logp^(x)LVAE[qFFG]\log \widehat{p}(x)-L_{VAE}[q^*_{FFG}]를 의미합니다. 그리고, Amortization gap은 LVAE[qFFG]LVAE[q]L_{VAE}[q^*_{FFG}]-L_{VAE}[q]를 의미합니다.

MNIST와 Fashion-MNIST에서는 approximation과 amortization gap이 각각 절반정도 되는것을 확인할 수 있습니다. 비교적 간단한 데이터에 대해서는 inference gap 자체가 크지 않다고도 볼 수 있습니다. 다만, 3-BIT CIFAR와 같이, 비교적 데이터가 복잡해질 경우, Inference gap이 매우 커지며, Amortization gap이 Inference gap보다 비교적 큰 것을 알 수 있습니다. 또 한가지 짚고 넘어갈 점은, flow기반의 방법론을 활용하면, approximation gap 자체는 줄어들 수 있다는 점입니다 (Amortization gap은 여전히 큰 상태를 유지하고 있습니다.)

Conclusion

본 논문은 VAE를 통해 학습할 때 발생할 수 있는 inference gap을 approximation gap와 amortization gap 두개로 분리해서 접근하였습니다. (개인적으로는 이 부분이 상당히 참신하고 재미있었네요!) 그 과정에서, 저자는 approximation gap보다, amortization gap이 훨씬 크다는 것을 실험적으로 밝혔습니다. 그리고 이러한 amortization gap을 줄이기 위해서는 encoder의 capacity를 늘려야 한다는 점을 지적하고 있습니다. 이러한 inference gap에 관심이 많으시다면, 아래의 논문들을 추가적으로 살펴보시는 것을 추천드립니다!



'NewsLetter' 카테고리의 다른 글

2020/09/14  (0) 2020.09.20
2020/08/24  (1) 2020.09.20
2020/08/10  (0) 2020.09.20
2020/08/03  (0) 2020.09.20
2020/07/27  (0) 2020.09.20