卷积计算神经网络搭建过程包含_卷积神经网络的来源,概念和过程理解

一、卷积神经网络的来源

卷积神经网络(Convolutional Neural Networks),简称CNN,是模仿人类视觉皮层功能的深度学习算法。

我们先举个直观例子了解下人眼看到物体的情况,如下图所示:

4f72468d1dddc0ea9a38be62d413632c.png

人眼看到物体的过程

这张图实中眼睛里其中的一个神经元,它会盯着图像,但它并不会盯着图像的每一个像素,它只会盯着图像的一部分。盯的一部分,称为感受野,也就是感受一部分视野。另外一个神经元它又会盯着另外的一部分,但是它们有重叠。这就相当于一些神经元看线, 另外一些神经元会看线的方向,这些线和方向会组合成一些更大的感受野,然后组成一些基础图像,基础图像再组合成我们的所看到的图像。

我们可以看到上图中一个神经元识别到局部像素点为一条竖杠,另一个神经元对识别出来是一条横杠,然后再有一条神经元识别出一条竖杠,这三个基本的点成线的抽象汇总到一个神经元后提取出来一个门(一竖一横一竖的门),而另一些神经元会把一个房顶识别出来,然后门加房顶不断的提取汇总,最终汇总出来一个房子因此卷积神经网络思想就是模仿人体视觉图层看到物体的过程所诞生出的深度学习算法。

二、卷积神经网络结构中的概念理解

了解完卷积思想来源之后,我们再来谈下卷积神经网络中的一些概念。实际上我们的卷积就是上面所提到的感受野。还是以上面案例解释下,我们可以发现第一个隐藏层(h1),它里面的每个神经元不再是全连接到原来的每一个像素点,而是只连接到一个局部,比如图中视觉细胞所看到的红色区域不再是这一层的全部神经元,而是一个局部信息。

175571a3926abc316c8f224633f18a76.png

视觉细胞看到局部信息图示

局部里面包含多少像素点,它就和前面连接有多少像素点。在卷积网络结构里面隐藏层的名称跟传统神经网络区分开,叫卷积层。卷积层里面的一个神经元,它只会接收到前面输入层里面的其中某一部分,这就是我们所谓的局部连接

50d7ef01b1dd2237b3ce766dc93fc4a6.png

卷积中的局部连接

这样结构的设计有什么样的好处呢 ?

我们可以从另一面看来思考这个问题,假设这一层是全连接的话,那么中间对应的参数一定是前后两层的节点数所组成的参数矩阵。比如前面一层是4个节点,后面一层是4个节点,那么中间的参数应该是4行4列这样一个矩阵。

1d4077ca3efa245346b167bf76356884.png

前后层次节点所组成的(4,4)的参数矩阵形状

而这里如果是局部连接的话会使w的个数减少很多,这样对我们的计算要求就相对削弱很多。

但是这会不会影响我们的最后的准确率呢?

实际上不会。我们可以通俗的这样理解,因为人类的视觉中每个神经元虽然看局部的一个像素点,但是神经元不单单只有一层,它是层层传递的,最后达到我们的视觉皮层,我们的卷积神经网络里也是通过层数的增加弥补参数减少的原因,所以不会影响准确率。

三、卷积神经网络结构中的卷积过程理解

了解完卷积层中的基本概念后,我们再来看下卷积神经网络结构中的卷积具体的过程。

我们举个手写体数字识别的例子来理解下这个过程。

对于Mnist手写体数字集来说,一张图片里面有784个像素点。假设用DNN的分类的话,784个像素点会让它组合成一个行向量,也就是一维的维度。如果用CNN的话,我们就要把这个输入数据变成二维,那么我们的输入图像形状应该是28×28的。如果有M个图片,我们的输入就会是一个3维的矩阵,结构为(M,28,28),类似于我们面包片的排列,每一片面包对应图片就是28*28的这些像素点,每一次输入有M个面包组成。示意图如下:

99792f737253819db7842c8866dbe42e.png

(M,28,28)的输入维度

当然我们真正在输入的时候还应该加上通道数,对于黑白的图片来说,它是单通道,对于彩色图片,色域是有RGB(红绿蓝)三元素组成,所以就是三个通道,这样我们用DNN去分类的话真正的输入就是(M,28,28,1),最后1维就表示一个通道。对于彩色图片来说,输入形状为(M,28,28,3),最后一维就表示3个通道。

