李宏毅深度强化学习(国语)课程(2018) 笔记(四)Q-learning (Advanced Tips)

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

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

        Tip 1 Double DQN

        原始DQN中,Q value往往是被高估的。Double DQN 的估值一般和实际值相差不多。

DQN中,Target Q value值很容易一不小心就被设置的太高。

        Double DQN里面,有两个Q network,第一个network决定哪一个action的Q value 最大,决定了action以后,实际的Q value是用 Q'算出来的。举例说明,假设第一个高估了自己选出来的action,没有关系,只要第二个Q'没有高估,就还是正常的。反之,如果Q'高估了action的值,那也没关系,只要Q不选那个action出来就可以了。

        实际操作过程中,会拿实际操作的Q去选action ,然后拿target 不动的network去算value。

        Tip 2 Dueling DQN

        Dueling DQN改了DQN network的架构。

        update V(s)的时候,不需要把所有的(s,a)都sample过,是一种比较efficient的方式把Q value 估测出来。对A做一些constraint,迫使去更新V。

         实际操作中如下,normalization。

        其他的技巧:

        TD error比较大的data ,说明没有被train好的,所以要给出比较大的几率被sample到,多train几次。Prioritized Replay不仅仅改变了sample data的distribution,还要跟着更改train data的process。

        把noise加到参数上,比加到action上更合理。在同一场游戏里面,noise固定后,同一个state 一般是同一个动作,而不是同一个state,会做出不同的action。 

        Reward会有Distribution,取mean就得到了Q value,不同的Distribution或许有同样的mean,如果用expected Q value代替Reward,有一些information是会loss的。

        直接output Reward的Distribution,即在某一个state,采取某个action,reward落在某个分值区间的几率。红、橙、蓝分别代表采取a1、a2、a3所得到的Reward的Distribution。例如,在某些应用中,在两个mean差不多的情况下,或许某一个variance比较大,代表风险比较高,可以规避风险高的。

猜你喜欢

转载自blog.csdn.net/qq_22749225/article/details/125536547
今日推荐