gpt-2 为什么生成的文本包含“??”()字符?

kgqe7b3p  于 6个月前  发布在  其他
关注(0)|答案(2)|浏览(178)

在学习过程中生成的样本包含像“艾姆斯”这样的序列,其中“??”是单个Unicode字符。
看起来这个字符是在模型不能完成一个单词/句子的时候使用的,但是我很确定它应该能够完成从“艾姆斯”到“James”的转换,词汇量为50000,输入文本中包含“James”很多次。
另一方面,它似乎是相当一致的,在不学习“J”。我看到“jujus”以及“jujudging”。
在其他一些地方,“”站在两个词之间,没有任何暗示它应该代表什么。
我100%确定,词汇表是从我作为输入使用的相同文本中生成的。
如果是词汇表的问题:有没有一个选项可以为训练好的模型修复它?

ao218c7q

ao218c7q1#

这是一个未知的词。

mznpcxlj

mznpcxlj2#

我也这么想,但为什么会这样呢?

  • 为什么网络产生的话,它不知道?
  • 为什么它不学习源文本中的每个单词?

我认为Xcepiece会将源文本分割成N个标记,可以用来恢复源文本。在上面的例子中,它将是“J”+“艾姆斯”。当我查看sp.vocab时,似乎标记“J”完全丢失。
我认为它至少应该包含字母表,这样它就可以重建任何文本,例如,当我决定稍后使用包含先前未知单词的源文本来优化网络时。但即使它没有,它至少应该能够重建生成词汇表的输入,不是吗?

相关问题