본문 바로가기

Paper Review

Variational Adversarial Imitation Learning (VAIL) 논문리뷰

리뷰 작성: 김한결 / 석사과정 (gksruf621@postech.ac.kr)

<GAIL논문리뷰를 읽고 와주세요!>

Variational Adversarial Imitation Learning이 등장하는 논문의 본래 이름은 Variational Discriminator Bottleneck: Improving Imitation Learning, Inverse RL, and GANs by Constraining Information Flow입니다.

 

Variational Discriminator Bottleneck (VDB)논문에서는 GAN과 같은 Adversarial learning methods를 제안한 것이기 때문에 Imitation Learning 뿐만 아니라 이미지 생성과 같은 다른 Task들이 존재합니다. 저희는 Imitation Learning에만 초점을 맞춰 이야기 하겠습니다.

 

본 논문을 이해하기 위해서는 GAIL과 VAE을 아셔야합니다. 개인적으로 이활석님의 VAE강의[1]를 적극 추천드리며, 추가적으로 Deep Variational Information Bottleneck[2]을 읽으시면 도움이 되실겁니다

 

 

0. Preliminary & Motivation

VDB의 내용을 한문장으로 요약하자면 다음과 같습니다.

1. Adversarial learning의 고질적인 문제인 학습 불안정성을 Variational Discriminator Bottleneck (VDB)을 이용해 해결한다.

 

우선 VDB가 무엇인지 봐야 합니다. 실질적으로 VDB를 구성하고 있는 GAIL과 [2]의 Variational Information Bottleneck만 이해해도 내용의 95%는 무리 없이 이해할 수 있습니다.

 

GAIL은 이전에 논문리뷰를 작성했으니 보시면 되고, Variational Information Bottleneck에 대해 알아보도록 합시다.

Variational Information Bottleneck의 핵심을 말하자면 input source $X$와 stochastic encoding $Z$간의 mutual information를 제한함으로써 regularization을 하자는 것입니다.

 

우선 mutual information에 대해 간단히 살펴보고 가겠습니다.

input source를 $X$, stochastic encoding를 $Z$, target을 $Y$라고 했을때 encoding 과 target의 mutaul information은 다음과 같이 나타낼 수 있습니다.

 

$I(Z,Y;\theta) = \int dx dy p(z,y|)log{p(z,y|\theta) \over p(z|\theta)p(y|\theta)}$

 

저희가 원하는 건 $Z$로 부터 Y를 잘 예측하는 것이기 때문에 당연히 $I(Z,Y;\theta)$를 최대화하고 싶을 겁니다.(여기서 "왜 잘 예측하는 것이 위 식을 최대화하는 거지?"라는 의문이 드셨다면 [3]을 참고해서 고민해보세요! 힌트는 독립일때 mutual information이 0이 된다는 겁니다) [2]에서는 "encourages $Z$ to be predictive $Y$"라고 설명하고 있습니다.

 

여기서 추가로 regularization을 더해주고 싶은데 그 역할로 $I(X,Z;\theta)$를 이용해서 $Z$가 $X$를 조금 잊게 만들고 싶습니다.

 

그래서 저희의 목적식을 다음과 같이 표현할 수 있습니다.

 

$\underset{\theta}{max}I(Z,Y;\theta) \quad {s.t.} \quad I(X,Z;\theta) \le I_{c}$

 

이를 Lagrange multiplier를 도입해서 나타내면 maximize하는 목적식을 다음과 같이 나타낼 수 있습니다.

 

$R_{IB} = I(Z,Y;\theta) + \beta(I(X,Z;\theta) - I_{c})$

 

(여기서 $I_c$는 하이퍼 파라미터입니다)

여기까지 VAIL에서 사용되는 Variational Information Bottleneck의 이론적인 내용입니다.

 

이제 VDB 논문에 어떻게 적용되는 살펴보도록 합시다.

VDB의 preliminaries는 standard maximum likehood로 시작합니다.

 

