Softmax 訓練

上一頁說明如何將 softmax 層整合到 評估系統採用的類神經網路本頁面將進一步說明 訓練資料

訓練資料

softmax 的訓練資料由查詢功能 \(x\) 和 使用者互動項目的向量 (以 機率分佈 \(p\))。在 如下圖所示模型的變數是權重 不同層次的學習路徑這些項目在下列項目中標示為橘色 圖表上我們通常會使用 隨機梯度下降法

醒目顯示 softmax 深層類神經網路訓練的圖片

負取樣

由於損失函式會比較兩個機率向量 \(p, \hat p(x) \in \mathbb R^n\) (真值和 會分別計算模型的輸出內容 (單一查詢 \(x\)) 的損失梯度 如果語料庫規模過大 \(n\) ,則過於昂貴。

您可以設定一個系統,只計算陽性項目的梯度 (真值向量中有效的項目)。不過,如果系統 只對正對表示訓練時,模型可能會因折疊 的說明。

摺疊
一張飛機的圖片,圖中有 3 組代表查詢的正方形群組,以及代表商品的圓形。每個群組都有不同的顏色,查詢只會與同一個群組中的項目互動。 在下圖中,假設每種顏色代表的 查詢和項目的分類每個查詢 (以正方形表示) 大多會與相同顏色的項目 (以圓圈表示) 互動。 舉例來說,在 YouTube 中,每個類別都是不同的語言。 一般使用者大多會與某種特定語言的影片互動。

模型可能會學習如何將指定的查詢/項目嵌入 顏色之間的相對關係 (正確擷取 但不同顏色的嵌入最終可能位於同一區域 可能性地降低了這種現象 視為「摺疊」,則可能在查詢時提供錯誤建議: 模型可能會錯誤地從 另一個則是不同群組

負面示例是指標示為「不相關」的項目套用至某個查詢的結果 訓練期間呈現模型負向範例,幫助模型學習 不同群組的嵌入也必須彼此離去

與其使用所有項目來計算漸層 (可能也可以 成本高昂),或只使用正面項目 (這樣模型更有機會 折疊式網頁),可以使用負取樣。更精確地說 ,請運用下列項目近似漸層:

  • 所有正面項目 (出現在目標標籤中的項目)
  • 排除項目範例 (\(j\) 單位: \({1, …, n}\))

負面資訊取樣策略有不同的策略:

  • 兩者可以一致取樣。
  • 您可以設定較高的項目 j 機率較高的項目 <分數> \(\psi(x) . V_j\)。這些是直觀的範例 對漸層的貢獻最大);這些例子通常 稱為「硬式負向」

矩陣分解與 softmax

DNN 模型可解決許多矩陣分解的限制,但這類模型通常 訓練和查詢的成本較高下表摘要列出部分 這兩種模式之間的重大差異

矩陣分解 Softmax DNN
查詢功能 零件不簡單。 可以加入。
冷啟動 不易處理斷言 查詢或項目部分經驗法則可用於 新查詢、相似查詢的平均嵌入)。 輕鬆處理新查詢。
摺疊 摺疊方式可以輕鬆減少 調整 WALS 中未觀察到的權重 容易摺疊,需使用 例如負面抽樣或重力
訓練擴充性 輕鬆擴充至超大 (可能多達數億個或更多),但前提是 輸入矩陣是稀疏的 難以擴充至極大 語料庫有些技巧的用途包括雜湊、 排除取樣等等
提供擴充性 嵌入 U、V 是靜態的 且一組候選文字可供預先運算及儲存。 項目嵌入 V 為靜態 可以儲存

查詢嵌入通常會 因此,模型的成本較高 放送。

摘要說明:

  • 對大型語料庫而言,矩陣分解通常是更好的選擇。 更容易擴充規模、查詢成本較低,且較不容易折疊。
  • DNN 模型能更準確地擷取個人化偏好 較難訓練,查詢成本也較高建議使用 DNN 模型 將用於評分的矩陣分解,因為 DNN 模型能 進而進一步掌握關聯性此外,通常 我們非常重視 DNN 模型的發展 為具有相關性預先篩選過的一組候選廣告進行排名。