CNN当中的几个知识点

来源:互联网 发布:备案域名买卖 编辑:程序博客网 时间:2024/06/05 18:19

一、卷积操作

关于卷积操作,个人理解就是用一个filter(m*m)的,去对原来的图像进行相乘相加运算。之前的DNN里面讲到的weight其实就是对应着这里的filters。所以也需要网络自己根据训练情况进行修改。卷积操作里面的两个要点:

  1. 参数共享:意思就是一个filter划过一整张图片。
  2. 局部链接:就是随机或者固定的选择一些神经元进行链接。不连接全部(因为计算量太大)。DNN中的Dropout变种(这里的DNN是广义上的DNN,CNN,RNN等都是它的变种)
    一张经典的参数共享的图:
    参数共享
    具体参考:https://zhuanlan.zhihu.com/p/22038289?refer=intelligentunit
    上面的图片显示先用第一个filter(3*3*3)对输入的三个通道的图像先进行卷积,然后把三个通道的值加起来再加上bias。(不信可以自己计算一下)。

二、Pooling操作

两种:

  1. max(Xi)求出最大值:也是需要filter
  2. average(Xi)求出平均值

    pooling
    上图就是一个max pooling,其中filter是一个2*2的,stride是2。

三、1*1conv

其实这个就是一般有两个作用:

  1. 降维
  2. 实现跨通道的一个信息整合和交互
    参考:https://www.zhihu.com/question/56024942

四、inception

inception其实就是将前面的内容整合一下,让网络结构自己去选择一个较好的。主要是将1*1,3*3,5*5以及max pooling放到inception中,然后让它自己选择较好的结构。这个地方自己选择解决方案,是自己用这个四个操作构造一个较好的结构还是直接只选择其中一种呢?
之后发现是通过不断组合他们得到新的框架