假设我有二进制分类任务,并且正在使用CNN。简单地可视化CNN并不是很有用,因为输入不是图像。但是,我想知道对于将输入样本视为特定类别的特定过滤器贡献最大。 给定以下架构(使用Keras实现),如何实现?
model = Sequential()
model.add(Conv2D(32, kernel_size=(10, 3),
activation='relu',
input_shape=input_shape))
model.add(Conv2D(64, (10, 3), activation='relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Dropout(0.25))
model.add(Flatten())
model.add(Dense(128, activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(2, activation='sigmoid'))
model.compile(loss='binary_crossentropy',
optimizer=keras.optimizers.Adadelta(),
metrics=['accuracy'])
我探索了资源A和B。但是似乎都没有对我想做的事情有用。如果还有其他建议可以帮助您了解网络从非图像数据集中学到的知识,那将非常有帮助。