- 2018년 7월 26일 오전 9:45
- 조회수: 2241
INFORMATION
- 2018년 7월 27일
- 오후 1시 ~
- 고려대학교 신공학관 218호

TOPIC
OVERVIEW
발표자 후기

Deep generative model과 approximate inference에 관하여 세미나를 진행하였다. Generative model에 대해 설명하기에 앞서 generative에 관한 용어에 대해 설명하기 위해 한 예를 들었다. DMQA 고등학교 수학 시험기간, A와 B학생이 같은 함수단원에 대해 공부를 한다. A는 문제집을 풀고 그에 대한 답을 맞춰보면서 공부를 끝냈다. B라는 학생은 문제를 풀고나서 직접 함수에 대한 문제를 만들어보았다. 그리고 시험을 보았을 때 둘 다 100점을 맞게 되었다. 누가 함수에 대해 더 잘 이해했다고 할 수 있을까 고민해보면 나는 B라고 생각한다. 우연히 시험문제는 다 맞췄지만 문제를 만들어 봤다는 것은 완전한 함수에 대한 이해를 하지 못한 사람이라면 어렵다고 생각하기 때문이다. 나의 이 예시가 적절하지 못할 순 있다. 하지만 20세기 최고의 물리학자라 일컬어 지는 Richard Feynman의 말을 인용하겠다. 'What I cannot create, I do not understand.'. 따라서 결국 진정한 AI를 만들기 위해 generative model은 필연적인 과정이기에 따라서 요즘 generative model이 각광을 받는다고 생각한다.
Generative model를 정의하자면 X가 모델에 대해 입력되었을 때 X에 대해 이해하고 새로운 X도 만들 수 있는 모델이다. X에 대해 이해한다는 것은 X의 확률분포를 만드는 과정이며 이를 난 inference라고 생각한다. 세미나를 준비하면서 inference에 대한 개념을 잡기가 굉장히 어려웠다. 우리가 조금 더 익숙한 Statistical Inference중 하나인 추정은 모르는 population의 모수(parameter)를 알 수 없을 때 우린 그 모집단으로부터 sample을 취하고 statistics를 구하고 그를 통해 모집단의 모수를 추정하는 것이다. 따라서 이에 빗대 이해해보면 모델의 training data는 우리가 모델링하고 싶은 현실문제의 일부 측정된 사건이다. 이로부터 전체 문제를 이해하는과정이 P(X)의 확률분포를 구하는 과정이고 이것이 inference라고 이해하였다. 그러나 P(X)를 이해하고 새로운 X를 만드는 과정은 그리 쉬운 문제가 아니다. 왜냐하면 요즘의 데이터는 이미지와 같이 굉장히 고차원의 데이터이기 때문이다. 따라서 latent variable(잠재변수)를 사용하는 generative model이 요즘 각광을 받고 있다(VAE, GAN모두 latent variable을 사용함). latent variable이란 것은 X의 숨겨진 structure?, X의 변수들관의 관계라고 이해하였다. 대부분 실제 입력되는 데이터의 차원보다 잠재변수의 차원을 작게 만들며 이 또한 잠재변수를 사용한 generative model의 장점이 된다. 입력된 입력데이터 X로 잠재변수Z를 이해하고 Z가 결정되면 그에 맞는 X를 생성하는 것이 된다. 따라서 P(X)는 P(X|Z)P(Z)를 모든 z에 대해 적분한다면 P(X)를 알 수 있다. 따라서 P(X)를 inference하는 과정에서 z에 대한 적분이 꼭 필요하게 되고 이 과정이 어렵기 때문에 Approximate Inference의 방법을 사용하게 된다.
Approximate Inference는 Stochastic approximate inference 방법과 Deterministic approximate inference의 방법으로 구분된다. 우선 Stochastic approximate inference는 sampling을 통한 방법이다. 하지만 sampling을 하는 과정이 또한 차원이 크면 쉽지않고 비효율적인 문제가 된다. 따라서 이를 효율적으로 풀기위해 여러 방법론들이 연구되었고 Rejections sampling, Importance sampling, 그리고 Markov chain Monte Carlo(MCMC)방법으로 Gibbs sampling, Metropolis-Hasting있다. 나는 세미나에서 Importance sampling에 대해서만 설명하였다. Importance sampling방법은 sample을 뽑기 어려운 확률분포를 대체하여 sample을 뽑기 쉬운 proposal distribution q(x)를 사용하여 적분을 sample의 expectation으로 바꾸게 된다. 이 과정에서 Jensen's Inequality을 사용하면 자연스럽게 VAE에서 사용하는 deterministic한 approximate inference방법인 variational inference방법으로 연결이 된다. variational inference는 inference를 optimization방법으로 바꿔주게된다. 따라서 log likelihood를 maximize하는 문제가 log likelihood의 lower bound를 maximize하는 문제로 바뀐다. 그리고 이 lower bound는 q에 대한 q범함수가 된다. 따라서 q가 가장 p에 approzimate 되면 q와 p의 KL divergence 값이 작아지고 lower bound값을 최대로 만들게 된다.
VAE는 위의 variational inference를 사용하였고 deep learning의 autoencoder 구조의 encoder를 inference model로 decoder를 generative model로 사용하였다. reparameterization trick으로 encoder와 decoder가 동시에 stochastic gradient descent 방식으로 학습된다. 여기서 VAE는 q를 정규분포로 가정하였고 정규분포의 모수 두가지, 평균과 분산을 함수를 가장 잘 근사한다는 DNN으로 구하면서 최적으로 optimize가 되기에 기존의 방법들보다 우수한 성능을 보이게 된다. 또다른 유명한 deep generative model인 GAN은 VAE처럼 직접적으로 likelihood를 최대화시키진 않지만 discriminator의 모델이 진짜 데이터와 generator가 생성한 데이터를 구별하고 generator는 discriminator가 구별하지 못하도록 학습된다. 학습이 완전하게 이루어진다면 결국 likelihood를 최대화 시키는 파라미터로 generator가 업데이트된다.
세미나 준비를 하면서 내가 얼마나 부족하고 아직 공부해야할 것이 많은지 깨닫게 되었다. 그래도 세미나를 준비하면서 많은것을 공부하게된 기회였다. 다음에 세미나에서는 조금 더 깊게 이해하여 다른 사람들에게 쉽게 전달될수있도록 노력해야겠다.
청취자 후기

