강력하게 추천드리는 이유 : Adam Optimizer를 만든분이 만든 모델
posterior distribution 을 찾는것이 목표다.
variational distribution
무언가를 잘 최적화 하겠다.
KL 다이버전스를 활용한다.
뭔지도 모르는 variational distribution을 어떻게 찾냐?
그것이 바로 variational auto-encoder를 사용한다.
뭔지도 모르고 계산할수도 없는걸 ELBO를 맥시마이즈 하면서 찾아낼 수 있는것이다.
에비던스 롤 바운드
를 맥시마이즈 하는것이 posterior,varitional distribution의 두개의 거리를 줄여주는것과 같은 역할을 하더라.어떤 상황이 발생할 확률
한지 알기 힘들다.도둑이 위조지폐를 만들고싶다.
위조지폐를 잘 분별할수있는 경찰이 있다.
경찰이 이걸 분별하고 분별한걸 바탕으로 도둑은 경찰을 속이려고 한다.
이런식으로 계속 더 잘 구분할 수 있게 학습을 한다.
위 과정을 반복함으로써 generative 성능을 높이는것이 목표이다.
장점 : 좋은 generater가 우리가 원하는 것이다. 내가 학습에 결과로 나오는 discriminator가 점차점차 좋아진다는게 제일 큰 장점이다.
- 임플리싯 모델이다.
x -> q -> z -> p-> x 를 거치는게 일반적인 VA방식.(Variational Autoencoder)
G를통해서 Fake가 나오고 이 Fake이미지를 구분하는 분류기를 학습하고, 그렇게 학습된 분류엥서 True가 나오도록 학습을 계속 진행한다.
이 D와 G를 계속 학습한다.
2플레이어 미니맥스 게임이라고 본다.
Generator 와 discriminator.
generator가 fix가 돼있을때 얘를 항상 최적으로 갈라주는것은 D*G(x)로 나온다.
그러면 얘를 다시 generator에 집어넣게 되면, Jenson-shannon Divergence가 나온다.
우리의 실제 만든 데이터 distribution과 내가 학습한 generator과의 jenson-shannon divergence를 최적화하는 것이다 라고 말한다.
실제로 봤을때 discriminator를 수정하기 보장하기도 힘들고, 제너레이터가 이렇게 안나올 수도 있다. 이론적으로는 맞지만.
현실적으로는 좀의아 한 적이있다.
어떤사람 : GEN objective는 true generator distribution과 내가 학습하고 자 하는 generator와의 jenson-shannon Divergence를 최적화 하는거야.
라고 설명 할 수 있다.
이녀석의 가장큰 장점:
- 말을 얼룩말로 바꾸려면 일반적으로 두 사진이 필요하는데
- 알아서 임의의 말을 얼룩말의 이미지로 바꿔준다.
GAN은 굉장한 고차원의 이미지를 만들어 낼 수 있다.
저차원부터 고차원까지 점점 늘려나가면서 학습을 시키는 트레이닝 방식이다.
굉장히 좋은성능의 하이 피델리티 이미지를 만들어 낼 수 있었다.
GAN의 논문들은 엄청나게 늘어나고있다.
다 이해하는것은 불가능하지만,OpenAI의 DALL-E 의 Transform을 쓰는게 어쩌면더 좋을 것 같다! 라고 생각하신다.(교수님왈)