设计简单有效的强化学习探索算法,快手有新思路

简介: 在本篇论文中,来自德州农工大学和快手的研究者提出了一种简单有效的探索算法,旨在为随机环境的探索问题提供有效的解决方案。

微信图片_20211205094535.jpg



探索是强化学习的经典问题,一个好的探索策略可以极大地提高强化学习的效率,节省计算资源。

例如,在下图所示的迷宫中,智能体(红色三角形)需要从第一个房间出发,逐个打开通往下个房间的门,最终到达终点(绿色方块)。智能体所能得到的奖励是稀疏的,只有在到达终点的时候才能得到奖励。如果不能进行有效的探索,智能体就不知道什么动作是合适的,从而很容易困在前几个房间,陷入局部最优。

微信图片_20211205094537.jpg


研究现状和分析
行业中处理探索问题最常用的方法是内部奖励(Intrinsic Reward)[2][3]。这种方法的基本逻辑是为首次发现的状态设计更大的奖励,从而鼓励智能体去探索未知区域。比如对于上面的迷宫问题,我们可以为没有进过的房间设计更大的奖励,从而让智能体自发地去探索更多的房间。然而,已有的内部奖励方法在随机环境中效果会大打折扣。
例如,我们考虑在每个新的回合产生一个完全不一样的房间情形。下图展示了四个不同的回合,每个回合房间的结构都不一样,智能体遇到的每个房间几乎都是没见过的,内部奖励机制很难区分探索的好坏。因此,我们需要新的的算法去应对环境随机性问题。随机的环境能更好地建模很多现实中的问题,比如股票交易、推荐系统、机器人控制等。

微信图片_20211205094542.jpg


为了解决这个问题,该论文提出了回合排序算法(Rank the Episodes,简称 RAPID)。

回合排序算法

如下图所示,研究者提出了一种为每个回合的探索动作打分和排序的机制,以选出好的探索行为。

微信图片_20211205094545.jpg


对每个回合产生的数据,该算法从三个不同的维度为探索动作打分。从局部角度,算法通过计算覆盖率来打分。比如在上述迷宫中,该研究给访问更多房间的回合打更高的分,因为研究者希望算法能探索更多的房间。从全局角度,研究者希望每个回合尽量访问与之前不一样的状态。最后,算法考虑了外部的奖励大小。在这种迷宫环境中,能取得较好的外部奖励往往意味着探索较好。

为了更好地利用这些好的探索行为,该研究设计了一个简单的缓冲器来暂存分数最高的一批数据。然后,算法利用模仿学习去复现这些比较好的探索行为。例如,如果一个回合访问了很多的房间,算法会通过模仿学习去再现这种好的探索行为,从而间接鼓励智能体探索更多的房间。

回合排序算法可以有效地应对环境的随机性。首先,回合排序算法为整个回合打分,而不聚焦于某个具体的状态。这种整体的行为对随机性更加鲁棒。其次,缓冲器机制可以把一些好的探索行为存起来重复利用,因此一个好的回合可以被学习多次,这从另一方面提高了算法的效率。


回合排序算法在随机环境中的效果


为了验证回合排序算法的有效性,该研究进行了大量的实验。在第一组实验中,该研究考虑了多个来自于 MiniGrid [4] 的不同难度的迷宫:

微信图片_20211205094548.jpg


研究者将回合排序算法和 SOTA 探索算法进行了比较。结果如下(其中 RAPID 为该研究提出的回合排序算法):

微信图片_20211205094554.jpg


这些环境中的数字(SX-RY)代表迷宫中房间的大小和数量。它们越大意味着环境越难探索。实验结果表明,回合排序方法在困难环境中的性能显著优于已有方法。比如在 MultiRoom-N7-S8 上,回合排序算法的学习速度比已有方法快十倍以上。在 KeyCorridor-S4-R3 上,回合排序算法是唯一有效的方法。

在第二组实验中,该研究考虑了一个 3D 迷宫的情况,如下图所示。智能体看到的是一个第一人称视角的图片。类似的,迷宫的结构在每个回合会随机生成。智能体在这样的环境中需要学会怎么在原始的图片信息中探索。

微信图片_20211205094557.jpg


实验表明回合排序算法显著优于已有方法,说明算法在原始图片上依然适用:

微信图片_20211205094600.jpg


回合排序算法在非随机环境中的效果


在第三组实验中,研究者探究了算法是否可以用于机器人控制。如下图所示,智能体需要操作机器人完成特定的任务,比如前进,跳跃,保持平衡等。

微信图片_20211205094603.jpg


实验结果表明回合排序算法在这些非随机环境中依然有较好的效果:

微信图片_20211205094606.jpg


总结

该研究为强化学习探索问题提供了一个新的解决思路,不同于以往基于内部奖励的方法,回合排序算法将好的探索行为记录下来,然后通过模仿学习鼓励智能体探索。初步结果表明,该方法具有非常好的效果,特别是在具有随机性的环境中。


[1] Berner, Christopher, et al. "Dota 2 with large scale deep reinforcement learning." arXiv preprint arXiv:1912.06680 (2019).[2] Pathak, Deepak, et al. "Curiosity-driven exploration by self-supervised prediction." Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition Workshops. 2017.[3] Burda, Yuri, et al. "Exploration by random network distillation." International Conference on Learning Representations. 2018.[4] Chevalier-Boisvert, Maxime, Lucas Willems, and Suman Pal. "Minimalistic gridworld environment for openai gym." GitHub repository (2018).

