推薦系統里真的存在“反饋循環”嗎?
許多人說,推薦算法不過是把用戶早已存在的興趣挖掘出來,你本來就愛聽流行歌、買潮牌玩具,系統只是在合適的時間把它們端到你面前,再怎么迭代,算法也改變不了人的天性,反饋循環像是研究者們的學術噱頭。
我第一次認真思考這個問題的時候,是為了搞清楚推薦系統里的偏差放大(Bias Amplification)效應。
何向南的這個圖示強調了推薦系統的偏差(曝光偏差、流行度偏差等)會在后續迭代中被連鎖放大,最終表現為熱門更熱門、冷門愈冷門的馬太效應,或其他不公平問題。
若不打破偏差的循環放大機制,推薦系統的性能就會持續惡化。
不少研究都認識到,在推薦服務階段通過強化學習平衡探索與利用,以避免流行度偏差過度積累。
“試錯”是強化學習探索與利用權衡中的一個核心理念,描述了推薦系統與用戶進行交互并迭代更新策略的過程。
試錯時,推薦策略會進行探索性的推薦,根據用戶反饋來評判探索效果。隨著時間的推移,探索行為能夠試驗出哪些項目能給帶來更高的用戶滿意度,作為推薦策略更新的依據。
這是強化推薦算法與傳統推薦算法相比的主要優勢之一,它考慮到了推薦問題的交互性。
我們可以提煉出,在試錯過程中,用戶和推薦模型之間存在著一個反饋循環(Feedback Loop)。還是用何向南的圖例來說明,推薦系統中的反饋循環包括三個階段。
- 從用戶到數據集。這一階段系統收集用戶與推薦系統的交互數據,例如點擊行為、用戶對項目的評分等等。
- 從數據集到推薦系統。這一階段基于收集到的交互數據,從用戶的交互歷史中提煉用戶偏好,然后學習推薦策略用來根據偏好預測用戶可能采用的項目。
- 從推薦系統到用戶。這一階段推薦策略會將推薦結果以Top-N的形式展示給用戶,以滿足用戶的信息需求。
用戶和推薦系統在每個反饋循環中相互促進,用戶的個人興趣和行為通過推薦不斷轉移。對反饋循環進行建模,是強化學習推薦系統的重要基礎之一。