본문 바로가기
Study (Data Science)/CV

AE, DAE, VAE

by 콜라찡 2023. 3. 31.

AE (AutoEncoder)

비지도 학습 유형, 인코더와 디코더로 이루어져 있고, 인코더는 차원축소를, 디코더는 생성모델의 역할을 한다.

 

특징 

  1. Unsupervised learning : 학습시 라벨이 없는 unsupervised 방식으로 수행됨.
  2. Representation learning : 학습시 Loss는 Negative Maximum Likelihood(nml)로 해석.
  3. Dimensionality reduction :학습된 오토인코더의 인코더는 차원 축소의 역할을 하고
  4. Generative model learning : 학습된 오토인코더의 디코더는 생성 역할을 함.

차원 축소를 해야 하는 이유는,

차원이 복잡하면 파라미터가 많아져서 오버피팅이 나게 되고, 복잡도가 떨어지기 때문이다.

AE

차원 축소를 통해 모델은,

(1) 데이터 압축, (2) 데이터 시각화, (3) 차원의 저주 피하기, (4) 유용한 특징(피처) 추출 을 할 수 있게 된다.

 

AutoEncoder의 목표는,

‘어떤 난관이 있어도’, input과 동일한 output을 만들어 내겠다.

난관 : sparse로 구멍을 내거나, noise를 추가해서 혼돈을 주더라도..

 

어떤 난관이 가장 효과가 좋았나,

그 중 noise를 추가하는 방법이 학습이 잘되었음. = DAE

 


 

DAE (Denoising Autoencoder)

엄청 어려운 문제를 풀고 나면, 다른 문제들도 다 풀게되는 원리.

 

노이즈를 추가하는 과정

input 데이터 x를 받았을 때, Encoder h(x) 함수는, 고차원에서 저차원으로 차원을 줄이면서 압축값 z를 만들어내어 latent space에 매핑시킨다.

이 과정에서 noise를 추가해서, 더 어려운 환경에서도 x가 나올 수 있는 방향으로 기울기를 업데이트 하여 최종 output인 x’을 생성해낸다.

목적은 input인 x와 output인 x’=y이 최대한 같게 하는 것이다.

그래서 Loss는 x와 y가 최소값을 갖도록 MLE(Maximum Likelihood Estimation)로 학습한다.

https://hyunsooworld.tistory.com/entry/%EC%98%A4%ED%86%A0%EC%9D%B8%EC%BD%94%EB%8D%94Autoencoder%EA%B0%80-%EB%AD%90%EC%97%90%EC%9A%94-5-Variational-AutoEncoderVAE

노이즈는 얼마나 추가하는게 좋은가?

하기 결과는 픽셀당 추가한 노이즈정도의 퍼센트.

너무 적거나 많아도 학습에 긍정적이지는 않은 것을 볼 수 있다.

https://hyunsooworld.tistory.com/entry/%EC%98%A4%ED%86%A0%EC%9D%B8%EC%BD%94%EB%8D%94Autoencoder%EA%B0%80-%EB%AD%90%EC%97%90%EC%9A%94-5-Variational-AutoEncoderVAE


 

VAE (Variational Autoencoder)

DAE와 비슷하지만 “확률분포의 latent space”에 매핑한다는 점이 차이점.

DAE는 복원만 잘하면 됨. 그래서 저차원의 잠재변수를 학습하지는 않음.

하지만 VAE는 확률분포로 매핑함. 입력데이터 x를 encoder에 전달하여, 평균과 표준편차를 추정하고, 이를 사용해서 잠재공간에 매핑한 후에, 그 잠재공간에서 잠재변수 z를 샘플링 하고, 디코더를 통해 z를 다시 x’로 매핑함.

VAE의 목적은 z를 정규분포에 가깝게 학습을 시켜서 여러형태의 x’를 만들 수 있게 하는 것이기 때문에, 학습이 끝나고 나면 노이즈를 시작으로 새로운 이미지가 생성이 가능한거임.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

https://hyunsooworld.tistory.com/entry/%EC%98%A4%ED%86%A0%EC%9D%B8%EC%BD%94%EB%8D%94Autoencoder%EA%B0%80-%EB%AD%90%EC%97%90%EC%9A%94-5-Variational-AutoEncoderVAE

 

오토인코더(Autoencoder)가 뭐에요? - 5. Variational AutoEncoder(VAE)

- Reference Naver d2 이활석님의 '오토인코더의 모든것' Kaist Edward Choi 교수님의 Programming for AI(AI 504, Fall2020) Naver d2 이활석님의 '오토인코더의 모든것'과 Kaist Edward Choi 교수님의 AI 504 수업을 토대로 공

hyunsooworld.tistory.com

https://www.youtube.com/watch?v=7fBQDaJkcSU 

https://wikidocs.net/3413

 

1. Introduction Auto-Encoder

* 발표내용 요약 본 발표에서는 Auto-Associative Neural Network(AutoEncoder)의 종류와, 그 실습에 대하여 알아본다. Auto-Encoder에…

wikidocs.net

 

728x90

'Study (Data Science) > CV' 카테고리의 다른 글

Diffusion 2 (Stable diffusion)  (0) 2023.04.12
cGAN / Pix2pix  (0) 2023.02.18
OCR (광학문자인식)과 딥러닝  (0) 2023.01.31
생성 모델들 / GAN  (0) 2023.01.17
Convolution Layer 심화학습  (0) 2022.12.29

댓글