Generative model는 말그대로 "생성하는" 모델을 의미한다. 그렇다면 모델이 데이터를 생성하기 위해서는 (궁극적으로는 데이터의 확률분포p(x)를 알기위해서는) 데이터에 대해 "인지"하는 능력이 필요하다. "인지"를 하고 있다면 이를 활용하여 응용방법중 하나로 분류, 군집화등 추가적인 다양한 액션을 가능케 한다. 이번 세미나에서는 Generative model에 대한 기본적인 부분부터 generative model의 대표적인 VAE, GAN까지 살펴봤다. 특히 p(x)를 추론하는데 있어 필요한 개념인 KL-divergence (개인적으로 GAN을 진행하는 과정에서 KL-divergence의 개념이 나오는데 초기에 GAN을 연구하면서 새로운 개념이기 때문에 이해하는데 있어 상당히 난감했던 경험이 있다) 그리고 P(x)를 추정 2개의 방법 (VAE, GAN)에 대한 차이까지 이해할 수 있었다. 이번 세미나는 Generative model에 대해 전반적으로 이해할 수 있는 유익한 세미나였다고 생각한다. 다만, Generative Model 분야가 상당히 넓은 이해와 깊은 배경지식이 필요한 분야로써, 이를 짧은 세미나 시간에 다루기 보다는 몇차례 나눠서 진행했다면 좀 더 잘 이해가 되지 않았을까 하는 아쉬움이 있다.

