一、embedding 方向發(fā)展脈絡(luò)
從傳統(tǒng)的sequence embedding過渡到graph embedding的過程,基于word2vec的一系列embedding方法主要是基于序列進行embedding,在當(dāng)前商品、行為、用戶等實體之間的關(guān)系越來越復(fù)雜化、網(wǎng)絡(luò)化的趨勢下,原有sequence embedding方法的表達能力受限,因此Graph Embedding方法的研究和應(yīng)用成為了當(dāng)前的趨勢。
1、word2vec
CBOW和Skip-gram兩種word2vec的模型結(jié)構(gòu),產(chǎn)出詞向量。

2、graph embedding
(1)deepwalk(word2vec)
deep walk是network embedding的開山之做,將NLP詞向量的思想借鑒過來做網(wǎng)絡(luò)的節(jié)點表示。
參考資料1:https://zhuanlan.zhihu.com/p/45167021
參考資料2: http://lipixun.me/2018/01/11/deepwalk
原文:http://www.perozzi.net/publications/14_kdd_deepwalk.pdf
(DeepWalk:Online Learning of Social Representations)
(2)LINE
LINE也是一種基于鄰域相似假設(shè)的方法,只不過與DeepWalk使用DFS構(gòu)造鄰域不同的是,LINE可以看作是一種使用BFS構(gòu)造鄰域的算法。1階直連,2階鄰域。
參考資料1:https://zhuanlan.zhihu.com/p/56478167
原文:https://arxiv.org/pdf/1503.03578.pdf
(LINE:Large-scale Information Network Embedding)
(3)SDNE
SDNE可以看作是基于LINE的擴展,同時也是第一個將深度學(xué)習(xí)應(yīng)用于網(wǎng)絡(luò)表示學(xué)習(xí)中的方法。SDNE使用一個自動編碼器結(jié)構(gòu)來同時優(yōu)化1階和2階相似度(LINE是分別優(yōu)化的),學(xué)習(xí)得到的向量表示能夠保留局部和全局結(jié)構(gòu),并且對稀疏網(wǎng)絡(luò)具有魯棒性。
參考資料1: https://zhuanlan.zhihu.com/p/56637181
原文:https://www.kdd.org/kdd2016/papers/files/rfp0191-wangAemb.pdf
(StructuralDeep Network Embedding)
(4)node2vec
在graph中主要存在兩種關(guān)系,用作者的原話叫homophily和structual equivalence。所謂homophily,即是在graph中緊密相連的鄰域。具有這種關(guān)系的頂點之間,學(xué)習(xí)出來的向量應(yīng)該接近或者相似。所謂structural equivalence,就是指在圖中具有相似作用的頂點,他們之間未必相鄰,甚至可能相隔較遠,比如都是所在鄰域的中心頂點。滿足這種關(guān)系的頂點之間,特征向量也應(yīng)該接近或者相似。通常在現(xiàn)實世界的graph中,會同時存在這兩種關(guān)系。但是在不同的任務(wù)中需要關(guān)注的重點不同,可能有些任務(wù)需要關(guān)注網(wǎng)絡(luò) homophily,而有些任務(wù)比較關(guān)注網(wǎng)絡(luò)的structual equivalence,可能還有些任務(wù)兩者兼而有之。在第一階段的表示向量學(xué)習(xí)過程中,如何學(xué)習(xí)出表示向量,會影響到下游任務(wù)的效果。在DeepWalk中,在采樣時作者只是單純地采用隨機游走,無法靈活地捕捉這兩種關(guān)系,在這兩種關(guān)系中有所側(cè)重。實際上,對于這兩種關(guān)系的偏好,可以通過不同的序列采樣方式來實現(xiàn)。有兩種極端的方式,一種是Breadth-First Sampling(BFS),廣度優(yōu)先搜索,如圖1中紅色箭頭所示,從u出發(fā)做隨機游走,但是每次都只采樣頂點u的直接鄰域,這樣生成的序列通過無監(jiān)督訓(xùn)練之后,特征向量表現(xiàn)出來的是structual equivalence特性。另外一種是Depth-First Sampling(DFS),深度優(yōu)先搜索,如圖1中藍色箭頭所示,從u出發(fā)越走越遠,學(xué)習(xí)得到的特征向量反應(yīng)的是圖中的homophily關(guān)系。
參考資料1: https://zhuanlan.zhihu.com/p/63631102
原文:https://www.kdd.org/kdd2016/papers/files/rfp0218-groverA.pdf
(node2vec:Scalable Feature Learning for Networks)
(5)eges
在商品推薦系統(tǒng)中,主要面臨著三個技術(shù)挑戰(zhàn),分別是可擴展性(scalability)、稀疏性(sparsity)、冷啟動問題(cold start)。阿里淘寶團隊提出了基于Graph
Embedding的算法來解決以上三個問題。該文在DeepWalk的基礎(chǔ)上,增加 item 的額外信息(例如category,
brand, price等)豐富item表征力度。文章中共涉及到三個模型:
Base Graph Embedding(BGE),基礎(chǔ)deepwalk、wor2vec;
Graph Embedding with Side Information(GES),增加side information,embedding均值;
Enhanced Graph Embedding with Side Information(EGES),增加side information,組合表示item_embedding時,對 item 和 side information(例如category, brand, price等)的embedding施加不同的權(quán)重,該權(quán)重值通過模型訓(xùn)練得到。
參考資料1:https://zhuanlan.zhihu.com/p/69069878
原文:https://arxiv.org/pdf/1803.02349.pdf
(EnhancedGraph Embedding with Side Information)
二、在深度學(xué)習(xí)推薦系統(tǒng)中,Embedding主要的三個應(yīng)用方向:
在深度學(xué)習(xí)網(wǎng)絡(luò)中作為Embedding層,完成從高維稀疏特征向量到低維稠密特征向量的轉(zhuǎn)換;
由于高維稀疏特征向量天然不適合多層復(fù)雜神經(jīng)網(wǎng)絡(luò)的訓(xùn)練,因此如果使用深度學(xué)習(xí)模型處理高維稀疏特征向量,幾乎都會在輸入層到全連接層之間加入Embedding層完成高維稀疏特征向量到低維稠密特征向量的轉(zhuǎn)換。典型的例子是微軟的Deep Crossing模型和Google的Wide&Deep模型的深度部分。
作為預(yù)訓(xùn)練的Embedding特征向量,與其他特征向量連接后一同輸入深度學(xué)習(xí)網(wǎng)絡(luò)進行訓(xùn)練;
通過上面對Embedding層的介紹,同學(xué)們肯定已經(jīng)知道Embedding層的訓(xùn)練開銷是巨大的。為了解決這個問題,Embedding的訓(xùn)練往往獨立于深度學(xué)習(xí)網(wǎng)絡(luò)進行。在得到稀疏特征的稠密表達之后,再與其他特征一起輸入神經(jīng)網(wǎng)絡(luò)進行訓(xùn)練。典型的采用Embedding預(yù)訓(xùn)練方法的模型是FNN,F(xiàn)NN利用了FM訓(xùn)練得到的物品向量,作為Embedding層的初始化權(quán)重,從而加快了整個網(wǎng)絡(luò)的收斂速度。在實際工程中,直接采用FM的物品向量作為Embedding特征向量輸入到后續(xù)深度學(xué)習(xí)網(wǎng)絡(luò)也是可行的辦法。再延伸一點講Embedding的本質(zhì)是建立高維向量到低維向量的映射,而“映射”的方法并不局限于神經(jīng)網(wǎng)絡(luò),實質(zhì)上可以是任何異構(gòu)模型,這也是Embedding預(yù)訓(xùn)練的另一大優(yōu)勢,就是可以采用任何傳統(tǒng)降維方法,機器學(xué)習(xí)模型,深度學(xué)習(xí)網(wǎng)絡(luò)完成embedding的生成。
通過計算用戶和物品的Embedding相似度,Embedding可以直接作為推薦系統(tǒng)或計算廣告系統(tǒng)的召回層或者召回方法之一。
隨著Embedding技術(shù)的進步,Embedding自身的表達能力也逐步增強,利用Embedding向量的相似性,直接將Embedding作為推薦系統(tǒng)召回層的方案越來越多的被采用。其中Youtube推薦系統(tǒng)召回層的解決方案是典型的做法。Youtube利用深度學(xué)習(xí)網(wǎng)絡(luò)生成Video Embedding和User Embedding的方法。利用最終的Softmax層的權(quán)重矩陣,每個Video對應(yīng)的列向量就是其Item Embedding,而Softmax前一層的輸出就是User Embedding。在模型部署過程中,沒有必要部署整個深度學(xué)習(xí)網(wǎng)絡(luò)來完成從原始特征向量到最終輸出的預(yù)測過程,只需要將User Embedding和Item Embedding存儲到線上內(nèi)存數(shù)據(jù)庫,通過內(nèi)積運算再排序的方法就可以得到item的排名。這大大加快了召回層的召回效率。
參考資料:
1、https://zhuanlan.zhihu.com/p/58805184?Embedding從入門到專家必讀的十篇論文
2、http://www.itdecent.cn/p/60ef42833d0c?word2vec使用筆記
3、https://zhuanlan.zhihu.com/p/64200072?深度學(xué)習(xí)中不得不學(xué)的Graph Embedding方法
4、https://zhuanlan.zhihu.com/p/67218758?Embedding在深度推薦系統(tǒng)中的3大應(yīng)用方向