Quan sát các phép tích chập
Kiểm tra các activation của một lớp tích chập là một việc rất thú vị. Bạn nên thử ít nhất một lần!
Để làm điều đó, bạn sẽ dựng một model mới bằng đối tượng Keras Model, đối tượng này nhận một danh sách inputs và một danh sách outputs. Outputs mà bạn cung cấp cho model mới này sẽ là đầu ra của lớp tích chập đầu tiên khi đưa một ảnh chữ số MNIST làm đầu vào.
model tích chập bạn đã xây ở bài trước đã được huấn luyện sẵn. Giờ nó có thể phân loại đúng các ảnh chữ viết tay MNIST. Bạn có thể kiểm tra bằng model.summary() trong console.
Hãy cùng xem các mặt nạ tích chập đã được học ở lớp tích chập đầu tiên của model này!
Bài tập này là một phần của khóa học
Nhập môn Deep Learning với Keras
Hướng dẫn bài tập
- Lấy tham chiếu tới đầu ra của lớp tích chập đầu tiên trong model.
- Xây một model mới dùng đầu vào của lớp đầu tiên của model và
first_layer_outputlàm outputs. - Dùng
first_layer_modelnày để dự đoán trênX_test. - Vẽ các activation của chữ số đầu tiên trong
X_testcho bộ lọc neuron thứ 15 và thứ 18.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# 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()