前馈神经网络和液态机器有什么区别?

人工智能 神经网络 预言 比较 前馈神经网络 液态机
2021-11-06 23:22:29

我使用 FFNN 和LSM来执行相同的任务,即预测句子“你好吗”。LSM 给了我比 FFNN 更准确的结果。然而,LSM 没有产生完美的预测,并且有缺失的字母。更具体地说,LSM 产生了“Hw are yo”,而 FFNN 预测了“Hnw brf ypu”。

就架构和目的而言,FFNN 和 LSM 有什么区别?

1个回答

液态机器用于神经科学领域。您使用的是 LSM 的一种变体,称为Echo State Network (ESN),用于机器学习领域。

与前馈 NN 或 RNN 等普通 ML 范例相比,ESN 非常简单且超快。ESN 基于称为Reservoir Computing的相对较新的范例。ESN 主要用于 Sequential ML 问题,用于克服 RNN 面临的梯度消失、梯度爆炸、训练时间长等问题。基本思想是你有一个神经元库(基本上是一个神经网络,具有固定和不可训练的权重,但它可以变化为复杂的结构),它将输入以某种形式回显,基于该形式将训练一个简单的线性回归模型(或者可能是一个复杂的 NN)。

ESN 的基本思想非常简单,注意它适用于时间序列数据,并且约定类似于 RNN:

  • 就像 RNN 一样,你有一个隐藏状态x(n)和一个输入u(n)并且为它们分配了一些随机初始化的不可训练的权重(您将这两个术语点积的权重)。
    a(n)=Win[1:u(n)]+W[x(n1)]
  • 下一个x(n)是作为非线性变换的一些线性函数产生的x(n1)u(n)乘以它们各自的权重和x(n1).

    x~(n)=tanh(a(n))
    x(n)=(1α).x(n1)+αx~(n)

  • 预测目标y(n)只需乘以即可完成x(n)u(n)Wout它们是可训练的,也是唯一可训练的权重。

    y(n)=Wout[1:u(n):x(n)]

  • 现在您对预测的损失函数应用合适的损失函数y(n)与实际目标t(n)训练重量Wout

(:表示连接并遵循通常的 RNN 连接规则)

这是对 ESN 的一个非常简单的概述,它非常适合顺序预测任务。工作背后的主要思想直觉是输入在无法训练的权重库中显,这基本上意味着由于权重的随机初始化,输入被转换为某种“形式”,这种“形式”训练Wout(前几次训练u(n)在没有训练网络的情况下通过网络运行以假设输入已经在网络中回显并且现在终于出来的起始状态)。ESN 有一些数学细节可以训练而不是被巨大的振​​荡炸毁,可以在这个简单直观的教程中找到。

就目的不同而言,有以下几种:

  • 提供超快的训练时间。
  • 主要适用于顺序数据。
  • 它被用作侧网络来初始化 RNN 权重,这显然提高了性能。

尽管这些网络有一些非常难以调整的超参数,但由于其简单且超快速的训练,我们可以轻松检查大量超参数。该网络的表现也出乎意料地好,它导致了对 Reservoir Computing 的实际研究非常活跃。检查这个非常古老的问题