卷积神经网络的数学推导及简单实现

作者&投稿:邓颖 (若有异议请与网页底部的电邮联系)
~ 先来看一个网络:

这是一个简单的CNN的前半部分,不包含全连接层,而且已有一个卷积层和一个池化层,卷积核大小是2X2,步长1,Padding为0,Pooling操作为Max Pooling,大小同样是2x2
先来看正向的计算,卷积操作就没什么好说的了,不了解的可以随便百度一下,下面直接写公式:

是节点 的加权输入, 是激活函数ReLU

算出所有的 后,就是Max Pooling了:

卷积层和池化层的前向计算都说完了,虽然实际中一般不止一层,不过都是可以套用的,接下来就是全连接层了:

如图所示,max pooling的结果‘拉平’后就是全连接层的输入向量了:

这是之前的一篇关于DNN的推导,就不赘述了:
https://www.jianshu.com/p/bed8d5dac958
关于全连接层的误差传播已经知道怎么算了,接下来的问题就是将误差传回池化层及卷积层了:

上图中 是FC(全连接)层中输入层的误差,也是池化层的下一层的误差,公式在上面一篇文章中已经讨论了:

而输入层是没有激活函数的,所以 ,即:

在得到误差项之后,进一步求Pooling操作之前的误差项,如果Max Pooling如下:

则upsample操作则同样:

推导过程如下:

若x1为最大值,则不难求得下列偏导数:

因为只有最大的那一项会队x5产生影响,所以其余项的偏导数都为0,又因为:
,所以:

如下图所示:

池化层没有参数需要更新,所以只要把误差传给上一层就可以了,接下的问题就是已知卷积层的上一层(也就是正向计算的下一层)误差,求卷积层的误差以及更新卷积核了。

首先已知了上一层所有节点 的误差项 ,来看看如何更新卷积核的梯度。由于任一 都对所有 有影响,根据全导数公式:

上面已经讨论过 是节点 的加权输入,所以:

最后,就是把误差继续往上一层传递了,如图:

先看几个例子:

归纳一下,可以发现如下图的规律:

公式如下:

写成卷积形式:

总算写完了,只是后面的有些粗糙,以后有时间再完善吧


卷积与哪些因素相关?
卷积是一种数学运算,它与许多因素相关。在信号分析中,卷积是一种常见的操作,用于将一个信号与另一个信号进行相关性分析。在深度学习中,卷积神经网络(CNN)是一种非常重要的模型,它通过卷积层来提取图像、语音等数据的特征。卷积与以下几个因素相关:输入信号:卷积操作需要两个输入信号,一个是待...

cnn是什么意思啊
CNN的全称是"Convolutional Neural Network"(卷积神经网络)。而神经网络是一种模仿生物神经网络(动物的中枢神经系统,特别是大脑)结构和功能的数学模型或计算模型。神经网络由大量的人工神经元组成,按不同的连接方式构建不同的网络。CNN是其中的一种,还有GAN(生成对抗网络),RNN(递归神经网络)等,神经...

神经网络NN算法(理论篇)
神经网络,作为机器学习的核心算法,是深度学习的基石,它深刻地改变了我们理解复杂问题的方式。深入理解神经网络的工作原理,将为后续学习打下坚实的理论基础。历史的脉络 追溯至1904年,生物学家揭示了神经元的结构,为神经网络的诞生提供了最初的灵感。1943年,心理学家McCulloch和数学家Pitts构建了抽象的...

卷积的通俗理解
5、在机器学习中,卷积运算被广泛应用于卷积神经网络(Convolutional Neural Networks,简称CNN)中,用于提取图像等数据特征。通过将输入图像与多个卷积核进行卷积运算,可以得到多个经过特征提取的输出特征图。卷积的相关知识如下:1、卷积是卷积神经网络中的核心模块,卷积的目的是提取输入图像的特征。卷积也...

卷积的公式是什么呢?
公式如下:卷积积分公式是(f *g)∧(x)=(x)·(x),卷积是分析数学中一种重要的运算。设f(x), g(x)是R1上的两个可积函数,作积分,可以证明,关于几乎所有的x∈(-∞,∞) ,上述积分是存在的。这样,随着x的不同取值 ,这个积分就定义了一个新函数h(x),称为f与g的卷积,...

卷积是什么
此外,卷积运算还具有高效的计算性能,对于大规模数据的处理非常有效。总之,卷积是一种重要的数学运算过程,在信号处理、图像处理、机器学习等领域具有广泛的应用。通过对两个函数或信号进行卷积运算,可以提取出信号的特定特征和信息,从而实现各种处理和分析任务。在机器学习领域,卷积神经网络中的卷积运算...

利用卷积神经网络如何实现图片的分类
以下是利用卷积神经网络实现图片分类的基本步骤:数据准备:首先,你需要一组标记的图像数据集。这些图像需要被分为训练集和测试集。同时,你需要为每个类别提供一些样本图像。模型构建:使用CNN模型构建器(如Keras、PyTorch等)创建一个CNN模型。通常,你会选择一个卷积层(Conv)和池化层(Pool)的组合,...

