2016-04-18 11 views
1

私は、入力に対する返信がx%信頼できるかどうかを知ることができるTensorflowのseq2seqフレームワークに方法があるかどうかを知りたいと思います。以下Tensorflow seq2seq - 返信の信頼

例:

私はhelloへの返信としてhiを持っています。それはうまく動作します。私には他の訓練された文章もたくさんあります。しかし、私はこのようないくつかのジャンクを入力してみましょう - sdjshj sdjk oiqwe qw。 Seq2seqは依然として応答を試みます。私はそのように設計されていることを理解していますが、フレームワークが自信を持ってこれに答えることができないと言う方法があるかどうかを知りたいと思います。あるいは、そのような言葉は訓練されていない。

これは大きな助けになるでしょう。

答えて

3

使用ロジスティック関数(又はシグモイド):

ロジット関数:

Logit Function graph

シグモイド関数: Sigmoid Function graph

ロジット関数はシグモイド関数の逆数は基本的であるため

あなたはそれが似ていることがわかります。テンソルフロー。そこにシグモイド関数であるが、私はプログラムはあなただけのシグモイド関数をコーディングする際に高速です見つける:あなたはシグモイド関数を使用する場合は

Sigmoid Function

。あなたはあなたが探している自信である0から1の値を得ます。詳しい情報はここで見つけることができます:

https://en.wikipedia.org/wiki/Sigmoid_function

https://en.wikipedia.org/wiki/Logit

+0

このリンクは質問に答えるかもしれませんが、答えの本質的な部分をここに含めて参考にしてください。リンクされたページが変更された場合、リンクのみの回答は無効になります。 - [レビューから](/レビュー/低品質の投稿/ 14577867) – activatedgeek

+0

チップのおかげで、それを固定しました。 –

+0

これは、出力全体、または最後のトークンの信頼性を提供しますか? @spiralarchitectは出力全体の信頼を反映したいと思う。 – mitchus

0

average perplexityseq2seq_model.model.stopで返されたと思いますが、それは小さいほど良いです。しかし、適切なしきい値を伝えることは難しいかもしれません。出力logitsに

+0

私はあなたが 'seq2seq_model.model.step'を意味すると思います。私はそれを試みた。訓練された入力と迷惑な入力に対しては常に0.0です。たぶん、コーパスによってそれが適切に動作するのは少ないですか?私は1000トレーニングラインのようにしています。 – spiralarchitect

+0

グリーディデコーダの重みの抽出方法については、[translate.py](https://tensorflow.googlesource.com/tensorflow/+/master/tensorflow/models/rnn/translate/translate.py#236)で確認してください。 –

+0

このタイプのモデルをトレーニングするには、1,000行が非常に小さいです。 – Aaron