大数据文摘出品
编译:蒋宝尚
今年9月份举办的深度学习Indaba2018峰会的干货确实不少,昨天文摘菌给大家整理了27位大咖关于自然语言处理的精彩问答。今天文摘菌再给大家整理一份关于强化学习的10个原则,不仅在强化学习中有用,在机器学习研究中也能够提供一些参考。
这10个原则是一位来自Insight数据分析研究中心的博士生Sebastian Ruder在参会期间对David Silver报告进行的整理,除了Ruder自己的解析外,也把他自己拍的照片分享了出来。
1. 评估推动进步
量化的评估才能推动进步。评估奖励的选择决定了进步的方向,要确保评估指标与目标密切相关,避免主观评价(例如人类学科)。还有一点,双Q学习优于单Q学习,因为后者能减少偏见。
2. 算法的可扩展性决定成功
算法如何扩展非常重要,要避免性能上限。深度学习非常棒,因为它可以有效地扩展,但是样本效率同样重要。
算法的可扩展性的表现取决于资源,而算法的可扩展性决定是否成功:那么给予更多资源,性能如何提高?值得一提的是,这里的资源指的是计算,内存或数据。
3. 通用性,即算法在其他任务上的表现非常重要
关键是要设计一系列具有挑战性的任务,即应该对不同的新任务进行评估。避免过度使用当前的任务。
4. 相信Agent的经验
不要依赖人类的专业知识,不要依赖于工程特征。在数据有限时,领域专业知识和归纳偏差非常重要。
一些任务可能看起来不太可能完成,但是,你确实能在其中学到很多经验。这种任务或者项目,通常满足这三点:
- 很难接受RL的核心问题。
- 是AI的核心问题
- 非常值得你去努力
5. 状态应该是主观的
应将状态建立为模型的状态,即RNN的隐藏状态,而不是根据环境定义。只有agent对世界的主观看法才是重要的。不要推理外部现实,因为达到的效果非常有限。
6. 控制流
Agent影响数据流和体验。Agent应该有能够访问控制环境的功能。重点不仅在于***化奖励,还在于建立对流的控制。
7. 价值函数塑造世界
价值函数有效地总结了当前和未来的状况。多值函数允许我们模拟世界的多个方面。可以帮助控制流。
8. 从想象的经验(imagined experience)中学习
接下来该怎样规划?同样的,RL算法可以从想象的经验(imagined experience)中学习,如Alphago中使用MCTS和值函数。
9. 利用函数逼近器
可以将算法复杂度揉进神经网络架构,甚至MCTS,分层控制等也可以用NN建模。然后要真正理解:我们从模型学到了什么。
10. 学会学习
必须精通元学习,然后,你可能不再需要手工设置网络架构,一切都是端到端学习。总而言之,神经网络要通过尽可能少的人工干预来处理事情。但是,归纳偏差应该仍然有用。
相关报道:
https://twitter.com/seb_ruder/status/1040235236284669952?utm_campaign=NLP%20News&utm_medium=email&utm_source=Revue%20newsletter
【本文是51CTO专栏机构大数据文摘的原创译文,微信公众号“大数据文摘( id: BigDataDigest)”】