$\underset{q}{min} \mathbb{E}_{\textbf{x},\textbf{y} \sim p(\textbf{x},\textbf{y})}[-log{\ q(\textbf{y}|\textbf{x})}]$

 

위 식에 Encoding하는 latent variable을 추가하여 네트워크를 구성하고 Variational Information Bottleneck에서 처럼 제약을 걸어주면 아래와 같이 변경됩니다.

 

$J(q,E) = \underset{q,E}{min} \mathbb{E}_{\textbf{x},\textbf{y} \sim p(\textbf{x},\textbf{y})}[\mathbb{E}_{\textbf{z} \sim E(\textbf{z}|\textbf{x})}[-log{\ q(\textbf{y}|\textbf{z})}]] \quad {s.t.} \quad I(X,Z;\theta) \le I_{c}$

 

이활석님의 강의를 자세히 보셨다면

위 식의 $\mathbb{E}_{\textbf{z} \sim E(\textbf{z}|\textbf{x})}[-log{\ q(\textbf{y}|\textbf{z})}]$ 부분과 이활석님 강의노트에 있는 $\mathbb{E}_{q_{\phi}}[log \ p(x_i|g_{\theta}(z))]$ 와 의미적으로 같다는 것을 알 수 있습니다.

 

그런데 여기서 문제가 있습니다. 사실 $I(X,Z)$는 구할수가 없기 때문입니다. 정확히는 아래 수식에서 $p(z)$를 구할 수 없습니다.

 

$I(X,Z) = \int p(x,z)log{p(x,z) \over p(x)p(z)}dxdz = \int p(x)E(z|x)log{E(z|x) \over p(z)}dxdz$

 

이를 해결하기위해 Variational 을 사용합니다. $r(z)$라는 근사 분포를 사용하면 다음과 같은 성질을 확인할 수 있습니다.(본 논문을 구현할때 VAE에서와 같이 $r(z)$를 가우시안 분포로 사용합니다)

 

$I(X,Z) \le \int p(x)E(z|x)log{E(z|x) \over r(z)}dxdz =\mathbb{E}_{x \sim p(x)}[KL[E(z|x)||r(z)]]$

 

여기서 $\mathbb{E}_{x \sim p(x)}[KL[E(z|x)||r(z)]]$을 $I(X,Z)$ 대신에 사용하게 된다면 아래와 식(5)와 같은 목적함수를 얻을 수 있고 이는 다음과 같은 조건을 만족하게 됩니다. $\tilde{J}(q,E) \ge J(q,E)$

Regularized objective

Constraint가 있는 최적화 문제를 풀기 위해 Lagrangian form으로 변형해주면 식(6)을 얻을 수 있습니다

 

Lagrangian form

1. Variational Discriminator Bottleneck

이제 VDB에 대해 설명하겠습니다. 본 논문은 VIB를 GAN과 결합한 것이 내용의 전부라해도 무방합니다.

우선 GAN의 목적함수를 살펴봅시다.

 

GAN objective

위 목적함수에 앞서 언급했던 VIB를 적용하면 어떻게 될까요? 논문의 식(1)이 식(2)로 변경한 것과 동일한 로직을 따르면 됩니다.

 

더 나아가 constraint도 바꿔주면 식(8)이 됩니다.

 

 

 

[1] https://www.youtube.com/watch?v=o_peo6U7IRM

[2] https://arxiv.org/abs/1612.00410

 

Deep Variational Information Bottleneck

We present a variational approximation to the information bottleneck of Tishby et al. (1999). This variational approach allows us to parameterize the information bottleneck model using a neural network and leverage the reparameterization trick for efficien

arxiv.org

[3]https://aigong.tistory.com/43

 

Mutual Information(Information Gain, KL-Divergence)

Mutual Information(Information Gain, KL-Divergence) Information Theory에서 Entropy는 measure 즉 정보량을 측정하는 도구로 "Entropy가 높다는 것 = Uncertainty가 높다는 것 = Information 양이 많다는 것"..

aigong.tistory.com