詞嵌入的經典方法,六篇論文遍歷Word2vec的另類應用

2020-12-06 機器之心Pro

機器之心分析師網絡

作者:王子嘉

編輯:Joni

在本文中,作者首先為讀者普及了 word2vec 的基礎知識,然後以六篇論文為示例詳細介紹了當前研究如何利用經典 word2vec 進行拓展性研究。其中,作者重點介紹的部分是知識嵌入空間的生成過程,對於其完整應用感興趣的讀者可以參閱原論文。

隨著深度學習的興起,每個模型都需要一個輸入,而我們現實生活中的對象(文字、圖片)等等都不是數字,計算機無法處理。所以如何為每個任務確定一個合適的 「輸入」 就變得尤其重要了,這個過程也被叫做表徵學習。

word2vec 做的就是把文字變成對計算機有意義的輸入,簡單來說就是把這些東西映射到一個空間裡,我們平時為了表示位置可能是三維空間,也就是 xyz,但是在圖片啊、文本啊這種領域裡,三維空間不太夠,就可能去到另外一個 N 維空間,在這個空間裡,就像三維空間裡人的鼻子要跟嘴挨得近一樣,我們也希望相似的東西在這個新的空間裡也距離近,比如文本裡的 「鼻子」 和「嘴」我們就也希望它們能挨得近一點,因為都屬於五官,那麼 「鼻子」 和「腿」就相對離得遠一點。

顧名思義,word2vec 是把文字轉換成計算機可以識別的輸入,所以這個技術最開始應用、也是應用最多的地方就是自然語言處理領域(NLP)。其實在之前對於表徵學習,我基於 ICLR 和 CVPR 做過兩次 high-level 的總結,但是這次這篇文章主要著眼於 word2vec,從細節著手,看看 word2vec 中發現的空間是如何被改進使用的,同時也看一下基於 word2vec 的原理發現的新空間。在開始正題之前,為了防止有人不清楚 word2vec 從而影響對後文的理解,這裡科普一下本文會用到的相關基本概念。

1、word2vec 簡介

什麼是 word2vec:Word2Vec 是一個過程(技術),在這個過程中,將文本作為神經網絡的訓練數據,這個神經網絡的輸出向量被稱作嵌入,這些嵌入(向量)在訓練後會包含單詞的語義信息。這個過程做的就是從每個單詞有多個維度的空間嵌入到具有低得多維度的連續向量空間。向量嵌入可以在真實對象的 「離散」 世界和機器學習的 「可微分」 世界之間架起一座橋梁,因此在資料庫研究方面具有巨大的潛力。一類對象的嵌入向量是從 X 映射到某個向量空間,稱為潛空間,我們通常假設它是一個有限維 d 的實向量空間 R^d。

它們用在哪裡:最終 word2vec 就會產生如圖 1 所示的一堆向量(word embedding,詞嵌入),這些向量就可以作為後續任務中神經網絡模型的輸入。

圖 1:word embedding 示例。圖源:https://blog.acolyer.org/2016/04/21/the-amazing-power-of-word-vectors/

為什麼要用 word2vec:如前文所述,這些嵌入抓住了文本的語義,相似含義的詞會具有更近的距離(圖 2 展示了其中一種、也是最常見的相似度衡量方式——餘弦相似度)。而且經過長久的實踐,研究者都發現這種語義的編碼使得各種 NLP 任務都表現得很好。

圖 2:衡量距離的距離示例——cosine similarity。圖源:https://towardsdatascience.com/introduction-to-word-embedding-and-word2vec-652d0c2060fa

基本模型:訓練 word2vec 的常用方法有 CBOW 和 skip-gram。如圖三所示,w(t)表示當前單詞,w(t-?)表示前面的單詞,w(t+?)表示後面的單詞,簡單來說,CBOW 就是使用周圍的單詞來預測當前單詞,而 skip-gram 模型利用當前單詞嘗試預測周圍大小為 c 的窗口中的單詞。具體計算細節可以看一下圖 3 的來源那篇文章,這裡就不做詳細介紹了。

圖 3:skip-gram 和 CBOW。圖源:https://towardsdatascience.com/nlp-101-word2vec-skip-gram-and-cbow-93512ee24314

