第6章 强化学习_第1页
第6章 强化学习_第2页
第6章 强化学习_第3页
第6章 强化学习_第4页
第6章 强化学习_第5页
已阅读5页,还剩48页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

机器学习原理与应用毋建军、姜波、郭舒2025年1月第6章强化学习目录

强化学习简介

强化学习技术

综合案例:飞扬小鸟游戏6.16.26.3本章学习目标(知识要点)了解强化学习的基本概念及主要流程;掌握强化学习的组成框架及关键技术;熟悉强化学习处理技术的一些常用技巧;

熟练掌握Q学习、蒙特卡洛学习和时间差分学习等强化学习算法的基本原理;熟练使用强化学习算法对环境交互性要求较高的应用。目录

强化学习简介

强化学习技术

综合案例:飞扬小鸟游戏6.16.26.3强化学习简介6.16.1.1强化学习概念概念机器学习的一个领域,强调如何基于环境行动,以最大化预期利益。第三种基本的机器学习方法,与监督学习和无监督学习并列。与监督学习的区别监督学习:需要带标签的输入输出对对非最优解进行精确纠正强化学习:平衡“探索”(未知领域)与“利用”(已有知识)“探索-利用”的交换e.g.多臂老虎机、有限MDP6.1.2强化学习的理论基础灵感来源:心理学行为主义理论:有机体通过环境给予的奖励或惩罚刺激,逐步形成对刺激的预期,并产生能获得最大利益的习惯性行为。环境建模在机器学习问题中,环境通常被抽象为马尔可夫决策过程(MarkovDecisionProcesses,MDP)。传统动态规划与强化学习的区别传统动态规划:需要完整的MDP知识强化学习:不需要关于MDP的完整知识,适用于无法找到确切解法的大规模MDP问题。6.1.3强化学习的核心要素系统的核心要素智能体(Agent)感知环境的状态(State),并根据反馈的奖励(Reward)学习选择一个合适的动作(Action),来最大化长期总收益。环境(Environment)接收智能体执行的一系列动作,对这一系列动作进行评价并转换为一种可量化的信号反馈给智能体。策略(Policy)定义了智能体在特定时间的行为方式。策略是环境状态到动作的映射。奖励函数(RewardFunction)定义了强化学习问题中的目标。在每一步中,环境向智能体发送一个称为收益的标量数值。价值函数(ValueFunction)表示了从长远的角度看什么是好的。一个状态的价值是一个智能体从这个状态开始,对将来累积的总收益的期望。环境模型(EnvironmentModel)是一种对环境的反应模式的模拟,它允许对外部环境的行为进行推断。6.1.4强化学习概述目标导向的学习与决策强化学习是一种对目标导向的学习与决策问题进行理解和自动化处理的计算方法。通过智能体与环境的互动来学习,不依赖于监督信号或完全建模环境,具有与其他方法不同的范式。马尔可夫决策过程(MDP)框架基于MDP框架,使用状态、动作和奖励定义智能体与环境的互动过程,包含对因果关系、不确定性和显式目标存在性的认知。价值与价值函数强化学习的重要组成部分,有助于策略空间的有效搜索。6.1.5强化学习应用领域自动驾驶汽车:优化轨迹规划、动态路径和控制器策略贸易和金融:自动化交易决策医疗保健:

动态制定个性化治疗方案新闻推荐:实时跟踪用户偏好,提供个性化新闻推荐竞技游戏:学习游戏策略人机对话:生成连贯且信息丰富的对话,提升聊天机器人交互体验目录

强化学习简介

强化学习技术

综合案例:飞扬小鸟游戏6.16.26.3◎有模型与无模型

◎推荐系统◎模仿学习

◎Q-learning算法◎蒙特卡洛方法

◎时序差分方法强化学习技术6.26.2.1有模型与无模型根据马尔可夫决策过程中是否使用了奖励函数,强化学习的方法主要有两种:有模型法和无模型法。6.2.1有模型与无模型有模型强化学习(Model-BasedReinforcementLearning)

对环境有提前的认知,利用转换函数和奖励函数来估计最优策略。

智能体可能只能访问这些函数的近似值,并在交互时进行学习,或由另一个智能体授予。

能够预测环境动态所用的函数只是近似,可能导致无法找到最优策略。如果模型与真实世界不匹配,实际应用效果可能较差。

无模型强化学习(Model-FreeReinforcementLearning)

直接通过交互经验估计“价值函数”或“策略”,不使用转换函数和奖励函数。

效率低于有模型方法更容易实现,在真实场景下调整能力更强。

6.2.1有模型与无模型对比有模型方法:使用模型和规划来解决强化学习问题。

