Observando as convoluções
Inspecionar as ativações de uma camada convolucional é uma coisa legal. Você precisa fazer isso pelo menos uma vez na vida!
Para isso, você criará um novo modelo com o objeto Keras Model
, que recebe uma lista de entradas e uma lista de saídas. Os resultados que você fornecerá a esse novo modelo são os resultados da primeira camada convolucional quando receber um MNIST dígito como imagem de entrada.
O convolucional model
que você criou no exercício anterior já foi treinado para você. Agora você pode classificar corretamente MNIST imagens manuscritas. Você pode verificar isso com model.summary()
no console.
Vamos dar uma olhada nas máscaras convolucionais que foram aprendidas na primeira camada convolucional desse modelo!
Este exercício faz parte do curso
Introdução à aprendizagem profunda com o Keras
Instruções de exercício
- Obter uma referência para as saídas da primeira camada convolucional no modelo.
- Crie um novo modelo usando a entrada da primeira camada do modelo e o site
first_layer_output
como saídas. - Use este
first_layer_model
para fazer previsões emX_test
. - Trace as ativações do primeiro dígito de
X_test
para o 15º e o 18º filtro de neurônios.
Exercício interativo prático
Experimente este exercício preenchendo este código de exemplo.
# 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()