手把手教你强化学习 (二) 强化学习的直观理解和基本概念

简介: 手把手教你强化学习 (二) 强化学习的直观理解和基本概念

 上节聊完了这个强化学习从直观上的一些理解。以及它和其他的机器学习方法的一些异同点。这一节来唠唠强化学习中的一些基本的概念及其组成部分。主要就是一些概念,将其罗列出来,方便理解和观看。

强化学习中的基本概念

  • Agent

  Agent中文名称一般被称为智能体,或者称之为“玩家”,是整个强化学习算法的核心。整个的学习过程都在智能体内部,外部基于一些数据。是整个强化学习中最核心的部分。智能体通过action与环境交互,获得奖励反馈,进而学习调整动作以获取更大的奖励。

  智能体除了需要获得更多的奖励之外,还有一个另外一个指标衡量其学习算法:学习时间。一个好的算法会用较短时间学会相同任务。对这个问题,在实践过程中,我们通常考虑的是训练样本的使用率(Sample Efficiency)。

  • Policy Function

  Policy Function中文叫策略函数,这个策略就是智能体的行为准则。就像每个人不同的处事风格,当两个人看到同一个问题,解决方法往往很难一模一样。在强化学习里,看到相同的状态,所采取的动作不同,背后的原因就是Policy的不同。也有一些论文基于强化学习做用户个性化推荐,比如:淘宝。策略函数其实是一种映射,将环境的状态值s t s_{t}st映射到一个行动集合的概率分布或概率密度函数上。

  • Value Function

  Value Function中文叫值函数,描述地是当前状态的好坏,它会依赖于当前的Policy。举个例子来说,在斗地主的过程中拿到一手这样的牌:王炸、四个2、四个A这种,如果让一个正常水平的人对线的话,这手牌的值函数是比较大的,如果让我两岁的小外甥去打,这种Policy可能就太差了,导致这个值函数也会比较低。所以说它会依赖于当前的policy。通常将值函数定义为v ( s ) v(s)v(s),它本身定义的是智能体所能拿到的期望奖励。最优值函数(the optimal value function)是所有值函数中值最大的那一个,最优策略(optimal policy)是能拿到最优值函数的那个策略。

  • Model

  Model是用来感知环境是如何变化的,这里并不是真实的环境,而是在Agent眼里面的环境,Model就是用来判断环境变化的。强化学习算法大致可以分为两大类:基于模型的方法(Model-Based)和无模型方法(Model-Free)。

  在Model-Based的方法里面,智能体会利用之前所学得的模型信息去完成一个任务;在Model-Free方法中,智能体仅仅依赖不断试错的一些经验数据进行学习。如果以人类为例的话,Model-Based方法就相当于知道整个世界的地图,你可以用地图做出出行的选择,而在无模型方法中,你需要不断地尝试,自己去构建这样的地图,当你探索了所有的地方之后,你才能知道哪条路是最短路径。

智能体如何与环境交互?

  上文介绍了智能体需要与环境交互来获得更大的期望奖励,而奖励直接与控制效果挂钩,从而达到智能体做出先进的智能决策。那智能体是如何与环境交互获取数据的呢?

  智能体在时间t tt采取动作A t A_{t}At,并将这个动作送到环境中去,环境将会从状态S t S_{t}St转移到下一个状态S t + 1 S_{t+1}St+1,基于上述过程环境还将给予一个奖励反馈R RR,如此往复。强化学习要做的就是使得整个序列所能获得的期望奖励最大。如下图所示:

  举个例子解释一下:假设控制一个电机(马达),加大电流转速会增加。假设当前状态S t S_{t}St电机转速500(转/分),有一个智能体A AA,在时间t tt给了一个加大电流5安培的动作A t A_{t}At,电机的转速,也就是状态就会发生改变,转移到下一个状态S t + 1 S_{t+1}St+1:转速1000(转/分),如果此时的控制系统刚好要求电机转速是1000(转/分),那么就会得到一个+1的奖励。

