Actor-Critic思想:
实做的缺点是需要estimate两个network,一个Q,一个V,估测不准的风险变为两倍。
Advantage Actor-Critic(A2C)思想:
Q function的意思就是在状态st时采取动作at得到的reward和跳到下一状态st+1的期望,为了考虑到随机性,所以加上期望。但如果把期望拿掉,直接拿r和V替换Q也是可以的。这样的好处是你只需要 estimate一个network;坏处是你引入了一个随机的东西,r是有随机性的,但随机性会小于G,所以相对比较合理。
整体的流程为:初始的和环境做互动,用TD或MC学习V函数,再用公式去update得到新的,去和环境做互动,循环往复。
实施的时候会用到的tips:
- 要estimate的网络有两个,一个V,一个actor。两个网络共享某些层。
- 需要探索的机制。输出有限制,希望不同的action被采用的机率平均一些。
Asynchronous Advantage Actor-Critic(A3C) 思想:
A3C的精神就是同时开很多个worker,就像影分身,这些影分身会把所有的经验集合在一起。
一开始有一个global的network,开很多个worker,每一个worker可能就用一个CPU去跑,每一个worker工作前会把global network的参数copy过来,接下来就会和环境去做互动,那每一个跟环境互动的时候会收集到比较多样的data,互动完之后得到gradient,拿gradient去update global network的参数。要注意的是:所以的actor都是平行跑的,每一个actor各做各的,做完就把参数传回去。
Pathwise Derivative Policy Gradient
一般的Actor-Critic中actor只知道现在的行为是好还是不好,但是这个方法会直接告诉actor采取什么行为才是好的,critic会引导actor做出action。
从Q-Learning的观点来看,之前Q-Learning考虑continuous问题时并不容易,可以用actor来解。
整体思想:
怎么在Q- Learning算法上做更改?