75、深度强化学习的应用案例解析

深度强化学习的应用案例解析

1. 强化学习与自我学习机器人

强化学习与监督学习的关键区别在于,它能够通过奖励引导的试错学习,在已知知识的基础上进行创新。自我学习机器人是人工智能的一个重要前沿领域,利用奖励驱动的方法,机器人可以被训练执行各种任务,如移动、机械维修或物体检索。

以机器人移动为例,一个具备移动能力的机器人,需要学习精确的动作选择,以保持平衡并从A点移动到B点。对于双足机器人来说,关节运动的错误选择很容易导致其摔倒,当地形不确定和有障碍物时,问题会变得更加困难。这种情况非常适合强化学习,因为判断机器人是否正确行走相对容易,但要为每种可能的情况指定精确的规则却很困难。在奖励驱动的强化学习中,机器人每次在从A点到B点的移动中取得进展时都会获得(虚拟)奖励,它可以自由采取任何行动,而无需预先学习有助于保持平衡和行走的特定动作选择。

除了移动,教机器人执行操作任务,如抓取物体或拧上瓶盖,也是类似的问题。下面将分别讨论机器人移动技能和视觉运动技能的深度学习。

1.1 移动技能的深度学习

在这个案例中,使用MuJoCo物理引擎模拟虚拟机器人来教授移动技能。MuJoCo是一个用于多关节动力学与接触的物理引擎,旨在促进机器人、生物力学、图形和动画等领域的研究和开发,无需构建实际机器人即可进行快速准确的模拟。使用了人形和四足机器人,人形模型有33个状态维度和10个驱动自由度,四足模型有29个状态维度和8个驱动自由度。

模型因向前移动而获得奖励,当机器人的质心低于某一点时,回合结束。机器人的动作由关节扭矩控制,它可以获取一些特征,如障碍物位置、关节位置和角度等,并将这些特征输入到神经网络中。使用了两个神经网络,一个用于价值估计,另一个用于策略估计,采用了策略梯度方法,其中价值网络用于估计优势,这是一种演员 - 评论家方法的实例。

使用了一个具有三个隐藏层的前馈神经网络,分别有100、50和25个双曲正切单元。该方法需要估计策略函数和价值函数,隐藏层使用了相同的架构,但价值估计器只需要一个输出,而策略估计器需要与动作数量相同的输出。使用了广义优势估计器(GAE)与基于信任的策略优化(TRPO)相结合。经过1000次强化学习迭代训练,机器人学会了以美观的步态行走。

机器人类型 状态维度 驱动自由度
人形机器人 33 10
四足机器人 29 8

mermaid格式流程图:

graph LR
    A[机器人移动任务] --> B[获取环境特征]
    B --> C[输入神经网络]
    C --> D[策略估计与价值估计]
    D --> E[输出动作]
    E --> F[获得奖励或惩罚]
    F --> G[更新网络参数]
    G --> B
1.2 视觉运动技能的深度学习

另一个有趣的强化学习案例是训练机器人执行一些家庭任务,如将衣架挂在架子上、将积木插入形状分类立方体、用不同的抓握方式将玩具锤子的爪子放在钉子下面以及拧上瓶盖。在这个案例中,使用了实际的物理机器人模型进行训练,机器人使用相机图像来定位和操作物体,相机图像可以看作机器人的眼睛,机器人使用的卷积神经网络基于与视觉皮层相同的概念原理工作。

动作是7维的关节电机扭矩命令,每个动作需要一系列命令才能最佳地完成任务。使用卷积神经网络将图像帧映射到动作,该卷积神经网络有7层和92,000个参数。前三层是卷积层,第四层是空间softmax层,第五层是将空间特征图转换为简洁的二维坐标的固定变换。通过对空间特征图应用softmax函数,得到特征图中每个位置的概率,使用该概率分布的期望位置得到二维坐标,即特征点。

