Artificial intelligence Tensorflow seq2seq-回复的置信度

Artificial intelligence Tensorflow seq2seq-回复的置信度,artificial-intelligence,bots,tensorflow,deep-learning,Artificial Intelligence,Bots,Tensorflow,Deep Learning,我想知道在Tensorflow的seq2seq框架中是否有一种方法,我可以知道对输入的回复是否可以以x%的置信度给出 下面是一个例子: 我有hi回复hello。它很好用。我还有很多其他经过训练的句子。但是,假设我输入了一些类似这样的垃圾-sdjshj sdjk oiqwe qw。Seq2seq仍试图给出响应。我理解它是这样设计的,但我想知道是否有一种方式可以说框架不能自信地回答这个问题。或者没有训练过这样的词语 这将非常有帮助。我认为seq2seq_model.model.stop>返回的平均困

我想知道在Tensorflow的seq2seq框架中是否有一种方法,我可以知道对输入的回复是否可以以x%的置信度给出

下面是一个例子:

我有
hi
回复
hello
。它很好用。我还有很多其他经过训练的句子。但是,假设我输入了一些类似这样的垃圾-
sdjshj sdjk oiqwe qw
。Seq2seq仍试图给出响应。我理解它是这样设计的,但我想知道是否有一种方式可以说框架不能自信地回答这个问题。或者没有训练过这样的词语


这将非常有帮助。

我认为
seq2seq_model.model.stop>返回的
平均困惑度
是信心,越小越好。但要分辨一个合适的临界点可能很难

在输出逻辑上使用逻辑函数(或sigmoid): 因为logit函数基本上是sigmoid函数的逆函数:

Logit函数:

乙状结肠功能:

你可以看到它是相似的。在张量流中。有sigmoid函数,但我发现当您只编写sigmoid函数时,程序速度更快:

如果使用sigmoid函数。您将得到一个从0到1的值,这是您正在寻找的置信度。更多信息可在此处找到:


我想你的意思是
seq2seq\u model.model.step
。我试过了。对于训练和垃圾输入,其始终为0.0。也许通过语料库是不够的,因为它工作正常?我有1000条训练线。检查贪婪解码器如何提取权重。1000条线对于训练这种类型的模型来说非常小。@AlexandruCeausu可能是对的。这种困惑似乎只是在训练中重现。虽然这个链接可以回答问题,但最好将答案的关键部分包含在这里,并提供链接供参考。如果链接页面发生更改,仅链接的答案可能无效。-谢谢你的提示,修复了它。这是提供了整个输出的信心,还是仅仅是最后一个标记?我猜@spiralarchitect希望它反映整个输出的可信度。因此,基本上您将整个logit放在了sigmoid函数中。在这种情况下,它将返回所有类的置信度(您可以为其设置阈值)。如果使用argmax函数,则只能得到一个最高值。然而,需要了解的一点是使用sigmoid函数,softmax丢失的阈值就像作弊一样。因为softmax loss将考虑其他标签的预测来给出预测。因此,所有置信度输出加起来为100%。如果可以,您应该以最高的置信度选择输出。