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

相关推荐
前端摸鱼匠2 小时前
【AI大模型春招面试题11】什么是模型的“涌现能力”(Emergent Ability)?出现条件是什么?
人工智能·算法·ai·自然语言处理·面试·职场和发展
MORE_773 小时前
leecode-合并区间-贪心算法
算法·贪心算法
2401_873204653 小时前
分布式系统安全通信
开发语言·c++·算法
sw1213894 小时前
C++中的代理模式实战
开发语言·c++·算法
ballball~~5 小时前
ISP-CCM(Color Correction Matrix)
图像处理·数码相机·算法
Sunshine for you5 小时前
实时操作系统中的C++
开发语言·c++·算法
中科院提名者5 小时前
BPE 算法的硬核拆解——理解词表(Vocabulary)是如何从零训练出来的,以及字符串是如何被切碎的
算法
「QT(C++)开发工程师」6 小时前
C++11三大核心特性深度解析:类型特征、时间库与原子操作
java·c++·算法
乐分启航6 小时前
SliMamba:十余K参数量刷新SOTA!高光谱分类的“降维打击“来了
java·人工智能·深度学习·算法·机器学习·分类·数据挖掘
你真是饿了7 小时前
算法专题二:滑动窗口
算法