Embedding層

爲什麼要使用嵌入層 Embedding呢? 主要有這兩大原因:
1、使用One-hot 方法編碼的向量會很高維也很稀疏。
2、訓練神經網絡的過程中,每個嵌入的向量都會得到更新。

“deep learning is very deep”

通過索引對該句子進行編碼
1 2 3 4 1

創建嵌入矩陣

這樣,我們就可以使用嵌入矩陣來而不是龐大的one-hot編碼向量來保持每個向量更小。簡而言之,嵌入層embedding在這裏做的就是把單詞“deep”用向量[.32, .02, .48, .21, .56, .15]來表達。
https://blog.csdn.net/u010412858/article/details/77848878

Embedding層就是以one hot爲輸入、中間層節點爲字向量維數的全連接層
https://kexue.fm/archives/4122
 

利用Word Embedding將一個單詞轉換成固定長度的向量表示,從而便於進行數學處理。

使用數學模型處理文本語料的第一步就是把文本轉換成數學表示,有兩種方法,第一種方法可以通過one-hot矩陣表示一個單詞

第二種方法是Word Embedding矩陣給每個單詞分配一個固定長度的向量表示,這個長度可以自行設定

Word Embedding的生成我們使用tensorflow,通過構造一個包含了一個隱藏層的神經網絡實現。
有兩種業界常用的Word Embedding生成方式,Continuous Bag Of Words (CBOW)方法和n-gram方法
https://www.jianshu.com/p/394892ec58b5

word2vec是一個將詞表示爲一個向量的工具,通過該向量表示,可以用來進行更深入的自然語言處理,比如機器翻譯等。
https://www.jianshu.com/p/418f27df3968
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章