1. 强化学习方法
1.1 动态规划法
动态规划方法是由Bellman 方程转化而来,通过修正Bellman 方程的规则,提高所期望值函数的近
似值。常用算法有两种:值迭代(Value Iteration)和策略迭代(Policy Iteration)(策略π、T 函
数和R函数已知)。
状态值函数更新:
Bellman最优方程:
值迭代是在保证算法收敛的情况下,缩短策略估计的过程,每次迭代只扫描(sweep)了每个状态一
次。而策略迭代算法包含了一个策略估计的过程,而策略估计则需要扫描所有的状态若干次,其中
巨大的计算量直接影响了策略迭代算法的效率。
动态规划方法通过反复扫描整个状态空间,对每个状态产生可能迁移的分布,然后利用每个状态的
迁移分布,计算出更新值,并更新该状态的估计值,所以计算量需求会随状态变量数目增加而呈指
数级增长,从而造成“维数灾”问题。
1.2 蒙特卡罗方法
蒙特卡罗方法(Monte Carlo methods:MC)是一种模型无关(model free)的,解决基于平均样本回
报的强化学习问题的学习方法。(它用于情节式任务(episode task),不需要知道环境状态转移概率
函数T和奖赏函数R,只需要智能体与环境从模拟交互过程中获得的状态、动作、奖赏的样本数据
序列,由此找出最优策略)。
MC算法的状态值函数更新规则为:
其中,Rt为t时刻的奖赏值,α为步长参数
1.3 时间差分学习方法
时间差分(Temporal-Difference,TD)学习方法是一种模型无关的算法,它是蒙特卡罗思想和动态
规划思想的结合,一方面可以直接从智能体的经验中学习,建立环境的动态信息模型,不必等到最
终输出结果产生之后,再修改历史经验,而是在学习过程中不断逐步修改。正因为这个特点使得
TD 方法处理离散序列有很大的优势。
2. 强化学习算法
到目前为止,研究者提出了很多强化学习算法,其中较有影响的有瞬时差分法(Temporal
Difference Algorithm)、Q-学习算法(Q-Learning Algorithm)、R-学习算法(R-Learning Algorithm)、
Sarsa算法、自适应评价启发算法(AHC)、分层强化学习(HRL)等等。其中,TD-算法和Q-学习算法
属于典型的模型无关法, 而Sarsa和Dyna-Q算法属于基于模型法。
2.1 顺时差分法TD
TD算法是Sutton 在1988 年提出的用于解决时间信度分配问题的著名方法。TD 方法能够有效的解
决强化学习问题中的暂态信用分配问题,可被用于评价值函数的预测。几乎所有强化学习算法中评
价值的预测法均可看作TD 方法的特例,以至于通常所指的强化学习实际上就是TD 类强化学习。
一步TD 算法,即TD (0) 算法,是一种自适应的策略迭代算法,又名自适应启发评价算法(Adaptive
Heuristic Critic,AHC)。所谓一步TD 算法,是指Agent 获得的瞬时报酬值仅回退一步,也就是说
只是修改了相邻状态的估计值。TD (0)的算法迭代公式为:
式中,β为学习率,V(st)为Agent在t时刻访问环境状态st估计的状态值函数,V(st+1)指Agent在t+1
时刻访问环境st+1估计的状态值函数,rt+1指Agent从状态st向状态st+1转移时获得的瞬间奖赏值。
学习开始时,首先初始化V值,然后Agent在st状态,根据当前决策确定动作at,得到经验知识和训
练例{st,at,st+1,rt+1};其次根据经验知识,依据上式修改状态值函数,当Agent访问目标状态时,
算法终止一次迭代循环。算法继续从初始状态开始新的迭代循环,直至学习结束。
TD 算法可扩充到TD(λ)算法,即Agent 获得的瞬时报酬值可回退任意步。TD ( λ)算法的收敛速度有
很大程度上的提高。其迭代公式为:
式中,e(s)定义为状态<