我在训练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是当前滤波器层的输入图像。
发布于 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中每个权重的梯度:

https://stackoverflow.com/questions/57493929
复制相似问题