资讯专栏INFORMATION COLUMN

卷积神经网络的数学推导

Binguner / 3305人阅读

摘要:所以卷积神经网络卷积池化假设矩阵为的矩阵,池化窗口为,则按照池化窗口大小将矩阵分割成块不相交的小矩阵,对对每个块中的所有元素做求和平均操作,称为平均池化,取较大值则称为较大池化。卷积神经网络卷积神经网络是权值共享,非全连接的神经网络。

卷积神经网络(Convolutional Neural Network, CNN)是一种前馈神经网络,每个神经元都只影响邻层的一部分神经元,具有局部感受野,因此,网络具有极强的捕捉局部特征的能力;另一方面,通过权值共享和池化,显著地降低了网络的计算复杂度,使得CNN得到广泛应用。CNN是图像分类和语音识别领域的杰出算法,也是目前大部分计算机视觉系统的核心技术,从facebook的图像自动标签到自动驾驶汽车,乃至AlphaGo都在使用。与此同时,近两年CNN逐渐被应用于NLP任务,在sentence classification中,基于CNN的模型取得了非常显著的效果。

本文假设读者比较熟悉神经网络的相关知识,特别是反向传播算法的过程,从数学推导的角度来理解CNN的内部原理。

1 神经网络

神经网络是由多个感知器(神经元)构成的全连接的网络,本质上来说,这样的连接只是简单的线性加权和而已,所以每个神经元加上同一个非线性函数(如sigmoid,tanh等),使得网络能拟合非线性。通常,称这个非线性函数为激活函数。一个典型的全连接神经网络如下所示: 

1.1 前向传导

上图中,每个圆圈代表一个神经元(标上“+1”的是偏置节点,不算入神经元),从神经元引出的连接是参数矩阵w,从偏置节点引出的是参数向量b。w和b是整个网络最重要的参数。

1.1.3 输出层

1.2 反向传播

假设神经网络的代价函数为:

即,网络的整体代价为所有训练样例的平均代价。

其中,αα是学习率。

因此,只要能求出w,bw,b的偏导数就能迭代更新,从而完成整个算法。看似简单,但却困难。因为J(w,b)J(w,b)是很难写出显式表达式的,从而很难对每个wij,bijwij,bij都求出偏导,主要原因是网络是分层的进而w,bw,b也是分层,这才导致了偏导的难求,从而才有了反向传播。

所以:

2 卷积神经网络

2.1 卷积

2.2 池化

假设矩阵C为6×46×4的矩阵,池化窗口为2×22×2,则按照池化窗口大小将矩阵C分割成6块不相交的2×22×2小矩阵,对对每个块中的所有元素做求和平均操作,称为平均池化,取较大 值则称为较大池化。得到的矩阵S称为pool map。如:

由于池化也称为下采样,用S=down(C)S=down(C)表示,为了使得池化层具有可学习性,一般令:

其中,ββ和bb为标量参数。

2.3 卷积神经网络

卷积神经网络是权值共享,非全连接的神经网络。以2个卷积层和2个池化层的卷积神经网络为例,其结构图如下: 

2.3.1 前向传导

2.3.2 反向传播

卷积神经网络的反向传播本质上是和BP神经网络是一致的,区别在于全连接和非全连接:在反向求导时,卷积神经网络要明确参数连接了哪些神经元;而全连接的普通神经网络中的相邻两层的神经元都是与另一层的所有神经元相连的,因此反向求导时非常简单。

池化层 假设当前池化层为 ll,下一层为全连接层,那么当前池化层就是全连接层的输入,可以根据全连接层的 BP 求导公式递推算出。因此只需讨论下一层 l+1l+1 为卷积层的情形,上一层 lㄢ氀ㄢ开为卷积层,该情形下有:

同样地,为了求得池化层 ll 的各个神经元的δδ,关键是要必须弄清楚该神经元与 l+1l+1层中的哪些神经元连接,因为求该神经元的δδ时,只与这些神经元相关。递推的方式与全 连接的神经网络的不同之处在于:

池化层 ll 的各个神经元的δδ只和 l+1l+1 层的相关神经元有关

池化层 ll 到卷积层 l+1l+1 做了窄卷积运算,使得矩阵维度减小,因此,δl+1iδil+1 需要与相应的卷积核做宽卷积运算使得矩阵维度扩展回去。 因此,有:

参考资料

UFLDL Tutorial

GradientBased Learning Applied to Document Recognition

Notes on Convolutional Neural Networks

欢迎加入本站公开兴趣群

商业智能与数据分析群

兴趣范围包括各种让数据产生价值的办法,实际应用案例分享与讨论,分析工具,ETL工具,数据仓库,数据挖掘工具,报表系统等全方位知识

QQ群:81035754

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/4378.html

相关文章

  • 徒手实现CNN:综述论文详解卷积网络数学本质

    摘要:本论文将尝试概述卷积网络的架构,并解释包含激活函数损失函数前向传播和反向传播的数学推导。本文试图只考虑带有梯度下降优化的典型卷积神经网络架构的制定。 近日南洋理工大学研究者发布了一篇描述卷积网络数学原理的论文,该论文从数学的角度阐述整个卷积网络的运算与传播过程。该论文对理解卷积网络的数学本质非常有帮助,有助于读者「徒手」(不使用卷积API)实现卷积网络。论文地址:https://arxiv....

    eternalshallow 评论0 收藏0
  • 贪心学院-图神经网络高级训练营

    摘要:百度网盘提取码最近一直关注贪心学院的机器学习训练营,发现这门课讲的很有深度,不仅适合职场也适合科研人员,加入行业拿到高薪仅仅是职业生涯的开始。 ​​百度网盘​​提取码:u6C4最近一直关注贪心学院的机器学习训练营,发现这门课讲的很有深度,不仅适合职场也适合科研人员,加入AI行业拿到高薪仅仅是职业生涯的开始。现阶段AI人才结...

    番茄西红柿 评论0 收藏2637
  • 直白介绍卷积神经网络(CNN)

    摘要:卷积神经网络除了为机器人和自动驾驶汽车的视觉助力之外,还可以成功识别人脸,物体和交通标志。卷积卷积神经网络的名字来源于卷积运算。在卷积神经网络中,卷积的主要目的是从输入图像中提取特征。 什么是卷积神经网络,它为何重要?卷积神经网络(也称作 ConvNets 或 CNN)是神经网络的一种,它在图像识别和分类等领域已被证明非常有效。 卷积神经网络除了为机器人和自动驾驶汽车的视觉助力之外,还可以成...

    GitChat 评论0 收藏0
  • 如何用70行Java代码实现深度神经网络算法

    摘要:但实际上机器学习算法落地程序并不难写,下面是行代码实现的反向多层神经网络算法,也就是深度学习。神经网络的算法程序实现神经网络的算法程序实现分为初始化向前计算结果,反向修改权重三个过程。 对于现在流行的深度学习,保持学习精神是必要的——程序员尤其是架构师永远都要对核心技术和关键算法保持关注和敏感,必要时要动手写一写掌握下来,先不用关心什么时候用到——用不用是政治问题,会不会写是技术问题,就像军...

    Richard_Gao 评论0 收藏0
  • 全连接网络卷积神经网络逐步推导

    摘要:在图像分析中,卷积神经网络在时间和内存方面优于全连接网络。这是为什么呢卷积神经网络优于全连接网络的优势是什么呢卷积神经网络是如何从全连接网络中派生出来的呢卷积神经网络这个术语又是从哪里而来这些问题在本文中一一为大家解答。 在图像分析中,卷积神经网络(Convolutional Neural Networks, CNN)在时间和内存方面优于全连接网络(Full Connected, FC)。这...

    zhunjiee 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<