强化学习的模型

article/2025/8/22 19:21:05

文章目录

  • 前言
  • 一、强化学习是什么?
  • 二、基本模型
    • 1.基本框架
    • 2.学习过程
  • 三.马尔科夫决策过程(Markov Decision Process. MDP)
    • 1.马尔科夫性质
    • 2.MDP的基本组成部分
    • 3.MDP的基本流程
  • 四、基于模型和免模型的强化学习
    • 1.模型
    • 2.基于模型的强化学习(Model-Based)
    • 3.免模型的强化学习(Model-Free)
  • 总结


前言

B站学习龙强老师强化学习相关视频后的总结笔记,视频链接:https://www.bilibili.com/video/BV1hq4y1n7aU?p=1


一、强化学习是什么?

根据维基百科对强化学习的定义:Reinforcement learning (RL) is an area of machine learning inspired by behaviorist psychology, concerned with how software agents ought to take actions in an environment so as to maximize some notion of cumulative reward. (强化学习是机器学习领域之一,受到行为心理学的启发,主要关注智能体如何在环境中采取不同的行动,以最大限度地提高累积奖励。)

强化学习主要由智能体(Agent)、环境(Environment)、状态(State)、动作(Action)、奖励(Reward)组成。智能体执行了某个动作后,环境将会转换到一个新的状态,对于该新的状态环境会给出奖励信号(正奖励或者负奖励)。随后,智能体根据新的状态和环境反馈的奖励,按照一定的策略执行新的动作。上述过程为智能体和环境通过状态、动作、奖励进行交互的方式。

智能体通过强化学习,可以知道自己在什么状态下,应该采取什么样的动作使得自身获得最大奖励。由于智能体与环境的交互方式与人类与环境的交互方式类似,可以认为强化学习是一套通用的学习框架,可用来解决通用人工智能的问题。因此强化学习也被称为通用人工智能的机器学习方法。
强化学习是一种无标签的学习,通过奖励函数来判断在确定状态下执行某一动作的好坏,学习过程就是通过奖励信号来改变执行动作的策略,最终结果就是形成一个使奖励最大的策略。


二、基本模型

1.基本框架

强化学习框图

智能体(Agent):强化学习的本体,作为学习者或者决策者,类比人的大脑。
环境(Environment):智能体以外的一切,主要是状态的集合,类比人的身体以及周围的自然环境。
状态(state):一个表示环境的数据,状态集则是环境中所有可能的状态。
动作(action):智能体可以做出的动作,动作测试智能体可以做出的所有动作。类比人类的大脑发出的向身体发出的指令。
奖励(Reward):智能体在执行一个动作后,获得的反馈信息,可以是正奖励,也可以是负奖励(惩罚)。
策略(Policy):环境状态到动作的映射称为策略,即智能体处在某一状态下,执行何种动作
目标:强化学习的目标是自动寻找在连续时间序列里的最优策略,这里的最优策略通常指使得长期累计奖励最大化的策略。强化学习实际上是智能体在与环境进行交互的过程中,学会最佳决策序列。

2.学习过程

  1. 智能体感知环境状态;
  2. 智能体根据某种策略选择动作;
  3. 动作作用于环境导致环境状态变化(环境转移);
  4. 同时,环境向智能体发出一个反馈信号。

三.马尔科夫决策过程(Markov Decision Process. MDP)

1.马尔科夫性质

在时间步t+1时,环境的反馈仅取决于上一时间步t的状态s以及动作a,与时间步t-1以及t-1步之前的时间步都没有关联性。
马尔科夫性是一种为了简化问题而做的假设。我们的强化学习就是基于这一假设来进行学习过程的,任何不符合该假设的问题都不太适合采用强化学习的方法来解决。

2.MDP的基本组成部分

状态集合 S = { s 1 , s 2 , s 3 , … , s m } S =\lbrace s_1,s_2,s_3,\text{\textellipsis},s_m \rbrace S={s1,s2,s3,,sm}
为了区分表述:
s i , i = 1 , 2 , 3 , … , m s_i,i=1,2,3,\text{\textellipsis},m si,i=1,2,3,,m(这里的 s i s_i si指的是状态集合中任意一个状态)
s t , t = 1 , 2 , 3 , … , T s_t,t=1,2,3,\text{\textellipsis},T st,t=1,2,3,,T(这里的 t t t指的时间序列, s t s_t st指的是 t t t时刻的状态)

动作集合 A = { a 1 , a 2 , a 3 , … , a n } A =\lbrace a_1,a_2,a_3,\text{\textellipsis},a_n \rbrace A={a1,a2,a3,,an} 表述方式同上
( A ∣ s i ) (A|s_i) (Asi)表示状态 s i s_i si下所有合法的动作 a a a的集合

