這是一篇名為 <a href=" A Hybrid Temporal-Aware Attention Architecture for Long Behavior Sequential Recommendation</a> 的研究論文的簡明英文摘要。如果你喜歡這類分析,請加入 <a href=" 或關注我們 <a href=" <h2>不可能的權衡</h2> <p>多年來,任何建立推薦系統的人都面臨著一個真正的困境。用戶行為序列可以延伸到數千或數萬次互動。理解這段歷史需要回答一個看似簡單的問題:考慮到用戶之前所做的一切,我們應該推薦什麼?</p> <p>標準方法使用 softmax 注意力,這是一種計算當前時刻與每一個過去互動之間詳細比較的機制。在數學上它是優雅的,運作得非常好。但計算成本隨著序列長度的平方增長。在 10,000 次互動時,你大約需要進行 1 億次比較才能做出一次推薦。將這個擴展到數百萬用戶和每秒數千次推薦,你的基礎設施成本將變得無法承受。</p> <p>因此,從業者妥協了。他們轉向線性注意力機制,將計算複雜度從平方降低到線性。數學上這很巧妙,速度提升也是真實的。問題是:這種速度是有代價的。這些機制保持一個運行的 "狀態",隨著每次新的互動而更新,但這個狀態的容量有限。就像一位圖書管理員只能在小夾板上記下粗略的模式,而無法查閱完整的記錄。你失去了識別特定行為序列以指示用戶意圖所需的精確度。
這種權衡定義了這個領域。高效的方法犧牲了準確性。精確的方法犧牲了速度。而最受影響的用戶是那些擁有超長序列的用戶,即擁有最有趣行為的重度用戶和高參與者。
HyTRec 背後的研究人員目睹了這一過程,並提出了一個不同的問題:如果這實際上不是一個需要單一解決方案的問題呢?
用戶實際的思維方式
這一見解始於對用戶偏好實際運作方式的簡單觀察。你有兩種根本不同類型的偏好信號,它們在完全不同的時間尺度上運作。
你的長期穩定偏好來自深厚的歷史。如果你在兩年內點擊了 500 次科技小工具,這是你喜歡科技的強有力證據。這種偏好每週不會有太大波動。重要的是,你不需要這 500 次互動中的每一個來理解這一模式。你可以從其中的 50 次,甚至從一個粗略的統計摘要中學到同樣的東西。對這種信號的近似幾乎不會損失任何東西。
你的短期意圖激增來自最近的行為。如果你在過去兩小時內點擊了三件冬季外套,你現在正在購買外套。這種信號是脆弱的。如果你將其與幾個月前的數千次其他互動進行平均,很容易就會錯過。但它對你在接下來五分鐘內的行為預測非常準確。
這些不僅在程度上不同,在性質上也不同。一個是穩定的,可以容忍近似。另一個是波動的,需要精確。然而,現有的方法試圖用單一的注意力機制來處理這兩者,必然會在一者的優化上犧牲另一者。
混合解決方案
優雅的做法是停止嘗試建立一個能做所有事情的機制。相反,將工作分開,以反映用戶實際的瀏覽方式。
該架構運行兩條平行路徑。在第一條路徑中,你的整個歷史序列,即使它包含過去六個月的 9,000 次互動,也會通過一個線性注意力分支。這個分支不需要精確。它正在建立對你整體品味類別的廣泛理解。因為它使用線性注意力,所以它的完成時間與序列長度成正比,而不是序列長度的平方。它很快。
在第二條路徑中,你最近的互動,可能是過去兩週的 1,000 次,會通過一個 softmax 注意力分支。這個分支可以承擔高昂的成本,因為它操作的是一小部分數據。它生成你現在可能想要的精確表示。你正在進行昂貴的計算,但在一個小窗口上。
每個分支都生成一個 "我們應該推薦什麼" 的表示。然後,架構智能地將它們結合起來。你恢復了 softmax 注意力的精確性,同時保持了線性注意力的速度,因為每個分支現在都在其適當的領域內運作。
HyTRec 在兩個專門的注意力機制之間分割長用戶行為序列,允許穩定的偏好和最近的意圖激增獨立處理。
這不是一個小的調整。計算複雜度在序列長度上保持線性,同時操作的序列長度是以前方法能有效處理的 10 倍。但架構中隱藏著一個陷阱。
讓最近的信號變得重要
混合系統的挑戰在於線性注意力分支已經看到了數千次互動。softmax 分支則看到了數百次。從數量上看,線性分支的信號更響亮。但在推薦中,最近性比數量更重要。今天的一次點擊比六個月前的一次點擊更能告訴你某人想要什麼。
如果你平等對待這兩個分支,陳舊的數據會淹沒新鮮的數據。你解決了計算問題,但創造了一個響應問題。
解決方案稱為時間感知增量網絡,或 TADN。這個機制做了一件簡單的事情:動態地提高新行為信號的權重,同時抑制歷史噪音。
想像一個閘控機制,詢問序列的每個部分:"你有多老?" 新的互動獲得更高的權重。舊的互動獲得較低的權重。這不是在固定的時間表上發生的,而是從數據中學習的。網絡發現模式,例如:"對於這個用戶,行為模式每幾天就會改變,因此一週以上的互動應該以半強度加權。"
如果沒有 TADN,混合系統會隨著用戶偏好的變化而做出越來越陳舊的推薦。有了它,系統保持對變化的響應性。最近的信號自然對推薦有更大的影響,但網絡學習到對每個用戶和互動類型來說,多少影響是合理的。
現實世界的結果
研究人員在實際用戶行為序列延伸到每個用戶數萬次互動的龐大數據集上測試了 HyTRec。這不是乾淨的學術數據,而是生產規模的混亂。
在速度方面,結果很重要。HyTRec 維持線性推理複雜度。將序列長度加倍,推理時間大約加倍。它不會像 softmax 注意力那樣四倍增長。在 10,000 長度的序列中,這一差異決定了你是否可以在 50 毫秒內或 5 秒內進行推薦。在一個服務數百萬用戶的平台上,這一差異是可行與不可能之間的界限。
...