首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何计算RNN/LSTM中的损耗?

如何计算RNN/LSTM中的损耗?
EN

Stack Overflow用户
提问于 2018-03-27 04:35:11
回答 2查看 4.3K关注 0票数 4

我正在通过练习时间序列训练数据来学习LSTM的工作原理(输入是一个特性列表,输出是一个标量)。在计算RNN/LSTM的损失时,我无法理解一个问题:

损失是如何计算的?它是在每次我给出nn新输入时计算的,还是通过所有给定的输入进行累加,然后被备份?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-03-27 05:33:36

答案不取决于神经网络模型。这取决于您对优化方法的选择。

如果使用批处理梯度下降,则整个训练集的损失平均。这对于神经网络来说往往是不切实际的,因为训练集太大,无法适应RAM,而且每一个优化步骤都要花费大量的时间。

在随机梯度下降中,计算每个新输入的损失。这种方法的问题是它很有噪音。

在小批量梯度下降,损失是平均的每一个新的小批-一个子样本的输入,一些小的固定大小。该方法的一些变化在实际应用中得到了广泛的应用。

所以,你的问题的答案取决于你选择的小批量大小。

(图片来源于这里)

票数 2
EN

Stack Overflow用户

发布于 2020-06-01 02:23:01

@seed答案是正确的。然而,在LSTM或任何RNN体系结构中,所有时间步骤中的每个实例的损失都是加在一起的。换句话说,您将拥有(L0@t0,L1@t1,.对于输入批次中的每个样本,in @tT)。对批处理中的每个实例分别添加这些损失。最后,平均每个输入实例的损失,以获得当前批的平均损失。

欲了解更多信息,请访问:https://stanford.edu/~shervine/teaching/cs-230/cheatsheet-recurrent-neural-networks

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

https://stackoverflow.com/questions/49504421

复制
相关文章

相似问题

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