推薦系統公平性論文閱讀(四)

lonelyprince7發表於2021-10-08

接下來我總共花了將近四天時間才將論文《Towards Long-term Fairness in Recommendation》[1]理解透徹。因為該論文用到了強化學習(Reinforcement Learning),而強化學習不像之前的生成對抗網路(GAN)一樣簡潔明瞭,涉及的數學知識非常多。
在看論文之前我花費了很所時間去補強化學習的基礎,其中牽涉到的知識點還包括隨機過程、數值優化等,因此我在掌握文章背景上就耗費了很多時間和精力。
不過當我將強化學習的背景搞清楚後,整片文章讀起來的速度就大大加快了,因為該文章本質上就是在強化學習的策略優化演算法(論文采用的的是經典的置信域優化演算法)的基礎上加一個公平性約束而已。我我自身理解的基礎上,對該論文的結構和核心思想進行了模組化地詳細地梳理,而這篇日誌也就是我記錄的梳理論文思想的心路歷程。

論文創新點

該論文有三個要點:
其一是視角獨到,在基於強化學習的推薦系統框架上建模,可以保證長期的公平性問題,而不是像大多數論文一樣只保證短期的公平性;
其二是將公平性約束做為強化學習中著名的置信域優化演算法的一個約束項來處理,簡潔明瞭;
其三是公平性約束是線性的,對於模型的引數優化能求得解析解,這樣可以大大降低演算法的時間複雜度。

背景知識儲備

首先,我通過閱讀強化學習的經典著作《Reinforcement learning: An introduction》[2]對強化學習中的許多基本概念有了初步的認知。強化學習的關鍵思想是馬爾可夫決策過程(Markov Decision Processes, MDPs)。一個MDP可以用一個元組\(M=(\mathcal{S}, \mathcal{A},\mathcal{P}, \mathcal{R}, \mu , \gamma )\)來表示,這\(\mathcal{S}\)表示\(n\)個狀態\(s\)的集合。\(A\)表示\(m\)個動作\(a\)的集合,\(\mathcal{P}: \mathcal{S}\times \mathcal{A} \times \mathcal{S} \to [0,1]\)表示狀態轉移函式。對於在經過動作\(a_{t}\)後,由狀態\(s_{t}\)轉移為狀態\(s_{t+1}\)的概率我們可以表示為\(P(s_{t+1}|s_{t}, a_{t})\)\(\mathcal{R}:\mathcal{S} \times \mathcal{A} \times \mathcal{S} \to \mathbb{R}\)。我們將做出動作\(a_{t}\)後,由狀態\(s_{t}\)轉移到狀態\(s_{t+1}\)而觸發的獎勵記作\(r(s_{t}, a_{t}, s_{t+1})\)\(\mu: \mathcal{S} \to [0, 1]\)是一個初始狀態分佈。\(\gamma \in [0, 1)\)是折扣因子。一個固定的策略\(\pi: \mathcal{S} \to \mathcal{P}(\mathcal{A})\)是一個從狀態到動作概率分佈的對映,\(\pi(a|s)\)表示在狀態\(s\)下選擇動作\(a\)的概率,我們將所有策略的集合記作\(\prod\)。在強化學習中,我們目標是學習一個策略\(\pi\),它能夠最大化無窮時間步的折扣總回報\(J(\pi)\)

\[J(\pi) = \mathop{\mathbb{E}}_{\tau \sim \pi}[\sum_{t=0}^{\infty}\gamma^{T}R(s_{t}, a_{t}, s_{t+1})] \tag{1} \]

這裡\(\tau\)表示一個軌跡(trajectory),例如\(\tau=(s_{0}, a_{0}, s_{1}, a_{1}, ...)\),且\(\tau \sim \pi\)是一個簡略記法,表示軌跡的分佈依靠於\(\pi:s_{0} \sim \mu , a_{t} \sim \pi(\cdot |s_{t}), s_{t+1} \sim P(\cdot | s_{t}, a_{t})\),使\(R(\tau)\)表示從當前\(t\)時刻到回合結束的折扣回報(累計折扣獎勵)。
我們將動作價值函式表示為\(Q^{\pi}(s, a)=\mathop{\mathbb{E}}_{\tau \sim \pi}[R(\tau)|s_{0}=s, a_{0}=a]\),狀態價值函式表示為\(V_{\pi}(s)= \mathop{\mathbb{E}}_{a_{t}\sim \pi(\cdot|s_{t})}[Q^{\pi}(s, a)] = \mathop{\mathbb{E}}_{\tau \sim \pi}[R(\tau)|s_{0}=s]\),優勢函式表示為\(A^{\pi}(s, a)=Q^{\pi}(s, a)-V^{\pi}(s)\)

論文理解

