首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何训练和更新三维滤波器的权值

如何训练和更新三维滤波器的权值
EN

Stack Overflow用户
提问于 2019-08-14 11:36:47
回答 1查看 199关注 0票数 0

我在训练CNN时遇到了一些问题:

例如,3D数据(宽度、高度、深度):

输入6x6x3,1核心3x3x3,输出= 4x4x1 =>池: 2x2x1

卷积示例图像

和其他导师只为2D (没有深度)向calc解释权重和输入:

输入*二维权重的output=deltas

过滤器* out =输入增量

,但是我如何计算3D过滤器的权重增量呢?

I必须将每个输入乘以输出,如下所示?

FilterLayer1Delta = OutputDelta * InputLayer1

FilterLayer2Delta = OutputDelta * InputLayer2

FilterLayer3Delta = OutputDelta * InputLayer3

其中:

FilterLayerNDelta是当前过滤器层的增量。

InputLayerN是当前滤波器层的输入图像。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-15 04:07:42

这不是一个3d过滤器,这是一个标准的2d过滤器。3d过滤器看起来像这样:https://i.imgur.com/jriyCTU.png?1 (橙色框)。这是一个常见的误解。2D卷积实际上是一组滤波器(用深度表示),每个滤波器的深度等于输入层的深度(也称为通道)。

但是,我认为您想问的是如何计算每个过滤器的最终值。我已经在ai.stackexhange上回答了这样的问题,参见这里的链接:https://ai.stackexchange.com/a/13591/26726

本质上,你把滤波器的每个通道与特定位置的对应输入通道相乘,然后把它们相加,得到一个值,然后你把每个通道的所有输出值和在输出位置的每个值相加,得到特定卷积层中特定滤波器在那个位置的最终值。

编辑:

这是一个向前传球的图像。目前,我正致力于创建反向传递(反向支持)可视化,只是将其用作占位符。

编辑:

下面是向后传递的图像,为输出分配随机梯度,并向后传播以查找过滤器1通道1中每个权重的梯度:

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

https://stackoverflow.com/questions/57493929

复制
相关文章

相似问题

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