본 세미나는 Generative model에 Inference 이슈에 대해 설명하는 자리였다. 특히 Variational Inference에 대한 자세한 설명을 들을 수 있었다. Generative model의 기원은 위키피디아에서 찾아 보면, Classification 모델을 구축하는 2가지 (conditional probability, joint probability) 관점 중 joint probability를 활용한 접근법을 활용한 방법이 Generative model이라고 한다. 최근에는 Classification 모델에서 더 나아가 Generative model를 활용한 AutoEncoder 연구들이 주목 받고 있다. 한편, Variational Inference은 베이지안에서 사후확률 추정을 approximation 시키기 위한 방법으로 연구되어 있다. 금일 진행된 세미나는 Generative model를 활용한 AutoEncoder 구축 관점에서, 사후확률을 approximation하는 Variational Inference에 대해 다뤘다고 볼 수 있다. 금일 세미나에서 다룬 내용은 위에 언급했듯이 각기 다른 기원 또는 다양한 관점에서 연구되고 있어, 짧은 시간 안에 발표하거나 소화하기에 쉽지 않은 주제라고 생각한다. 어려운 주제임에도 불구하고, 세밀한 내용까지 포함한 발표자료와 열심히 발표해준 발표자에게 감사한 마음을 전달한다.

변분추론(Variational Inference)을 활용한 Generative 모델에 대한 주제였다. Inference는 현실에서 차원이 높은 경우(적분식에 포함된 변수의 차수가 높아 적분이 힘듦) 계산이 힘들고, 적분 식이 닫힌 형태가 아니기에 추정이 힘들다고 한다. 따라서 정확한 값이 아닌 근사 추정을 통해 사후분포와 기대값을 근사한다. 근사 추정은 확률적인 방법과 결정론적인 방법이 알려져 있다. 변분추론을 변분 베이즈라고도 부른다고 한다. 이는 사후 분포를 근사하는 방식을 사용한다고 한다. 변분은 찾고자 하는 함수의 형태를 이차함수와 인수 분해 형태를 가정하는 함수 형태의 제한이 있다고 한다. 추론에 대한 적용은 다음과 같다. 주어진 모델이 베이지언을 따른다고 가정하고, 모든 파라메터는 랜덤 변수로 주어진다. 이는 사전 분포를 필요 시 한다는 것을 뜻한다. 로그 주변 확률은 EM알고리즘과 거의 동일한 형태로 분해가 된다고 설명 들었다.
잠재 변수 Z 가 존재하고 관측 데이터 X 가 주어진 모델 P(Z l X) 를 구해야 한다고 한다. 여기서 q 함수가 등장하는데 이는 ‘특정 형태의 제약을 추가해 계산하기 쉬운 확률 분포로 고려’ 해서 최적화를 시키겠다는 것이라고 한다(q = P(Z l X)). 다음으로는 범함수(Functional)인 L(q)를 최대화 하고, KL divergence를 최소화 시킨다고 한다. 이번주 세미나는 PRML 책 10장에 나오는 이해하기 매우 어려운 부분이었다. 응용분야에 대한 발표자의 설명 ‘학습 데이터가 부족, 불균형 데이터’ 에 대해서도 스스로가 생각해 볼 수 있는 유익한 세미나였다.

금일 세미나는 Generative model과 variational Autoencoders(VAE)에 관한 내용이었다.
Generative model은 Discriminative approach를 통해 직접 사후확률을 구하는 방법에서 Bayes rule을 통해 Genrative approach하여 구하는 방법을 다루는 내용이다. Generative model은 Latent variable을 이용하여 sampling을 쉽게 할 수 있고 sample에 관한 내용은 통계량에 대해 생각해보면 이해가 쉬웠다. 추론 내용에서 Generative model의 P(x)는 적분으로 직접 구하기 어렵기 때문에 Apporximations을 통해서 구하게 된다.
Approximations에는 1)sampling과 2)optimization의 방법이 있다.
sampling 방법에는 적분의 형태에서 정규분포를 따르는 q(z)으로 적절히 식을 변형하여 Sum의 형식으로 바꾸어 P(x)를 구할 수 있게 된다.
optimization 방법에는 convex function 인 경우를 조건으로 Jensen's inequality 를 사용하여 Lower bound를 구한다. Lower bound는 LogP(x)- KL divergence의 식으로 나타낼 수 있고 KL divergence 에서 q(z)과 p(z|x)의 관계를 통해 Lower bound를 maximize하는 optimization이었다.
다음의 Variational Autoencoders(VAE)에 관한 내용은 Generative model 에서 설명한 것과 같이 lower bound를 maximize 하는 경우를 다루고 reparameterization trick을 통해 구하는 방법을 알게 되었다. 세미나를 통해 내가 이해할 수 있는 부분은 여기까지였다. 전반적으로 VAE와 GAN에 대해서 처음 접해보는 내용이었고 그만큼 어려움을 느꼈다. 하지만, 이번 시간을 통해서 이해할 수 있는 부분이 생기고, 이러한 model이 있다는 것을 알게 되어서 또 하나를 알게 된 것 같다.

