电子科技大学人工智能期末复习笔记(二):MDP与强化学习

news2024/11/28 14:58:36

目录

前言

期望最大搜索(Expectimax Search)

⭐马尔科夫决策(MDP)——offline(超重点)

先来看一个例子

基本概念 

政策(Policy)

折扣(Discounting)

如何停止循环?

价值迭代(Value Iteration) 

例题 

固定策略(Fixed Policies)

策略提取(Policy Extraction)

策略迭代(Policy Iteration)

策略迭代和价值迭代的比较

强化学习(Reinforcement Learning, RL)——online

简介

基于模型的强化学习(Model-Based RL,MBRL)

无模型强化学习(Model-Free RL,MFRL)

直接评估(Direct Evaluation)

时间差分学习(Temporal Difference Learning)

主动强化学习(Active Reinforcement Learning)

Q-Learning 

探索与利用 


前言

本复习笔记基于李晶晶老师的课堂PPT与复习大纲,供自己期末复习与学弟学妹参考用。

在上一节中,我们提到了Minimax是一种悲观算法,即考虑最坏的情况(Worst Case)从而使损失最小化。然而在实际操作过程中,对手并不是始终能做到最优决策,会有一定概率的失误,因此我们应当计算平均能得到的分数。

当不确定的结果会偶然出现时,也就是在不确定性搜索(Non-Deterministic Search)下,我们的算法就需要做出调整。


期望最大搜索(Expectimax Search)

在前言的条件下,对手不一定足够smart去得到最优解,因此,我们将对手节点视作chance nodes,它具有一定的概率去实行一定的策略,此时的策略是使得expected utility最大。值现在应该反映平均情况(预期)结果,而不是最坏情况(最小)结果。上一节提到的minimax实际上是expected max的一种概率为1或0的特例。

▪期望搜索:计算平均分数下最优玩法

▪最大节点和Minimax一致

▪机会节点类似Minimax的最小节点但结果不确定

▪计算他们的预期效用

▪即加权平均(期望)子节点

注意:在expectimax中最好不要进行剪枝操作,因为min层的计算需要依据下一层的每一个值(如果概率不是非0即1那种)

选择minimax策略的agent总是过于悲观,因此分数不会太高,但胜率会很高;而选择expectimax策略的agent过于乐观(比如万一有一种情况分数很高但概率相对不高,在计算的结果中,导致此算出来的期望值很高,agent会选择这种策略,但事实上,opponent很有可能选择其他路并且令agent分数减少)


⭐马尔科夫决策(MDP)——offline(超重点)

MDP是一个五元组<S,A,T,R,γ>——状态空间、行为、状态转移概率、奖励、折扣因子

先来看一个例子

只有一个主体,存在障碍,惩罚出口和奖励出口,主体可以任意移动但是有概率出现偏差移动,如果移动碰到墙体则呆在原地,每行动一步会有小的存活奖励(正/负/0都可).。

我们的目标是使主体得到的分数最大化。 

如下图,以前的决策是左边的情况,而现在要解决的是随机问题

基本概念 

这就要用到马尔科夫决策过程(MDP)

▪MDP定义为:

▪一组状态集S

▪一组动作集A

▪一个过渡函数T(s,a,s')

        ▪从状态s到状态s'的概率,例如,P(s'|s, a)

        ▪也称为模型或动态