无模型方法:通过明确的试错学习机制进行强化学习。

两者各有优劣,智能体可结合两者,以增强适应性和决策能力。6.2.2推荐系统概念基于用户信息、兴趣、趋势内容等数据构建模型,为客户推荐最相关的内容。YouTube、Netflix、抖音、网易……传统推荐系统的两大建模范式基于协同过滤的推荐通过用户的接近度来检测相似的用户和他们的兴趣,主要考虑了用户和项目的交互基于内存的方法:对新用户,通过识别相似用户来推荐他们的偏好内容,无法量化误差。基于模型的方法:基于“用户-项目交互矩阵”生成模型预测新用户偏好,可观察到模型偏差和方差。基于内容的推荐额外考虑了用户信息和偏好、内容特征(流行度、描述、购买历史等)。包含更多与内容相关的描述性信息,往往具有较高的偏差,但方差最低。6.2.2推荐系统近年来,基于强化学习的推荐系统已经成为一个新兴的研究领域。由于其交互性和自主学习能力,它往往超过了传统的推荐模型,甚至超过了最新的基于深度学习的方法。基于强化学习的推荐系统基于传统强化学习的推荐基于深度强化学习的推荐基于多臂老虎机的强化推荐基于马尔可夫决策过程的强化推荐基于值函数的强化推荐基于策略梯度的强化推荐6.2.2推荐系统——基于多臂老虎机的强化推荐

6.2.2推荐系统——基于多臂老虎机的强化推荐

6.2.2推荐系统——基于马尔可夫决策过程的强化推荐概念借助强化学习模型中的马尔可夫属性内容作为状态,动作是要推荐的下一个最佳内容,奖励是用户满意度、转换或评论等内容。每个训练模型的内容可转换为向量嵌入,解释探索与利用的平衡。动态推荐机制算法既推荐用户可能认为最有用的内容,也推荐随机内容,以激发新兴趣。自适应学习模型会持续学习,适应用户兴趣变化,提高推荐的鲁棒性。6.2.2推荐系统——基于马尔可夫决策过程的强化推荐

6.2.2推荐系统——基于马尔可夫决策过程的强化推荐

6.2.2推荐系统——基于值函数的强化推荐

6.2.2推荐系统——基于值函数的强化推荐

6.2.2推荐系统——基于策略梯度的强化推荐概念使用策略梯度算法更新对抗生成网络框架中的生成器模型参数解决关键问题在生成推荐列表任务中,离散采样无法直接使用梯度下降的问题。应用场景用于对话系统,决定对话机器人何时开始推荐。深度策略梯度方法核心:通过梯度下降针对预期回报(长期累积奖励)优化参数化策略。优势:不受传统强化学习方法的限制,如价值函数的不确定性、状态信息不完整、连续状态和动作的复杂性等。6.2.2推荐系统——基于策略梯度的强化推荐

6.2.2推荐系统——基于策略梯度的强化推荐

6.2.3模仿学习

6.2.3模仿学习分类名称主要思想算法过程优点缺点使用场景行为克隆使用监督学习模仿专家策略的简单算法根据专家的轨迹,将其划分为状态-动作对,并将其作为独立同分布的示例处理,最后应用监督学习,损失函数取决于应用。简单高效独立同分布假设不成立时,可能导致灾难性故障不需要长期规划,专家的轨迹可以覆盖状态空间,犯错误不会导致致命后果的场景直接政策学习行为克隆的改进算法,通过交互式专家的反馈,不断优化策略直到形成闭环在初始专家演示的基础上,先提出一个初始预测策略。执行一个循环,直到收敛。在每次迭代中,都会通过推出当前策略来收集轨迹,并利用这些策略估计状态分布。对于每个状态都收集专家的反馈。最后利用这个反馈来训练一个新的政策。训练效率高,支持长期规划需要交互式专家实时评估行为复杂任务且有交互式专家的场景反向强化学习通过专家演示学习收益函数,再利用强化学习找到最优策略假设从一组专家的最优演示开始,尝试估计参数化的收益函数,引起专家的行为和策略。不断更新收益函数的参数,将新学习的策略与专家的策略进行了比较,直到找到一个足够好的策略。无需交互专家,训练高效,支持长期规划训练难度大复杂任务且交互专家不可用,或学习奖励函数比模仿策略更简单的场景6.2.4Q-learning算法概念无模型的强化学习算法用于学习特定状态下动作的值,帮助智能体选择最大奖励的动作。不需要对环境进行建模,能够处理随机转换和奖励问题。对于任何有限马尔可夫决策过程,Q-learning从当前状态出发,在任何和所有连续步骤上寻找总回报期望值最大化的最优策略。可以识别任何给定有限马尔可夫决策过程的最优行为选择策略,给定无限探索时间和部分随机策略。6.2.4Q-learning算法

