原则 #1 评价驱动发展
客观、量化的评价驱动进展:
-
评价指标的选择决定了进展的方向
-
这可以说是项目过程中最重要的决策
排行榜驱动的研究:
-
确保评价指标紧贴最终目标
-
避免主观评估(如人为监测)
假设驱动的研究:
-
提出假设:
-
“双 Q 学习优于 Q 学习,减少了向上偏差”
-
-
在广泛的条件下验证该假设
-
做同类比较,不对比目前最新进展
-
要理解,而不是看排行榜排名
原则 #2 可伸缩性决定成败
-
可伸缩性是算法相对于资源的性能梯度
-
如果提供更多的资源,性能是如何增加的?
-
-
资源包括计算、内存或数据
-
可伸缩性最终决定了算法成功与否
-
可伸缩性总是(最终)比好的出发点更重要
-
好的算法在资源无限的条件下总是最优的
原则 #3 通用性保证算法符合未来发展
-
算法的通用性是它在不同的强化学习环境下的性能体现
-
避免对当前任务的过拟合
-
寻找可以推广到未知、未来环境的算法
-
我们无法预测未来,但是:
-
或许未来的任务会至少和当前任务一样复杂
-
而在未来,当前任务中遇到的困难很可能会增加
-
结论:在多样化且真实的强化学习环境中进行验证
原则 #4 信任智能体的经验
经验(观察、行为、奖励)是强化学习的数据:
-
在智能体的整个生命历程中,可以不断积累经验
-
要相信经验是知识的唯一来源
-
人类的专业知识总会起诱导作用(人类数据,特征,启发式、约束、抽象、域操作)
-
-
仅从经验中学习似乎是不可能的,但是:
-
要接受的是,强化学习的核心问题是困难的
-
这是人工智能的核心问题
-
这是值得我们努力的
-
-
长远来看,从经验中学习永远是赢家
原则 #5 状态是主观的
智能体应该根据经验构建自己的状态。
智能体状态是前一状态和新观察的函数
这是一个循环神经网络的隐藏状态
永远不要根据环境的“真实”状态(部分可观察马尔可夫决策过程,POMDP)来下定义
原则 #6 控制数据流
-
智能体存在于丰富的感觉运动的数据流中
-
输入智能体的观察数据流
-
智能体输出的行为数据流
-
-
智能体行为影响物流
-
控制特征 => 控制数据流
-
控制数据流 => 控制未来
-
控制未来 => 最大化任意奖励
原则 #7 值函数建模世界
为什么要使用值函数?
-
值函数可以有效地总结 / 缓存未来
-
固定时间查找,而不是指数级的正向预搜索(LookAhead),可以简化搜索规划
-
可以独立计算和学习
学习多个值函数可以:
-
有效地模拟世界的许多方面(通过控制数据流)
-
包含后续的状态变量
-
-
支持多种时间尺度
避免在原始时间步长上模拟世界。
原则 #8 规划:从想象的经验中学习
一种有效的规划方法:
-
想象下一步会发生什么
-
基于模型的状态采样轨迹
-
-
从想象的经验中学习
-
使用已应用于实际经验的强化学习算法
现在,应该关注值函数近似(value function approximation)。
原则 #9 赋能函数近似器
可微分网络架构是强大的工具,有助于:
-
丰富的方式表示状态
-
可微分记忆
-
可微分规划
-
分级控制
-
…
算法复杂度应用到网络架构,可以:
-
减少算法的复杂度(如何更新参数)
-
增加架构的可表达性(参数用来做什么)
原则 #10 学会学习
人工智能的历史展示了一条清晰的发展足迹:
第一代:尚好的旧式人工智能
-
手动预测
-
不支持学习
第二代:浅尝学习
-
手动处理特征
-
开始学习预测
第三代:深度学习
-
手动算法(优化器、目标、架构等)
-
端到端的特征和预测学习
第四代:元学习
-
无需手工
-
端到端的算法、特征及预测学习
原文链接:
http://www.deeplearningindaba.com/uploads/1/0/2/6/102657286/principles_of_deep_rl.pdf