技術指南

在線和硬負數挖掘

硬負挖掘選擇資訊最豐富、難以區分的範例進行訓練,而不是將精力浪費在模型已經正確的簡單範例上。

閱讀時間約2分鐘最後更新

概述

It is the trick that makes metric learning and object detection converge fast and accurately.

深入探討

當使用三元組或對比損失進行訓練時,大多數隨機採樣的負樣本已經遠離錨點,因此它們產生零損失並且沒有梯度,訓練停止。負面挖掘透過選擇硬負面來解決這個問題:錯誤地接近錨點的範例。在離線挖掘中,您需要定期掃描資料集來查找這些數據,但這種方式速度很慢並且會變得陳舊。在線挖掘在每個小批量中動態計算它們:在前向傳遞之後,您查看批量中的所有成對距離並選擇最難的違規者。 FaceNet引入了半硬挖掘,選擇比正值更遠但仍在邊緣內的負值,避免了絕對最難的負值在訓練早期可能導致的不穩定。

技術洞察

在線挖掘利用您已經計算的批次。透過 B 嵌入,您基本上可以免費獲得 B×B 距離矩陣,因此您可以每步評估大量候選三元組。批量硬挖掘為每個錨點選擇批次中最遠的正值和最近的負值。相反,半硬挖將負數限制在正距離和正距離加上餘裕之間,產生非零但穩定的梯度。較大的批次會提供更豐富的硬候選池,這就是為什麼批次大小強烈影響度量學習品質的原因。

戰略影響

成本與預算

多年來,架構決策決定著效能和營運成本。

更明確的決策

技術教育幫助團隊選擇正確的堆疊,而不僅僅是最新的堆疊。

品質管控

更好的工程選擇可以減少生產中的可靠性事故。

在線和硬負挖掘的未來

訓練困難的原則現在推動了對比自監督學習,其中大型批內負池(以及像 MoCo 這樣的記憶庫)在沒有標籤的情況下提供困難的比較。研究人員正在完善負面的難度,因為太難的負面往往會被貼錯標籤或幾乎與正面重複,從而破壞訓練。期望模型本身產生更聰明、具有不確定性感知的挖掘和合成硬否定,以及與從真實用戶查詢中挖掘硬否定的檢索系統更緊密的整合。

現實世界的實施

人臉辨識訓練:FaceNet 使用半硬線上挖掘來學習區分相似個體的嵌入。

物件偵測:SSD 和類似的偵測器應用硬負挖掘來平衡大量的簡單背景框和稀有物件框。

密集段落檢索:搜尋和 RAG 系統挖掘看似相關但實際上並不相關的硬負面文檔,從而提高檢索器的效能。

推薦系​​統:對使用者未點擊但與點擊的項目相似的項目進行建模,從而在口味上進行更精細的區分。

風險與防護欄

優化一項基準測試可以隱藏更廣泛的系統弱點。

基礎設施和維護成本常常被低估。

隨著系統變得更加複雜,安全性和可觀察性差距可能會擴大。

實施路線圖

1

在實施之前定義延遲、品質和成本目標。

2

在實際負載和資料條件下進行基準測試。

3

儀器監控錯誤、漂移和使用者影響。

4

在擴展之前準備回滾和事件回應路徑。

不斷探索

Free newsletter

Get the daily AI briefing

Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.

One email each weekday. Unsubscribe in one click. We never sell or share your address.

Test yourself

Take the Online and Hard Negative Mining quiz

Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.

開始測驗

Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation

下一步指南

線上和線下功能服務偏差

常見問題

What is Online and Hard Negative Mining?

硬負挖掘選擇資訊最豐富、難以區分的範例進行訓練,而不是將精力浪費在模型已經正確的簡單範例上。正是這個技巧使度量學習和目標檢測快速且準確地收斂。

為什麼大多數隨機採樣的負樣本在三重態損失中提供的訓練訊號很少?

簡單的負數遠遠超出了邊界,已經滿足了損失,基本上沒有貢獻梯度,因此訓練停止。

線上挖礦和離線挖礦有什麼區別?

在線挖掘每一步都會計算當前批次內的成對距離,而離線挖掘會定期掃描整個資料集,並且可能會過時。

FaceNet 中定義的「半困難」底片是什麼?

半困難負樣本比正樣本距離錨點更遠,但仍落在邊緣內,從而提供有用、穩定的梯度,而不會出現絕對最困難情況的不穩定。

在批次硬挖中,為每個錨點選擇哪個負數?

批量硬挖選擇最困難的情況:對於每個錨點,它採用批次中最遠的正值和最近的(最令人困惑的)負值。

為什麼較大的批量大小往往會改善挖掘的度量學習結果?

較大的批次會產生更大的成對距離矩陣,因此有更多的候選負數可以從每個步驟中挖掘最困難的。