这里大家不免会问为什么要把784个维度一列变成28×28的方形呢?

这是因为我们做卷积的时候实际上是以一个小格的区域去扫描原来的图片, 它不再是一个像素点。比如下图卷积的示意图总共有3个层次,分别为一个输入层和两个隐藏层。我们分别称为输入层(Input layer),卷积层1(Convolutional layer1)和卷积层2(Convolutional layer2)。可以看到我们在输入的时候需要把我们的像素点组成一个大的区域,即一个28*28的矩阵,这样输入层到隐藏层之间才能做卷积的这种区域的操作。

首先我们看下从输入层到第一个隐藏层,我们的卷积神经网络到底做了什么?

我们以图中的红框(相当于我们定义好的一个卷积核)扫描输入层,第一次的扫描过后,汇总到卷积层1上一个像素点,即图示中Convolutional layer1层的红点,如图所示:

8d7126b01ed2f50204b9f4c6fe9be837.png

从输入层到第一个隐藏层的第一次扫描

然后同样经过第二次扫描,由图中蓝色区域扫描输入层中同样大小的区域,然后再汇总成一个卷积层1上的另一个像素点,即图中Convolutional layer1所代表的蓝色点。如图所示:

842aaf3054a011d64dc3eba843e1ae6a.png

从输入层到第一个隐藏层的第二次扫描

​​这样,经过一定次数扫描过后,在卷积层1上面会汇总所有从输入层扫描汇总的像素点。这些扫描出来的像素点组合成的结构我们称为feature map,即下图红色区域:

c336040e6d2a50119c60d5c54c468baa.png

feature map示意图

每一个feature map都是上一层到本层的经过卷积之后提取的像素点,我们可以理解它从原始图像抽象出来的图。这样一个过程就是我们所理解的特征提取

然后同理,对下一层来说,我们当前的卷积层1就相当于下一层的输入层,所以接下来从卷积层1到卷积层2的变化也是一样的过程,比如图中从卷积层1第一次扫描一个区域汇为卷积层2上的一个像素点即图中粉色对应的像素点。

aaa6c53d6451facc9975b9e6e7a27161.png

从卷积层1到卷积2输入的第一次扫描

然后同理依次不断卷积,再传给上游的网络,最后再结合分类算法就是我们的卷积神经网络整个过程了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
VoVNet(Vision over Visibility Network)是一种用于计算机视觉任务的卷积神经网络。下面是VoVNet骨干网络的详细搭建过程: 1. 输入特征:首先,将输入图像传递给VoVNet网络。 2. Stem模块:VoVNet开始于一个称为Stem模块的基础模块。Stem模块包含一系列的卷积层和池化层,用于对输入图像进行特征提取和下采样。它有助于增加感受野并减小特征图的尺寸。 3. Stage构建:VoVNet网络由多个Stage组成,每个Stage都有多个基本块(Basic Block)。每个基本块由若干个VoVNet单元(VoVNet Unit)组成。每个VoVNet单元包含了OSA(Operator Set Aggregation)模块以及其他操作。 4. OSA模块:OSA模块是VoVNet的核心组件,用于增强特征表示能力。它由并行分支和密集连接机制组成。在每个分支中,输入特征通过不同尺寸的卷积核进行卷积操作,并将分支的输出连接在一起。这样可以捕获不同尺度和语义级别的特征信息,并促进特征的传递和重用。 5. 下采样:在每个Stage的末尾,可以选择性地对特征图进行下采样,以减小特征图的尺寸。这可以增加网络的感受野,并减少计算量。 6. 分类器:VoVNet网络的最后一部分是分类器,通常是全局平均池化层和全连接层。全局平均池化层将特征图转换为向量表示,然后通过全连接层进行分类预测。 VoVNet网络通过使用OSA模块和密集连接机制,能够有效地捕获不同尺度和语义级别的特征信息,提高特征的判别能力和泛化能力。这使得VoVNet在图像分类、目标检测和语义分割等任务中表现出色。 希望这次提供的回答对您有帮助。如果您有其他问题,请随时提问。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值