Bowman et al。 2015年。
注:この実装は、現時点でのLSTMをサポートするものではなく、RNNとGRUのものをサポートしています。




トレーニングは4つのエポックの後に停止しました。真のエルボは約1エポックで最適化されました(上記のグラフで見ることができるように)。結果は分割全体で平均化されます。
| スプリット | nll | KL |
|---|---|---|
| 電車 | 99.821 | 7.944 |
| 検証 | 103.220 | 7.346 |
| テスト | 103.967 | 7.269 |
z〜n(0、i)からサンプリングした後、セネネは得られました。
氏 。 nは自分のスタッフとnnnnnと一緒にいなかった
uのnのnで。 s。企業はコメントを求められないでしょう
彼らがnでnだったとき、そして彼らはナンだった
しかし、同社はNNとNNの終わりまでにnになると述べた
しかし、同社はuのnnになると述べた。 s。経済
Z〜n(0、i)から2回サンプリングした後、2つのサンプルを補間した後、Senteneは得られました。
会社は、会社を除いてNになると述べた
しかし、同社は、会社の株式を除いてNになると述べた
しかし、同社は会社のSNNとNNが
しかし、過去2年前の会社のSNN
しかし、過去2年前の会社のSNN
しかし、過去数年前に会社は会社のsnn
しかし、過去数年前に彼らが明らかにされていなかった
しかし、過去数年前に彼らが明らかにされていなかった
しかし、彼らは過去数週間で$ n百万を知らなかったという声明で
しかし、彼らは過去数週間の終わりまでに支払われなかったという声明で
トレーニングを実行するには、最初にPenn Tree Bankデータをダウンロードしてください(Tomas MikolovのWebページからダウンロード)。このコードは、指定されたデータディレクトリに少なくともptb.train.txtおよびptb.valid.txt見つけることを期待しています。データは、 dowloaddata.shスクリプトでdowloadedでdonwloadyすることもできます。
次のコマンドでトレーニングを実行できます。
python3 train.py
次の引数が利用可能です。
--data_dir PTBデータが保存され、補助データファイルが保存されるディレクトリへのパス。
--create_data提供されている場合、新しい補助データファイルがソースデータの形で作成されます。
--max_sequence_length長文のカットオフを指定します。
--min_occコーパスで単語が「min_occ」時間未満が発生した場合、トークンに置き換えられます。
--testが提供されれば、パフォーマンスはテストセットでも測定されます。
-ep 、 --epochs
-bs 、 --batch_size
-lr 、 --learning_rate
-eb 、 --embedding_size
-rnn 、 --rnn_type 'rnn'または 'gru'のいずれか。
-hs 、 --hidden_size
-nl 、 --num_layers
-bi 、 --bidirectional
-ls 、 --latent_size
-wd 、 --word_dropoutワードドロップアウトは、デコーダーの入力に適用されます。つまり、単語<unk> word_dropoutの確率でに置き換えられます。
-ed 、 --embedding_dropoutワード埋め込みドロップアウトは、デコーダーの入力に適用されます。
-af 、 --anneal_function 'logistic'または 'linear'のいずれか。
-k 、 --kロジスティックアニーリング関数の急勾配。
-x0 、 --x0 「ロジスティック」の場合、これは中間点です(つまり、重量が0.5の場合)。 「線形」の場合、これは分母です。
-v 、 --print_every
-tb 、 --tensorboard_loggingが提供されれば、トレーニングの進捗はテンソルボードで監視されます。
-log 、 --logdirテンソルボード用のログファイルのディレクトリ。
-bin 、 --save_model_pathディレクトリモデルチェックポイントを保存する場所。
サンプルを取得し、センテック間を補間するために、Inference.pyを使用できます。
python3 inference.py -c $CHECKPOINT -n $NUM_SAMPLES