【发布时间】:2023-04-11 08:54:01
【问题描述】:
标准的监督分类设置:我们有一堆样本,每个样本都带有N 标签中的正确标签。我们构建一个具有 N 个输出的 NN,用 softmax 将它们转换为概率,损失是每个 NN 输出和相应的真实标签之间的平均值 cross-entropy,表示为 1-hot 向量,真实标签中带有 1 和0 其他地方。然后我们通过遵循它的梯度来优化这个损失。分类误差仅用于衡量我们的模型质量。
但是,我知道在执行policy gradient 时我们可以使用likelihood ratio trick,而我们不再需要使用cross-entropy!我们的损失只是tf.gather与正确标签对应的NN输出。例如。 this solution of OpenAI gym CartPole。
为什么我们不能在进行监督学习时使用相同的技巧?我在想我们使用cross-entropy 的原因是因为它是可微的,但显然tf.gather 是differentiable as well。
我的意思是 - 如果我们根据分类错误来衡量自己,并且我们可以优化分类错误,因为它是可微的,那么优化分类错误而不是这个奇怪的 cross-entropy 代理不是更好吗?
【问题讨论】:
标签: tensorflow neural-network gradient-descent reinforcement-learning