扩展经过训练的神经网络以获得更大的输入

数据挖掘 Python 神经网络 nlp 深度学习 张量流
2022-02-28 13:15:19

我有一个在康奈尔电影对话上训练的 seq2seq 对话模型(基于这个实现)。现在我想在一个小得多的数据集上对其进行微调。新数据伴随着新词,我希望 UNKs 尽可能少的新词。因此,我将针对新的输入/输出大小创建一个新网络,并且我将使用我手头的学习权重初始化它的子矩阵。

您能否说这种方法是否会导致结果模型的性能出现问题?例如,这些新的最初未经训练的权重是否可能会显着影响 softmax?如果没问题,你有没有一些例子说明如何在 tensorflow 的 seq2seq 设置中以最小的痛苦做到这一点?

1个回答

只要您计划创建的神经网络具有相同数量的层和单元,就可以了,即您的网络尺寸必须与您从训练模型中借用的权重兼容。此外,如果您关注 suriyadeepan 实用 seq2seq 的第二篇博文,他会在 Twitter 聊天中训练对话模型。代码更简单,更容易理解,而且它在一个较小的数据集上,他还提到在康奈尔电影对话语料库上训练的机器人表现不佳。主要是使用预训练的权重,您所要做的就是加载模型,为权重创建占位符,将加载模型中的权重分配给占位符并运行前向传递。这个博客和这个问题可能会帮助您完成这项任务