6.2.4Q-learning算法

6.2.4Q-learning算法

6.2.5蒙特卡洛方法概念一种无模型的强化学习方法。在不清楚马尔可夫决策过程的状态转移概率的情况下,直接从经历过的完整的状态序列(episode)中学习估计状态的真实值,并假设某状态的值等于在多个状态序列中以该状态为基准得到的所有收获的平均值。理论上,蒙特卡洛方法完整的状态序列越多,结果越准确。6.2.5蒙特卡洛方法

6.2.5蒙特卡洛方法

6.2.5蒙特卡洛方法

6.2.6时序差分方法概念一种无模型的学习方法从当前值函数的估计值出发,通过自举学习(bootstrapping)从环境中采样得到不完整的状态序列,使用后继状态的值函数估计的方法得到该状态的收益,然后通过不断的采样并根据当前估计值执行更新。结合了蒙特卡罗的采样方法和动态规划方法,具有单步更新、速度更快的特点。6.2.6时序差分方法

6.2.6时序差分方法

目录

强化学习简介

强化学习技术

综合案例:飞扬小鸟游戏6.16.26.3◎创建Q-learning网络

◎训练Q-learning网络◎运行飞扬小鸟游戏综合案例:飞扬小鸟应用6.36.3综合案例:飞扬小鸟应用FlappyBird由越南视频游戏艺术家和程序员DongNguyen开发的一款手机游戏。玩家通过点击手机屏幕来控制一只小鸟的飞行高度,让小鸟在绿色管道柱之间飞行,而不会撞到它们。如果小鸟一不小心撞到了水管或者掉在地上的话,游戏便结束。人类玩家经常会受到各种因素的干扰,无法顺利过关。环境与工具PyCharm,Pygame,TensorFlow,Python6.3综合案例:飞扬小鸟应用1.创建Q-learning网络defcreateQNetwork(self): #网络权重 W_conv1=self.weight_variable([8,8,4,32]) b_conv1=self.bias_variable([32])

W_conv2=self.weight_variable([4,4,32,64]) b_conv2=self.bias_variable([64])

W_conv3=self.weight_variable([3,3,64,64]) b_conv3=self.bias_variable([64])

W_fc1=self.weight_variable([1600,512]) b_fc1=self.bias_variable([512])

W_fc2=self.weight_variable([512,self.actions]) b_fc2=self.bias_variable([self.actions]) #输入层 stateInput=tf.placeholder("float",[None,80,80,4]) #隐藏层 h_conv1=tf.nn.relu(self.conv2d(stateInput,W_conv1,4)+b_conv1) h_pool1=self.max_pool_2x2(h_conv1)

h_conv2=tf.nn.relu(self.conv2d(h_pool1,W_conv2,2)+b_conv2)

h_conv3=tf.nn.relu(self.conv2d(h_conv2,W_conv3,1)+b_conv3)

h_conv3_flat=tf.reshape(h_conv3,[-1,1600]) h_fc1=tf.nn.relu(tf.matmul(h_conv3_flat,W_fc1)+b_fc1)

#Q值层 QValue=tf.matmul(h_fc1,W_fc2)+b_fc2

returnstateInput,QValue,W_conv1,b_conv1,W_conv2,b_conv2,W_conv3,b_conv3,W_fc1,b_fc1,W_fc2,b_fc26.3综合案例:飞扬小鸟应用2.训练Q-learning网络deftrainQNetwork(self):#步骤1:从回放内存中获取随机小批量 minibatch=random.sample(self.replayMemory,BATCH_SIZE)

state_batch=[data[0]fordatainminibatch] action_batch=[data[1]fordatainminibatch] reward_batch=[data[2]fordatainminibatch] nextState_batch=[data[3]fordatainminibatch]

#步骤2:计算y值 y_batch=[] QValue_batch=self.QValueT.eval(feed_dict={self.stateInputT:nextState_batch}) foriinrange(0,BATCH_SIZE): terminal=minibatch[i][4] ifterminal: y_batch.append(reward_batch[i]) else: y_batch.append(reward_batch[i]+GAMMA*np.max(QValue_batch[i]))

self.trainStep.run(feed_dict={ self.yInput:y_batch, self.actionInput:action_batch, self.stateInput:state_batch })

#每迭代100000次保存网络模型 ifself.timeStep%10000==0: self.saver.save(self.session,'saved_networks/'+'network'+'-dqn',global_step=self.timeStep)

