가변 오토인코더

Variational autoencoder

기계 학습에서 변형 오토인코더(VAE)는 Dieerik P. Kingma와 Max Welling에 의해 도입된 인공 신경망 아키텍처입니다.그것은 확률론적 그래픽 모델가변 베이지안 방법군의 일부입니다.[1]

변형 오토인코더는 아키텍처 친화성 때문에 오토인코더 모델과 종종 연관되지만 목표 및 수학적 공식에서 상당한 차이가 있습니다.가변 오토 인코더는 신경망을 전체 구조의 일부로만 요구하는 확률론적 생성 모델입니다.뉴럴 네트워크 컴포넌트들은 일반적으로 제1 컴포넌트 및 제2 컴포넌트에 대해 각각 인코더 및 디코더로 지칭됩니다.첫 번째 신경망은 입력 변수를 변동 분포의 매개 변수에 대응하는 잠재 공간에 매핑합니다.이러한 방식으로 인코더는 동일한 분포에서 오는 여러 개의 다른 샘플을 생성할 수 있습니다.디코더는 데이터 포인트를 생성하거나 생성하기 위해 잠재 공간에서 입력 공간으로 매핑하는 반대 기능을 가지고 있습니다.일반적으로 두 네트워크는 재파라미터화 트릭의 사용과 함께 훈련되지만 노이즈 모델의 분산은 별도로 학습할 수 있습니다.

이러한 유형의 모델은 처음에는 비지도 학습을 위해 설계되었지만,[2][3] 준지도 학습[4][5]지도 학습에 대한 효과가 입증되었습니다.[6]

아키텍처 및 운영 개요

가변 오토인코더는 사전 분포와 노이즈 분포가 각각 있는 생성 모델입니다.일반적으로 이러한 모델은 기대-최대화 메타 알고리즘(예: 확률론적 PCA, (스파이크 & 슬라브) 희소 코딩)을 사용하여 훈련됩니다.이러한 방식은 일반적으로 다루기 힘든 데이터 가능성의 하한을 최적화하며, 이를 위해서는 q-분포 또는 변형 포스터를 발견해야 합니다.이러한 q-분포는 일반적으로 별도의 최적화 프로세스에서 각 개별 데이터 점에 대해 모수화됩니다.그러나 가변형 오토 인코더는 신경망을 상각형 접근법으로 사용하여 데이터 포인트 간에 공동으로 최적화합니다.이 신경망은 데이터 포인트 자체를 입력으로 받아 변동 분포를 위한 파라미터를 출력합니다.알려진 입력 공간에서 저차원 잠재 공간으로 매핑하기 때문에 인코더(encoder)라고 합니다.

디코더는 이 모델의 두 번째 신경망입니다.이 기능은 잠재 공간에서 입력 공간으로 매핑하는 기능입니다. 예를 들어 소음 분포의 수단으로 사용됩니다.분산에 매핑되는 다른 신경망을 사용할 수 있지만 단순화를 위해 이는 생략할 수 있습니다.이러한 경우에는 기울기 강하를 사용하여 분산을 최적화할 수 있습니다.

이 모형을 최적화하려면 "재구성 오류"와 쿨백-라이블러 발산이라는 두 용어를 알아야 합니다.두 항은 모두 확률론적 모델의 자유 에너지 표현식에서 파생된 것이므로, 소음 분포와 가정된 데이터 이전에 따라 다릅니다.예를 들어, IMAGENET과 같은 표준 VAE 작업은 일반적으로 가우스 분포 노이즈를 갖는 것으로 가정되지만, 이진화된 MNIST와 같은 작업은 Bernouli 노이즈를 필요로 합니다.자유 에너지 표현식의 KL-D는 p-분포와 중복되는 q-분포의 확률 질량을 최대화하며, 불행하게도 모드 탐색 행동을 초래할 수 있습니다."재구성" 항은 자유 에너지 표현식의 나머지 부분이며, 기대 값을 계산하려면 샘플링 근사치가 필요합니다.[7]

공식화

변형 오토인코더의 기본 방식입니다.모델은 x 을(를) 입력으로 받습니다.인코더는 그것을 잠재 공간으로 압축합니다.디코더는 잠재 공간에서 샘플링된 정보를 입력으로 수신하고 와 최대한 유사한 x'}을를) 생성합니다

