Skip to content

D2L / RNN 实验探索

这篇文章记录我在学习《动手学深度学习》第 8 章时,对序列模型和 RNN 的理解、实验过程以及遇到的问题。

我主要关注的问题是:RNN 如何处理序列数据,以及不同超参数对训练效果有什么影响。

  • 平台:Kaggle / PAI-DSW
  • 框架:PyTorch
  • 数据集:时间机器数据集
  • 任务:字符级语言模型预测

实验一:不同隐藏单元数的影响

Section titled “实验一:不同隐藏单元数的影响”

我设置了不同的 num_hiddens,观察 perplexity 的变化。

num_hiddenslearning ratefinal perplexity
5121.05.05
5120.56.85
5120.110.48

从结果看,学习率为 1.0 时模型收敛效果最好。

num_hiddens = 512
lr = 1.0
num_epochs = 500
model = RNNModelScratch(
len(vocab),
num_hiddens,
device,
get_params,
init_rnn_state,
rnn
)