技術指南

負取樣與雜訊比較估計

負取樣和雜訊對比估計 (NCE) 是讓模型學習大量詞彙的技巧,而無需計算昂貴的完整 softmax。

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

概述

他們不是給所有可能的輸出評分,而是教模型從少數假(負)例子中分辨真實(正面)範例。

深入探討

當詞彙表有數十萬個單字時,普通的 softmax 必須對每個訓練步驟的每個單字進行歸一化——太慢了。噪声对比估计将问题重新构建为二元分类:给定目标和从已知分布中提取的一些“噪声”样本,学习将真实样本与噪声区分开,这会隐式恢复所需的概率,而无需显式归一化。负采样由 word2vec 的 Skip-Gram 模型普及,是一个简化的表亲:对于每个真实(单词、上下文)对,它会采样 k 个负样本,并使用 sigmoid 目标训练模型,为真实对分配高分,为假对分配低分。兩者都將昂貴的多類問題轉化為許多廉價的二元問題,使大規模嵌入訓練變得可行。雜訊分佈的選擇(通常是一元組的 3/4 次方)會嚴重影響品質。

技術洞察

NCE 通过对数据与噪声进行分类来估计模型,并且随着噪声样本数量的增加,它可以证明通过适当的归一化 softmax 来近似最大似然。負採樣完全放棄了 NCE 的歸一化項,優化了 log σ(正分數) + Σ log σ(−負分數)。這使得它更快,但不再是一致的密度估計器——它是為了學習良好的嵌入而不是校準機率而調整的。從平滑的一元分佈(頻率^0.75)中取樣負數可以平衡常見詞和罕見詞。

戰略影響

成本與預算

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

更明確的決策

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

品質管控

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

負採樣和噪音對比估計的未來

核心思想——通过对比正样本和负样本来学习——现在支撑着现代视觉、语言和推荐的自我监督和对比表征学习。未来的工作重点是硬负例挖掘(选择信息丰富的负例而不是随机负例)、消除假负例的偏差,以及通过大型内存库或批量采样以低廉的成本缩放负例。隨著模型的成長,只要輸出空間或候選集龐大,例如檢索和大規模推薦器,有效的取樣目標仍然至關重要。

現實世界的實施

word2vec Skip-gram,具有負採樣功能,可以從數十億個標記中學習單字嵌入,而無需完整的 softmax。

歷史上,語言模型使用 NCE 來有效地訓練數十萬個單字的詞彙。

推薦和檢索系統對使用者未與之互動的「負面」項目進行採樣,以訓練兩塔嵌入模型。

使用負樣本來學習實體關係的圖和知識圖嵌入(例如,破壞三元組的頭部或尾部)。

風險與防護欄

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

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

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

實施路線圖

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 Negative Sampling and Noise Contrastive Estimation 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

下一步指南

在線和硬負數挖掘

常見問題

什麼是負取樣與噪聲對比估計?

負取樣和雜訊對比估計 (NCE) 是讓模型學習大量詞彙的技巧,而無需計算昂貴的完整 softmax。他們不是對每一個可能的輸出進行評分,而是教導模型從一些假(負)例子中區分真實(正)例子。

負採樣和NCE主要解決什麼問題?

這兩種方法都透過將訓練重新定義為更便宜的二元歧視來避免對大量詞彙進行標準化。

噪音對比估計如何重構學習任務?

NCE 訓練模型以區分真實樣本和從已知噪音分佈中提取的樣本。

哪一種模型普及了用於學習詞嵌入的負採樣?

負採樣是由 word2vec 的 Skip-gram 變體引入並普及的。

負採樣與完全 NCE 有何不同?

負採樣透過消除標準化、用機率正確性換取速度和良好的嵌入來簡化 NCE。

為什麼負數經常從一元分佈的 3/4 次方中取樣?

0.75 指數平滑了頻率分佈,因此常見單字不會占主導地位,罕見單字仍然會出現。