最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

tf.keras.layers.Embedding詞嵌入淺析

2023-03-14 23:19 作者:GUCCI-GUJI  | 我要投稿

本篇關(guān)于Keras的Embedding函數(shù)解析是參考了其他博主的文章,加上自己的理解,不當(dāng)之處請大家指出。

原文鏈接:

https://keras.io/search.html?query=embedding

https://blog.csdn.net/weixin_44493841/article/details/121487594

https://www.jianshu.com/p/a3f3033a7379


在介紹Embedding之前,先了解以下幾個概念:

數(shù)值張量

深度學(xué)習(xí)模型在處理文本數(shù)據(jù)時不會直接把原始文本數(shù)據(jù)作為輸入,它只能處理數(shù)值張量。

文本向量化

文本向量化就是把文本數(shù)據(jù)轉(zhuǎn)化成數(shù)值張量的過程,實現(xiàn)方法多是把文本分割成單詞或者字符,再把單詞或字符轉(zhuǎn)換為一個向量。

標(biāo)記

將文本分解而成的單詞或字符叫做標(biāo)記。

分詞

將文本分解成標(biāo)記的過程叫做分詞。

我們要用深度學(xué)習(xí)模型處理文本數(shù)據(jù),通過使用某種分詞方法來實現(xiàn)文本向量化,即在分詞過程,把生成的標(biāo)記與數(shù)值向量相關(guān)聯(lián),然后把這些向量組合成張量作為深度學(xué)習(xí)模型的輸入,embedding(詞嵌入)方法就是一種把標(biāo)記與數(shù)值向量相關(guān)聯(lián)的方法。

函數(shù)及參數(shù)

參數(shù)說明

input_dim: int > 0。詞匯表大小, 即最大整數(shù) index + 1,在分詞過程中每一個標(biāo)記都有唯一一個區(qū)別于其它標(biāo)記的索引,input_dim = 所有標(biāo)記的索引的最大值 + 1。

output_dim: int >= 0。詞向量的維度。

embeddings_initializer: embeddings 矩陣的初始化方法 (詳見 initializers)。

embeddings_regularizer: embeddings matrix 的正則化方法 (詳見 regularizer)。

embeddings_constraint: embeddings matrix 的約束函數(shù) (詳見 constraints)。

mask_zero: 是否把 0 看作為一個應(yīng)該被遮蔽的特殊的 "padding" 值。 這對于可變長的 循環(huán)神經(jīng)網(wǎng)絡(luò)層 十分有用。 如果設(shè)定為 True,那么接下來的所有層都必須支持 masking,否則就會拋出異常。 如果 mask_zero 為 True,作為結(jié)果,索引 0 就不能被用于詞匯表中 (input_dim 應(yīng)該與 vocabulary + 1 大小相同)。

input_length: 輸入序列的長度,當(dāng)它是固定的時。 如果你需要連接 FlattenDense 層,則這個參數(shù)是必須的 (沒有它,dense 層的輸出尺寸就無法計算)。


基礎(chǔ)嵌入層示例

個人理解:

該案例中,輸入矩陣input_array是一個2×3的矩陣[[8 4 7],[6 2 3]]。

在Embedding嵌入層中,設(shè)定input_dim=1000,表示最多有1000個不同的元素索引(非樣本,注意區(qū)分,一個樣本里可能包含多個元素,如input_array可以理解為兩個樣本,每個樣本里就有三個元素);設(shè)定output_dim=4,表示對于每個元素,都使用一個1×4的向量來表示;設(shè)定input_length=3,表示每個樣本或每次輸入3個元素。

輸出矩陣output_array是一個(2, 3, 4)的張量,表示一共有兩個樣本,每個樣本都通過一個(3,4)的張量來表示,其中3表示每個樣本有3個元素,每個元素用4維向量(4個數(shù)字)來表示。例如,input_array中的8通過向量[ 0.01561867 ?0.01928559 -0.04316533 ?0.04298258]來表示。


再舉另一個例子,做稍微深一點點理解

通俗的講,這個過程中,Embedding層生成了一個大小為3*2的隨機矩陣,記為M,查看矩陣M:

矩陣的每一行是該行下標(biāo)指示的標(biāo)記的數(shù)值向量,即矩陣M的第i(可取0,1,2)行是標(biāo)記為i的單詞對應(yīng)的數(shù)值向量。

data是Embedding層的輸入,它包含2個樣本,每個樣本長度都是7,輸出out是一個大小為(2,7,2)的矩陣,data[i,j]元素的數(shù)值向量是out[i,j,:]。

可以看到,這個時候得到的文本的向量化表示是隨機的,我們對這個模型進(jìn)行訓(xùn)練,更新各層權(quán)重,最后我們得到一個文本向量化的有意義的表示,即單詞間通過各自對應(yīng)的數(shù)值向量來反映單詞間相關(guān)性。

tf.keras.layers.Embedding詞嵌入淺析的評論 (共 條)

分享到微博請遵守國家法律
寿宁县| 蛟河市| 扶沟县| 尉氏县| 祁门县| 从化市| 咸丰县| 佳木斯市| 天祝| 类乌齐县| 波密县| 双流县| 鄂尔多斯市| 随州市| 宽城| 仪征市| 长沙市| 古交市| 浙江省| 普兰店市| 肇源县| 永丰县| 庄浪县| 华池县| 西和县| 梁河县| 乡宁县| 共和县| 汨罗市| 汤原县| 衢州市| 阿巴嘎旗| 延庆县| 溧阳市| 长沙县| 固始县| 那曲县| 咸宁市| 红原县| 海伦市| 永嘉县|