相关文章
|
4月前
|
机器学习/深度学习 数据采集 算法
智能限速算法:基于强化学习的动态请求间隔控制
本文分享了通过强化学习解决抖音爬虫限速问题的技术实践。针对固定速率请求易被封禁的问题,引入基于DQN的动态请求间隔控制算法,智能调整请求间隔以平衡效率与稳定性。文中详细描述了真实经历、问题分析、技术突破及代码实现,包括代理配置、状态设计与奖励机制,并反思成长,提出未来优化方向。此方法具通用性,适用于多种动态节奏控制场景。
118 6
智能限速算法:基于强化学习的动态请求间隔控制
|
2月前
|
机器学习/深度学习 存储 算法
强化学习算法基准测试:6种算法在多智能体环境中的表现实测
本文系统研究了多智能体强化学习的算法性能与评估框架,选用井字棋和连珠四子作为基准环境,对比分析Q-learning、蒙特卡洛、Sarsa等表格方法在对抗场景中的表现。实验表明,表格方法在小规模状态空间(如井字棋)中可有效学习策略,但在大规模状态空间(如连珠四子)中因泛化能力不足而失效,揭示了向函数逼近技术演进的必要性。研究构建了标准化评估流程,明确了不同算法的适用边界,为理解强化学习的可扩展性问题提供了实证支持与理论参考。
104 0
强化学习算法基准测试:6种算法在多智能体环境中的表现实测
|
5月前
|
机器学习/深度学习 存储 算法
18个常用的强化学习算法整理:从基础方法到高级模型的理论技术与代码实现
本文系统讲解从基本强化学习方法到高级技术(如PPO、A3C、PlaNet等)的实现原理与编码过程,旨在通过理论结合代码的方式,构建对强化学习算法的全面理解。
555 10
18个常用的强化学习算法整理:从基础方法到高级模型的理论技术与代码实现
|
3月前
|
机器学习/深度学习 算法 数据可视化
基于Qlearning强化学习的机器人迷宫路线搜索算法matlab仿真
本内容展示了基于Q-learning算法的机器人迷宫路径搜索仿真及其实现过程。通过Matlab2022a进行仿真,结果以图形形式呈现,无水印(附图1-4)。算法理论部分介绍了Q-learning的核心概念,包括智能体、环境、状态、动作和奖励,以及Q表的构建与更新方法。具体实现中,将迷宫抽象为二维网格世界,定义起点和终点,利用Q-learning训练机器人找到最优路径。核心程序代码实现了多轮训练、累计奖励值与Q值的可视化,并展示了机器人从起点到终点的路径规划过程。
109 0
|
11月前
|
机器学习/深度学习 算法 机器人
多代理强化学习综述:原理、算法与挑战
多代理强化学习是强化学习的一个子领域,专注于研究在共享环境中共存的多个学习代理的行为。每个代理都受其个体奖励驱动,采取行动以推进自身利益;在某些环境中,这些利益可能与其他代理的利益相冲突,从而产生复杂的群体动态。
672 5
|
6月前
|
机器学习/深度学习 算法 机器人
强化学习:时间差分(TD)(SARSA算法和Q-Learning算法)(看不懂算我输专栏)——手把手教你入门强化学习(六)
本文介绍了时间差分法(TD)中的两种经典算法:SARSA和Q-Learning。二者均为无模型强化学习方法,通过与环境交互估算动作价值函数。SARSA是On-Policy算法,采用ε-greedy策略进行动作选择和评估;而Q-Learning为Off-Policy算法,评估时选取下一状态中估值最大的动作。相比动态规划和蒙特卡洛方法,TD算法结合了自举更新与样本更新的优势,实现边行动边学习。文章通过生动的例子解释了两者的差异,并提供了伪代码帮助理解。
409 2
|
8月前
|
机器学习/深度学习 算法 PyTorch
深度强化学习中SAC算法:数学原理、网络架构及其PyTorch实现
软演员-评论家算法(Soft Actor-Critic, SAC)是深度强化学习领域的重要进展,基于最大熵框架优化策略,在探索与利用之间实现动态平衡。SAC通过双Q网络设计和自适应温度参数,提升了训练稳定性和样本效率。本文详细解析了SAC的数学原理、网络架构及PyTorch实现,涵盖演员网络的动作采样与对数概率计算、评论家网络的Q值估计及其损失函数,并介绍了完整的SAC智能体实现流程。SAC在连续动作空间中表现出色,具有高样本效率和稳定的训练过程,适合实际应用场景。
2145 7
深度强化学习中SAC算法:数学原理、网络架构及其PyTorch实现
|
9月前
|
机器学习/深度学习 算法
强化学习之父Richard Sutton给出一个简单思路,大幅增强所有RL算法
Richard Sutton领导的团队提出了一种称为“奖励中心化”的方法,通过从观察到的奖励中减去其经验平均值,使奖励更加集中,显著提高了强化学习算法的性能。该方法在解决持续性问题时表现出色,尤其是在折扣因子接近1的情况下。论文地址:https://arxiv.org/pdf/2405.09999
228 15
|
10月前
|
机器学习/深度学习 人工智能 算法
探索人工智能中的强化学习:原理、算法与应用
探索人工智能中的强化学习:原理、算法与应用
|
10月前
|
机器学习/深度学习 人工智能 算法
探索人工智能中的强化学习:原理、算法及应用
探索人工智能中的强化学习:原理、算法及应用

热门文章

最新文章