而本篇論文采用了在MDP之上改造的受限馬爾可夫決策過程(Constrained Markov Decision Process, CMDP)。CMDP在MDP的基礎上新增了一些約束,這些約束限制了MDP所允許的策略。具體而言,MDP被一些輔助的代價函式\(C_{1}, ..., C_{m}\)約束,相應的限制為\(\textbf{d}_{1},..., \textbf{d}_{m}\),這意味著在代價函式上的折扣總代價需要以\(\textbf{d}_{i}\)為上界。類似於傳統MDP中的獎勵,每個函式\(C_{i}: \mathcal{S} \times \mathcal{A} \times \mathcal{S} \to R\)將狀態轉換元組(即\((s_{t}, a_{t}, s_{t+1})\))對映到代價。論文中用\(J_{C_{i}}(\pi)\)表示策略\(\pi\)關於代價函式\(C_{i}\)的折扣總代價:

\[ J_{C_{i}}(\pi) = \mathop{\mathbb{E}}_{\tau \sim \pi}[\sum_{t=0}^{\infty}\gamma^{T}C_{i}(s_{t}, a_{t}, s_{t+1})] \tag{2} \]

一個CMDP的策略集合是\(\prod_{C} = \{\pi \in \prod: \forall i, J_{C_{i}}(\pi) \leqslant \textbf{d}_{i}\}\),且強化學習在CMDP中的一個任務是找到\(\pi^{*} = \arg\max_{\pi \in \prod_{C}}J(\pi)\),這裡\(J(\pi)\)是一個按照等式\((1)\)定義折扣總回報。我們用\(V_{C_{i}}^{\pi}, Q_{C_{i}}^{\pi}\)\(A_{C_{i}}^{\pi}\)來類比地替代\(V_{\pi}, Q_{\pi}, A_{\pi}\),其中分別用代價函式\(C_{i}\)替代原本的獎勵函式\(R\)
而對於優化策略,論文中採用類似於置信域優化方法的“受限策略優化”(Constrained Policy Optimization, CPO)。CPO中的策略迭代形式如下:

\[\begin{matrix} \pi_{k+1} = \mathop{\arg\max}_{\pi \in \prod_{\theta}}\mathop{\mathbb{E}}_{s\sim d^{\pi_{k}}, a\sim \pi}[A^{\pi_{k}}(s, a)],\\ s.t. \quad J_{C_{i}}(\pi_{k}) + \frac{1}{1-\gamma} \mathop{\mathbb{E}}_{s\sim d^{\pi_{k}}, a\sim \pi}[A_{C_{i}}^{\pi_{k}}(s, a)] \leqslant \textbf{d}_{i}, \forall i \\ \overline{D}_{KL}(\pi || \pi_{k}) \leqslant \delta \end{matrix} \tag{3} \]

這裡\(\prod_{\theta} \subset \prod\)是一個引數為\(\theta\)的引數化策略的集合(比如有著固定架構的神經網路)。\(d^{\pi_{k}}\) 是一個在策略\(\pi_{k}\)下的狀態分佈。\(\overline{D}_{KL}\)表示平均KL散度,這裡\(\delta>0\)是步長(置信域半徑)。集合\(\{\pi_{\theta} \in \prod_{\theta}: D_{KL}(\pi || \pi_{k}) \leqslant \delta\}\)被稱為置信域。特別地,對於只有一個線性約束的問題,只存在一個解析解。我們將式子\((3)\)中的目標函式的梯度表示為\(g\),約束的梯度表示為\(b\),KL散度的Hessian矩陣表示為\(H\),並定義\(c=J_{C}(\pi_{k})-d\),則對式\((3)\)的近似為

\[\begin{matrix} \theta_{k+1} = \mathop{\arg\max}_{\theta}g^{T}(\theta-\theta_{k}) \\ s.t. \quad c+b^{T}(\theta - \theta_{k}) \leqslant 0 \\ \frac{1}{2}(\theta - \theta_{k})^{T}H(\theta-\theta_{k}) \leqslant \delta \end{matrix} \tag{4} \]

