Cosine-Distance在向量訓(xùn)練中的問(wèn)題

對(duì)于目的為學(xué)習(xí)embedding的模型尺迂。比如向量化User,Query間的關(guān)系冒掌。一側(cè)使用Query相關(guān)特征噪裕,一側(cè)使用User相關(guān)特征,進(jìn)行數(shù)層全連接后股毫,得到兩個(gè)N維向量膳音。向量間做Cosine來(lái)權(quán)衡其相關(guān)性。
該模型可以對(duì)目標(biāo)進(jìn)行深度的向量化铃诬,讓向量本身針對(duì)特征有更好的遷移性祭陷,泛化性(而不是直接根據(jù)id做embedding,多個(gè)id之間沒(méi)有語(yǔ)義聯(lián)系趣席,無(wú)法遷移)兵志。在實(shí)際應(yīng)用中,離線進(jìn)行訓(xùn)練宣肚,然后線上大多數(shù)User或者Query可以用id映射到向量毒姨,然后應(yīng)用于線上的相關(guān)性預(yù)估等目標(biāo)(取決于離線的目標(biāo)),少數(shù)新出現(xiàn)的user钉寝,query可以通過(guò)特征在線預(yù)估出其目標(biāo)弧呐,然后再預(yù)估。這樣可以減少相當(dāng)多的資源消耗(縮減特征服務(wù)IO資源嵌纲,預(yù)估時(shí)CPU資源)俘枫,因?yàn)橄蛄靠梢酝ㄟ^(guò)多種方式進(jìn)行快速的檢索。并且線上預(yù)估量由于離線embedding出了向量可以大幅降低

