首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >CNN中的反向传播(通过卷积层)和梯度

CNN中的反向传播(通过卷积层)和梯度
EN

Stack Overflow用户
提问于 2017-03-03 20:38:26
回答 1查看 782关注 0票数 1

我正在学习如何使用卷积神经网络,我接着为这些网络编写了我自己的框架。我被困在必须通过网络反向传播错误(Delta)并计算梯度的部分。我知道CNN中的过滤器是3D的,所以我们有一些过滤器的宽度、高度和深度。前馈没问题。让我们看一下前馈步骤中计算某一层输出的公式:

在层l中,滤波器的深度应与前一层l-1的输出z的输出通道数(深度)相同,以便进行卷积。在这里,在这个公式中,我们把前一层的输出和当前层的权重进行转换,这是有效的,因为第三坐标(深度)在这两层中是相等的。现在,让我们检查错误反向传播的公式:

在这一章中,我们给出了δ和权值阵列w的卷积,它们都来自层l+1。这就是让我困惑的地方,因为一般来说,它们的第三个坐标(深度)并不总是相等的。考虑一下VGGNet体系结构,让我们看看三个连续的层,其中过滤器的数量发生了变化:

..。

CONV3-128: 112x112x128内存: 112*112*128=1.6M权重:(3*3*128)*128 =147 456

POOL2: 56x56x128内存: 56*56*128=400K权重:0

CONV3-256: 56x56x256内存: 56*56*256=800K权重:(3*3*128)*256 = 294,912

..。

当滤波器的数量从128增加到256(在CONV3-256层中)之后,它具有上述激活(和误差增量)和权重的维度。但是,由于滤波器的深度(本例中为128)与其增量的第3维(在本例中为256)不同,我如何对这两个阵列进行卷积?非常感谢帮助的人。我觉得这令人困惑,我在网上找不到太多的帮助。它大多被解释得很糟糕,或者被认为是“已知的”。

EN

回答 1

Stack Overflow用户

发布于 2019-07-13 11:50:40

你是对的,三角洲和重量不会有相同的深度。但是滤波器的数目等于三角形的深度。我的意思是,您可以有一个大小的过滤器(5x5x2)和大小的三角形(20x20x4),但是这里的问题是,实际上您将有四个过滤器。您可以通过构建一个小型CNN来检查这一点,除非此条件为真,否则您将看到forwrad通行证无效。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42588047

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档