2
ニューラルネットワークの埋め込み層とは何ですか?
多くのニューラルネットワークライブラリには、KerasやLasagneのような「埋め込み層」があります。 ドキュメントを読んでも、その機能を理解しているかどうかはわかりません。たとえば、Kerasのドキュメントには次のように記載されています。 正の整数(インデックス)を固定サイズの密ベクトルに変換します。[[4]、[20]]-> [[0.25、0.1]、[0.6、-0.2]] 知識のある人がそれが何をするのか、いつそれを使うのかを説明できますか? 編集:ドキュメントの貼り付けに関して、ドキュメントから貼り付けることはあまりないので、私の質問です。私はそれがどのような変換を行うのか、なぜそれを使用すべきなのか理解していません。 とにかく、これはケラスで説明されている方法です: 埋め込み keras.layers.embeddings.Embedding(input_dim、output_dim、init = 'uniform'、input_length = None、weights = None、W_regularizer = None、W_constraint = None、mask_zero = False)正の整数(インデックス)を固定サイズの密ベクトルに変換します、たとえば [[4]、[20]]-> [[0.25、0.1]、[0.6、-0.2]] 入力形状:形状を持つ2Dテンソル:(nb_samples、sequence_length)。出力形状:形状を持つ3Dテンソル:(nb_samples、sequence_length、output_dim)。引数: input_dim:int> =0。語彙のサイズ。1+入力データで発生する最大整数インデックス。output_dim:int> =0。密な埋め込みの次元 そして、それはラザニアでそれがどのように説明されるかです: 単語を埋め込むためのレイヤー。入力は整数型のテンソル変数でなければなりません。 パラメーター:incoming:Layerインスタンスまたはタプル このレイヤーに入力するレイヤー、または予想される入力形状。 input_size:int さまざまな埋め込みの数。最後の埋め込みのインデックスはinput_size-1です。 output_size:int 各埋め込みのサイズ。 W:Theano共有変数、式、numpy配列または呼び出し可能 埋め込み行列の初期値、式または初期化子。これは、形状(input_size、output_size)の行列でなければなりません。詳細については、lasagne.utils.create_param()を参照してください。 例 >>> from lasagne.layers import EmbeddingLayer, InputLayer, get_output >>> import theano >>> x …