訂閱
糾錯(cuò)
加入自媒體

碼隆科技提出跨越時(shí)空的樣本配對(duì),解決深度度量學(xué)習(xí)痛點(diǎn)

三、方法梗概

我們發(fā)現(xiàn),雖然在訓(xùn)練的前 3K iterations,mini-batch 過(guò)去的提取特征與當(dāng)前模型偏差很大,但是,隨著訓(xùn)練時(shí)間的延長(zhǎng),過(guò)去的迭代里所提取過(guò)的特征,逐漸展示為當(dāng)前模型的一個(gè)有效近似。我們要做的不過(guò)是把這些特征給存下來(lái),每個(gè)特征不過(guò)是 128 個(gè) float 的數(shù)組,即便我們存下了過(guò)去 100 個(gè) mini-batch 的特征,不過(guò)是6400個(gè)(假設(shè) batch size = 64)float 數(shù)組,所需要不過(guò)是幾十 MB 的顯存。而它帶來(lái)的好處是顯而易見的,我們能夠組成的樣本對(duì)的個(gè)數(shù)是僅僅利用當(dāng)前 mini-batch 的一百倍。即便這些特征不能高精準(zhǔn)地反映當(dāng)前模型的信息,但是只要特征偏移在合理的范圍內(nèi),這種數(shù)量上帶來(lái)的好處,可以完全補(bǔ)足這種誤差帶來(lái)的副作用。 具體來(lái)看,我們的 XBM 的方法架構(gòu)大致如下:

偽代碼如下:

我們的 XBM 從結(jié)構(gòu)上非常簡(jiǎn)單清晰。我們先訓(xùn)練一個(gè) epoch 左右,等待特征偏移變小。然后,我們使用 XBM:一個(gè)特征隊(duì)列去記憶過(guò)去 mini-batch 的特征,每次迭代都會(huì)把當(dāng)前 mini-batch 提取出來(lái)的新鮮特征加入隊(duì)列,并把最舊的特征踢出隊(duì)列,從而保證 XBM 里的特征盡量是最新的。每次去構(gòu)建樣本隊(duì)列的時(shí)候,我們將當(dāng)前 mini-batch 和 XBM 里的所有特征都進(jìn)行配對(duì)比較,從而形成了巨量的樣本對(duì)。如果說(shuō) XBM 存儲(chǔ)了過(guò)去 100 個(gè) mini-batch,那么其所產(chǎn)生的樣本對(duì)就是基于 mini-batch 方法的 100 倍。 不難發(fā)現(xiàn),XBM 其實(shí)直接和過(guò)去基于樣本對(duì)的方法結(jié)合,只需要把原來(lái)的 mini-batch 內(nèi)的樣本對(duì)換成當(dāng)前 mini-batch 和 XBM 的特征構(gòu)成的樣本對(duì)就可以了。所以,我們通過(guò) XBM 這種存儲(chǔ)特征的機(jī)制,能夠讓不同時(shí)序的 mini-batch 的特征成功配對(duì)。

四、實(shí) 驗(yàn)

消融實(shí)驗(yàn) ①

首先,我們?cè)谌齻(gè)常用的檢索數(shù)據(jù)集,和三個(gè)基于樣本對(duì)的深度學(xué)習(xí)的方法上,使用 XBM 進(jìn)行測(cè)試,同時(shí)控制其他的設(shè)置全部不變。我們發(fā)現(xiàn),XBM 帶來(lái)的效果很明顯。尤其是在最基本的對(duì)比損失(Contrastive Loss)上,可以看到,本來(lái)這個(gè)方法只利用 mini-batch 內(nèi)的樣本時(shí),其效果并不顯著,但是 XBM 帶來(lái)了顯著的效果提升。在三個(gè)數(shù)據(jù)集, Recall@1 都至少提升 10 個(gè)點(diǎn),尤其是 VehicleID 數(shù)據(jù)集的最大(Large)測(cè)試集,效果提升了 22 個(gè)點(diǎn),從 70.0 到 92.5。

消融實(shí)驗(yàn) ②

關(guān)于 mini-batch 的大小對(duì)結(jié)果的影響, 從上圖可發(fā)現(xiàn)三點(diǎn):1. 無(wú)論是否使用 XBM,mini-batch 越大,效果越好;2. XBM 方法即便是使用很小的 batch (16), 也比沒有XBM 使用大的 batch (256) 效果好;3. 由于 XBM 本身可以提供正樣本對(duì),所以可以不一定要用 PK sampler 來(lái)生成 mini-batch,而是可以直接使用原始的 shuffle sampler,效果相似。

五、計(jì)算資源消耗

下圖我們展示了在 SOP 上訓(xùn)練 XBM 時(shí)的計(jì)算資源消耗,即便把整個(gè)訓(xùn)練集(50K+)的特征都加載到 XBM,不過(guò)需要 0.2GB 的顯存;而如果是使用增大 batch 的方法,會(huì)額外需要 15GB 顯存,是 XBM 的 80 倍,但是效果的提升比 XBM 差很多。畢竟 XBM 僅僅需要存特征,特征也是直過(guò)去的 mini-batch 的前向計(jì)算的結(jié)果,計(jì)算資源的需求很小。

聲明: 本文由入駐維科號(hào)的作者撰寫,觀點(diǎn)僅代表作者本人,不代表OFweek立場(chǎng)。如有侵權(quán)或其他問(wèn)題,請(qǐng)聯(lián)系舉報(bào)。

發(fā)表評(píng)論

0條評(píng)論,0人參與

請(qǐng)輸入評(píng)論內(nèi)容...

請(qǐng)輸入評(píng)論/評(píng)論長(zhǎng)度6~500個(gè)字

您提交的評(píng)論過(guò)于頻繁,請(qǐng)輸入驗(yàn)證碼繼續(xù)

  • 看不清,點(diǎn)擊換一張  刷新

暫無(wú)評(píng)論

暫無(wú)評(píng)論

人工智能 獵頭職位 更多
掃碼關(guān)注公眾號(hào)
OFweek人工智能網(wǎng)
獲取更多精彩內(nèi)容
文章糾錯(cuò)
x
*文字標(biāo)題:
*糾錯(cuò)內(nèi)容:
聯(lián)系郵箱:
*驗(yàn) 證 碼:

粵公網(wǎng)安備 44030502002758號(hào)