CNN for Visual Rcognition --- Stanford 2015 (一)

来源:互联网 发布:网络推广发帖技巧 编辑:程序博客网 时间:2024/05/09 10:43

总结斯坦福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有时竟然会有很高的置信度:

这里写图片描述

5.depth is important:

改变FC层的大小,对结果并没有多大的提升;而通过改变卷积层depth的大小(其实就是filter的数量),则对结果有较大的影响,并且:more depth = better improvement。

normalization对结果也没有很大的影响

0 0
原创粉丝点击