對(duì)模型本質(zhì)的思考:
該模型非常依賴于數(shù)據(jù)分布逮走,從embedding層參數(shù)到最終生成的向量鸠蚪,最終能得到的值很大依賴于訓(xùn)練樣本中值的分布,參數(shù)不同的初始化值也會(huì)帶來(lái)很大的不同:由于該模型user特征與post特征沒(méi)有直接的hidden layer進(jìn)行全連接师溅,最后的連接層(cosine)并沒(méi)有參數(shù)連接茅信,所以u(píng)ser特征與post特征的組合關(guān)系不是通過(guò)模型參數(shù)顯式學(xué)得的。(注:這里的顯式指直接學(xué)習(xí)參數(shù)描述特征權(quán)重墓臭≌壕ǎ可以對(duì)比LR,比如我設(shè)計(jì)了一個(gè)user feature A * post feature B的交叉特征窿锉,那么這個(gè)特征對(duì)應(yīng)的weight參數(shù)值其實(shí)就是這個(gè)特征對(duì)label的權(quán)重影響酌摇,而這個(gè)模型本身沒(méi)有任何參數(shù)去描述這種“直接”關(guān)系,所有關(guān)系都隱含在了embeding輸出向量空間中嗡载,不同user窑多,post向量的相對(duì)位置。在顯式的學(xué)習(xí)中洼滚,樣本輸入后埂息,更新參數(shù)可以直接通過(guò)偏導(dǎo)數(shù)更新到某個(gè)特征的參數(shù)上,而對(duì)于這種隱式的學(xué)習(xí)遥巴,更新的實(shí)際上是整個(gè)向量的值)
顯式地學(xué)習(xí)特征權(quán)重相對(duì)更加直接也更容易千康,而要通過(guò)embedding 的結(jié)果來(lái)隱式地表達(dá)這種關(guān)系就對(duì)數(shù)據(jù)以及模型參數(shù)等要求更加苛刻。這也是為什么doc2vec挪哄,word2vec一類的模型吧秕,不同的使用者拿到不同的語(yǔ)料,用不同的參數(shù)訓(xùn)練相同的模型得到的效果常常大相徑庭
深入到數(shù)據(jù)分布對(duì)模型的影響迹炼,對(duì)數(shù)據(jù)擬合的最佳結(jié)果是砸彬,每一對(duì)正例中的樣本(user,poset)的向量都很相近斯入,而負(fù)例中的樣本的向量最好近似于反向砂碉。假設(shè)樣本中正例為:(u1,p1)刻两,(u2增蹭,p1),(u2磅摹,p2)滋迈,樣本中的負(fù)例若有(u1霎奢,p2)便會(huì)造成空間上cosine距離的矛盾”樱考慮從初始位置輸入一些正樣本后幕侠,該user向量會(huì)朝著樣本對(duì)應(yīng)的post向量的位置調(diào)整,梯度逐漸減小碍彭,趨于收斂晤硕,而輸入一條矛盾的負(fù)樣本后,loss和梯度非常大庇忌,更新后的向量位置可能會(huì)大幅的變動(dòng)舞箍。PS:相似關(guān)系具有傳遞性,即:(a皆疹,b)《 Related && (b疏橄,c) 《 Related ====> (a,c) 《 Realated
對(duì)于顯式地學(xué)習(xí)特征權(quán)重的模型墙基,這樣的問(wèn)題不復(fù)存在软族,每條正負(fù)例都是獨(dú)立的樣本,有獨(dú)立的特征組合残制,只要加入ID特征等立砸,特征空間有足夠高的維度,總能近似去逼近最佳使其的線性可分的參數(shù)(LR本質(zhì)是線性模型初茶,通過(guò)特征組合帶來(lái)了非線性

實(shí)驗(yàn)的觀測(cè):

對(duì)label=1的樣本設(shè)置query=titile等于保證了不會(huì)有傳遞性的矛盾樣本出現(xiàn)颗祝,在同一正負(fù)樣本分布的樣本上能做到square loss=0.1x。而真實(shí)數(shù)據(jù)一直維持在0.6左右(learning_rate=3e-4,batch_size=800)恼布。

在數(shù)據(jù)隨機(jī)分布的情況下螺戳,理論minimal趨近于對(duì)<u>帖子或者用戶</u>在訓(xùn)練集上CTR的對(duì)應(yīng)loss最小值。(導(dǎo)致頭部推薦效應(yīng))

硬解決的思路:

1折汞、使用對(duì)outliers相對(duì)不那么敏感的損失函數(shù)倔幼,se梯度太大

2、normalize error

最終解決方案:

使用inner product + sigmoid 映射值域到0爽待,1 cross entropy做loss

原理:

1.點(diǎn)積是cosine * |a| * |b|损同,實(shí)際上在單純的cosine上引入了向量長(zhǎng)度的變量,<u>相對(duì)于cosine是個(gè)更弱的constrains</u>(單純的cosine等于normalize去掉了長(zhǎng)度鸟款,僅從夾角表述關(guān)系膏燃,上述的傳遞矛盾關(guān)系不可避免。)從訓(xùn)練樣本(只訓(xùn)練了2 pass)誤差可以觀察:(uid, click, tid, 點(diǎn)積何什,sigmoid组哩,cosine,相對(duì)長(zhǎng)度)

uid, click, tid, 點(diǎn)積,sigmoid伶贰,cosine蛛砰,相對(duì)長(zhǎng)度

  • 雖然邏輯上都是embedding到高維空間使其分離(相似的相近,不相似遠(yuǎn)離)幕袱,但是其優(yōu)化的結(jié)果差別很大:可以看到sigmoid輸出對(duì)概率的預(yù)測(cè)已經(jīng)比較準(zhǔn)確了暴备,但是其cosine值其實(shí)分布就很廣了,正例可能也就0.1们豌,如果embedding出這樣的樣本,在cosine + mse上仍會(huì)有很高的loss浅妆,但是sigmoid+cross entropy上loss很低望迎,并不會(huì)對(duì)這樣的樣本做太多懲罰,<u>而且這樣的樣本也可以通過(guò)cosine對(duì)正負(fù)例做區(qū)分了</u>凌外。
  • 比如第二三行辩尊,雖然第二行在cosine(-0.38)上比第三行cosine(-0.42)誤差大,但是第二行樣本訓(xùn)練出來(lái)的向量相對(duì)長(zhǎng)度更長(zhǎng)康辑,所以其sigmoid輸出0.008摄欲,其loss反而更小。即:通過(guò)改變相對(duì)的向量的長(zhǎng)度疮薇,也可以優(yōu)化其loss胸墙,而非必須改變cosine的距離。

2.2.換個(gè)角度看按咒,user向量?jī)?nèi)積post向量迟隅,再接sigmoid+cross entropy,如果把一邊當(dāng)作常量(實(shí)際計(jì)算偏導(dǎo)的時(shí)候励七,也是將一邊作為常數(shù))實(shí)際上就等價(jià)于LR智袭。例如,假設(shè)user_vec為L(zhǎng)R輸入掠抬,post_vec為L(zhǎng)R的weight吼野,則這個(gè)模型近似等價(jià)于最小化loss = floss( gsigmoid( user_input * weight1T)),其中weight1 = post_input * weight2T 两波,DNN學(xué)習(xí)的參數(shù)就是weight2部分瞳步,不過(guò)實(shí)際是更復(fù)雜的變換。而cosine+mse可以得到近似的表達(dá),但是cosine函數(shù)為x * weight/|x| * |weight|雨女,所以最終表達(dá)形式為:loss + lambda * ( weight1 -1)2 , lambda為拉格朗日乘子谚攒,可以類比為附加了個(gè)系數(shù)非常大的正則化項(xiàng),便很容易u(yù)nder fitting氛堕。

