- 你如何定义强化学习?它与常规监督或无监督学习有什么不同?
强化学习是机器学习的一个子领域,旨在创建能够在一个环境中采取行动的代理,随着时间的推移,以最大化奖励。RL与常规监督和无监督学习之间存在许多差异。以下是其中一些:
在有监督和无监督学习中,目标通常是在数据中找到模式。在强化学习中,目标是找到一个好的政策。
与监督学习不同,agent没有明确给出“正确”的答案。 它必须通过反复试验来学习。
与无监督学习不同,通过奖励,这里存在一种监督形式。我们不会告诉agent如何执行任务,但我们会告诉它何时进行任务或何时失败。
强化学习agent需要在探索环境,寻找获得奖励的新方法以及利用其已知的奖励来源之间找到适当的平衡点。相比之下,有监督和无监督的学习系统通常不需要担心探索;他们只是根据提供给他们的训练数据进行学习。
在有监督和无监督的学习中,训练实例通常是独立的(事实上,它们通常是混乱的)。在强化学习中,连续观察通常不是独立的。在移动之前,agent可以在环境的相同区域中保留一段时间,因此连续的观察将非常相关。在某些情况下,使replay memory来确保训练算法获得相当独立的观察。
- 你能想到本章未提及的RL的三种可能应用吗? 对于每种情况来说,环境是什么? agent 是什么?行动是什么? 有什么奖励?
以下是强化学习的一些可能的应用,除了第16章中提到的那些:
个性化音乐推荐 - Music personalization
- 环境是用户的个性化网络电台。
- agent是决定该用户接下来要播放的歌曲的软件。
- 可能的动作是播放目录中的任何歌曲(它必须尝试选择用户将喜欢的歌曲)或播放广告(它必须尝试选择用户将感兴趣的广告)。
- 每次用户收听歌曲时获得小奖励,每次用户收听广告时获得更大奖励,当用户跳过歌曲或广告时获得负奖励,如果用户离开则获得非常大的负面奖励。
营销 - Marketing
- 环境是贵公司的营销部门。
- agent*是一个软件,根据他们的个人资料和购买历史记录定义应向哪些客户发送邮件活动。
- 对于每个客户,它有两个可能的动作:发送或不发送
- 它会对邮寄广告系列的费用产生负面回报,对此广告系列产生的估算收入产生积极回报。
产品交付 - Product delivery
让agent控制一批运货卡车,决定他们应该在仓库接收什么,他们应该去哪里,他们应该放下什么,等等。对于按时交付的每种产品,他们都会得到积极的回报,对于延迟交付,他们会得到负面的回报。
- 折扣率是什么? 如果修改折扣率,最优策略会改变吗?
在估算某个动作的价值时,强化学习算法通常会将此动作带来的所有奖励加起来,给予即时奖励更多的权重,减轻后期奖励的权重(考虑到动作对近期的影响比对遥远的未来更具影响力)。
为了对此进行建模,通常在每个时间步应用折扣率。例如,在折扣率为0.9的情况下,当你估计行动的价值时,在两个时间步之后收到的100的奖励仅计为。你可以将折扣率视为衡量未来相对于现在的价值的指标:
如果它非常接近1,那么未来的价值几乎与现在一样多。
如果它接近0,那么只有直接奖励很重要。
当然,这极大地影响了最优策略:
- 如果你重视未来,你可能愿意为最终奖励的前景忍受很多直接的痛苦,
- 如果你不重视未来,你将获得你可以找到的任何即时奖励,从不投资未来。
- 你如何衡量强化学习 agent 的表现?
要衡量强化学习 agent 的表现,你可以简单总结它得到的回报。 在模拟环境中,你可以运行多个episodes并查看平均获得的总奖励(可能会查看最小值,最大值,标准偏差等)。
- 什么是信用分配问题? 什么时候发生? 你怎么能减轻它?
信用分配问题是,当强化学习 agent 收到奖励时,它无法直接了解其先前的哪些行为对此奖励有贡献。它通常发生在一个动作与所产生的奖励之间存在很大的时间延迟时(例如,在Atari的乒乓球比赛期间,在球员击球之前和赢得该球的那一刻之间可能会有几十个时间步长)。
减轻它的一种方法是在可能的情况下为 agent 提供短期奖励。 这通常需要有关任务的先验知识。例如,如果我们想要建立一个学会下棋的agent,我们可以在每次捕获对手的棋子时给予奖励,而不是仅在它赢得比赛时给予奖励。
- 使用replay memory有什么意义?
agent 通常可以在一段时间内保持在其环境的同一区域,因此在那段时间里,它的所有经历都非常相似。这可能会在学习算法中引入一些偏差。它可能会调整这个环境区域的策略,但一旦离开这个区域就不会表现良好。
要解决此问题,你可以使用replay memory; agent 不会仅使用最直接的学习经验,而是根据过去经验的memory来学习,最近也并不是特别近的经历(也许这就是为什么我们在晚上做梦:重播我们当天的经历并更好地学习他们?)。
- 什么是off- policy RL算法?
off- policyRL算法学习最优策略的值(即,如果 agent 采取最佳行动,每个状态可以预期的折扣奖励总额),与 agent 的实际行为无关。 Q-Learning是这种算法的一个很好的例子。
相反,on-policy算法学习 agent 实际执行的策略的值,包括探索和利用。
Thank You!
在我们结束本书的最后一章之前,我要感谢您阅读本书直到最后一段。我真的希望你读这本书的乐趣与我写的一样多,而且它对你的项目有用,无论大小。
如果你发现错误,请发送反馈。更一般地说,我很想知道你的想法,所以请不要犹豫,通过O'Reilly,或通过ageron / handson-ml GitHub项目与我联系。
展望未来,我对你的最好建议是练习和练习:尝试进行所有练习,如果你还没有这样做,玩Jupyter笔记本,加入Kaggle.com或其他ML社区,观看ML课程,阅读论文,参加会议,见专家。你可能还想研究本书未涉及的一些主题,包括推荐系统,聚类算法,异常检测算法和遗传算法。
我最大的希望是本书将激励你构建一个有益于我们所有人的精彩的ML应用程序!会是什么呢?
AurélienGéron,2016年11月26日