확률적 모델링의 관점에서, 데이터 의 가능성을 그들이 선택한 매개 변수화된 확률 분포 θ( = ( θ ) = 로 극대화하고자 합니다이 분포는 보통 \mu}와σ 로 매개 변수화되는 가우스 ,σ \로 선택되며, 지수 패밀리의 구성원으로서 노이즈 분포로 작업하기 쉽습니다.단순 분포는 최대화하기에 충분히 쉽지만, 잠재 상태 보다 우선순위가 가정된 분포는 다루기 힘든 적분으로 이어집니다. 에 대한 주변화를 통해 θ( 를 찾도록 합시다

여기서 θ( z 는 관측 가능한 x θ 와 그 잠재적 표현 또는 z{\에 따른 공동 분포를 나타냅니다 체인 규칙에 따라 방정식은 다음과 같이 다시 쓸 수 있습니다.

바닐라 가변 오토인코더에서 는 일반적으로 실수의 유한 차원 벡터로 되고 θ(z) {\p_{\}({x z 가우스 분포로 간주됩니다.그렇다면 θ (x) 는 가우스 분포의 혼합입니다.

이제 입력 데이터와 잠재적 표현 사이의 관계 집합을 다음과 같이 정의할 수 있습니다.

  • 이전 θ (
  • 우도 θ
  • p θ )

안타깝게도 θ( ) 의 계산은 비싸고 대부분의 경우 다루기 어렵습니다.미적분학의 속도를 높이기 위해, 다음과 같이 후분포를 근사화하는 추가 함수를 도입할 필요가 있습니다.

\}을를) 매개 변수화하는 실수 값의 집합으로 정의된 ϕ displaystyle q}. 좋은 ϕ }}을를) 찾는 데 "투자함으로써 나중에 적분을 않고 x x}에서z z}을를) 빠르게 추론할 수 있기 때문에 이를 상각 추론이라고도 합니다.

이러한 방식으로 문제는 좋은 확률적 자동 인코더를 찾는 것인데, 조건부 우도 분포 θ z z확률적 디코더에서 계산되고 근사 후방 분포 ϕ x확률적 인코더에서 계산됩니다.

인코더를 ϕ 로, 디코더를 Dθ {\displaystyle {\로 매개변수화합니다

증거 하한(ELBO)

모든 딥 러닝 문제에서와 마찬가지로, 역전파를 통해 네트워크 가중치를 업데이트하기 위해 차별화 가능한 손실 함수를 정의할 필요가 있습니다.

가변 오토 인코더의 경우, 생성 모델 매개 변수 θ 를 공동으로 최적화하여 입력과 출력 간의 재구성 오류를 줄이고, ϕ \phi를 ϕ하여 θ θ ) 에 최대한 가깝게 만드는 것이 아이디어입니다 다시 생각해보십시오.평균 제곱 오차교차 엔트로피는 종종 사용됩니다.

두 분포 사이의 거리 손실로 Kullback-Leibler 발산 ϕ( z ) θ (z ) x는 p θ( x 아래에 ϕ x})를 압축하는 것이 좋습니다

방금 정의된 거리 손실은 다음과 같이 확장됩니다.

이제 증거 하한(ELBO)을 정의합니다.

ELBO 극대화
θ (x) 를 동시에 최대화하고 ( ϕ( ) θ ( ) x x를 최소화하는 것과 같습니다즉, 관측된 데이터의 로그 가능성을 최대화하고, 정확한 p θ 에서 근사 후방 ϕ) x의 발산을 최소화합니다

주어진 형태는 최대화에 그다지 편리하지는 않지만, 다음과 같은 동등한 형태가 있습니다.

