1. 학습
  2. /
  3. 강의
  4. /
  5. Keras로 시작하는 딥 러닝

Connected

연습 문제

오토인코더 만들기

오토인코더는 이상 탐지나 이미지 노이즈 제거 등 여러 흥미로운 응용 분야가 있어요. 목표는 입력과 동일한 출력을 만드는 것입니다. 입력을 더 낮은 차원의 공간으로 압축해 인코딩하고, 그 표현을 원래 형태로 다시 디코딩하도록 모델이 학습해요.

이번에는 손글씨 숫자 MNIST 데이터셋을 인코딩하고 디코딩해 보겠습니다. 은닉층은 원래 784픽셀(28 x 28)로 구성된 이미지를 32차원 표현으로 인코딩해요. 오토인코더는 784픽셀의 원본 이미지를 압축된 32픽셀 표현으로 변환하는 법과, 그 인코딩된 표현을 사용해 다시 원래의 784픽셀 이미지를 복원하는 법을 학습하게 됩니다.

Sequential 모델과 Dense 레이어는 이미 준비되어 있어요.

이제 오토인코더를 만들어 볼까요!

지침

100 XP
  • Sequential 모델을 생성하세요.
  • 인코딩된 이미지 차원 수만큼 뉴런을 가진 Dense 레이어를 추가하고, input_shape는 원본 이미지의 픽셀 수로 설정하세요.
  • 입력 이미지의 픽셀 수와 동일한 뉴런 수를 가진 최종 레이어를 추가하세요.
  • 옵티마이저는 adadelta, 손실 함수는 binary_crossentropy로 설정해 autoencoder를 컴파일한 다음, 요약을 출력하세요.