original paper
안그래도 어려워보였는데, 정신적으로 많이 힘들 때 읽어서 더 어렵게 느껴졌던 논문..^_^


Abstract

  • 독립적인 변동인자들로부터 생성된 데이터에 대해 disentangled representation을 비지도학습 방식으로 얻어내고자 하는 문제에 관한 연구.
  • representation의 분포가 factorial이 되도록 즉, 각 차원이 서로 독립적이도록 장려함으로써 disentangling을 수행하는 FactorVAE를 제안.
  • 기존의 β\beta-VAE보다 나은 disentanglement와 reconstruction quality의 trade-off를 줌.
  • disentanglement의 정량적 평가 metric 제안.



Introduction

데이터에 내제된 변동의 인자를 학습시키는 방향으로의 연구가 활발하게 진행되어오고 있는데, 이러한 연구분야를 disentangled representation의 학습이라고 부르기도 한다.

다양한 정의가 있지만, 본 논문에서 disentangled representation의 정의는 '한 차원에서 발생하는 변화가, 다른 변동인자들은 상대적으로 불변인채로 하나의 변동인자의 변화에만 대응되는 representation'이다.

저자들은 데이터가 고정된 수의 독립 변동인자들로부터 생성되었다고 가정하고, 변동인자의 효과를 쉽게 시각화할 수 있는 이미지 데이터를 대상으로 연구를 수행하였다.

생성모델(generative model)이 disentangled representation learning에 매우 효과적으로 이용되고 있는데, 특히 semi-supervised 방식의 접근법들이 좋은 결과를 주고있음.

그러나 변동인자에 대해 labeling을 수행하는것은 비용이 크고, 인간이 진행하기에 일관성이 없을 수 있으며, 인간이 파악하기 힘든 변동인자는 놓칠수도 있다. 때문에 비지도 방식으로 이러한 representation을 얻어내는 것이 이상적임!!

이런 취지의 연구들은 다음이 대표적이다.

  • β\beta-VAE
    • VAE 목적함수의 KLD term에 1보다 큰 가중치를 붙여 ㅣlatent vector z의 variational posterior q(zx)q(z|x)와 diagonal covariance matrix로 가정된 z의 prior p(z)p(z)가 더욱 강하게 유사해지도록 독려하여 효과적으로 disentangling을 수행.
    • 단, disentangling이 잘 될수록 trade-off로 reconstruction 품질은 떨어짐. -> 본 연구의 목적은 이에 대해 보다 더 나은 trade-off를 얻는 것이다.
      • 즉, 더 좋은 disentangled representation을 얻으면서도 재구성 품질은 그다지 감퇴시키 않는 것.
  • InfoGAN
    • infoGAN은 latent vector의 subset과 observation data간에 상호정보에 reward를 부여함으로써 disentangled representation을 얻는다. 자세한 설명은 여기를 참고

contributions

  1. β\beta-VAE와 동급의 reconstruction quality를 주면서도 더 높은 disentanglement 점수를 주는 FactorVAE 제안
  2. 기존의 disentanglement metric의 약점을 식별, 더 robust한 대안을 제시
  3. FactorVAE, β\beta-VAE, InfoWGAN-GP의 정성적 비교 수행



Trade-off between Disentanglement and Reconstruction in β\beta-VAE

Notation

  • observation : x(i)X,i=1,...,Nx^{(i)}\in \mathcal{X},i=1,...,N
    • 이 관측은 underlying factors : f=(f1,...,fK)f=(f_{1},...,f_{K})가 결합되어 생성됨.
  • 관측 x(i)x^{(i)}는 생성모델을 통해 실수값을 갖는 latent vector : zRdz\in\mathbb{R^{d}}로부터 모델링됨.
    • p(z)=N(0,I)p(z)=\mathcal{N}(0,I)
  • Decoder : pθ(xz)p_{\theta}(x|z)
  • Variational Posterior : qθ(zx)=j=1dN(zjμj(x),σj2(x))q_{\theta}(z|x)=\prod_{j=1}^{d}\mathcal{N}(z_{j}|\mu_{j}(x),\sigma^{2}_{j}(x))
    • μj(x),σj2(x)\mu_{j}(x),\sigma^{2}_{j}(x)는 encoder에 의해 구해짐
  • 전체 데이터에 대한 representation의 분포
  • 이것이 q(z)=j=1dq(zj)q(z)=\prod_{j=1}^{d}q(z_{j}) 가 되길 원함. (joint가 marginal들의 곱으로 표현(z1,...,zd가 서로 독립))

