深度学习之卷积神经网络原理详解(一)

初探CNN卷积神经网络

1、概述

  • 典型的深度学习模型就是很深层的神经网络,包含多个隐含层,多隐层的神经网络很难直接使用BP算法进行直接训练,因为反向传播误差时往往会发散,很难收敛
  • CNN节省训练开销的方式是权共享weight sharing,让一组神经元使用相同的权值
  • 主要用于图像识别领域

2、卷积(Convolution)特征提取

  • 卷积核(Convolution Kernel),也叫过滤器filter,由对应的权值W和偏置b体现
  • 下图是3x3的卷积核在5x5的图像上做卷积的过程,就是矩阵做点乘之后的和
    这里写图片描述
    i个隐含单元的输入就是:$${W_{\rm{i}}}{x_{small}} + {b_i}$$,其中$${x_{small}}$$就是与过滤器filter过滤到的图片
  • 另外上图的步长stride1,就是每个filter每次移动的距离
  • 卷积特征提取的原理

    • 卷积特征提取利用了自然图像的统计平稳性,这一部分学习的特征也能用在另一部分上,所以对于这个图像上的所有位置,我们都能使用同样的学习特征。
    • 当有多个filter时,我们就可以学到多个特征,例如:轮廓、颜色等
  • 多个过滤器filter(卷积核)

    • 例子如下

这里写图片描述
- 一张图片有RGB三个颜色通道,则对应的filter过滤器也是三维的,图像经过每个filter做卷积运算后都会得到对应提取特征的图像,途中两个filter:W0和W1,输出的就是两个图像
- 这里的步长stride2(一般就取2,3)
- 在原图上添加zero-padding,它是超参数,主要用于控制输出的大小
- 同样也是做卷积操作,以下图的一步卷积操作为例:
与w0[:,:,0]卷积:0x(-1)+0x0+0x1+0x1+0x0+1x(-1)+1x0+1x(-1)+2x0=-2
与w0[:,:,1]卷积:2x1+1x(-1)+1x1=2
与w0[:,:,2]卷积:1x(-1)+1x(-1)=-2
最终结果:-2+2+(-2)+1=-1 (1为偏置)
这里写图片描述

3、池化(Pooling)

  • 也叫做下采样
  • Pooling过程

    • 把提取之后的特征看做一个矩阵,并在这个矩阵上划分出几个不重合的区域,
    • 然后在每个区域上计算该区域内特征的均值最大值,然后用这些均值或最大值参与后续的训练
      这里写图片描述

    -下图是使用最大Pooling的方法之后的结果
    这里写图片描述<

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值