AI入门:不用任何公式把Embedding讲清楚
全文共?2014?字,16?幅圖,
預(yù)計閱讀時間?20?分鐘。
本文受 Jay Alammar 2019年在 QCon 做的演講啟發(fā),純純的致敬!
Embedding?中文是嵌入,一種把對象 (object) 映射 (map) 為實數(shù)域向量 (vector) 的技術(shù)。
看不懂?我們來舉個性格嵌入 (personality embedding) 的例子。
1
場景:斯蒂文的新工作面試到了最后一輪,拿到 offer 基本已定,只需要完成一個性格測試,從不同維度上給自己在 0?到 100 的范圍打分。
2
斯蒂文認為自己比較外向,給自己在「外向-內(nèi)向」的維度上在打了 20 分。注意 0 分是極度外向,100 分是極度內(nèi)向。
標準化得分使其在 -1 和 1 之間,得到的分數(shù)是 -0.4。解下列方程即可。
????20/(100 - 0) = x/(1 -?(-1))
這樣斯蒂文在「外向-內(nèi)向」維度由一個實數(shù) -0.4 來表示,該維度可看成是描述斯蒂文性格的一個特征。
3
人是復(fù)雜的動物,一個特征不可能完全描述人的性格,斯蒂文在第二個特征上給自己打分為 0.8 (按同樣的方法,先在 0~100 之間得分,再標準化)。
現(xiàn)在斯蒂文的性格可以由 [-0.4, 0.8]?二維向量來表示。
4
如果現(xiàn)在斯蒂文放鴿子不去這個公司,公司想找一個和斯蒂文性格類似的求職者。
根據(jù)他們在前兩個特征上的得分,公司應(yīng)該用誰來代替斯蒂文?
5
公司應(yīng)該選這個女生,因為比起另外那個男生,她的性格和斯蒂文的性格更接近。
這里向量相似度是用余弦距離來計算,其值范圍在 -1 到 1 之間,值越大 (1) 越相似,值越小 (-1) 越相反。對數(shù)學(xué)感興趣的小孩??可以參考計算余弦距離的公式。
下圖看三個人完整的性格測試得分,這種把性格轉(zhuǎn)換成?4 維向量的技術(shù)可稱為性格嵌入 (personality embedding)。
計算性格相似度后,還是會用這位女生來替代放鴿子的斯蒂文。
總結(jié):我們可以將人和事物 (所有東西) 表示為代數(shù)向量,而計算機很容易能計算出這些向量之間的相似程度。
6
性格嵌入講完后,讓我們來看看大名鼎鼎的詞嵌入 (word embedding)。類比:
性格嵌入是將性格轉(zhuǎn)換成向量的技術(shù)
詞嵌入是將詞轉(zhuǎn)換成向量的技術(shù)
詞嵌入的技術(shù)本帖當然不談,要不小孩就看不懂了?(當然比性格嵌入的技術(shù)復(fù)雜)。先看看詞嵌入的結(jié)果向量,以 King 舉例。
單詞 King 由 50 個實數(shù)來表示,即用一個 50 維的向量能代表單詞 King。
其他單詞也可以用不同的 50 維的向量來表示 (具體維度大小根據(jù)實際問題來決定,常用的是 300 維度,這里用 50 維來舉例)。
為了后文能快速找出不同詞之間的同義,我們來可視化 50 維向量,比如藍色代表負值 (越深越負),紅色代表正值 (越深越正)。
如果兩個向量在很多維度上的顏色相同,那么這兩個向量相似。
接下來讓我們看看單詞 King, Man 和 Woman 的向量可視化。
不難看出,Man 和 Woman 之間相似度比起它們和 King 之間相似度更高。
7
接下來,我們看更多詞向量可視化的例子。
人?vs 水
從上圖兩點值得注意:
黃色五角星對應(yīng)的欄:女人、女孩、男孩、男人、國王和皇后是深藍色,水是淺藍色,該欄對應(yīng)的特征可能是有無生命。
紅色五角星對應(yīng)的欄:所有事物都是深紅色,該欄對應(yīng)的特征可能是名詞。
女 (男) 人 vs 女 (男) 孩
女人和女孩非常相似 (都是女性),男人和男孩也非常相似 (都是男性),而且兩對詞的相似點也很多重疊 (用黃色五角星標注了),可能顯示著「成年人和未成年人」的關(guān)系。
女孩 vs 男孩
女孩和男孩非常相似,但是他們的相似處和女人和男人的相似處不太一樣,可能就是「成年人和未成年人」的區(qū)別。
國王?vs?皇后
國王和皇后非常相似,但是它們的相似處 (用黃色五角星標注了) 在 (女人,男人)、(女孩,男孩) 這些「詞對」中沒有體現(xiàn)。該特征應(yīng)該是有皇家色彩?。
讓人驚艷的東西來了,詞嵌入或詞向量可以發(fā)掘出詞與詞的類比關(guān)系。我們可以在詞向量上做加法和減法,最后得到一些有趣的結(jié)果。最有名的結(jié)果是
????國王 - 男人 + 女人?= 皇后
小孩可以忽略下面一段:
用 Python Gensim 庫可以得到上面結(jié)果:
皇后的概率最高,記住機器不是人,永遠是以概率的形式給出結(jié)果。
重新調(diào)整上面公式可以得到不同表達式
國王 - 男人 = 皇后 - 女人
國王?- 皇后?= 男人?- 女人
1 式抽象出皇家的詞向量,2 式抽象出男性減去女性的詞向量。
詞向量的類比關(guān)系應(yīng)用還有很多,比如
????中國 - 北京 = 法國 - 巴黎
????do - did = go - went
等等。
總結(jié)
在自然語言處理 (Natural Language Processing, NLP)?中,詞嵌入把詞轉(zhuǎn)換成實數(shù)向量,從 word 轉(zhuǎn)到 vector,因此大家都也把詞嵌入稱為 word2vec,用到的技術(shù)就是神經(jīng)網(wǎng)絡(luò)。
在推薦系統(tǒng) (Recommender System, RS) 中,物品嵌入把推薦的物品轉(zhuǎn)換成實數(shù)向量,item2vec。
圖神經(jīng)網(wǎng)絡(luò) (Graph Neural Network, GNN) 存在很多通路,將各個節(jié)點連成一條線,這些連線蘊含著節(jié)點之間的相互關(guān)系,就如同句子中各個詞語的關(guān)系一樣,這樣我們也可以用節(jié)點嵌入的方法把節(jié)點 node 轉(zhuǎn)成向量 vector,node2vec。
萬物皆嵌入
everything2vec
往期精彩回顧適合初學(xué)者入門人工智能的路線及資料下載機器學(xué)習(xí)在線手冊深度學(xué)習(xí)在線手冊AI基礎(chǔ)下載(pdf更新到25集)備注:加入本站微信群或者qq群,請回復(fù)“加群”獲取一折本站知識星球優(yōu)惠券,請回復(fù)“知識星球”
喜歡文章,點個在看
總結(jié)
以上是生活随笔為你收集整理的AI入门:不用任何公式把Embedding讲清楚的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: AI入门:通俗讲解熵、交叉熵和 KL 散
- 下一篇: 深度学习到底有多难?掌握方法很重要!