금일 세미나는 Deep generative models and inference 라는 주제로 진행 되었다. 사후 확률을 바로 학습하는 discriminative approach 와 X분포와 사전 분포를 Bayes rule 을 이용하여 학습하는 generative approach 이 있는데, generative model 은 generative approach 를 이용한다. generative model 은 학습의 결과로 모집단의 확률 분포를 추정하기 때문에 확률 분포에 기반한 Sample 제작이 가능한 장점이 있다. 대표적으로 VAE(Variational Autoencoding) 가 있다. VAE 는 확률 분포 추정을 위하여 latent variable 을 이용하고, 이 latent variable 을 추정하기 위하여 variational inference 를 이용한다. 이 latent variable 은 정규 분포를 가정하고 학습 되기 때문에 결국 추정된 모집단의 분포는 정규분포 형태를 가지게 된다. 이렇게 추정된 분포는 각 data 가 가지는 유사성을 바탕으로 학습이 되기 때문에 이를 이용한 over sampling 도 가능하다. 다른 예로 GAN 이 있다. Generator 와 discriminator 를 이용하여 학습하는 방법의 차이가 있으나 모집단의 분포를 확률 분포로 추정한다는 점은 VAE 와 유사하다. 금일 세미나를 통하여 그 동안 공부했던 VAE 에 대한 특징을 다시 정리할 수 있어 좋았고, 이론적인 부분을 꼼꼼히 잘 설명해 주어 모델에 대한 이해도가 높아지는 계기가 되었다. 좋은 세미나 진행해 주셔서 감사합니다.

금일 세미나는 Deep generative model and inference에 관한 내용이었다. 이러한 내용과 관련하여서는 베이지안의 관점이 필요하다. 우선 사전분포와 데이터 전체의 분포를 이용하여 사후분포를 추론하는 관점이다. 확률에 대한 곱셈정리, p(x|y)=p(x)*p(y|x), 에서부터 시작하는 것이다. Generative model을 만들 때, p(x)에 대한 정보가 없기에 추론이 불가능하다. 그래서 Sampling방법과 Optimization관점을 이용하여 p(x)를 근사한다. 분포 자체에 대해 근사하는 것이 아니라, 하나 하나의 데이터 값들을 위의 방법들을 근사한다. Sampling을 할 때, cdf를 이용하여 x 값들을 추출한다. Optimization을 이용하지만 p(y|x)가 적분이 어려운 경우, q라는 함수를 통해 적분 하기 쉬운 함수로 변경하여 근사한다. 이때 q를 Proposal distribution이라고 한다. 다른 방법으로는 Jensen's inequality를 이용하여 Convex문제로 변경하여 사후분포를 추론한다. 또한 KL Divergency라는 개념에 대해서 들었는데 두 분포사이의 차이를 언급하는 것이었다. 거리라고 하지 않는 이유는, 값들에 대해 차를 구한 행렬을 만들면, 대칭성을 만족하지 않기 때문이다. 이렇게 정해놓은 q라는 함수를 통해 p(x|y)를 근사하고, KL Divergency를 최소화하면 p(y|x)를 최대화 시킬수 있다. 이렇게 해서 p(x|y)를 추론 할 수 있다.
또한 Variational Autoencoders에 관한 내용을 들었는데, 여기서 latent variable 개념이 등장하였다. 직접적으로 공부하는 분야가 아닌, 심리학 물리학에서만 쓰이는 줄 알았는데, ML에서도 사용하니 새로운 느낌이었다. Input과 Output의 형태를 유사하게 하면서 latent variable을 학습시킨다.
금일 세미나를 들으며 스스로 이해한 부분은 위와 같다. 베이지안의 관점을 가지고 문제를 해결하고자 하는 관심이 있는 나로써는, 이 분야는 매우 흥미로운 분야이다. 기초적인 공부를 마무리한다면, GAN&VAE를 추가적으로 연구해보아야 하겠다. 나에게 있어 새로운 소재를 소개시켜주고, 알려준 민정이에게 감사를 표한다.

