李宏毅深度强化学习(国语)课程(2018) 笔记(七)Sparce Reward

 李宏毅深度强化学习(国语)课程(2018)

 李宏毅深度强化学习(国语)课程(2018)_哔哩哔哩_bilibili

        Reward Shaping:环境有一个固定的Reward,但人类为了引导Agent,让他学出来的结果是要的样子,刻意的去设计的Reward。

        方法一:Curiosity

        引入新函数,ICM。论文(https://arxiv.org/pdf/1705.05363.pdf)

        ICM函数的全称为 Intrinsic curiosity module,是用来为actor生成好奇感的函数,网络结构如下。

        ICM函数将st,at,st+1,作为输入,得到一种新的reward ri,actor的目标是最大化两个部分的reward,即r,ri。可以理解为,新的模型中,actor被鼓励基于好奇去采取不一样的行动,这样的好奇带来的行动可以给actor带来额外的收益。

         在这个模型中,两个网络network1 和 network2 是单独进行训练的。

        Network 1:将提取的st,at的特征作为输入,输出st+1的提取特征的估计。然后真实的st+1的提取特征用来与估计值比较,得到两者之间的差别。两者差别越大则reward ri越大,也就是说,模型鼓励actor去冒险。

        Network2::用来提取与action相关的有用特征,输入st,st+1的 ϕ值,输出估计的action ât, 如果估计的action和真实的action at 接近,则 ϕ可以用来提取有用的特征。

        注意:当没有network 2的时候,由network 1给出来的较大的reward意味着 st+1很难预测,模型会鼓励actor去冒这个险,但有的时候很难预测的这个state可能是一点都不重要的,因此需要引入network 2来进行重要性计算。

         方法二:Curriculum Learning:为机器的学习做规划

        Curriculum Learning的任务是为机器设计一套从简单到困难的课程计划。

        知道让agent从简单学起,但是还要知道如何给它设计课程,这时就可以用Reverse Curriculum Generation。

        1.假设sg是目标状态(完成任务的状态),先从sg附近找出一些点,让agent从这些地方出发,往sg靠近。

        2.到达sg后算出各点的reward。

        3.删掉reward最大(agent已经学会的,就没必要再学)的点和reward最小(目前还是萌新的agent觉得太难)的点。

        4.根据刚才删掉后剩下的点,继续寻找越远的点,再学习靠近。

        方法三:Hierarchical RL

        把一个大的任务,通过上层agent的不断分解,让下层的agent去完成子任务。

        例如,校长为了学校的建设,让教授每年发3篇期刊;而教授把实验规划做好后,就让下面的研究生去干活。

        注意1:如果上层agent一直弄一些很难的任务给下层agent,导致下层agent没办法完成,上层的agent就会得到负的reward。

        注意2:如果下层的agent到达一个错误的目标,那为了下层做过的action不被浪费掉,就把上层原来目标改为这个错误的目标。例如,原本校长要求教授发期刊,但是教授后来经过探索却变成YouTubers,那校长就只能把原来的目标改成要求教授成为YouTubers。

        再举例子,紫色点代表下层的agent,粉色点代表上层agent的愿景,黄色点代表目的地。这个任务中,把紫色点到目的地(黄色点)的路线,拆成4个子任务,让下层的agent(紫色点)跟着上层agent的愿景(粉色点)走,最终到达目的地(黄色点)。

猜你喜欢

转载自blog.csdn.net/qq_22749225/article/details/125615033