在整理一些相关的数学基础知识后,接下来就让我们来和Reinforcement Learning来个第一次的约会吧!
个人觉得,在学习一个新知识的过程中,一般都会是What
->How
->Why
的思路去认识以及理解这个新知识,那么下面就按照这个思路开始描述强化学习门技术——
------------这门课程学习笔记会不断更新哦,欢迎关注和相互沟通学习~~
Reinforcement Learning
,简称RL
)是机器学习中的一个领域,强调如何基于环境而行动,以取得最大化的预期利益。agent
在环境environment
中学习,根据环境的状态state
(或观测到的observation
),执行动作action
,并根据环境的反馈 reward
(奖励)来指导更好的动作。注意:从环境中获取的状态,有时候叫
state
,有时候叫observation
,这两个其实一个代表全局状态,一个代表局部观测值,在多智能体环境里会有差别,但我们刚开始学习遇到的环境还没有那么复杂,可以先把这两个概念划上等号。
有了强化写学习这个强大的技术,那么这个技术一把能用来干什么呢?能在现实应用中做些什么呢?譬如————
强化学习、监督学习和非监督学习都是机器学习中三个不同的领域,都和深度学习有交集;
监督学习寻找输入到输出之间的映射,比如分类和回归问题;非监督学习则在于寻找数据之间的隐藏关系,比如聚类问题;强化学习则需要在于与环境的交互中学习和寻找最佳决策方案;
监督学习处理的是认知问题,强化学习处理的是决策问题。
换句话说,强化学习和监督学习最大的区别在于强化学习没有监督学习已经准备好的训练数据输出值,强化学习只有奖励值,但是这个奖励值和监督学习的输出值不一样,它不是事先给出的,而是延后计算出的。比如最上面的图,比如学习走路,如果摔倒了,那么我们大脑后面会给一个负面的奖励值,说明走的姿势不好。然后我们从摔倒状态中爬起来,如果后面正常走了一步,那么大脑会给一个正面的奖励值,我们会知道这是一个好的走路姿势。同时,强化学习的每一步与时间顺序前后关系紧密,而监督学习的训练数据之间相互独立,没有前后依赖关系。
在了解强化学习和常见的监督学习和非监督学习的区别后,那么强化到底是如何解决问题的呢?——
实际上,强化学习是通过不断地试错探索,吸取教训和经验,持续不断地优化策略,从环境中拿到更好的反馈。一般情况下,强化学习有两种学习方案:基于价值(value-based
)&& 基于策略(policy-based
) 。
假如根据最上面的那张图为例,上面的大脑代表我们的算法执行个体,我们可以操作个人来作决策,即选择一个合适的动作(action) A t A_t At。下面的地球代表我们要研究的环境,它有自己的状态模型,我们选择了动作 A t A_t At后,环境的状态(State)会变,我们会发现环境状态已经变为 S t + 1 S_{t+1} St+1,同时我们得到了我们采取动作 A t A_t At的延时奖励(Reward) R t + 1 R_{t+1} Rt+1。然后个体可以继续选择下一个合适的动作,然后环境的状态又会变,又有新的奖励值。要素如下:
环境的状态 S S S,