强化学习——强化学习概述
文章目录
- 1. 强化学习
- 2. 序列决策(Sequential decision making)
- 3. 动作空间
- 4. 智能体的组成和类型
- 4.1 策略
- 问题:比较随机性策略和确定性策略的优缺点
- 4.2 价值函数
- 4.3 模型
- 4.4 类型
- 5. 学习与规划
- 6. 探索和利用
- Reference
1. 强化学习
(1)定义
一个智能体(agent)怎么在一个复杂不确定的环境(environment)里面去极大化它能获得的奖励。
(2)过程
1: 智能体获取状态,并根据状态输出动作(决策)
2: 环境根据执行的决策输出下一状态和该决策获得的奖励
(3)强化学习与监督学习的比较
(1)强化学习输入的是序列数据,不满足独立同分布。
(2)强化学习无法得到立即反馈
(3)延迟奖励(delayed reward)
通常假设样本空间中全体样本服从一个未知分布,我们获得的每个样本都是独立地从这个分布上采样获得的,即独立同分布(independent and identically distributed,i.i.d.)
(4)强化学习的分类
(1)标准强化学习:手动设置特征 + 强化学习
(2)深度强化学习: 深度强化学习 = 深度学习 + 强化学习。不需要手动设置特征,将学习过程改进为端到端的训练(end-to-end training)。可以用一个神经网络来拟合我们这里的价值函数或策略网络,省去了特征工程(featureengineering)的过程。
2. 序列决策(Sequential decision making)
(1)奖励
奖励是由环境给的一个标量的反馈信号(scalar feedback signal),这个信号显示了智能体在某一步采取了某个策略的表现如何
(2)序列决策
智能体的目的就是选取一系列的动作来极大化它的累积奖励(Cumulative reward)
(3)状态
历史
历史是观测、行为、奖励的序列
H t = O 1 , R 1 , A 1 , O 2 , ⋯ , O t , R t H_t=O_1,R_1,A_1,O_2,\cdots,O_t,R_t Ht=O1,R1,A1,O2,⋯,Ot,Rt
状态
状态是关于历史的函数
S t = f ( H t ) S_t=f(H_t) St=f(Ht)
完全可观测的(fully observed)
通常建模程马尔可夫决策过程(MDP)。其中 O t = S t e = S t a O_t=S^e_t=S^a_t Ot=Ste=Sta,即智能体的状态跟环境的状态等价的时候。
部分可观测的(partially observed)
是智能体得到的观测并不能包含环境运作的所有状态(如:自动驾驶汽车,汽车的状态仅仅是传感器可探查的数据)。其通常采用部分可观测马尔科夫决策过程,
3. 动作空间
定义
在给定的环境中,有效动作的集合
分类
(1)离散动作空间(discrete action space):智能体的动作数量是有限的
(2)连续动作空间(continuos action space):在连续空间中,动作是实值的向量
4. 智能体的组成和类型
强化学习的智能体可能有一个或多个如下的组成成分:
- 策略函数(policy function):把输入的状态变成行为
- 价值函数(value function):对当前状态进行评估(对后续收益的影响)
- 模型(model):表现智能体对环境的理解
4.1 策略
(1)定义
是一个函数,把输入的状态变成行为。
(2)分类
随机性策略(stochastic policy)
π \pi π函数 π ( a ∣ s ) = P ( A t = a ∣ S t = s ) \pi(a|s)=P(A_t=a|S_t=s) π(a∣s)=P(At=a∣St=s),表示在状态s下输出动作为a的概率。然后通过采样得到一个动作。
确定性策略(deterministic policy)
采取最有可能的动作,即 a ∗ = a r g max a π ( a ∣ s ) a^*=arg \max_a \pi(a|s) a∗=argmaxaπ(a∣s)
问题:比较随机性策略和确定性策略的优缺点
强化学习一般使用随机性策略,因为
① 随机性能更好的探索环境
② 随机性策略的动作具有多样性(不是唯一确定的)
③ 确定性策略对相同环境做出相同的动作,这会导致很容易被预测
4.2 价值函数
作用
价值函数是未来奖励的一个预测,用来评估状态的好坏。
折扣因子
希望尽可能在短的时间里面得到尽可能多的奖励。
(1)状态价值函数(state-value function)
表示在 π \pi π策略下,状态s的价值函数。
v π ( s ) = E π [ G t ∣ S t = s ] = E π [ ∑ k = 0 ∞ γ k R t + k + 1 ∣ S t = s ] , f o r a l l s ∈ S v_\pi(s)=E_\pi[G_t|S_t=s]=E_\pi[\sum_{k=0}^{\infty}\gamma^k R_{t+k+1}|S_t=s] \ , for \ all \ s \in S vπ(s)=Eπ[Gt∣St=s]=Eπ[k=0∑∞γkRt+k+1∣St=s] ,for all s∈S
(2)动作状态价值函数(state-action-value function)
表示采取策略 π \pi π时,在状态s发生动作a下,未来可以获得的奖励
q π ( s , a ) = E π [ G t ∣ S t = s , A t = a ] = E π [ ∑ k = 0 ∞ γ k R t + k + 1 ∣ S t = s , A t = a ] q_\pi(s,a)=E_\pi[G_t|S_t=s,A_t=a]=E_\pi[\sum_{k=0}^{\infty}\gamma^k R_{t+k+1}|S_t=s,A_t=a] qπ(s,a)=Eπ[Gt∣St=s,At=a]=Eπ[k=0∑∞γkRt+k+1∣St=s,At=a]
(3)Q函数和V函数的关系
v函数表示在状态s下,采取所有可能动作的未来奖励之和。
v π ( s ) = ∑ a ∈ A t q π ( s , a ) v_\pi(s)=\sum_{a \in A_t} q_\pi(s,a) vπ(s)=a∈At∑qπ(s,a)
4.3 模型
模型决定了下一个状态。它由概率和奖励函数两部分组成
(1)状态转移概率
表示在状态s下,采取动作a,下一状态转化为s’的概率
P s s ′ a = P [ S t + 1 = s ′ ∣ S t = s , A t = a ] P_{ss'}^a=P[S_{t+1}=s'|S_t=s,A_t=a] Pss′a=P[St+1=s′∣St=s,At=a]
(2)奖励函数
表示在当前状态采取某个行为可以获得的奖励
R s a = E [ R t + 1 ∣ S t = s , A t = a ] R_s^a=E[R_{t+1}|S_t=s,A_t=a] Rsa=E[Rt+1∣St=s,At=a]
4.4 类型
(1)基于价值的智能体(value-based agent)
显示的学习价值函数,隐式的学习策略。它维护一个价值表格或价值函数,并以此选取价值最大的动作。
常用算法
- Q-Learning
- Sarsa
(2)基于策略的智能体(policy-based agent)
直接学习策略。当学习好环境以后,在每个状态都会得到一个最佳行为。
常用算法
- 策略梯度算法
(3)有模型智能体(model-based agent)
根据环境经验,对环境进行建模构建一个虚拟世界,同时在虚拟世界和现实世界学习。
要求:能对环境建模。即能预测下一步的状态和奖励
(4)免模型智能体(model-free agent)
不对环境进行建模,直接与真实环境交互来学习最优策略。
目前,大部分深度强化学习都采用免模型学习。
5. 学习与规划
(1)学习(learning)
由于环境初始时是未知的,智能体需要不断与环境交互,逐渐改进策略
(2)规划(planning)
获得学习好的模型后,智能体不需要实时与环境交互就能知道未来环境。可以根据当前状态,根据模型寻找最优策略。
(3)解决思路
先学习环境如何工作,建立模型。再利用模型进行规划。
6. 探索和利用
探索:通过试错来理解采取的某个行为能否得到好的奖励。
利用:直接采取已知的可以得到很好奖励的行为。
(探索:看某个行为的奖励,利用:选取已知可以取得最好奖励的行为)
探索和利用窘境(exploration-exploitation dilemma):探索(即估计摇臂的优劣)和利用(即选择当前最优摇臂) 这两者是矛盾的,因为尝试次数(即总投币数)有限,加强了一方则会自然削弱另一方
Reference
https://github.com/datawhalechina/easy-rl
强化学习——强化学习概述相关推荐
- 强化学习q学习求最值_Q学习简介:强化学习
强化学习q学习求最值 by ADL 通过ADL Q学习简介:强化学习 (An introduction to Q-Learning: reinforcement learning) This arti ...
- 增强学习/强化学习 综述
@创建于:20210512 @修改于:20210512 文章目录 1.增强学习概念 2.1 增强学习定义 2.2 两大特点 2.简书:[阿阿阿阿毛](https://www.jianshu.com/u ...
- 【学习强化学习】十三、模仿学习介绍
文章目录 参考资料 1. 模仿学习概述 2. 行为克隆 2.1 行为克隆缺点 缺点1:观测非常有限 缺点2:机器会完全模仿专家的行为 缺点3:训练数据跟测试数据不匹配 2.2 数据集聚合 2.3 Va ...
- 2020人工智能课程超级大列表:深度学习-强化学习-图神经网络-自然语言处理等...
关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 本篇博文主要为大家介绍一个课程网站,汇集了机器学习,深度学习.强化学习的各个方面, ...
- reddit高赞资源:20h系统性深度学习强化学习课程,视频、PPT、代码全都有 | 免费...
子豪 发自 凹非寺 量子位 报道 | 公众号 QbitAI 告别"拼图式"学习! 最近,一套深度学习和强化学习的免费课程在reddit上引起网友关注,获赞690+. 只因其不仅形式 ...
- EnforceLearning-在线学习-被动强化学习/评价学习
前言: 画图挺好:深度学习进阶之路-从迁移学习到强化学习 固定知识系统:专家系统给出了知识节点和规则.专家系统一次性构建成型.运行方式为基于知识的推理. 专家系统使用粒度描述准确性,依靠分解粒度解决矛 ...
- 强化学习q学习求最值_通过Q学习更深入地学习强化学习
强化学习q学习求最值 by Thomas Simonini 通过托马斯·西蒙尼(Thomas Simonini) 通过Q学习更深入地学习强化学习 (Diving deeper into Reinfor ...
- 系统学习深度学习(四十一)--AlphaGo Zero强化学习原理
转自:https://www.cnblogs.com/pinard/p/10609228.html 本篇主要参考了AlphaGo Zero的论文, AlphaGo Zero综述和AlphaGo Zer ...
- 从0开始强化学习——强化学习的简介和分类
目录 写在前面 一. 强化学习简介 二. 强化学习分类 写在后面 写在前面 最近一直在给老板打工,已经很久没有写过博文了,最近打算系统学习一遍强化学习,所以就开个新坑,和大家分享一下在学习过程中的收获 ...
最新文章
- 关于Python函数的一些问题
- vue切换路由时动画
- Create Tables and Build inserts from Tables by using Mygeneration Templates(Sql Server)
- 透彻理解RPN: 从候选区域搜索到候选区域提取网络
- 读书笔记5-处理器的微架构
- uniapp 判断页面是否是横竖屏,解决微信小程序video组件全屏播放视频遮盖自定义播放控件问题
- dubbo学习(四)配置dubbo 注解方式配置
- Python是一门什么样的语言
- 【OpenGL从入门到精通(七)】OpenGL中的数学
- android matrix 缩放,android – 如何获取任意矩阵的缩放值?
- WEB2.0 XHTML代码规范
- x79服务器主板装系统,【小白经历分享】华南X79 E5 2670+470D 成功装上双系统 【win10+Sierra10.12.6】...
- 基于学术研究风云卫星数据下载教程
- DTcms-【数据库】-关系分析
- Python socket文件上传下载
- 学习记录664@项目管理之项目进度管理
- 百趣代谢组学文献分享:三组学整合分析在中医药研究中的应用
- 「Hortic Res」CsGPA1调控黄瓜耐寒性的分子机制
- 工具分享:linux中的rar解压安装包(tar)请自行下载(附下载链接)
- 复韵母有哪些?18个复韵母都有什么