如何调整 LSTM 超参数?

数据挖掘 lstm 超参数 超参数调整 时代
2022-02-13 18:30:51

如果有人能回答这些问题,那就太好了。我正在进行 LSTM 的最后一年项目。

目前,我对 LSTM 代码感到困惑和困惑。我可以使用 4 个超参数:

  • 回望
  • 批量大小
  • LSTM 单元
  • 纪元数

如果我调整每个超参数,你能解释一下我的结果会发生什么吗?如果我们每次运行代码都得到不同的结果,这也很常见吗?

2个回答

回顾一下,我不知道回顾是一个超参数,但是在 LSTM 中,当您尝试预测下一步时,您需要通过“回顾”某些时间步骤来安排数据,以准备训练数据集,例如,假设您想估计每次 t 发生的情节的下一个值。您需要将数据重新排列成如下形状: {t1, t2, t3} -> t4 {t2, t3, t4] -> t5 {t3, t4, t5} -> t6 网络将学习这一点并将能够根据先前的时间步长预测 tx。

批量大小(仅指 LSTM),大致是每一步将训练多少样本,批量大小越大,训练速度越快,但需要更多内存。在 GPU 中最好有更大的批量大小,因为将值从 GPU 复制到内存很慢。

LSTM 单元,指的是你将拥有多少“智能”神经元。这高度依赖于您的数据集,通常您根据矢量尺寸确定这一点。

No. of Epochs,算法将运行多少次来近似观察结果。通常,很多时期会过度拟合您的模型,而很少会出现拟合不足的模型。

  • 回顾:我不确定你指的是什么。首先想到的是clip控制梯度消失/爆炸的超参数。
  • Mini batching:计算速度和收敛速度之间存在折衷。简而言之,*据观察,当使用更大的批次时,模型的质量会显着下降,这可以通过其泛化能力来衡量。*因此,您需要为您的案例搜索理想的大小。在这里查看精彩的讨论
  • LSTM 单元:也称为每个 LSTM 单元的潜在维度,它控制隐藏和单元状态的大小。就顺序依赖而言,此值越大,模型的内存就“越大”。这将取决于嵌入的大小。
  • Epochs:如果您不熟悉随机、小批量和批量训练的概念,我建议您在进一步了解之前先熟悉一下。这里这里本质上,时期数将定义您的模型将看到整个数据集的次数。