본문 바로가기
  • 기술을 이야기하지만 사람을 생각합니다.
20. 인공지능과 딥러닝

오토인코더의 모든 것 (1/3) 03. Autoencoders

by WE DONE IT. 2022. 3. 26.

김활석(Naver) 님의 오토인코더의 모든 것 (1/3) 강의에서 03. Autoencoders 챕터 일부를 정리한 글입니다.


오토인토더란?

인코딩(encoding) 하면 줄어들고, 디코딩(decoding)하면 늘어나는 구조

오토인코더 구조

 

Autoencoders

= Auto-associators

= Diabolo networks

= Sandglass-shaped net

 

Bottleneck Hidden Layer

  • code
  • Laten Variable
  • Feature
  • Hidden representation

Introduction | Notations

  • Make output layer same size as input layer
  • Loss encourages output to be close to input
    L(x, y) : 네트워크 출력값(y)이 정답과 같아야되는데 그게 사실 입력값(x)인, 입출력이 동일한 네트워크
  • Unsupervised Learning → Supervised Learning
    • Decoder가 최소한 학습 데이터는 생성해낼 수 있게 된다. 
      → 생성된 데이터가 학습 데이터와 닮아있다.
    • Encoder가 최소한 학습 데이터는 잘 Latent vector로 표현할 수 있게 된다.
      → 데이터 추상화를 위해 많이 사용된다.
Q. 왜 Autoencoder가 초기에 각광을 많이 받았나?
A. 차원을 줄이는 과정은 비교사 학습으로만 가능함. (예: 1,000차원을 3차원으로 줄이는 정답을 알 수 없기 때문)
Autoencoder는 출력에 대한 정답을 입력값(x)으로 하기 때문에, 비교사 학습(unsupervised learning)이지만 교사 학습으로 풀어서 각광을 받게 됨.  그래서 self-learning 이라는 표현도 자주 함.

 

Linear Autoencoder | Multi-Layer Perceptron

 

Stacking Autoencoder

  • 2000년도 초반에 많이 사용됨
  • CNN 모델은 2014년에 인기를 끌었으므로, Autoencoder 사이에 약 10년정도의 차이가 있음
  • Autoencoder가 주로 사용한 경우
    • 네트워크 파라미터 초기화 (pre-traning) : 딥러닝에서 초기값 설정이 매우 중요함 
    • 차원 축소

 

초기값을 무작정 랜덤으로 설정하지 않고, Input 784 단계의 값을 784 -> 1000 -> 784으로 다시 원복할 수 있도록 가중치(weight) 값을 설정한다. 두 단계 모두 transpose 할 수 있도록 tide 형태로 학습을 하는 방식이다. 오터인코더를 쌓으면서 pre-traning 하기 때문에 stacking autoencoder 라고 한다.

 

Denoising AutoEncoder

입력값에서 노이즈(random noise)를 추가한 corrupted input값으로 Encoder -> Latent vetcor -> Decoder 과정을 거치고, 출력값은 노이즈가 추가되기 전인 입력값과의 차이를 최소한으로 하는 과정을 하게 된다.

사람이 노이즈를 넣기 전후의 이미지를 모두 숫자 2라고 인식할 수 있는 수준으로 노이즈를 추가한 후, manifold 과정을 거치는데 이는 같은 의미로 매핑되어 1000개와 위치가 노이즈 추가되기 전의 위치와 같아야 한다.

따라서, 입력값에 manifold에서 의미적으로는 같지만 원데이터와는 다른 수준의 노이즈를 추가하면 결과가 잘 나온다!

 


참고자료

강의 : https://youtu.be/o_peo6U7IRM 

발표자료 : https://www.slideshare.net/NaverEngineering/ss-96581209 

 

오토인코더의 모든 것

발표자: 이활석(NAVER) 발표일: 2017.11. 최근 딥러닝 연구는 지도학습에서 비지도학습으로 급격히 무게 중심이 옮겨 지고 있습니다. 본 과정에서는 비지도학습의 가장 대표적인 방법인 오토인코더

www.slideshare.net

 

댓글