시작하기무료로 시작하기

CNN 모델 구축하기

Keras에서 CNN 모델을 만드는 일은 이 과정을 통해 이미 만들어 본 다른 모델들과 크게 다르지 않아요! 합성곱 레이어만 잘 활용하면 됩니다.

이제 얕은 구조의 합성곱 model을 만들어 MNIST 숫자 데이터셋을 분류해 보겠습니다. 바로 앞에서 오토인코더로 노이즈 제거를 했던 그 데이터예요! 이미지는 28 x 28 픽셀이고, 흑백 이미지이므로 채널은 하나뿐입니다.

이 작은 합성곱 모델을 직접 구축해 보세요!

이 연습은 강의의 일부입니다

Keras로 시작하는 딥 러닝

강의 보기

연습 안내

  • Conv2DFlatten 레이어를 임포트하고 모델을 인스턴스화하세요.
  • 첫 번째 합성곱 레이어를 추가하되, 3x3 크기의 필터 32개와 해당 3D 튜플을 input_shape로 지정하세요.
  • 두 번째 합성곱 레이어를 추가하되, 3x3 크기의 필터 16개와 relu 활성화를 사용하세요.
  • 이전 레이어의 출력을 펼쳐 1차원 벡터로 만드세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

# Import the Conv2D and Flatten layers and instantiate model
from tensorflow.keras.____ import ____,____
model = ____

# Add a convolutional layer of 32 filters of size 3x3
model.add(Conv2D(____, kernel_size = ____, input_shape = (____, ____, 1), activation = 'relu'))

# Add a convolutional layer of 16 filters of size 3x3
model.add(____(____, ____ = ____, activation = ____))

# Flatten the previous layer output
model.add(____)

# Add as many outputs as classes with softmax activation
model.add(Dense(10, activation = 'softmax'))
코드 편집 및 실행