3.mse可能有梯度彌散問(wèn)題(PS:嘗試過(guò)將sigmoid+ce換成mse也能較好地?cái)M合馏臭,可能只是收斂慢一點(diǎn))

PS:由于由Cosine變化為Inner-Product,所以檢索的時(shí)候需要用不同于普通Cosine-Distance的檢索方式,詳細(xì)見(jiàn):Maximum Inner Product Search(MIPS)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末括儒,一起剝皮案震驚了整個(gè)濱河市绕沈,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌帮寻,老刑警劉巖乍狐,帶你破解...
    沈念sama閱讀 216,470評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異固逗,居然都是意外死亡浅蚪,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,393評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門烫罩,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)惜傲,“玉大人,你說(shuō)我怎么就攤上這事贝攒〉撂埽” “怎么了?”我有些...
    開(kāi)封第一講書人閱讀 162,577評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵隘弊,是天一觀的道長(zhǎng)哈踱。 經(jīng)常有香客問(wèn)我,道長(zhǎng)梨熙,這世上最難降的妖魔是什么开镣? 我笑而不...
    開(kāi)封第一講書人閱讀 58,176評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮串结,結(jié)果婚禮上哑子,老公的妹妹穿的比我還像新娘。我一直安慰自己肌割,他們只是感情好卧蜓,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,189評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著把敞,像睡著了一般弥奸。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上奋早,一...
    開(kāi)封第一講書人閱讀 51,155評(píng)論 1 299
  • 那天盛霎,我揣著相機(jī)與錄音,去河邊找鬼耽装。 笑死愤炸,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的掉奄。 我是一名探鬼主播规个,決...
    沈念sama閱讀 40,041評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了诞仓?” 一聲冷哼從身側(cè)響起缤苫,我...
    開(kāi)封第一講書人閱讀 38,903評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎墅拭,沒(méi)想到半個(gè)月后活玲,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,319評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡谍婉,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,539評(píng)論 2 332
  • 正文 我和宋清朗相戀三年舒憾,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片屡萤。...
    茶點(diǎn)故事閱讀 39,703評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡珍剑,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出死陆,到底是詐尸還是另有隱情,我是刑警寧澤唧瘾,帶...
    沈念sama閱讀 35,417評(píng)論 5 343
  • 正文 年R本政府宣布措译,位于F島的核電站,受9級(jí)特大地震影響饰序,放射性物質(zhì)發(fā)生泄漏领虹。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,013評(píng)論 3 325
  • 文/蒙蒙 一求豫、第九天 我趴在偏房一處隱蔽的房頂上張望塌衰。 院中可真熱鬧,春花似錦蝠嘉、人聲如沸最疆。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,664評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)努酸。三九已至,卻和暖如春杜恰,著一層夾襖步出監(jiān)牢的瞬間获诈,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 32,818評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工心褐, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留舔涎,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,711評(píng)論 2 368
  • 正文 我出身青樓逗爹,卻偏偏與公主長(zhǎng)得像亡嫌,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,601評(píng)論 2 353