“添加更多 LSTM 层”或“在存在层上添加更多单元”有什么区别?

数据挖掘 lstm
2021-09-25 19:10:40

添加更多 LSTM 层和仅增加现有层的单元有什么区别?哪个是首选,在什么情况下?

3个回答

使用图层 - 当您从一层到另一层时,您正在尝试生成越来越高级别的功能。根据手头的问题,2 层及以上层的任何东西都可以达到目的。鉴于 LSTM 对序列数据进行操作,这意味着添加层会随着时间的推移增加输入观察的抽象级别。实际上,随着时间的推移分块观察或在不同的时间尺度上表示问题。这行得通!

使用单位 - 您正在尝试以更好的方式捕获功能。太少了,你可能会欠拟合。太多,可能会过拟合。

通过添加更多层,您可以减少每层中的单元数量,并带来更大的“深度”而不是“宽度”。这仅仅意味着您可以使用宽度和深度的“正确”组合更好地近似函数。要达到“正确”,除了用不同的组合玩几个小时之外别无选择。

一种选择是“弹力裤”方法。采取比您实际需要的尺寸大得多的尺寸。然后使用正则化技术更好地拟合。

当您添加层时,您正在增加神经网络的深度。如果您向现有图层添加更多单位,则会增加宽度。

在超参数选择方面,我可以推荐的最好的方法是尝试两者,看看哪一个给你最好的性能。考虑过度拟合等因素,当您增加模型的复杂性时可能会特别发生这种情况。

您可以将这种直觉与 LSTM 联系起来:

如果您添加更多单元,那么直观地您会将更多节点添加到隐藏层中。这将允许模型在它获得的输入之间添加“广泛”种类的隐式关系(可能超过必要),作为派生信息。这可能有助于或无助于模型提高准确性。

如果添加更多图层。那么模型不仅会保存输入之间的关系,还会保存派生信息之间的关系。从而增加模型的关系和组合的“深度”

要回答哪种方法更好?这取决于您的数据集和建模方法。超参数调整是一种提高准确性限制的方法,它可能会在此处对您有所帮助。还可以尝试使用网格搜索来查找添加图层是否对您有帮助或添加节点。

希望你能得到我!干杯!