betaVAE의 목적함수는 다음과 같음.

  • 식의 기댓값 term은 reconstruction error로 해석되고
  • KL term은 가정한 분포에 대한 regularizer로 해석됨.

그런데 KL term을 다음과 같이 표현할 수 있음. (증명은 논문의 Appendix C를 참고하세요.)

VAE의 training 목적은 Variational Lower Bound를 Maximize하는 것이고, 이것을 위해서는 KL term이 Minimize 되어야 한다.

KL(q(z)p(z))KL(q(z)||p(z))에 대해 penalizing하는 것은 representation의 분포 q(z)를 우리가 기대하는 factorial prior p(z)에 가까워지게끔 장려하는 역할을 하고 결과적으로 z가 disentangling 되도록 하지만,

반면에 I(x;z)I(x;z)에 대해 penalizing하는 것은 z에 저장된 x의 정보량을 줄이도록 하는 것을 의미하며, 이것은 reconstruction quality가 감소되도록 하는 원인이 된다.

위와 같은 이유에서, VAE의 목적함수에서 beta를 1보다 크게하여 KL term의 가중치를 끌어올려 disentangling을 진행하는 betaVAE는 일반적인 VAE보다 높은 수준의 disentangling을 얻게 해주지만, 결과적으로 더 낮은 reconstruction을 준다.



Total Correlation Penalty and FactorVAE

위의 절에서 살펴본 betaVAE처럼, VAE보다 더욱 많이 I(x;z)I(x;z)를 penalising하는 것은 사실 reconstruction 뿐만 아니라 disentangling 관점에서도 바람직하지 못하다. 한 예로, InfoGAN에서는 이 I(x;c)I(x;c), (c는 z의 subset)를 rewarding하여 disentangling을 수행하게된다.

이런 이유에서 저자들은 다음과 같은 새로운 목적함수를 제안한다.

FactorVAE objective : 이것 역시 데이터 분포에 대한 marginal log likelihood의 lower bound가 된다.

γ\gamma가중치가 붙어 추가된 새로운 KL term KL(q(z)qˉ(z))KL(q(z)||\bar{q}(z))Total Correlation(TC)이라고 불리는데, 다변량 분포 내 각 변수들끼리의 dependency를 측정하는데 흔히 사용되는 측도이다. z의 다변량 분포가 일변량 marginal 분포들의 곱에 가깝도록 penalizing 함으로써, disentangling을 장려하게된다.

추가된 항에 대해 optimize를 수행해야 하는데, 이 term은 intractable하고 direct한 MC estimation도 어려워서 다음과 같이 근사적으로 표현하고 최적화를 수행하게 된다. 이때 이용된 기술을 논문에서는 density-ratio trick이라고 언급하고 있다.

  • TC는 샘플 z가 분포 qˉ\bar{q}보다 qq에서 나왔을 분포 비(density-ratio)의 기댓값으로 표현된다.
  • 이 분포 비를 신경망 D를 이용해 근사한다.
  • DD: Discriminator는 어떤 샘플 z가 input되었을 때, 이 z가 qˉ(z)\bar{q}(z)로부터 나오지 않고, q(z)q(z)로부터 나왔을 확률 D(z)D(z)을 output한다.
  • 이 D를 VAE와 동시에 training할 수 있다.
    • VAE의 encoder에 의해 qθ(zx)q_{\theta}(z|x)가 모델링 되면, 우리는 p(z)p(z), pˉ(z)\bar{p}(z) 둘 모두로부터 샘플링이 가능하다. (논문에 자세히 설명되어있습니다.)
    • 두 분포로부터 z를 샘플링한 이후, pp로부터 나온 z였으면 label을 0으로 달고 pˉ\bar{p}로부터 나온 z였으면 label을 1로 달아 D가 이것을 분류하도록 설정.
    • 샘플링된 z를 decoder로 넣어 재구성 xx'을 구하고 D의 출력과 함께, 전체 loss를 얻어 end-to-end로 encoder, decoder, discriminator 동시 최적화.

