目录
Critic作为Q函数,与actor关联,输入状态,输出各种行为的得分
从已有的样本集中用TD or MC搜集信息,统计当前agent的每个s中每个action的价值,更新agent:用s中最有价值的a作为agent的输出
学习Critic:输入一个状态,输出各种行为的评价,让这个评价与reward相关(相关的方式有TD or MC)
网络估计Q的时候有很高的方差,选择最高的,就会高估某个action的价值,而且这个高估的action会让网络输出变差
为什么这么改——让网络输出修正更灵活:不用采样每个action
给Q网络加噪音,再与环境互动,这比之前在action上加noise更一致
Qvalue是一个action的评估概率分布而不仅仅是一个值
如果action是连续的,那么怎么求action的值让Q(s,a)最大?
典型为Q-learning算法,计算下一状态的预期收益时使用了max操作,直接选择最优动作,而当前policy并不一定能选择到最优动作,因此这里生成样本的policy和学习时的policy不同,为off-policy算法。
Critic评判一个actor面对不同s时的得分
借助reward函数的计算结果,但更专注于行为本身的意义
评判一个行为的在一个状态下的得分的MC和TD方案
TD方案综合了历史信息,更加符合行为本身
Critic作为Q函数,与actor关联,输入状态,输出各种行为的得分
从已有的样本集中用TD or MC搜集信息,统计当前agent的每个s中每个action的价值,更新agent:用s中最有价值的a作为agent的输出
学习Critic:输入一个状态,输出各种行为的评价,让这个评价与reward相关(相关的方式有TD or MC)
更新后的Critic得出action时的技巧
学习Critic的数据来源的技巧
基本算法步骤
用Q计算action(epsilon greedy)
用action计算reward
保存到buffer
更新Q函数
Q value总是被高估
网络估计Q的时候有很高的方差,选择最高的,就会高估某个action的价值,而且这个高估的action会让网络输出变差
执行者与决策者的分离——DQN
修改网络结构——Dueling DQN
为什么这么改——让网络输出修正更灵活:不用采样每个action
和=0,那么网络倾向于修改V
增加表现的不好的action样本的权重
MC+TD
给Q网络加噪音,再与环境互动,这比之前在action上加noise更一致
Qvalue是一个action的评估概率分布而不仅仅是一个值
分布方差大,均值相同,评判风险
综合=rainbow
连续的问题
如果action是连续的,那么怎么求action的值让Q(s,a)最大?
Qlearning 做机械手臂