音讯 为什么人工递归神经网络通常很难训练?

为什么人工递归神经网络通常很难训练?

Anonim

问:

为什么人工递归神经网络通常很难训练?

A:

训练人工递归神经网络的难度与其复杂性有关。

解释为什么难以训练递归神经网络的最简单方法之一是它们不是前馈神经网络。

在前馈神经网络中,信号仅以一种方式移动。 信号从输入层移动到各个隐藏层,然后再前进到系统的输出层。

相反,递归神经网络和其他不同类型的神经网络具有更复杂的信号运动。 归类为“反馈”网络,递归神经网络可以具有向前和向后传播的信号,并且可以在网络中包含各种“回路”,将数字或值反馈到网络中。 专家将此与与其记忆相关的递归神经网络方面联系起来。

此外,还有另一种影响循环神经网络的复杂性。 一个很好的例子是自然语言处理领域。

在复杂的自然语言处理中,神经网络需要能够记住事物。 它也需要在上下文中进行输入。 假设有一个程序想要分析或预测其他单词的句子中的单词。 例如,可能有五个单词的固定长度供系统评估。 这意味着神经网络必须为每个单词提供输入,并具有“记住”或根据这些单词进行训练的能力。 由于这些以及其他类似原因,递归神经网络通常在系统中具有这些小的隐藏回路和反馈。

专家感叹这些复杂性使培训网络变得困难。 解释这一问题的最常见方法之一是列举爆炸和消失梯度问题。 本质上,网络的权重将导致大量通过而导致爆炸值或消失值。

神经网络先驱杰夫·辛顿(Geoff Hinton)在网上解释了这种现象,他说向后的线性遍历将导致较小的权重按指数收缩,而较大的权重则爆炸。

他继续说,这个问题随着较长的序列和更多的时间步长而变得更糟,其中信号会增长或衰减。 权重初始化可能会有所帮助,但这些挑战已内置到递归神经网络模型中。 他们的特定设计和构建总是存在这个问题。 从本质上讲,某些更复杂的神经网络类型确实损害了我们轻松管理它们的能力。 我们可以创建几乎无限量的复杂性,但是我们经常看到可预测性和可伸缩性方面的挑战不断增长。

为什么人工递归神经网络通常很难训练?