2016-07-15 6 views
0

RNNを擬似ランダム単語(辞書の一部ではない)に訓練して、word2vecを使用できないとします。テンソルフローを使って単語の各文字をどのように表現できますか?Tensorflow:RNN(チャー入力あり)

答えて

2

文字をやっているだけの場合は、すべてのアスキー文字を表すことができるサイズ128のホットベクターを使用することができます(アスキー文字をすべて使用するかどうかわからないので、 )。可能性の範囲が小さいので、単語ベクトルのようなものを使う必要はありません。

実際にあなたが1つのホットエンコーディングを使用すると、あなたは各文字の学習ベクトルの種類です。最初の高密度層(またはrnn層)に100個のニューロンが含まれているとします。そうすれば、1つのホットエンコーディングで128x100の行列乗算が得られます。値の1つを除くすべてがゼロでないため、基本的には、その文字のベクトル表現である行列からサイズ100の単一の行を選択しています。基本的に、最初の行列は各文字を表すベクトルのリストにすぎず、モデルはこれらのベクトル表現を学習します。 1つのホットエンコーディングの希薄さのために、完全な行列乗算を実行するのではなく、行をルックアップするほうが速いことがよくあります。これは、tf.nn.embedding_lookup関数またはtf.gather関数が使用されるものです。

関連する問題