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 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> Encoding Human Domain Knowledge to Warm Start Reinforcement Learning -> 正文阅读

[数据结构与算法]Encoding Human Domain Knowledge to Warm Start Reinforcement Learning


相关资料

  1. 论文链接:Encoding Human Domain Knowledge to Warm Start Reinforcement Learning
  2. 代码地址:算法地址ProLoNets

1.研究动机是什么

??在许多强化学习任务中,当面临新的挑战时,智能体往往从“零”开始学习,忽略了许多可以从领域专家那里获得的丰富的现成知识。这些知识可以帮助智能体快速启动学习过程,减少不必要的探索,加速智能体训练,缩短训练时间。

2.主要解决了什么问题

??使用专家知识构造决策树策略来初始化神经网络,通过这种方式对智能体进行指导,起到warm-start的作用;同时,随着训练的进行,决策树会不断生长,增加新知识,最终超过用来初始化的专家知识。

3.所提方法是什么

??作者提出了一种新的强化学习技术,通过人工初始化神经网络权重和结构。将领域知识直接编码进入神经网络决策树,并通过策略梯度更新对该知识进行改进。同时,随着训练的进行,神经网络决策树不断生长,发现新知识,最终超过专家知识。

3.1总体流程

??总体流程如图所示:1.需要提供分层形式的决策规则集合。这些策略是通过简单的用户交互来指定指令的。2.每条规则被转换为网络参数,每条规则的表达式为权重和判断条件为偏差,形成初始化的决策树神经网络。3.利用初始化网络与环境进行交互收集数据,更新网络参数,对知识改进。4.每次迭代更新,检查决策树纯度,当纯度过低,增长树,原来的树节点复制网络参数,新的节点随机初始化参数,形成新的决策树神经网络。重复3-4,直至训练结束。
在这里插入图片描述

3.2PROLONET决策树网络

??首先用户需要提供分层形式的决策过程。随后用户的决策过程被转换为神经网络,每条规则由网络权重 ω n → ∈ W \overrightarrow{\omega_n}\in W ωn? ?W?和比较值(偏差) c n ∈ C c_n \in C cn?C??表示。如图传统的决策树和PROLONET。决策节点变成线性层,叶子节点变成动作概率,最终的输出是路径概率加权的叶子之和。
在这里插入图片描述
??对于每一个决策节点 D n D_n Dn?来说,整个网络被表示为 D n = σ [ α ( w ? n T ? X ? ? c n ) ] D_{n}=\sigma\left[\alpha\left(\vec{w}_{n}^{T} * \vec{X}-c_{n}\right)\right] Dn?=σ[α(w nT??X ?cn?)],其中, X → \overrightarrow{X} X 是输入数据,为环境状态, σ \sigma σ是sigmoid函数, α \alpha α是用于抑制决策节点的置信度,对树的置信度越低,决策的不确定性就越大,从而导致更多的探索。 α \alpha α值大强调比较器和加权输入之间的差异,从而推动树更布尔。 α \alpha α值越低,树越平滑,而 α = 0 \alpha=0 α=0则产生一致的随机决策。下面将以Cartpole为例,对文章提出的方法详细解读。Cartpole的状态空间是4维向量{cart position, cart velocity, pole angle, pole velocity};动作空间是2维向量{left, right}。

3.2.1PROLONET初始化

??现有一条规则:如果小车的位置在中心的右边,向左移动;否则,向右移动,中心为0。用户指明位置是输入4维状态特征的第一个元素。初始化决策节点 D 1 D_1 D1?,权重和偏差为 w 1 → = [ 1 , 0 , 0 , 0 ] \overrightarrow{w_{1}}=[1,0,0,0] w1? ?=[1,0,0,0] c 1 = 0 c_{1}=0 c1?=0如Alg1的5-8。接下来的11-13创造一个新的叶节点 l 1 → = [ 1 , 0 ] \overrightarrow{l_{1}}=[1,0] l1? ?=[1,0]表示向左, l 2 → = [ 0 , 1 ] \overrightarrow{l_{2}}=[0,1] l2? ?=[0,1]表示向右。最后,初始化路 Z ( l 1 → ) = D 1 Z\left(\overrightarrow{l_{1}}\right)=D_{1} Z(l1? ?)=D1? ( l 2 → ) = ( ? D 1 ) \left(\overrightarrow{l_{2}}\right)=\left(\neg D_{1}\right) (l2? ?)=(?D1?)。由此产生的智能体动作的概率分布是一个softmax函数 ( D 1 ? l 1 → + ( 1 ? D 1 ) ? l 2 → ) \left(D_{1} * \overrightarrow{l_{1}}+\left(1-D_{1}\right) * \overrightarrow{l_{2}}\right) (D1??l1? ?+(1?D1?)?l2? ?)。处理完所有决策节点后,每个节点 D n D_n Dn?的值表示该条件为TRUE的可能性, ( 1 ? D n ) (1-D_n) (1?Dn?)为FALSE。有了这些可能性,然后乘出不同路径到所有叶节点的概率。每个叶节点包含了一条路 z ∈ Z z \in Z zZ,这是一组决策节点,应该是TRUE或FALSE,以便达到叶节点 l l l,计算每个输出动作的先验权值。例如,在上图中, z 1 = D 1 ? D 2 z_1=D_1*D_2 z1?=D1??D2?, z 3 = ( 1 ? D 1 ) ? D 3 z_3=(1-D_1)*D_3 z3?=(1?D1?)?D3?.在叶子节点中,通过将到达的概率乘以在叶节点内的输出的先验权重来确定。在计算每一个叶子的输出后,这些叶子被求和并通过一个softmax函数传递,以提供最终的输出分布。
在这里插入图片描述

3.2.2PROLONET推理

??假设小车当前状态为 X = [ 2 , 1 , 0 , 3 ] X=[2,1,0,3] X=[2,1,0,3]??,决策树只有1个决策节点2个叶节点。根据决策节点的公式,在经过第一个节点 D 1 D_1 D1???之后, σ ( [ 1 , 0 , 0 , 0 ] ? [ 2 , 1 , 0 , 3 ] ? 0 ) = 0.88 \sigma([1,0,0,0] *[2,1,0,3]-0)=0.88 σ([1,0,0,0]?[2,1,0,3]?0)=0.88??,这意味着“基本是正确的"。这个概率通过各自的路径传播到两个叶子节点,使得网络的输出概率为
P out? = L 1 → ( σ 1 ? σ 2 ) + L 2 → ( σ 1 ? ( 1 ? σ 2 ) ) ) = 0.88 ? [ 1 , 0 ] + ( 1 ? 0.88 ) ? [ 0 , 1 ] ) = [ 0.88 , 0.12 ] P_{\text {out }} =\overrightarrow{L_{1}}\left(\sigma_{1} * \sigma_{2}\right)+\overrightarrow{L_{2}}\left(\sigma_{1} *\left(1-\sigma_{2}\right)\right))\\ =0.88 *[1,0]+(1-0.88) *[0,1])=[0.88,0.12] Pout??=L1? ?(σ1??σ2?)+L2? ?(σ1??(1?σ2?)))=0.88?[1,0]+(1?0.88)?[0,1])=[0.88,0.12]
因此,智能体以 0.88 0.88 0.88的概率选择第一个动作,以 0.12 0.12 0.12概率选择第二个动作。
在这里插入图片描述

??参照文中的Cartpole启发式算法,绘制了PROLONET网络,如下所示。与作者提供的代码中建立的决策树不同,少1个决策节点和1个叶节点。转换规则如下:if条件语句不等号左用权重 ω n → \overrightarrow{\omega_n} ωn? ?表示,对应位置元素为1,其余为0;不等号右用 c n c_n cn?表示;若符号为小于, ω n → \overrightarrow{\omega_n} ωn? ? c n c_n cn?都乘 ? 1 -1 ?1?.??
在这里插入图片描述

??在实际应用时,每个叶子节点会保存从初试节点到该叶子节点的路 z ∈ Z z \in Z zZ的信息,方便计算 L i → \overrightarrow{L_{i}} Li? ?

3.2.3PROLONET动态增长

??为了使PROLONET体系结构能够在其初始定义的基础上继续增长,作者引入了一个动态增长过程,在Algorithm2和图3中描述了这个过程。初始化之后,PROLONET智能体会维护决策树网络两个副本。第一个是初始化的浅层网络,第二个是动态增长的深层网络,动态增长时,第二个网络每个叶子节点转化为随机初始化决策节点,并随机初始化决策节点的两个新的叶子节点。在每一Episode之后,在浅层和深层的网络上更新网络。更新后,比较浅层的叶子的熵和深层叶子的熵,当较深的叶子比较浅的叶子不均匀时,有选择地加深(第3-7行)。作者认为这种动态增长机制能提高稳定性和平均累积报酬。这会产生更多的参数学习更复杂的策略,但会增加随机性和不确定性,降低智能初始化的效用。由于智能体与环境交互,它依赖于较浅的网络来产生动作,因为较浅的网络代表了人类的领域知识。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dE2kgHqB-1627308462430)(E:\文档\Typora\Encoding Human Domain Knowledge to Warm Start Reinforcement Learning\images\clip_image004.gif)]
??决策树动态增长机制依据ID3,以信息增益为准则来优化决策树。当浅层网络发现了一个局部最小值 l 1 = [ 0.5 , 0.5 ] l_{1}=[0.5,0.5] l1?=[0.5,0.5]?,我们希望决策树的决策节点对样本的分类越清晰越好,即纯度越来越高。显然, l 1 = [ 0.5 , 0.5 ] l_{1}=[0.5,0.5] l1?=[0.5,0.5]?不满足要求,对向左向右走模棱两可,需要深化决策树。当深化的网络发现了 l 3 = [ 0.9 , 0.1 ] l_{3}=[0.9,0.1] l3?=[0.9,0.1]?和 l 4 = [ 0.1 , 0.9 ] l_{4}=[0.1,0.9] l4?=[0.1,0.9]?,对向左向右走划分的十分清晰,此时节点纯度较高。我们用信息熵 H ( l i ) H\left(l_{i}\right) H(li?)??对树的这种特性进行度量。
H = ∑ p l o g 2 p H=\sum plog_2p H=plog2?p
H H H的值越小,则纯度越高,树的分类效果越好。如Algorithm2中8行,浅层的决策树的熵 H ( l i ) > ( H ( l d 1 ) + H ( l d 2 ) + ? ) H\left(l_{i}\right)>\left(H\left(l_{d 1}\right)+H\left(l_{d 2}\right)+\epsilon\right) H(li?)>(H(ld1?)+H(ld2?)+?)??,说明深化后树熵减小,信息增益,纯度提高,决策更准确。
在这里插入图片描述

4.关键结果及结论是什么

??作者对提出的RL框架进行了两个互补的评估。第一个是具有专家初始化的受控研究。第二个评估是一个用户研究。这里主要介绍第一组评估实验。实验环境为《星际争霸2》(SC2)中宏观和微观战斗以及OpenAl Gym月球登陆器和推车杆环境。对比算法:除了上面所述的具有专家初始化PROLONET,还评估了多层感知器(MLP)和长短期记忆(LSTM) 智能体,带有随机初始化的PROLONET (random PROLONET),启发式(Heuristic)算法,LOKI框架下训练的IL agent和DJJINN。LOKI代理使用与初始化PROLONET智能体相同的启发式进行监督。DJJINN最初的框架需要一个决策树学习标签数据集,作者进行了修改,允许初始化与手工决策树,为了比较,DJJINN初始化与PROLONET相同。

4.1实验环境及对比算法

4.1.1 Cart Pole

Cart Pole说明
状态空间cart position, cart velocity, pole angle, pole velocity
动作空间left, right
算法参数设置
PROLONET强化参数:
PPO RMSProp γ=0.99 lr=0.01 parallels=2
PROLONET:
α = 1 α=1 α=1?? ε = 0.19 ε=0.19 ε=0.19???? 决策节点9,叶子节点11
Random PROLONET强化参数:
PPO RMSProp γ=0.99 lr=0.01 parallels=2
LOKI强化参数:
PPO RMSProp γ=0.99 lr=0.01 parallels=2
模仿次数N=200
DJJINN同 PROLONET
LSTMPPO ReLU
LSTM:
3-layer 4x4 – LSTM(4x4) – 4x2
MLPPPO ReLU
MLP:
3-layer 4x4 – 4x4 – 4x2
Heuristic(规则)[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0td1tBBA-1627308462431)(E:\文档\Typora\Encoding Human Domain Knowledge to Warm Start Reinforcement Learning\images\clip_image012.png)]

4.1.2 Lunar Lander

Lunar Lander说明
状态空间8D:X_position, Y_position, velocity, angle, angular velocity, whether the left leg have touched down, whether the left leg have touched down
动作空间4D:do nothing, left engine, main engine,right engine
算法参数设置
PROLONET强化参数:
PPO RMSProp γ=0.99 lr=0.01 parallels=4 batch_size=4
PROLONET:
α = 1 α=1 α=1 ε = 0.19 ε=0.19 ε=0.19 决策节点14,叶子节点15
Random PROLONET强化参数:
PPO RMSProp γ=0.99 lr=0.01 parallels=4 batch_size=4
LOKI强化参数:
PPO RMSProp γ=0.99 lr=0.01 parallels=4 batch_size=4
模仿次数:N=300
DJJINN同 PROLONET
LSTMPPO ReLU
LSTM:
3-layer 8x8 – LSTM(8x8) – 8x4
MLPPPO ReLU
MLP:
3-layer 8x8 – 8x8 – 8x4
Heuristic(规则)[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-y9EycMoI-1627308462432)(E:\文档\Typora\Encoding Human Domain Knowledge to Warm Start Reinforcement Learning\images\clip_image013.png)]

4.1.3 FindAndDefeatZerglings

FindAndDefeatZerglings说明
状态空间37D: allied units 3*{x_position, y_position, health,weapon_cooldown} nearest visible enemy units 5*{x_position, y_position, health,weapon_cooldown, is_baneling}
动作空间10D:north, east, south, west, attack1, attack2, attack3, attack4, attack5, do nothing for every allied units
算法参数设置
PROLONET强化参数:
PPO RMSProp γ=0.99 lr=0.001 parallels=4 batch_size=4 time_steps=50
PROLONET:
α = 1 α=1 α=1 ε = 0.19 ε=0.19 ε=0.19 决策节点10,叶子节点11
Random PROLONET强化参数:
PPO RMSProp γ=0.99 lr=0.001 parallels=4 batch_size=4 time_steps=50
LOKI强化参数:
PPO RMSProp γ=0.99 lr=0.001 parallels=4 batch_size=4 time_steps=50
模仿次数:N=500
DJJINN同 PROLONET
LSTMPPO ReLU
LSTM:
7-layer 37x37 – LSTM(37x37) – 37x37 – 37x37 – 37x37 – 37x37– 37x10
MLPPPO ReLU
MLP:
7-layer 37x37 – 37x37 – 37x37 – 37x37 – 37x37 – 37x37 – 37x10
Heuristic(规则)[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VvJ71NgL-1627308462432)(E:\文档\Typora\Encoding Human Domain Knowledge to Warm Start Reinforcement Learning\images\clip_image014.png)]

4.1.4 SC2LE

SC2LE(神族)说明
状态空间联合单位数:36x1向量,其中每个索引对应于一种联合单位类型,值对应于这些单位的数量
等待单位数:如上所述,但用于当前正在生产中且还不存在的单元。
敌方单位数:112x1向量,其中每个索引对应于一种单位类型,值对应于这些类型中有多少是可见的。
玩家状态:9x1向量,玩家状态信息,包括矿物,瓦斯,供应等。
动作空间如果考虑到每个单位动作数量可以达到数千个。 简单地将动作抽象为44个可用的动作:包括35个建筑和单位生产命令,4个研究命令,5个攻击、防御、收获资源、侦察和什么都不做的命令。
算法参数设置
PROLONET强化参数:
PPO RMSProp γ=0.99 lr=0.0001 parallels=4 batch_size=4 time_steps=4 episodes
PROLONET:
α = 1 α=1 α=1 ε = 0.19 ε=0.19 ε=0.19 决策节点9,叶子节点10
Random PROLONET强化参数:
PPO RMSProp γ=0.99 lr=0.0001 parallels=4 batch_size=4 time_steps=4 episodes
LOKI强化参数:
PPO RMSProp γ=0.99 lr=0.0001 parallels=4 batch_size=4 time_steps=4 episodes
模仿次数:N=1000
DJJINN同 PROLONET
LSTMLSTM:
7-layer 37x37 – LSTM(37x37) – 37x37 – 37x37 – 37x37 – 37x37– 37x10
MLPPPO ReLU
MLP:
7-layer 193x193 – 193x193 – 193x193 – 193x193 – 193x193 –193x193 – 193x44
Heuristic(规则)在这里插入图片描述

4.2实验结果

cart pole、lunar lander和FindAndDefeatZerglings的架构比较。随着领域复杂性的增加,智能初始化变得越来越重要。
在这里插入图片描述
为了评估动态生长和智能初始化的影响,我们进行了消融研究,并将这些实验的结果包括在表1。对于每个N错误智能体,权重、比较器和叶子根据N随机负,每个类别最大为2N。
在这里插入图片描述
在《星际争霸2》的AI游戏中获胜率“All Others”包括4.1节中的所有其他智能体模型。
在这里插入图片描述
注意最后的策略并不是原始政策的翻版;相反,在整个训练过程中,它们会改变和偏离原来的内容。在下面的图中,比较了检查点模型和原始初始化。x轴对应的是检查点在实验中的距离,y轴对应的是初始化和检查点之间的平均均方误差。由于权重向量、比较器值和叶权值的均方误差可能存在显著差异,因此在y轴上使用对数尺度,以便无论原始值如何,都能清楚地看到趋势。注意,在每25%的训练或agent按照OpenAl Gym标准“解决”了域(推车杆500,月球登陆器200+)后进行检查点,这说明推车杆域的检查点密度更大。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AC2Wq8Tf-1627308462434)(E:\文档\Typora\Encoding Human Domain Knowledge to Warm Start Reinforcement Learning\images\clip_image016.png.png)]

5.创新点在哪里

  1. 提出一种在可训练的RL框架中捕获人类领域的专业知识的方法PROLoNETS。
  2. 我们将动态知识增长引入到PROLoNETS中,随着时间的推移,使其具有更强的表达能力,超过最初的初始化,并在月球着陆器领域产生两倍的平均回报。

6.有值得阅读的相关文献吗

LOKI:Cheng, C.-A.; Yan, X.; Wagener, N.; and Boots, B. 2018.Fast Policy Learning through Imitation and Reinforcement.arXiv preprint arXiv:1805.10413 .

DJINN:Humbird, K. D.; Peterson, J. L.; and McClarren, R. G. 2018.Deep Neural Network Initialization With Decision Trees.IEEE transactions on neural networks and learning systems .

7.综合评价又如何?

??文章提出了一种新的DRL代理体系结构PROLONETS,它允许智能体的智能初始化。PROLONETS赋予智能体在必要时增长网络容量的能力。PROLONETS允许普通用户初始化,并通过人工指令和RL的混合实现了高性能的策略。首先,该方法直接利用现有专家知识,优于在传统架构上的模仿和强化学习,更像人类学习方式。其次,智能初始化允许深度RL智能体在对随机初始化智能体来说过于复杂的环境中探索和学习,为Fast reinforcement learning提供了一条可用之路。

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2021-07-27 16:29:50  更:2021-07-27 16:30:54 
 
开发: 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年12日历 -2024/12/27 10:24:57-

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