随着计算能力的提升,神经网络在很多地方出色的表现。但在工程应用领域,却有一个问题一直困扰着大家,神经网络到底是怎么工作的?尽管神经网络为数据挖掘人员省去了大量的特征构造时间,但在某些要求可靠性的领域,可解释性不强,却一直在制约深度学习的应用。
为了提高神经网络的可解释性,研究人员从很多角度做了探索。其中一方面,就是利用目标的梯度,突出重要像素,从而可视化神经网络的决策过程。
Convolutional filters learn 'template matching' filters that maximize the output when a similar template pattern is found in the input image. Visualize those templates via Activation Maximization.
How can we assess whether a network is over/under fitting or generalizing well?
How can we assess whether a network is attending to correct parts of the image in order to generate a decision?
keras
keras-vis
git clone https://github.com/RussellCloud/keras-via.git
cd keras-via
jupyter notebook
省去繁杂的配置过程;随开随停
搞定一个平台账号,点我,创建名为keras-via
的keras
项目。
pip install -U russell-cli
克隆复现
git clone https://github.com/RussellCloud/keras-via.git
cd keras-via
russell login
russell init --name keras-via
russell run --mode jupyter --gpu
参考资料