Pytorch 프레임워크는 VAE(Variational Autoencoder)를 구현합니다.

목차

1. VAE(Variational Autoencoder) 이해

2. Variational Autoencoder의 특정 프로세스

(1) 특정 프로세스 

(2) 구체적인 내용에 주의를 기울인다.

3. 변이 오토인코더 모델 구조 

(1) 인코더(인코더)

(2) 디코더(디코더)

4. Reparameterization 트릭

5. 변이 오토인코더 손실 함수

6. VAE 코드 구현 


Pytorch 프레임워크(AutoEncoder)를 사용한 Autoencoder 원리 및 구현

Pytorch는 자동 인코더 변형을 구현합니다.

1. VAE(Variational Autoencoder) 이해

        기본 인코더는 입력 x와 숨겨진 변수 z 사이의 매핑 관계를 본질적으로 학습합니다.제너레이터 모델(Generator Model)이 아닌 판별 모델(Discriminator Model)입니다 . 오토인코더의 기본 원리에 대해서는 위 링크의 내용을 읽어보시기 바랍니다.

  • 숨겨진 변수 분포 p(z)가 주어지면 조건부 확률 분포 p(x | z)를 학습할 수 있으면 결합 확률 분포 p(x, z) = p(x | z), p(z) 샘플링 학습 , 다른 샘플을 생성합니다.
  • Variational autoencoder는 위에 주어진 요구 사항을 충족할 수 있습니다.
  •  변형 자동 인코더에는 인코더와 디코더도 있습니다. 인코더는 입력 x를 받고 숨겨진 변수 z를 출력하고, 디코더는 숨겨진 변수 z를 받고 x에 근사하는 변수 x'를 출력합니다.

  • VAE 모델은 숨겨진 변수 z의 분포에 대한 명시적 제약을 가지며 숨겨진 변수 z가 미리 설정된 사전 분포 p(z)를 준수하기를 희망합니다.

2. Variational Autoencoder의 특정 프로세스

(1) 특정 프로세스 

  • Variational Autoencoder의 인코더(Encoder)와 디코더(Decoder)는 데이터 스트림에 연결되어 있지 않으며 인코더의 결과 출력은 디코더의 입력으로 직접 전달되지 않습니다.

(2) 구체적인 내용에 주의를 기울인다.

3. 변이 오토인코더 모델 구조 

(1) 인코더(인코더)

        batchSize = b로 설정하고 각 샘플이 평균과 표준 편차를 생성한다고 가정하면 인코더 프로세스는 아래 그림과 같습니다. 

       

(2) 디코더(디코더)

        인코더 출력의 평균 및 표준 편차는 가우시안 분포를 따르고 디코더는 해당 가우시안 분포에서 z를 무작위로 샘플링합니다. 

4. Reparameterization 트릭

        팁: 변형 자동 인코더의 인코더(Encoder)와 디코더(Decoder)는 데이터 스트림에 연결되어 있지 않으며 인코더의 결과 출력은 디코더의 입력으로 직접 전달되지 않습니다. 이 문제를 해결하기 위해 Reparameterization Trick이라는 지속적으로 접근 가능한 솔루션을 제안합니다.

        Reparameterization Trick 솔루션은 다음과 같습니다.

5. 변이 오토인코더 손실 함수

 

6. VAE 코드 구현 

Github 코드 구현:   GitHub - KeepTryingTo/Pytorch-GAN: Pytorch를 사용하여 GAN을 구현하는 과정

VAE 원리 + 직관적 이해 + 공식 유도 + 노이즈 제거 + 이상 탐지

Supongo que te gusta

Origin blog.csdn.net/Keep_Trying_Go/article/details/130654962
Recomendado
Clasificación