2017-02-01 28 views
-1

我的理解来计算深度学习前部的方式。现在,我想了解落后的部分。以X(2,2)为例。在位置X(2,2)向后可以计算如该图波纹管关于向后卷积层的深度学习

enter image description here

我的问题是,在哪里dE/dY(如dE/dY(1,1)dE/dY(1,2) ...)式中?如何在第一次迭代中计算它?

回答

2

SHORT ANSWER

这些术语是在滑动底部的最终膨胀;他们贡献了dE/dX(2,2)的总和。在你的第一个反向传播,你开始在结束工作向后(因此得名) - 和ÿ值是地面实况标签。非常计算它们。 :-)

长的答案

我会记住这在更抽象的,自然语言术语。我希望备用的解释能够帮助你看到大的情况,以及对数学进行整理。

你开始分配的权重,可能会或可能不会在所有与地面实况(标签)的培训。你盲目地前进,根据对这些权重的天真信仰在每一层进行预测。 Y(i,j)值是来自该信仰的最终元像素。

那么你在最后打的标签。你后退,调整每个重量。请注意,在最后一层,值是地面实况标签。

在每一层,你在数学处理两个因素:

  1. 如何离谱了这种预测?
  2. 如何很大程度上没有这个参数有助于实现这一预测?

您可以通过“off * weight * learning_rate”来调整X-Y权重。 当您完成第N层的操作后,您将备份到第N-1层并重复。

PROGRESSION

无论您初始化具有固定或随机值的权重(我一般推荐后者),你会发现那里真的不是在早期迭代很大的进展。由于这是对猜测权重的缓慢调整,需要几次迭代才能在最后一层获得一些有用的学习。在这一点上,第一层仍然无能为力。损失函数将在接近其初始值的一段时间内反弹。例如,使用GoogLeNet的图像识别功能,这次攻击持续了大约30个时期。

然后,终于,你在后面的各层一些有效的学习模式不够稳定,一些一致性渗滤于早期层。在这一点上,你会看到损失函数下降到“定向实验”水平。从那里,进展取决于问题的范例和质地有很多:有些人急剧下降,然后逐渐收敛;其他人则逐渐下降,几乎呈收敛的指数衰减;更复杂的拓扑结构在中期或早期阶段“得到应有的地位”时会有额外的急剧下降。

+0

谢谢修剪。我不认为'Y'是地面真相标签。卷积层的输出为'Y = conv(X,kernel)',或数学为'Y = W.X'。因此,应用链式法则'DE/DX = DE/DY X DY/DX = DE/DY X W',其中E是在最后一层损耗函数。为了计算'dE/dY',我认为我们需要再次应用链规则来表达它。但是在caffe工具中,我使用'diff'术语来看它。我不确定我的理解。你可以看到在https://1drv.ms/p/s!ArG9tn58GyvBge5DZXYiy3Wj39k4Ew和https://1drv.ms/p/s!ArG9tn58GyvBge5JDI_SkvbMBiMEiQ – user8264

+0

演讲我已经走过的历程。 :-)我的观点是,在第一层支撑物中,地面真值*就是预测值。此后,每一层通过应用链规则后的一个计算值,所以我们总是从以前的背托应用这些值。这是否清晰起来,或者我需要找到时间观看讲座和在我的脑海重新定义的符号? – Prune

+1

不,你说得对。我只是误解你的观点。我查看了卷积层源代码并用数学分析了它。让我们看看http://stackoverflow.com/questions/41995536/from-mathematics-equations-to-programming-of-convolution-in-caffe – user8264