![深度强化学习实践(原书第2版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/297/40216297/b_40216297.jpg)
上QQ阅读APP看书,第一时间看更新
4.5 交叉熵方法的理论背景
本节是可选的,适用于对该方法的原理感兴趣的读者。如果愿意,你可以参考有关交叉熵方法的原始论文(见本节末尾)。
交叉熵方法的基础建立在重要性采样定理上,该定理为:
![095-03](https://epubservercos.yuewen.com/10FB3F/20903674308617306/epubprivate/OEBPS/Images/095-03.jpg?sign=1739185747-UQXZ1WFhFduern0eU9gKjEe9Z3qIv0Dh-0-60891d4d642342dcf5d0722d34644795)
在RL场景下,H(x)是某种x策略获得的奖励值,而p(x)是所有可能策略的概率分布。我们不想通过搜索所有可能的策略来最大化奖励,相反,我们想找到一种通过q(x)来近似p(x)H(x)的方法,使它们之间的距离最小化。两个概率分布之间的距离由Kullback-Leibler(KL)散度计算:
![096-01](https://epubservercos.yuewen.com/10FB3F/20903674308617306/epubprivate/OEBPS/Images/096-01.jpg?sign=1739185747-JhG3QYkrDiDR8OXMbliXuP3NgxQqXRrd-0-5619ce2d882c883be7bf3e3d9daa358c)
KL中的第一项称为熵,它并不依赖于p2(x),所以可以在最小化的时候省略。第二项称为交叉熵,它是深度学习中非常常见的优化目标。
将两个公式组合起来,可以得到一个迭代算法,它从q0(x)=p(x)开始,每一步都在提升。这是用p(x)H(x)近似后的一次更新:
![096-02](https://epubservercos.yuewen.com/10FB3F/20903674308617306/epubprivate/OEBPS/Images/096-02.jpg?sign=1739185747-3G4AHO0RSpLECeQo7v1MDISPxjbpwY8N-0-5adde97e2dc55fd192be705a83b2550a)
这是一种通用的交叉熵方法,在RL场景下可以大大地简化。首先,将H(x)用一个指示函数替换,当片段的奖励大于阈值时为1,否则为0。然后,策略更新就变成了这样:
![096-03](https://epubservercos.yuewen.com/10FB3F/20903674308617306/epubprivate/OEBPS/Images/096-03.jpg?sign=1739185747-swfQRFLgbdTvC0CtZPyBp7ohravh6jFc-0-c506676abb9e91ad05c8864de2cbbc22)
严格来说,前面的公式还少了归一化项,但实际上即使没有它也是有效的。所以这个方法十分明确:用当前的策略采样片段(从一个随机的初始策略开始),然后用成功的样本和策略来最小化负对数似然。
Dirk P. Kroese写了一本书专门介绍这个方法。该方法的简短描述参见他的论文“Cross-Entropy Method”(https://people.smp.uq.edu.au/DirkKroese/ps/eormsCE.pdf)。