就這樣,論文通過迭代演算法對策略的引數\(\theta\)進行優化。
接下來論文闡述了CMDP在實際推薦中運用的具體細節。在每個時間步\((t_{1}, t_{2}, t_{3}, t_{4}, t_{5})\),使用者向推薦系統傳送請求,推薦智慧體\(G\)會將當前使用者的特徵表示和候選物品\(\mathcal{I}\)做為輸入,並生成推薦物品列表\(L \in \mathcal{I}^{K}\),這裡 \(K \geqslant 1\)。使用者\(u\)收到了推薦的物品清單\(L\)後會以點選物品的方式給出他(或者她)的反饋\(B\)。因此,狀態\(s\)可以使用者的特徵來表示(比如使用者最近的點選歷史),動作\(a\)\(L\)中的物品表示獎勵饋\(r\)是在目前狀態採取動作\(a\)的即時反饋(比如使用者是否點選\(L\)中的物品)。代價\(c\)是即時代價(比如推薦的物品是否來自敏感群組)。這樣,我們可以將強化學習中的各元素和推薦系統中的元素聯絡起來:
\(\bullet \quad 狀態 \mathcal{S}\): 狀態\(s_{t}\)是使用者最近和推薦系統的正互動歷史\(H_{t}\)的表示,以及他(或她)的人口結構資訊(如果存在的話)。
\(\bullet \quad 動作 \mathcal{A}\): 動作\(a_{t}=\{a_{t}^{1}, ..., a_{t}^{K}\}\)是一個推薦列表,包括在\(t\)時刻和狀態\(s_{t}\)下給使用者\(u\)推薦\(K\)個物品的推薦列表。
\(\bullet \quad 獎勵 \mathcal{R}\): 給定基於動作\(a_{t}\)和使用者狀態\(s_{t}\)的推薦,使用者會提供他(或者她)的反饋,比如點選、跳過或購買等,推薦系統會依據使用者的反饋接收到即時獎勵\(R(s_{t}, a_{t})\)
\(\bullet \quad 代價 \mathcal{C}\): 給定基於動作\(a_{t}\)的推薦,環境給出了基於特定問題的代價函式值(比如推薦列表中來自敏感群組的物品數量),並將該即時代價\(C(s_{t}, a_{t})\)發給推薦系統。
\(\bullet \quad 折扣率 \gamma_{r} 和 \gamma_{c}\): \(\gamma_{r} \in [0, 1]\)是一個用於權衡長期獎勵值的因子,\(\gamma_{c} \in [0, 1]\)是另一個權衡長期代價值的因子。

論文中演算法的目的是學習最優策略,以最大化在一定的公平性約束下的累計獎勵。論文將獎勵函式和代價函式定義如下:

\[ R(s_{t}, a_{t}, s_{t+1}) = \sum _{l=1}^{K} \mathbb{I} (a_{t}^{l} \text{得到使用者的正面反饋}) \tag{5} \]

\[ C(s_{t}, a_{t}, s_{t+1}) = \sum _{l=1}^{K} \mathbb{I} (a_{t}^{l} \text{在敏感群組裡}) \tag{6} \]

這裡\(a_{t} = \{a_{t}^{1},\cdots , a_{t}^{K}\}\)代表了包括了\(K\)個物品ID的推薦列表,這些物品由當前策略在時間點\(t\)處選擇。在論文中代價函式的表示方式如式\((6)\)所示,表示在時間\(t\),暴露給使用者的敏感群組物品總數。根據論文中的描述,我們有

\[ C(s_{t}, a_{t}, s_{t+1}) \leqslant \frac{\alpha}{1+\alpha}K = \alpha^{'}K \tag{7} \]

使\(C\leqslant \alpha^{'}K\)這個約束在每一輪迭代的時候得到滿足,我們能得到折扣後的總代價

\[ J_{C}(\pi) = \mathop{\mathbb{E}}_{\tau \sim \pi}[ \sum_{t=0}^{T} \gamma_{c}^{T} C(s_{t}, a_{t}, s_{t+1})] \leqslant \sum_{t=0}^{T}\gamma_{c}^{t}\alpha^{'}K \tag{8} \]

這裡\(T\)是推薦系統軌跡的長度,等式\((8)\)是我們優化問題的群組公平性約束,論文中將不公平性約束的上界\(d\)表示如下

\[ \textbf{d} = \sum_{t=1}^{T}\gamma_{c}^{t} \alpha^{'}K \tag{9} \]

就這樣,一旦定義好用於推薦的CMDP及特定的獎勵函式(如式\((5)\)所示),代價函式(如式\((6)\)所示)和約束上界\(d\),我們就可以將它們都帶入等式\((4)\)建立公平性限制的策略優化框架。值得注意的是論文中的模型僅僅只包括線性公平性約束。因此,正如之前提到的,求解式\((4)\)我們能得出解析解(如果問題是可解的)。具體求解框架的細節可以參見論文。

參考文獻

  • [1] Ge Y, Liu S, Gao R, et al. Towards Long-term Fairness in Recommendation[C]//Proceedings of the 14th ACM International Conference on Web Search and Data Mining. 2021: 445-453.
  • [2] Sutton R S, Barto A G. Reinforcement learning: An introduction[M]. MIT press, 2018.
  • [3] Singh A, Joachims T. Fairness of exposure in rankings[C]//Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. 2018: 2219-2228.

相關文章