【问题标题】:Deep Learning methods for Text Generation (PyTorch)文本生成的深度学习方法 (PyTorch)
【发布时间】:2020-01-29 15:47:03
【问题描述】:

大家好,

我想设计一个系统,该系统能够根据大型文本数据集生成故事或诗歌,不需要将文本描述/开始/摘要作为输入提供给推理时间。

到目前为止,我使用 RNN 进行了此操作,但正如您所知,它们有很多缺陷。我的问题是,当时完成这项任务的最佳方法是什么? 我使用注意机制搜索了可能性,但结果证明它们适合翻译任务。

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

非常感谢!

【问题讨论】:

  • 请考虑查看How to Ask。您当前状态下的问题不仅非常广泛,而且缺乏对先前努力的明确指示(考虑minimal reproducible example),并且还通过寻求建议来吸引固执己见的答案。此外,您的一些理论性问题也可能更适合Artificial Intelligence,但我并不完全熟悉他们的主题政策。

标签: deep-learning nlp pytorch nlg


【解决方案1】:

编辑

所以评论是: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,但这不是必需的条件。但是,如果您使用变压器架构,那么它是内置在变压器模块中的。

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

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

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

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

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

【讨论】:

  • 我读过那篇博文。我的意思是,在所有 Seq-2-Seq 模型中,您需要向编码器提供输入短语,即使模型称为 GPT、Bert 等,我也不希望这样。我想从头开始生成文本,而不是在推理时从给定的句子开始。我希望这是有道理的。
  • 在这种情况下,Transformer 的注意力机制就没什么用了,对吧?我的意思是在我们操纵潜在的情况下,我们没有任何需要注意的编码器输入。
猜你喜欢
  • 2021-06-17
  • 2018-12-06
  • 1970-01-01
  • 1970-01-01
  • 2020-11-04
  • 1970-01-01
  • 2022-01-24
  • 1970-01-01
  • 2016-12-31
相关资源
最近更新 更多