美文网首页
强化学习核心loss

强化学习核心loss

作者: VanJordan | 来源:发表于2019-01-10 14:29 被阅读5次
self.reward_loss = tf.contrib.seq2seq.sequence_loss(
      decoder_outputs_pretrain,
      self._target_batch,
      self._dec_padding_mask,
      average_across_timesteps=False,
      average_across_batch=False) * self.reward
  • 如果是只知道batch里面句子的长度那么可以使用tf.sequence_mask()来获得上述的padding_mask

tf.sequence_mask(
lengths,
maxlen=None,
dtype=tf.bool,
name=None
)

  • 例子:
tf.sequence_mask([1, 3, 2], 5)  # [[True, False, False, False, False],
                                #  [True, True, True, False, False],
                                #  [True, True, False, False, False]]

tf.sequence_mask([[1, 3],[2,0]])  # [[[True, False, False],
                                  #   [True, True, True]],
                                  #  [[True, True, False],
                                  #   [False, False, False]]]

相关文章

网友评论

      本文标题:强化学习核心loss

      本文链接:https://www.haomeiwen.com/subject/yykarqtx.html