当前位置:  开发笔记 > 人工智能 > 正文

使用强化学习时,递归神经网络有哪些用途?

如何解决《使用强化学习时,递归神经网络有哪些用途?》经验,为你挑选了2个好方法。

我知道带有backprop的前馈多层神经网络与强化学习一起使用,以帮助它概括我们的代理所做的动作.这就是说,如果我们有一个大的状态空间,我们可以做一些动作,它们将有助于推广整个状态空间.

反复神经网络做了什么呢?一般来说,它们用于什么任务?



1> mjv..:

递归神经网络,简称RNN(虽然要注意RNN经常用于文献中以指定随机神经网络,这实际上是递归NN的一个特例),它们有着截然不同的"味道",导致它们表现出各种各样的行为,特点.然而,一般而言,这些行为和特征的多种色调源于对各个神经元的[反馈]输入的可用性.这种反馈来自网络的其他部分,无论是本地的还是远程的,来自同一层(包括在某些情况下"自我"),或者甚至在不同的层(*)上.它被视为"正常"的反馈信息输入神经元,然后可以至少部分地影响其输出.

与在前馈网络的学习阶段期间使用的反向传播不同,为了微调各种[仅向前馈]连接的相对权重,RNN中的反馈构成了它们连接到的神经元的真实输入.

反馈的一个用途是使网络对输入中的噪声和其他缺陷(即作为整体输入网络)更具弹性.其原因在于,除了与网络输入"直接"相关的输入(前馈网络中存在的输入类型)之外,神经元还具有关于其他神经元"思考"的信息.这个额外的信息然后导致Hebbian学习,即[通常]一起发射的神经元应该"鼓励"彼此射击的想法.实际上,来自"相似射击"相邻神经元(或不可能的邻居)的额外输入可能会促使神经元发射,即使其非反馈输入可能已经不会发射(或发射不那么强烈,取决于网络类型).

这种对输入缺陷的弹性的一个例子是关联存储器,这是RNN的常见应用.我们的想法是使用反馈信息"填补空白".

反馈的另一个相关但不同的用途是抑制信号,由此给定的神经元可以知道,虽然其所有其他输入都会提示它发射,但是来自网络的某些其他部分的特定反馈输入通常表示其他输入不是被信任(在这个特定的背景下).

反馈的另一个非常重要的用途是,在某些体系结构中,它可以为系统引入时间元素.一个特定的[反馈]输入可能没有那么多指示神经元它"思考"[现在],而是"提醒"神经元说,两个循环前(无论循环可能代表什么),网络的状态(或它的子状态是"X".这种"记住"[通常]近期过去的能力是输入中对噪声的弹性的另一个因素,但其主要兴趣可能在于将"预测"引入学习过程.这些延时输入可能被视为来自网络其他部分的预测:"我听到走廊里的脚步声,期望听到门铃[或按键洗牌]".

(*)BTW在"规则"中的这种广泛自由决定了允许的连接,无论是反馈还是前馈,都解释了为什么存在这么多不同的RNN架构及其变体.这些许多不同架构的另一个原因是RNN的一个特征是,与前馈模型相比,它们不易于在数学上或其他方面易于处理.因此,在数学洞察力或简单的试错法的推动下,正在尝试许多不同的可能性.

这并不是说反馈网络是全黑盒子,实际上一些RNN如Hopfield网络是相当容易理解的.只是数学通常更复杂(至少对我来说;-))

我认为上述情况(一般来说太过分了!),解决了吞噬极乐世界(OP)的问题" RNN做了什么 ",以及" 他们用来做的一般任务 ".对许多人补充这些信息,这里是对RNN应用的不完整和非正式的调查.收集这样一个清单的困难是多方面的:

前馈网络和RNN之间应用的重叠(因此隐藏了RNN的特殊性)

应用程序通常具有高度专业化的特性(我们要么采用过于分散的概念,例如"分类",要么深入研究"预测碳系列饱和苯的碳转移";-))

当在庸俗文本中描述时,通常与神经网络相关联的炒作

无论如何,这是列表

建模,特别是[非线性]动态系统的学习

分类(现在,FF Net也用于...)

组合优化

此外,还有许多与RNN的时间维度相关的应用程序(通常不会找到FF网络的另一个区域)

运动检测

负荷预测(与公用事业或服务一样:在短期内预测负荷)

信号处理:过滤和控制



2> kwatford..:

在基本的强化学习框架中,假设您的州/行动/奖励序列是马尔可夫决策过程.这基本上意味着您不需要记住本集中以前状态的任何信息来做出决定.

但对于所有问题显然都不是这样.有时你需要记住一些最近的事情来做出明智的决定.有时您可以明确地将需要记住的事物构建到状态信号中,但总的来说,我们希望我们的系统能够了解它需要记住的内容.这被称为部分可观察马尔可夫决策过程(POMDP),并且有多种方法用于处理它.一种可能的解决方案是使用递归神经网络,因为它们将来自先前时间步骤的细节合并到当前决策中.


这里的关键是网络中的循环连接允许它记住以前的状态.因为它可以访问更多信息,所以可以做出更好的决策.
如果你知道只有最后的X个状态是必要的,并且状态(维度方面)不是很复杂,那就可以了.循环网络不需要您知道X是什么,并且不同地影响输入的维度.
推荐阅读
手机用户2502852037
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有