Policy Gradient【强化学习的数学原理】

目录

[policy 与表格方式的区别:](#policy 与表格方式的区别:)

[metric to define optimal policies](#metric to define optimal policies)

[1. weighted averge](#1. weighted averge)

[2. the average reward](#2. the average reward)

问题:

梯度计算

如何理解policy-gradient?


policy gradient与表格方式(value based)的区别:

policy 通过参数化的函数来表示:

函数近似与表格方式的区别:

  1. 在状态空间很大时,相比表格形式会更高效

  2. 对最优策略的定义:

  • 表格形式:能够最大化每个状态值的策略是最优策略;

  • 函数形式:最大化certain scalar metrics的是最优策略;

  1. access action的概率:
  • 查表

  • 计算给定参数和函数结构下的值

  1. 更新policy:
  • 直接更改表中的值

  • 通过改变参数来更改

metric to define optimal policies

1. weighted averge

.

d(s)是一个概率分布。

. where

如何选择分布d?

  1. d独立与policy : 梯度更容易计算。这种情况下d -> , as

如何选择

  • 将所有状态看作同等重要的,

  • 只对特殊状态感兴趣。一些任务总是从相同的状态开始,所有我们只关心从 开始的长期:

  1. d 依赖于policy

, 其中P是状态转移矩阵。

如果一个状态经常被访问,那么它会产生更多的权重。相反,则是更少的权重

2. the average reward

weighted average one-step reward 或者average reward:

. 从状态s开始的one-step immediate reward

  • 从某个状态出发,跑无穷多步,reward的平均是:
  1. basic idea of policy gradient methods:
  • 这些metrics都是的函数,是由参数化的,这些metrics是的函数。

  • 通过最大化metrics来寻找最优的值;

  • 直觉上, 是短视的(只考虑即时reward),考虑了所有step的总共reward;

  • 但是,这两个metrics是彼此相等的(在discounted case中):

问题:

  • 这个metric与之前的关系?

clarify and understand this metric:

and

梯度计算

将其转换为期望的形式,就可以通过采样的方式来求解梯度:

如何转换得到的?

其中 要求是>0的,所以 采用softmax函数的形式,(对应网络中的激活层);策略是stochastic的且探索性的。

那么如果action是无穷多个怎么办?

gradient-ascent algorithm(REINFORCE)

采样:

也是未知的,可以通过采样来近似(MonteCarlo等)

如何来采样?

  • how to sample S? , distribution d is a long-run hehavior under

  • how to sample A ? , should be sampled following at

so , policy gradient is on-policy.

REINFORCE是online还是offline的?

如何理解policy-gradient?

其中

  • , 选择的概率被加强

可以很好的平衡exploration and exploitation

正比于分子,算法会倾向于加强有更大值的action

反比于分母,会探索有更小概率被选择的action

相关推荐
MM_MS2 小时前
Halcon变量控制类型、数据类型转换、字符串格式化、元组操作
开发语言·人工智能·深度学习·算法·目标检测·计算机视觉·视觉检测
独自破碎E2 小时前
【二分法】寻找峰值
算法
mit6.8243 小时前
位运算|拆分贪心
算法
ghie90903 小时前
基于MATLAB的TLBO算法优化实现与改进
开发语言·算法·matlab
恋爱绝缘体13 小时前
2020重学C++重构你的C++知识体系
java·开发语言·c++·算法·junit
wuk9983 小时前
VSC优化算法MATLAB实现
开发语言·算法·matlab
Z1Jxxx3 小时前
加密算法加密算法
开发语言·c++·算法
乌萨奇也要立志学C++4 小时前
【洛谷】递归初阶 三道经典递归算法题(汉诺塔 / 占卜 DIY/FBI 树)详解
数据结构·c++·算法
vyuvyucd4 小时前
C++引用:高效编程的别名利器
算法
鱼跃鹰飞4 小时前
Leetcode1891:割绳子
数据结构·算法