卷积神经网络(Convolutional Neural Network)


这一部分用来记录自己比较随意的学习经历及学习的主要心得,偶尔想到或者遇到什么,想搞懂就踏上了征程。

1、基本结构组成介绍

(1)卷积神经网络非各层中的神经元是三维排列的:高度、宽度和深度,其中在卷积神经网络中的深度指的是激活数据体的第三个维度,而不是整个网络的深度。
整个网络的深度指的是网络的层数。

卷积神经网络的常用架构框架可表示为:
**INPUT -> [[CONV]*N -> POOL?]*M -> [FC]*K
即:N个卷积层叠加,然后(可选)叠加一个pooling层,重复这个结构M次,最后叠加K个全连接层。

(2)卷积神经网络主要由这几层构成:输入层、卷积层、RELU层、池化层(pooling)、全连接层。其中在实际应用中往往将卷积层和RELU层一起称为卷积层,所以卷积层经过卷积操作之后,也是要经过激活函数的。
卷积神经网络结构示意图
可表示为:INPUT -> [[CONV]*1 -> POOL]*2 -> [FC]*2

2、各层结构及原理介绍

2.1、卷积层

用上图结构来解释一下。
每一个卷积层有3个filter(过滤)(3为超参数,可自由设定),也就是三套参数,每个filter都可以把原始输入图像 卷积得到 一个feature map,3个filter就得到了3个feature map。

我们可以把feature map看做通过卷积变换提取到的图像特征,3个filter就对原始图像 提取出3组 不同的特征,也就是得到了3个feature map,也称为三个通道(channel)。

如何进行卷积计算
假设现在有一个55的输入图像,使用一个33的filter进行卷积,得到一个3*3的feature map。如下图所示:
在这里插入图片描述
步幅stride设置为1

在上面动图的过程中,步幅stride为1,这个参数是自己设定的,可以设置为大于1的数。当步幅设置诶2时,feature map就变成了2*2。

同时也说明图像大小、步幅与卷积之后的的feature map大小是有关系的。
步幅stride设置为2
下面再展示一个办函两个filter的卷积层的计算。输入为773,经过两个33filter的卷积(步幅为2),得到33*2的输出。同时zero padding 为1,也就是子啊输入元素的中午诶补一圈0.zero padding对图像边缘部分的特征提取是很有帮助的。
在这里插入图片描述
以上就是卷积层的计算过程,其中体现了局部连接权值共享的特点:
局部连接:每个神经元不再和上一层的所有神经元相连,而只和一小部分神经元相连。这样就减少了很多参数。
权值共享:一组连接可以共享同一个权重,而不是每个连接都一个不同的权重,这样又减少了很多参数。

2.2、池化层

对feature map进行下采样处理,去掉feature map 中不重要的样本,得到同等数目的 更小的 feature map,进一步减少参数数量。
池化层的原理很简单,方法也比较直观,常用的有max pooling、mean pooling。

max pooling:在n x n的样本中取最大值,作为采样后的样本值。如图所示:
max pooling
mean pooling:取n*n个样本的平均值。
注意:对于深度为D的feature map 。各层之间独立进行池化层pooling处理,因此pooling之后的深度仍然为D。

2.3、全连接层

上一层 与下一层的每个神经元都相连。

3、训练

利用链式求导计算损失函数对每个权重的偏导数(梯度),然后根据梯度下降公式跟新权重。训练算法是反向传播算法。

参考链接
零基础入门深度学习(4) - 卷积神经网络
卷积神经网络(CNN)详解

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值