시작하기무료로 시작하기

합성곱 살펴보기

합성곱 레이어의 activation을 들여다보는 건 정말 흥미로운 작업이에요. 학습을 하신다면 한 번쯤 꼭 해 보셔야 해요!

이를 위해 Keras의 Model 객체를 사용해 새로운 모델을 만들 거예요. 이 객체는 입력 리스트와 출력 리스트를 받습니다. 이 새 모델에 제공할 출력은, MNIST 숫자 이미지를 입력으로 주었을 때 첫 번째 합성곱 레이어의 출력입니다.

이전 연습 문제에서 만든 합성곱 model은 이미 학습되어 있어요. 이제 MNIST 손글씨 이미지를 올바르게 분류할 수 있습니다. 콘솔에서 model.summary()로 확인해 보세요.

이 모델의 첫 번째 합성곱 레이어에서 학습된 합성곱 마스크를 함께 살펴보겠습니다!

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

Keras로 시작하는 딥 러닝

강의 보기

연습 안내

  • 모델에서 첫 번째 합성곱 레이어의 출력을 가리키는 참조를 얻으세요.
  • 모델의 첫 레이어 입력과 first_layer_output을 출력으로 사용하여 새 모델을 만드세요.
  • first_layer_modelX_test에 대해 예측하세요.
  • X_test의 첫 번째 숫자에 대한 activation을 15번째18번째 뉴런 필터에 대해 시각화하세요.

실습형 인터랙티브 연습

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

# Obtain a reference to the outputs of the first layer
first_layer_output = model.layers[____].output

# Build a model using the model's input and the first layer output
first_layer_model = Model(inputs = model.layers[0].input, outputs = ____)

# Use this model to predict on X_test
activations = ____.____(____)

# Plot the activations of first digit of X_test for the 15th filter
axs[0].matshow(activations[____,:,:,14], cmap = 'viridis')

# Do the same but for the 18th filter now
axs[1].matshow(activations[0,:,:,____], cmap = 'viridis')
plt.show()
코드 편집 및 실행