每层中堆叠的 LSTM 层或单元的数量如何影响模型复杂度?

人工智能 长短期记忆 计算学习理论 序列建模 vc-维度
2021-11-02 11:11:43

我玩序列建模来使用 LSTM预测天气。

每层中的层数或单元数如何准确影响模型复杂度(在 LSTM 中)?例如,如果我增加层数和减少单元数,模型复杂度会受到怎样的影响?

我对选择层数或单元数的经验法则不感兴趣。我对理论上的保证或界限感兴趣。

1个回答

在计算学习理论中,VC 维度是模型容量的正式度量。VC 维度是根据shattering的概念定义的,因此请查看相关的 Wikipedia 文章,其中简要描述了 Shattering 的基本概念。另请参阅如何估计神经网络的容量?更多细节。

Pascal Koirana 和 Eduardo D. Sontag的论文Vapnik-Chervonenkis 维度的递归神经网络(1998) 部分回答了您的问题(因为它们没有考虑更高级的递归神经网络架构,例如 LSTM)。

在论文中,作者展示并证明了不同的定理,这些定理说明了(标准)循环神经网络 (RNN) 的 VC 维,具有不同的激活函数,例如非线性多项式、分段多项式和 sigmoid 函数。

例如,定理 5(第 70 页)指出

σ是一个任意的 sigmoid。具有激活功能的循环架构的 VC 维度σ, 和w权重和接收长度的输入k, 是Ω(wk).

该定理的证明在第 75 页给出。

这个定理直观地告诉你什么?如果您熟悉大 O表示法,那么您也熟悉该表示法Ω(wk), 意思就是wkRNN容量的下界。换句话说,渐近地,RNN 的容量为w权重接收长度输入k至少是wk. RNN 的容量如何随w?

当然,这是一个特定的结果,它只适用于具有 sigmoid 激活函数的 RNN。但是,这至少让您了解 RNN 的潜在容量。这个定理有望激发您了解更多计算学习理论的兴趣!

论文On Generalization Bounds of a Family of Recurrent Neural Networks也可能有用,尽管它已被 ICLR 2019 拒绝。