如何去衡量:在使用嵌入的時候,我們應該考慮幾個問題——對象的哪些屬性用嵌入表示?我們用的距離測量的意義是什麼?潛空間的幾何性質是否對應了 X 上有意義的關係?當然同時,我們也要考慮計算向量嵌入的計算成本。

2、完善舊空間

了解了 word2vec 的基本常識,就可以正式進入正題了。在上一節說過,我們在建立一個嵌入空間的時候,我們要考慮的是對象的那些屬性需要在嵌入空間中被表徵。word2vec 在傳統的 NLP 任務中表現得很好,但是在一些新的、較為複雜的任務中,有一些屬性就不能很好的被體現了,因為最開始 word2vec 模型是完全基於文本進行訓練,而很多關係是在文本中很難體現出的,比如 「看」 和「吃」,單獨看這兩個詞,就算是我們也很難想到它們是有聯繫的。

但是如果加上圖 4,它們是不是就聯繫起來了,這張圖的描述可以是兩種,一種是小姑娘正在 「看」 冰激凌,另一種則加入了一定的聯想——小姑娘正在 「吃」 冰激凌,在這張圖的描述中,這兩句話都是對的,這個例子除了解釋了利用純文本進行學習的缺陷,也側面說明了這種圖片描述之類的任務中,這種信息也是很重要的。

圖 4:吃冰激凌的小姑娘。圖源:[1]

這也不難理解,人類在感知這個世界的時候用到的模式不只是看,還有聽、聞等等,同樣的,在看的時候,看的也不只是書面上的文字,而語言卻是傳遞知識的載體,所以現在研究者開始用不同的感知模式(聲音、圖片)來學習語言模型(multi-modal learning),從而讓語言模型學出的嵌入能夠更加全面的表徵我們人類的理解能力。

至於技術層面,其實回溯到語言模型最開始起源的那階段,語言模型跟遷移學習類似於一對兄弟,只不過進入了不同的領域,也就有了不同的名字。比如說在 NLP 任務中,語言模型先被訓練好,然後後面直接用預訓練好的語言模型來進行下面的任務,像不像凍住了前面幾層的遷移學習(如果這個看不懂,也不太影響後面的理解,覺得放不下的可以看看機器之心之前的文章,有很多基礎教程的,這裡就不做介紹啦)。

之所以說遷移學習,是因為如果想要達到完善 word2vec 空間的效果,其實就是類似於遷移學習裡的全局 finetune,把前面的語言模型(一開始凍住的層)也放進訓練裡來。

為了展示當前研究具體是怎麼利用 word2vec 進行拓展應用,這一節對四篇論文進行簡要介紹,從而展示圖片和聲音是如何加強已有的 word2vec 嵌入空間的表徵能力的。當然這裡介紹的知識嵌入空間的生成過程,原論文中還有其他的創新點,如果有興趣可以再去拜讀一下完整論文。

2.1 Visual Word2Vec (vis-w2v) [1]

論文連結:https://arxiv.org/pdf/1511.07067.pdf

這個方法解決的就是圖 4 提到的例子裡的問題,這裡作者要在原有詞嵌入的基礎上加入對圖片語義的表徵,也就是將圖片也作為背景加入到 w2v 的訓練中去。這個方法基於 CBOW,並用到了輔助標籤(surrogate label)作為圖片背景的表徵。

圖 5:vis-w2v 中的網絡結構。圖源:[1]

具體模型如圖 5 所示,模型的輸入是圖片 - 文字對 D = {(v, w)},v 是指圖片的特徵,w 是 v 對應文本描述,這裡 w 的形式(句子或詞)會根據場景不同而改變(下面會詳述)。

圖 5 中展示的是一個窗口(這個窗口可能包含 w 的部分詞,也可能包含完整的 w,也是根據場景不同而改變,下面也會詳述),這裡的的 w_1 到 w_l 表示一個窗口中包含的詞,由 one-hot 方式進行編碼(N_V 表示 one-hot 編碼的維度),H_wi 是由 wi 乘 W_I 獲得的,這裡的 W_I 是共享的,就是所有的 w_i 乘的都是同一個 W_I,因為是 one-hot 編碼,其實也就相當於取了 W_I 的某一行,最終的 H 是由各個 H_wi 取平均獲得的:

獲取了 H(N_H 就是嵌入的維度)之後,這個 H 就作為最終的特徵向量,利用 W_O 將其進行映射 N_K 維(一共有 N_K 類,這裡的 N_K 後面解釋),對其進行 softmax 操作之後,就可以知道這段文本(w_1-w_l)屬於哪一類了,這一步就是做了一個分類。

如果了解 NLP 任務的話,H 的獲取的第一步跟平時我們獲取 embedding 的方式一樣,因為這裡的 W_I 是初始化為傳統 CBOW 的權重,所以這一步其實就是獲取這些詞的傳統嵌入,然後對其取平均作為整個窗口所有詞的特徵,然後做了一個分類任務。

現在就是這篇文章的核心了——上一段說了這是個分類任務,那麼分類任務的 label 從哪來的呢?這就是輔助標籤的作用了——作者將圖片 v 進行聚類,聚類成 N_K 類,然後每個 v 所屬的類就是這個 v 對應的 w 在做分類任務時候的 label。

然後回到 w,這裡的 w 允許對各種形式的 w 進行選擇,比如完整的句子或形式的元組 (主要對象、關係、次要對象)。w 的選擇取決於我們所關心的任務。例如,在常識斷言分類和基於文本的圖像檢索中,w 是元組中的短語,而在視覺釋義中,w 是句子。給定 w,S_w 也是可調的。它可以包括所有的 w(例如,從元組中的一個短語學習時) 或單詞的一個子集(例如,從句子中的一個 n 元上下文窗口學習時)。

最後再說一下效果,這個任務其實就是在 w2v 的基礎上進行 finetune,這種直接進行全局 finetune 的效果,據論文中所說,也可以保持最開始 w2v 的效果,就是如果一些詞在 finetune 過程中沒有出現,它們就會保持原有的語義特性,這種全局 finetune 並不會讓新型的 w2v 在傳統任務中變得更差。

如下表 1 所示的視覺轉述任務對比中,vis-w2v 的效果比單純的 w2v 任務要好很多。

表 1:轉述任務平均準確率(AP)。表源:[1]

2.2 Visually Supervised Word2Vec (VS-Word2Vec) [2]

論文連結:https://ieeexplore.ieee.org/abstract/document/8675640?casa_token=lw7U2LlGUk4AAAAA:uhM9BVykvRQyYoWE5KCq3BfjUSjLRED2yV7nktCUgw3jDcAh_R2xx8iV7Az3pBWTZPBQ87cQzEgd

這篇論文也是想將圖片中的信息傳遞給 w2v,讓 w2v 空間能夠更好地表徵圖片中的信息。上一篇論文是將廣義的圖片信息加入到 w2v 中(通過圖片的相似度來引導詞的相似度),而這篇論文的全稱則是 Embedded Representation of Relation Words with Visual Supervision,顧名思義,就是為了讓嵌入空間能夠更好地表徵關係詞(「我拿著包」裡的 「拿著」 就是關係詞)。

下圖 6 中展示了一些關係詞的例子,[3]則給出了類似於這樣的一個數據集,這是本篇論文的輸入形式之一。

圖 6:關係詞。圖源:[3]

VS-Word2Vec 的基本結構如圖 7 所示,這個架構分為上下兩部分。上面是一個 CNN,類似於圖 6 中的圖片是輸入,輸出是一個特徵向量,這個特徵向量就作為這個圖片對應的關係詞的嵌入(Visual relation feature space)了;下面是傳統的 CBOW,也會產生詞嵌入。

本文除了與第一篇論文要表徵的信息不同之外,所用的方法也不一樣,其根本思想就是:如果這個詞是關係詞,那麼就讓上面(CNN)產生的詞嵌入跟下面產生的嵌入儘量相同,但是如果這個詞不是關係詞,那就不管上面的,跟傳統的 CBOW 訓練完全一樣。

圖 7:VS-Word2Vec 網絡結構。圖源:[2]

具體來說,整體算法如圖 8 所示,第一二行對應的是圖 7 上半部分的 CNN,先計算圖表徵(Visual relation feature,算法第 4 行):

這裡的 y_wi 就是某個關係詞 wi 的表徵,具體就是利用 VGG 來得到這個關係詞對應的所有圖片(Q_i 張圖)的特徵向量(y_wi^q),然後對這些特徵向量取平均值。前面說過,如果訓練的詞屬於關係詞,那麼作者希望通過 CBOW 和通過 CNN 生成的兩種 embedding 儘量一致,本文中的不一致性則由下式衡量:

這裡的 s_ij 表示關係詞 i 和關係詞 j 的餘弦相似度,右下角標的 r 代表這是關係詞,x 則代表 CBOW 中產生的詞嵌入,v 則代表 CNN 中生成的詞嵌入,這個式子中 J 越小越好。

圖 8:VS-Word2Vec 算法流程。圖源:[2]

最後就是圖 8 中的第 4 行到第 19 行了,這就是上述整體思想的體現,也就是在計算下式,同時進行參數的更新(梯度上升):

首先 D 是 CBOW 的訓練集,然後對於這個訓練集中的每個詞,計算兩個損失 e1 和 e2,e1 就是前半部分,也就是傳統 CBOW 的損失,e2 是後半部分,衡量了兩種 embedding 的不一致性(J_V),\lambda 就是個可調的超參數,p_t 表示 w_t 是不是關係詞,如果是關係詞,那麼 p_t=1,保留後半部分,如果不是關係詞,則變成傳統的 CBOW 訓練過程。

注意看第 15 行,這裡是用了一個 for loop,所以本文的目標並不是讓上下兩部分對一個關係詞產生完全相同的嵌入,而是要求關係詞能夠保證圖 7 中上下的「一致性」,所以用的是 J_V,而不是直接使用餘弦相似度。

使用這種方法後,作者在 SimVerb-3500 中的九個類別的同義詞(SYNONYMS, ANTONYMS, HYPER/HYPONYMS, COHYPONYM,NONE )進行了對比,對比結果如表 2 所示,總體來說是比 CBOW 要好的,而且一些特別的類中,效果的提升還很大。

表 2:同義詞一致性結果。表源:[2]

2.3 Action2Vec [4]

論文連結:https://arxiv.org/pdf/1901.00484.pdf

又一篇對視覺信息進行探索的文章,不過這裡探索的對象變成了視頻(因為是對動作進行編碼),如圖 9 所示,思想跟上文差不多,不過變成了左右結構,而且這次是實實在在的兩詞比較(pairwise ranking loss),而非利用一致性進行判斷。

圖 9:Action2Vec end-to-end architecture。圖源:[4]

具體來說,左邊先使用由 [5] 中數據集預訓練好的 C3D 模型來提取每一幀的圖片的特徵向量,然後使用了一個 Hierarchical Recurrent Neural Network (HRNN) ,並加入了自注意力機制,最後通過一個全連接層(fully connected weights)將 LSTM2 得到的視頻嵌入變成跟詞嵌入相同維度的向量,最後這個向量又通過一個全連接層做了一個分類任務,判斷這個視頻對應的動作是什麼。然後通過一個「雙損失」(cross entropy+pairwise ranking)來讓改善後的 joint embedding space 同時具有視頻和文本的語義信息。

HRNN:這裡的 HRNN 就是指用兩層 LSTM,第一層用於提取局部特徵(輸入是每一幀的圖片),第二層 LSTM(LSTM2)的輸入則是每隔 s 張圖片的 LSTM1 的輸出,以圖 9 為例,這裡的步長為 3,每三張圖片(h1-h3,h4-h6,...)會輸出一個向量,這些向量就是 LSTM2 的輸出了。自注意力機制裡面的注意力計算這裡就不做介紹啦,

