目录
强化学习基本
概率论知识回顾
随机变量 :一个变量,其值取决于随机事件的结果。大写字母X代表随机变量。小写字母x表示一个观测值
概率密度函数(PDF) :意味着随机变量在某个确定的取值点附近取值的可能性。对于连续分布,随机变量的概率密度函数积分等于1,如果是离散分布,随机变量的离散概率值求和等于1。
期望 :对于连续分布与离散分布的变量,其期望表达式分别为:
随机抽样 :在python中,可以通过numpy库中的函数实现快速抽样:
from numpy.random import choice
samples = choice(['R','G','B'],size = 100,p = [0.2,0.5,0.3])
print(samples)
专用术语
- 状态(State) 和 动作(action)

- 策略函数π(Policy) 与 奖励(Reward):

- 状态转移(State transition):
old state -- action --> new state,状态转移可以是随机的,随机性来自于环境(environment) - Agent与环境:

- Return(U) & Reward(R):return是未来回报的加和

- 理解价值函数(Value Functions):
- 动作价值函数:对于策略π,动作价值函数评估了当agent处在状态s时,去执行动作a的优劣

- 状态价值函数(State - value Function):对于给定的策略π,状态价值函数可以评估当前的状态是不是好的,而如果将状态s视为随机变量,对状态价值函数求期望,便可以评估策略函数π的优劣性(π越好则状态价值函数的期望值越高)

- 动作价值函数:对于策略π,动作价值函数评估了当agent处在状态s时,去执行动作a的优劣
价值学习Deep Q-Network(DQN)
如何理解最优价值函数?
Q*函数可以预见,当智能体处于状态s时,执行动作a是否是利于最终取胜的
DQN方法就是一种近似求解Q函数的方法,使用神经网络Q(s,a;w)去近似Q(s,a)
使用DQN来play game

TD算法(Temporal Difference Learning)
算法流程(举例):
- 如果使用函数模型Q(w)来评估执行一个动作所需要的时间
- 在动作执行前首先做出预测
q = Q(w) - 命令Agent实际地完成这一动作,得到一次真实的时间
y - 并由此得到误差 L=0.5×(q-y)2
- 进一步,误差L对w求偏导,并使用梯度下降算法迭代w值。α为学习率:


但是其实也可以不必要求Agent执行完整个动作,在动作的执行中,Agent以及走过的路程可以认为是真实的时间,可以对这一信息加以利用
将TD算法应用于DQN
前文的“动作执行”情景下,从时间角度来看:

本文深入探讨强化学习的基础概念,包括概率论基础知识回顾、强化学习的基本元素如状态与动作等,详细解析价值学习与策略学习的核心原理。介绍了Deep Q-Network (DQN) 和 Temporal Difference Learning (TD) 等关键算法,以及策略梯度方法。


最低0.47元/天 解锁文章
1677

被折叠的 条评论
为什么被折叠?



