【深度学习】由人工神经网络(DNN)到卷积神经网络(CNN)

卷积神经网络(CNN)

背景

1.DNN可以用在计算机视觉吗?为什么需要CNN?
2. 卷积神经网络(CNN)和人工神经网络(DNN)的差异在哪?

人工神经网络(DNN)

1.DNN层级结构如下图所示:包括1,输入层;2.隐含层(1,2,…,n);3.输出层。层级之间采用全连接(FC),激活函数一般采用sigmoid函数。优化算法一般是随机梯度下降(SGD)。
在这里插入图片描述
----------------------------------------------------图1 DNN层级结构------------------------------------------------------------

卷积神经网络(CNN)

2.CNN层级结构如下图所示:包括输入层,若干个(卷积层CONV+激励层(一般使用ReLU激活函数)+池化层(POOL,一般使用最大池化)),最后加一个全连接(FC),预测结果。
在这里插入图片描述
-------------------------------------------------------图2 CNN层级架构----------------------------------------------------------

2.1. 卷积层(CONV)
卷积层涉及到的几个概念:
①滤波器filter
②步长stride
③填充值zero-padding
④深度depth
举个例子:
如下图所示:原始输入是一个7x7x1的矩阵;可以看成7x7的二维矩阵;定义滤波器的大小为3x3(图中CONV Kernel);则计算过程如图右上角所示,就是对应点求积再求和,最后得到计算结果为-8。以上完成一个滤波器的一次图片的局部计算,此滤波器需要遍历整张图片,所以设定滤波器的移动步长(stride)为2;依次计算遍历整张图片,最终会得到3x3的矩阵;所以通过一个滤波器可以将原始7x7的图片降维为3x3;这里面牵扯到的一个卷积层的知识点叫做权值共享(意思就是对于一个滤波器而言,在遍历整张图片时,所用的权值矩阵是固定的,这也是为什么CNN能降低参数量的原因;在物理层面,一个滤波器代表提取出图片的的某一类特征)。 在这里插入图片描述
-----------------------------------------图3 CNN的卷积层计算过程---------------------------------------------------------

在这里插入图片描述
--------------------------------------图4 彩色图片(三通道)卷积层的计算过程-------------------------------------

刚才的例子中没有涉及到卷积层的另外两个概念,深度和填充值。填充值就是指当一个滤波器在按照指定的步长进行移动来遍历整张图时,可能在边缘不能完全遍历的情况。比如我们将上述例子的步长stride设定为3,则滤波器在往右移动的过程中,第二次移动还可以覆盖图片,到第三次移动时,滤波器“超出”了图片的范围,无法进行计算,所以此时我们一般操作是空余地方补0,继续计算,然后继续向下移动,直至遍历整张图片。
另外深度的意思就是滤波器的个数,刚才说到一个滤波器通过权值共享只能记录图片的某一类特征;所以需要多个不同的滤波器来遍历图片,记录此图片不同的特征。所以深度就是滤波器的个数就是神经元的个数。

在这里插入图片描述
--------------------------------------图5 深度为5的卷积层示意图-------------------------------------
讲到这其实就可以回答第一个问题了。
回答第1个问题:

  1. DNN可以用在计算机视觉吗?为什么需要CNN?

因为图像的像素一般都比较高,又基本都是彩色图片,所以输入数据比较多;
举个例子:
假设图片的输入矩阵为1000*1000*3的三维矩阵;一个隐含层最少也得500个神经元;则从输入层到第一个隐含层因为是全连接;则需要参数个数为1000*1000*3*500=1500000000个参数,这还只是有1个隐含层的网络结构;可见,DNN处理图片需要的参数量太大,一般难以训练。
可以结合上述介绍的CNN,对比为什么CNN就可以;主要就是卷积层的加入,以及权重共享可以大大降低参数量,并且能基本保留图片的特征,并且可以被训练。
2.2. 激励层
目的,把卷积层的输出结果进行非线性映射。
在这里插入图片描述
----------------------------------------------------------图6 激励层计算流程---------------------------------------------------
常用的激励函数及对应曲线
1.sigmoid
f ( x ) = 1 / ( 1 + e −

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值