首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >梯度下降公式

梯度下降公式
EN

Data Science用户
提问于 2019-08-17 18:59:08
回答 1查看 281关注 0票数 2

我遇到了一个有趣的关于神经网络基础的,以及他说第一章中的梯度下降公式:

梯度下降:对于每一层,根据规则w^l \rightarrow w^l-\frac{\eta}{m} \sum_x \delta^{x,l} (a^{x,l-1})^T更新权重

其中,w^ll层中的权重矩阵,x是特定训练示例的指标。

我不想重写这一章中的所有公式,但重要的第一部分是关于网络中任何权重的成本变化率的BP4方程:

\frac{\partial C}{\partial w^l_{jk}} = a^{l-1}_k \delta^l_j

我是不是遗漏了什么,或者第一个公式是不正确的?难道我们不应该用Hadamard产品来代替,像这样吗?

w^l \rightarrow w^l-\frac{\eta}{m} \sum_x \delta^{x,l} \odot a^{x,l-1}

谢谢你帮忙。

EN

回答 1

Data Science用户

回答已采纳

发布于 2019-08-20 16:22:20

您可以通过在这两种情况下显式地写下所得到的内容来查看结果。在更新规则中求和后,您想得到的是:

\sum_x \delta^{x,l} (a^{x,l-1})^T = \delta^{1,l} a^{1,l-1}+\delta^{2,l} a^{2,l-1}+...

它是通过文本中给出的形式得到的。

请记住,Hadamard积只能对相同维数的向量进行,并导致相同维数的另一个向量。我想你可以把\delta当作一个m维向量(m是训练例子的数目),用向量分量取它的Hadamard乘积,但是你最终会得到另一个m维向量。在这一点上,对x的总结变得毫无意义。您可以说“执行Hadamard积,然后对行进行求和”,这将给出上述结果。

编辑:

我将试图进一步澄清所给对象的尺寸。假设L层有j个神经元,1874-1层有k个神经元.这使得w^l成为一个(j x k)维矩阵。更新方程必须保留维数,因此右手边也必须是相同大小的矩阵。

现在,a^{(l-1)}是一个含有k组分的向量,对应于l-1层神经元的激活。同样,L层的误差有j个分量,每个神经元一个。

为了得到一个(j x k)矩阵,我们取这两个向量的外积,这就是方程中存在转置的原因。最后,我们对所有的训练样本进行求和,以完成计算。

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

https://datascience.stackexchange.com/questions/57726

复制
相关文章

相似问题

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