여기서 θ z z- - θ{\ 즉, 가산 상수까지 ~N ( θ ) (가) 산출됩니다.즉, 조건부 분포를 θ( 중심의 가우스 분포로 모델링합니다q ϕ (z ) z 와 p θ ( 의 분포도 종종 가우스파로 선택됩니다. x ~ ( ϕ ( σ ϕ ( x) ) z x { _ z ( ) z {0,가우스인의 KL 발산에 대한 공식을 통해 얻을 수 있습니다.
여기서 (는 z {\의 차원입니다 ELBO와 ELBO의 극대화에 대한 더 자세한 파생 및 해석은 해당 메인 페이지를 참조하십시오.

매개변수 재설정

매개 변수화 트릭의 스킴입니다. ε {\이(가) 잠재공간 z {\ z에 외부입력으로 주입됩니다.이러한 방법으로 업데이트 중 확률 변수를 수반하지 않고 기울기를 역전파할 수 있습니다.

효율적으로 검색하려면 다음과 같이 하십시오.

대표적인 방법은 경사 하강입니다.

찾는 것은 간단합니다.

하지만,
분포 자체에 {\ \ϕ이(가) 나타나기 때문에}}을(를) 예상 내부에 넣을 수 없습니다.재파라미터화 트릭(확률적 역전파라고도[9] 함)은 이 어려움을 우회합니다.[7][10][11]

가장 중요한 예는 ~ ϕ ( ){\ z x {\ _))가 정규 분포일 때입니다

재파라미터화 트릭 후 변형 오토인코더의 스킴

ε ~ ( 0 {0, {를) " 난수 생성기"로 지정하고 = ϕ (x)+ ϕ ( )ϵ z=\ _로 구성합니다. 여기서 촐레스키 분해에 의해 얻어집니다.

그러면 저희가.
그래서 확률적 기울기 하강을 허용하는 편향되지 않은 기울기 추정치를 구했습니다.

을(를) 매개 변수화하였으므로 ϕ ( 을(를) 찾아야 합니다 ϵ 에 대한 확률 밀도 함수로 이라고 하면 됩니다

여기서 ∂ ϵ partial 는 z 에 대한 ϵ 의 야코비안 행렬입니다 = ϕ(+ ϕ ϵ z =\ 이것은

변주곡

아키텍처를 다른 도메인에 적응시키고 성능을 향상시키기 위해 다양한 자동 인코더 응용 프로그램과 확장 프로그램이 사용되었습니다.

} -VAE는 인수화된 잠재 표현을 자동으로 발견하고 해석하기 위해 가중 Kullback-Leibler 발산항을 가진 구현입니다.이 구현을 사용하면 1보다 큰 값에 대해 매니폴드 분리를 강제할 수 있습니다.이 아키텍처는 감독 없이도 해체된 잠재 요인을 발견할 수 있습니다.[12][13]

조건부 VAE(CVAE)는 잠재 공간에 레이블 정보를 삽입하여 학습된 데이터의 결정론적 제한 표현을 강제합니다.[14]

일부 구조는 생성된 샘플의[15][16] 품질을 직접 다루거나 둘 이상의 잠재 공간을 구현하여 표현 학습을 더욱 향상시킵니다.[17][18]

일부 아키텍처는 하이브리드 모델을 얻기 위해 VAE와 생성적 적대 네트워크를 혼합합니다.[19][20][21]

참고 항목

참고문헌

  1. ^ Pinheiro Cinelli, Lucas; et al. (2021). "Variational Autoencoder". Variational Methods for Machine Learning with Applications to Deep Networks. Springer. pp. 111–149. doi:10.1007/978-3-030-70679-1_5. ISBN 978-3-030-70681-4. S2CID 240802776.
  2. ^ Dilokthanakul, Nat; Mediano, Pedro A. M.; Garnelo, Marta; Lee, Matthew C. H.; Salimbeni, Hugh; Arulkumaran, Kai; Shanahan, Murray (2017-01-13). "Deep Unsupervised Clustering with Gaussian Mixture Variational Autoencoders". arXiv:1611.02648 [cs.LG].
  3. ^ Hsu, Wei-Ning; Zhang, Yu; Glass, James (December 2017). "Unsupervised domain adaptation for robust speech recognition via variational autoencoder-based data augmentation". 2017 IEEE Automatic Speech Recognition and Understanding Workshop (ASRU). pp. 16–23. arXiv:1707.06265. doi:10.1109/ASRU.2017.8268911. ISBN 978-1-5090-4788-8. S2CID 22681625.
  4. ^ Ehsan Abbasnejad, M.; Dick, Anthony; van den Hengel, Anton (2017). Infinite Variational Autoencoder for Semi-Supervised Learning. pp. 5888–5897.
  5. ^ Xu, Weidi; Sun, Haoze; Deng, Chao; Tan, Ying (2017-02-12). "Variational Autoencoder for Semi-Supervised Text Classification". Proceedings of the AAAI Conference on Artificial Intelligence. 31 (1). doi:10.1609/aaai.v31i1.10966. S2CID 2060721.
  6. ^ Kameoka, Hirokazu; Li, Li; Inoue, Shota; Makino, Shoji (2019-09-01). "Supervised Determined Source Separation with Multichannel Variational Autoencoder". Neural Computation. 31 (9): 1891–1914. doi:10.1162/neco_a_01217. PMID 31335290. S2CID 198168155.
  7. ^ a b c Kingma, Diederik P.; Welling, Max (2013-12-20). "Auto-Encoding Variational Bayes". arXiv:1312.6114 [stat.ML].
  8. ^ "From Autoencoder to Beta-VAE". Lil'Log. 2018-08-12.
  9. ^ Rezende, Danilo Jimenez; Mohamed, Shakir; Wierstra, Daan (2014-06-18). "Stochastic Backpropagation and Approximate Inference in Deep Generative Models". International Conference on Machine Learning. PMLR: 1278–1286. arXiv:1401.4082.
  10. ^ Bengio, Yoshua; Courville, Aaron; Vincent, Pascal (2013). "Representation Learning: A Review and New Perspectives". IEEE Transactions on Pattern Analysis and Machine Intelligence. 35 (8): 1798–1828. arXiv:1206.5538. doi:10.1109/TPAMI.2013.50. ISSN 1939-3539. PMID 23787338. S2CID 393948.
  11. ^ Kingma, Diederik P.; Rezende, Danilo J.; Mohamed, Shakir; Welling, Max (2014-10-31). "Semi-Supervised Learning with Deep Generative Models". arXiv:1406.5298 [cs.LG].
  12. ^ Higgins, Irina; Matthey, Loic; Pal, Arka; Burgess, Christopher; Glorot, Xavier; Botvinick, Matthew; Mohamed, Shakir; Lerchner, Alexander (2016-11-04). "beta-VAE: Learning Basic Visual Concepts with a Constrained Variational Framework". {{cite journal}}:저널 요구사항 인용 journal=(도움말)
  13. ^ Burgess, Christopher P.; Higgins, Irina; Pal, Arka; Matthey, Loic; Watters, Nick; Desjardins, Guillaume; Lerchner, Alexander (2018-04-10). "Understanding disentangling in β-VAE". arXiv:1804.03599 [stat.ML].
  14. ^ Sohn, Kihyuk; Lee, Honglak; Yan, Xinchen (2015-01-01). "Learning Structured Output Representation using Deep Conditional Generative Models" (PDF). {{cite journal}}:저널 요구사항 인용 journal=(도움말)
  15. ^ Dai, Bin; Wipf, David (2019-10-30). "Diagnosing and Enhancing VAE Models". arXiv:1903.05789 [cs.LG].
  16. ^ Dorta, Garoe; Vicente, Sara; Agapito, Lourdes; Campbell, Neill D. F.; Simpson, Ivor (2018-07-31). "Training VAEs Under Structured Residuals". arXiv:1804.01050 [stat.ML].
  17. ^ Tomczak, Jakub; Welling, Max (2018-03-31). "VAE with a VampPrior". International Conference on Artificial Intelligence and Statistics. PMLR: 1214–1223. arXiv:1705.07120.
  18. ^ Razavi, Ali; Oord, Aaron van den; Vinyals, Oriol (2019-06-02). "Generating Diverse High-Fidelity Images with VQ-VAE-2". arXiv:1906.00446 [cs.LG].
  19. ^ Larsen, Anders Boesen Lindbo; Sønderby, Søren Kaae; Larochelle, Hugo; Winther, Ole (2016-06-11). "Autoencoding beyond pixels using a learned similarity metric". International Conference on Machine Learning. PMLR: 1558–1566. arXiv:1512.09300.
  20. ^ Bao, Jianmin; Chen, Dong; Wen, Fang; Li, Houqiang; Hua, Gang (2017). "CVAE-GAN: Fine-Grained Image Generation Through Asymmetric Training". pp. 2745–2754. arXiv:1703.10155 [cs.CV].
  21. ^ Gao, Rui; Hou, Xingsong; Qin, Jie; Chen, Jiaxin; Liu, Li; Zhu, Fan; Zhang, Zhao; Shao, Ling (2020). "Zero-VAE-GAN: Generating Unseen Features for Generalized and Transductive Zero-Shot Learning". IEEE Transactions on Image Processing. 29: 3665–3680. Bibcode:2020ITIP...29.3665G. doi:10.1109/TIP.2020.2964429. ISSN 1941-0042. PMID 31940538. S2CID 210334032.