오늘 전체세미나는 'Deep generative models and inference'라는 주제로 이민정 연구원이 진행하였다.
먼저 generative 모델은 label y별 x 데이터들을 특정기준, 예를 들어 확률이라고 하면 확률분포를 모델로 구성하는 것이 generative 모델이다. 이것을 inferenfce problem을 푼다고 말하며, 클래스 개수만큼 모델이 생성된다. 예측에 활용할 때는 새로운 데이터가 각 모델에 적용되었을 때 베이즈 룰(Bayes Rule)을 기반으로 도출되는 확률값을 비교하여 가장 큰 확률 값을 도출한 클래스로 부여하는 방식으로 이루어 진다. 이와 반대되는 개념이 discriminative model로 inference problem에서 사후확률을 직접계산하는, 즉 y별 모델을 구성하는 것이 아닌 y에 대한 함수를 구축하는 방식으로 이루어진다.
여러 generative모델중 Autoencoder는 뉴럴네트워크를 기반으로 한 대표적인 generative모델이다. Autoencoder는 encoder와 decoder구조로 이루어져 있으며 encoder로 데이터를 잘 설명하는 값을 추출하고 decoder로 원본 데이터를 재구축하고자 하는 것이 목적으로, 재구축 loss값을 기준으로 학습한다. 주로 encoder로부터 도출된 embedding을 값을 활용하여 군집분석 혹은 예측문제에 활용되고 있으며 좋은 성능을 보이고 있다. Autoencoder를 학습하는 기준인 재구축 loss값뿐만 아니라 embedding되는 값의 분포개념을 반영하고 그 분포를 추정하기 위하여 Variational Inference를 이용한 것이 Variation Autoencoder의 컨셉이다. Variation Autoencoder의 정확한 학습방식을 알기위해서는 좀 더 스터디가 필요할 것 같다. 오늘 전체세미나로 기본적인 개념 genertive모델과 discriminative모델의 차이부터 최근 널리 활용되고 있는 VAE사례를 볼 수 있었다.

이번주 세미나는 민정이가 “Deep generative models and inference”라는 주제로 발표를 준비했다. 다소 이해하기 어려운 부분이 많았지만 어려운 주제로 잘 발표해준 민정이에게 감사하다. 이번 세미나를 들으면서 가장 흥미로웠던 부분은 Variational Autoencoders(VAE)이다. 특정 데이터에 대해서 분포를 찾아주는 것인데, 기존의 Autoencoder와 매우 다르다. 자기 자신을 잘 표현해 주는 분포를 찾아주는 것인데 업데이트 되는 파라미터는 분포의 모수 값들이다. 그렇게 모수 값들을 찾아주고 분포를 찾아 주게 되면 그 분포를 찾아준 것만으로도 의미가 있다. 예를 들어, 적은량의 데이터를 가지고 있을 때 분포를 찾아 데이터를 oversampling 할 수 있는 것에도 쓰일수 있다고 생각이 든다. Generative model은 현재 굉장히 Hot한 연구 분야 중 하나이다. 잘 이용한다고 하면 현재 내가 하고 있는 연구에도 크게 도움이 될 것 같다.

