【RL从入门到放弃】【十五】
1、基于策略搜索的RL
之前介绍的都是基于值函数的RL,通过神经网络来毕竟值函数,然后通过greedy策略或者贪婪策略去选择action,基于值函数的RL存在一个缺陷,那就是动作空间必须是有限的且是离散的,当动作空间是连续的或者无穷大时便无法处理。此时基于策略搜索的RL就开始起到作用了
实际上觉得上面这个分类有点怪怪的
在不同的情形下,累积回报的期望是否最大的衡量方式是不同的
分类
其中应该还有逆强化学习,但是这个基本上没有被划分进去,而且讲解的也都是理论知识。
2、策略梯度
策略梯度的推导可以从似然率和重要性采样的角度来推导
2.1似然率
存疑:
最后一步的推理感觉很奇怪:
前面那个概率难道就省去了吗?为什么变成这个样子了呢?
为什么可以使用经验平均来获取呢?
2.2重要性采样
这里的第一个问题是:
这里是如何实现的呢?
第二个问题这里是如何推导出来的:
似然率策略梯度
为什么轨迹的似然率可以写成上面这个样子呢?
为什么上面这里会多上一个求和的操作?
证明:
除了上⾯介绍的增加基线的⽅法外,修改回报函数也可以进⼀步减⼩⽅差。
为了使方差最小,可以利用前面的方法求解相应的基线b
3、策略梯度实例
设计一个这样的softmax策略,这里我比较疑惑的是概率的计算使用的输出的f0,f1,为什么不是softmax之后的概率值呢?
neg_log_prob = tf.nn.sparse_softmax_cross_entropy_with_logits(logits=all_act, labels=self.tf_acts)
所以上面这部分是交叉熵,下面是计算loss
loss = tf.reduce_mean(neg_log_prob * self.tf_vt) # reward guided loss
我们希望的loss值最大。