雙損失(dual loss):這裡的雙損失就是指 cross entropy 加 pairwise ranking loss,cross entropy 這裡就不多做介紹,對應的就是上面說的分類任務,pairwise ranking loss(PR loss)如果不了解的可以看一下這篇文章(https://gombru.github.io/2019/04/03/ranking_loss/),會更容易理解下面的式子。這裡的 PR loss 定義為下式:

這裡的 a_i 和 v_i 分別表示 HRNN 和 word2vec 模型產生的動作詞 i 嵌入,a_x 和 v_x 則分別對應 HRNN 和 word2vec 產生的負樣本(也就是非動作詞 i 的嵌入)。這裡注意了,圖 9 畫的並不全,cross entropy(CE)對應的分類任務並沒有畫在上面,action embedding 先通過一個全連接層做分類任務,然後才有的 CE 損失。

最後需要說明的一點是因為兩個資料庫的詞並不能完全一致,可能會出現視頻資料庫中的詞在 word2vec 詞庫中不存在的情況,這時這些動詞就會被轉化成對應的形式(如 walking 變成 walk 等)。

實驗部分,作者在 ZSAL(Zero Shot Action Learning)任務中與其他 ZSL 模型進行了對比,可見作者提出的模型在各個數據集上的效果都是最好的。

表 3:ZSAL(Zero Shot Action Learning)模型效果對比。表源:[4]

2.4 sound-word2vec [7]

論文連結:https://arxiv.org/pdf/1703.01720.pdf

前幾篇介紹了視覺,最後一篇論文我們開始涉及到了聽覺,也就是聲音信號。雖然大部分聲音都存在擬聲詞,但是很多擬聲詞在文本中並不常見,而且相比於直接的聲音,這些詞對應的語義信息很難被學習到,因此本文作者將這些叫聲的聲學特徵整合到了傳統的詞嵌入空間中。值得注意的是,這裡又用到了輔助標籤(聚類)。這個模型的整體結構如圖 10 所示.

圖 10:sound-word2vec。圖源:[7]

圖 10 中,這個模型的輸入是基於 FreeSound 生成的輸入對{s, T},s 是聲音,T 是用戶提供的這個聲音對應的一系列 tag(一組詞),這些 tag 首先通過 W_P(由預訓練好的 word2vec 模型中的 weights 來初始化)變成嵌入,然後對這些嵌入進行取均值得到隱藏層的值 H,最終 H 通過全連接層(W_O)完成一個分類任務,輸出一個類別。

與第一篇論文一樣,這裡分類任務的標籤又是來自於聚類。s 先經過聚類得到類別標籤,然後這個標籤就用於訓練 W_P 和 W_O。整體上來說,這篇論文的思想跟第一篇論文差不多,但是論文中關於聲音如何表徵等的聲音處理還是很具有啟發性的,同時這篇論文再一次證明了整體 finetune 可以在改善傳統詞嵌入空間上取得不錯的效果。

這個方法的效果如表 4 所示,在普通詞上,效果跟 word2vec 差不多,但是在擬聲詞上,sound-word2vec 明顯表現就要好很多了。作者還在一些基於文本的擬聲詞識別任務中進行了實驗,效果比普通的 baseline 模型都要好很多(具體細節可以去看一下原論文)。

表 4:相似詞示例。表源:[7]

3、探索新空間

論文連結:https://link.springer.com/article/10.1007/s00521-018-3923-1

Google 在去年利用語言模型將蛋白質序列轉換成嵌入,從而實現了很多相關任務的飛躍,這個我曾經寫過一篇文章來專門介紹,這裡就不多做贅述,今天主要介紹這個方法是如何應用於音樂上,從而產生一個新的基於音樂的嵌入空間,新的嵌入空間樂理知識進行了表徵——音樂 + word2vec [6]

因為這篇論文包含了比較專業的樂理知識,而對應的機器學習方法就相對比較傳統,就是一個 skip-gram 模型加上對樂譜進行編碼。但是論文中對樂譜各項樂理知識在樂譜嵌入空間的表徵情況進行了詳細分析,表明了 skip-gram 很好地從樂譜中學習到了樂理知識。

關於樂譜的編碼,如下圖 11 所示,圖中包含了蕭邦: 瑪祖卡舞曲 編號 67 第 4 首的前六個小節(Chopin’s Mazurka Op. 67 No. 4 ),以及前三小節的編碼實例。這裡相當於把一拍當做文字中 j 的一個字,第一塊包含 E,即四分音符中表示音高 E5 的音高類。由於第二拍的音高為 E5 和 A3,所以第二塊包含了 E 和 A。注意,作者在第二小節中包含了 E,儘管音高 E5 與第一拍是連在一起的 (不是一個開始),但它仍然在第二拍中發出。同樣,由於第三個節拍包含音高 E3, A3, E4, E5(來自於點連音) 和 F5,所以第三塊包含音高類 E, A, f。圖 2 中的例子也可以用來解釋選擇節拍作為切片持續時間。

圖11:樂譜分類。圖源:[6]

如果音片長於一拍,我們可能會失去音調和和弦變化上的細微差別。相反,如果切片短於一個節拍,則可能有太多重複的切片(其中切片之間的內容是相同的)。尋找切片的最佳持續時間也很重要,但是這篇文章並沒有涉及,相信一個更好的編碼方式會讓這個研究的效果更好。

因為這篇文章的價值不在於用了什麼機器學習方法,只是用了 skip-gram,故而不再對訓練過程進行講述啦。當然,這篇論文除了證明了 skip-gram 可以在音樂領域很好的獲取 chord 和 harmonic 特徵,還提供了很多音樂領域可以用的數據集(section 4),如果有興趣在這個領域做點什麼,這些數據集還是很有用的。

這篇論文的結果分析過於專業,如果想看一下音樂大師對這個模型的評價,可以去看一下原始論文,總之這個模型在各個方面表現的很好,對音樂有了解的同學可以看一下原論文中是怎麼分析的,或許對後續任務也有很大的幫助。

4、使用這個空間

論文連結:https://arxiv.org/pdf/1908.01211.pdf

最後,在討論了如何改善傳統詞嵌入空間和如何創建新嵌入空間之後,如何使用這個空間也很重要。但是因為本文不是對 word2vec 的介紹,所以傳統的 NLP 任務中 word2vec 的應用在此就不再多做介紹了,網上已經有很多實踐上或是理論上的科普文。這裡主要介紹詞嵌入是如何在 RL 中應用的——Word2vec to behavior [8]

這裡的 a 代表聲學神經細胞,一開始先輸入命令,然後用這個命令的 embedding 初始化隱藏層 hi,這裡初始化是使用文中 5 個命令詞的 embedding 來先進行預訓練以初始化 h_1-h_5,命令詞為『forward』, 『backward』, 『stop』, 『cease』, 『suspend』, and 『halt』,其中後面四個詞表達的意思一致,所有一個不會被用來做初始化,作為測試組。初始化完成後,這些虛線的連接就會被刪除,然後機器人就進入仿真器開始仿真,將命令的嵌入輸入給機器人,然後通過各個傳感器 (s) 得到的信息進行動作。這個初始化就使得網絡獲取了語義信息。

除了上述機制,圖 12 中的整個網絡並不複雜,第一層叫傳感器層,從機器人的傳感器獲取數據,然後這些神經元跟後面的隱藏層進行全連接,這裡的第二層隱藏層是一個帶自連接的 recurrent neural network,最後這個隱藏層又跟最後的動作層(最右邊)進行全連接。

圖 12:Word2vec to behavior 訓練網絡。圖源:[8]

總結起來,整個訓練流程如圖 13 所示,通過向輸入層中的神經元 a 提供與 「停止」 等命令相關的 word2vec 嵌入,可以設置機器人控制策略的隱藏層的初始值。然後將該策略下載到機器人上,並將通過其運動生成的傳感器數據提供給輸入層的其餘部分(虛線箭頭),從而進一步更改隱藏層和電機層。

經過評估後,將根據與命令配對的目標函數(例如懲罰運動的函數)對機器人的行為進行評分。然後,針對其他四個命令和目標函數,對同一策略進行四次以上的評估(B 和 C 分別對應兩次),對策略進行訓練,以針對所有這五個功能(D)最大化平均分數。經過訓練後,最佳策略會提供一個訓練時沒有的第六種同義詞 「cease」,並且其行為會根據「停止」 目標函數(E)進行評分。

圖 13:訓練流程。圖源:[8]

最終的結果如下圖所示,每個顏色代表一種命令,可以看到作者的方法(第一個)訓練的機器人在 「停止」 這條命令上確實表現得比其他的要好。

圖 14:實驗結果。圖源:[8]

總結

從本文提到的這些分析性或是創新性論文來看,skip-gram 和 CBOW 能夠很好地獲取我們生活生很多對象的語義(音樂、聲音等),而 multi-modal 是一個很好地完善現有嵌入空間的方法,在沒有 label 的情況下,合理的聚類也可以提供給模型輔助標籤。這個嵌入空間也不只是可以應用於 NLP 領域,還有很多其他領域可以直接套用 w2v 中生成的嵌入空間(如 RL)。

當然,未來還有很多其他可以探索的方向,比如發展比較初級的音樂領域,如何將聲音中的情緒結合到傳統的 w2v 模型中去等等。

總之,語言作為我們觀察和描述世界的一個基本要素,語言 基本覆蓋了我們生活的方方面面,在某些層面也反映了客觀世界的規律(比如語言學的「複合性原理」-compositionality),遇到無法解決的學習的問題的時候,語言模型或許會給你一點點啟發。

參考文獻

[1] Kottur, Satwik, et al. "Visual word2vec (vis-w2v): Learning visually grounded word embeddings using abstract scenes." Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2016.

[2] Wang, Xue, et al. "Embedded Representation of Relation Words with Visual Supervision." 2019 Third IEEE International Conference on Robotic Computing (IRC). IEEE, 2019.

[3] Lu, Cewu, et al. "Visual relationship detection with language priors." European conference on computer vision. Springer, Cham, 2016.

[4] Hahn, Meera, Andrew Silva, and James M. Rehg. "Action2vec: A crossmodal embedding approach to action learning." arXiv preprint arXiv:1901.00484 (2019).

[5] A. Karpathy, G. Toderici, S. Shetty, T. Leung, R. Sukthankar, and L. Fei-Fei. Large-scale video classification with convolutional neural networks. In CVPR, 2014. 4

[6] Chuan, C.-H., Agres, K., & Herremans, D. (2018). From context to concept: exploring semantic relationships in music with word2vec. Neural Computing and Applications. doi:10.1007/s00521-018-3923-1

[7] Vijayakumar, Ashwin K., Ramakrishna Vedantam, and Devi Parikh. "Sound-word2vec: Learning word representations grounded in sounds." arXiv preprint arXiv:1703.01720 (2017).

[8] Matthews, David, et al. "Word2vec to behavior: morphology facilitates the grounding of language in machines." arXiv preprint arXiv:1908.01211 (2019).

分析師介紹:

本文作者為王子嘉,目前在帝國理工學院人工智慧碩士在讀。主要研究方向為 NLP 的推薦等,喜歡前沿技術,熱愛稀奇古怪的想法,是立志做一個不走尋常路的研究者的男人!

相關焦點

  • 詞向量詳解:從word2vec、glove、ELMo到BERT
    目前,詞向量(又叫詞嵌入)已經成為NLP領域各種任務的必備一步,而且隨著bert elmo,gpt等預訓練模型的發展,詞向量演變為知識表示方法,但其本質思想不變。學習各種詞向量訓練原理可以很好地掌握NLP各種方法。生成詞向量的方法有很多種,本文重點介紹word2vec,glove和bert。
  • 手把手教你NumPy來實現Word2vec
    這種從單詞到向量的轉換也被稱為單詞嵌入(word embedding)。這種轉換的原因是機器學習算法可以對數字(在向量中的)而不是單詞進行線性代數運算。為了實現Word2Vec,有兩種風格可以選擇,Continuous Bag-of-Words(CBOW)或Skip-gram(SG)。
  • 窺一斑而知全豹,三篇論文遍歷ICLR 2020新型表徵方式
    本文主要涉及了三篇論文,第一篇論文比較綜合,涉及了當前很多經典的表徵方式,並對其做了一定的改進;第二篇則提及了稀疏表徵方式,為其在一定程度上正名;很明顯的,前面兩篇涉及的主要是數位訊號(離散信息)的處理,而最後一篇講到了模擬信號(連續信息)的表徵方式,這也非常值得我們學習。1.
  • 一文詳解 Word2vec 之 Skip-Gram 模型(訓練篇)
    Word2Vec 的作者在它的第二篇論文中強調了這些問題,下面是作者在第二篇論文中的三個創新:1. 將常見的單詞組合(word pairs)或者詞組作為單個「words」來處理。2. 對高頻次單詞進行抽樣來減少訓練樣本的個數。3.
  • 文本嵌入的經典模型與最新進展
    因此,這篇文章簡要介紹了通用詞和句子嵌入的最新技術:我們先從詞嵌入開始。詞嵌入的最新發展在過去的五年裡,人們已經提出了大量可能的詞嵌入方法。最常用的模型是 word2vec 和 GloVe,它們都是基於分布假設的無監督學習方法(在相同上下文中的單詞往往具有相似的含義)。
  • Chinese Word Vectors:目前最全的中文預訓練詞向量集合
    SGANS 模型(word2vec工具包中的模型)和 PPMI 模型分別是這兩種表徵的典型案例。SGNS 模型通過一個淺層神經網絡學習低維度的密集向量,這也稱為神經嵌入方法。PPMI 模型是一種稀疏的特徵袋(bag-of-feature)表徵方法,且它會使用正逐點互信息(PPMI)對特徵進行加權。
  • Bioinf | 生物醫學網絡中的圖嵌入:方法、應用與評價
    這篇發表在Bioinformatics上的文章,告訴大家:圖嵌入方法用在藥物發現領域的相關任務(如DDI,藥物與藥物相互作用的預測)中,可以繼續提高機器學習方法的預測精度。最新的圖嵌入方法已在社會學和信息網絡上得到成功應用,但是尚未在生物醫學網絡上進行全面系統的研究。
  • 詞向量學習算法 Word2Vec
    Word2Vec 是 google 在2013年提出的詞向量模型,通過 Word2Vec 可以用數值向量表示單詞,且在向量空間中可以很好地衡量兩個單詞的相似性。 1.
  • NLP之文本分類:「Tf-Idf、Word2Vec和BERT」三種模型比較
    有兩種不同的方法可以生成詞嵌入:從某一個詞來預測其上下文(Skip-gram)或根據上下文預測某一個詞(Continuous Bag-of-Words)。在Python中,可以像這樣從genism-data中加載一個預訓練好的詞嵌入模型:nlp = gensim_api.load("word2vec-google-news-300")我將不使用預先訓練好的模型,而是用gensim
  • 當前最好的詞句嵌入技術概覽:從無監督學習轉向監督、多任務學習
    讓我們從詞嵌入開始娓娓道來。最近的詞嵌入研究進展在過去的五年中,人們提出了大量可行的詞嵌入方法。目前最常用的模型是 word2vec 和 GloVe,它們都是基於分布假設(在相同的上下文中出現的單詞往往具有相似的含義)的無監督學習方法。
  • 從數據結構到算法:圖網絡方法初探
    一個很自然的想法就是,既然直接在圖上直接應用機器學習方法比較困難,那麼能否先將節點或邊用低維向量表示出來,然後在這些向量上應用已經很成熟的機器學習算法。這種將圖中節點嵌入到低維歐式空間中的方法就叫做圖嵌入(Graph Embedding)。其實、圖嵌入、網絡嵌入、圖表示學習、網絡表示學習這些名詞指的的都是同一個概念。
  • Python自然語言處理實戰:兩篇文章相似度清晰透明
    、方法論和經典算法。 1. word2vec計算網頁相似度 word2vec計算網頁相似度的基本方法是:抽取網頁新聞中的關鍵詞,接著將關鍵詞向量化,然後將得到的各個詞向量相加,最後得到的一個詞向量總和代表網頁新聞的向量化表示,利用這個總的向量計算網頁相似度。包括的步驟是:1)關鍵詞提取,2)關鍵詞向量化,3)相似度計算。
  • 不一樣的論文解讀:2018 KDD best paper「Embeddings at Airbnb」
    可喜的是,據我所知,國內一線團隊的實踐水平並不比論文中描述的差,而且就是 W&D,國內也有團隊在論文沒有出來之前就做出了類似的結果,可見在推薦這樣的場景,大家在一個水平線上。希望未來國內的公司,也發一些真正實用的 paper,不一定非要去發聽起來 fancy 的。自從 Word2vec 出來後,迅速應用到各個領域中,誇張一點描述,萬物皆可 embedding。
  • 概述:遷移學習在NLP和CV中的應用實例
    【IT168 資訊】昨天在我們的網站上已經有一篇介紹遷移學習的文章,簡單的將遷移學習的基本情況進行了概述,在今天的這篇文章中,將討論遷移學習的兩個應用,概述自然語言處理和計算機視覺領域的相關例子。基本上,使用詞嵌入意味著你正在使用一個特徵提升器或嵌入網絡將單詞轉換為信息向量。    在NLP中,存在不同的方法來表示單詞(詞語嵌入在左邊有一個類似於表示法的詞,在右邊有一個類似於表示法的符號)。藉助詞嵌入,機器學習模型可以利用不同單詞之間存在的關係。