总结斯坦福2015李飞飞教授以及Andrej Karpathy教授的上课的slides中关于CNN的一些内容
一:神经网络实验的基本策略:

1.对输入数据进行预处理:

2.网络结构和数据集设置:
(1)-随机初始化weights为一些比较小的数(fan-in,fan-out),bias设置为0
(2)-利用好cv集,可以在少量epoch的结果下选择最好的params,然后进行更多的epoch
3.分析实验结果:
(1)-对 loss curve 进行分析:

(2)-对accuracy 进行分析:

(3)-对weight updates / weight的比值进行分析:

(4)-可视化隐含层单元:

(5)-dropout(Regularization)的使用:
随机的将一些 neuron设置为0,在使用的时候注意train的时候和predict的时候的区别(train的时候进行drop,predict的时候不进行drop):

(6)-学习率等相关设置:
一般用写好的库就行了,如adagrad等等
二:卷积网络ConVNet:

1.activations:
ConVNet中的activations是一个三维的立方体,例如:对于一个32*32*3的RGB图片,对应的activation的规格就是32widt*32height*3depth

2.local connectivity 局部连接:
(1)-局部连接是ConVNet一个很重要的思想,使用局部连接,减少了卷积层需要训练的params:

(2)-举个栗子:
(3)-术语上:fenture map个数=filter个数
3.padding:
增加nolinearities的数量,同时也可以保持map的大小:

4.pooling:
一般是2*2的maxpool:

5.ConVNet的设置:

三:Visualizing and Understanding ConVNet:

1.t-SNE visualization:
下图是mnist数据集通过ConVNet后压缩成二维向量后的点图:

2.将最后的pooling层的特征,反向重构成图片:

3.将中间层的特征,反向重构成图片:

4.对于不可识别的图片,ConVNet有时竟然会有很高的置信度:
