【强化学习】1-1-0 强化学习介绍 【强化学习】1-1-0 强化学习介绍



title: 【强化学习】1-1-0 强化学习介绍
categories:
- Reinforcement Learning
- RL-An Introduction
keywords:
- Reinforcement Learning
- Situation
- Action
- Enviroment
- Closed-loop
- Optimal Control
- Markov Decision Processes
- MDPs
toc: true

date: 2018-08-25 22:41:02

Abstract: 本文介绍Reinforcement Learning的具体特点和与其他机器学习算法不同之处,本文是一个骨架性的文章,所有专有名词都保持英文原始单词,具体内容会在后续中给出详细解答。
Keywords: Reinforcement Learning,Situation,Action,Enviroment,Closed-loop,Optimal Control,Markov Decision Processes,MDPs

Reinforcement Learning

中文翻译Reinforcement Learning为强化学习,不知道为啥这么翻译,也没想去了解给这个词命名的人是否非常了解这个领域的知识,既然这么叫了那就这样吧。
上面谈到命名是为了介绍其内容,有些东西的命名,可以直接看出其内容,但是强化学习,显然不是这类的,而“土豆片”,“薯条”这种名字则可以。

本文后面把强化学习简写成RL或者直接写英文名,希望大家理解。

Reinforcement Learning 像Machine Learning一样,名字里都有Learning这个词,表明,RL也是一个问题和解决方案的集合。

值得注意的是,RL属于machine learning的一种。

对于问题和解决方案的集合这种描述,我们有很多经典的例子:

  1. “拟合房子的面积大小和价格”的问题
  2. “识别手写数字”的问题

这些问题对应了一系列解决方案,比如直线拟合就有最小二乘法,svm等算法来解决;识别手写数字可以有神经网络(Naive版,全连接的那种神经网络),CNN等方法。问题和方法一起构成了一个监督学习(机器学习中的一种)问题。
对于RL一样,一个问题,和一些列解决方案,找出各种方案的优缺点,提出更好的方案,这就是强化学习的内容,而与其他机器学习(监督学习,非监督学习)的具体区别在于解决问题的策略和问题的条件。

RL在解决问题的过程中的基本策略是:

  1. 如何对应Situation和Action
  2. 如何最大化Rewarding Signal

如果你不懂这四个名词,不要着急,后面有详细的解释,而且,负责任的告诉你,你以后研究的所有问题里面都是围绕他们几个展开的。

在解决RL的问题过程中又会产生一个新的问题,这个问题是在我们还没有看到一个具体的例子之前就能想到的,也是一个基础问题,就是我们的RL学习过程是个closed-loop的过程,通俗点说,像一个死循环,就是当我们用一个输入调整了模型以后,这个模型又会反过来影响这个输入产生的结果,具体点就是这个系统是不稳定的,当你输入在时间 $t0$ 输入数据 $A0$ 时产生的结果是 $R0$ 但是当你在 $t1$ 输入数据 $A0$ 时产生的结果是 $R1$ 并且在大多数情况下, $R0\neq R1$ 而专业一些的用词就是:
input会影响这个agent的action,而这个action会改变这个agent,当input再次来袭的时候,新的action会不同,因为这个agent已经变了。
有点绕,没关系,后面看了具体的例子,或者有具体的数据,我会提醒大家回来看这里的。有点抽象,但是复合逻辑。

这个过程中有一个和其他机器学习算法巨大的差别:agent或者learner并不知道每次Input对应的“正确的”Action是什么,也不知道哪个 “Action”能产生最大的Rewarding,而监督学习是知道的。
并且这个Action影响本次迭代的Rewarding并且影响下一个Situation。

这里其实可以想象一下下棋,不管什么棋,学习下棋就是一个RL的过程,我这里不想提某狗的例子是因为,我觉得这只狗已经被一些俗人写的烂大街了(一条好狗被糟蹋了),蹭热度,蹭关键词与我无益,所以,想象一下象棋或者五子棋,每一步都是一个action,而最后的输赢才是唯一的结果,每个action没有一个确定结果与其对应,为了衡量action的好坏,给出一个Rewarding,然后action做出以后,当前situation已经和action之前的不一样了(比如棋局中的形式就是situation)
简单的例子,漏洞百出,但是可以大概这么理解。

Reinforcement Learning Features

上面大概介绍了一些内容,可能云里雾里,没关系,都是些名词而已,后面内容会详细描述每一个细节,我们要知道的是RL的一些特征,使其与众不同的特征:

  1. Closed-Loop是基本的学习方式
  2. 学习过程中在每一步并不直接知道应该采用哪个Action
  3. Action的结果,Reward Signal并不是实时产生的,需要等待一些步骤后,才能知道。

Markov Decision Processes

Markov Decision Processes是一个非常经典的全面的对RL中Optimal Control问题的理解,但是要等到第三章才会完整的描述,其中会详细介绍,Agent,Environment等具体的形式,以及如何达到我们的RL目的。其中的Environment非常主要,因为我们的Goal(目的,目标)就是environment的一个state(状态)。
在第三章中,MDPs将会介绍:

  • Sensation
  • Action
  • Goal

等部分的具体内容,而且会明确的直接解决一个RL问题,而不是将原始问题转化为小问题,比如下棋就是要最后获胜而不是把棋局分成几种,分开解决,再合成最后的方案,RL要直接解决问题,而不是细分再整合这种硬套路。

总结

中英文穿插写,比较让人讨厌,但是没办法,我觉得如果不看原版书籍,就记住一些翻译版本的关键词是非常有害的。
本文很多关键词和具体过程都没办法现在给出,所以,如果你觉得迷惑,没关系,看懂多少都无所谓,毕竟是个开头介绍,当你看完第一个例子就会豁然开朗,第一个例子在1.3中出现,敬请期待吧。

原文来自:https://face2ai.com/RL-RSAB-1-1-0-Reinforcement-Learning转载标明出处

【强化学习】1-1-0 强化学习介绍
【强化学习】1-1-0 强化学习介绍

原文地址:https://www.cnblogs.com/face2ai/p/9535903.html

时间: 2024-11-08 11:22:06

【强化学习】1-1-0 强化学习介绍 【强化学习】1-1-0 强化学习介绍的相关文章

深度学习服务器环境配置: Ubuntu17.04+Nvidia GTX 1080+CUDA 9.0+cuDNN 7.0+TensorFlow 1.3

本文来源地址:http://www.52nlp.cn/tag/cuda-9-0 一年前,我配置了一套"深度学习服务器",并且写过两篇关于深度学习服务器环境配置的文章:<深度学习主机环境配置: Ubuntu16.04+Nvidia GTX 1080+CUDA8.0> 和 <深度学习主机环境配置: Ubuntu16.04+GeForce GTX 1080+TensorFlow> , 获得了很多关注和引用. 这一年来,深度学习的大潮继续,特别是前段时间,吴恩达(And

从壹开始前后端分离【 .NET Core2.0 Api + Vue 3.0 + AOP + 分布式】框架之九 || 依赖注入IoC学习 + AOP界面编程初探

代码已上传Github,文末有地址 说接上文,上回说到了<从壹开始前后端分离[ .NET Core2.0 Api + Vue 2.0 + AOP + 分布式]框架之八 || API项目整体搭建 6.3 异步泛型+依赖注入初探>,后来的标题中,我把仓储两个字给去掉了,因为好像大家对这个模式很有不同的看法,嗯~可能还是我学艺不精,没有说到其中的好处,现在在学DDD领域驱动设计相关资料,有了好的灵感再给大家分享吧. 到目前为止我们的项目已经有了基本的雏形,后端其实已经可以搭建自己的接口列表了,框架已

Python Flask高级编程之从0到1开发《鱼书》精品项目 学习 教程??

Python Flask高级编程之从0到1开发<鱼书>精品项目 学习教程 一 .安装环境我们使用 flask web框架,并用 sqlalchemy来做数据库映射,并使用 migrate做数据迁移. $ pip install flask $ pip install SQLAlchemy==0.7.9 $ pip install flask-sqlalchemy $ pip install flask-migrate$ pip install sqlalchemy-migrate 二.建立项目

《PCL点云库学习&amp;VS2010(X64)》Part 8 PCL1.72(VTK6.2.0)可视化例程

Part 8 PCL1.72(VTK6.2.0)可视化例程                                                                                                PCL1.72 VTK6.20 控制台程序 加入.props属性表文件 1.Cloud_Viewer Cloud_Viewer.cpp代码: #include <vtkAutoInit.h> VTK_MODULE_INIT(vtkRendering

ASP.Net MVC开发基础学习笔记:三、Razor视图引擎、控制器与路由机制学习

一.天降神器“剃须刀” — Razor视图引擎 1.1 千呼万唤始出来的MVC3.0 在MVC3.0版本的时候,微软终于引入了第二种模板引擎:Razor.在这之前,我们一直在使用WebForm时代沿留下来的ASPX引擎或者第三方的NVelocity模板引擎. Razor在减少代码冗余.增强代码可读性和Visual Studio智能感知方面,都有着突出的优势.Razor一经推出就深受广大ASP.Net开发者的喜爱. 1.2 Razor的语法 (1)Razor文件类型:Razor支持两种文件类型,分

ASP.NET 5 已死 - 隆重介绍 ASP.NET Core 1.0 和 .NET Core 1.0

还没正式登场就死了?不能怪我标题党,是大神Scott在他博客上这么说的,我只是翻译了一下. 在1月20号最新的ASP.NET Community Standup视频中,微软aspnet开发组的大帅哥 大面·爱德华兹(Damian Edwards)聊了聊在未来版本RC2将要进行的重命名工作. 然而由于我听力太渣,只能听个大概,好在Scott Hanselman在博客中发表了一篇文章把这个事情解释了一下. 我粗暴翻译了一下,给大家看看,难免有错,还望指正. 博客英文原文地址:ASP.NET 5 is

[ExtJS学习笔记]第七节 Extjs的组件components及其模板事件方法学习

本文地址:http://blog.csdn.net/sushengmiyan/article/details/38487519 本文作者:sushengmiyan -------------------------------------------------------------资源链接----------------------------------------------------------------------- 翻译来源  Sencha Cmd官方网站: http://ww

_00024 妳那伊抹微笑_云计算之ClouderaManager以及CHD5.1.0集群部署安装文档V1.0

博文作者:妳那伊抹微笑 博客地址:http://blog.csdn.net/u012185296 博文标题:_00024 妳那伊抹微笑_云计算之ClouderaManager以及CHD5.1.0集群部署安装文档V1.0 个性签名:世界上最遥远的距离不是天涯,也不是海角,而是我站在妳的面前,妳却感觉不到我的存在 技术方向:Flume+Kafka+Storm+Redis/Hbase+Hadoop+Hive+Mahout+Spark ... 云计算技术 转载声明:可以转载, 但必须以超链接形式标明文章

Oracle 10.2.0.5 RMAN迁移并升级11.2.0.4一例

一.环境介绍 1. 源数据库环境 操作系统版本: OEL 5.4 x64数据库版本  : 10.2.0.5 x64数据库sid名 : orcl Oracle 10g 10.2.0.5(64bit)安装目录如下: 数据库软件:/u01/app/oracle/product/10.2.0/db_1数据库文件:/u01/app/oracle/oradata/orcl 归档目录:/u01/archivelog RMAN目录:/backup/dbbak/orabak 背景:一个老oracle10g数据库,

Chapter 1 : OpenGLES 3.0 简介 (2)—— OpenGL ES 3.0

管道 如前所属,本书讲解的API版本是OpenGL ES 3.0.本书的目标是,深入讲解OpenGL ES 3.0的技术细节,给出具体的例子来说明如何使用某个特性,并且讨论了各种性能优化技术.当您读完这本书,您应该可以对OpenGL ES 3.0API有一个很好的把握.您将可以轻松的写出让人新服的OpenGL ES 3.0的应用程序,并且您不必通过阅读多种OpenGL ES的规范来搞懂某个特性是如何工作的. OpenGL ES 3.0实现了可编程着色图形管道.OpenGL ES 3.0规范包含两