三元組損失和度量學習
三元組損失教導神經網路在嵌入空間中將相似的項目靠近放置,並將不同的項目遠離放置。
概述
It is the foundation behind face recognition, image search, and recommendation systems that need to compare things rather than just classify them.
深入探討
度量學習訓練模型來產生嵌入,即距離反映相似性的向量。 Triplet loss 一次使用三個輸入來實現此目的:錨點、正值(與錨點相同的類別)和負值(不同的類別)。目標將錨點推向正值,而不是負值,至少有固定的幅度。形式上,損失為 max(0, d(a,p) - d(a,n) + margin),其中 d 通常是歐幾里德距離。 Google 的 2015 FaceNet 普及了這種方法,直接學習 128 維人臉嵌入。訓練完成後,您可以透過計算距離來比較任何兩個項目,新身分無需重新訓練。這種開放集能力就是度量學習能夠支援分類無法輕鬆處理的驗證和檢索任務的原因。
技術洞察
保證金是使三重態損失發揮作用的原因。如果沒有它,模型可能會輕易地將所有嵌入折疊到一個點,使每個距離為零並且排序毫無意義。保證金強制緩衝:在損失達到零之前,負值必須至少比正值更遠。嵌入通常是 L2 歸一化到單位超球面上,因此距離保持有界且可比較。選擇邊距(通常約為 0.2)需要權衡類別聚集的緊密程度與類別之間的分離程度。
戰略影響
更明確的決策
它可以幫助您將清晰的技術聲明與行銷語言分開。
成本與預算
在花費金錢或時間之前,您可以提出更好的實施問題。
團隊與工作流程
具有共同理解的團隊可以做出更好的產品、政策和學習決策。
Triplet Loss 與度量學習的未來
純三元組損失越來越多地被批次範圍的目標所取代,例如多重相似性、代理錨點和對比損失 (InfoNCE),這些目標每步都會比較許多對並更快地收斂。 SimCLR 等自我監督方法表明,透過將增強視圖視為積極因素,度量學習可以在沒有標籤的情況下發揮作用。隨著向量資料庫和檢索增強生成的激增,學習嵌入支撐了十億項規模的語義搜索,因此即使特定的三元組公式逐漸消失,距離相似性的核心思想也變得更加核心。
現實世界的實施
FaceNet 式人臉驗證:手機和護照門透過檢查兩個人臉嵌入是否在距離閾值內來確認身分。
視覺產品搜尋:電子商務網站允許購物者上傳照片並透過最近鄰嵌入查找來檢索視覺上相似的商品。
說話者驗證:語音助理嵌入語音樣本並與註冊的個人資料進行比較,以確認誰在說話。
簽名和手寫驗證:銀行嵌入參考和查詢簽名,並在距離超過學習範圍時標記偽造。
風險與防護欄
不同的團隊可能會以不同的方式使用相同術語,因此請儘早定義範圍。
基準測試可能看起來很強大,但實際效能卻參差不齊。
忽視數據品質和評估計劃通常會產生脆弱的結果。
實施路線圖
從您需要的結果的簡單語言定義開始。
在測試之前選擇一種成功指標和一種失敗條件。
使用代表性資料運行小型試點,而不是完善的演示集。
記錄 Triplet Loss 和 Metric Learning 在哪些方面有幫助,以及哪些更簡單的方法更好。
不斷探索
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 Triplet Loss and Metric Learning 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 Triplet Loss and Metric Learning?
三元組損失教導神經網路在嵌入空間中將相似的項目靠近放置,並將不同的項目遠離放置。它是人臉辨識、圖像搜尋和推薦系統背後的基礎,這些系統需要對事物進行比較,而不僅僅是對它們進行分類。
三元組損失中哪三個輸入構成三元組?
三元組由一個錨點、一個共享該錨點類別的正數和一個來自不同類別的負數組成。
為什麼三元組損失包括保證金條款?
如果沒有餘量,模型可以將所有內容映射到同一點,使所有距離為零並輕鬆滿足損失。邊緣迫使真正的分離。
2015 年哪個著名系統在人臉辨識中推廣了 Triplet Loss?
Google 的 FaceNet 使用三元組損失來學習緊湊的人臉嵌入,並為人臉驗證設定基準。
經過訓練的度量學習模型對每個輸入輸出什麼?
此模型將輸入映射到嵌入向量;然後,您可以透過測量項目嵌入之間的距離來比較項目。
為什麼度量學習非常適合新增面孔等開放集合問題?
由於識別是基於嵌入距離的,因此您只需儲存其嵌入即可註冊新身份,無需重新訓練模型。