딥러닝, 논문 리뷰

[딥러닝] AutoEncoder란? - 신경망 아키텍처

cheorish 2024. 12. 20. 08:14

AutoEncoder란 무엇인지?

말그대로 자동적으로 인코딩(encoding) 해준다는 뜻이다, 더 설명하자면 인코더를 통해 특정 입력 데이터를 압축하여 잠재 공간(

latent space)으로 매핑하는 신경망이라고 생각하면 된다.

입력 데이터의 중요한 특징을 추출하고, 불필요한 정보를 제거하며 더 간결한 표현으로 변환하는 역할

AutoEncoder 구조

1. 인코더

  • 입력 데이터를 저차원 잠재 공간으로 변환
  • 입력 계층, 은닉 계층(다수)로 구성

2. 디코더

  • 잠재 공간의 표현을 원본 데이터로 복원
  • 은닉 계층, 출력 계층으로 구성

3. 잠재 공간

  • 입력 데이타와 특성을 저차원의 벡터 형태로 표현
  • 인코더 ↔︎ 디코더 간 중간 레이어

아키텍처

출처 : https://medium.com/@hugmanskj/autoencoder-%EC%99%80-variational-autoencoder%EC%9D%98-%EC%A7%81%EA%B4%80%EC%A0%81%EC%9D%B8-%EC%9D%B4%ED%95%B4-171b3968f20b

오토인코더의 학습 목표

  • AutoEncoder는 재구성 손실(Reconstruction Loss)를 최소화하는 것을 목표로 학습한다.
  • 입력 데이터 X를 잠재 공간으로 압축한 뒤 디코더를 통해 복원된 데이터 \(\hat{X}\)와 원본 X 간의 차이를 최소화한다.

AutoEncoder의 변형

AutoEncoder는 기본 구조에서 확장된 여러 변형들이 존재한디.

이를 추가하면 AutoEncoder의 응용 범위를 더 풍부하게 설명할 수 있다.

  1. Denoising AutoEncoder (DAE):
  • 입력 데이터에 노이즈를 추가하여 학습.
  • 노이즈가 포함된 데이터를 입력으로 받아 원본 데이터를 복원.
  • 목적: 데이터의 강건한 표현(robust representation)을 학습.
  • 활용: 이미지 복원, 노이즈 제거.
  1. Sparse AutoEncoder:
  • 잠재 공간이 희소성(Sparsity)을 가지도록 학습.

  • 특정 뉴런만 활성화되도록 제약을 가함.

  • 목적: 데이터의 중요한 특징을 더 효과적으로 추출.

  • 활용: 특징 학습, 이상 탐지.

  1. Variational AutoEncoder (VAE):
  • 잠재 공간을 확률적(latent distribution)으로 모델링.
  • 입력 데이터를 정규 분포 등 특정 확률 분포로 매핑.
  • 목적: 생성 모델로 활용, 새로운 데이터 샘플 생성 가능.
  • 활용: 이미지 생성, 데이터 증강.
  1. Contractive AutoEncoder (CAE):
  • 입력 데이터에 대한 작은 변화가 잠재 공간 표현에 큰 영향을 미치지 않도록 학습.
  • 목적: 더 안정적이고 일반화된 표현 학습.

결론

  1. 오토 인코더의 변형 방법에 대해 깊이 있게 공부하지 못했다
  2. 그렇기에 추후 더 정리할 예정