Convolutional Neural Network (to be continued)

毕设决定做CNN,东西确实挺繁的,今天刚把CNN中具体的反向传播算法搞明白,感觉收获也有一些:

1,起先总是认为所谓的CNN,局部感受野,权值共享什么的都是预先训练好的,主要是因为自己刚看完Ng的UFLDL,其中出现用Feature extraction using convolution and pooling这些。。后来想到其实这只是一个例子而已,可能还算不上广义的CNN(可能蕴含了CNN的思想吧)。总的来说,应该把CNN理解成一种network architecture,也就是受神经生物学启发,设计的一种具有“局部感受野,权值共享”性质的网络结构。

2,有了第一点的认识,自己就开始考虑所谓的广义的CNN应该怎么训练呢,毕竟这种网络结构挺特殊的,具体的BP算法怎么弄呢。。
带着疑问读了notes on convolutional neural networks 这篇论文也是UFLDL推荐阅读的,自己读了一部分(具体的:3.3以后关于组合特征图的比重学习部分没怎么看明白),真是反反复复地看了好几遍,才总算摸清了一些,期间主要参考了tornadomeet的cnblog,这个博客作者总结得挺好的,理解清楚如何在CNN中使用BP其实就是两个问题:

  • 卷积层后接pooling层时
  • pooling层后接卷积层时

两个场景下,均通过传统的先求sensitivity map然后再求bias gradient的方法。而具体的公式说到底还是要把网络结构、连接情况捋清楚,然后严格地按数学原理一步步来就行了。

简单说:
第一个问题卷积层的sensitivity map 计算比较简单,难点主要是理解清楚下面这个公式,是关于卷积核的梯度公式(注意是卷积核,不是权重矩阵),这里事实上是用卷积运算代替了相关运算(问题二才真正地是要用卷积)
这里写图片描述

第二个问题主要在于sensitivity map的计算,这里为了计算pooling层的sensitivity map,确实要用权重矩阵(下图是用卷积核表示的,也就是 rot180(k l+1 j )  )去卷积 δ l+1 j   , 并且参数要用 ‘full’.
这里写图片描述

简单先写这些,具体可以看论文或者推荐的博客。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值