본문 바로가기

Book/GAN In Action

2장. 오토인코더와 생성 학습

반응형

GAN을 살펴보기에 앞서 GAN과 유사한 작동 방식을 가진 오토인코더에 대해 알아보도록 하자.

 

오토인코더는 인코더디코더 두 부분으로 이루어져 있다.

 

이때 압축이라는 개념에 대해 설명한다.

 

예시로 설명하자면 만약 미술계에 종사하는 사람에게 인공 지능이 무엇인지 설명하려면 수없이 많은 용어들에 대해 일일히 다 설명해야 할 것이다. 하지만 내가 인공 지능이라는 개념을 미리 알고 있다면 어떤 개발자가 나에게 인공 지능이 무엇인지에 대해 설명할 필요가 없다. 여기서 잠재공간 z에서 x*로 학습한 데이터와 실제 데이터 x와의 오차를 재구성 손실이라 부른다.

 

반복되는 개념은 사전에 동의한 추상적인 표현으로 단순화하는 것이 유용하기 때문에 압축한다. 결국 낮은 차원인 z만 전송하면 알아들을 수 있으므로 대역폭을 절약할 수 있다.

 

정보이론의 관점에서 보면 이해하는데 너무 손해보지 않으면서도 정보 병목 지점을 통해 최대한 많은 정보를 전달하려는 것이 목적이다.

 

GAN과 오토인코더 비교하기

오토 인코더는 손실 함수 하나로 모델 전체를 훈련하지만 GAN은 생성자와 판별자에 각각 다른 손실 함수를 사용한다.

오토 인코더는 명시적인 최적화 함수(비용함수)가 있지만 GAN에는 평균 제곱 오차, 정확도, ROC 곡선 아래의 면적과 같이 최적화하기 위한 간단한 명시적 지표가 없다. 대신 GAN은 함수가 하나가 아니라 경쟁하는 두가지 목적을 가진다.

 

오토 인코더의 구조를 간단히 설명하자면 먼저 입력으로 크기가 y인 벡터 이미지가 들어오면 인코더 혹은 압축 네트워크를 통해 크기가 z인 잠재 공간으로 압축한다. 이후 결과물을 압축해제, 또는 재구성하여 x*의 결과물을 만들게 된다. 이렇게 얻은 x*와 x의 차이인 재구성 손실을 측정한다. 측정 방법으로는 x와 x*의 픽셀간 거리(MSE)를 사용하거나 경사하강법으로 최적화하기 위한 명시적 목적함수를 사용하여 측정한다.

 

즉, 재구성 손실을 최소화하는 인코더와 디코더의 파라미터를 경사하강법으로 업데이트하며 찾는다.

 

(압축한다는 표현이 어떤 의미인지 헷갈렸는데 이 부분을 통해 명확히 알게 됨. 어떤 이미지에 대해 특징점들을 추출하여 압축한 후 그 특징점을 가지고 이미지를 재구성했을 때, 재구성한 이미지와 원본 이미지 간의 손실(재구성 손실)을 최소화 하도록 특징점들의 중요도를 변환한다.)

 

오토인코더의 활용

  • 공짜로 압축된 표현을 얻는다.
    • 잠재 공간은 원본의 입력보다 수십 배 작을 수 있다. 이 과정에서 손실이 발생할 수 있지만 필요하다면 충분히 사용할 만 하다.
  • 잠재 공간을 사용하면 많은 실용적인 애플리케이션을 생각해볼 수 있다.
    • 축소된 잠재 공간에서 아이템과 타깃 클래스의 유사도를 빠르게 확인할 수 있는 1클래스 분류기가 있다. 검색 혹인 이상치 탐지 분야에 적용할 수도 있다.
    • 데이터 노이즈 제거 및 흑백 이미지 채색에 사용할 수 있다.
  • BEGAN 같은 일부 GAN은 오토인코더를 구조의 일부로 사용하여 훈련을 안정화 한다.
  • 오토인코더 훈련은 레이블된 데이터가 필요하지 않다.
    • 이는 자기 훈련이고 레이블링하지 않아도 되므로 편리하다.
  • 오토인코더를 사용해 새로운 이미지를 생성할 수 있다.
    • 보통 이미지의 해상도가 높으면 결과물은 흐릿해져서 성능이 떨어지지만 MNIST 데이터셋이나 다른 저해상도 이미지에서는 오토인코더가 잘 작동한다.

 

변이형 오토인코더(Variational Autoencoder)

 

변이형 오토인코더는 잠재 공간을 단순한 수의 집합이 아닌 학습된 평균과 표준편차를 지닌 분포로 표현한다. 일반적으로는 다변수 가우시안 분포를 택한다. 이는 베이즈 이론에 기반한 머신러닝임을 말해준다.

빈도 기반 오토인코더는 잠재 공간을 숫자의 배열로 학습하지만 변이형 오토인코더 같은 베이즈 오토인코더는 분포를 정의하는 데에 알맞은 파라미터를 찾는다. 그다음 잠재 분포에서 샘플링하여 어떤 숫자를 얻고, 이 숫자를 디코더에 주입한다.

 

한계

변이형 오토인코더는 가우시안 분포를 따르기에 항상 안전한 중간 지대를 선택하려 한다. 하지만 현실에서는 꽤 복잡하기 때문에 변이형 오토 인코더는 GAN 만큼 규모를 확대하지 못한다.

 

반응형

'Book > GAN In Action' 카테고리의 다른 글

6장. ProGAN  (0) 2024.08.07
5장. GAN 평가의 어려움  (0) 2024.08.06
4장. DCGAN  (0) 2024.08.01
3장. GAN 구현하기  (0) 2024.07.30
1장. GAN과 생성 모델링  (1) 2024.07.24