到底什麼是Embedding

2021-01-07 路角石

最近十分火的嵌入,不管是詞嵌入(word embedding),還是圖嵌入(graph embedding),都讓人看得似懂非懂,感覺懂了,又似乎不太確定。下面記錄一下查驗的收穫吧:

數學中的含義Embedding在數學上表示一個映射關係:f(x) --> y從一個空間映射到另外一個空間,保留基本屬性:a. injective (單射的):就是我們所說的單射函數,每個X只有唯一的Y對應b. structure-preserving(結構保存):比如在X所屬的空間上 x1<=x2 ,那麼映射後在Y所屬空間上同理 y1<=y2在word/graph中的應用高維物體在低維空間只會有一個低維的投影,其意義是將高維數據轉換到低維利於算法的處理,同時解決one-hot向量長度隨樣本的變化而變化,以及無法表示兩個實體之間的相關性這一問題。最常見的embeding方法是word2vec,根據語料庫中單詞的共現關係求出每個單詞的embedding,常用的word2vec模型有cbow和skip-gram兩種,cbow根據上下文預測中心詞,skip-gram根據中心詞預測上下文。

Graph Embedding 的中心思想就是找到一種映射函數,該函數將網絡中的每個節點轉換為低維度的潛在表示。利於計算存儲,不用再手動提特徵(自適應性)。

相關焦點

  • 萬物皆可embedding
    我們在做推薦系統的時候,所有離散特徵(連續值也可以分桶處理)都給embedding了,nlp中也一樣,每個單詞,每個字,每個標點,都可以做embedding。那麼問題來了,推薦系統的學習目標是點擊率,那nlp中學詞embedding的目標是啥?上文我們提到計數(上下文單詞做BOW)的方法,生成每個詞的稠密向量 。這種方法雖然不需要設定任何目標,但是靠譜嗎?
  • 閒聊word_embedding
    NLP word embedding概述依稀記得去年數據挖掘課有講過這個概念,年輕不懂事,沒認真聽,只能現在補課對於自然語言處理其實目前涉及的比較少
  • 一文讀懂什麼是Graph Embedding
    "A comprehensive survey of graph embedding: problems, techniques and applications." IEEE Transactions on Knowledge and Data Engineering (2018).[2] Goyal, Palash, and Emilio Ferrara.
  • NLP算法|解析Word Embedding
    什麼是Word Embedding?引子開始之前,先討論這樣一個問題,下面三句話中,哪二句話最相似?    a. 我今天中午吃了一隻豬    b. 我昨天中午喝了一碗湯    c.答案是Word embedding。Word embedding介紹首先我們介紹一下什麼是Embedding。Embedding指的是將高維矢量映射到低維空間裡的過程。直觀來說,Embedding可以通過神經網絡等方法將100維的特徵向量壓縮到20維。
  • 萬物皆Embedding,從經典的word2vec到深度學習基本操作item2vec
    什麼是embedding?為什麼說embedding是深度學習的基本操作?簡單來說,embedding就是用一個低維的向量表示一個物體,可以是一個詞,或是一個商品,或是一個電影等等。 的定義,我們可以把兩個vector的乘積再套上一個softmax的形式轉換成上面的神經網絡架構(需要非常注意的一點事hidden layer的激活函數,大家要思考一下,到底是sigmoid函數還是普通的線性函數,為什麼?
  • 自然語言處理 (三) 之 word embedding
    word2vec 最後可以得到一些有趣的Linear regularities, 比如 Beijing – China + France ~= Paris。那麼 word2vec 以及後來的 Glove, 相比其它的embedding模型 (如LSA), 是否真的有模型上無比的優越性呢?答案是否定的。首先我們來介紹word embedding 模型。1.
  • Learning Chinese-Japanese Bilingual Word Embedding by Using...
    Bilingual word embedding, which maps word embedding of two languages into one vector space, has been widely applied in the domain of machine translation, word sense disambiguation and so on.
  • 應用在大規模推薦系統,Facebook提出組合embedding方法|KDD 2020
    Facebook團隊考慮embedding的存儲瓶頸,提出了一種新穎的方法,通過利用類別集合的互補分區為每個類別生成唯一的embedding向量,無需明確定義,從而以端到端的方式減小embedding大小。
  • 論文|2017CIKM-Network Embedding專題論文分享
    (http://sentic.net/community-embedding.pdf) 解讀:community embedding,網絡社區結構的向量表達,通常是其節點集合的向量分布(多元高斯分布)。
  • Embedding從入門到專家必讀的十篇論文
    雖然詞向量的研究早已有之,但不得不說還是Google的word2vec的提出讓詞向量重歸主流,拉開了整個embedding技術發展的序幕。2. 簡單來說,Airbnb對其用戶和房源進行embedding之後,將其應用於搜索推薦系統,獲得了實效性和準確度的較大提升。文中的重點在於embedding方法與業務模式的結合,可以說是一篇應用word2vec思想於公司業務的典範。
  • 總結|為什麼要進行圖嵌入Graph embedding?
    為什麼要進行圖嵌入Graph embedding?|本文較長,預計閱讀時間為14分鐘,本文參考文章[9]的大綱,對其中的部分內容進行修改和補充Graph廣泛存在於真實世界的多種場景中,即節點和邊的集合。比如社交網絡中人與人之間的聯繫,生物中蛋白質相互作用以及通信網絡中的IP位址之間的通信等等。
  • 機器學習中的embedding原理及tensorflow 相關API的理解
    而embedding的主要目的也是對(稀疏)特徵進行降維,它降維的方式可以類比為一個全連接層(沒有激活函數),通過 embedding 層的權重矩陣計算來降低維度。假設:- feature_num : 原始特徵數- embedding_size: embedding之後的特徵數- [feature_num, embedding_size] 權重矩陣shape-
  • 深度學習中不得不學的Graph Embedding方法
    在這樣的背景下,對圖結構中間的節點進行表達的graph embedding成為了新的研究方向,並逐漸在深度學習推薦系統領域流行起來。具體來講,網絡的「同質性」指的是距離相近節點的embedding應該儘量近似,如圖4,節點u與其相連的節點s1、s2、s3、s4的embedding表達應該是接近的,這就是「同質性「的體現。
  • One-Class Order Embedding Learning for Dependency Relation...
    ., semantically similar entities are mapped into a nearby area in the semantic embedding space.., antisymmetric relations between two entities are captured in the embedding space.
  • Embedding在騰訊應用寶的推薦實踐
    下面我們先從 word2vec 模型切入,簡單介紹一下 embedding 的推導過程。以業界最廣泛使用的 Skip-gram+negative sampling 為例。損失函數如下所示:其中 vc 和 vw 分別為中心詞和上下文詞的 embedding,C 為訓練集中所有上下文單詞的集合。接著我們可以對損失函數(1)進行 log 變換得到(3):
  • 深度學習算法(第24期)----自然語言處理中的Word Embedding
    遇到了什麼問題?我們知道,在前面的RNN或者CNN中,我們在訓練網絡的時候,不管輸入還是輸出,都是數值型的數據參與數學矩陣就算,然而面對自然語言中的單詞,是沒辦法進行矩陣運算的,那麼單詞該怎麼輸入到網絡中呢?怎麼解決?
  • 為什麼Bert的三個Embedding可以進行相加?
    TL;DR 把 positional embedding 從 input 拆開會更好。先簡單說一下背景。因為 Transformer 在結構上不能識別來自不同位置的 token,一般需要用 positional embedding 來輔助。
  • 無所不能的Embedding5 - skip-thought的兄弟們「Trim/CNN-LSTM/...
    這種方案的假設其實不是把embedding作為一個整體來看,而是把embedding的每一個unit單獨作為一個/類特徵來看,序列不同位置的output state可能提取了不同的信息,通過avg/max來抽取最有代表性的特徵作為句子特徵。這個問題我們之後還會多次碰到,語言模型訓練好了拿什麼做句子向量更合適呢?
  • 深度學習Keras中的Embedding層的理解與使用
    (word) if embedding_vector is not None:  embedding_matrix[i] = embedding_vector現在我們可以像以前一樣定義我們的模型,並進行評估。
  • 無監督學習之詞嵌入(word embedding)
    ,它就可以知道每一個詞彙embedding之後的特徵向量應該長什麼樣子之前提到過一種基於神經網絡的降維方法,Auto-encoder,就是訓練一個model,讓它的輸入等於輸出,取出中間的某個隱藏層就是降維的結果,自編碼的本質就是通過自我壓縮和解壓的過程來尋找各個維度之間的相關信息;但word embedding這個問題是不能用Auto-encoder來解的,因為輸入的向量通常是1-of-N編碼,各維無關,很難通過自編碼的過程提取出什麼有用信息