금주 세미나는 ‘Deep generative models and inference’라는 주제로 Variational Inference를 기반으로 하는 Generative model인 VAE(Variational Auto Encoder)에 대해 다루고, 추가적으로 GAN이 갖는 차이점에 대한 설명까지 설명해주셨다. Supervised learning문제에서 사후분포를 구하는 접근법은 크게’Discriminative approach’와 ‘Generative approach’가 있고, 후자의 경우 확률분포와 사전분포를 통해 사후분포를 추론하게 된다. 이 때 확률분포는 구하기 어렵기 때문에(적분이 불가능) Sampling과 Optimization Approximation기법 등을 사용해 추론하여 사후분포를 구하게 된다. Sampling기반의 추론방법은 구하기 어려운 확률분포를 사전에 정의된 확률분포(proposal distribution)로 근사한 후 변수를 Sampling하여 분포를 정의하게 된다. Optimization기반의 추론 방법은 Convex정의에 사용되는 Jensen’s inequality를 사용하여 Lower bound를 정의 한뒤 이를 최대화하는 문제로 분포를 추론하며, 이러한 추론과정을 Variational Inference라 한다. Variational Inference를 기반으로하는 Generative model인 VAE는 기존의 AE와는 달리 Latent Variable의 분포를 추정하게 된다. 또 다른 대표적인 Generative model인 GAN은 Latent variable의 분포를 직접적으로 추정하지 않는다는 점에서 VAE와 차이가 있지만 학습이 잘 되었다면 Generator와 Discriminator의 분포가 유사해지기 때문에 결과적으로 Latent Variable의 분포를 추정할 수 있게된다. 평소에 제대로 정립하기 어려웠던 ‘Latent variable’, ’Embedding’, ’Feature extraction’ 등 의 용어들을 제대로 정의할 수 있어서 유익하였고, Optimization관점에서 Machine learning을 접근해보았을 때에는 임의의 함수를 가정하고, 함수의 parameter를 optimization을 통해 구하여 모델을 구축했다면 통계학 관점에서는 함수가 아닌 분포를 가정하여, parameter를 추정하여 분포를 찾는 문제로 해석할 수 있다는 점에서 Machine learning-optimization-statistics 관점에 따른 접근에 대해 관심있었는데 마침 민정언니가 이러한 연결고리의 개괄적인 부분을 잘 설명해주셨다고 생각한다. 또한 세미나 시간 안에 다양한 내용을 소개시켜주고자 고민하고, 정리하여 발표해주신 민정언니께 진심으로 감사하다.

금일 세미나는 generative model을 소개하고, 최근 VAE와 GAN의 개념 및 주요한 차이점을 간단히 소개했다. generative model은 일반적으로 discriminative model과 대비된다. discriminative model은 독립변수(x)와 종속변수(y) 간 직접적인 연결관계를 추정한 모델인 반면, generative model은 x와 y의 결합확률분포를 고려한 학습모델이다. 쉽게 얘기해서, 전자(discriminiative)는 p(y|x)를 직접 구하고, 후자(generative)는 p(x, y)를 고려한다. 이 때 p(x, y)를 구하려면, 베이즈정리에 따라 p(x)도 알거나 추정해야 한다. 만약 모델링하는 사람이 p(x) 확률값을 알고 있다면 직접 넣어줘도 된다. (예시. 우리나라 국민의 남녀의 성 비율 등) 만약 그렇지 않다면 p(x)에 대해서도 추정이 필요한데, 이를 직접 구하려면 cdf(누적밀도함수)를 계산해야 하지만 적분이 쉽지 않은 경우 어렵다. generative model 학습과정에서는, 이 문제를 해결하기 위해 p(x)를 근사추정하는 q(º)라는 개념을 도입한다. VAE의 경우를 들자면, 학습과정의 loss function 속에 기존 autoencoder와 다른 q(º) term이 추가됨을 알 수 잇다. 학습데이터 x를 최대한 유사하게 만드는 reconstruction loss term과 함께 임베딩된 z 값에 대해 p(x|z) 과 q(z)의 분포 차이를 최소화 하는 penalized term을 추가하는 것이다. 모델학습시 명확한 q 우도(likelihood)의 lower bound를 최대화 함과 다르게, GAN은 discriminative와 generator models이라는 독립적인 학습모델을 경쟁시켜 학습시킨다. GAN의 generator model은 generator를 속일 수 있는 실제와 가장 유사한 fake sample을 만드는게 목적이기 때문에, 우도를 추정한다는 면에서 상대적으로 불명확한 점이 있다. 좋은 내용의 발표를 해준 민정이에게 고마운 마음을 전한다. 항상 열심히 연구에 임하는 좋은 태도로 훌륭한 연구 성과를 내기를 바란다.