pseudo code로 표현된 전체 알고리즘은 다음과 같다.

GAN 관련 문헌들에서는 training objective로 Divergence를 최소화 할 때, 보통 data space에서의 두 분포간 divergence를 최소화하는 방향으로 이루어지는데, 이 경우 분포는 매우 high dimension이고, 두 분포의 support가 종종 disjoint되기때문에 훈련이 불안정해진다.

반면 VAE 기반 모델들, 본 연구에서는 Divergence를 최소화 할 때, latent space에서의 두 분포간에 수행되기 때문에, 비교적 훨씬 lower dimension이고 overlapping support를 갖는다. 때문에 훈련이 안정적!



A New Metric for Disentanglement

  • 아직까지 disentanglement를 정략적으로 평가하는 제대로된 지표가 없음.
  • 한 가지 인기있는 방법은 latent traversals이다.
    • latent space의 한 차원을 변화시켜보면서 그에 따라 변화하는 생성이미지의 semantic한 특징들을 살펴보는 것이다.
    • 그러나 이 접근방식은 정성적(qualitative) 평가이기 때문에, 알고리즘들의 타당한 성능비교에 적절하지 못하다.
  • betaVAE(2016)에서 variation에 factor에 대한 ground truth가 존재할 때 이용가능한 supervised방식의 metric을 제안하였다. 로직은 다음과 같다.

    1. K개의 변동인자 중 하나를 고른다.
    2. 선택한 factor를 fix하고(나머지 인자들은 free) 데이터를 생성한다.
    3. 생성한 데이터들로부터 representation zz들을 얻는다.
    4. 얻은 z들간에 pairwise difference의 절댓값을 구한다.
    5. (4.)에서 얻은 pairwise difference들에 대해 평균을 취해 하나의 벡터를 얻고(latent dimension) 이것을 training input으로, 처음에 고정한 factor의 인덱스 k를 target으로 classifier에 넣어준다. (이 classifier의 error rate가 metric이 된다.)
    6. disentangling이 잘 되었다면, input으로 넣은 평균차이벡터에서 한 차원의 값이 0이어야 하고, 해당 차원에 대응되는 변동 factor의 index가 output되어야 한다.

위에서 제안한 metric의 약점은 다음과 같다.

  1. classifier optimization의 hyperparameter에 민감하다
  2. 각 factor가 단일 차원이 아닌 여러 차원의 linear combination에 대응되는 representation을 얻을 수 있고, 이 경우 linear classifier가 그닥 직관적이지 않다.
  3. K개중에 K-1개의 factor들만 disentangled 되어도 100% 정확도를 준다. (K-1개의 factor들이 모두 0이아닌 모든 관측들에 대해 해당하는 mapping을 전부 학습할 수 있기 때문에)
  • 이에 저자들이 새롭게 제안하는 supervised 방식의 metric의 로직은 다음과 같다.

    1. K개의 변동인자 중 하나를 고른다.
    2. 선택한 factor를 fix하고(나머지 인자들은 free) 데이터를 생성한다.
    3. 생성한 데이터들로부터 representation zz들을 얻는다.
    4. 얻은 representation들을 각 차원에 대해 경험적 표준편차를 구하여 normalize한다.
    5. 정규화된 representation에 대해 각 차원마다 분산을 구하고, 구한 분산벡터에서 가장 분산이 낮은 dimension의 index를 training input으로, 선택했던 변동인자 k index를 target으로 하여 voting classifier에 넣어준다.(이 classifier의 error rate가 metric이 된다.)
    6. Disentangling이 잘 되었다면, 고정시켰던 k factor와 대응되는 dimension의 경험적인 분산이 0이 될 것이다.