环境有多少种呢?

  强化学习现在也是被用于各种领域,什么天上飞的,水底游的,陆地上跑的都有,那这些东西总结起来可以归为几类呢?从不同的角度,主要可分为以下7类:

  • Deterministic Environment

  在确定性环境里面,基于当前状态给一个动作,他的输出是确定的。比如下围棋,落子这个动作一旦确定,那环境接下来的状态也都确定了。

  • Stochastic Environment

  环境带有随机性,比如受一些外部的扰动,导致环境的参数发生一些变化等等,这种控制对象就是不稳定的会发生一些跳变,或者突变。

  • Fully Observable Environment

  智能体能观测到环境的所有信息,称之为完全可观测环境。比如像围棋这种,能看到整个棋盘,以及所有时间序列的对手落子位置。

  • Partially Observable Environment

  部分可观测环境,即环境的信息有一部分是不可见的,比如说斗地主时对方手中的牌,以及星际争霸中的战争迷雾都属于部分可观测的,或者称作非完美信息。

  • Discrete Environment

  当你的动作选择是离散的时候,我们称这类环境叫做离散环境,像围棋这种。

  • Continuous Environment

  当动作选择是连续的时候,这类环境叫做连续环境,像上文中说的控制电机的例子,动作是电流的输出,输出电流是一个连续值。

  • Episodic And Non-Episodic Environment

  依据序列动作之间是否具有相关性,可以将环境分为Episodic和Non-Episodic两类。episodic也被称作non-sequentia environment,当前的action不会影响未来的action。Non-Episodic也被称作sequential environment,智能体所有的动作之间都是存在相互关联的,类似打牌的时候出牌顺序也是相互关联的。

  这个类似的概念在Sutton那本书中也有类似的介绍,原文如下:

  In the preceding section we described two kinds of reinforcement learning tasks, one in which the agent– environment interaction naturally breaks down into a sequence of separate episodes (episodic tasks), and one in which it does not (continuing tasks).

  中文大概的意思就是:强化学习任务分为两类,一类是智能体与环境交互达到一定的次数之后自然终止,另一类是一个episodes的序列有无穷多个。并且定义一个episode终止时刻的状态:absorbing state每次都将转移到本身这个状态

  • Single and multi-agent environment

  Single and multi-agent environment顾名思义,就是单个智能体的环境和具有多个智能体的环境。多智能体一般用于一些更加复杂的任务,一般这种场景的随机性、不确定性更高。

  更具体的强化学习的实验环境介绍,为了保持整个强化学习系列看起来比较简洁,我将其单独列为了一篇文章:深度强化学习中实验环境-开源平台框架汇总

强化学习应用场景

  强化学习的目前应用场景有经典控制、游戏博弈、股票预测,电网优化,控制机器人等。具体一点的话,有教育行业,依据学生的行为风格,用强化学习制定个性化的学习策略。DeepMind公司也有将强化学习用于药物、医疗方面。其实还有好多好多,像推荐系统,自然语言处理,视频监控等方面都有涉及。

我的微信公众号名称深度学习先进智能决策

微信公众号ID:MultiAgent1024

公众号介绍:主要研究深度学习、强化学习、机器博弈等相关内容!期待您的关注,欢迎一起学习交流进步!

相关文章
|
程序员
学习学习再学习
学习学习再学习
124 0
|
前端开发 NoSQL Java
如何学习?今天聊聊关于学习
如何学习?今天聊聊关于学习
173 0
|
弹性计算 Linux 虚拟化
选择正确,不断学习
对于学计算机的,对于我的专业,学习并掌握Linux操作系统是必须的,但是一开始在自己的电脑用VMware在自己的电脑搭建虚拟机学习,但是这样会导致自己的计算机变得很卡,因为会占用主机很大的内存。在我的老师的引荐下,认识了阿里云服务器,而且他推荐我们去参加“飞天加速计划,高校学生在家实践活动”,那样可以先体验阿里云服务器ECS,看看是否适合自己。于是我便去完成了练习和答题拿到了体验资格。
|
机器学习/深度学习 算法
一句话总结LLE(流形学习)
一句话总结LLE(流形学习)
一句话总结LLE(流形学习)
|
小程序 程序员 Windows
学习情况
一·自我情况,二·使用过程,三·心得体会
fbh
|
前端开发
less 学习
koala 前端编辑less神器,下载,不需要安装less直接使用,拖拽式使用,可以直接在本地编译出文件css,否则需要安装less,node,以方便less 使用。
fbh
1090 0
|
前端开发 安全 Java
|
Web App开发 XML 缓存