▪奖励函数R(s,a,s')

        ▪有时只是R (s)或R (s')

▪一个起始状态

▪也许存在结束状态

▪马尔科夫决策过程,“马尔科夫”意味着行动结果只取决于当前状态

▪这就类似搜索,后继函数只能取决于当前状态(而非历史状态)

▪MDPs是非确定性搜索问题

▪解决它们的一种方法是期望最大搜索

政策(Policy)

在确定性单代理搜索问题,我们想要一个从起始节点到目标节点的最优计划,或序列的行动。

在MDP中,我们需要一个最优政策\pi ^{*}:S\rightarrow A,它在每一个状态下都给出一个动作,并且尝试在最后得到最大的效益,显式的策略定义了主体的反应倾向,如下图:

能观察到,在不同的生存奖励下,主体的行动倾向都有所不同。 

折扣(Discounting)

如上图,当生存奖励的负分偏小时,在更为危险的地块中agent会宁愿选择一直对墙试错从而让自己滑行到两侧而非冒险按正确的朝向走,这可能会与我们的实际预期不符,因为它走做了太多无用的动作。这时我们就要给奖励添加折扣,让agent尽可能快的拿到最大的奖励:

▪最大化奖励的总和是合理的

▪更喜欢马上获得的奖励而非以后的奖励也是合理的

▪一个解决方案:奖励的值呈指数衰减

例如,折扣为0.5时,U([1,2,3]) < U([3,2,1])。

U([1,2,3]) = 1*1 + 0.5*2 + 0.25*3 U([3,2,1]) = 1*3 + 0.5*2 + 0.25*1  

例如

在状态d时,γ为多少时往左或右的收益一致?

解: 10\cdot \gamma ^{3}= 1\cdot \gamma,解得γ=\frac{1}{\sqrt{10}} 。

如何停止循环?

如果一个游戏可以一直进行,怎么让它停下来并呈现出我们的分数?

1. 可以设置在进行n步之后必须结束游戏(life/生命周期

2. 可以设置动态变化的政策,例如随着可用步数的减少,政策随之变化

3. 可以设置折扣,到最后奖励值会趋于收敛,当分数变化小于某个临界时可以结束游戏 

4. 可以设置一个“吸收节点”,当进入这个节点时必须退出游戏,这个节点在前面的阶段不会进入,但到后面终将有可能进入这个状态。

价值迭代(Value Iteration) 

  • 起始价值和为0,因为还没有开始迭代
  • 给定某一向量的价值,开始向后迭代

  • 重复迭代直至收敛

 

值迭代缺点

  • 速度慢——每次迭代时间复杂度 O(S²A)
  • 每个状态的“最大值”很少改变
  • policy通常早在values之前收敛

 

举例:汽车运行问题

例题 


固定策略(Fixed Policies)

固定每一步的action由函数π(s)得到,那么V值计算如下,其实和价值迭代没太大区别


策略提取(Policy Extraction)

在知道每一步的最优价值V*(s)时,还需要进行一个arg max()操作来求得执行哪个action会得到此最优价值

 


策略迭代(Policy Iteration)

包括两部分:

 策略评估:对于固定策略π ,通过策略评估得到V值,迭代直至v值收敛

策略提升:对于固定策略的V值,使用策略提取获得更好的策略:

局限:在不知道T和R时无法更新V

idea:对结果 s'(通过做动作!)和平均值进行采样


策略迭代和价值迭代的比较

两者本质上都是计算最优value,都是用于解决MDP的动态程序

价值迭代:

  • 每次迭代都更新value和policy
  • 不跟踪policy,但在选择最大Q值时会隐式的重新计算他

策略迭代:

  • 使用固定策略进行了几次更新实用程序的传递(每次传递都很快,因为我们只考虑一个动作,而不是所有动作)
  • After the policy is evaluated, a new policy is chosen(慢如值迭代传递)
  • 新policy会更优

强化学习(Reinforcement Learning, RL)——online

简介

强化学习与MDP的区别就在于:我们不明确转化函数和奖励函数的具体内容,必须切实地去尝试以后才能得出结论!

所以说,强化学习是一种在线学习方式,只能靠自己试错来得出正确的决策。 

基于模型的强化学习(Model-Based RL,MBRL)

  • step1.通过training过程,计算状态转移矩阵T()和动作reward R(),通过学习得到经验MDP模型

  • step2. 使用价值迭代或策略迭代求解最优values

过程:

1. 选出所有状态

2. 用模型模拟转移函数

3. 模拟奖励函数并且得出价值

4. 用MDP完成剩余的价值迭代等工作

例题:

无模型强化学习(Model-Free RL,MFRL)

直接评估(Direct Evaluation)

计算当前政策下所有动作的价值, 将观察到的样本值作平均

  • 根据政策做出动作
  • 每次遇到一种情形, 都把(折扣)奖励加起来
  • 平均这些样本, 得到直接评估结果

例题:

计算过程:

A = [-10] / 1 =10

B = [(-1-1+10)+(-1-1+10)]/2 = +8

C = [(-1+10)+(-1+10)+(-1+10)+(-1-10)]/4 = +4

D = [10+10+10]/3 = +10

E = [(-1-1+10)+(-1-1-10)]/2 = -2

优点:简单易理解;不需要计算T、R;最终你那个计算出正确的平均value

缺点:浪费了状态连接的信息,每个状态必须单独学习,会花费较长时间学习

时间差分学习(Temporal Difference Learning)

从每段经验中学习 

  • 每次经过一个转移函数(动作)就更新V(s)
  • 以至于新的状态将会为更新策略作出更多贡献
  • 政策固定, 始终作评估
  • 将当前值提供给任何一个后继者并作平均

例题:

计算过程:

 

主动强化学习(Active Reinforcement Learning)

Q-Learning 

我们可以计算出下一个状态的价值并取最大值,但我们也可以计算Q-state(Q状态)的值, 在我理解, 它属于一个未决策的中间态(更关注当前状态和动作), 计算出它的值可以帮助我们决策, 并且更加有用。

如果知道转化函数和奖励函数:

如果不知道:

取一个实例,作为转化函数与奖励函数的值来迭代。

Q-Learning的属性

即使没有按最优方式迭代,Q-Learning也始终能够最终迭代为最优结果(非政策学习) 

  • 前提条件:
    • 你必须探索足够的次数
    • 你必须最终使学习率足够小
    • 但不要太快减少它
    • 不管你如何选择行动,要求基本上在限制下内 

探索与利用 

我们通常利用各种函数来帮助我们得出价值等数值帮助决策行为,但这样也不一定是最优解,需要偶尔去进行探索,但在什么条件下进行探索呢?

  • 有几种方案可以强迫探索
  • 最简单:随机行动(ε-贪婪)
    • 每次行动,随机一次(使ε为0到1之间的任意数,每次随机出一个0到1的数与它比较)
    • 比ε小,行动随机
    • 比ε大,行动按当前策略
  • 随机行动的问题?
    • 我们最终会探索其他可能性,但必须在学习完成后继续研究
    • 解决方案:随着时间的推移降低ε

总结

我们已经看到了人工智能方法如何解决以下问题:

▪搜索

▪约束满足问题

▪博弈

▪马尔可夫决策问题

▪强化学习 

下一节:一阶逻辑

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/331347.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Mysql中的事务

1. MyIsam是不支持事务的&#xff0c; InnoDB支持 2.事务的四大特性ACID 原子性&#xff08;Atomicity&#xff09;&#xff1a;一个事务中的所有操作&#xff0c;要么全部完成&#xff0c;要么全部不完成&#xff0c;不会结束在中间某个环节&#xff0c;而且事务在执行过程中…

PythonWeb开发基础(四 完)Response使用及wsgify装饰器

课程地址&#xff1a;Python 工程师进阶技术图谱 文章目录&#x1f33e; Response使用及wsgify装饰器1、Response的使用2、wsgify装饰器&#x1f33e; Response使用及wsgify装饰器 1、Response的使用 前面一节我们知道了&#xff0c;使用webob的Request模块可以很方便地对请求…

若依框架---PageHelper分页(十五)

&#x1f44f;作者简介&#xff1a;大家好&#xff0c;我是小童&#xff0c;Java开发工程师&#xff0c;CSDN博客博主&#xff0c;Java领域新星创作者 &#x1f4d5;系列专栏&#xff1a;前端、Java、Java中间件大全、微信小程序、微信支付、若依框架、Spring全家桶 &#x1f4…

STM32开发(7)----CubeMX配置串口通讯(轮询方式)

CubeMX配置串口通讯&#xff08;轮询方式&#xff09;前言一、串口的介绍二、实验过程1.实验材料2.STM32CubeMX配置PWM3.代码实现重载printf轮询接收4.编译烧录5.硬件连接6.实验结果重载printf结果串口轮询接收结果总结前言 本章介绍使用STM32CubeMX对串口进行配置的方法&…

​力扣解法汇总1797. 设计一个验证系统

目录链接&#xff1a; 力扣编程题-解法汇总_分享记录-CSDN博客 GitHub同步刷题项目&#xff1a; https://github.com/September26/java-algorithms 原题链接&#xff1a;力扣 描述&#xff1a; 你需要设计一个包含验证码的验证系统。每一次验证中&#xff0c;用户会收到一个…

vue:自定义组件如何使用v-model

问题&#xff1a; 在使用自定义组件时&#xff0c;我们有时候需要使用 v-model 来双向绑定。方法&#xff1a; 在vue中&#xff0c;v-model 的值相当于默认传递了一个名为 value 的 prop 和一个名为 input 的事件&#xff08;注意&#xff0c;这个value的prop是需要在自定义组件…

《皮格马利翁效应》-期待效应

“ 人生没有白走的路&#xff0c;没有白读的书&#xff0c;你触碰过的那些文字会在不知不觉中帮你认知这个世界 #每天读本书 #关注我每天解读一本书”《皮格马利翁效应》01关于作者朱瑟琳•乔塞尔森&#xff0c;女性心理学家&#xff0c;是国际 公认的精神医学大师欧文•亚隆的…

刚刚,微软推出支持chatGPT的必应

文章目录刚刚&#xff0c;微软推出支持chatGPT的必应什么是新的必应&#xff1f;如何体验页面初体验结语&#xff1a;搜索引擎的新时代刚刚&#xff0c;微软推出支持chatGPT的必应 这款新的必应功能允许用户通过自然语言方式与chatgpt进行交流&#xff0c;以获得快速、准确的信…

华为HCIE学习之openstack基础

文章目录一、Openstack各种文件位置二、Openstack命令操作1.使用帮助三、用命令发放云主机1、创建租户2、创建用户并与租户绑定3、注册镜像4、创建规格5、创建公有网络及其子网&#xff08;做弹性IP用&#xff09;6、创建私有网络及其子网7、创建路由并设置网关与端口8、创建安…

C++类与对象(中)

✅<1>主页&#xff1a;我的代码爱吃辣 &#x1f4c3;<2>知识讲解&#xff1a;C &#x1f525;<3>创作者&#xff1a;我的代码爱吃辣 ☂️<4>开发环境&#xff1a;Visual Studio 2022 &#x1f4ac;<5>前言&#xff1a;C类中一共有六个默认成员函…

当ChatGPT遇到网络安全

ChatGPT&#xff1a;是人工智能技术驱动的自然语言处理工具&#xff0c;它能够通过学习和理解人类的语言来进行对话&#xff0c;还能根据聊天的上下文进行互动&#xff0c;真正像人类一样来聊天交流&#xff0c;甚至能完成撰写邮件、视频脚本、文案、翻译、代码等任务。GPT 是 …

活动星投票文艺巡演活动免费投票程序制作网页投票网站

“文艺巡演活动”网络评选投票_线上小程序的投票方式_视频投票的功能_在线投票程序用户在使用微信投票的时候&#xff0c;需要功能齐全&#xff0c;又快捷方便的投票小程序。而“活动星投票”这款软件使用非常的方便&#xff0c;用户可以随时使用手机微信小程序获得线上投票服务…

ConcurrentHashMap底层原理介绍

概述: ConcurrentHashMap相对于HashMap的性能较差一些,但相比于Hashtable而言性能要高很多,因为Hashtable内部的所有方法都是同步方法,加了synchronized锁,所以性能上比较差,但在多线程环境下是具有很强的安全性的ConcurrentHashMap避免了对全局加锁改成了局部加锁操作&#xf…

Go最新版下载 Go1.20版新特性

Go官方正式发布了Go1.20稳定版 该版本依然保持 Go1 兼容性&#xff0c;可以升级到 Go1.20&#xff0c;而不需要做任何代码改动。 可以使用你任何喜欢的方式升级&#xff1a; 比如&#xff1a; go install golang.org/dl/go1.20latest 具体的可以参考官网教程&#xff1a; ht…

简介DNS协议、ICMP协议、NAT技术

文章目录一、DNS 协议1.背景2.域名二、ICMP 协议1.功能2.格式3. ping 命令4. traceroute 命令三、NAT 技术1.基本理解2. NAT 转换过程3. NAPT4. NAT 技术的缺陷5. NAT 和代理服务器一、DNS 协议 DNS&#xff08;Domain Name System&#xff0c;域名系统&#xff09;&#xff0…

【头歌】串的运算及应用

串的运算及应用第1关&#xff1a;求子串任务描述本关任务&#xff1a;实现字符串的求子串操作。相关知识为了完成本关任务&#xff0c;你需要理解&#xff1a;1. 求子串操作&#xff0c;2.字符串的顺序存储。求子串操作从一个字符串S的某个位置开始截取若干个连续字符&#xff…

采样电路的3个组成部分

采样电路的使用实际上是电路的一个闭环控制过程&#xff0c;也可以理解为一个负反馈过程&#xff0c;采集的信号被传送到主控制芯片进行调整。今天就来为您介绍一下采样电路的三个组成部分分析&#xff01;一起来看看吧&#xff01; 这里的采样实际上分为电流采样、电压采样、…

((蓝桥杯 刷题全集)【备战(蓝桥杯)算法竞赛-第6天(动态规划 专题)】( 从头开始重新做题,记录备战竞赛路上的每一道题 )距离蓝桥杯还有61天

&#x1f3c6;&#x1f3c6;&#x1f3c6;&#x1f3c6;&#x1f3c6;&#x1f3c6;&#x1f3c6; 欢迎观看我的博客&#xff0c;如有问题交流&#xff0c;欢迎评论区留言&#xff0c;一定尽快回复&#xff01;&#xff08;大家可以去看我的专栏&#xff0c;是所有文章的目录&a…

EMR Studio 要点梳理

文章目录1. 关系梳理2. 网络配置2.1 必须是在私有子网中的EMR集群才可以被EMR Studio连接吗&#xff1f;2.2 关于网络安全组&#xff1a;DefaultEngineSecurityGroup 和 DefaultWorkspaceSecurityGroupGit2.3 18888端口2.4 无法访问Github的解决方法3. 集成Windwos AD身份认证4…

【王道数据结构】第六章(上) | 图详解

目录 一、图的基本概念 二、图的存储 1、邻接矩阵法 2、邻接表法(顺序链式存储) 3、十字链表存储 4、邻接多重表 三、图的基本操作 四、图的遍历 1、广度优先遍历 2、深度优先遍历 一、图的基本概念 1、图的定义 2、无向图 若E是无向边 简称边) 的有限集合时&#xff…