当前位置: 首页 > 知识库问答 >
问题:

卷积神经网络中的反向传播

濮阳立果
2023-03-14

考虑具有以下架构的卷积神经网络:

Standford的深度学习教程使用以下等式来实现这一点:

然而,在使用这个等式时,我面临以下问题:

我做错了什么?有人能解释一下如何通过卷积层传播错误吗?

简单的MATLAB示例将受到高度赞赏。

共有2个答案

湛宏旷
2023-03-14

我认为你的层次和重量与你想象的大不相同。如果“P\u 1的输出有64个通道,而C\u 2的输出有96个通道”,并且卷积为2x2,那么W不是2x2,而是96x64x2x2x2(一个秩4张量;维度/索引顺序的约定可能会有所不同,但您可以理解)。“内矩阵乘法”实际上是张量卷积。接下来,将96x64x2x2x2的W与64x7x7的输入进行卷积,以产生96x6x6的输出(这假设“有效”卷积且无填充,这就是为什么将2x2滑动到7x7上会产生6x6)。往回看,将W的转置与输出进行卷积,以生成与输入具有相同维度的内容。

平均池只会让事情变得更复杂一些;首先尝试在没有池的情况下理解这一点,或者将池建模为具有固定(相等)权重的卷积。

吉栋
2023-03-14

这里需要注意的一个很好的点是池化层本身不做任何学习,池化层的功能是逐步减小表示的空间大小,以减少网络中的参数和计算量。

在前向传播期间,一个P by P池化块被减少到一个值,即“获胜单元”的值。为了跟踪“获胜单元”,它的索引在前向传递期间被记录下来,并用于反向传播期间的梯度路由。

在反向传播过程中,计算卷积层中的梯度,然后向后传递到池层涉及将来自卷积层的梯度值分配给“获胜单元”,因为在向前传递过程中提前注意到索引。

梯度路由通过以下方式完成:

>

  • 最大池(Max pooling)-错误只分配给它的来源-“获胜单位”(winning unit),因为前一层池块中的其他单位对它没有贡献,因此所有其他赋值都为零

    平均池化-误差乘以1/(P乘以P)并分配给整个池化块(所有单元都获得相同的值)。

    在这里阅读整个反向传播过程的更全面的细分

  •  类似资料:
    • 我们首先回顾DNN的反向传播算法。在DNN中,我们是首先计算出输出层的$$deltaL:deltaL = frac{partial J(W,b)}{partial zL} = frac{partial J(W,b)}{partial aL}odot sigma{'}(zL)$$ 利用数学归纳法,用$$delta{l+1}$$的值一步步的向前求出第l层的$$deltal$$,表达式为:$$delta

    • 注意: 本教程适用于对Tensorflow有丰富经验的用户,并假定用户有机器学习相关领域的专业知识和经验。 概述 对CIFAR-10 数据集的分类是机器学习中一个公开的基准测试问题,其任务是对一组大小为32x32的RGB图像进行分类,这些图像涵盖了10个类别: 飞机, 汽车, 鸟, 猫, 鹿, 狗, 青蛙, 马, 船以及卡车。 想了解更多信息请参考CIFAR-10 page,以及Alex Kriz

    • 卷积神经网络(Convolutional Neural Network, CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。卷积神经网络由一个或多个卷积层和顶端的全连通层(对应经典的神经网络)组成,同时也包括关联权重和池化层(pooling layer)。这一结构使得卷积神经网络能够利用输入数据的二维结构。与其他深度学习结构相比,卷积神经网络

    •     在上一篇里,我们已经讲到了CNN的结构,包括输出层,若干的卷积层+ReLU激活函数,若干的池化层,DNN全连接层,以及最后的用Softmax激活函数的输出层。这里我们用一个彩色的汽车样本的图像识别再从感官上回顾下CNN的结构。图中的CONV即为卷积层,POOL即为池化层,而FC即为DNN全连接层,包括了我们上面最后的用Softmax激活函数的输出层。     从上图可以看出,要理顺CNN的

    • 在了解了机器学习概念之后,现在可以将注意力转移到深度学习概念上。深度学习是机器学习的一个分支。深度学习实现的示例包括图像识别和语音识别等应用。 以下是两种重要的深度神经网络 - 卷积神经网络 递归神经网络 在本章中,我们将重点介绍CNN - 卷积神经网络。 卷积神经网络 卷积神经网络旨在通过多层阵列处理数据。这种类型的神经网络用于图像识别或面部识别等应用。CNN与其他普通神经网络之间的主要区别在于

    • 主要内容:卷积神经网络深度学习是机器学习的一个分支,它是近几十年来研究人员突破的关键步骤。深度学习实现的示例包括图像识别和语音识别等应用。 下面给出了两种重要的深度神经网络 - 卷积神经网络 递归神经网络。 在本章中,我们将关注第一种类型,即卷积神经网络(CNN)。 卷积神经网络 卷积神经网络旨在通过多层阵列处理数据。这种类型的神经网络用于图像识别或面部识别等应用。 CNN与任何其他普通神经网络之间的主要区别在于CNN