gpt4 book ai didi

machine-learning - 如何传播/触发循环神经网络(RNN)?

转载 作者:行者123 更新时间:2023-11-30 08:24:51 25 4
gpt4 key购买 nike

我正在学习人工神经网络,并实现了一个带有几个隐藏层的标准前馈网络。现在,我试图了解循环神经网络(RNN)在实践中如何工作,但在激活/传播如何流经网络方面遇到了困难。

在我的前馈中,激活是神经元的简单的逐层激发。在循环网络中,神经元连接回先前的层,有时连接回自身,因此传播网络的方式必须不同。问题是,我似乎无法找到传播到底如何发生的解释。

对于这样的网络,它是如何发生的:

Input1 --->Neuron A1 --------->  Neuron B1 ---------------------> Output
^ ^ ^ |
| | --------
| |
Input2 --->Neuron A2 ---------> Neuron B2

我想象这将是一个滚动激活,随着神经元的阈值将神经元放电降低到 0,它会逐渐减弱,就像生物学中一样,但似乎有一种计算效率更高的方法可以通过导数来做到这一点?

最佳答案

我想我现在已经掌握了传播循环网络与前馈网络的基本原理:显式时间步长。

在前馈中,传播是逐层进行的,因此第 1 层神经元首先放电,然后是第 2 层、第 3 层等,因此传播是一个神经元激活,刺激将其作为输入的神经元的激活。

或者,我们可以将传播视为在任何给定时间点输入处于事件状态的神经元将被激发。因此,如果第 1 层神经元在时间 t=0 时处于事件状态,则在下一个时间 t=1 时,下一层第 2 层将激活,因为第 2 层中的神经元将第 1 层中的神经元作为输入。

虽然思维上的差异可能看起来像是语义上的,但对我来说,这对于弄清楚如何实现循环网络至关重要。在前馈中,时间步长是隐式的,代码依次经过神经元层,像倒下的多米诺骨牌一样激活它们。在循环网络中,尝试采用倒下的多米诺骨牌激活方式(其中每个神经元都指定接下来激活哪个神经元)对于大型复杂网络来说将是一场噩梦。相反,在给定时间 t 轮询网络中的每个神经元,看看它是否根据其输入激活是有意义的。

当然有许多不同类型的循环神经网络,但我认为正是这个关键的显式时间步长才是循环网络传播的关键。

我想知道的微分方程部分会发挥作用,如果不是让 t 的离散时间步长为 0、1、2 等,而是尝试通过对非常多的传播进行建模来获得更平滑、更连续的网络流。小的时间增量,如 0.2、0.1、0.05 等。

关于machine-learning - 如何传播/触发循环神经网络(RNN)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12878089/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com