저자들이 제안하는 새로운 metric의 기존방법 대비 장점은 다음과 같다.

  1. voting classifier는 training data의 deterministic한 function이기 때문에 튜닝이 필요한 optimization hyperparameter가 없다.
  2. 이전의 metric보다 개념적으로 더 단순하고 자연스럽다.
  3. 이전의 metric이 평균차이벡터 자체를 input으로 넣어 발생했던 failure mode를 제안하는 metric에서는 분산이 0인 dimension 하나만 input으로 넣음으로써 우회한다!! -> latent representation의 모든 dimension에 대해 disentanglement를 올바르게 계산할 수 있다.

그러나 이 metric 역시 변동팩터의 ground truth가 있어야만 사용 가능한 supervised metric이다.. disentanglement에 대한 unsupervised metric을 개발하는 것이 향후 중요한 연구 분야일 것임.



Experiments

실험 데이터셋은 다음과 같다.

  • known factor
    • 2D Shape
    • 3D Shape
  • unknown factor
    • 3D Faces
    • 3D Chairs
    • CelebA

2D Shape 정량적 평가 - betaVAE vs FactorVAE

  • reconstruction / disentanglement trade-off가 FactorVAE가 훨씬 우수함!!

2D Shape 정성적 평가 - betaVAE vs FactorVAE

  • 두 모델 모두 position에 관한 factor와 scale에 관한 factor는 잘 잡아 내지만, orientation이나 shape 등의 discrete한 variation factor는 잡아내지 못했다.

2D Shape 정량적/정성적 평가 - infoGAN

  • infoGAN의 disentangling 정도는 VAE based 모델들에 비해 훨씬 떨어지며
  • variation factor의 detect도 VAE based 모델들보다 열등하다.
  • 그런데 이는 공평한 비교를 위해 generator, discriminator의 구조를 VAE 모델들과 비슷하게 설정해서 그런거고, 네트워크를 더 키우면 성능이 더 나아진다고 한다. 그러나 network architecture에 의존적이라는 점이 VAE기반 모델들과 비교했을 때 약점이 된다.

3D Shape 정량적/정성적 평가 - betaVAE vs FactorVAE

  • factorVAE가 betaVAE보다 더 나은 trade-off를 준다.
  • 두 모델 모두 shape와 scale에 관한 variation factor를 detect하는데에는 어려움을 겪는다.

factor들이 unknown인 set에 대한 정성적 평가



Conclusion and Discussion

  • contribution
    • β\beta-VAE과 비교했을 때 reconsturction quality는 비슷하면서도 더욱 잘 disentangling 하는 factorVAE를 제안
    • 기존의 disentanglement metric의 약점을 식별하고, 그 약점들을 커버하는 새로운 metric을 제안.
    • infoGAN, VAE based model에 대한 다양한 실험적인 평가 진행
  • limitation
    • 저자들이 목적함수에 추가한 새로운 Total Correlation term이 disentangling에 필요는 하지만 충분하진 않다.
    • 저자들이 제안한 새로운 metric은 factor 하나를 고정시키고 샘플을 generate해야하는데, 이게 언제나 가능하진 않을 수 있다.
  • future work
    • discrete latent variable을 활용하여 이산적인 변동팩터 모델링
    • 이산적/연속적 변동요인들의 조합을 식별하는 연구




개인노트

  • 목적함수에 TC term을 추가함으로써 disentanglement를 explicit하게 장려
  • VAE 목적함수의 KL term 분석을 통해 recon/disentangle trade-off 발생원인을 설명
  • disentanglement metric 보완
  • 학습된 disentangled representation을 활용해 다른 task들에 이용하거나 하는 실험도 있었었으면 좋았을 듯
  • 확실이 아직 뭔가 disentangling이 잘 됬는지 아닌지에 대해 명확히 판단할 수 있는 기준이 없는 것 같음.
    • 이에 대해 아이디어좀 생각해봐야겠다.
profile
말보다는 행동

0개의 댓글