keras的Embedding層


keras.layers.embeddings.Embedding(input_dim, output_dim, embeddings_initializer='uniform', embeddings_regularizer=None, activity_regularizer=None, embeddings_constraint=None, mask_zero=False, input_length=None)

輸入shape:形如(samples,sequence_length)的2D張量

輸出shape:形如  (samples, sequence_length, output_dim)  的3D張量

重要參數

input_dim:        整數,字典長度,即輸入數據最大下標+1

output_dim:      整數,代表全連接嵌入的維度

input_length:    當輸入序列的長度固定時,該值為其長度。如果要在該層后接Flatten層,然后接Dense層,則必須指定該參數,否則Dense層的輸出維度無法自動推斷。

 舉例說明上述參數:

假設單詞表大小為1000,詞向量的維度為300,那么Embedding的參數 input_dim=10000,output_dim=300。

嵌入層將正整數(下標)轉換為具有固定大小的向量,如[[4],[20]]->[[0.25,0.1],[0.6,-0.2]]。

舉個栗子:

假如單詞表的大小為1000,詞向量維度為2,經單詞頻數統計后,tom對應的id=4,而jerry對應的id=20,經上述的轉換后,我們會得到一個M1000×2的矩陣,而tom對應的是該矩陣的第4行,取出該行的數據就是[0.25,0.1]。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM