本文介绍下强化学习算法的工具PARL,以及使用中的常见问题和解决方法。
PART1 工具PARL介绍
现在业界已有不少开源强化学习工具,百度也于近期发布了PARL框架。PARL是基于PaddlePaddle的一个强化学习框架,特点是:1)灵活性高,支持多数的强化学习算法;2)为数不多的开源其大规模分布式能力的强化学习算法库;3)通过之前介绍的工业级场景,验证了算法库的可用性。
这套强化学习框架基于3个基础类,分别是agent、algorithm、model。通过不同层级的定制,PARL能够实现方便,灵活,可服用,定制方便的强化学习算法,并具有对于大规模并行能力良好支持。用户可以很方便写出自己独特的定制算法,而不必去管具体通信接口等逻辑。以DQN为例,PARL提供了algorithm的现成DQN算法,用户只需要定制自己的模型即可。
基于PARL的利用现成的DQN Algorithm来开发Model
而如果用户需要定制全新的RL算法,也可以通过定制algorithm简单地实现。
PARL的DDPG Algorithm实例
最后,如果需要定义自己的全新的并行RL训练框架,用户能够通过定义一些通信逻辑,实现一些并行化的复杂操作。
PARL开发并行训练方法实例
这套强化学习库目前在业界已经引起了不少反响。主打灵活,易用和高并发的PARL能够取得什么样的成果,请拭目以待。
PART2 强化学习的存在问题及应对方法
强化学习 – 问题和潜在的研究方向
强化学习绝不是AI的终点,它实实在在解决了一类问题,然而仍然有更多待解决的问题。深度强化学习还远远不够好(Deep Reinforcement Learning Doesn't Work Yet, https://www.alexirpan.com/2018/02/14/rl-hard.html)。总结而言,强化学习存在的这些问题,也是未来值得去突破的方向,包括:
1)在很多应用中,往往目标不明确。例如对话最终目的一般来说是希望对话系统“表现得像人”,然而这个目标无法清楚地进行数学描述。因此reward modeling是很重要的研究方向。比如百度在推荐排序的时候,使用evaluation-generator的框架,即首先对reward的建模。
2)强化学习需要海量的样本,甚至比有监督学习还需要更多的样本。解决方法比如使用world model或planning。
3)奖励函数过于稀疏,难以探索到优质解。研究方向比如分层训练、课程学习和引入辅助任务。
4)泛化能力比较差,很多结果处在过拟合的区域。可以使用元学习,迁移学习,以及近期研究较多的攻防理论来改善。
5)实验难以复现。很多实验,甚至随机种子不一样都会得到完全不一致的效果。这也是百度将自己的工具开源的原因之一,也是要解决这个问题的第一步。
而这些方向,既是强化学习研究的前沿,也是很多工业应用面临的实际问题。百度也正在着力研究,期待有更多突破性的产出。
parl 在我anaconda prompt 中已经显示 安装了 parl 2.0.2 版本了。但是在我的anaconda notebook 中却 import parl 报错,显示没有安装呢
挺好的
非常强大的工具
期待更新
期待后续的内容
写的非常好
补补基础
值得学习
很好
很好
多举几个例子吧
写得不错,学习了。