首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sampled_softmax_loss没有减少,而sequence_loss_by_example减少了

sampled_softmax_loss没有减少,而sequence_loss_by_example减少了
EN

Stack Overflow用户
提问于 2016-12-13 16:31:56
回答 1查看 55关注 0票数 0

我正在训练一个LSTM,并使用sampled_softmax_loss来计算每个时代之后的损失(这么多文档)。我还计算了与sequence_loss_by_example同时保持的集合上的困惑.

损失在前几个时期减少--从1到2急剧下降.然后,它只是挂在相同的值附近(有时更少;有时更多)。另一方面,困惑确实在不断地减少。

为什么在困惑继续下降的同时,损失会停止减少?我预计两人都会持续下降。

代码如下所示:

代码语言:javascript
复制
total_steps = 0
total_cost = 0.
for batch in train_epoch:
  total_steps += num_steps
  loss = tf.nn.sampled_softmax_loss(...)
  cost = tf.reduce_sum(loss) / batch_size
  total_cost += cost
  ...
  optimizer.apply_gradients(tf.gradients(cost, vars),...)
print("average loss = {}".format(total_cost / total_steps))

total_steps = 0
total_xentropy = 0.
for batch in valid_epoch:
  total_steps += num_steps
  loss = tf.nn.seq2seq.sequence_loss_by_example(...)
  total_xentropy += tf.reduce_sum(loss) / batch_size
print("perplexity = {}".format(np.exp(total_xentropy / total_steps))
EN

回答 1

Stack Overflow用户

发布于 2017-01-17 04:10:42

这种观察到的行为是通过降低学习率来解决的。在这一变化之后,训练的损失和验证的困惑(大部分)是同步的。

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

https://stackoverflow.com/questions/41126032

复制
相关文章

相似问题

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