VGG Convolutional Neural Networks Practical 学习笔记

一共分为五个部分:

1、基础CNN,如ReLU、卷积、池化、标准化处理;

2、负反馈、偏导;

3、通过一个小的CNN模型介绍训练数据、标签、图像预处理、下降梯度等

4、可以识别字母的CNN。涉及数据预处理、初始化网络、训练和验证CNN、对特征的可视化、对model的应用\mini-batch数据的构建,以及data jitter;

5、是我最关心的pretrained model,用此model进行image的classification。


第一部分:CNN

1、提供的例子随机生成了10个5*5*3的filter,其中3是对应RGB图片的三通道,然后将filter和image进行卷积计算。

image: 384*512*3

filter: 5*5*3*10

output y: 380*508*10(这里有个问题为什么三通道的输出竟然只有一个通道?) 

将y可视化,发现提取的特征对边界很敏感

对y进行downsample,采样步长为16,y的size为24*32*10,因为大小与原来的不同,所以再进行填0处理。经过pad处理之后发现大小与原来的图像不同。

2、在用Relu作为激励函数,z = Relu(y),得到下图:(官网上问为啥要用relu,其实我也不知道。。。。抄别人的

不用simgoid和tanh作为激活函数,而用ReLU作为激活函数的原因是:加速收敛。

因为sigmoid和tanh都是饱和(saturating)的。何为饱和?个人理解是把这两者的函数曲线和导数曲线plot出来就知道了:他们的导数都是倒过来的碗状,也就是,越接近目标,对应的导数越小。而ReLu的导数对于大于0的部分恒为1。于是ReLU确实可以在BP的时候能够将梯度很好地传到较前面的网络。


http://blog.csdn.net/liulina603/article/details/44915905




3、池化 pooling

4、normalisation


Part 2  反向传播和偏导数

这个网址的前馈和负反馈讲的很透彻read:http://galaxy.agh.edu.pl/~vlsi/AI/backp_t_en/backprop.html。

当负反馈计算出所有神经节点的错误的时候,就需要对每个节点的权值w进行调整。如下两图所示:

用下面的代码计算负反馈,得到dzdx和dzdw,他们的size和x、w相同。

[dzdx, dzdw]=vl_nnconv(x, w,[], dzdy);



part3  tiny CNN例子

导入图片 480*480*3,进行标记,圆点的中心点为pos,非点的地方为neg,每一个圆除了中间点,其他的点都没有被标记。pos类,标记为1,neg类标记为0。

定义object方程



运行程序,得到下图

  • Is the objective function minimised monotonically? 图1-3-1 代表object 方程,是单调递减的 
  • As the histograms evolve, can you identify at least two "phases" in the optimisation? 图1-3-2 是pos和neg的直方图,两个分布的波峰分别在0和1 附近。
  • 之前有问题Explain why the momentum rate must be smaller than 1,我试了一下大于1的数字,发现波峰都不知道飘到哪里去了,反正不在0和1附近。
如果把图像预处理阶段的smooth步骤去掉,可以得到更好的objective的曲线,但是histogram图不好,learned filter也和之前的不一样。。。
我认为教程想表达的意思是smooth之后的图像,更容易响应高斯滤波器???但是我觉得结果也挺好呀。每个pos的点都有响应呀,如下图的最后一幅图
但是省略去掉平均值这一预处理步骤,就不能达到检测的目的
Does the algorithm converge?完全不收敛。。
  • Reduce a hundred-fold the learning are and increase the maximum number of iterations by an equal amount. Does it get better?
  • 将rate = 0.05, iter = 1000 结果比刚才好很多。
所以对图像预处理还是挺重要的。尤其是数据中心化
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值