이번주에는 Variational Inference를 이용한 Generative 모델에 대한 설명을 들을 수 있었다. Variational Inference는 Bayesian 통계에 기반한 모델의 파라미터를 추정하는 방법이다. 파라미터를 추정하는 기본적인 방법으로는 Sampling 기반의 방법이 있다. Sampling 기반의 방법은 바로 추정이 불가능한 확률 변수를 Sampling이 가능한 확률 함수로 표현을 하고 여기서 확률 변수들을 Sampling하는 방법이다. 확률변수들을 Sampling한 이후에 평균을 내서 추정을 하고 분산도 추정을 할 수 있다. 하지만 이 방법의 경우 확률 변수의 개수가 많은 경우 효과적으로 샘플링할 수 없다는 한계점이 있다. 이러한 한계점을 극복하기 위해 최적화에 기반한 Variational Inference 방법이 제안되었다. 이 방법은 추정하고자 하는 확률 분포의 Likelihood의 Lower Bound를 KL Divergence를 이용해서 표현하고 이를 최대화하는 방법으로 확률 변수값을 추정하는 방법이다. 이 방법을 이용해서 Variational Autoencoder 모델이 제안되었다. 이 모델은 Autoencoder를 이용한 Generation의 한계점을 극복하는 방법으로 Latent Space의 변화에 따라 생성되는 이미지들이 좀 더 Robust하게 생성되도록 도와주는 방법이다. Variational Autoencoder와 해당 모델의 기초가 되는 이론들이 어떠한 것들이 있는 지 알 수 있는 세미나였다.

오늘 세미나는 generative model에 대해 다루었다. Generative model을 이해할 때는 우리가 평소에 많이 접하는 discriminant model과 비교하면 이해가 쉽다. Generative approach은 데이터를 기반으로 이 데이터를 생성하는 모델을 추정하여 해당 데이터의 클래스를 판별해내는 방법이다. 반면에 discriminant approach는 데이터 자체의 차이를 판별하는 방법이다. 즉 해당 데이터가 어떻게 생성되는지는 관심이 없고 데이터간의 차이를 학습하는 것이다. 컴퓨터가 어떤 것을 확실히 이해하고 있어야만 그것을 생성할 수 있다는 생각 때문에 Generative model은 소개된 직후부터 지금까지 꾸준히 각광을 받고 있으며, generative approach를 사용한 대표적인 알고리즘으로는 VAE와 GAN이 있다. 세미나에서는 Generative model의 이론적 배경과 기본적인 수식 전개를 설명하고 VAE와 GAN에 대해 짧게 소개했다. 우리 연구실 사람들 대부분에게 다소 생소한 주제이므로 처음부터 수식을 설명하기보다는 큰 배경을 설명하고 실제 사용 예시를 소개했으면 더 좋았을 것 같다. 하지만 generative model에 대해 생각해보고 다같이 의견을 나눌 수 있는 시간이었다는 점에서 유익한 시간이었다.

이번 연구실 세미나 주제는 deep generative model and inference라는 주제로 진행되었다. 세미나에서는 generative model과 latent variable, Bayesian approximate inference 등의 개념을 다루려고 했으며, 최근 많은 관심을 받고있는 deep generative model인 variational autoencoder와 generative adversarial network에 대해 소개했다. 세미나 구성에서는 아쉬운 점이 있었는데, 많은 개념들을 다루려고 한 것은 좋으나, 전체 내용을 잇는 흐름이 매끄럽지 않아 세미나를 듣는 사람들에게 혼란을 줄 수 있을 것 같았다. Bayesian approximate inference와 특히 variational inference에 대한 내용을 중심으로 구성하고 VAE가 갖는 의미를 설명했으면 좋았을 것이라고 생각한다. Deep generative model은 최근 고차원 데이터를 모델링 하는데, 특히 unsupervised learning을 수행하는 데 있어 좋은 도구로 각광받고 있으며 다양한 실험적/이론적 연구들이 시도되고 있다. 이런 연구들을 이해하고 활용하기 위해서는 어느정도 배경 지식을 갖춰야 하는데, 어떤 시각에서 deep generative model을 이해하면 좋을 지에 대해서 생각해 볼 수 있는 좋은 기회가 되었다고 생각한다.