用于推荐的深度神经网络模型指的是?
只将信息从一层向前馈送至下一层的人工神经网络称为前馈神经网络。多层感知器 (MLP) 是一种前馈 ANN,由至少三层节点组成:输入层、隐藏层和输出层。MLP 是可应用于各种场景的灵活网络。卷积神经网络是识别物体的图像处理器。时间递归神经网络是解析语言模式和序列数据的数学工具。深度学习 (DL) 推荐...

人工神经网络应用分析
人工神经网络的原理源于生物神经网络的功能,它是通过数学统计学习方法优化的,将统计学理论应用于人工智能领域的感知决策问题,赋予了神经网络类似人类的简单决策和判断能力。这种非逻辑推理的处理方式相较于传统方法更具优势。近年来,神经网络受到越来越多关注,它以其高效解决复杂问题的能力吸引着人们。神经...

有没有好理解的关于神经网络的书推荐
而利用负反馈训练,也就是数值分析中类似于牛顿法的收敛求解(爬坡法)。由于组合的灵活,局部收敛性也就比较难遇到,所以精确度比较高。另外图像方面用的卷积神经网络利用的是图像的空间特征不变性来减少网络的复杂度,本身也很好理解。如果你有大2的数学知识和编程能力,看一下资料就可以入门了。总的来...

延寿县15092297572: 如何训练一个简单的分类卷积神经网络 -
苦倪柴银: 卷积神经网络有以下几种应用可供研究:1、基于卷积网络的形状识别 物体的形状是人的视觉系统分析和识别物体的基础,几何形状是物体的本质特征的表现,并具有平移、缩放和旋转不变等特点,所以在模式识别领域,对于形状的分析和识别...

延寿县15092297572: 全卷积神经网络中的crop层有什么用处,以及是如何实现的 -
苦倪柴银: 展开全部1.卷积神经网络简介 卷积神经网络(Convolutional Neural Network,CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现.[1] 它包括卷积层(alternating convolutional layer...

延寿县15092297572: 如何用c++在mnist上实现一个简单的卷积神经网络,有哪些参考资料 -
苦倪柴银: SVM方面,首选的肯定是LIBSVM这个库,应该是应用最广的机器学习库了. 下面主要推荐一些DeepLearning的GitHub项目吧! 1. convnetjs - Star:2200+ 实现了卷积神经网络,可以用来做分类,回归,强化学习等. 2. DeepLearn Toolbox - Star:1000+ M.

延寿县15092297572: 如何通过人工神经网络实现图像识别 -
苦倪柴银: 神经网络实现图像识别的过程很复杂.但是大概过程很容易理解.我也是节选一篇图像识别技术的文章,大概说一下.图像识别技术主要是通过卷积神经网络来实现的.这种神经网络的优势在于,它利用了“同一图像中相邻像素的强关联性和强...

延寿县15092297572: 如何在fpga上实现卷积神经网络 -
苦倪柴银: 没有卷积神经网络的说法,只有卷积核的说法.电脑图像处理的真正价值在于:一旦图像存储在电脑上,就可以对图像进行各种有效的处理.如减小像素的颜色值,可以解决曝光过度的问题,模糊的图像也可以进行锐化处理,清晰的图像可以使...

延寿县15092297572: 如何理解卷积神经网络中的卷积 -
苦倪柴银: 简单谈谈自己的理解吧. 池化:把很多数据用最大值或者平均值代替.目的是降低数据量. 卷积:把数据通过一个卷积核变化成特征,便于后面的分离.计算方式与信号系统中的相同.

延寿县15092297572: 如何理解深度学习中的卷积 -
苦倪柴银: 深度学习的概念源于人工神经网络的研究.含多隐层的多层感知器就是一种深度学习结构.深度学习通过组合低层特征形成更加抽象的高层表示属性类别或特征,以发现数据的分布式特征表示.多层神经网络是指单计算层感知器只能解决线性...

延寿县15092297572: 手写数字识别的神经网络算法有哪些 -
苦倪柴银: 看数字图片而定.如果图片较小并且质量还不错,那么通过2层的神经网络就能胜任.对于MNIst数据集(28*28的手写数字),2层神经网络准确率可达99%,svm也有98%以上.以上实现非常简单,matlab已经有现成工具箱.卷积神经网络通常用于更加复杂的场合,闭合是被图像内容等.在MNIST数据集上cnn可达99.7%准确率,但是实现起来较为复杂,需要通过开源框架caffe,keras等进行编程.如果对准确率要求没有达到小数点后两位的程度,用简单的svm,神经网络,softmax等调调参数就行了.

延寿县15092297572: “深度学习”和“多层神经网络”的区别 -
苦倪柴银: “深度学习”和“多层神经网络”不存在区别关系.深度学习的网络结构是多层神经网络的一种.深度学习中最著名的卷积神经网络CNN,在原来多层神经网络的基础上,加入了特征学习部分,这部分是模仿人脑对信号处理上的分级的.广义...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网