https://www.youtube.com/playlist?list=PL_iWQOsE6TfX7MaC6C3HcdOf1g337dlC9
本节介绍了强化学习的基本概念。强化学习是一种学习决策过程的方法,它使用数据来学习控制策略,而不是依靠手动设计。与监督学习不同,强化学习的数据并非标准监督型训练集,也没真实输出标签,只有奖励信号指示行为是否成功。
强化学习包括两个要素:一个数学形式化的决策学习框架,和一种从经历中学习决策和控制的方法。
与监督学习不同,强化学习的数据不满足iid假设,之前的动作会影响后续状态。强化学习也不需要真实输出标签,只知道成功与失败与获得的奖励。
强化学习将决策过程建模为代理与环境的交互:代理作出决策(动作),环境回应状态(观测)和奖励。此过程重复多次进行。
强化学习可应用于训练狗学习指令、训练机器人执行任务、运筹学问题如库存管理、游戏AI等。
例如用机器人学习把不同物体捡起来。机器人通过尝试不同姿态学习如何识别物体中心,选择合适握取点完成抓取。
强化学习也可应用于现实世界。例如通过机器人不断练习捡起不同物体,逐渐掌握更复杂技能,如近处物体需分离后单独抓取。
另外强化学习能高效管控交通,利用自动驾驶车辆动态调速来顺畅流量。
总之,强化学习通过环境交互学习决策,可解决各类实际问题,不限于游戏和机器人。
强化学习模拟决策过程为代理与环境的交互。
代理通过作出决策(动作)与环境交互,环境会根据动作给予观测(状态)和奖励。这一决策循环可定为有限时长,也可以长期进行。
如果训练狗学指令,其动作为肌肉收缩,观测为感知,奖励为主人给予或未给予零食。
如果训练机器人,其动作可能为电机扭矩,观测来源于传感器如摄像头,奖励为完成任务的程度,如跑步速度快则奖励高。
机器人通过拍摄图像学习抓取物体。图像与预测的XYZ坐标作为输入数据,标签为成功或失败。
这些数据会传递给强化学习算法,产生政策,并反馈给环境以获得新数据持续优化。
机器人通过大量练习不同物体抓取,自动掌握更复杂技巧,例如近处物体需分离后单独抓取。
它也能学习不同物体的差异,如软物应掐中部而非四周抓取等。
强化学习成功应用在自动驾驶调节交通流量。另外也被用来解决运筹学问题如库存管理。
顺序决定问题需要解决的主要问题包括:
学习奖励函数的示例。这被称为逆强化学习。
不同领域之间转移知识。有时称为转移学习。
Meta学习问题,即如何利用过去不同但相关任务的经验来解决新的任务。
预测并利用预测来行动。这通常称为基于模型的强化学习。
奖励从何而来?例如游戏里很明显,但如何训练机器人倒水呢?这需要深入的感知系统。
除奖励外,监督学习的其他形式包括:
从演示学习行为表示,直接复制观察到的行为或推断更详细的奖励函数。
观察世界了解因果结构,从而预测未来事件并选择行动。
利用其他任务的经验,如通过高中学习转到大学学习。
Metal学习使机器学习如何更快地掌握新任务。
总体来说,模仿学习、预测、转移学习以及利用不同形式的监督都对顺序决策问题的解决很重要。
强化学习的一个基本概念是“策略”,策略指代理作出决定(选择动作)的规则。
一个强化学习任务的目的是找到最好的策略,使代理能够最大限度地从环境中获取奖励。
强化学习的基本步骤如下:
初始化策略(随机或人工定义)
根据当前策略,代理与环境交互以获得数据(状态、动作、奖励)
使用数据更新策略参数,让策略更优化奖励
重复进行步骤2-3,策略越来越优化
常见的策略表示和学习方法包括:
价值表格(Value table):直接学习状态-动作值映射
函数逼近(Function approximation):使用神经网络等技术来拟合策略
Monte Carlo学习:使用回放样本直接学习策略
Temporal Difference学习:利用 timesteps 的差异来学习策略
随着探索次数增加,强化学习算法会逐步找到更优的策略。
强化学习是一种学习控制或者决策的方法,它通过环境交互来获得数据,而不是依靠监督学习标签。
强化学习模拟为代理与环境之间的动态交互:代理作出动作,环境返回状态和奖励。这整个过程重复。
学习的目标是找到最优策略,即选择动作的规则,能使代理从环境中获得最大奖励。
马尔可夫决策过程(MDP)提供了强化学习问题的数学描述框架:
状态转移概率P(s’ | s,a) |
目标是找到动作价值函数V(s)或状态-动作价值Q(s,a),从而获得最优策略。
常见的算法有:
这些算法都通过多轮尝试和更新,逐步找出方策略及其价值函数。
ε-贪婪算法在每一步选择最优动作,但也有一定概率ε选择其他动作来探索。
这样可以在收敛到局部最优解的同时,保留一定概率全面评估状态空间以避免遗忘更优解。
SARSA算法在线学习Q函数,并使用ε-贪婪策略选择动作。
具体步骤:
它可以在执行的同时学习,但容易滞后于Q学习。
Q学习直接试图学习Q函数,无须学习V函数。
步骤:
它可以更快收敛到全局最优解。
一篇论文提出使用深度学习方法,让quadcopter飞行在树林中的小路。
任务是降低quadcopter,使用模仿学习算法控制其飞行路径。
由于quadcopter飞行时间短,研究人员利用人为飞行小路采集数据。
人员佩戴3个摄像头,分别拍摄前后左右景观,采集标签为直飞、左转、右转。
利用采集的数据训练深度内容分类器,其输入为3通道图像,输出3分类概率。
分类器学习图像与操作之间的映射,能预测下一个动作。
测试时,quadcopter利用训练好的分类器predicted操作,飞行在小路中。
实时显示其预测左右转的概率,表明分类器能稳定控制飞行路径。
该工作 demonstrates强化学习在现实任务中的应用,即通过模仿学习控制无人机飞行。
模仿学习需要人工提供大量数据来训练模型,但对一些任务,人工提供数据十分困难,如设置价格或控制高维度系统。
且深度学习需要大量数据,但人工提供数据的数量可能不足。
强化学习定义明确的目标函数,例如避免被老虎捉至的概率。
我们希望计算序列下的总期望成本,例如被吃的δ函数。
这定义了“好”和“坏”的标准,允许模型通过学习避免成本,而不是依赖人工数据。
成本函数c(s,a)表示每次步骤的负面影响,奖励函数r(s,a)表示正面影响。
强化学习目标是最小化成本函数的期望,或者等同地最大化奖励函数期望。
两者来源不同,但在数学上表达意义相同。强化学习通过定义明确目标,弥补模仿学习的不足。
强化学习定义了明确的目标,即 minimizing 成本函数或 maximizing 奖励函数的期望值。
我们可以使用动态规划的思想来解决这个问题。
根据马尔可夫性,我们可以把整个序列分解成每个时间步的方程:
Q(s,a) = E[r(s,a) + γ * V(s’)]
V(s) = max_a Q(s,a)
其中γ是折扣因子。
利用Bellman 方程,我们可以使用价值迭代更新V函数,或策略迭代同时更新π和V,迭代收敛到最优解。
Q学习直接学习Q函数值,每次获得新样例后使用TD学习更新函数近似。
这些算法都可以通过学习序列下的成本函数期望,找到使成本最小的最优策略,而不需要大量人工数据。
dynamics强化学习解决了模仿学习的问题,并一步深入强化学习理论。
如果每个样本都完成不同任务,但每个样本本身可以作为完成该任务的成功案例。
我们可以将政策条件化在达成的目标上,从而利用每个样本来学习多个目标。
在训练时,样本完成不同任务。但每次我们将达成的最后状态作为目标,进行正则行为克隆。
以此训练一个条件政策,可以学习完成不同目标。
收集人模糊游玩数据。将最后状态作为目标,利用目标条件行为克隆学习通用政策。
需要非马氏和多模态处理能力,使用自回归离散化和隐变量模型。
不需要人样本,从随机政策开始,随机收集数据,将达成状态作为目标重新标签。
迭代训练可以学习更优政策,解决强化学习问题。
条件模仿学习可以利用领域外或乱取数据,弥补模仿学习的样本匮乏问题。
强化学习研究如何学习控制动态策略的代理人,通过与环境互动来最大化长期回报。
被研究的环境是马氏决策过程:
状态空间S,动作空间A
状态转移概率P(s’ | s,a) |
在每个时间步都选择最大回报的动作。
状态价值函数Vπ(s):从s开始收到的有policy π的回报期望
动作-状态价值函数Qπ(s,a):选择a在s收到的回报期望
评估:计算所有状态的Vπ值
提升:选择使Qπ最大的a作为每个s的π(s)
重复策略评估和提升,直到π收敛
解决MDP问题是学习π映射每个s到最优a。
强化学习算法主要包括三个部分:
生成样本(采集数据):通过互动收集环境信息。
学习模型:估计当前策略的表现,可能学习价值函数或动态模型。
提升策略:根据学习内容改进策略,使其更优。
算法重复执行上述三个步骤:
使用当前策略在环境中采集数据。
根据数据学习和估计策略性能。
根据学习内容改进策略参数。
使用新策略重复上述循环,逐步优化策略。
不同算法在三个部分实现会有差异:
算法设计需要权衡这三个部分的时间成本和性能。
Q函数和值函数可以用来评估当前策略的表现。我们可以利用它们来改进策略。
例如,如果我们知道当前策略π的完整Q函数Qπ(s,a),就可以选择新策略π’,使得每个状态下选择Q值最大的动作,从而提高策略表现。这就是政策迭代算法的基础。
我们也可以利用Q函数来计算改进π概率分布的梯度。如果Qπ(s,a)大于Vπ(s),说明a优于平均水平,则可以增加π(s,a)的概率。
强化学习算法主要由三部分组成:
生成样本
学习模型(绿框):学习Q函数或值函数,评估当前策略
提升策略(蓝框):根据Q函数或值函数改进策略
所以Q函数和值函数通常在学习模型阶段学习,然后用于改进策略。它们可以评估当前策略,为进一步优化提供参考。
强化学习算法主要包括以下几类:
模型学习算法:学习环境转移模型P(s’ | s,a),然后用模型进行规划或改进策略。 |
值函数算法:学习状态值函数V(s)或状态-动作值函数Q(s,a),通过最大化值函数来提升策略。
策略梯度算法:直接算出策略θ关于RL目标的梯度,利用梯度上升优化策略。
采集样本:运行当前策略获取数据。
学习模型:利用采集数据拟合值函数或模型。
提升策略:根据学习结果提升策略,包含不同方法。
不同算法在三个环节实现上有区别,但基本框架相同。学习-优化循环不断优化策略,达到学习目标。
强化学习算法主要根据以下几个标准进行评估:
样本效率:生成好策略所需的样本数量。
稳定性和易用性:是否保证收敛?收敛到哪种Optimum?
假设条件:是否需要满足Markov性等假设。
适用范围:是否支持连续状态/动作?能否处理有噪声的环境?
根据不同标准,可以将强化学习算法分为:
根据是否为off-policy算法classified类别样本效率。
根据学习对象分类,包括价值函数法、模型学习法和策略梯度法。
根据解决问题类型分类,如Discrete/Continuous,Deterministic/Stochastic等。
选择算法需要权衡不同标准:
若样本获取成本低,则优先考虑计算成本高的算法。
若环境复杂,无法满足算法假设,则优先考虑假设少的算法。
其他如问题类型、收敛性也会影响算法的选择。
一般先评估问题属性,然后考虑算法在不同标准上的表现,选择能较好平衡各方面需求的算法。
在最后部分介绍了以下强化学习算法的案例:
Q学习算法在Atari游戏中的应用。使用卷积神经网络学习Q值函数。
模型学习算法GPS在机器人运动学习中的应用。使用动态模型和图像网络学习策略。
策略梯度算法TRPO在连续控制中的应用。使用策略梯度和价值函数近似提升策略。
Q学习算法在机器人抓握中的应用。针对连续动作空间作了修改。
Q学习使用CNN从像素级学习Q值,选择动作时采用贪婪策略。
GPS结合动态模型和图像网络,直接学习深层可视运动策略。
TRPO是增强型策略梯度法,利用梯度和价值函数提升策略性能。
抓握机器人任务使用改进后的Q学习,能处理连续动作问题。
该部分主要介绍了强化学习在不同领域的具体应用案例,为后续算法详细讨论做铺垫。
模型学习算法通过学习环境动态模型P(s’ | s,a),进而解决强化学习问题。 |
模型学习环节包含两个主要步骤:
拟合动态模型:使用数据拟合状态转移概率P(s’ | s,a)。 |
常用方法包括:
使用模型直接规划,如蒙特卡罗树搜索
求得策略梯度,通过反向传播更新策略参数
学习值函数,再使用值函数提升策略
优点:
可以通过规划得到最优策略。
每次都可以重新利用学习好的模型。
限制:
模型学习本身就是一个难问题。
模型可能过于 simplify 实际环境。
需要满足马尔可夫性假设。
因此,模型学习方法适用于部分离散问题或近似马尔可夫的环境。
模型学习的关键是如何拟合状态转移概率函数P(s’ | s,a)。 |
常用方法:
表格模型:直接记录每个状态-动作对的转移概率分布。
决策树:用决策树拟合P(s’ | s,a)。 |
神经网络模型:使用多层感知器或卷积神经网络拟合概率函数。
Gaussian过程:用高斯过程估计概率分布的均值和方差。
动态模式:学习约束状态空间的低维动态模式。
插值模型:在有限样本点间插值扩充模型。
此外,也可以学习部分可观测或隐藏状态的转移,这需要结合观测模型。
选择方法需要考虑环境特性和样本效率等多个因素进行平衡。
学习得到状态转移模型P(s’ | s,a)后,可以使用模型来解决强化学习问题: |
蒙特卡罗树搜索(MCTS):使用模拟采样和树搜索解决问题。
动态规划(DP):直接利用模型实现动态规划算法。
模型预测控制(MPC):用模型预测未来动作效果,选择收益最大动作。
诱导政策优化(IPO):通过模型优化策略参数。
模型自适应控制(MAC):在学习模型的同时优化策略。
异步优化控制器(A3C):模型和策略一起反向传播优化。
选择方法需要根据环境和问题特性,平衡模型学习难度和利用效率。
介绍几个模型学习算法的实例:
使用低维动态模型和深度网络建模,结合策略优化算法解决机器人控制问题。
使用多个workers同时学习模型和策略,支持Atari游戏等高维控制问题。
将模型学习长效优化在内部环,策略训练作为短效优化在外部环,解决样本效率问题。
使用深层LSTM网络学习复杂环境的高维动态模式,实现精细控制。
将学习、规划、执行分离,通过思考建模环境动态,规划最优路径,执行移动的工作流程。
实例说明模型学习在不同类型问题上的应用,以及如何 tackling复杂环境和样本效率难题。
实现策略梯度的主要挑战在于,需要利用自动求导工具高效计算梯度。
直接计算每个状态动作对的梯度很低效,因为神经网络参数数量远大于样本数量。
我们需要利用反向传播算法,将损失函数对网络输出的梯度反向传播给每个参数。
我们设计一个伪目标函数J~,它的梯度等价于策略梯度:
J~=∑logπ(at | st)×Q^(at,st) |
这里logπ是交叉熵损失,Q^是奖励预测值。
利用自动求导计算J~的梯度便相当于计算了策略梯度。
利用类似超参数学习的框架,将Q^作为权重,重构损失函数。
计算J~的梯度时,会忽略Q^与π的依赖关系,从而完成策略梯度的计算。
POLICY梯度方差大,学习难度高。需要更大采样batch、特定学习率方法等进行优化。
Off-policy策略梯度可利用所有采样数据来训练任意一个策略。
其公式为:
∇θJ(πθ)=Eπ[∇logπ(a | s)Qπ(s,a)] |
需要用重要采样比对重权采样数据,但会导致指数级时间化简。
可以忽略条件后验概率P(s | τ),从而避免指数时间复杂度: |
∇θJ(πθ)≈Σt=1T∇logπ(at | st)ρ(τ)Qπ(st,at) |
ρ(τ)=Πtρt是轨迹τ的采样重要性。
常见算法有:
Off-policy Policy Gradient(OPG)
Weighted Policy Gradient(WPG)
Gradient Importance Sampling(GIS)
Off-policy Actor Critic(Off-PAC)
利用了策略评估、优化分离等技巧来稳定学习。
强化学习任务需要学习奖励的长期影响,这涉及对未来奖励的多步预测。
直接使用回报来预测会导致原因倒置问题与高方差。
值函数V(s)代表在状态s采取最优策略后期望获得的长期奖励总和。
动态方程:
V(s) = E[Rt | St=s] |
Rt = Σk=0T γ^krt+k
γ为折扣因子,衡量远期奖励的相对重要性。
优势函数A(s,a)代表选择动作a时的额外回报,相对采取π中的平均动作:
A(s,a) = Q(s,a) - V(s)
衡量动作优势,是否高于当前最优策略的预期回报水平。
蒙特卡罗方法通过模拟采样样本来逼近真实值函数。
步骤:
从当前状态s出发,随机采样一个完整轨迹τ
计算轨迹的累计回报Rτ
用Rτ作为V(s)的估计值
重复1-3, average估计值来收敛到真实V(s)
这种采样方法易受采样次数限制。
TD(0):
vt+1(s) = vt(s) + α[rt+1 + γvt(s’) - vt(s)]
更新Vt(s)的值函数,以逼近Bellman方程的预测目标。
α为学习率。方差收敛,但偏差无限增长问题。
MCTS在搜索树中模拟采样,迭代四步:
逐步收敛到最优决策。
TD学习不需要完整采样序列,而是利用被学习状态的值来更新目标。
TD(λ)结合蒙特卡罗与动态规划的思想:
δt = rt+1 + γVt(st+1) - Vt(st)
Vt(st) += α[δt + γλδt-1 + γ^2λ^2δt-2 + …]
λ为eligiblity trace参数。
深度Q网络使用神经网络来表示Q函数,通过微调网络参数来逼近最优Q函数。
算法步骤:
使用ε-贪婪策略选择动作
计算TD误差并回propagate误差
每C步复制主网络参数到目标网络
收集经验到经验池中随机采样训练
能够解决Atari游戏等高维观测空间问题。
Double DQN
使用主网络选择动作,目标网络评估动作值,减轻过度优化问题。
Dueling DQN
将Q函数分解为值函数与优势函数估计,表征状态价值与动作影响程度。
Prioritized Experience Replay
采样经验时根据TD误差给予更高优先级,加快学习困难样本。
Distributed DQN
在多个机器上分布式学习,利用数据并行优化学习效率。
NoisyNet
引入网络参数内部随机振荡来探索状态动作空间,提升学习稳定性。
这些改进均提升了DQN在实际应用中的稳定性和效率。
强化学习模型在训练完后还需要不断学习弥补之前不足,实现继续学习能力。
主要方法是在线学习:
保留部分旧样本同新样本一起学习
动态调整ε贪婪策略,平衡探索和利用
模型加薄技巧允许快速学习新任务知识
这可以使模型在任务变化情况下持续优化当前最优策略。
介绍一些关于强化学习中的Actor-Critic算法的经典论文和相关深度学习paper:
这篇论文阐述了Policy Gradients的理论基础,提出了“因果假设”,以及如何实现Actor-Critic方法。许多今天讲座内容都是基于这篇论文。
这篇paper致力于使用异步系统来实现在线Actor-Critic算法。
这篇论文提出了GAE估计器,实现了连续控制任务。
使用了动作依赖的焦点变体实现Actor-Critic。
如果想了解更多关于Actor-Critic算法的细节,可以阅读这些经典论文和当前深度学习相关工作。
强化学习任务往往需要长期的交互来获得反馈,但是单步学习效率很低。多步学习技巧可以增加学习效率。
常用方法包括:
N步返回: 使用近N步动作的累积奖励作为学习目标。
截断返回: 使用一定步数后截断未来奖励。
全局返回: 使用整个轨迹的累积奖励作为训练信号。
Monte Carlo方法: 通过完整采样轨迹进行零偏差学习。
方差缩放: 对多步返回进行方差缩放控制学习偏差。
多步学习自动平衡偏差和方差,提升样本效率。选择方法需考虑环境复杂性。
n步DQN将n步返回引入DQN,目标函数定义为:
Q_target(s,a) = r + γQ(s’, a’) + γ^2Q(s’’, a’’) + … + γ^nQ(s^(n), a^(n))
其中a’、a’‘…为ε贪心策略选择的动作序列。
使用TD误差来向Q网络回传梯度,实现训练。
n步返回在提高效率的同时也会增加学习偏差。
n步期望值目标可以解决n步DQN的偏差问题:
定义Vt(s)为从时间t开始的n步期望奖励。
构建训练目标:
Vt(s) = E[rt + γrt+1 + γ^2rt+2 + … + γ^n-1rt+n-1 | St = s] |
n步期望值目标与n步DQN相比,能够得到更稳定的学习信号。
TD(λ)结合了蒙特卡罗return与TD目标,携带 eligibility trace:
δt = rt+1 + γVt(st+1) - Vt(st)
Vt(st) += α[δt + γλδt-1 + γ^2λ^2δt-2 + …]
λ控制旧trace的影响程度,平衡偏差与方差。
TD(λ)能逼近MC return且效率更高,深层强化学习中广泛使用。
多步学习技巧能有效提升学习效率,选择方法需要权衡偏差与方差以及问题复杂性。n步期望值、TD(λ)等算法在实际应用中效果显著。
深度确定性政策梯度方法(DDPG)使用采样效率高的确定性策略来近似离线估计策略梯度。
算法主要思路:
使用Actor网络π来选择贪心动作。
使用Critic网络Q来评估状态动作值。
根据Q网络对策略π进行梯度迭代优化。
使用经验回放池进行训练,增加学习稳定性。
在目标网络中更新Q和π,增加学习稳定性。
DDPG能有效解决连续动作空间下的任务,在强化学习领域影响深远。
TRPO算法基于变分法,保证polit每次更新后对新策略凯舍距离进行限制,从而稳定学习过程:
L(θ) = Eτ~πθold[∑(αt(θ)At - 1/2ΔθtTFΔθt)]
其中F为Fisher信息矩阵,Δθ为参数更新量。
TRPO保证每个更新保持一定数量的政策改进,提高学习效率与稳定性。
PPO算法近似实现TRPO算法的思想,同时能在线学习:
采样数据拟合旧策略πθold
计算ρt(θ) = πθ(at | st)/πθold(at | st) |
构建clipped objectives:
LCLIP(θ) = Êt[min(ρt(θ)At, clip(ρt(θ),1-ε,1+ε)At)]
通过轨迹采样与更新分离,PPO在大规模常规计算机上实现。
AlphaGo Zero采用了MCTS,策略与价值评估网络来学习围棋的环境模型。
DeepMind在多个3D环境中使用了侧重探索的策略来学习环境。
OpenAI Five实现了基于PPO算法的Dota2人机对战,在2018年击败世界冠军队伍。
DeepMind提出了强化学习的一些安全问题,开发可解释且安全的算法。
强化学习技术在游戏、机器人等领域都有广泛应用。
强化学习中的主要算法包括:
各种算法的优劣,适用场景不同。
使用强化学习解决一个问题通常需要以下步骤:
定义环境、状态、动作空间
选择深度学习模型(DQN, PG 或 AC 等)
设计经验回放和目标网络
选择优化算法和多步目标
设计探索策略
分析和可视化学习效果
通过环境响应调整模型或算法
正确设计各个组件可以有效解决不同问题。
强化学习算法面临的主要挑战包括:
各种方法平衡学习偏差和方差,如n步返回、核技巧等。
如解决大规模观测和动作空间中的任务。
如TRPO、PPO等算法保证每个更新后策略的改进范围。
采用经验回放、优化学习效率等方法。
如在线学习中环境可能发生变化。
强化学习模型难以解释其决策过程。
7.安全问题
如碰到意外环境,算法行为不可控。
适用于大规模线上系统,降低计算负担。
解决这些难点需要强化学习理论及应用技术进行全面深入研究。
本部分从更通用的框架视角统一概括了各种Q学习算法:
使用经验回放池储存状态转换记录,作为所有算法的基础对象。
定义三个运行在不同速率的平行进程:数据采集进程、目标网络更新进程、学习进程。
各种Q学习算法实际上就是这三个进程运行速率的不同组合。
让三个进程运行速率不同有助于缓解非稳定性,促进算法收敛。
普通Q学习对应数据 buffer 小,三个进程同步运行。
DQN对应数据 buffer 大,采集进程和学习进程同步,目标网络更新慢。
备选Q学习对应三个进程以不同循环层级嵌套运行,但实质等价。
这一框架视角统一了各种Q学习算法,深度理解其本质关系。
强化学习算法面临以下主要挑战:
偏差与方差问题:使用n步返回、核技巧等方法平衡学习偏差和方差。
复杂任务学习:解决大规模观测和动作空间中的任务。
稳定学习:如TRPO、PPO等算法保证每个更新后的策略改进范围。
有效利用样本:采用经验回放、优化学习效率等方法。
不稳定环境:如在线学习中环境可能发生变化。
可解释性问题:强化学习模型难以解释其决策过程。
安全问题:如碰到意外环境,算法行为不可控。
计算效率问题:适用于大规模线上系统,降低计算负担。
深入研究强化学习理论及应用技术,可以解决以上难点:
提出新的算法原理以平衡偏差和方差。
使用 Function Approximation技术扩展应用范围。
提出更稳定的优化算法如TRPO、PPO等。
提高样本利用效率,设计新型回放机制。
引入最新深度学习技术提升模型表征能力。
加强理论分析优化算法收敛性和稳定性。
系统解决这些难点,有助于强化学习在更广泛场景中的应用。
最简单的方法是采样一组离散动作,取其中Q值最大的一个作为近似最大值。
也可以使用CEM等随机优化算法更精确地求解最大值,比如每轮优化分布参数以更多采样优良区域。
使用具有解析解的函数类,如NAF网络输出的二次函数就可以直接取得最大值。
学习一个近似 argmax 函数的网络μθ(s),将其输出代入目标Q值中进行学习,即DDPG/NFQCA算法。
每个批次先通过μθ(s)选择动作,然后应用策略梯度更新μθ和Q网络参数,使μθ更准确地近似argmax。
收集(s,a,s’,r)过渡样本存入经验回放池。
采样批次过渡样本。
使用μθ′(s’)优先Qθ′函数近似计算目标Q值。
梯度下降优化Qθ和μθ,使两者学习更好地评估和选择动作。
定期同步θ’到θ,μθ’到μθ,保持目标网络稳定。
以上流程即实现了连续动作下的Q学习算法,如DDPG等方法。
DQN是最早将深度学习应用于强化学习的算法。它使用一致性更新规则,并通过经验回放和目标网络来解决 overfitting 问题。
DDPG使用了与DQN相同的策略,将深度学习方法应用于连续动作空间。它采用 actor-critic 框架,actor网络和critic网络同时学习。
TRPO和PPO通过限制连续更新策略的KL散度以保证策略持续改进,从而实现更稳定的训练过程。
A3C使用异步优化方法,同时在多个环境上采集样本进行学习,相比于序列数据效率更高。
D4PG通过记忆和模型预测进一步提升样本利用率。它采用一致性Q学习框架, actor受 critic 的教学 Signal 改进。
SAC使用最大斜率下降法解决强化学习的目标函数,实现 sample efficient 和高效学习。
IMPALA将分布式深度强化学习训练推向极致,拥有靠谱的理论支持与实验验证。
AlphaGoZero完全自主地通过零深度搜索树和纯增强学习策略取得Go的超人水平。
高效利用样本、提升学习速度
强化学习安全性与可解释性问题
应用到更复杂领域,如全链路、多agent系统
结合先验知识进一步优化学习效率
深入理解算法学习机制,提出更优理论支撑
深度强化学习在以下领域得到广泛应用:
游戏playing: AlphaGo、AlphaStar、OpenAI Five等
智能控制: 机器人控制、自动驾驶等
资源配置:计算资源调度、能源管理等
相关推荐:商品推荐、个性化内容推荐等
自动对话代理:聊天机器人、客户服务机器人等
自动化化学合成:药物研发自动化等
生物医学:蛋白质折叠等
计算优化:超参数调优、网络配置等
金融决策:投资组合管理、理财建议等
深度强化学习无需明确环境模型,通用性强,在各行各业都有巨大潜在应用价值。
AlphaZero通过自我对弈实现超越人类专家水平:
使用纯强化学习方法,没有使用任何专家知识
同时学习策略和评估网络
采用MCTS与策略网络协作选择动作
成功战胜世上最强棋手
AlphaZero完全颠覆传统对弈思路,标志着AI取得新的突破。
深度强化学习在游戏中的主要应用包括:
AlphaGo战胜李世乭 GO 棋手。
AlphaGo Zero不依赖人类数据自学围棋。
游戏环境丰富,启发深度强化学习的发展。
我们想实现一个考虑约束的政策梯度算法:
使用KL散度取代总变异散度作为约束,因为KL散度具有更好的计算性质。
目标函数是重要性采样的期望回报,同时加上KL散度约束小于ε。
ε足够小时,算法能够优化Jθ′ - Jθ。
可以使用拉格朗日乘数法,将约束问题转化为无约束问题的迭代求解。
也可以直接将KL散度作为正则项来近似处理约束问题。
计算重要性采样的政策梯度。
计算KL散度梯度。
使用梯度上升法迭代优化拉格朗日函数,即同时最大化目标和最小化KL散度。
可以采用双梯度下降方法,交替优化θ和拉格朗日乘数λ。
获得一个可以有效实施政策约束的强化学习算法。
诸如初始值搜索和PPO等方法都使用了类似的策略约束思路。
TRPO是解决强化学习中政策优化的一个关键问题而提出的算法。
它利用研究了解了策略更新导致的不稳定性的根源。
TRPO通过限制两次连续策略更新之间的KL散度来规避此问题。
计算KL散度的梯度,并使用它来限制策略参数的更新在一个安全的曲面内。
这使得每一步更新都能保证提升目标函数,同时避免出现剧烈改变导致的不稳定。
TRPO被许多强化学习应用采用,并作为PPO等算法的基础。
它很好地解决了保证连续策略优化收敛的问题,成为一个安全且稳定的强化学习算法。
后续工作关注如何更高效地实现TRPO,例如使用二阶信息来加速收敛。
TRPO的思路为解决强化学习中的关键问题奠定了基础,对当前算法研究影响深远。
强化学习算法收敛性是一个重要问题:
模型是否能在足够多的迭代后学习一个近似最优策略?
收敛速度是否足以满足实际需求?
收敛过程是否稳定和可控?
收敛点是否唯一且是全局最优策略?
收敛能否在线适应环境变化?
如何衡量和调整算法性能?
理论分析可以指导算法设计和实际应用。
通过丰富的理论分析,我们可以更好地理解和改进算法,解决收敛问题。
主要手段包括:
确定性分析 - 假设环境确定,分析策略更新规则。
随机分析 - 考虑随机步骤中的不确定性。
渐进分析 - 随时间趋于收敛的渐近行为。
样本复杂性分析 - 估计收敛所需训练数据量。
在线分析 - 考虑环境变化对收敛性的影响。
实验验证 - 结合理论结果评估实际算法效果。
深入分析可以给出算法收敛的必要与充分条件。
策略迭代中的策略更新必须保证式(3.6)成立,即Jπ(s) ≥ Jπ’(s),∀s。
当满足梯度上升条件时,每个策略更新步骤都能提升J值,因而策略迭代算法是收敛的。
但策略迭代可能需要极多次迭代才能收敛,每次迭代都需要多次模拟生成轨迹。
相比之下,价值迭代中的价值函数更新满足Bellman方程,收敛速度更快。
但价值迭代需要环境模特precise 模型知识,在不知道模型参数的情况下,可能无法进行。
一些增强学习算法如DQN可以看作是水底价值迭代,在样本经验上近似解Bellman方程。
并且采用经验回放和目标网络来控制偏差和方差,从而取得很好的收敛结果。
总之,两种迭代在理论收敛性和实际应用上各有优势,都为强化学习奠定重要基础。
政策梯度是近几年强化学习研究的热点,其理论分析也在不断深入。
政策梯度更新方向取决于收敛函数的梯度,若收敛函数满足某些条件,更新能保证每步上升。
但实际算法中采用采样来估计梯度,会添加误差项。需要额外分析此误差收敛到零。
若采样数量足够多,误差项渐近满足零平均和有限方差条件,则政策梯度法收敛。
TRPO通过限制策略更新幅度,避免单步误差过大,大幅改善收敛性能与稳定性。
PPO进一步使用 clipped surrogate objective 减小误差,兼具效率和稳定性。
随着对强化学习理论的深入,目标函数和采样方面的分析都在持续深化。
寻找更优的政策表示和采样策略,也是当前研究中的重要方向。
通过细致的理论分析,我们能够设计和改进具有稳定收敛特性的政策梯度方法。
虽然大多数强化学习算法最终可以收敛到一定程度,但它们在线性收敛的能力仍存在问题:
大量iterations才能达到一个比较精细的策略,对实际应用造成很大挑战。
一些理论上的线性收敛算法需要环境模特,在实际中难以实现。
样本数据稀疏是导致非线性收敛的主要原因之一。
政策函数类和采样策略的选择也影响收敛速度。
TRPO通过控制每步更新幅度,改善了收敛速度但仍非线性。
未来工作可基于优化算法和集合学习的先进理论,设计新的线性收敛算法。
例如使用二阶方法取得较大学习率,或开发分布式加速算法等。
总体来说,提高强化学习算法在线性收敛能力仍是一个重要而复杂的研究课题。
研究文章标题为”Synthesis and stabilization of complex behaviors through online trajectory optimization”。
文章描述使用迭代LQR作为内循环的模型预测控制方法。
模型预测控制的思想是每时步都重新规划,只执行第一步动作。
视频展示了简单双摆系统、游蛇系统和跳跃系统使用该方法能成功完成任务。
算法能在实时响应外部干扰,即使给予错误动态模型也能获得合理结果。
还展示了控制一个3D人形站立和步行,但需要较复杂的成本函数。
文章重点描述了迭代LQR实际实现中的技巧,提供了模型预测控制在线优化的案例。
该方法利用已知动力学模型,在不需要学习的情况下实时发现复杂行为。
强化学习中我们常常需要学习环境的动力学模型:
对许多任务,直接观测动态状态非常困难或成本高昂。
模型学习可以推断隐藏状态,进行长期规划。
与完美模型相比,学习模型存在一定错误,但往往更容易获得。
常见模型学习方法包括:
线性回归:假设状态转移线性,学习系数矩阵。
ν-SVM:支持向量机回归学习非线性模型。
GPs:高斯过程回归环境响应关系。
神经网络:使用强大拟合能力学习复杂非线性模型。
动态孪生:建立定制模拟环境匹配真实环境。
模型学习的关键是如何从样本数据中获得有效信息,得到稳定准确的模型估计。这对RL算法性能影响重大。
我们将会探讨这些方法在不同RL任务中的应用效果。
不确定性在强化学习模型学习中扮演重要角色:
模型学习通过学习环境动力学来进行规划。
不仅需要预测下一个状态,还需要预测状态转移的分布。
预测分布包含了动力学模型不确定性知识。
常见的模型学习方法包括:线性回归、SVM回归、高斯过程回归、神经网络。
模型学习的关键是如何从有限样本中获得稳定准确的模型估计。
实验显示,直接使用深度神经网络进行模型学习,在数据少时性能极差。主要原因是:
神经网络容易在数据少时过拟合,产生很多误导信息。
规划器会利用这些误导信息进行有害的“过度开发”,导致学习停滞。
通过预测状态转移分布和考虑模型不确定性,可以缓解这个问题:
规划将选择取得预期回报高的动作序列,而不是单一预测结果。
会自动选择避免有害后果的不确定区域,提高学习效率。
随着数据增多,模型会逐步拟合,不确定性降低,学习能力增加。
不确定性评估可以很好地解决模型学习中的过拟合问题。
模型学习中,需要对状态转移函数进行不确定性估计。常见的方法有:
高斯过程建模函数值服从多变量正态分布,能直接预测前向和后向分布。
使用dropout随机嵌入部分网络连接,实现函数值bayesian分布近似。
3.深度启发式模型
通过内部状态表示学习环境动态,同时学习动态本身的不确定性。
4.模型套接套接概率分布
使用 vague prior 分布套接模型参数,实现Bayesian模型不确定性估计。
5.误差分析
测量神经网络在数据点附近的误差波动范围,近似建模不确定性。
6.值方法
通过值函数稳定性分析,估计区域不确定程度高低。
这些方法可以直接预测状态转移函数值的分布,为规划提供期望回报信息。确保模型学习从一开始就考虑不确定性,有利于缓解过拟合问题。
我们利用训练得到的不确定性模型进行模型基于强化学习控制决策。
采用采样方法评估各个动作序列的预期回报,考虑模型预测结果的不确定性分布。
具体而言,对每个候选动作序列,重复以下步骤:选择一个模型,采样下一个状态,计算奖励。
最后计算各动作序列的平均回报,选择最优序列。如果使用随机森林,也可以直接对所有模型求和。
除采样方法外,我们还可以采用Moment匹配近似直接估计状态的真实分布 Moments。
有研究还使用重参数化技巧,将连续优化方法如LQR应用于此设置。
实证研究显示,考虑不确定性可以有效提升模型基于强化学习的性能,尤其在数据匮乏情况下。
如果想深入研究此领域,文中提到的几篇代表性论文提供了很好的参考,对理解其重要性很有帮助。
视频中介绍几篇代表性论文供进一步研究模型学习和不确定性估算在强化学习中的应用:
PILCO(2011):
使用高斯过程学习动力模型,早期的开山之作。
分析了不确定性估计在模型预测控制中的重要性。
Model-Based RL with Ensemble Value Expansion(2018):
提出使用随机森林估算模型不确定性的算法。
在半节奏比赛任务上取得与模型自由方法相当的效果。
结合模型自由与基于学习动力模型的价值迭代更新。
将不确定估计应用于多个层面,效果更佳。
使用神经网络学习环境动力模型,生成图片级别的仿真环境。
展示了学习动力模型在控制和策略优化中的应用前景。
这些论文对理解模型学习在强化学习中的重要性提供很好的参考,值得深入砅究。
模型基于强化学习通常使用以下两种策略表示:
定态策略:π(a | s) 对于给定状态选择单个动作。简单直接,但表征能力有限。 |
动态策略:π(a | s,h) 考虑历史轨迹h选择动作。节省计算资源,表达能力较强。 |
常见的动态策略包括:
深度确定性策略:π(a | s,h)=π(a | φ(s,h)), φ为编码器提取特征。 |
高斯过程动态策略:π(a | s,h)~N(μ,Σ),μ,Σ取决于s,h。 |
基于模型模型的策略:πθ(a | s,m) 根据动态模型m和参数θ选择动作。 |
基于值函数的策略:π(a | s,V) 通过值函数V选择优 action。 |
选择合适的策略类对模型基于RL的性能影响重大。 expressive 动态策略通常效果更佳。
我们可以将模型学习及不确定性估计技术运用于定态策略优化中:
使用动态模型预测不同策略下各个时间步的预期回报。
求解maxπ E[R(π) | D,M] 选择预期回报最大的策略π。 |
模型学习产生的不确定性可以表示为策略性能的分布,而非确定值。
随机森林优化算法步骤:
使用随机森林学习动态模型分布。
对每个策略,通过采样估算预期回报分布。
选择估算回报最大的策略。
重复优化,逐渐提升策略性能。
与经典动态规划相比,此类算法考虑不确定性,在数据量少环境下效果更好。同时利用模型加速策略搜索。
这为使用容量大深度策略提供了可行路径。
利用模型可以更好地评估政策:
R(π) = E[∑ rt | s1, π, Model] |
直接求解 argmaxπ R(π) 需要积分,计算开销大。
可以使用蒙特卡洛采样近似:
采样模型,计算 möglich轨迹。
求取各轨迹奖励之和的期望。
重复采样,收敛至策略π*的未来回报分布。
选择回报最大的π*作为最优策略。
这种采样技巧应用于深度确定性策略学习中:
采样模型生成大量轨迹。
使用这些轨迹下的累积回报梯度优化策略参数。
采样技巧最大限度利用了模型预测能力,有效评估复杂策略。
场景模型可以学习动态环境的隐含结构:
场景模型嵌入状态维护全局隐状态h。
预测sht+1依赖于st、at、ht。
采样ht按照p(ht+1 | ht,st,at)更新隐状态。 |
然后条件采样st+1按照p(st+1 | ht+1,st,at)。 |
使用场景模型有以下优势:
对复杂环境学习更深层动态表示。
模型之间共享信息,更快收敛稳定模型。
采样隐状态实现模拟未来多个时间步,高效评估策略。
一些学习算法实现了基于场景模型的深层策略搜索,在3D控制等任务效果显著。
未来可以设想在更复杂环境下,场景模型将显示出更广阔的应用前景。
模型可以 simulate 新任务,从而提高样本效率
模型可以加速策略搜索
可学习环境动态知识,弥补强化学习中缺乏的环境建模能力
如何训练好环境动态模型,消除模型偏差
如何精确估计模型不确定性,有效利用样本
如何在复杂环境中学习表达 ability 强的模型
如何设计高效利用模型的算法框架
深度神经网络加强模型学习和表示能力
提升模型更新、不确定性估计和利用效率
结合强化学习等方法,设计全流程的MBRL算法
在真实世界任务中实地验真MBRL方法
随着技术发展,MBRL前景广阔,有望在样本效率和表达能力等方面超越强化学习。
MBRL可以学习环境动态知识,弥补强化学习缺乏建模能力的问题。
强化学习则擅长学习高质量策略,弥补MBRL策略学习效率低下的问题。
强化学习学习策略,MBRL提高样本效率。
MBRL学习动态模型和值函数,强化学习优化策略。
MBRL学习动态模型,强化学习学习残差模型。
MBRL先模拟获得轨迹,强化学习学习策略。
Model-Ensembled Trust Region Policy Optimization
Predictron: End-To-End Plannable Models
Model-Based Accelerated Reward Exploration
结合MBRL与强化学习,可以弥补各自不足,进一步提升效率和表现。这也是未来一个重要研究方向。
MBRL在实际应用中还面临许多挑战:
环境动态复杂程度难以建模,如人际交互等。
难以获得足够训练数据覆盖所有状况。
噪声与不确定性难以精确建模。
高维和连续动作空间难以采样搜索。
如何在线学习和更新模型?
模型计算和内存开销大。
不过,随着近年深度学习技术的进步,MBRL前景广阔:
对话机器人、智能助手、服务机器人等。
城市交通规划、工业自动化等。
医疗辅助决策、基因编辑等。
零基础语言学习、内部模拟等。
强化学习的新算法框架。
在局部动态可信模拟环境下的应用。
未来5-10年,随着计算能力和数据量增长,MBRL在复杂实际任务中的应用将更趋成熟。
在DBRL中,可以通过以下方法采样“宝可梦”来实现探索:
Q函数在强化学习中对应于带宽库中的奖励分布。
可以从Q函数分布中采样一个Q函数,根据该Q函数进行一整个回合的行动。
更新Q函数分布,重复上述过程。
由于Q学习是离线的,所以可以用不同的Q函数收集数据,再用收集的数据更新所有Q函数。
可以通过引导式蒙特卡罗方法对未来奖励进行采样,评估复杂策略。
也可以通过场景模型进行模拟,有效评估策略。
可以通过以下方法表示Q函数分布:
bootstrap聚类法,通过重采样训练多个模型组成分布。
多头神经网络,不同头代表Q函数样本。
采样后使用同一数据集进行训练,可以节省开支。
相比随机探索,宝可梦探索具有以下优点:
内部一致的策略可以继续深入环境特定区域。
更有效发现新奖励结构。
无需设定超参数,实现平衡探索与利用。
对原奖励函数无改动,收敛后各Q函数质量高。
但是,奖励设计通常实现效果更好。这种方法主要用于理解探索问题。
除了宝可梦探索外,DBRL中还有其他更复杂的探索方法:
奖励塑造:给未探索状态或行动增加奖励信号,驱动探索。
动机梯度:利用策略梯度推导出一个目标,最大限度满足对新奖励的好奇心。
密度比例法:考虑状态-动作对的利用程度和探索程度,平衡两者。
吃了奖励就够了:无需对未来后果负责,鼓励尝试新行为。
知识推广:将已探索知识 généralize 到新的状态action对。
学习好奇心模模型:学习预测未来好奇心收益,指导探索。
强化学习范式:视探索为一个最大平均奖励问题,而非需要平衡的目标。
这些方法中的一些相对复杂,但对解决真实世界的探索问题有很好的帮助。
未来可以设想将深度学习技术应用在上述方法中,有望进一步推进DBRL在复杂环境中的探索能力。
强化学习在实际应用中面临许多挑战:
数据量不足:许多任务没有足够的数据进行训练。
噪声与不确定因素:环境中包含很多随机元素。
奖励分布可能会变化:环境可靠性较低。
暴露在线上环境中的风险:模型在线上表现不佳可能导致问题。
难以评估目标:如用户体验很难直接量化。
模型解释问题:当前模型难以解释其决策过程。
难以进行知识转移:一个环境所学知识不适用于其他环境。
数据隐私与安全问题:一些领域的数据 difícult 共享。
因此,强化学习在实际应用中需要很好解决上述挑战。我将介绍一些处理方法。
强化学习处理数据匮乏的方法:
优先经验回放:重放少量经验以最大限度发挥其价值。
模型优化:利用试探学习、启发式学习等方法从少量数据中提取知识。
模型预训练:利用外部源数据进行预训练,获得更好的初始化。
知识转化:利用不同但相关任务的数据进行知识转化。
强化学习与监督学习结合:利用少量 labeled 数据进行监督。
模型增强:利用高层抽象、对抗训练等方法改进模型能力。
生成对抗网络:利用GAN生成合成数据补充训练数据。
强化学习算法本身的sample效率:选用更高效的算法如有模型RL。
人机交互:利用人工查询来积累重要数据。
以上方法可以有效利用有限数据,缓解强化学习的数据匮乏问题。
强化学习处理环境不稳定性的方法:
online学习:利用实时数据持续更新模型,适应环境变化。
引导式学习:利用人工指导按需学习新知识,适应突变。
多agents协作:各bot互相监督,提高环境建模能力。
off-policy学习:学习策略不依赖采样策略,增加健壮性。
强化学习算法的稳定性:选择收敛速度快、波动小的方法。
改进经验重放:关注近期经验、动态选择重要经验等。
模型加强学习:使用模型加强学习减少环境噪声影响。
通过rewards噪声加强学习:提高对奖励的鲁棒性。
噪声注入测试:测试模型对不同环境的稳健性能力。
以上方法通过在线更新、增强稳定性来最大限度适应动态环境。
我们可以通过学习多种技能(skills)来实现状态分布覆盖以外的目标。
可以定义技能 z 的概念,如 z 是一个类别变量,取 n 个可能值,对应 n 个不同的策略。
也可以将 z 看作一个条件分布 π(a | s,z),表示给定状态 s 和技能 z 时动作 a 的概率。 |
不同技能应该访问状态空间的不同区域,而不仅仅是不同的单个状态。
我们可以定义一个促进多样性的奖励函数,奖励在给定 z 时访问其他 z 概率低的状态。
实现为一个分类器,预测 s 状态下 z 技能的概率 p(z | s),并用log p(z | s) 作为奖励。 |
这样既使分类器学会识别技能,也驱动策略学习多样性更高的状态。
算法实际上在最大化技能 z 和状态 s 之间的互信息。
通过实验发现,此方法可以学习实现不同任务的多个技巧,如奔跑、后跃等。
强化学习算法通常需要在线学习,通过试验与环境交互来不断更新策略。但是这有几个问题:
在线学习风险很高,如果策略表现不好可能导致严重后果。
收集新数据需要花费大量时间和资源。
难以重现既往结果,其他研究人员无法使用相同数据验证算法。
为解决这些问题,我们提出离线强化学习的概念。离线学习只使用之前收集的数据,不再与环境交互,从而消除风险。
离线强化学习的主要挑战是:
离线数据无法满足常规RL算法的前提假设,比如数据来自目前的采样政策。
需要找到一种方法来利用有限的数据集,学习一个表现不错的策略。
这个策略应该基于已有数据集,而不能采用不在数据集内的状态动作对。
未来工作将探索更好的算法来有效利用离线数据集,学习出可靠且性能出众的策略。这对许多实际任务都很重要。
许多常用强化学习算法都依赖一个重要假设:采样数据来自当前的采样策略。
但是,离线数据集不一定满足这个假设。例如:
数据集可能来自不同时间点的多个采样策略。
采样策略本身也在不断改进,产生的数据分布也随之变化。
由于采样寻优的随机性,同一策略下产生的数据也不尽相同。
数据集中的部分状态或状态动作对根本没有访问过。
新的策略可能选择数据集中没有例子的动作。
这就导致在离线数据上直接使用TD学习或MC学习方法是不合适的。需要设计新的算法来解决这一难题。
常见方法为计算两项度量:
直接评估策略的累积奖励,与理论最优策略的差距。
计算策略探索程度,如访问率(coverage)和延展性(diversity)。这可以确保策略充分利用数据集。
同时也要求算法满足两个重要约束条件:
学习出的策略不能选择数据集中不包含的动作。
策略应保持数据集中探索的随机性和探索模式。
这有助于学习出稳健且符合数据集分布特征的强化学习策略。
给数据点赋予不同权重,近期数据点权重高。但无法很好保证探索性。
基于目标网络的学习方法,能够利用完整数据集。但不保证探索性。
学习环境模拟模型,根据模型生成 new 数据集从而保证探索性。
使用所有数据训练初步模型,使用该模型生成 new 数据来训练最终模型。
根据全部的数据集优化策略。可以保证探索程度但收敛速度慢。
给数据分配固定权重,避免权重迭代过程中的误导问题。性能好且可以保证探索性。
经典方法在离线数据上的改进,但难保证探索性。
各方法都有自己的优势,未来需要在更多benchmark上进行对比,寻找最佳策略。
策略学习的目标是改进现有数据集,但无法获得新的反馈来优化策略。
数据集来源于未知的采样策略,无法使用模型假设数据来源于当前策略。
目标是学习出一个合理且信息充分的策略,但无法像在线学习一样采用解耦学习策略与收集新数据的方法。
离线策略可能探索未曾见过的状态动作,难以评估这些动作的后果。
如何评估学习出来的策略是否理解了数据集提供的信息,且能在测试集上表现出色?
不同数据集可能对应不同难度的学习任务,需要考虑数据集属性对算法性能的影响。
如何将深度强化学习和离线学习相结合,充分挖掘神经网络在这方面的优势?
主要指标有:
测试集累计奖励的得到,评估策略实际质量。
探索程度,如访问率和多样性是否充分利用数据集。
是否满足仅使用数据集决策的约束条件。
在不同数据集上的泛化能力表现。
全面评估离线学习性能依然是一个开放问题。
原对象函数存在一个问题,可能会让Q函数过于保守。
可以新增一个推高Q值的项,抵消之前推下Q值的项。
当Q值较大的动作在数据集中时,两个项将相消;否则第一个会推下,第二个会推高数据集中的动作。
这将形成反馈循环,逐步将Q值推回数据集分布内。
对象函数没有保证为所有状态和动作Q函数下限,但对当前策略的期望仍然保证。
使用反向传播算法优化Q函数,结合离线数据集和改进后的对象函数。
离散动作直接取Q函数最大值作为策略;连续动作使用额外的策略网络。
关键是如何实现对象函数中的极大期望项。
取μ的香农熵作为正则化项可以很好实现。
离散动作直接取Q函数log和;连续动作可以采样重要性采样估计。
这就是LCQL算法的总体流程。
对离线数据集进行测试,计算累计奖励和探索程度(访问率、多样性)来评估策略质量。
策略应满足仅使用数据集决策的约束条件。
在不同数据集上测试泛化能力。
Weighted TD:直接使用权重化TD学习,不能很好保证探索性。
DQN:基于模型网络的学习方法,也无法完全保证探照度。
改进策略梯度(BPG):根据全数据集优化策略,收敛速度慢。
CURL:给数据固定权重,避免迭代带来误导,表现好但不能保证探索性。
SARSA(λ)和Q学习:经典方法在离线数据上的改进,难保证探索性。
LCQL:推下误高Q值,同时推高数据Q值,可以很好平衡探索和利用,效果好。
未来工作将在更多benchmark上系统比较各类离线强化学习算法。
数据集可能无法完全覆盖状态动作空间,会存在探索不足问题。
策略仅依赖已有数据,难以针对新环境进行有效适应。
无法获得环境动态反馈,过于依赖数据集本身质量。
算法难以跨数据集取得很好的泛化能力。
数据集采集的分布是否影响学习效果,亟需理解影响规律。
设计评估指标衡量学习出策略在新数据上的表现。
混合使用在线和离线学习以弥补不足。
提升数据集质量,如噪声消除、色域自适应等预处理。
引入可估计环境动态模型弥补反馈缺乏问题。
发展泛化性更强的深度学习方法或多任务学习方法。
理解数据集属性对算法性能的影响规律,有针对性选择算法。
离线学习仍处于起步阶段,机会和挑战同在,需要持续研究。
环境:表示真实世界或模拟世界的计算模型。
代理:在环境中移动并作出选择的实体。
目标:优化长期累积奖励。
马尔可夫决定过程(MDP):环境动态满足马尔可夫性。
状态空间S:描述环境所有可能状态的集合。
动作空间A:代理可以选择的动作集合。
转换概率P:状态变化 only depends on当前状态和动作。
奖励函数R:描述状态动作赋予的即时数值奖励。
收益/价值函数:衡量采取某策略后长期奖励的期望值。
策略π:决定动作依赖于观测的函数,对应概率分布π(a | s)。 |
目标:找到最优策略π*使长期收益最大。
奖励-回访方程(Bellman Equation):描述了收益/价值函数与环境之间的关系。
价值迭代(Value Iteration):基于Bellman方程直接迭代估计价值函数。
逐步接近最优价值函数,耗费计算资源较大。
策略评价(Policy Evaluation):针对固定策略估计该策略的收益函数。
策略改进(Policy Improvement):利用估计结果更新策略使收益增加。
交替进行策略评价和改进,直到收敛到最优策略。
比价值迭代更加实用,但每次迭代需要多次关于整个环境的扫描。
Q价值函数表示动作价值,利用Q表直接 learning最优策略。
SARSA学习在特定策略下Q表,Q学习学习全局最优Q表。
每次学习基于实际经验和估计Q函数,带有个体经验的正反馈。
轻便实用但收敛证明较弱,易欠拟合或过拟合。
变分推断用于概率模型中难直接采样或计算概率的情况。
它使用变分方法近似概率分布,以简化计算难度。
主要应用于隐变量模型,如隐马尔科夫模型。
关键是找到一个简单分布的家族,近似真实后验分布。
VAE由生成模型和编码器组成,通过再生样本最小化重构损失。
编码器将可见变量映射到隐变量空间的概率分布。
生成模型从隐变量空间再生可见变量。
隐变量采样自简单分布(如高斯),近似真实后验分布。
重构损失加上KL散度作为完整目标函数。
训练后可以对新样本进行编码或生成新样本。
重构损失衡量生成模型与输入间差异。
KL散度衡量隐变量分布与简单分布间差异。
目标是最小化两项之和,既拟合数据,又保持隐变量分布简单。
KL散度起到正则效果,避免过拟合。
编码器将输入映射到均值和标准差参数izada的高斯分布。
从这个分布中采样隐变量作为生成模型输入。
生成模型重构输入Approximator推断后验。
采用变分下界近似真正的后验对数正常边缘概率。
通过反向传播来最大化变分下界无论实现目标函数。
进行端到端学习来取得VAE网络。
提供了一种通用框架来学习复杂概率模型。
允许近似真实后验的隐变量分布,简化计算。
VAE通过重构过程自动学习隐变量空间的结构。
变分框架广泛应用于生成对抗网络等领域。
普通VAE的KL散度权重为1,难取得理想分布。
β-VAE提出使用超参数β来控制KL项权重。
较小β强调重构,隐变量分布聚集;较大β强调分布模糊。
适度增大β能使隐变量分布更加均匀,提取更抽象特征。
对于一些任务,希望隐变量能cleanly分解不同因素。
Disentangled VAE引入额外约束使隐变量更加独立。
例如每维隐变量只影响特定属性的重构。
或使用因子分解的前提条件来增强分解能力。
但如何确切实现分解是一个开放问题。
作为生成对手模块用于自我对弈强化学习。
生成数据集或模拟环境用于离线强化学习。
作为状态空间的可压缩表示,提高算法效率。
从隐变量空间采样新技巧来扩展探索空间。
VAE的表现将随发展不断提升其在强化学习中的作用。
VAE是生成模型,用于建模图像等可观测变量x。
模型包含潜在变量z和可观测变量x。
inference network qphi对z的后验分布服从高斯。
生成模型ptheta对x的条件分布也是高斯。
采样z后输入ptheta重构x。
目标函数包含重构损失和KL散度。
重构损失衡量生成模型与输入的一致性。
KL散度约束后验分布近似于简单分布。
训练过程求最大化目标函数。
可以生成新样本,评估给定样本的概率。
训练达到重构与约束后的平衡,能生成高质量样本。
VAE广泛应用于计算机视觉、语音识别等领域。
条件VAE增加可观测变量y,生成模型条件于x产生y。
后验分布条件于x和y,生成模型条件于x和z产生y。
目标函数与正常VAE类似,但更通用灵活。
将控制视为后验推断方法,具有广泛应用前景。
根据贝叶斯理论,后验概率反映系统状态和动作。
控制器选择动作以最大化后验收益。
相比经典方法,具有更强学习和推理能力。
状态转移和奖励函数通过概率模型描述系统动态。
定义收益函数表示任务目标。
根据贝叶斯规则,后验概率结合动态模型和实验数据。
后验概率包含所有相关信息制定最佳控制策略。
定义无参数函数(例如神经网络)近似后验分布。
函数输入为观测,输出为状态分布或者控制策略。
训练函数使其近似真实后验,评估误差作为损失函数。
控制器通过函数直接学习高效稳定的控制策略。
DQN训练目标函数最大化期望回报,相当于贝叶斯最优化标准。
DQN采用后验近似函数直接学习策略,可视作控制视为后验推断。
统一视角理解强化学习算法,指导新算法设计。
模型预测控制器(MPI)采用概率动态模型表示系统。
根据动态模型,计算各个时间点的后验状态分布。
选择使累计回报最大的控制序列作为策略。
实现过程需要采样搜索后验分布,计算复杂度高。
采用神经网络近似后验分布,减轻计算负担。
网络输入为观测序列,输出为状态分布或控制值。
训练网络匹配真实系统后验,作为快速可靠控制器。
与经典MPI相比,学习能力强于MPI,执行效率高于采样搜索法。
Cartpole假想实验中,Amortized MPI实现近乎最优控制。
在Atari游戏中,Amortized MPI效果优于DQN与A3C等算法。
可应用于机器人控制、智能车辆等实时性要求强的任务。
控制视为推断框架统一各种强化学习算法理论基础。
控制视为后验推断是一种统一灵活的方法论,可有效解决控制和计划任务。随着深度学习的发展,控制视为推断还将引领强化学习新的进展。
控制视为推断可以用随机控制视角重新解释。
控制随机过程本身被视为推断一个随机变量的后验分布。
对随机控制过程的软回传对应于控制视为推断中的amortized inference。
硬回传对应于真实系统动态的推断过程。
这提供了新的解释框架,且与深度学习相关理论更加紧密。
控制视为推断原理可以应用于模型迁移问题。
将源目标模型视为先后时间点的同一动态模型。
根据先验动态模型和源观测,推断隐变量的先验分布。
再根据目标观测更新隐变量的后验分布。
以此实现模型与任务之间的无监督迁移。
与传统方法相比具有更强的学习能力和泛化能力。
控制视为推断提供统一框架解释各种算法,是深入理解强化学习的重要思路。随着理论基础的完善,它将引领更多强大实用的新算法产生。
从变分推理框架看,Policy Gradient目标可以写成期望奖赏加上情报 term。
求目标关于π的导数,可以写成标准Policy Gradient加上额外项。
额外项的导数计算后等于-1,但由于基线性质可以忽略。
当logπ用Q-V替换后,表达式etc于Q-Learning目标,两者差异在软最大化。
改进Policy Gradient的探索性,防止早期情报熵崩塌。
简化任务定型,熵大于零的π更好定型。
统一选择动作的机制,相同Q-V值动作概率相同。
提高鲁棒性,能以多种方式完成任务。
归一化软最优解,温度趋于0恢复硬最优。
更好模拟人类非确定性决策。
总结控制视为推断框架,讨论各类算法关系。
在这个部分中,教授继续介绍如何使用变分推断或软最优化框架来实现具有一些有趣属性的一些算法。
首先,教授介绍了微调、探索和鲁棒性的研究工作。利用软Q学习进行预训练可以使策略在不确定任务下以多种不同方式学习解决任务,这样一来环境变化时,就无需重新学习,只需要移除错误的解决方式即可。
教授给出了一个小蚁子需要走到蓝色正方形位置的例子。早期学习时,它可以选择探索上通道或下通道,但常规强化学习算法可能会偏向其中一个通道,如果选择错误的话就会陷入当中无法到达目的地。利用软Q学习可以跟踪两种假设,探索两条通道直到确定哪一条更好。
教授还提到了软Q学习算法的细节,比如利用湍泡Q函数 Softmax 来选择动作。这可以使策略在 aprential Q值峰值上分布概率,而不是仅集中在一个峰值上,从而探索两条通道。
教授分析了深度能量策略论文,探讨了如何将软Q学习应用到这个例子中。初期Q函数有两个峰值对应两条通道,但随着探索哪条通道值会升高。如果采用软Q学习策略,概率就分布在两个峰值上进行探索。
教授提到软优化框架也可以导致性能更强的强化学习算法。他介绍了软Actor-Critic算法,这是今天应用最广泛的非策略连续控制算法。软AC算法实质上是将软Q学习扩展到Actor-Critic范式中。
教授给出了软AC算法的更新规则,其中添加了一个熵项来考虑不确定性。他还举例说明软AC可以直接在真实世界中学习一些运动任务,如机械臂堆叠乐高积木和四足机器人行走等。
最后教授总结概述了相关学习推荐,比如线性可解 MDP、软最优控制在人类运动控制中的应用等。这部分主要阐述了利用变分推断来解决控制问题的理论基础和一些典型应用。
在前面我们学习了强化学习,其核心是使用奖励信号直接优化策略。然而,在许多实际问题中,奖励函数未知。
此时可以采用反强化学习(Inverse Reinforcement Learning, IRL)来推断奖励函数。IRL的目的是根据专家演示的行为,来推断引导这个行为的潜在奖励函数。
IRL问题可以这样形式化:观察一个已知策略执行一系列动作,任务是找到一个奖励函数R,使得这个策略是根据R近似解决马尔可夫决策过程(MDP)的最优策略。
最大熵IRL假设找到能够解释观察数据的奖励函数是很多可能奖励函数中的一个。它寻找一个线性奖励函数来最大限度地描述数据,同时保持最大选择熵。
推导过程如下:1) 根据给定奖励函数和状态动作分布计算期望熵。2) 用拉格朗日乘子法求解限制条件下期望熵的极大值问题。3) 使用算法迭代求解。
此外,还提及如何从观察动作序列仅采集状态信息来解IRL问题。这需要假设动作之间独立,利用贝叶斯公式将状态序列解释为不同奖励函数的可能性分布。
这一部分主要介绍了IRL问题定义及最大熵IRL方法。利用专家演示行为学习隐式奖励函数,可以应用到人机交互等领域。
与其他IRL方法相比,最大熵IRL考虑了奖励函数的不确定性。
寻找的是一个线性假设空间内最符合数据的解,能限定问题规模。
执行效率高,可以处理大规模线性程序。
输入专家策略观测数据与状态动作空间。
假设线性奖励函数参数θ,根据占优策略计算期望熵。
求解拉格朗日乘子法下期望熵的极大值,更新θ。
重复步骤3,迭代收敛得到奖励函数参数θ。
从视频中学习汽车驾驶习惯等人类行为模型。
机器人学习通过观察人类动作来完成复杂任务。
游戏 agents学习隐式奖励以增强人工智能的思维能力。
预测不同文化间行为模式的差异性。
推断隐藏的社会规范和动机。
最大熵IRL提供了一种有效方法解决IRL问题,在人机交互等方面具有广阔应用前景。
最大熵IRL需要求解软最优策略,但在大规模和连续问题中计算难度大。
需要枚举所有状态动作对,但状态可能只能通过采样得到,赫难枚举。
可能存在未知动态,通过直接计算前向和后向消息难以应对。
使用任何强化学习算法(如软Q学习)近似学习软最优策略π。
从专家采样轨迹τi估算第一期望值,从π采样轨迹τj估算第二期望值。
但每次优化π到收敛需要高开销,不实际。
每次梯度下降仅近似优化π,导入重要采样修正wj弥补π近似误差。
wj采用soft策略π和奖励函数ρ的比例形式,近似优化π可使wj接近1。
重复优化π和ρ,最终得到解释专家行为的奖励函数和策略π。
该算法首次解决高维反强化学习问题,已在机器人与人机交互任务中应用。
导引成本学习通过重要采样修正,实现近似反强化学习,扩大了IRL在实际问题中的应用范围。
初始化奖励函数ρ和策略π(如随机初始化)
从当前π采样轨迹τj
使用τj和专家展示轨迹τi更新ρ,按重要采样公式计算ρ梯度
使用更新后的ρ近似优化π,得到新的π
重复步骤2-4,直到π和ρ收敛
最终π近似最大化ρ,ρ能很好解释专家行为
收集机器人倒水动作专家展示数据
学习策略能找到水瓶和杯子,根据位置正确进行倒水动作
演示算法能够直接从视频数据学习隐式任务目的,实现复杂动作
首次解决高维连续IRL问题,让IRL在深度强化学习中实用
提出近似优化策略和重要采样方法,使IRLgradient估算可行
建立IRL学习框架,深度神经网络易与算法整合
打开IRL在机器人与人机交互等领域的应用潜力
导引成本学习极大促进了IRL在实际场景中的应用,开启深度IRL新纪元。
这一课将介绍机器学习中另一重要内容-迁移学习和元学习。
迁移学习指学习一个任务,获取知识后应用于另一个相关但不同的任务,以提升第二个任务的学习效果。
常见应用方案包括:
使用预训练模型,Weights作为初始化另一个任务进行微调。
参数迁移,直接将上一个模型部分参数指派给新模型。
实例迁移,将源域实例作为新域实例的一部分进行学习。
这些方法可以充分利用同一领域或相关领域中的先验知识,提高新任务学习效果。
元学习的目标是学习如何学习,使机器学习算法能更快地学习新任务。
其中学习对象从单个任务转移到任务本身,重点建立上层概念来学习不同任务的模式和规律。
典型方法包括学习优化策略、学习初始化参数或模型结构等手段,以实现更好地适应新任务。
这两种学习模式都很重要,有助于深入理解机器学习的本质和提高其应用效果。
元学习的目标是学习如何学习,即学习一个可以更快地在新任务上学习的学习算法。它关注学习从多个任务间的模式和规律,建立上层概念来学习不同任务。
常见形式包括:
学习优化策略,找到可以在各种任务上更快收敛的优化算法。
学习初始化参数或模型结构,能更快地在新任务上进行微调。
学习表示方法,让表示能更快地适应新任务。
它们看似不同,但从算法框架上来看,主要区别在于网络结构设计。
收集多个训练任务的数据集作为元训练数据集。
使用元训练数据集训练元学习模型,实现学习进学习功能。
当新任务出现,使用少量新任务数据微调元学习模型实现快速学习。
测试元学习模型在新任务上的表现能力。
RNN读取训练图片及标签对,产生隐藏状态作为表示。
隐藏状态输入分类器网络预测标签。
训练RNN和分类器网络最小化元训练误差。
新任务提供少量图片,RNN提取隐藏状态作为上下文。
预测新任务图片标签,实现快速学习新任务。
元学习可以有效提高学习新任务的效率,开启机器学习新纪元。
元学习可以理解为最小化在测试集上的损失函数,其中进入损失函数的参数由训练函数fθ应用于训练数据集Dtrain获得。
同样的思路也可以应用于强化学习。常规强化学习是指最大化一些策略πθ下的预期回报。这可以看作是学习函数fr1,但fr1不再应用于训练集,而是应用于MDP。
元强化学习则可以理解为最大化某些带有参数Φι的策略的预期回报,其中参数Φι是通过学习函数fθ对MDPmι求值得出。
我们假设元训练MDPs来自某个分布P(M),在测试时也会有新的测试MDPmtest来自这个分布。我们会通过学习函数fθ对mtest求值来获得新的策略的参数。
为了实现这个想法,我们需要实现fθ(mι)这个编码器,它可以读取mι中的所有经历来指导策略选择行动。
一个直接的实现是使用循环神经网络读取所有过渡(状态-动作-下一个状态-奖励)作为输入,hidden状态作为输出。hidden状态连同状态作为输入 fed 给 policy head产生行动。
这个思路实际上等价于使用一个可以读取整个元回合历史的策略。因为 RNN 不会在 episode 间重置,策略可以利用历史经验进行有效地探索。
后续的工作包括使用 actor-critic 方法、策略梯度等实现这个思路,最近 Transformer 也被用于表示这个概念。总的来说,通过让策略了解 MDP 的全历史可以同时解决探索和适应新 MDP 问题。
本节将介绍基于梯度的元强化学习方法。
预训练先学习一些表示,然后微调到新任务。这是否等同于元学习?如果等同,如何进行元训练使预训练和微调效果更好?
采用强化学习算法Fθ作为元学习模型,Fθ通过梯度更新θ,使新任务学习效果更好。
收集各个元训练任务数据
Fθ使用任务数据更新θ,最大化各任务回报
新任务使用微调θ实现快速学习
Fθ采用梯度更新θ的结构,即强化学习内核作为元学习模型。
ants任务为不同方向移动,元训练θ后一个梯度步骤可以实现相应方向移动。
与RNN不同,支持在新任务上多步梯度训练,联合培训与微调效果更好。
基于梯度的元学习通过设计Fθ结构,实现了预训练特征和微调学习新任务的有效结合,在许多应用中都获得很好效果。
模型无关元学习视为函数f,其结构为强化学习或监督学习算法的梯度更新。
采用梯度更新结构带来偏好,即梯度方法学习效果好,模型无关元学习新任务适应能力也好。
RNN只能一个前向传播,模型无关元学习支持新任务多步梯度学习,通常效果更好。
模型无关元学习能支持比元训练更多的梯度更新步数,表示能力更强。
Ants任务元训练后,不同方向任务只需一个梯度步就能很好地实现对应移动。
模型无关元学习通过利用强化学习内核更新规则,实现预训练特征提取和新任务学习的有效结合,在许多实际任务中表现优异。它提供了一种通用和优秀的元学习框架。
本节为客座讲座,Aviral Kumar教授将分享他在元学习领域的研究成果。
主要研究任务:
使用强化学习解决机器人控制问题
开发元学习算法,实现机器人快速适应新环境
元学习能学习各种任务模式,在新任务上快速适应和优化。
机械臂抓取不同物体任务,元学习训练后一个梯度步即可很好地完成新任务。
采用梯度基元学习框架,将强化学习算法 inner loop 作为 fθ 模型,通过元训练优化 θ。
更复杂环境下的元学习研究
强化学习算法设计融入元学习思想
应用到机器人控制和其他领域任务学习中
Aviral Kumar教授介绍了他在元学习机器人控制方面的 innovative 研究,提出有望解决许多实际问题的有趣思路。
本节为客座演讲,Bo Dai教授将介绍他在自然语言处理领域的研究工作。
自然语言处理,关注端到端深度学习方法在NLP任务上的应用。
使用Transformer模型在很多NLP任务上取得先进效果
提出层次注意力机制来解决长依赖问题
对话系统中生成响应的研究
元学习可以帮助提升模型在低资源条件下学习新任务的能力。
情感分类任务,元训练模型后可以很好地微调到新的领域或语言任务。
深入研究自监督学习在NLP中的应用
继续提升生成模型质量和泛化能力
将元学习应用到更实用的NLP系统中
Bo Dai教授分享了他在自然语言处理领域的前沿研究工作,展示了深度学习在这一领域所取得的进展。
本节为另一位客座讲者Alexandre Bayen教授的演讲。
偶发系统验证和控制,计量学习方法。
交通事故、网络拥堵、疫情传播等都属于偶发事件。
使用机器学习算法估计系统行为分布,验证在各种极端情况下是否安全。
设计启发式控制策略来影响系统状态转移,改善整体表现。
采用小样本学习思想,利用历史数据中的隐含信息来训练模型。
交通网络优化控制、疾病传播预测等领域都 pueden使用该框架。
深度学习在此任务中的应用
与强化学习相结合的控制算法
更好描述和处理系统不确定性
Alexandre Bayen教授介绍了偶发系统在实际问题中的重要性,以及相关研究领域的前景和挑战。