NLP中embedding和LookupTable有什麼聯絡呢?

時間 2021-07-14 00:28:38

1樓:

詞嵌入訓練的時候會用一張表儲存所有訓練集中的詞語,輸入乙個句子,查表直接讀出句子向量送到後續層做cbow或者skipgram訓練。

2樓:roger

乙個意思,例如「我是誰」,我在lookuptable的index為3的位置,是在17的位置,誰在6的位置,那就是分別在table裡把3,17,6位置的embedding取出來stack到一起

3樓:Thinkwee

embedding指使用各種方法(w2v,glove,pretrained lm,隨模型訓練)得到的不同級別單元(字,詞,句子,篇章)的特徵向量,lookup table是所有單元,以詞為例,就是整個詞典所有詞的embedding構成的矩陣。

為什麼叫lookup table,哪來的look up?因為實際模型執行的時候,不是把所有詞變成embedding存在檔案裡,然後模型讀取檔案,而是把詞變成one hot向量,one hot向量和embedding矩陣相乘得到對應詞的embedding,這個過程等價於根據詞在詞典中的下標(one hot裡1的下標)在embedding矩陣(V行E列)裡查出對應行得到embedding向量,這個過程即look up。

Tensorflow 中 Embedding 層為什麼要用矩陣乘來實現?

一棵有思想的韭菜 我的猜想是這樣的 用one hot matrix 乘 embedding matrix來選擇,對與GPU來說是非常高效的,如果用CPU就會慢很多,但是如果這個實現用的是你說的index定址,這就實打實的是線性時間來,有GPU也無法加速。 Chan Yu 引用一下官方1.14版本的文...

Java中synchronized鎖和Lock鎖在CPU層的實現,或者說在JVM層的實現是否是一致的?

蘇維 這兩個東西實現的原語不一樣,一種是mutex原語,一種是monitor原語,原語決定了用途,怎麼實現反而是次要的,隨時都能改。 wuxinliulei 不能完全這麼說,因為synchronized鎖在jdk1.6之後優化為偏向鎖,輕量級鎖,重量級鎖三種形態,CAS的使用是輕量級鎖,重量級鎖的實...

凸優化中strongly convex和L smooth有什麼應用?

梁令 這些很大程度是為了證明演算法收斂性和收斂率而假設的。乙個簡單的應用是,在這些條件下,accelerated proximal gradient APG 等一階演算法可以有複雜度結果 O 1 k 2 當沒有這些條件時,分析起來會很難,比如如果沒有這兩個條件,大家又轉頭去考慮類似自洽 self c...