PyTorch深度学习实战 | 强化学习( 二 )


PyTorch深度学习实战 | 强化学习
文章图片
■图1.8强化学习的4个元素
3

特征
(1)没有监督者 , 只有一个反馈信号 。
(2)反馈是延迟的 , 不是立即生成的 。
(3)强化学习是序列学习 , 时间在强化学习中具有重要的意义 。
(4)agent的行为会影响以后所有的决策 。
2
强化学习算法简介
强化学习主要可以分为Model-Free(无模型的)和Model-Based(有模型的)两大类 。 Model-Free算法又分成基于概率的和基于价值的 。
1

Model-Free和Model-Based
如果agent不需要去理解或计算出环境模型 , 算法就是Model-Free的;相应地 , 如果需要计算出环境模型 , 那么算法就是Model-Based的 。 实际应用中 , 研究者通常用如下方法进行判断:在agent执行它的动作之前 , 它是否能对下一步的状态和反馈做出预测?如果可以 , 那么就是Model-Based方法;如果不能 , 即为Model-Free方法 。
两种方法各有优劣 。 Model-Based方法中 , agent可以根据模型预测下一步的结果 , 并提前规划行动路径 。 但真实模型和学习到的模型是有误差的 , 这种误差会导致agent虽然在模型中表现很好 , 但是在真实环境中可能达不到预期结果 。 Model-Free的算法看似随意 , 但这恰好更易于研究者们去实现和调整 。
2

基于概率的算法和基于价值的算法
基于概率的算法是指直接输出下一步要采取的各种动作的概率,然后根据概率采取行动 。 每种动作都有可能被选中,只是可能性不同 。 基于概率的算法的代表算法为policy-gradient , 而基于价值的算法输出的则是所有动作的价值,然后根据最高价值来选择动作 。 相比基于概率的方法,基于价值的决策部分更为死板——只选价值最高的 , 而基于概率的,即使某个动作的概率最高,但是还是不一定会选到它 。 基于价值的算法的代表算法为Q-Learning 。
3
强化学习的应用
1

交互性检索
交互性检索是在检索用户不能构建良好的检索式(关键词)的情况下 , 通过与检索平台交流互动并不断修改检索式 , 从而获得较准确检索结果的过程 。
当用户想要搜索一个竞选演讲(Wu&Lee,INTERSPEECH16)时 , 他不能提供直接的关键词 , 其交互性搜索过程如图1.9所示 。 在交互性检索中 , 机器作为agent , 在不断的尝试中(提供给用户可能的问题答案)接受来自用户的反馈(对答案的判断) , 最终找到符合要求的结果 。
2

新闻推荐
新闻推荐 , 如图1.10所示 。 一次完整的推荐过程包含以下过程:一个用户单击App底部刷新或者下拉 , 后台获取到用户请求 , 并根据用户的标签召回候选新闻 , 推荐引擎则对候选新闻进行排序 , 最终给用户推出10条新闻 。 如此往复 , 直到用户关闭App , 停止浏览新闻 。 将用户持续浏览新闻的推荐过程看成一个决策过程 , 就可以通过强化学习学习每一次推荐的最佳策略 , 从而使得用户从开始打开App到关闭App这段时间内的点击量最高 。
PyTorch深度学习实战 | 强化学习
文章图片
■图1.9交互性检索
PyTorch深度学习实战 | 强化学习
文章图片
■图1.10新闻推荐
在此例中 , 推荐引擎作为agent , 通过连续的行动即推送10篇新闻 , 获取来自用户的反馈 , 即单击:如果用户浏览了新闻 , 则为正反馈 , 否则为负反馈 , 从中学习出奖励最高(点击量最高)的策略 。