【发布时间】:2018-12-04 13:08:23
【问题描述】:
这个问题来自于观看 Google I/O 18 上有关 TensorFlow 和强化学习的以下视频:https://www.youtube.com/watch?v=t1A3NTttvBA
他们在这里训练了一个非常简单的强化学习算法来玩乒乓球游戏。
在他们使用的幻灯片中,损失是这样定义的(大约 @ 11m 25s):
loss = -R(sampled_actions * log(action_probabilities))
他们进一步显示了以下代码(大约 @ 20m 26s):
# loss
cross_entropies = tf.losses.softmax_cross_entropy(
onehot_labels=tf.one_hot(actions, 3), logits=Ylogits)
loss = tf.reduce_sum(rewards * cross_entropies)
# training operation
optimizer = tf.train.RMSPropOptimizer(learning_rate=0.001, decay=0.99)
train_op = optimizer.minimize(loss)
现在我的问题是这样的;他们使用 +1 表示获胜,使用 -1 表示失败作为奖励。在提供的代码中,任何乘以负奖励的交叉熵损失都会非常低?如果训练操作是使用优化器来最小化损失,那么算法被训练为损失?
或者我缺少一些基本的东西(可能是因为我的数学技能非常有限)
【问题讨论】:
标签: python tensorflow reinforcement-learning