IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 如何理解马尔可夫决策过程? -> 正文阅读

[人工智能]如何理解马尔可夫决策过程?

1 引言

马尔可夫性:无后效性,指系统的下个状态只与当前状态信息有关,而与更早之前的状态无关;
马尔可夫链(Markov Chain, MC):系统的下一个状态只与当前状态相关;
马尔可夫决策过程(Markov Decision Process, MDP):具有马尔可夫性,与MC不同的是MDP还考虑了动作,即系统下个状态不仅和当前的状态有关,也和当前采取的动作有关。
以下棋为例:我们在某个局面(状态 s i s_i si?)走了一步(动作 a i a_i ai?),这时对手的选择(导致下个状态 s i + 1 s_{i+1} si+1?)我们是不能确定的,但是他的选择只和 s i s_i si? a i a_i ai?有关,而不用考虑更早之前的状态和动作。

2 马尔可夫决策过程

一个马尔可夫决策过程可以由一个四元组表示:
M = ( S , A , P s a , R ) (1) M = (S, A, P_{sa}, R) \tag1 M=(S,A,Psa?,R)(1)

  • S = { s 1 , s 2 , … , s k } S = \{s_1, s_2, \dots, s_k\} S={s1?,s2?,,sk?}:状态集(states), s i s_i si?表示第 i i i步的状态;
  • A = { a 1 , a 2 , … , a k } A = \{a_1, a_2, \dots, a_k\} A={a1?,a2?,,ak?}:一组动作(actions), a i a_i ai?表示第 i i i步的动作;
  • P s a P_{sa} Psa?:状态转移概率,当前 s i ∈ S s_i \in S si?S状态下,经过 a i ∈ A a_i \in A ai?A作用后,会转移到的其它状态的概率分布情况,例如比如,在状态 s i ∈ S s_i \in S si?S下执行动作 a i ∈ A a_i \in A ai?A,转移到 s i + 1 ∈ S s_{i+1} \in S si+1?S的概率可以表示为 p ( s i + 1 ∣ s i , a i ) p(s_{i+1} \vert s_i, a_i) p(si+1?si?,ai?);
  • R : S × A ? R R: S \times A \mapsto \mathbb{R} R:S×A?R:回报函数(reward function),如果回报只与状态有关,可以简化为 R : S ? R R: S \mapsto \mathbb{R} R:S?R。如果一组 ( s i , a i ) (s_{i},a_i) (si?,ai?)转移到了下个状态 s i + 1 s_{i+1} si+1?,那么回报函数可记为 r ( s i + 1 ∣ s i , a i ) r(s_{i+1}|s_i, a_i) r(si+1?si?,ai?)。如果 ( s i , a i ) (s_i,a_i) (si?,ai?)对应的下个状态 s i + 1 s_{i+1} si+1?是唯一的,那么回报函数也可以记为 r ( s i , a i ) r(s_i,a_i) r(si?,ai?)

MDP 的动态过程如下:

  • 智能体(agent)的初始状态为 s 0 s_0 s0?;
  • A A A 中挑选一个动作 a 0 a_0 a0?执行,执行后,agent 按 P s a P_{sa} Psa?概率随机转移到了下一个 s 1 s_1 s1?状态, s 1 ∈ P s 0 a 0 s_1 \in P_{s_0a_0} s1?Ps0?a0??
  • 然后再执行一个动作 a 1 a_1 a1?,就转移到了 s 2 s_2 s2?,接下来再执行 a 2 a_2 a2?,…;
  • 可以用下面的图表示状态转移的过程:

在这里插入图片描述
如果回报 r i r_i ri?是根据状态 s i s_i si?和动作 a i a_i ai?得到的,则MDP可以如图表示:
在这里插入图片描述

3 值函数(value function)

增强学习学到的是一个从环境状态到动作的映射(即行为策略),记为策略 π : S → A π: S→A π:SA。而增强学习往往又具有延迟回报的特点: 如果在第 n n n步输掉了棋,那么只有状态 s n s_n sn?和动作 a n a_n an?获得了立即回报 r ( s n , a n ) = ? 1 r(s_n,a_n)=-1 r(sn?,an?)=?1,前面的所有状态立即回报均为0。所以对于之前的任意状态 s s s和动作 a a a,立即回报函数 r ( s , a ) r(s,a) r(s,a)无法说明策略的好坏。因而需要定义值函数(value function,又叫效用函数)来表明当前状态下策略 π π π的长期影响。

  • V π ( s ) V^π(s) Vπ(s):策略 π π π下,状态 s s s的值函数;
  • r i r_i ri?:未来第 i i i步的立即回报。

常见的值函数有以下三种:
V π ( s ) = E π [ ∑ i = 0 h r i ∣ s 0 = s ] (2) V^π(s) = E_{\pi}\left[\sum_{i=0}^{h} r_i \vert s_0 = s \right] \tag2 Vπ(s)=Eπ?[i=0h?ri?s0?=s](2)

V π ( s ) = lim ? h → ∞ E π [ 1 h ∑ i = 0 h r i ∣ s 0 = s ] (3) V^π(s) = \lim_{h \rightarrow \infty}E_{\pi}\left[\frac{1}{h}\sum_{i=0}^{h} r_i \vert s_0 = s \right] \tag3 Vπ(s)=hlim?Eπ?[h1?i=0h?ri?s0?=s](3)

V π ( s ) = E π [ ∑ i = 0 ∞ γ i r i ∣ s 0 = s ] (4) V^π(s) = E_{\pi}\left[\sum_{i=0}^{\infty} \gamma^{i} r_i \vert s_0 = s \right] \tag4 Vπ(s)=Eπ?[i=0?γiri?s0?=s](4)
其中:
a) 是采用策略π的情况下未来有限h步的期望立即回报总和;
b) 是采用策略π的情况下期望的平均回报;
c) 是值函数最常见的形式,式中 γ ∈ [ 0 , 1 ] γ∈[0,1] γ[0,1]称为折合因子,表明了未来的回报相对于当前回报的重要程度。特别的, γ = 0 γ=0 γ=0时,相当于只考虑立即不考虑长期回报, γ = 1 γ=1 γ=1时,将长期回报和立即回报看得同等重要。

4 对2048游戏的建模

s 1 s_1 s1?: 初始化状态,随机产生的棋盘;
a 1 a_1 a1?:用户连接相同的数字后,系统为棋盘分配新数字的动作;
s 2 s_2 s2?:用户选择如何连线后导致的下一个棋盘,该棋盘依然有空缺,需要填充新数字;
p ( s 2 ∣ s 1 , a 1 ) p(s_{2} \vert s_1, a_1) p(s2?s1?,a1?):经过 a 1 a_1 a1?操作后状态从 s 1 s_1 s1? s 2 s_2 s2?的概率,这个我觉得可以通过统计得到;
奖励函数:是设计的难点
如何进行训练:也是一个难点

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-03-22 20:35:19  更:2022-03-22 20:38:28 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 13:42:44-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码