状态转移概率 P s a ( s ′ ) Psa(s\\') Psa(s),状态在 s s s下采取动作 a a a,状态转移到 s ′ s\\' s的概率
P s a : S ∗ A ∗ S → [ 0 , 1 ] Psa:S*A*S\rightarrow[0,1] Psa:SAS[0,1]

奖励函数
R s a : S ∗ A → R ( 实数 ) Rsa:S*A\rightarrow R(实数) Rsa:SAR(实数) R s a ( s , a ) Rsa(s,a) Rsa(s,a)在状态 s s s下执行动作 a a a得到的奖励
R s a s : S ∗ A ∗ S → R ( 实数 ) Rsas:S*A*S\rightarrow R(实数) Rsas:SASR(实数),
R s a s ( s , a , s ′ ) Rsas(s,a,s\\') Rsas(s,a,s)在状态 s s s下执行动作 a a a转移到状态 s ′ s\\' s时得到的奖励

策略函数
π : S ∗ A → [ 0 , 1 ] \pi:S*A\rightarrow[0,1] π:SA[0,1]
π ( a ∣ s ) \pi(a|s) π(as):在状态 s s s的前提下,执行动作 a a a的概率
π ( a ∣ s ) = { 1 或 0 确定性策略  [ 0 , 1 ] 随机性策略 \pi(a|s)=\begin{cases} 1 或 0 &\text{确定性策略 } \\ [0,1] &\text{随机性策略} \end{cases} π(as)={10[0,1]确定性策略 随机性策略

折扣因子 γ ∈ [ 0 , 1 ] \gamma\isin[0,1] γ[0,1]

  • γ = 0 \gamma=0 γ=0:贪婪法,价值只由当前演示奖励决定
  • γ = 1 \gamma=1 γ=1:所有后续奖励和当前奖励同等重要
  • γ ∈ ( 0 , 1 ) \gamma\isin(0,1) γ(0,1):当前延时奖励的权重比后续奖励的权重大

马尔科夫决策过程可以用一个五元组来表示:
M D P ( S , A , P s a , R s a , γ ) MDP(S,A,Psa,Rsa,\gamma) MDP(S,A,Psa,Rsa,γ)

3.MDP的基本流程

No
Yes
初始化MDP,π
是否终止
选择动作at
反馈奖励 rt+1
状态转移st+1
t=t+1
Stop

产生一个状态-动作-奖励序列:
s 0 , a 0 , r 1 → s 1 , a 1 , r 2 → s 2 , a 2 , r 3 → s 3 , a 3 , r 4 … s t , a t , r t + 1 → … s T − 1 , a T − 1 , r T → s T ( 终止状态 ) s_0,a_0,r_1 \rightarrow s_1,a_1,r_2 \rightarrow s_2,a_2,r_3 \rightarrow s_3,a_3,r_4 \dots s_t,a_t,r_{t+1}\rightarrow\dots s_{T-1},a_{T-1},r_T\rightarrow s_T(终止状态) s0,a0,r1s1,a1,r2s2,a2,r3s3,a3,r4st,at,rt+1sT1,aT1,rTsT(终止状态)
当我们要解决的问题符合马尔科夫假设(状态的转移只与上一步执行的动作有关),那么强化学习的训练过程就可以用MDP决策过程来表述,一次完整的训练过程就可以形成一个完整的MDP序列(达到终止状态)。
策略就是从大量的完整MDP序列中学习(优化)到的
在这里我们重新回到强化学习的目标:自动寻找在连续时间序列里的最优策略,这里的最优策略通常指使得长期累计奖励最大化的策略。换句话说,策略是由长期累计奖励来判断好坏的。
累计奖励(Total Payoff)
G t = r t + 1 + γ r t + 2 + γ 2 r r + 3 + ⋯ + γ T − t − 1 r T G_t=r_{t+1}+\gamma r_{t+2}+\mathop{\gamma}^2r_{r+3}+\dots+\mathop{\gamma}^{T-t-1}r_T Gt=rt+1+γrt+2+γ2rr+3++γTt1rT

现在我们可以简单理解MDP流程:先初始化策略函数,一般是随机生成 π 0 \pi_0 π0,并且随机初始状态 s 0 s_0 s0,通过 π 0 \pi_0 π0来选择相应的动作 a 0 a_0 a0,这样不断执行得到一条完整的马尔科夫链( s 0 , a 0 , r 1 → s 1 , a 1 , r 2 → s 2 , a 2 , r 3 → s 3 , a 3 , r 4 … s t , a t , r t + 1 → … s T − 1 , a T − 1 , r T → s T ( 终止状态 ) s_0,a_0,r_1 \rightarrow s_1,a_1,r_2 \rightarrow s_2,a_2,r_3 \rightarrow s_3,a_3,r_4 \dots s_t,a_t,r_{t+1}\rightarrow\dots s_{T-1},a_{T-1},r_T\rightarrow s_T(终止状态) s0,a0,r1s1,a1,r2s2,a2,r3s3,a3,r4st,at,rt+1sT1,aT1,rTsT(终止状态))通过这个序列我们就可以计算出在状态 s 0 s_0 s0下选择动作 a 0 a_0 a0转移到 s 1 s_1 s1这个策略产生的累计奖励 G G G,通过这个G就可以评价这个策略的好坏,然后更新策略,至于具体如何评价策略,如何更新策略,在下一篇博客继续。


四、基于模型和免模型的强化学习

1.模型

模型是指对环境建模,具体指状态转移概率函数和奖励函数

2.基于模型的强化学习(Model-Based)

智能体知道在任何状态下执行任何动作所获得的回报,即 R ( s , a ) R(s,a) R(s,a)已知。可以直接使用动态规划法来求解最优策略,这种采取对环境进行建模的强化学习方法就是Model-Based强化学习。
若奖励函数和状态转移函数未知,我们就可以用特定的方法(比如神经网络或者物理机理)对它们进行模拟建模。

3.免模型的强化学习(Model-Free)

其实,不需要对环境进行建模我们就可以找到最优策略,最优策略对应的是最大累计奖励,所以我们可以通过直接求解最大累计奖励,然后再根据最大累计奖励来求解最优策略,这种方法就叫做Model-Free强化学,典型的方法有QlearningSarsa


model-free只能在一次行动之后静静得等待现实世界给的反馈然后再取材行动,而model-base可以采用想象力预判接下来发生的所有情况,然后根据这些想象的情况选择最好的那种,并根据这种情况来采取下一步的策略。

总结

强化学习的本质就是通过大量的马尔科夫链来计算长期累计奖励并根据这个奖励来更新策略。


http://chatgpt.dhexx.cn/article/fPW3BeT3.shtml

相关文章

深度强化学习调研

深度强化学习(DRL) (一)强化学习 强化学习(Reinforcement Learning,简称RL)是机器学习领域的一个研究热点,当前已经广泛应用于工业制造、仿真模拟、机器人控制、优化与调度、游戏博…

强化学习总结

强化学习 一、强化学习概述 1.强化学习简介 强化学习最早可以追溯到早期控制论以及统计、心理学、神经科学、计算机科学等学科的一些研究。在最近的五到十年中,强化学习在机器学习和人工智能研究者中得到了大量的关注,它描绘了一种在不进行具体指导的情…

强化学习介绍

文章目录 1 什么是强化学习?2 强化学习的特征与特点3 强化学习的要素与框架3.1 Policy3.2 Reward3.3 Value3.4 model3.5 Return(cumulative future reward) 回报|未来累积回报3.6 Discounted return 折扣回报 4 强化学习流程5 例子 马里奥 (一定要看&…

强化学习(Q-learning)

强化学习RF简介 强化学习是机器学习中的一种重要类型,一个其中特工通过 执行操作并查看查询查询结果来学习如何在环境中表现行为。 机器学习算法可以分为3种:有监督学习(Supervised Learning)、无监督学习(Unsupervi…

强化学习简介

强化学习简介 强化学习(Reinforcement Learning,RL)是机器学习中的一个领域,是学习做什么(即如何把当前的情景映射成动作)才能使得数值化的收益最大化,学习者不会被告知应该采取什么动作,而是必须自己通过尝试去发现哪…

强化学习(一):简介——什么是强化学习?

本文将介绍强化学习的基本含义,了解什么是强化学习、强化学习的概念与基本框架以及强化学习中常见的问题类型。 什么是强化学习? 强化学习(Reinforcement Learning, RL),又称再励学习、评价学习或增强学习&#xff0c…

机器学习算法(三十):强化学习(Reinforcement Learning)

目录 1 简介 1.1 什么是强化学习 1.2 强化学习的主要特点 1.3 强化学习的组成部分 2 强化学习训练过程 3 强化学习算法归类 3.1 Value Based 3.2 Policy Based 3.3 Actor-Critic 3.4 其他分类 4 EE(Explore & Exploit)探索与利用 5 强化…

强化学习入门这一篇就够了!!!万字长文

强化学习 强化学习入门这一篇就够了万字长文带你明明白白学习强化学习... 强化学习入门这一篇就够了 强化学习前言一、概率统计知识回顾1.1 随机变量和观测值1.2 概率密度函数1.3 期望1.4 随机抽样 二、强化学习的专业术语2.1 State and action2.2 policy-策略2.3 reward2.4 状…

关于gensim的一些使用记录

NLP神器 Gensim是一款开源的第三方Python工具包,用于从原始的非结构化的文本中,无监督地学习到文本隐层的主题向量表达。 支持包括TF-IDF,潜在语义分析(Latent Semantic Analysis,LSA),潜狄利克…

gensim官方文档实践笔记

中文文档比机翻还颠三倒四, 所以还是自己记录一下, 顺便加一些注解. 目录 文档document 语料库Corpus 语料库作用 语料库预处理 词汇编号 向量Vector 方法1: 特征向量(vector of features) 方法2: doc2bow 模型Model 语料库和向量空间 字符串转向量 语料库流Corpu…

gensim安装

输入以下命令即可: pip install gensim -i http://pypi.douban.com/simple --trusted-host pypi.douban.com以下是过程: 尝试1:直接在anaconda3上面搜索出来安装 速度太慢,失败 尝试2:更换pip源,如下所示…

Gensim:一款进行文本主题识别的 Python 工具库

从大量文本中自动提取人们谈论的主题(主题识别)是自然语言处理的基本应用之一。大型文本示例包括社交媒体订阅、消费者对酒店、电影和其他业务的评价、用户评论、新闻和客户发来的邮件。 在本中,将使用LDA 从 20Newsgroup 数据集 中提取主题的实战案例。欢迎深入探…

gensim 快速入门 Word2Vec

文章目录 gensim的核心概念Word2Vec简介Word2Vec初试探将单词可视化 训练自己的Word2Vec模型 gensim的核心概念 Document: 文档。可以是一个一句话,或者一段话Corpus: 文档的集合Vector: 文档向量。将文档通过数学向量表示。Model: 模型。将文档转换为向量的模型。…

vue获得焦点事件处理函数中控制其失去焦点,但是失去焦点后该获得焦点事件一直被触发

当input获取焦点的时候需要判断另一个操作是否已完成,否则需要引导用户先去执行另一个操作,是则允许输入。 另一个操作跟当前操作是在同一个页面上,无法通过“下一步”进行控制。 解决思路是: 当input获取焦点的时候&#xff0…

div失去焦点事件onblur()无效

初学js事件&#xff0c;想做一个点击时变红&#xff0c;取消聚焦时变白的div&#xff0c;于是我这样写代码&#xff1a; <div style"width: 100px;height: 50px;border: 1px solid;"></div> <script>let div document.getElementsByTagName(&quo…

input失去焦点事件和点击事件冲突的解决思路

首先说一下应用场景 el-input框为禁用状态时&#xff0c;点击取消禁用&#xff0c;并显示后方两个按钮&#xff0c; 点击绿色按钮保存input框当前值&#xff0c;失去焦点或点击红色框时恢复改变前的值 思路就是不在input上的失去焦点方法&#xff0c;而是手动调用失去焦点方法…

input中blur失去焦点事件与点击事件冲突

场景&#xff1a; 当在输入框里输入手机号的时候&#xff0c;输入框高亮&#xff0c;并且关闭按钮显示&#xff0c;input失焦时关闭按钮隐藏 现象&#xff1a; 遇到的问题是&#xff0c;当我们点击关闭按钮清空input框数据时&#xff0c;发现只是关闭按钮隐藏了&#xff0c…

div失去焦点事件onblur()不触发解决方法

需求&#xff1a; 做一个弹出框组件&#xff0c;文字点击时会在文字下方弹出一个框&#xff0c;在vue3中监听div元素的blur事件发现事件并不会在div失去焦点时触发 解决方法 bug原因&#xff1a;在vue中div默认不触发事件,除非将元素添加tabindex"-1"属性才会触发…

JavaScript学习(二十一)——表单相关事件(焦点事件)

表单事件实际上就是对元素获得或失去焦点的动作进行控制。可以利用表单事件来改变获得或失去焦点的元素样式&#xff0c;这里所指的元素可以是同一类型&#xff0c;也可以是多个不同类型的元素。 获取焦点与失去焦点事件 获得焦点事件(onfocus) 是当某个元素获得焦点时触发事件…

特征工程 - 数据分析 - 峰度 and 偏度

特征工程 - 数据分析 - 峰度 and 偏度 偏度峰度 偏度 偏度&#xff08;Skewness&#xff09;用来描述数据分布的对称性。 当偏度 <0 时&#xff0c;称为负偏&#xff0c;数据出现左侧长尾&#xff1b;当偏度>0时&#xff0c;称为正偏&#xff0c;数据出现右侧长尾。 正态…