空间特征点与机器人的配置信息连接起来,输入到两个全连接层,每个全连接层有40个修正单元,然后线性连接到扭矩。整个网络中约86,000个参数在卷积层。该方法将强化学习问题转化为监督学习,使用了引导策略搜索方法。

2. 聊天机器人的深度强化学习

聊天机器人也被称为对话系统,其最终目标是构建一个能够与人类自然地自由交谈各种话题的智能体。目前,虽然距离实现这一目标还很远,但在特定领域和特定应用中已经取得了显著进展。

苹果的Siri是一个相对通用的系统,可被视为开放领域系统,用户可以与它就各种话题进行对话,但它有时无法对难题提供满意的回答,甚至对常见问题的一些搞笑回答是硬编码的。相比之下,封闭领域系统有特定的任务,更容易进行可靠的训练。

Facebook构建了一个用于端到端学习谈判技能的系统。该系统是一个封闭领域系统,用于模拟谈判任务。两个智能体被展示一组不同类型的物品(如两本书、一顶帽子、三个球),并被要求通过谈判分配这些物品。每个物品对两个智能体的价值不同,且它们不知道对方对物品的价值评估。

物品的价值是非负的,在测试平台上随机生成,有一些约束条件:每个用户的所有物品总价值为10;每个物品至少对一个用户有非零价值;有些物品对两个用户都有非零价值。这确保了谈判过程具有竞争性,因为两个用户不可能都获得10分的最高分。经过10轮谈判后,智能体可以选择不达成协议,此时双方得分为0分。

该强化学习设置的奖励函数是用户获得的物品的最终价值。为了最大化话语的可能性,可以对以前的对话进行监督学习,但直接使用循环网络最大化话语可能性会导致智能体过于急于妥协。因此,该方法将监督学习与强化学习相结合,引入了对话滚动规划的形式。使用了编码器 - 解码器循环架构,其中解码器最大化奖励函数而不是话语的可能性。

为了便于监督学习,从亚马逊机械土耳其人收集了对话数据。共收集了5808个对话,涉及2236个独特场景,其中252个场景(对应526个对话)被保留用于测试。每个场景会产生两个训练示例,分别从每个智能体的角度出发。

监督学习过程使用了四个不同的门控循环单元(GRU),分别用于编码输入目标、生成对话术语、正向输出和反向输出,输出由双向GRU产生。在监督学习中,使用输入、对话和输出数据训练参数,损失是对话的令牌预测损失和物品输出选择预测损失的加权和。

对于强化学习,使用对话滚动。监督模型中的GRU组本质上提供概率输出,通过改变损失函数可以将同一模型用于强化学习,将GRU组合视为一种策略网络,使用它生成各种对话的蒙特卡罗滚动及其最终奖励,每个采样动作成为训练数据的一部分,并与滚动的最终奖励相关联。该方法使用自我博弈,让智能体与自己谈判以学习更好的策略,滚动获得的最终奖励用于更新策略网络参数。

为了最终预测,使用了两阶段方法。首先,通过采样创建c个候选话语,计算每个候选话语的期望奖励,选择期望价值最大的话语。在计算期望奖励时,将输出乘以对话的概率,因为低概率对话不太可能被任何一方选择。

观察发现,监督学习方法往往容易放弃,而强化学习方法在争取更好的交易时更有毅力,并且强化学习方法经常表现出类似人类的谈判策略,例如假装对某个不太有价值的物品感兴趣,以换取另一个物品的更好交易。

学习方法 特点
监督学习 容易放弃,急于妥协
强化学习 更有毅力,表现出人类谈判策略

mermaid格式流程图:

graph LR
    A[谈判任务] --> B[收集对话数据]
    B --> C[监督学习训练GRU]
    C --> D[构建策略网络]
    D --> E[对话滚动生成奖励]
    E --> F[更新策略网络参数]
    F --> G[两阶段预测选择话语]
    G --> H[完成谈判]
3. 自动驾驶汽车中的强化学习

