Note ≡ MNIST
MNIST는 인공지능 연구의 권위자 얀 르쿤(Yann LeCun) 교수가 만든 데이터셋으로 훈련 데이터셋 6만 개와 검증 데이터셋 1만 개로 구성되어 있습니다. MNIST는 간단하게 컴퓨터 비전을 사용할 수 있는 데이터셋으로, 손으로 쓴 숫자 이미지(0에서 9까지 값을 갖는 고정 크기 이미지(28×28 픽셀))들로 구성되어 있습니다.
인코더와 디코더를 정의하여 오토인코더 네트워크를 생성합니다.
코드 13-2 네트워크(신경망) 생성
input_image = tf.keras.layers.Input(shape=(784,)) ------ 입력의 크기 (784,)
encoded_input = tf.keras.layers.Dense(32, activation='relu')(input_image) ------ 입력을 인코딩에 적용
decoded_output = tf.keras.layers.Dense(784, activation='sigmoid')(encoded_input) ------ 인코딩 출력을 디코딩에 적용하여 재구성됩니다(입력의 원래 크기로 변환).
autoencoder = tf.keras.models.Model(input_image, decoded_output) ------ 인코더와 디코더로 구성된 오토인코더 모델 생성
모델의 훈련 과정에 필요한 손실 함수와 옵티마이저를 설정합니다.
코드 13-3 모델 컴파일
autoencoder.compile(optimizer='adam', loss='binary_crossentropy')