본문 바로가기
AI/Study

[Study] Autoencoder의 개념과 활용

by 여기는 정글 2024. 12. 22.

기초개념

먼저 딥러닝, 특히 생성 모델과 차원 축소에서 중요한 개념, Manifold와 Latent Space에 대해 알아보겠습니다.

Manifold와 Latent Space

  • Manifold (데이터 구조 이해)
    데이터가 고차원 공간에서 존재하지만, 사실은 더 낮은 차원의 구조(다양체, manifold)에 가깝게 분포한다는 개념입니다. 예를 들어, 자연 이미지 데이터는 픽셀 차원으로 보면 매우 고차원이지만, 실제로는 특정한 패턴(예: 물체의 모양, 질감 등)으로 제약된 공간에 존재합니다.
  • Latent Space (데이터 압축 및 표현)
    Autoencoder와 같은 모델에서 입력 데이터를 압축하여 표현하는 저차원의 공간입니다. 이 공간은 데이터의 중요한 특징(예: 물체의 모양, 색상, 질감 등)을 추상화하며, 고차원 데이터를 효과적으로 표현하고 재구성할 수 있게 합니다.

 

Autoencoder

Autoencoder는 이러한 Manifold를 학습하는 데 적합한 도구입니다.

Autoencoder는 신경망을 사용하여 입력 데이터를 효율적으로 압축(인코딩)하고, 다시 이를 복원(디코딩)하는 비지도 학습 모델입니다.

주요 목적은 데이터의 중요한 특성을 학습하고, 노이즈를 제거하거나 차원을 축소하는 데 있습니다.

기본적인 구조는 인코더, 디코더, 손실 함수로 이루어져 있다. 먼저 인코더에서는 입력 데이터를 저차원으로 압축합니다. 디코더에서는 인코더에서 얻은 저차원 표현을 다시 원래의 고차원 데이터로 복원합니다. 이때 원본 데이터와 복원된 데이터 간의 차이를 최소화하는 것이 목표입니다. 이 차이를 최소화할 때 쓰이는 손실함수로는 대표적으로 Mean Squared Error(MSE)를 사용합니다.

 

Convolutional Autoencoder

 

Convolutional Autoencoder는 이미지 데이터를 다루기 위해 설계된 Autoencoder의 변형입니다. 다음과 같은 구조로 이루어집니다:

  • Encoder
    이미지를 작은 latent representation(잠재 표현)으로 압축합니다.
    • Convolution Layer: 특징 추출
    • Pooling Layer: 크기 축소 및 공간적 정보 요약
    • Output: Latent Space 벡터
  • Decoder
    Latent Space 벡터를 원래 크기의 이미지로 복원합니다.
    • Upsampling 또는 Transposed Convolution Layer 사용
    • Convolution Layer: 세부 정보 복원

 

Autoencoder의 활용

1) Denoising Autoencoder

  • 정의
    입력 데이터에 노이즈를 추가하고, Autoencoder를 통해 이를 제거하여 원본 데이터를 복원하는 모델입니다.
  • 목적
    노이즈 제거(denoising)뿐만 아니라 데이터의 중요한 특징을 학습하여 더 강건한 표현을 만들기 위함입니다.
  • 작동 방식
    • Encoder: 노이즈가 섞인 데이터를 압축.
    • Decoder: 압축된 latent space에서 노이즈 없는 원본 데이터를 복원.
  • 응용
    • 이미지 복원 (노이즈 제거, 흐릿한 이미지 복구)
    • 신호 처리 (오디오/의료 신호 정화)

2) Anomaly Detection

  • 정의
    정상 데이터와 다른 비정상 데이터를 감지하는 데 사용되는 기술입니다.
  • Autoencoder 기반 방법
    • Autoencoder는 정상 데이터를 학습하여 이를 복원하는 데 최적화됩니다.
    • 비정상 데이터는 복원 오류(reconstruction error)가 크므로 이를 기반으로 이상 여부를 판단합니다.
  • 응용
    • 금융: 사기 거래 탐지
    • 제조: 장비 고장 감지
    • 의료: 병리 데이터 분석

3) 생성모델 VAE

VQ-VAE, AugVAE 설명

 

[Study] 생성모델 GAN/ VAE/ Diffusion Models

안녕하세요, 정글러 입니다.최근에 Sora, Stable Diffusion 등으로 화제가 되었던 생성형 모델에 대해 알아보겠습니다.기초개념먼저 딥러닝, 특히 생성 모델과 차원 축소에서 중요한 개념, Manifold와 La

storytech.tistory.com

 

4) 생성모델 LDM

Latent Diffusion Model 설명

 

 

데이터 복원 기술

Upsampling

Decoder에서 이미지의 크기를 증가시키는 작업으로, 다음과 같은 방법이 사용됩니다:

  • Nearest Neighbor Upsampling
    각 픽셀을 복사하여 이미지를 확대합니다. 간단하지만 세밀한 정보를 복원하기 어렵습니다.
  • Bilinear 또는 Bicubic Interpolation
    주변 픽셀의 값을 보간하여 새로운 값을 계산합니다. 부드러운 복원이 가능하지만, 세부 정보는 제한적입니다.

Transposed Convolution (Deconvolution)

Upsampling의 대안으로 사용되며, 학습 가능한 파라미터를 사용해 이미지를 확대합니다.

  • 원리
    일반적인 Convolution은 입력 이미지를 필터와 곱하여 출력을 생성합니다. 반대로, Transposed Convolution은 작은 입력으로부터 더 큰 출력을 생성하는 과정을 학습합니다.
  • 작동 방식
    1. 입력에 0 패딩을 추가하여 크기를 확장합니다.
    2. 확장된 입력에 필터를 적용하여 이미지를 생성합니다.
  • 장점
    • 네트워크가 이미지 복원을 학습할 수 있으므로, 단순 보간보다 더 세밀한 결과를 생성합니다.