ifself.timeStep%UPDATE_TIME==0:

self.copyTargetQNetwork()6.3综合案例:飞扬小鸟应用3.运行飞扬小鸟游戏defplayFlappyBird(): #初始化DQN actions=2 brain=BrainDQN(actions)

#初始化飞扬的小鸟游戏 flappyBird=game.GameState()

#设置初始化动作 action0=np.array([1,0])

#获取图像数据、奖励、游戏是否结束 observation0,reward0,terminal=flappyBird.frame_step(action0)

observation0=cv2.cvtColor(cv2.resize(observation0,(80,80)),cv2.COLOR_BGR2GRAY) ret,observation0=cv2.threshold(observation0,1,255,cv2.THRESH_BINARY)#二值化

brain.setInitState(observation0)#设置初始状态

#运行游戏 while1!=0: action=brain.getAction()#获取动作 nextObservation,reward,terminal=flappyBird.frame_step(action) nextObservation=preprocess(nextObservation)#原始图像处理为80*80灰度图像 brain.setPerception(nextObservation,action,reward,terminal)6.3综合案例:飞扬小鸟应用如图所示,在飞扬小鸟这个游戏中,强化学习模型通过接收鼠标点击操作来控制小鸟的飞行高度,躲过各种水管,飞的越远越好,因为飞的越远就能获得更高的积分奖励。该强化学习模型在不需要大量的数据输入情况下,通过自身不停的尝试来学会某些技能,这正是强化学习方法不同于其他机器学习方法的强大之处。本章小结强化学习简介通过代理与环境交互,利用行为反馈进行学习。代理通过反复试验,根据奖励和惩罚进行学习。现代人工智能中的重要课题,应用前景广阔。强化学习vs监督学习vs无监督学习监督学习:基于输入输出的映射需要使用正确的动作集强化学习:基于输入输出的映射使用奖励与惩罚信号引导学习目标:找到一个合适的动作模型,以最大化代理的总累积奖励无监督学习目标:寻找数据点之间的相似性与差异本章小结常见强化学习算法Q-learning基于值策略,代理根据从另一个策略派生的动作学习值。SARSA基于策略的方法,根据从当前动作派生的当前动作来学习值。强化学习的挑战部署难度实际应用中环境变化频繁,难以始终采取最佳行为。计算资源与时间需求训练环境复杂时需要大量时间与计算资源。与监督学习的比较监督学习在某些情况下可以提供更快、更有效的结果。习题概念题什么是强化学习?应用场景包括哪些?强化学习与监督学习、无监督学习的区别是什么?列举不少于5种强化学习方法。什么是多臂老虎机问题?什么是马尔可夫决策过程?深度强化学习包括哪些算法模型?操作题编写一个基于强化学习的五子棋游戏应用系统。参考AlphaZero系统,初始化五子棋棋盘的布局,使用1~2种强化学习算法实现人机的对弈。随着对弈棋局的增加,机器的水平在不断提升,最终达到与人类相当的水平。参考文献1SuttonRS,BartoAG.Reinforcementlearning:Anintroduction[M].MITpress,2018.2KaelblingLP,LittmanML,MooreAW.Reinforcementlearning:Asurvey[J].Journalofartificialintelligenceresearch,1996,4:237-285.3MoerlandTM,BroekensJ,JonkerCM.Model-basedreinforcementlearning:Asurvey[J].arXivpreprintarXiv:2006.16712,2020.4StrehlAL,LiL,WiewioraE,etal.PACmodel-freereinforcementlearning[C]//Proceedingsofthe23rdinternationalconferenceonMachinelearning.2006:881-888.5LüL,MedoM,YeungCH,etal.Recommendersystems[J].Physicsreports,2012,519(1):1-49.6余力,杜启翰,岳博妍,等.基于强化学习的推荐研究综述[J].计算机科学,48(10):1-18.7AgrawalS,GoyalN.Analysisofthompsonsamplingforthemulti-armedbanditproblem[C].Conferenceonlearningtheory.JMLRWorkshopandConferenceProceedings,2012:39.1-39.26.8ShaniG,HeckermanD,BrafmanRI,etal.AnMDP-basedrecommendersystem[J].JournalofMachineLearningResearch,2005,6(9).9WangZ,SchaulT,HesselM,etal.Duelingnetworkarchitecturesfordeepreinforcementlearning[C].Internationalconferenceonmachinelearning.PMLR,2016:1995-2003.10ZhaoW,WangB,YangM,etal.Leveraginglongandshort-terminformationincontent-awaremovierecommendationviaadversarialt

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论