首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >求渐变时的交叉扭结

求渐变时的交叉扭结
EN

Stack Overflow用户
提问于 2018-05-11 09:27:13
回答 1查看 40关注 0票数 2

我在处理梯度检验中的一个数值问题。

我不确定是否存在cs231n (http://cs231n.github.io/neural-networks-3/#gradcheck)中描述的“交叉扭结”。

在cs231n的描述中,检查是否存在交叉扭结的一种方法是使用max函数。

请注意,在评估损失时,有可能知道是否交叉了扭结。这可以通过跟踪所有“胜利者”的身份来实现,其函数为max(x,y);也就是说,在向前传球时是x或y更高。如果在计算f(x+h)和f(x−h)时,至少有一个胜利者的身份发生变化,那么就会交叉一个扭结,数值梯度将不精确。

什么是“身份”?

梯度检查中的"x“或"y”是什么?

有人能通过提供一个具体的例子来帮助我理解这一点吗?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2022-08-17 10:39:58

要回答你的第一个问题,这里的“身份”意味着在评估max(x,y)时,跟踪(x,y)中的哪一个是“赢家”。

现在来解释第二部分:

通过保持身份的轨迹,“如果至少一个胜利者的身份发生了变化……”=>意思是,在评估了梯度之后,如果“胜利者”变量发生了变化,我们就会知道“扭结是交叉的”。

示例:假设我们有max(0,x=-0.1)。前传中的“赢家”应该是'0‘。现在,当计算f(x+h)时(假设h=0.2)

f(x+h) = max(0,-0.1+0.2) = 0.1

注意,这里的“胜利者”在计算梯度时发生了变化(以前是0,现在是"x+h“)。

因此,我们会知道扭结是交叉的。

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

https://stackoverflow.com/questions/50289194

复制
相关文章

相似问题

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