首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >强化学习(一)入门介绍

强化学习(一)入门介绍

作者头像
Minerva
发布2020-09-28 09:10:34
1.1K0
发布2020-09-28 09:10:34
举报

本讲将对强化学习做一个整体的简单介绍和概念引出,包括什么是强化学习,强化学习要解决什么问题,有一些什么方法。 一、强化学习 强化学习(Reinforcement Learning, RL)又称为增强学习、评价学习等,和深度学习一样是机器学习的一种范式和方法论之一,智能体从一系列随机的操作开始,与环境进行交互,不断尝试并从错误中进行学习策略,最大化回报值,最终找到规律实现既定目标。 强化学习主要包含四个元素:智能体Agent、环境状态Enviroment、行为Action、奖励Reward,强化学习的目标就是通过不断学习总结经验获得最大累积奖励。

强化学习的过程:智能体首先采取一个与环境进行交互的动作,导致环境状态发生了改变,同时环境会产生一个强化信息(正或负的奖励),智能体根据强化信息和环境当前的状态采取下一个人动作,不断迭代使得累积奖励值最大。想象在一个比赛中没有人对你进行任何培训,直接开始比赛,有一个裁判不会告诉你怎么做,但是会对你的每个行为进行打分,我们需要记住并且多做这些高分的行为,避免低分行为,但在实际大型强化学习场景中要比这个例子复杂的多。 强化学习有非常广泛的应用,如经典游戏,机器人、四轴飞行器表演等。

二、基本方法

1、Model-free和Model-based 这里的model模型指的是在一个环境中各个状态之间转换的概率分布描述,也就是用模型描述环境。 Model-based:只要模型Transition Model

存在,即在状态 s 采取行动 a 后转移到 s' 的概率,然后基于这个 Model 去选择最优的策略。只要模型是确定的,转移概率就是确定的。只要转移概率是确定的,我们就能知道对应于?→ ?′的转移概率,以及在状态?下做什么样的动作 ?会有最高的回报值。这样,一个状态的估值??(?),以及一个状态下的动作估值 ??(?, ?),就比较容易被准确地估计出来了。

Model-free:在绝大多数场景中,模型都是未知的或者未精确量化的,计算机只能按部就班,一步一步等待真实世界的反馈,再根据反馈采取下一步行动。 Model-free 的方法有很多, 像 Q learning、Sarsa、Policy Gradients 都是从环境中得到反馈然后从中学习,Transition Model,通常通过不断的尝试去直接学习最优策略。

区别: Model-based方法的样本效率更高,Model-based方法的代码实现难度更小,,Transition Model 的空间复杂度为

,所以不太适合用于解决状态空间和动作空间过大的问题。

Policy Iteration 和Value Iteration 都是 model-based 方法,因此一定程度上受限于状态空间和动作空间的规模。于是 Q-learning 应运而生。

2、基于概率和基于价值 基于概率(Policy-Based)是强化学习中最直接的一种,通过所处的环境,输出下一步要采取的各种动作的概率,根据概率采取行动,所以每种动作都有可能被选中,只是概率不同,基于概率的方法适合连续动作的强化学习。 基于价值(Value-Based)的方法输出则是所有动作的价值,根据最高价值来选择动作,相比基于概率的方法,基于价值的决策部分更为肯定,就选价值最高的,而基于概率的,即使某个动作的概率最高, 但是还是不一定会选到他. 当然还有二者的结合:Actor-Critic。

3、回合更新和单步更新 回合更新就是从开始到结束的整个回合之后才能更新行为准则。 单步更新就是在进行过程中每一步都可以更新,不需要等待整个回合结束,相当于边玩边学习。 Monte-carlo learning 和基础版的 policygradients 等都是回合更新制, Qlearning, Sarsa, 升级版的 policy gradients 等都是单步更新制. 因为单步更新更有效率, 所以现在大多方法都是基于单步更新。

4、在线学习 和 离线学习 在线学习就是必须本人在场,并且一定是本人一边行动一边学习。 离线学习是可以选择自己行动,也可以选择看着别人行动,通过看别人行动来学习别人的行为准则,离线学习 同样是从过往的经验中学习,但是这些过往的经历没必要是自己的经历,任何人的经历都能被学习。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-09-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python编程和深度学习 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档