CNN详解(卷积层及下采样层)
来源:互联网 发布:linux禁止ping 编辑:程序博客网 时间:2024/06/06 18:41
CNN详解(卷积层及下采样层)
卷积神经网络包含卷基层、批量归一化层、下采样层、全连接层等。首先来介绍卷基层和下采样层。
1、卷基层(Convolution)
关于卷积层我们先来看什么叫卷积操作: 下图较大网格表示一幅图片,有颜色填充的网格表示一个卷积核,卷积核的大小为3*3。假设我们做步长为1的卷积操作,表示卷积核每次向右移动一个像素(当移动到边界时回到最左端并向下移动一个单位)。卷积核每个单元内有权重,下图的卷积核内有9个权重。在卷积核移动的过程中将图片上的像素和卷积核的对应权重相乘,最后将所有乘积相加得到一个输出。下图经过卷积后形成一个6*4的图。
在了解了卷积操作后我们来看下卷积层的特点。
局部感知
在传统神经网络中每个神经元都要与图片上每个像素相连接,这样的话就会造成权重的数量巨大造成网络难以训练。而在含有卷积层的的神经网络中每个神经元的权重个数都时卷积核的大小,这样就相当于没有神经元只与对应图片部分的像素相连接。这样就极大的减少了权重的数量。同时我们可以设置卷积操作的步长,假设将上图卷积操作的步长设置为3时每次卷积都不会有重叠区域(在超出边界的部分补自定义的值)。局部感知的直观感受如下图:
ps:使用局部感知的原因是一般人们认为图片中距离相近的部分相关性较大,而距离比较远的部分相关性较小。在卷积操作中步长的设置就对应着距离的远近。但是步长的设置并无定值需要使用者尝试。
参数共享
在介绍参数共享前我们应该知道卷积核的权重是经过学习得到的,并且在卷积过程中卷积核的权重是不会改变的,这就是参数共享的思想。这说明我们通过一个卷积核的操作提取了原图的不同位置的同样特征。简单来说就是在一幅图片中的不同位置的相同目标,它们的特征是基本相同的。其过程如下图:
多核卷积
如权值共享的部分所说我们用一个卷积核操作只能得到一部分特征可能获取不到全部特征,这么一来我们就引入了多核卷积。用每个卷积核来学习不同的特征(每个卷积核学习到不同的权重)来提取原图特征。
上图的图片经过三个卷积核的卷积操作得到三个特征图。需要注意的是,在多核卷积的过程中每个卷积核的大小应该是相同的。
2、下采样层(Down—pooling)
下采样层也叫池化层,其具体操作与卷基层的操作基本相同,只不过下采样的卷积核为只取对应位置的最大值、平均值等(最大池化、平均池化),并且不经过反向传播的修改。个人理解之所以要加下采样的原因是可以忽略目标的倾斜、旋转之类的相对位置的变化。以此提高精度,同时降低了特征图的维度并且已定成度上可以避免过拟合。
(完)
一文读懂卷积神经网络 http://www.36dsj.com/archives/24006图像处理之卷积 http://blog.csdn.net/jia20003/article/details/7038938
阅读全文
0 0
- CNN详解(卷积层及下采样层)
- CNN详解(卷积层及下采样层)
- TensorFlow:简单的卷积层、池化层(采样层)示例
- CNN之卷积计算层
- cnn神经网络卷积层可视化
- CNN 卷积层和激活层
- 如何得到卷积层输出的深度--CNN卷积层
- CNN网络层详解
- CNN卷积层相关计算公式
- Deeplearning Toolbox中CNN代码的修改--增加下采样层偏置
- Deeplearning Toolbox中CNN代码的修改--增加下采样层偏置
- 卷积层
- 卷积层
- 卷积层
- 如何理解最简单的CNN代码(卷积层到全链接层)
- CNN的大部分表达能力来自于它的卷积层
- Tensorflow CNN(两层卷积+全连接+softmax)
- 使用RNN模拟CNN中每个卷积层的关系
- 自定义过滤器filter
- android webview 遇到android.os.FileUriExposedException错误
- HTML angular单选按钮
- SQLiteException: not an error (code 0): Could not open the database in read/write mode
- Broadcom BCM94360系列网卡Linux(Ubuntu/Fedora)驱动安装总结
- CNN详解(卷积层及下采样层)
- jmeter测试网站登录
- 子页面与父页面互相调用包括iframe
- js购物车
- 【队内胡策】2017.10.18
- Asp.net MVC scheduler实现
- 二叉查找树
- 数据库之设计表:用户表信息以及第三方登录信息如何同步?
- 小鹏的镜子