Undersök konvolutioner
Att inspektera aktiveringarna i ett konvolutionslager är fascinerande – något du bör prova minst en gång!
För att göra det bygger du en ny modell med Keras Model-objektet, som tar emot en lista med indata och en lista med utdata. Utdata du tillhandahåller till den nya modellen är utdata från det första konvolutionslagret när en MNIST-siffra används som indatabild.
Konvolutionsmodellen model som du byggde i föregående övning har redan tränats åt dig. Den kan nu korrekt klassificera MNIST-handskrivna bilder. Du kan kontrollera det med model.summary() i konsolen.
Låt oss titta på de konvolutionsmasker som lärdes in i modellens första konvolutionslager!
Den här övningen är en del av kursen
Introduktion till djupinlärning med Keras
Övningsinstruktioner
- Hämta en referens till utdata från det första konvolutionslagret i modellen.
- Bygg en ny modell med modellens första lagers indata och
first_layer_outputsom utdata. - Använd
first_layer_modelför att göra prediktioner påX_test. - Plotta aktiveringarna för den första siffran i
X_testför det 15:e och det 18:e neuronsfiltret.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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()