또 다른 생성모델: VQ-VAE by 바죠

Vector-Quantized Variational Autoencoders (keras.io)

In traditional VAEs, the latent space is continuous and is sampled from a Gaussian distribution. It is generally harder to learn such a continuous distribution via gradient descent. VQ-VAEs, on the other hand, operate on a discrete latent space, making the optimization problem simpler. 

VAE 방법은 전형적인 비지도학습으로서 생성모델 중 하나이다. GAN, VAE, Boltzmann machine, RNN, PixelCNN 과 함께 유명한 생성모델이다.

기본 개념은 동일한데, 생성모델로서 유사한 방법들이 계속 출현하는 이유는 간단하다. 모델마다 취약한 부분이 있기 때문이다. 즉, 현실적으로 성능이 좋지 못함. 또는 이론적 가정이 타당하지 못함. 한마디로 말해서 완전하지 않다는 것이다.
생성모델이 완전하지 않은 여러 가지 이유들이 계속 발견되고 있다.  
예를 GAN 방법을 보자, 무수히 많은 ....GAN 방법들이 난무하고 있다. 이것은 복합적으로 성능이 좋지 못하거나 이론적으로 확실하지 않다는 방증이다. 그럼에도 불구하고 특수한 문제를 해결할 때, 큰 문제가 되지 않을 수도 있다. 특정응용문제 풀이에 적용이 가능한 경우도 실제로 존재한다.


VAE도 마찬가지이다. AE 보다 더 연속적인 잠재공간을 정의할 수 있다고 해서 주목을 받았다. 
하지만, 또 다시, 이 부분에 문제가 있음이 연구들에서 확인이 되었다. 연속적으로 보다 더 잘 정의된 잠재 변수들을 확보할 수 있다는 장점을 부각시키면서 등장한 VAE를 넘어서는 시도가 진행되고 있다.
급기야, 불연속적인 접근법을 대놓고 시도한다. 이것이 더 유용하다고 한다. VQ-VAE가 이것을 주장한다.

The authors use a PixelCNN to train these codes so that they can be used as powerful priors to generate novel examples.
생성모델 (비지도 학습), 순차적 모델

특별히, 생성할 때, 새로운 방식을 추구한다.
It's an auto-regressive generative model where the current outputs are conditioned on the prior ones. In other words, a PixelCNN generates an image on a pixel-by-pixel basis.

It uses multiple convolutional layers that preserve the spatial resolution. However, pooling layers are not used. Masks are adopted in the convolutions to restrict the model from violating the conditional dependence.
PixelCNN lowers the training time considerably as compared to PixelRNN.

The PixelCNN model is trained to learn a distribution (as opposed to minimizing the L1/L2 loss), which is where it gets its generative capabilities from.

VQ-VAE2.0 for dog image generation | Kaggle
Generating Diverse High-Fidelity Images with VQ-VAE-2 (uni-freiburg.de)
1711.00937.pdf (arxiv.org)
NVAE: A Deep Hierarchical Variational Autoencoder (Paper Explained) - YouTube
PixelCNN, Wavenet & Variational Autoencoders - Santiago Pascual - UPC 2017 - YouTube



K 개의 embedding vector가 존재한다.

d 는 one-hot vector의 dimension이다.





--------------------------------------------------------------------------------------------------------------

2012년이 딥러닝의 원년이다.
2011년 Relu 함수의 출현 : vanishing gradient problem 해결, 표현력이 높은 딥러닝이 시작됨.
2012년 Dropout 방법의 출현 : overfitting problem 해결, 정규화된 훈련이 가능함. regularization의 도입.
2012년 CNN 출현 : 방대한 이미지 데이터 처리 문제 해결, 비대칭 데이터에 대한 처리가 가능함.
2013년 VAE 출현: 생성모델로서 다양한 가능성을 제안함.
2014년 GAN 출현: 생성모델로서 많은 응용 가능성을 제안함.
2015년 TensorFlow 구현의 출현과 보급 : 실질적인 딥러닝의 민주화가 단행됨.
2016년 알파고 출현 : 바둑 정복
2017년 알파고 제로 출현 : tabula rasa, first-principles 방법을 이용하여 바둑 정복, 진정한 바둑의 정복이 가능함. 기보없이 바둑 정복함. 프로기사에게 절대로 지지 않는 사실상 바둑의 신이 탄생함. 바둑의 역사 5000년 Mastering the game of Go without human knowledge | Nature http://incredible.egloos.com/7372719
2017년 cycleGAN 출현 http://incredible.egloos.com/7530913
2018년 알파폴드 출현
2021년 플로어플랜닝 (반도체 칩 설계) A graph placement methodology for fast chip design | Nature
2021년 나우캐스팅 (단기 일기예보) https://www.nature.com/articles/s41586-021-03854-z
2022년 알파코드  https://alphacode.deepmind.com/

--------------------------------------------------------------------------------------------------------------


--------------------------------------------------------------------------------------------------------------

덧글

댓글 입력 영역

최근 포토로그