主要應(yīng)用在模型召回階段,學(xué)習(xí) query({user, context}) 和 item 的 embedding 表示沃暗,然后通過 query 和 item 的 embedding 內(nèi)積進(jìn)行打分翼雀。
論文主要提出了2點新思路:
- Batch Softmax
- Streaming Frequency Estimation
1. Batch Softmax
召回問題可以看成一個多分類問題场躯,給定 query x
堪侯,M
個 items 中 y
的概率可以采用 softmax 進(jìn)行計算:
其中 , 為將 query 和 item 映射成 embedding 的參數(shù)苦酱。
但是在現(xiàn)實中,M 往往非常大给猾,這樣直接計算 softmax 不現(xiàn)實疫萤,于是提出了 batch softmax:
其中, 為一個 mini-batch敢伸。
這樣直接計算會帶來 large bias扯饶,于是對 的計算進(jìn)行了改進(jìn):
其中 為 item j
的被采樣到該 batch 的概率。
2. Streaming Frequency Estimation
在固定的 item vocabulary 情況下池颈,我們可以直接對 進(jìn)行計算尾序,但是不能對變化的數(shù)據(jù)流進(jìn)行計算。
對于流數(shù)據(jù)的頻率估計躯砰,在不考慮哈希沖突的情況下每币,采用如下算法:
注:A[h(y)] 記錄 item
y
最近被采樣到的步驟 ,B[h(y)] 記錄的是 item y
被兩次采樣到的平均間隔步驟的估計值琢歇。
考慮哈希沖突的改進(jìn)算法:
不同點在于取了 m 個估計結(jié)果的最大值兰怠。