自动驾驶汽车的目标和机器人移动任务类似,汽车在从A点到B点行驶的过程中,如果不发生事故或其他不良道路事件,就会获得奖励。汽车配备了各种类型的视频、音频、接近和运动传感器来记录观察数据,强化学习系统的目标是让汽车无论在何种道路条件下都能安全地从A点行驶到B点。

驾驶是一项很难为每种情况指定正确行动规则的任务,但判断驾驶是否正确相对容易,这恰好适合强化学习。有一项工作仅使用一个前置摄像头,受1989年Pomerleau的工作启发,与25年前的工作相比,主要区别在于数据和计算能力的增加,同时还运用了卷积神经网络的一些进展进行建模,这凸显了数据和计算能力在构建强化学习系统中的重要性。

训练数据是在各种道路和条件下驾驶收集的,主要来自新泽西州中部,同时也从伊利诺伊州、密歇根州、宾夕法尼亚州和纽约州收集了高速公路数据。虽然决策主要依赖于驾驶员位置的单个前置摄像头,但训练阶段还使用了另外两个位于前方其他位置的摄像头来收集旋转和移位的图像,这些辅助摄像头不用于最终决策,但有助于数据增强,可训练网络识别汽车位置受影响的情况。

神经网络的训练目标是最小化网络输出的转向命令与人类驾驶员输出的命令之间的误差,这种方法更接近监督学习,也被称为模仿学习。模仿学习常作为强化学习系统冷启动的第一步。在这个场景中,如果汽车在没有人工干预的情况下取得进展,就给予奖励;如果没有进展或需要人工干预,则给予惩罚。不过,实际的自动驾驶系统似乎并非完全按照这种强化学习方式训练。由于自动驾驶汽车训练时必须考虑安全问题,目前大多数公开的自动驾驶汽车细节有限,看起来监督学习在这个领域应用更多,但从神经网络的整体架构来看,监督学习和强化学习的差异并不显著。

该自动驾驶系统的卷积神经网络架构有9层,包括一个归一化层、5个卷积层和3个全连接层。第一个卷积层使用5×5的滤波器,步长为2;接下来的两个卷积层使用3×3的滤波器,无步长卷积;后面是三个全连接层,最终输出值是对应于反向转弯半径的控制值。该网络有2700万个连接和25万个参数。

网络层类型 数量
归一化层 1
卷积层 5
全连接层 3

mermaid格式流程图:

graph LR
    A[自动驾驶任务] --> B[收集图像数据]
    B --> C[数据预处理与增强]
    C --> D[输入卷积神经网络]
    D --> E[输出转向控制值]
    E --> F[汽车行驶并获得反馈]
    F --> G[更新网络参数]
    G --> B

经过训练的自动驾驶汽车在模拟和实际道路条件下都进行了测试。实际道路测试中,始终有人类驾驶员在场,以便在必要时进行干预。测试发现,车辆98%的时间可以自主行驶。通过可视化训练后的卷积神经网络的激活图,可以观察到特征主要学习与驾驶相关的图像方面。例如,在未铺砌的道路上,特征激活图能够检测到道路的轮廓;而在森林中,特征激活图充满噪声,这与在ImageNet上训练的卷积神经网络不同,因为自动驾驶场景中的卷积网络是目标驱动的,只学习与驾驶相关的特征。

总结

强化学习在多个领域展现出了强大的应用潜力。在自我学习机器人方面,无论是移动技能还是视觉运动技能的学习,都通过巧妙设计的神经网络架构和奖励机制,让机器人能够自主学习完成复杂任务。聊天机器人领域,将监督学习与强化学习相结合,在封闭领域的谈判任务中取得了不错的效果,使智能体能够学习到更有效的谈判策略。而在自动驾驶汽车中,尽管目前更多采用监督学习或模仿学习的方式,但强化学习的理念也为其发展提供了重要思路,随着数据和计算能力的提升,强化学习有望在自动驾驶领域发挥更大的作用。这些应用案例充分展示了强化学习在不同场景下的适应性和创新性,为人工智能的发展开辟了广阔的前景。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值