原文:https://www.cnblogs.com/Twobox/p/16791412.html
熵熵:表述一个概率分布的不确定性 。例如一个不倒翁和一个魔方抛到地上,看他们平稳后状态 。很明显,魔方可能有6种状态,而不倒翁很大可能就一个状态,那么我们说在这种情况下,不倒翁的确定性高于魔方 。也就是魔方的熵大于另外一个 。那么我看表达式:
\(H(p)=-\sum_i^n P_i logP_i\)
![Maximum Entropy Population-Based Training for Zero-Shot Human-AI Coordination](http://img.zhejianglong.com/231018/1139454U1-0.png)
文章插图
![Maximum Entropy Population-Based Training for Zero-Shot Human-AI Coordination](http://img.zhejianglong.com/231018/1139456391-1.png)
文章插图
很明显,当p的概率是0或1时 , 没有不确定性,熵值为0 。当为0.5时,熵最大 , 最不确定 。
相对熵https://zhuanlan.zhihu.com/p/372835186zui
两个分布相似度的一种度量
定义:
![Maximum Entropy Population-Based Training for Zero-Shot Human-AI Coordination](http://img.zhejianglong.com/231018/1139453936-2.png)
文章插图
性质:
D(P||Q) >= 0,当 P=Q时 , D(P||Q)=0;
Maximum Entropy RLhttps://zhuanlan.zhihu.com/p/444441890
名字很长,但是实际很简单 。
![Maximum Entropy Population-Based Training for Zero-Shot Human-AI Coordination](http://img.zhejianglong.com/231018/1139456156-3.png)
文章插图
1、加上这个实际体现是什么?2、有什么好处?
一般来说 , 我们将state输入神经网络后,输出的action是分布,即每个动作的概率值 。例如 向左0.8 向右0.1 开火0.1 。我们具体执行那个动作是通过抽样来选择的 。
刚才我们说到,熵是衡量一个概率分布的不确定性 , 各变量概率越相近,熵值越大 。例如上述例子,当p为0.5时候,熵最大 。也就是说,所谓最大熵目标,也就是希望各动作的概率尽可能的小 。换句话说 , 希望获得高奖励的同时,动作的可选择性尽可能多 。
![Maximum Entropy Population-Based Training for Zero-Shot Human-AI Coordination](http://img.zhejianglong.com/231018/1139454605-4.png)
文章插图
如图,上面的路线更短,传统RL方法会学习到向上,而最大熵RL则都能够学习到 。说白了就是增加应对不同情况的鲁棒性!
MEP背景
![Maximum Entropy Population-Based Training for Zero-Shot Human-AI Coordination](http://img.zhejianglong.com/231018/1139454W9-5.png)
文章插图
强化学习在对抗人类方面取得了很多成功,例如 、刀塔、星际争霸等 。但是在合作协作方面都有待进展 。一般Agent是通过自博弈,例如 , 来进行训练 。那么造成了这么一个问题:只对特定的对手策略起作用,当换**的时候时候,因为没见过,很大可能就傻了,啥也不是 。
论文中有个形象的例子 , 我们来看下:
![Maximum Entropy Population-Based Training for Zero-Shot Human-AI Coordination](http://img.zhejianglong.com/231018/1139451D1-6.png)
文章插图
一个相互协作的烹饪游戏,2玩家,下面红色框里是洋葱、左边橙色框里是盘子、上面蓝色框里是烹饪台,中间一条和周围一圈是褐色的是桌面 。游戏目标很见到那 , 首先将下面3个洋葱放到上面烹饪台上,等烹饪时间结束后,再用左边的盘子装盘,送到最右边的出口 。
那么传统自博弈将出现下面这种情况:一个人在下面不停的送,上面不停的接,并且他只送一个台面 。因为这样整体奖励是最高的 。但是这时候下面那个换成一个人,并且就不放洋葱到那个台面,这时候上面那个Agent就蒙了 。显然 , 最直接的原因,就是之前训练的机器人没有学习到伙伴的其他情况 。
![Maximum Entropy Population-Based Training for Zero-Shot Human-AI Coordination](http://img.zhejianglong.com/231018/1139451228-7.png)
文章插图
MEP那么本文的思想很简单,那不是见识少吗,那我就先训练一大堆不同的策略的伙伴,然后让我们的Agent和这些伙伴协作训练就行了 。梳理下就是 1、先训练一大堆不同策略的伙伴 2、Agent和这些伙伴协作训练
PD目标那么我们要先训练出来的这个群里 , 我们真对其2个部分进行优化 。首先是当中的每个个体,使用最大熵奖励,鼓励每个个体自身有exploratory and multi-modal 。也说就是其自身尽可能有不同的操作 。其次是对于整个群里而言,互相之间尽可能差别大 。那么可以用KL散度作为目标的另一部分 。数学形式如下:
![Maximum Entropy Population-Based Training for Zero-Shot Human-AI Coordination](http://img.zhejianglong.com/231018/1139453615-8.png)
文章插图
细看很简单,就是每个个体的熵值求平均、每俩之间的相对熵求平均 。看公式很明显,这个算法的时间复杂度为\(O(n^2)\),\(n\)为种群的个体数 。对此,提出另一个替代目标PE,该文章通过数学证明,证明PE为PD的下界 , 即PD>=PE 。
![Maximum Entropy Population-Based Training for Zero-Shot Human-AI Coordination](http://img.zhejianglong.com/231018/113945G05-9.png)
文章插图
PE目标
![Maximum Entropy Population-Based Training for Zero-Shot Human-AI Coordination](https://www.huyubaike.com//bbsmax.ikafan.com/static/L3Byb3h5L2h0dHBzL2ltZzIwMjIuY25ibG9ncy5jb20vYmxvZy8xMTE4MzY5LzIwMjIxMC8xMTE4MzY5LTIwMjIxMDE0MTM1MzQ0ODAzLTc3MTM1NjMwMi5wbmc=.jpg)