Nlp 使用Huggingface库为对抗性训练(GANs)差异生成句子

Nlp 使用Huggingface库为对抗性训练(GANs)差异生成句子,nlp,pytorch,huggingface-transformers,generative-adversarial-network,discriminator,Nlp,Pytorch,Huggingface Transformers,Generative Adversarial Network,Discriminator,我有以下目标,我一直试图通过Huggingface库来实现,但我遇到了一些障碍 问题: 我想在训练时以一种可微的方式生成句子。我为什么要这样做?我想对这个输出应用一个鉴别器来生成具有特定属性的句子,这些属性是由鉴别器“强制”的。这些句子也将以输入句子为条件,所以我需要一个编码器-解码器模型 为了绕过argmax的不可微性,我只需获取解码器的softmax输出,并将其与嵌入矩阵相乘。然后,我将这个嵌入式输入输入到一个转换器鉴别器中,该鉴别器将输入简单地分类为原始/伪。然后我通过编码器-解码器反向传

我有以下目标,我一直试图通过Huggingface库来实现,但我遇到了一些障碍

问题:

我想在训练时以一种可微的方式生成句子。我为什么要这样做?我想对这个输出应用一个鉴别器来生成具有特定属性的句子,这些属性是由鉴别器“强制”的。这些句子也将以输入句子为条件,所以我需要一个编码器-解码器模型

为了绕过argmax的不可微性,我只需获取解码器的softmax输出,并将其与嵌入矩阵相乘。然后,我将这个嵌入式输入输入到一个转换器鉴别器中,该鉴别器将输入简单地分类为原始/伪。然后我通过编码器-解码器反向传播。就像一个普通的GAN一样

到目前为止,我已经尝试使用Huggingface的
encoderCodermodel
。这个类有一个名为generate的方法,它以一种不可微的方式(贪婪或beam搜索)生成句子。因此,我深入研究了源代码,并尝试构建自己的可微生成方法。但是我没有让它工作

问题:

  • 使用Huggingface库是否有一种相当简单的方法可以做到这一点,因为我真的很想使用预训练模型和它附带的所有其他工具
  • 有没有办法调用解码器的转发方法,只生成一个新令牌,而不是再次生成整个序列
谢谢你的帮助,我会非常感激的,我已经在这个问题上沉默了一段时间了