더북(TheBook)

오토인코더가 중요한 이유는 다음 세 가지 때문입니다.

1. 데이터 압축: 데이터 압축은 메모리 측면에서 상당한 장점입니다. 오토인코더를 이용하여 이미지나 음성 파일의 중요 특성만 압축하면 용량도 작고 품질도 더 좋아집니다.

2. 차원의 저주(curse of dimensionality)3 예방: 차원의 저주 문제를 예방할 수 있습니다. 오토인코더는 특성 개수를 줄여 주기 때문에 데이터 차원이 감소하여 차원의 저주를 피할 수 있습니다.

3. 특성 추출: 오토인코더는 비지도 학습으로 자동으로 중요한 특성을 찾아 줍니다. 예를 들어 눈 모양, 털 색, 꼬리 길이 등 개의 중요한 특성을 자동으로 찾아 줍니다.

 

이제 텐서플로 2에서 오토인코더를 구현해 보겠습니다.

먼저 필요한 라이브러리를 호출합니다.

코드 13-1 라이브러리 호출

import tensorflow as tf
import numpy as np
import matplotlib.pyplot as plt

앞서 언급했듯이 인코더 및 디코더를 사용하여 간단한 오토인코더를 만들 것입니다.

이 예제는 케라스에 내장되어 제공하는 MNIST 데이터셋을 사용합니다.

 

 


  3 훈련 데이터셋이 특성을 수천에서 수만 개까지 가지고 있기 때문에 훈련이 느려지고 최적의 솔루션을 찾기 어렵게 만드는 현상입니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.