本文主要貢獻如下:
(1)對電商搜尋場景中的多步排序問題進行形式化描述,定義搜尋會話馬爾科夫決策過程問題模型(Search Session Markov Decision Process, SSMDP);
(2)從理論上分析 SSMDP 的性質,並證明累積獎賞最大化對於多步排序問題的必要性;
(3)提出全新的策略梯度演算法 Deterministic Policy Gradient with Full Backup Estimation(DPG-FBE),解決了 SSMDP 中獎賞值方差較大以及獎賞分佈高度不平衡的問題。
一. 背景
在任何一個電商平臺中(如:淘寶、亞馬遜等),商品搜尋都是一項基礎性的服務。使用者通過商品搜尋引擎對目標商品進行搜尋、瀏覽、比較,進而選取自己滿意的商品購買。本文關注商品搜尋場景中對商品進行打分排序的問題。具體地,商品排序問題可以從一個搜尋會話中使用者與搜尋引擎之間互動的角度來進行描述:(1)使用者進入搜尋引擎,輸入 query;(2)對候選商品進行打分排序,並從中選取分數最高的前 K(比如:K=10)個商品進行展示;(3)使用者在商品展示頁面上進行瀏覽、點選、購買、翻頁等操作;(4)當使用者選擇翻頁時,搜尋引擎將對未展示商品進行重新排序,然後又展示分數最高的前 個商品;(5)這一過程將持續進行下去直到使用者退出搜尋會話(比如:發生購買或者放棄搜尋)。
使用者在搜尋會話中的操作(比如:點選商品)是反映使用者對商品偏好的訊號。從統計的角度來看,這些訊號可以用來學習排序打分函式,使得使用者更喜愛的商品(比如:點選率更高的商品)能夠有更高的排序分數或次序。Learning to Rank(LTR)方法正是基於這樣的思想而提出。早期基於監督學習的 LTR 方法大致可以分為 Point-wise LTR、Pair-wise LTR 以及 List-wise LTR。最近十多年,線上學習的理論模型和技術也被很多研究者將引入到 Learning to Rank 領域中,使得一系列 Online LTR 方法被相繼提出,如:BatchRank [1]、 CascadeKL-UCB [2]、RankedExp3 [3] 等。
儘管 LTR 研究領域蓬勃發展,但現有的 LTR 方法基本上都無法直接用於電商搜尋場景中的商品排序問題。其原因在於,同一個搜尋會話中的不同排序決策之間是存在一定相關性的。舉一個直觀的例子,使用者在一頁一頁瀏覽商品時,看過的商品必然會對使用者如何看待後續頁面上的商品產生影響。然而,現有的 LTR 方法並沒有考慮這種相關性,對每一個排序決策步驟均獨立看待。為了利用這種同一搜尋會話中不同排序決策步驟之間的相關性,本文提出將強化學習(Reinforcement Learning)應用於商品排序問題中,並考查最大化累積獎賞這種機制在其中的具體作用。本文接下來的內容包括對商品排序問題的形式化建模、理論分析、新型演算法設計以及實驗結果。
二. 搜尋排序問題形式化
如前所述,在淘寶、天貓等電商平臺的商品搜尋場景中,對商品的打分排序是一個多步順序決策問題。本節將提出搜尋會話馬爾科夫決策過程模型(Search Session Markov Decision Process, SSMDP),作為對搜尋排序問題的形式化定義。在此之前,我們通過手機淘寶中具體的例子複述使用者和搜尋引擎之間的會話過程,加強直觀感受。
圖 1. 手機淘寶中搜尋會話示意圖
如圖所示,使用者和搜尋引擎之間的搜尋會話過程為:
(1)使用者在手機淘寶的搜尋框中輸入「可樂」作為 query,並點選「搜尋」按鈕。 (2)搜尋引擎執行一次商品排序,並展示第一個可樂商品頁面。
(3)使用者瀏覽第一個商品展示頁,並點選其中某些商品進入詳情頁。
(4)使用者發現並沒有滿意的商品,於是向下滑動手機螢幕,提出翻頁請求。
(5)搜尋引擎接到翻頁請求,執行第二次商品排序,並展示第二個可樂商品頁面。 (6)經過若干次這樣的「翻頁-排序-瀏覽」回合,搜尋會話將最終在使用者購買某個可樂商品或者放棄瀏覽時結束。
2.1 搜尋排序問題建模
我們首先對搜尋會話過程中的上下文資訊和使用者行為進行建模,定義商品頁、商品頁歷史、成交轉化率等概念,它們是定義狀態和狀態轉移關係的基礎。
定義 1. [Top K List]
給定商品集合 D,排序函式 f,以及一個正整數,關於 D 和 f 的 top K list,記為 ,是用函式f對 D 中商品進行打分以後的前 K 個商品的有序列表。其中,是排在第 k 位的商品(),並且對於任意,都有。
定義 2. [Item Page]
令 D 為關於某個 query 的商品全集,為一個頁面能夠展示的商品數量。對於一個搜尋會話的任意時間步 t (),其對應的 item page 是關於的第(t-1)步的打分函式 和未展示商品集合 的 top K list 。對於初始時間步 t = 0,有。對於其他任意時間步 ,有 。
定義 3. [Item Page History]
令 q 為一個搜尋會話的 query。對於初始時間步 t = 0,對應的初始 item page history 為 。對於任意其他時間步 ,對應的 item page history 為。在這裡,為第(t - 1)步的 item page history,為第 t 步的 item page。
對於任意時間步驟 t,item page history 包含了使用者在 t 時刻能夠觀察到的所有上下文資訊。由於商品全集 D 是一個有限集合,不難發現一個搜尋會話最多包含 個 item page。對於搜尋引擎來講,它在一個搜尋會話中最多決策 次。根據我們之前的資料分析,不同的使用者會在不同的時間步上選擇購買或者離開。如果我們把所有使用者看作一個能夠取樣出不同使用者行為的 environment,就意味著這個 environment 可能會在任意時間步上以一定的成交轉化概率(conversion probability)或者放棄概率(abandon probability)來終止一個搜尋會話。我們形式化定義這兩種概率如下。
定義 4. [Conversion Probability]
對於一個搜尋會話中的任意 item page history ( t > 0 ),令 表示使用者在觀察到 之後發生購買行為的隨機事件,則 的 conversion probability,記為 ,就是事件 在 下發生的概率。
定義 5. [Abandon Probability]
對於一個搜尋會話中的任意 item page history ( t > 0 ),令 表示使用者在觀察到 之後離開搜尋會話的隨機事件,則 的 abandon probability,記為 ,就是事件 在 下發生的概率。
由於 是在(t - 1)時刻的 item page history 上執行動作 的直接結果,因此 和 也表徵了 Agent 在 上執行動作 之後環境狀態的轉移:(1)以 的成交概率終止搜尋會話;(2)以 的離開概率終止搜尋會話;(3)以 的概率繼續搜尋會話。方便起見,我們對使用者繼續進行搜尋會話對概率也進行形式化描述。
定義 6. [Continuing Probability]
對於一個搜尋會話中的任意 item page history ( t > 0 ),令 表示使用者在觀察到 之後繼續停留在會話中的隨機事件,則 的 continuing probability,記為,就是事件 在 下發生的概率。
顯然,對於任意 item page history h,都有成立。特殊地,對於初始 item page history 來講,是一個必然事件(即)。這是因為在第一個 item page 展示給使用者前,不可能存在成交轉化事件和離開事件。
2.2 搜尋會話馬爾科夫決策過程
基於上面定義的幾個概念,我們可以定義 search session MDP(SSMDP)如下:
定義 7. [Search Session MDP]
令 q 為某個 query,D 為和 q 相關的商品全集,K 為一個頁面可展示的商品數量,關於 q、D 和 K 的 search session MDP 是一個元組,記為。該元組中的每個要素分別為:
為搜尋會話最大決策步數,
為關於 q 、D 和 K 的所有可能的 item page history 的集合,其中 為 t 時刻所有可能 item page history 的集合,
為狀態空間,是包含所有的繼續會話事件的非終止狀態集合(nonterminal state set),和分別是包含所有成交轉化事件和離開事件的終止狀態集合(terminal state set),
A 為動作空間,包含搜尋引擎所有可能的排序打分函式,
為獎賞函式,
為狀態轉移函式,對於任意時間步、任意 item page history 和任意動作 ,令 ,則 agent 在狀態 上執行動作 a 後,環境轉移到任意狀態 的概率為
在一個 Search Session MDP 中,Agent 是搜尋引擎,環境是所有可能使用者共同構成的總體。環境的狀態表徵了使用者總體在對應 item page history 下的動向(繼續會話、成交或離開)。動作空間 可以根據任務需要進行設定(例如:離散的動作空間或連續的動作空間)。環境狀態的轉移則直接基於我們之前定義的成交轉化概率(conversion probability)、放棄概率(abandon probability)以及繼續會話概率(continuation probability)。獎賞函式與具體的任務目標高度相關,我們將在下一節進行討論。
2.3 獎賞函式
在一個 Search Session MDP 中,獎賞函式 R 是對每個狀態下的每個動作的即時效用的量化評估。具體地,對於任意的非終止狀態 ,任意動作 ,以及任意其他狀態 ,表示在狀態 s 中採取動作 a,並且環境狀態轉移到 s' 的情況下,Agent 從環境獲得的即時獎賞期望。因此,在搜尋排序問題中,我們必須將使用者在每個商品展示頁面的反饋資訊(翻頁、點選、購買等)轉化為學習演算法能夠理解的獎賞值。
在 online LTR 研究領域,使用者的點選反饋被廣泛用作定義獎賞值的基礎 [1,4,5]。然而,在電商場景中,買家和賣家之間的成功交易要比使用者點選更加重要。基於阿里巴巴讓天下沒有難做的生意的使命,也就是,我們定義的獎賞函式將盡可能多地促進使用者與賣家之間的交易。對於任意時間步 、任意 item page history 和任意動作 ,令 。在觀察到 item page history ,使用者將以 的平均概率購買商品。儘管不同的使用者會選擇不同的商品進行購買,但從統計的角度來看,在 上發生的成交轉化事件對應的商品成交價格必然會服從一個特定的分佈。我們用 表示 item page history 的成交價格期望,則 agent在狀態 上執行動作 a 並且環境轉移到任意狀態 的獎賞定義如下:
在這裡, 為 上發生的成交轉化事件對應的終止狀態。從我們的獎賞函式定義可以看到,Agent 只有在成交發生時才能從環境獲得正的獎賞。在其他情況下,Agent 獲得的獎賞值都是零。需注意,任意 item page history 的成交價格期望通常是未知的。在具體應用中,我們可以用每一次的實際成交價格作為對應成交事件的獎賞訊號。
三. 理論分析
在將 Search Session MDP 模型進行實際應用之前,我們需要對一些細節做出說明。本節將首先證明 Search Session MDP 的狀態具有馬爾可夫性質,以證明該理論模型是良定義的。然後我們將在上一節給出的獎賞函式的基礎上對摺扣率進行理論分析,證明在搜尋排序問題中最大化長期累積獎賞的必要性。
3.1 馬爾可夫性質
上一節定義的 search session MDP(SSMDP)可以看作是 MDP 模型的一個例項,但要保證 SSMDP 是良定義的,我們需要證明 SSMDP 中的狀態都具有馬爾可夫性質(Markov Property)。馬爾可夫性質指的是對於任意的狀態動作序列
,都有如下等式成立:
也就是說,當前狀態 的發生概率僅僅取決於最近一個狀態動作對 ,而並非整個序列。我們可以證明對於一個 SSMDP,它的所有狀態都具有馬爾可夫性質。
命題 1
對於任意 search session MDP ,其狀態空間 S 中的任意狀態都具有馬爾可夫性質。
證明:
我們只需證明對於任意時間步 和關於 t 的任意狀態動作序列,都有等式 成立即可。
除了狀態 以外,序列 中的其他所有狀態都是非終止狀態(non-terminal state)。根據狀態的定義,對於任意時間步
,必然存在一個 item page history 與狀態 相對應,且有
。因此,整個序列可以重寫為 。需注意的是,對於任意時間步 ,都有
成立。其中, 也就是關於 時刻的動作 和未展示商品 的 top K list。給定 ,集合 一定是確定的。所以, 也就是狀態動作對 的必然和唯一結果。那麼事件 也就能夠等價地表示為事件 。基於此,我們可以進行如下推導:
第三步推導成立是由於對於任意時間步 , 都包含在 中。類似地,第四步推導成立是由於事件 已經包含了 的發生。
3.2 折扣率
在這一小節我們將討論本文最重要的問題:延遲獎賞(delay reward)對於搜尋排序的優化到底有沒有作用?簡單地來說,也就是 search session MDP 的折扣率(discount rate)到底應該設多大。在任意 MDP 中,折扣率 y 的大小直接決定了 future rewards 在 agent 的優化目標中所佔比重。我們將分析優化長期累積獎賞與優化搜尋引擎的經濟指標這兩個目標之間的關係給出答案。
令 為一個關於 query q、商品全集 D 和正整數 K ( K > 0 ) 的 SSMDP。給定一個確定性策略 ,記每個時間步
對應的 item page history 為 ,我們把在策略 下能夠訪問的所有狀態都展示在圖 2 中。
圖 2. Search Session MDP 在固定策略 下能夠訪問的所有狀態示意圖
在這個圖中,紅色的節點表示 item page history,注意它們並不是 SSMDP 的狀態。方便起見,在本文接下來的部分,我們將把 和
分別簡化記為 和 。
不失一般性,我們設 SSMDP 的折扣率為 。由於 SSMDP 是一個有限時間步 MDP(finite-horizon MDP),所以折扣率可以取到 1。對於任意時間步 ,狀態 的 state value 為
其中,對任意 , 為 agent 在未來時刻 (t + k)的 item page history 中收到的即時獎賞。根據我們獎賞函式的定義, 在策略 下的期望值為 。在這裡,為 item page history 的成交價格期望。由於 表達的是在 發生的條件下的長期累積獎賞期望,所以我們還要把從 到達 item page history 的概率考慮進來。記從狀態 到達 的概率為 ,根據狀態轉移函式的定義可以得到
從狀態 到 item page history 的概率為 1 是因為 是狀態動作對
的直接結果。將上面的幾個公式綜合起來,我們可以進一步計算 如下:
根據圖 2 中展示的每個 item page history 的 conversion probability 以及成交價格期望,我們也可以將搜尋引擎在策略 的作用下在一個搜尋會話中引導的成交額期望表達出來,即
通過比較 和 ,不難發現當折扣率 y = 1 時,有 成立。也就是說,當 y = 1 時,最大化長期累積獎賞將直接帶來搜尋引擎成交額的最大化。當 y < 1 時,由於 是 的上界,所以最大化 並不一定能夠最大化
。
命題 2
令 為任意 search session MDP。對於任意確定性策略 和折扣率 ,都有式子 成立,其中 為 agent 在策略 和折扣率 y 下的狀態值函式, 為搜尋會話的初始狀態, 為搜尋引擎在策略 下的單次搜尋會話成交額期望。並且僅當 y = 1 時,有 成立。
證明:
我們只需證明當 y < 1 時,有 成立。這是顯然的,因為二者之差,即 在 y < 1 時一定為正。
至此,我們可以回答之前提出的問題:站在提高搜尋引擎成交額的角度,搜尋排序問題中考慮延遲獎賞是必要且必須的。從理論上,這是因為最大化無折扣累積獎賞能夠直接優化搜尋引擎的成交額。究其深層原因,是因為使用者在搜尋商品的每個步驟(即每個 item page history)的行為都是基於之前觀察到的所有資訊(或者大部分資訊)做出的反應,這天然決定了搜尋排序問題的序列決策本質。
四. 演算法設計
本節將提出一個全新的策略梯度演算法,用於學習 Search Session MDP 的最優排序策略。採用策略梯度演算法能將排序策略用引數化的函式來表示,並直接對策略函式的引數進行優化。這能夠同時解決 Search Session MDP 中排序策略的表示以及大規模狀態空間的難題。我們首先在 Search Session MDP 的語境下對策略梯度方法進行簡要回顧。另 為一個 Search Session MDP,為引數化的排序策略函式,其引數為 。Agent 的學習目標是找到最優的策略函式引數,使得它在所有可能狀態-動作-獎賞軌跡中的 -步回報最大:
在這裡,為形如 的狀態-動作-獎賞軌跡,它服從策略引數為 時的軌跡概率分佈 ; 為軌跡 對應的 -步回報。需注意的是,如果在軌跡 中到達終止狀態的步數小於 ,那麼對應的獎賞和 將在那個狀態進行截斷。優化目標 關於引數 的梯度為
其中, 表示在軌跡 中,從時間步 t 到時間步 之間的獎賞之和。此梯度更新公式是著名的REINFORCE 演算法 [6] 的核心。Sutton 等人提出的策略梯度定理(policy gradient theorem)[7] 提供了更加一般的策略梯度更新方法。一般地, 的梯度為
在這裡, 為策略 下的狀態動作值函式。如果策略 是一個確定性策略(deterministic policy),那麼 的梯度可以重寫為
Silver 等人證明了確定性策略梯度(deterministic policy gradient)[8] 是一般性的隨機策略梯度(stochastic policy gradient)在策略方差趨近於 0 時的極限。狀態動作值函式 可以通過蒙特卡洛估值方法(Monte Carlo evaluation)或時間差分方法(temporal-difference learning)進行估計。例如,REINFORCE 演算法採用的就是蒙特卡洛估值方法,而 Sutton 等人提出的演員評論家方法(actor-critic method)[9] 則採用的是時間差分方法對值函式進行估計。
我們基於確定性策略梯度演算法(deterministic policy gradient,DPG)[8] 提出學習 Search Session MDP 最優排序策略的演算法。我們並沒有基於更一般的隨機策略梯度方法,因為計算隨機策略的梯度通常需要更多樣本,且這一點在高維動作空間問題中更為明顯。然而,在 Search Session MDP 中,對狀態動作值函式 進行估計面臨兩個難點。首先,Agent 在每個狀態上所能獲得的即時獎賞具有很大的方差。從獎賞函式的定義可以看到,任意狀態動作對(s, a)對應的即時獎賞要麼為 0,要麼為 (s, a)對應的 item page history 的成交價格期望 m(h),而 m(h)的值通常比 0 大很多。對 進行估計的第二個難點在於每個狀態上的即時獎賞分佈的高度不平衡。對於任意狀態動作對(s, a),由(s, a)引導的成交轉化事件(產生非零即時獎賞)發生的概率要遠遠低於由(s, a)引導的繼續會話事件和離開事件(這兩類事件產生值為 0 的即時獎賞)。不單是即時獎賞,Search Session MDP 中狀態-動作-獎賞軌跡的- 步回報也同樣存在方差較高和分佈不平衡的問題。這是因為在任何一條可能的狀態-動作-獎賞軌跡中,只有最後一步的獎賞值可能為非零。因此,如果簡單地採用蒙特卡洛估值方法或者時間差分方法來對 進行估計將會導致不精確的值函式更新,從而影響引數 的優化。
我們解決上述問題的方法類似於基於模型的強化學習方法 [10,11],藉助對環境模型(獎賞函式和狀態轉移函式)的近似估計來完成可信的值函式更新。根據貝爾曼等式,任意狀態動作對(s, a)在策略 下的狀態動作值為
其中, 表示貝爾曼操作。令為(s, a)引導的 item page history。根據 Search Session MDP 的狀態轉移函式定義,在環境接收(s, a)之後,只有 這三個狀態能夠以非零的概率被訪問,所以 可以簡化為
在這裡, 分別為 item page history 對應的成交轉化概率、繼續會話概率和成交價格期望。一般地,我們會用一個帶參函式 來對 進行近似計算,其優化目標是最小化引數 w 的均方誤差(MSE,Mean Squared Error)
而 MSE(w)關於 w 的梯度為
由於 未知,我們無法準確地計算出 的值。一個普遍的做法是將 作為 的代替來計算出 的近似值,所以我們可以得到
其中,表示(s, a)引導的 item page history。在我們實際採用隨機梯度法來優化 w 時,就能用一種完全回退(full backup)的方式來對 w 進行更新。具體地,對於我們觀察到的任意狀態動作對(s, a)及其對應的 item page history ,w 的變化量為
在這裡, 為學習率, 為 item page history 對應的繼續會話事件。這種完全回退的更新方法可以避免單步樣本回退方法(one-step sample backup)帶來的取樣誤差。同時,在我們的問題中,這種完全回退方法的計算量並不比單步樣本回退方法的計算量大。
我們的策略梯度演算法在確定性策略梯度定理 [8] 和對 Q 函式的完全回退估計的基礎上提出,我們將其命名為 Deterministic Policy Gradient with Full Backup Estimation (DPG-FBE)。與已有的基於模型的強化學習演算法 [10,11] 不同,DPG-FBE 演算法並不需要維護完整的獎賞函式和狀態轉移函式模型,而只需要對 Search Session MDP 中的成交轉化概率模型 、繼續會話概率模型 和成交價格期望模型 進行建模。任何可能的統計學習方法都可以用來對這三個模型進行線上或離線地訓練。DPG-FBE 的細節展示在演算法 1 中。
如演算法 1 所示,DPG-FBE 演算法的策略函式引數 和值函式引數 會在每個搜尋會話結束後進行更新。為了保證演算法學習到好的排序策略,探索(Exploration)機制必不可少(演算法第 行)。對於離散動作空間問題,探索可以通過 -貪心方法實現;而對於連續動作空間問題,探索則可以通過對 的輸出新增高斯噪音來實現。DPG-FBE 演算法並未對策略函式 和值函式 採用的具體模型做任何假設,但由於 Search Session MDP 通常具有很大的狀態空間和動作空間,所以我們建議儘量採用非線性模型(例如:神經網路)來進行學習。為了確保學習的穩定性以及解決函式近似帶來的收斂性問題,樣本池(replay buffer)和目標更新(target update)等 [12, 13] 在深度強化學習中廣泛應用的技巧,也建議在 DPG-FBE 演算法的具體實現中採用。
五. 實驗與分析
為了對 DPG-FBE 演算法的效能進行驗證,我們進行了兩組實驗。在第一組實驗中,我們構建了一個簡易的線上購物模擬器,並對 DPG-FBE 演算法以及目前最新的幾個 online LTR 演算法進行對比測試。在第二組實驗中,我們將 DPG-FBE 演算法在淘寶搜尋引擎中進行投放,以檢驗其實際應用效果。
5.1 模擬實驗
模擬實驗中使用的線上購物模擬器基於淘寶中部分商品和使用者的統計資訊構建。其中,商品被表示為形如 的 n 維特徵向量。搜尋引擎的排序動作也是一個 n 維向量,我們用 來表示。對於任意商品
,它在排序動作 作用下的打分為 和 的內積 。我們選擇了連衣裙類目商品的 20 個重要商品特徵,並根據這些特徵的分佈進行隨機取樣,生成了 1000 個虛擬的商品。搜尋會話中展示給使用者的每一個商品頁面包含 10 個商品。因此,一個搜尋會話最多會包含 100 輪排序。使用者在每個商品展示頁面的行為(比如:點選、購買、離開等)通過使用者行為模型進行模擬,該模型是從淘寶的連衣裙類目的使用者行為資料中構建的。在一個搜尋會話中,給定最近展示的 個商品展示頁面,使用者行為模型將輸出使用者點選商品、購買商品、繼續會話以及離開會話的概率。一個搜尋會話將在使用者購買商品或者離開會話時結束。
我們採用深度神經網路作為策略函式和值函式的模型,實現了 DPG-FBE 演算法的深度強化學習版本 DDPG-FBE。同時,我們也實現了 DPG 演算法的深度強化學習版本,即 DDPG 演算法 [13]。環境的狀態是從當前搜尋會話的最近 4 個商品頁面中抽取的 180 維特徵向量。DDPG-FBE 和 DDPG 兩個演算法的網路結構和引數採用相同的設定:(1)actor 和critic 網路都採用 2 個全連線的隱層,第一個隱層包含 200 個單元,第二個隱層包含 100 個單元,隱層所有單元的啟用函式都是 \textit{relu};(2)actor 網路的輸出層包含 20 個單元,每個單元的啟用函式為 \textit{tanh},critic 網路的輸出層只有 1 個單元,無啟用函式;(3)actor 網路的輸出會作為輸入接到 critic 網路的第二個隱層前;(4)actor網路和 critic 網路的引數通過 Adam 演算法進行優化,學習率分別為 和 ;(5)目標網路的更新比例 設定為 。我們設定了 0、0.1、0.5、0.9 和 1.0 五組折扣率,分別測試 DDPG-FBE 演算法和 DDPG 演算法在不同折扣率下的效能。同時,為了和兩個強化學習演算法進行對比,我們也實現了五個 online LTR 演算法:point-wise LTR 演算法、BatchRank 演算法 [1]、CascadeUCB1 演算法 [2]、CascadeKL-UCB 演算法 [2] 和 RankedExp3 演算法 [3]。同 DDPG-FBE 和DDPG 類似,我們實現的 point-wise LTR 演算法學習也是在搜尋會話的每個狀態下輸出一個 20 維的排序權重向量。我們採用深度神經網路作為 point-wise LTR 的模型,並用 logistic regression 演算法對其進行訓練,訓練目標為最大化總成交額。其他的 online LTR 演算法則是基於的多臂老虎機模型的遺憾最小化演算法(regret minimization algorithm)。對每個演算法的測試包含 100,000 個搜尋會話,我們記錄下被測演算法在每個搜尋會話中引導的成交額,並將結果展示在圖 3、圖 4 和圖 5 中。
圖 3. DDPG-FBE 演算法在模擬實驗中的測試結果
圖 4. DDPG 演算法在模擬實驗中的測試結果
圖 5. 五個 online LTR 演算法在模擬實驗中的測試結果
首先考察 DDPG-FBE 演算法的測試結果。從圖 3 中可以看到,隨著折扣率 y 變大,DDPG-FBE 演算法的效能逐漸改善。DDPG-FBE 演算法在折扣率 y = 0 時引導的成交額要遠遠低於它在其他折扣率下引導的成交額。由於 y = 0 表示只考慮最大化即時獎賞,這樣的結果也就說明延遲獎賞在搜尋排序決策中的重要性。不難發現,DDPG-FBE 演算法在折扣率 y = 1 時引導的成交額最大(比第二好的結果高出 2%),這也進一步驗證了我們在上一節給出的理論結果。值得一提的是,在淘寶搜尋這樣的大規模場景中,即便是 1% 的提升也是很可觀的。同樣地,DDPG 演算法也是在折扣率 y = 1 時引導了最高的成交額。然而,與 DDPG-FBE 演算法相比,DDPG 演算法並沒有學到很好的排序策略。如圖 4 所示,DDPG 演算法所有的學習曲線最終在 y 軸方向都沒有超過 40,而 DDPG-FBE 演算法在 y = 1 時最終收斂到 55 左右。我們測試的 5 個 online LTR 演算法引導的成交額都沒能超過 DDPG 演算法引導的最高成交額。由於這些演算法並非為多步排序決策問題所設計,所以這樣的結果並不奇怪。
5.2 搜尋排序應用
第二個實驗是一個實際的應用。我們將 DDPG-FBE 演算法應用到淘寶搜尋引擎中,提供實時線上商品排序服務。淘寶的搜尋任務面臨兩大挑戰,一個是大量線上使用者導致的高併發度的需求,另一個則是對使用者所產生的海量資料的實時處理。具體來說,淘寶搜尋引擎每秒需要同時響應數十萬計的使用者的搜尋請求,並同時處理這些使用者產生的行為資料。在大促活動中(比如:天貓雙十一),在淘寶中產生的資料量以及資料產生速度都要比平時高數倍。
圖 6. 基於資料流的強化學習排序系統構架
為了滿足對高併發度和海量資料處理的需要,我們設計了一套基於資料流的強化學習商品排序系統,並在此基礎之上實現 DPG-FBE 演算法。如圖 6 所示,整個系統主要包含五個部分:查詢規劃器(關鍵詞 planner)、排序打分器(ranker)、日誌中心(log center)、強化學習元件和線上 KV 系統(online KV system)。從圖中可以看到,系統的工作過程由兩個迴圈構成:其中一個迴圈代表使用者和搜尋引擎之間的互動過程(圖中右下角的迴圈),也是搜尋引擎執行排序動作的地方,我們稱其為 online acting loop;另一個循代表學習演算法的訓練過程(圖中靠左的大迴圈),我們稱其為 learning loop。這兩個迴圈通過日誌中心和線上 KV 系統相連線。
在 online acting loop 中,每當有使用者發出商品頁面的請求時,查詢規劃器(關鍵詞 planner)將抽取當前搜尋會話的狀態特徵,從線上 KV 系統中獲取當前的排序策略模型引數,從而計算出當前狀態下搜尋引擎的排序動作。在這之後,排序打分器(ranker)將接收這個排序動作,對商品進行打分,並將 Top K 商品展示到一個商品頁面中。使用者看到該商品頁面之後,就能對頁面上的商品進行相應的操作。與此同時,使用者在商品頁面上的各種行為將會以日誌的形式記錄到日誌中心,作為訓練學習演算法的資料來源。在日誌中心,從不同搜尋會話中產生的使用者日誌資料都會轉化為形如 (s,a,r,s')的訓練樣本。這些樣本將以資料流的形式不斷地輸出給強化學習元件,用於策略模型引數的更新。每當策略模型有更新時,新的模型將被寫入線上 KV 系統。這時,搜尋引擎就可以採用更新後的排序策略來產生排序動作,對商品進行排序。需注意的是,整個系統的兩個迴圈是並行的,但並非同步。這是因為,使用者在搜尋會話中產生的行為日誌並不能立即被用來對演算法進行訓練。
我們仍然採用模擬實驗中線性點乘模式對商品進行排序。搜尋引擎的排序動作是 27 維的權重向量。在一個搜尋會話中,環境的狀態是一個 90 維的特徵向量,包含了當前搜尋會話中的使用者特徵、關鍵詞特徵和商品頁面特徵。與模擬實驗不同,淘寶中的搜尋排序服務面向所有型別的使用者,且對輸入關鍵詞沒有任何限制,所以我們也將使用者和關鍵詞的資訊加入到狀態中。我們仍然採用神經網路作為策略函式和值函式的模型,兩個網路都包含兩個全連線隱層。其中,第一個隱層包含 80 個單元,第二個隱層包含 60 個單元。由於淘寶搜尋排序服務對實時效能和資料快速處理有很高的要求,所以實驗中策略函式和值函式模型的網路規模要比模擬實驗中採用的網路規模小很多。我們在基於資料流的強化學習商品排序系統中分別實現了 DDPG 和 DDPG-FBE 演算法,並進行了為期一週的 A/B 測試。在每天的測試中,DDPG-FBE 演算法引導的成交額都要比 DDPG 演算法引導的成交額高 2.7%~4.3%。在 2016 年的雙十一當天, 我們也將 DDPG-FBE 演算法進行了線上投放。同基準的演算法相比 (一個離線訓練的 LTR 算 法),DDPG-FBE 演算法帶來了 30% 的成交額提升。
參考文獻
[1] Masrour Zoghi, Tomas Tunys, Mohammad Ghavamzadeh, Branislav Kveton, Csaba Szepesvari, and Zheng Wen. 2017. Online Learning to Rank in Stochastic Click Models. Proceedings of the 34th International Conference on Machine Learning (ICML’17), 4199–4208.
[2] Branislav Kveton, Csaba Szepesvari, Zheng Wen, and Azin Ashkan. 2015. Cas- cading bandits: Learning to rank in the cascade model. In Proceedings of the 32nd International Conference on Machine Learning (ICML'15), 767–776.
[3] Filip Radlinski, Robert Kleinberg, and Thorsten Joachims. Learning di- verse rankings with multi-armed bandits. In Proceedings of the 25th international conference on Machine learning (ICML'08), 784–791.
[4] Sumeet Katariya, Branislav Kveton, Csaba Szepesvari, Claire Vernade, and Zheng Wen. 2017. Stochastic Rank-1 Bandits. In Artificial Intelligence and Sta- tistics. 392–401.
[5] Paul Lagree, Claire Vernade, and Olivier Cappe. 2016. Multiple-play bandits in the position-based model. In Advances in Neural Information Processing Systems (NIPS’16). 1597–1605.
[6] Ronald J Williams. 1992. Simple statistical gradient-following algorithms for connectionist reinforcement learning. Machine learning 8, 3-4 (1992), 229–256.
[7] Richard S Sutton, David A McAllester, Satinder P Singh, and Yishay Mansour. 2000. Policy gradient methods for reinforcement learning with function approxi- mation. In Advances in Neural Information Processing Systems (NIPS’00). 1057– 1063.
[8] DavidSilver,GuyLever,NicolasHeess,ThomasDegris,DaanWierstra,andMar- tin Riedmiller. 2014. Deterministic policy gradient algorithms. In Proceedings of the 31st International Conference on Machine Learning (ICML’14). 387–395.
[9] R.S. Sutton and A.G. Barto. 1998. Reinforcement Learning: An Introduction. MIT Press.
[10] Michael Kearns and Satinder Singh. 2002. Near-optimal reinforcement learning in polynomial time. Machine Learning 49, 2-3 (2002), 209–232.
[11] Ronen I. Brafman and Moshe Tennenholtz. 2002. R-MAX - A General Poly- nomial Time Algorithm for Near-Optimal Reinforcement Learning. Journal of Machine Learning Research 3 (2002), 213–231.
[12] VolodymyrMnih,KorayKavukcuoglu,DavidSilver,AndreiARusu,JoelVeness, Marc G Bellemare, Alex Graves, Martin Riedmiller, Andreas K Fidjeland, Georg Ostrovski, et al. 2015. Human-level control through deep reinforcement learning. Nature 518, 7540 (2015), 529–533.
[13] Timothy P Lillicrap, Jonathan J Hunt, Alexander Pritzel, Nicolas Heess, Tom Erez, Yuval Tassa, David Silver, and Daan Wierstra. 2015. Continuous control with deep reinforcement learning. arXiv preprint arXiv:1509.02971 (2015)
論文地址:https://arxiv.org/abs/1803.00710v2