一.简介
深度学习、强化学习和深度强化学习是机器学习的三个重要子领域。它们有着各自独特的应用场景和研究目标,虽然都属于机器学习的范畴,但各自的实现方式和侧重点有所不同。
1.1 深度学习与强化学习
1.1.1深度学习
深度学习是一种基于神经网络的机器学习方法,通过多层网络结构(即深度网络)来自动从数据中提取特征,并逐层抽象出更高层次的特征。它与线性回归、决策树、支持向量机等传统机器学习算法在同一维度下,是一种特定的模型分类方法。
传统机器学习算法通常需要手动设计特征(例如线性回归或支持向量机),而深度学习的神经网络可以自动从原始数据中提取特征。这种特征学习能力使得深度学习在处理高维数据、图像、音频、文本等复杂数据时表现出色。深度学习是基于神经网络的一种技术,尤其是深度神经网络(DNNs)。它由多层的神经元组成,每一层负责提取输入数据中的不同层次特征。输入层接收原始数据,经过中间的隐藏层逐步提取更复杂的特征,最终通过输出层给出预测结果。尽管深度学习可以自动进行特征提取和学习,但由于网络结构复杂且参数众多,导致其可解释性较差,因此常被称为“黑盒模型”。这意味着我们很难准确解释模型做出某一预测的具体原因。
深度学习广泛应用于图像分类(如卷积神经网络CNN)、自然语言处理(如循环神经网络RNN和Transformer)、语音识别、自动驾驶等领域。
1.1.2 强化学习
强化学习是一种基于任务分类的机器学习方法,旨在通过与环境的交互来学习决策策略,从而使智能体在长期内获得最大化的累积奖励。它与有监督学习、无监督学习属于同一维度的任务分类方法。
监督学习有标签告诉算法什么样的输入对应着什么样的输出(譬如分类、回归等问题),所以对于监督学习,目标是找到一个最优的模型函数,使其在训练数据集上最小化一个给定的损失函数,相当于最小化预测误差。无监督学习指的是没有标签的数据,模型从数据的分布和结构中发现潜在模式,如聚类或降维。不同于上述两者,强化学习中的数据并非来自静态的样本集合,RL没有标签告诉它在某种情况下应该做出什么样的行为,只有一个做出一系列行为后最终反馈回来的reward,然后判断当前选择的行为是好是坏。因此RL的目标是最大化智能体策略在和动态环境交互过程中的价值,而策略的价值可以等价转换成奖励函数的期望,即最大化累计下来的奖励期望。
从学习方式层面上来说,深度学习属于上述四种方式的子集。
强化学习中智能体的学习过程基于奖励函数。在每一步的决策后,智能体从环境中收到反馈,可能是正奖励(表示决策正确)或负奖励(表示决策错误)。智能体通过反复试探环境并不断调整行为策略,以期获得最大化的累积奖励。强化学习的核心是“试错学习”,智能体通过不断尝试不同的动作来探索最佳策略。此外,强化学习中往往存在“延迟奖励”,即智能体的某些行为的影响可能在未来才会体现,这增加了决策的复杂性。
它不是一个分类的任务,不是金融反欺诈场景中如何分辨欺诈客户和正常客户。强化学习主要是指导训练对象每一步如何决策,采用什么样的行动可以完成特定的目的或者使收益最大化。
强化学习广泛应用于游戏(如AlphaGo)、自动控制、机器人学、金融交易系统和自动驾驶等需要智能决策的领域。
比如AlphaGo下围棋,AlphaGo就是强化学习的训练对象,AlphaGo走的每一步不存在对错之分,但是存在“好坏”之分。当前这个棋面下,下的“好”,这是一步好棋。下的“坏”,这是一步臭棋。强化学习的训练基础在于AlphaGo的每一步行动环境都能给予明确的反馈,是“好”是“坏”?“好”“坏”具体是多少,可以量化。强化学习在AlphaGo这个场景中最终训练目的就是让棋子占领棋面上更多的区域,赢得最后的胜利。
1.1.3 深度强化学习
深度强化学习是深度学习和强化学习的结合体,利用深度神经网络的强大表示能力来解决强化学习中状态空间和动作空间庞大的问题。传统强化学习算法(如Q-learning或策略梯度法)在处理高维连续状态或动作空间时表现有限,难以应对复杂的任务场景。深度强化学习通过引入深度神经网络来表示Q函数或策略函数,从而使智能体能够在大规模复杂的环境中进行学习。
在深度强化学习中,深度神经网络用于估计智能体在不同状态下的价值(或策略),从而引导智能体选择最优动作。这种方法使得强化学习可以处理更加复杂的问题,例如大规模图像输入或连续控制任务。深度Q网络(DQN)是深度强化学习的代表算法之一,通过将Q-learning与卷积神经网络结合,使得智能体能够处理复杂的视觉输入。其他著名算法包括深度确定性策略梯度(DDPG)、近端策略优化(PPO)等。
将深度学习的感知能力和强化学习的决策能力结合在一起,就可以形成很多泛用的AI。深度强化学习在视频游戏、机器人控制、自动驾驶、推荐系统和金融市场分析等领域有重要应用。例如,Google DeepMind的AlphaGo和AlphaStar通过深度强化学习在围棋和星际争霸等游戏中击败了人类顶尖玩家。
1.2 强化学习的主要特点
- 试错学习:强化学习需要训练对象不停地和环境进行交互,通过试错的方式去总结出每一步的最佳行为决策,整个过程没有任何的指导,只有冰冷的反馈。所有的学习基于环境反馈,训练对象去调整自己的行为决策。
- 延迟反馈:强化学习训练过程中,训练对象的“试错”行为获得环境的反馈,有时候可能需要等到整个训练结束以后才会得到一个反馈,比如Game Over或者是Win。当然这种情况,我们在训练时候一般都是进行拆解的,尽量将反馈分解到每一步。
- 时间是强化学习的一个重要因素:强化学习的一系列环境状态的变化和环境反馈等都是和时间强挂钩,整个强化学习的训练过程是一个随着时间变化,而状态&反馈也在不停变化的,所以时间是强化学习的一个重要因素。
- 当前的行为影响后续接收到的数据:为什么单独把该特点提出来,也是为了和监督学习&半监督学习进行区分。在监督学习&半监督学习中,每条训练数据都是独立的,相互之间没有任何关联。但是强化学习中并不是这样,当前状态以及采取的行动,将会影响下一步接收到的状态。数据与数据之间存在一定的关联性。
1.3 强化学习的组成部分
- Agent,一般译为智能体,就是我们要训练的模型,类似玩超级玛丽的时候操纵马里奥做出相应的动作,而这个马里奥就是Agent
- action(简记为a),玩超级玛丽的时候你会控制马里奥做三个动作,即向左走、向右走和向上跳,而马里奥做的这三个动作就是action
- Environment,即环境,它是提供reward的某个对象,它可以是AlphaGo中的人类棋手,也可以是自动驾驶中的人类驾驶员,甚至可以是某些游戏AI里的游戏规则
- reward(简记为r),Agent在当前State下,采取了某个特定的action后,会获得环境的一定反馈就是Reward。接近目标意味着做得好则奖,远离目标意味着做的不好则惩,最终达到收益/奖励最大化,且这个奖励是强化学习的核心
- State(简介为s),可以理解成环境的状态,简称状态。
二 强化学习训练过程
整个训练过程都基于一个前提,我们认为整个过程都是符合马尔可夫决策过程(MDP)的。
2.1 MDP基础
MDP核心思想就是下一步的State只和当前的状态State以及当前状态将要采取的Action有关,只回溯一步。在某时刻t的状态通常取决于t时刻之前的状态,我们将已知历史信息时下一个时刻的状态的概率表示成。马尔可夫性质即。比如AlphaGo下围棋,当前棋面是什么,当前棋子准备落在哪里,我们就可以清晰地知道下一步的棋面是什么了。
为什么我们要先定义好整个训练过程符合MDP呢,因为只有符合MDP,我们才方便根据当前的State,以及要采取的Action,推理出下一步的State。方便在训练过程中清晰地推理出每一步的State变更,如果在训练过程中我们连每一步的State变化都推理不出,那么也无从训练。
在马尔可夫过程的基础上加入奖励函数R和折扣因子γ,就可以得到马尔可夫奖励过程(Markov reward process,MRP)。
- 奖励函数,某个状态s的奖励,是指转移到该状态时可以获得奖励的期望。(即时)
- 实际中,因为一个状态可以得到的奖励是持久的,所有奖励的衰减之和称为回报,可用G表示当下即时奖励和所有持久奖励等一切奖励的加权和(考虑到一般越往后某个状态给的回报率越低,也即奖励因子或折扣因子越小),从而有
而一个状态的期望回报就称之为这个状态的价值,所有状态的价值则组成了所谓的价值函数,用公式表达为,展开一下可得
前半部分表示当前状态得到的即时奖励,后半部分表示当前状态得到的所有持久奖励,可以根据从状态s出发的转移概率得到。
2.2 MDP:马尔可夫奖励(MRP) + 智能体动作因素
MRP+action=MDP
在马尔可夫决策过程中,(S是状态的集合)和(R是奖励的集合)的每个可能的值出现的概率只取决于前一个状态和前一个动作(A是动作的集合),并且与更早之前的状态和动作完全无关。换言之,当给定当前状态(比如),以及当前采取的动作(比如),那么下一个状态出现的概率,可由状态转移概率矩阵表示如下
假定在当前状态和当前动作确定后,其对应的奖励则设为,故状态转移概率矩阵类似为
从而可得奖励函数即为
Action因素:涉及到策略policy,策略函数可以表述为Π函数。,意味着输入状态s,策略函数Π输出动作a。再比如这种,相当于输入一个状态s下,智能体采取某个动作a的概率。
有了动作这个因素之后,我们重新梳理下价值函数
2.2.1通过“动作价值函数”对动作的评估
动作价值函数Qπ有什么直观意义呢?Qπ说明agent处在状态s时做出动作a是否明智,Qπ可以给动作a打分。最好的a是什么呢?就是让Qπ最大化的那个a。
相当于对当前状态s依据策略Π执行动作a得到的期望回报,(s,a均确定)这就是大名鼎鼎的Q函数,得到Q函数后,进入某个状态要采取的最优动作便可以通过Q函数得到.如果当前的状态是st,这个Q函数就会告诉我们这个动作at好不好,比如下围棋的时候状态就是这个棋盘,Q函数就会告诉我们了,如果你把棋子放在这个位置你的胜算有多大,如果把棋子放在别的位置你的胜算有多大,Q函数非常有用,假如有了Q,agent就能根据Q对动作的评价来做决策了.
当有了策略、价值函数和模型3个组成部分后,就形成了一个马尔可夫决策过程。且通过状态转移概率分布,我们可以揭示状态价值函数和动作价值函数之间的联系。
2.2.2状态价值函数对状态的评估
Vπ是把Qπ中的变量A用积分去掉,这样变量就只剩下状态s,Vπ跟policy函数π和状态s有关和动作a无关。在使用策略Π时,状态s的价值等于在该状态下基于策略Π采取所有动作的概率与相应的价值相乘再求和的结果
即
Vπ是动作价值函数Qπ的期望,Qπ和policy函数π,状态St,动作At有关,可以把这里的动作A作为随机变量,然后关于A求期望把A消掉,求期望得到的Vπ只和π和s有关。
它能告诉我们当前的局势好不好。假如我来根据policy函数π来下围棋,让Vπ看一下棋盘,它就会告诉我,当前我的胜算有多大,是快赢了快输了还是和对手不分高下,这里的期望都是根据随机变量A来求的,A的概率密度函数是π。
2.3 如何控制agent
一种办法是学习policy函数π,这在强化学习里面叫做policy-based learning 基于策略的学习.
另外一种方法是optimal action-value function(最优动作-价值函数)Q* ,这在强化学习里面称为value-based learning 价值学习。
第三种是两者结合。
标签:状态,函数,动作,学习,奖励,强化 From: https://www.cnblogs.com/mmhhhlb/p/18684189