從貪心選擇到探索決策:基於強化學習的多樣性排序
本文主要介紹發表在SIGIR2018上的論文
From Greedy Selection to Exploratory Decision-Making: Diverse Ranking with Policy-Value Networks這篇論文利用強化學習來解決多樣性排序問題,整體思路和AlphaGo類似。
- Motivation
在信息檢索領域一個重要的目標是提供可以覆蓋很多topic的檢索結果,也就是檢索結果的多樣性。簡單來說就是選擇候選文檔的一個最小子集,這個子集能夠儘可能多的包含subtopic。因為文檔是否新穎取決於已經選擇的文檔,因此這是個NP-hard的問題。一些傳統的方法都是把檢索多樣性看成是基於相關性和新穎性的一個排序問題,這些方法的核心是利用貪心來選擇文檔,每一次從候選集合中選擇一個文檔。貪心方法雖然可以加速在線排序,但是可想而知這種方法不可避免的會陷入次優解,因為它每次選擇只考慮局部信息,而文檔的「貢獻"(utility)並不是獨立的,是與其他文檔相關聯的,每次選擇一個文檔後都會改變候選集合中的剩餘文檔的utility,理想的解決方法是探索所有文檔的排序,但在實際應用中這顯然無法實現。得益於AlphaGo的成功,作者提出利用蒙特卡洛樹搜索(Monte Carlo tree search-MCTS)來改善MDP模型。新的模型 (MCTS enhanced MDP for Diverse ranking)利用一個MDP來對序列文檔的選擇進行建模,在每次進行選擇時,將query和已有文檔送給RNN來產生policy和value,policy用來進行文檔的選擇而value用來估計整體文檔排序的質量,比如 。為了防止次優解,作者使用MCTS來探索每個位置的可能的文檔排序,由此產生一個對於當前選擇的更好的policy。因為MCTS探索了更多未來可能的文檔,它給出的policy有更大的概率產生全局最優解。當有了更好的policy後,模型通過最小化loss function來進行調整。
2. MDP和MCTS
馬爾可夫決策過程(MDP)是建模序列決策的一個框架,關鍵部分為States,Action, Policy, Transition和Value。具體的,States 是狀態的集合,在文章中作者定義狀態為query、已有文檔排序和候選文檔的三元組;Action 是agent可以執行的離散動作集合,可選的動作會依賴於狀態s,記為 ; Policy 描述agent的行為,它是所有可能動作的一個概率分布,通過最大化長期回報進行優化;Transition 是狀態轉移函數 ,也就是根據動作 將狀態 映射為 ;Value 是狀態值函數 ,用來預測當前基於policy p下狀態s的長期回報。MDP模型中agent和環境在每個時刻 進行交互,在每個時間步 agent接收環境的狀態 ,然後選擇一個動作 ,之後 agent進入一個新的狀態 ,強化學習的目標是最大化長期回報,也就是最大化Value 。
通過MDP做的決策(根據policy選擇置信度最大的動作)可能會陷入次優解,理論上我們應該探索所有的決策空間來得到全局最優解,但是這是不現實的。MCTS就是在決策空間中進行啟發式的搜索,這樣更容易產生比貪心更好的決策序列。給定時刻 ,policy 以及值函數 ,MCTS的目標是找到一個「加強版」的策略來進行更好的決策。MCTS包含四個過程,分別是Selection,Expansion,Simulation/Evaluation 和 Back-propagation。Selection是從根節點開始,遞歸的選擇一個最優子節點直到到達葉子節點;Expansion 指如果 不是一個終止節點,那麼為 創建子節點並且根據policy選擇一個子節點 ;Simulation/Evaluation 是從 進行一次模擬直到結束。在AlphaGo Zero中使用值函數代替模擬來加速樹的搜索。Back-propagation來更新當前序列中的每個節點裡的數值。MCTS最終輸出一個policy ,這個策略用來在 時刻選擇動作。MCTS會持續的進行,直到完整的episode生成為止。
3. Algorithm
這一部分介紹 模型,模型整體如圖