質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

311閲覧

TensorFlowのGreedyEmbeddingHelperについて

toujika

総合スコア8

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

2クリップ

投稿2018/02/18 14:47

TensorFlowによるseq2seqモデルについて、学習済みモデルの評価をしたい

現在TensorFlowを使ったSequence-to-Sequenceモデルを作成し、学習を行いました。
dynamic_decodingの公式レファレンスに従ってコードを書いてみました。

発生している問題

GreedyEmbeddingHelperを使った評価結果が訓練時よりも異常に悪い精度になります。
実装はレファレンスに倣い、以下のように定義しました。

Python

1 helper = tf.contrib.seq2seq.GreedyEmbeddingHelper( 2 embedding=embedding, 3 start_tokens=tf.tile([GO_SYMBOL], [batch_size]), 4 end_token=END_SYMBOL)

引数

  • embedding: tf.Variable型の埋め込み層。訓練時に最適化される
  • GO_SYMBOL: int型の文頭を示す特殊文字
  • batch_size: int型のミニバッチサイズ
  • END_SYMBOL: int型の文末を示す特殊文字

試したこと

同様の事例がQuestion: Using TrainingHelper vs GreedyEmbeddingHelper during training.で報告されていたので、確認してみました。

すると、以下のように入力データを定義すべきとの書き込みがありました。

  • エンコーダ入力: A B C EOS
  • デコーダ入力: GO 4 5 EOS
  • デコーダラベル: 4 5 EOS EOS

データがこの通りの並びになっていることを確認しましたが、
結局のところ、評価時に性能が悪くなっている理由や、GreedyEmbeddingHelperの使い方については、わかりませんでした。

補足情報(FW/ツールのバージョンなど)

TensorFlow1.4を使用

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

GreedyEmbeddingHelperを使った評価結果が訓練時よりも異常に悪い精度になる、
というのは、考えてみたら当たり前のことでした。

誤差関数の評価時に、GreedyEmbeddingHelperではなくTrainingHelperを使っていたことから、
思いの外学習が進んでいるものだと錯覚していました。
単純に学習が進んでいなかっただけなのだと思います。

お騒がせしました。

投稿2018/02/20 03:00

toujika

総合スコア8

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問