文本生成的深度学习方法 (PyTorch)

Deep Learning methods for Text Generation (PyTorch)

大家好,

我想设计一个系统,能够根据大量文本生成故事或诗歌,无需输入文本description/start/summary 作为推理时的输入。

到目前为止,我是使用 RNN 来做到这一点的,但如您所知,它们有很多缺陷。我的问题是,当时完成这项任务的最佳方法是什么? 我搜索了使用 注意力机制 的可能性,但事实证明它们适合翻译任务。

我知道 GPT-2、Bert、Transformer 等,但在生成之前它们都需要文本描述作为输入,而这不是我想要的'我正在寻找。我想要一个能够在训练后从头开始生成故事的系统。

非常感谢!

编辑

所以评论是:I want to generate text from scratch, not starting from a given sentence at inference time. I hope it makes sense.

是的,你可以做到,这只是在现成模型之上的简单代码操作,无论是 BERT、GPT-2 还是基于 LSTM 的 RNN。

怎么样?您必须为模型提供随机输入。这种随机输入可以是随机选择的单词或短语,或者只是一个零向量。

希望对您有所帮助。


你在这里混淆了几件事。

您可以使用基于 LSTM 或基于转换器的架构来实现您想要的。

当你说你是用 RNN 做的,你可能是说你已经尝试过基于 LSTM 的序列到序列模型。

现在,您的问题引起了注意。所以你可以使用注意力来改进你的 RNN 但这不是必需的条件。但是,如果您使用 transformer 架构,那么它是内置在 transormer 块中的。

GPT-2 只不过是一个基于 transformer 的模型。它的构建块是变压器架构。

BERT 也是另一种基于 transformer 的架构。

因此,为了回答您的问题,您应该并且可以尝试使用基于 LSTM 或基于转换器的架构来实现您想要的。有时这种架构被称为 GPT-2,有时被称为 BERT,这取决于它是如何实现的。

我鼓励您阅读 Karpathy 的这部经典著作,如果您理解了它,那么您的大部分问题都已解决:

http://karpathy.github.io/2015/05/21/rnn-effectiveness/