전공/딥러닝

[DL] 오토인코더(Auto-Encoder)와 종류

mhiiii 2025. 2. 6. 16:25
728x90

Auto-Encoder

  • 정답이 없는 비지도 학습
  • 입력과 출력의 크기가 같으며, 중간으로 갈 수록 차원이 줄어드는 형태
728x90

1. Auto-Encoder의 구조

입력이 들어왔을 때, 그 입력 데이터를 최대한 압축시킨 후에 특징을 추출하여 다시 본래의 입력 형태로 복원시킴

 

 

데이터를 압축하는 부분을 Encoder

복원하는 부분을 Decoder

압축 과정에서 추출한 의미 있는 데이터 Z를 latent vector

 

손실함수는 입력과 재구성(출력)의 차이를 가지고 계산

즉, x를 얼마나 복원하였는지가 중요 

 


2. 비지도 학습의 Auto-Encoder

데이터 그 자체에 숨겨져 있는 패턴을 발견하는 것이 목표

 

Auto Encoder가 출력하는 latent vector를 미리 알 수 없음

모델이 알아서 latent vector를 찾음

 

 


3. Stacked Auto-Encoder

가장 기본적인 구조 Input layer - hidden layer - Output layer에 hidden layer의 개수를 늘린 것

 

 

4. Sparse Auto-Encoder

 

 

Hidden layer 내의 Node 수가 더 많아진 Auto-Encoder

 

Autoencoder를 사용하게 되면 원본데이터의 Feature를 압축하다보면, 다른 데이터가 들어와도 training set과 비슷하게 만들어버리는 overfitting의 문제점이 존재하는데 , 이를방지하기 위해 Sparse Autoencoder를 사용

 

 

5. Denosing Auto-Encoder

 

입력층에서 Hidden layer로 갈 때, Noise를 추가

 

 

5. Variational Auto-Encoder

Input을 잘 설명하는 feature를 추출하여 latent vector에 담고, latent vector를 통해 Input과 유사하지만 새로운 데이터를 생성하는 것을 목표로 함

 

 

가우시안 분포를 따름

AE와 달리 잠재 변수를 하나의 점이 아니라 확률 분포(𝜇, 𝜎)로 표현 

 

Encoder

 

잠재 벡터 를 직접 예측하는 것이 아니라 정규분포의 평균 μ와 표준편차 σ를 예측

즉, 가 주어졌을 때 잠재 변수 의 확률 분포를 모델링

 

Sampling

 

를 샘플링할 때 Reparameterization Trick을 사용

z는 평균 μ와 표준 편차 σ를 가진 정규 분포에서 무작위로 선택된 값

 

Decoder

 

샘플링된 코딩을 디코더가 원본 입력으로 재구성

 

 

 


 

 

 

References

https://pebpung.github.io/autoencoder/2021/09/11/Auto-Encoder-1.html

 

1.오토인코더(AutoEncoder) · ML감자

오토인코더란 무엇인가?

pebpung.github.io

https://excelsior-cjh.tistory.com/187

 

08. 오토인코더 (AutoEncoder)

이번 포스팅은 핸즈온 머신러닝 교재를 가지고 공부한 것을 정리한 포스팅입니다. 08. 오토인코더 - Autoencoder 저번 포스팅 07. 순환 신경망, RNN에서는 자연어, 음성신호, 주식과 같은 연속적인 데

excelsior-cjh.tistory.com

https://velog.io/@jochedda/%EB%94%A5%EB%9F%AC%EB%8B%9D-Autoencoder-%EA%B0%9C%EB%85%90-%EB%B0%8F-%EC%A2%85%EB%A5%98

 

[딥러닝] AutoEncoder 개념 및 종류

Autoencoder(오토인코더)란 representation learning 작업에 신경망을 활용하도록 하는 비지도 학습 방법 입력이 들어왔을 때, 해당 입력 데이터를 최대한 압축시킨 후 , 데이터의 특징을 추출하여 다시 본

velog.io

https://ga02-ailab.tistory.com/58

 

[Pytorch-기초강의] 사람의 지도 없이 학습하는 오토인코더

▶ 오토인코더 기초 ● 오토인코더(Auto-Encoder)란? 레이블 없이 feature를 추출하는 신경망을 말합니다. 지금까지의 신경망들은 입력값에 정답이 포함된 supervised learning(지도학습)이었습니다. 이번

ga02-ailab.tistory.com

 

728x90