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

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

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

强化学习中的基本概念

  • 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

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

相关文章
|
机器学习/深度学习 人工智能 自然语言处理
五分钟带你了解ChatGPT的基本原理
五分钟带你了解ChatGPT的基本原理
1059 0
五分钟带你了解ChatGPT的基本原理
|
6月前
|
机器学习/深度学习 算法 图计算
图机器学习入门:基本概念介绍
图机器学习是机器学习的分支,专注于处理图形结构数据,其中节点代表实体,边表示实体间关系。本文介绍了图的基本概念,如无向图与有向图,以及图的性质,如节点度、邻接矩阵。此外,还讨论了加权图、自循环、多重图、双部图、异构图、平面图和循环图。图在描述数据关系和特征方面具有灵活性,为机器学习算法提供了丰富的结构信息。
149 0
|
机器学习/深度学习 人工智能 算法
手把手教你强化学习 (一) 什么是强化学习?与机器学习有什么区别?
手把手教你强化学习 (一) 什么是强化学习?与机器学习有什么区别?
395 3
|
6月前
|
机器学习/深度学习 自然语言处理 算法
探索机器学习的奥秘:从基础概念到算法解析
探索机器学习的奥秘:从基础概念到算法解析
85 0
|
6月前
|
机器学习/深度学习 API 开发者
深入浅出:使用Python实现机器学习模型的部署
在本文中,我们将探讨如何使用Python语言将机器学习模型从开发环境迁移到生产环境的过程。与传统的技术文章摘要不同,我们不仅会概述关键步骤和常见挑战,还将引入一个简易的案例研究,通过这个案例,读者能够更直观地理解模型部署的全过程及其重要性。我们将重点讨论模型封装、API设计、容器化技术以及云服务部署等关键技术,旨在为广大开发者提供一个清晰、实用的模型部署指南。
|
6月前
|
存储 人工智能
ChatGPT的基本原理认识
很多东西很难用文字完全表述,比如如何形容一朵花都感觉不够完美,最简单方法就是把照片拿出来看。而多模态的ChatGPT就做的事这件事,接收:类型的输入并且输出各种类型的输出。
145 1
|
机器学习/深度学习 算法
如何通俗易懂地理解基于模型的强化学习?
如何通俗易懂地理解基于模型的强化学习?
|
机器学习/深度学习 PyTorch 算法框架/工具
深度学习实践篇 第八章:torchscript
简要介绍torchscript的使用方法。
208 0
|
机器学习/深度学习 计算机视觉
深度学习原理篇 第四章:DEIT
简要介绍DEIT的原理和代码实现。
431 0
|
机器学习/深度学习 并行计算 PyTorch
深度学习实践篇 第九章:DDP
简要介绍了DDP的使用。
324 0