Pohled do konvolucí
Prozkoumat aktivace konvoluční vrstvy je skvělá věc – to si musíš vyzkoušet aspoň jednou!
K tomu sestavíš nový model pomocí Keras objektu Model, který přijímá seznam vstupů a seznam výstupů. Jako výstup tohoto nového modelu použiješ výstupy první konvoluční vrstvy pro zadaný obrázek číslice z datasetu MNIST.
Konvoluční model sestavený v předchozím cvičení byl již za tebe natrénován a dokáže správně klasifikovat ručně psané číslice z datasetu MNIST. Můžeš si to ověřit pomocí model.summary() v konzoli.
Podívejme se teď na konvoluční masky, které se model naučil v první konvoluční vrstvě!
Toto cvičení je součástí kurzu
Úvod do hlubokého učení s Keras
Pokyny k cvičení
- Získej referenci na výstupy první konvoluční vrstvy modelu.
- Sestav nový model, který jako vstup použije vstup první vrstvy modelu a jako výstup
first_layer_output. - Pomocí tohoto
first_layer_modelproveď predikci naX_test. - Vykresli aktivace první číslice z
X_testpro 15. a 18. filtr neuronu.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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()