Tob*_*obi 6 nlp discriminator pytorch generative-adversarial-network huggingface-transformers
我有以下目标,我一直试图通过 Huggingface 库来实现这个目标,但遇到了一些障碍。
问题:
我想在训练时以可微分的方式生成句子。我为什么要这样做?我想对这个输出应用一个判别器来生成具有某些属性的句子,这些属性是由判别器“强制执行”的。这些句子也将以输入句子为条件,因此我需要一个编码器解码器模型。
为了解决 argmax 的不可微性,我只需采用解码器的 softmax 输出并将其与我的嵌入矩阵相乘。然后,我将这个嵌入式输入输入到变压器鉴别器中,该鉴别器简单地将输入分类为原始/伪造。然后我通过编码器解码器进行反向传播。就像人们对普通 GAN 所做的那样。
到目前为止,我已经尝试使用EncoderDecoderModelHuggingface 中的。这个类有一个名为generate的方法,它以不可微分的方式(贪婪或束搜索)生成句子。因此,我深入研究了源代码并尝试构建自己的可微生成方法。但我没有让它发挥作用。
问题:
感谢您的帮助,我真的很感激,我已经在这件事上安静地坚持了一段时间了。
作为就该问题发表过文章的人,这已经以多种不同的方式尝试过很多次,但没有奏效。
请参阅关于该主题的 ICLR 论文https://openreview.net/pdf?id=BJgza6VtPB “Language GANs Falling Short”
这不是 HuggingFace 特有的东西,而是特定于数学事实的,即单词是离散对象,并且您不能像图像一样稍微修改单词或稍微改变句子的含义。言语是离散的。
实现您想要做的事情的一种方法是使用插件播放语言模型。
https://www.uber.com/blog/pplm/ https://arxiv.org/abs/1912.02164
他们所做的是针对某些所需或不需要的特征训练分类器,并将该类别的概率添加(或减去)每个下一个潜在标记的概率(为包括该标记的每个潜在句子计算的分数)。这样,您就可以增加或减少生成具有该特征的文本的概率。
可控文本生成是一个完整的领域,我建议你做一下文献综述。
| 归档时间: |
|
| 查看次数: |
321 次 |
| 最近记录: |