Explorând convoluțiile
Inspectarea activărilor unui strat convoluțional este un lucru fascinant. Merită să o faci cel puțin o dată!
Pentru aceasta, vei construi un model nou folosind obiectul Model din Keras, care primește o listă de intrări și o listă de ieșiri. Ieșirile pe care le vei furniza acestui model nou reprezintă ieșirile primului strat convoluțional atunci când i se oferă ca intrare o cifră MNIST.
Modelul convoluțional model pe care l-ai construit în exercițiul anterior a fost deja antrenat pentru tine. Acum poate clasifica corect imagini MNIST scrise de mână. Poți verifica acest lucru cu model.summary() în consolă.
Hai să vedem măștile convoluționale învățate în primul strat convoluțional al acestui model!
Acest exercițiu face parte din cursul
Introducere în Deep Learning cu Keras
Instrucțiuni pentru exercițiu
- Obține o referință la ieșirile primului strat convoluțional din model.
- Construiește un model nou folosind intrarea primului strat al modelului și
first_layer_outputca ieșiri. - Folosește acest
first_layer_modelpentru a face predicții peX_test. - Reprezintă grafic activările primei cifre din
X_testpentru filtrul neuronal 15 și filtrul neuronal 18.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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()