Fairness-Aware Ranking
in Search & Recommendation Systems
with Application to LinkedIn Talent Search

NN論文を肴に酒を飲む会 #11 オンライン!
2020-05-20

Mitsuhisa Ota

  • CDTO @ BrainPad
  • Google Developers Expert (ML)
  • TFUG Tokyo organizer
  • @ohtaman

me

論文紹介の前に...

機械学習と公平性

Machine Bias

  • COMPAS アルゴリズム
    • 囚人の属性から、再犯の危険性を予測する
    • 属性によっては不当に高いスコアが算出される可能性がある
  • このようなスコアは "リスク評価" として、全米の法定で一般的に使われている
    • 保釈金額の決定など

height:300px height:240px
https://www.propublica.org/article/machine-bias-risk-assessments-in-criminal-sentencing

センシティブ属性

データ主体を特定・識別された状態で公開されることが望ましくない属性をセンシティブ属性(sensitive attribute)もしくは保護された属性(protected attribute)と呼ぶ.

height:360px

いろいろな差別

直接的差別以外にも様々なタイプの差別があり、単純にセンシティブ属性を特徴量に用いなければよいという話ではない

  1. 直接的差別: 個人のセンシティブ属性が明示的に個人に対して好ましくない結果をもたらす
  2. 間接差別: 一見中立だが、センシティブ属性からの暗黙的な影響により、依然として不当に扱われる
  3. 組織的差別: 組織の文化、ポリシー、習慣、行動などによる、特定のサブグループに対する差別
  4. 統計的差別: 意思決定者が平均的なグループの統計を使用して、個人を判断する現象
  5. 説明可能な差別(区別): 異なるグループ間の違いがあるが、正当化や説明ができるもの
  6. 説明不可能な差別: 説明可能でない、不当な差別

「公平性」の定義

公平性にも複数の定義があり、それぞれの意図・目的が異なる. 必ずしも互いに整合しているわけではないため、基本的には同時に達成できない

  1. 人口統計学的パリティ (Demographic Parity)
    • P(Y^A=0)=P(Y^A=1)P(\hat Y|A = 0) = P(\hat Y|A = 1)
    • バイアスのあるデータにも対応できるが、逆差別の問題がある
  2. 勝率の等しさ (Equalized Odds)
    • P(Y^=1A=0,Y=y)=P(Y^=1A=1,Y=y),y^{0,1}P(\hat Y = 1|A=0,Y=y) = P(\hat Y = 1| A = 1 , Y = y), \hat y \in \{0,1\}
    • 逆差別はおきないが、バイアスのあるデータには使えない
  3. 機会均等 (Equal Opportunity)
    • P(Y^=1A=0,Y=1)=P(Y^=1A=1,Y=1)P(\hat Y = 1|A=0, Y=1) = P(\hat Y = 1| A = 1 , Y = 1)
    • Equalized Odds と同様だが、True Positive だけを見る

不公平の原因(バイアス)

不公平の原因となるバイアスには様々な種類があり、機械学習プロセスの各過程でバイアスが入り込む可能性がある

height:400px

公平性の確保手法

公平性を確保する機械学習アルゴリズムの開発だけではなく、前処理(Pre-Processing)や後処理(Post-Processing)を含め、色々な手法が提案されている

  • Pre-Processing: 差別が取り除かれるように、事前に訓練データを修正する
  • In-Processing: 目的関数の変更や制約の追加等、機械学習アルゴリズムを修正する
  • Post-Processing: 訓練に未使用のデータなどを用いて予測結果の修正を行う

Fairness-Aware Ranking in Search & Recommendation Systems with Application to LinkedIn Talent Search

要約

  1. 検索や推薦システムで用いられるランキングタスクにおいて、機械学習によってスコアリングされた候補リストを、公平性の制約を満たすように再ランク付けするアルゴリズムを提案
    • 公平性の要件を「望ましい分布」を提示することで与える
    • 機会均等や人口統計学的パリティなど、いろいろな公平性の基準に利用可能
  2. 大規模なシミュレーションと A/B テストにより、提案手法を評価
    • ビジネスメトリクスに統計的に有意な変化を与えることなく、公平性の大幅な改善をもたらした

MEASURING ALGORITHMIC BIAS

バイアスの定量化の考え方

  1. 検索や推薦において、上位の結果は、性別や年齢などのセンシティブ属性についての何らかの 望ましい分布 があるものと仮定する
    • 望ましい分布は、母集団での分布、法的な義務によるもの、自主的に設定した基準など、様々考えられる
  2. 望ましい分布からのズレを公平性の指標とする

望ましい分布の例

望ましい分布は、何を目指すかによって異なる。

  • 機会均等(Equal Opportunity)を目指す場合
    • p(Y^=1A=a1,Y=1)==p(Y^=1A=al,Y=1)p(\hat Y = 1 | A = a_1, Y = 1) = \cdots = p(\hat Y = 1 | A = a_l, Y = 1)
  • 人口統計学的パリティ (Demographic Parity) を目指す場合
    • p(Y^=1A=a1)==p(Y^=1A=al),p(Y^=0A=a1)==p(Y^=0A=al)p(\hat Y=1|A=a_1) = \cdots = p(\hat Y=1|A=a_l), \\ p(\hat Y=0|A=a_1) = \cdots = p(\hat Y=0|A=a_l)

Y=1Y = 1: 検索・推奨結果として妥当な候補すべて
Y^=1\hat Y = 1: 上位ランクにあらわれた候補

Notation

height:480

Skewai@kSkew_{a_i}@k

Skewai@k(τr)=loge(pτrk,r,aipq,r,ai)Skew_{a_i}@k(\tau_r) = \log_{e}\left(\frac{p_{\tau^k_r,r,a_i}}{p_{q,r,a_i}}\right)

  • ランキング上位kk個に対する指標
  • 上位kkにランクインした候補についての、望ましい分布と実際の分布の比のlog\log
    • Skewai@k(τr)<0Skew_{a_i}@k(\tau_r) < 0: 望ましい分布よりも属性 aia_i をもった候補が少ない
    • Skewai@k(τr)>0Skew_{a_i}@k(\tau_r) > 0: 望ましい分布よりも属性 aia_i をもった候補が多い

SkewSkew の計算例

以下の設定で、センシティブ属性 {a1=a_1 = 男性、a2=a_2 = 女性} について計算する場合

  • 男性 32000人、女性 48000人の候補者がいたとする
  • ランク上位100人は、男性20人、女性80人であったとする
  • 望ましい分布は、全候補者における割合に基づいて決めるものとする

Skewmale@100=loge(20100/3200080000)0.69Skew_{\rm {male}} @ 100 = \log_e(\frac{20}{100}/\frac{32000}{80000}) \approx -0.69

Skewmale@100=loge(80100/4800080000)0.28Skew_{\rm {male}} @ 100 = \log_e(\frac{80}{100}/\frac{48000}{80000}) \approx 0.28

※ 論文では loge\log_e と書きつつ log10\log_{10} で計算してしまっているので、値はずれています。

SkewSkew の弱点

  1. 属性ごとに求める値のため、すべてのセンシティブ属性で評価する必要がある
  2. 上位ランク数 kk に依存して決まる値のため、様々な kk で評価する必要がある

MinSkewMinSkewMaxSkewMaxSkew

  1. 属性ごとに求める値のため、すべてのセンシティブ属性で評価する必要がある
  2. 上位ランク数 kk に依存して決まる値のため、様々な kk で評価する必要がある

すべての属性について調べて、最大・最小のものをとった指標を用いればよい
  • MinSkew@k=minaiASkewai@k(τr)MinSkew@k = \min_{a_i \in A}Skew_{a_i}@k(\tau_r)
  • MaxSkew@k=maxaiASkewai@k(τr)MaxSkew@k = \max_{a_i \in A}Skew_{a_i}@k(\tau_r)

NDKL(τr)NDKL(\tau_r)

  1. 属性ごとに求める値のため、すべてのセンシティブ属性で評価する必要がある
  2. 上位ランク数 kk に依存して決まる値のため、様々な kk で評価する必要がある

順位についても重み付きの平均を取れば良い. これは、検索タスクにおいて知られている公平性を評価する指標の1つである $NDKL$ となる

NDKL(τr)=1Zi=1τr1log2(i+1)dKL(DτriDr),Z=i=1τr1log2(i+1)NDKL(\tau_r) = \frac{1}{Z}\sum_{i=1}^{|\tau_r|}\frac{1}{\log_2(i+1)}d_{KL}(D_{\tau_r^i}||D_r), \quad Z=\sum_{i=1}^{\tau_r}\frac{1}{\log_2(i+1)}

  • DtriD_{t_r^i}: ランキング結果の上位iiのなかで、各属性を持っている確率の分布
  • DrD_r: 望ましい分布
  • dKLd_{KL}: KL-divergence (SkewaiSkew_{a_i} を属性について重み付きで平均したもの)

FAIRNESS-AWARE RANKING ALGORITHMS

ランキングアルゴリズムに求められる性質

  1. ランキング結果の分布 ptr,r,aip_{t_r,r,a_i} を、可能な限り望ましい分布 pq,r,aip_{q,r,a_i} に近づけたい
  2. 検索・推薦タスクにおいては、pτr,r,aip_{\tau_r,r,a_i}が大きい場合ではなく少ない場合が特に重要

InfeasibleIndex

下記の 2. を満たさない時に、ランキング結果がinfeasibleであると呼ぶことにする.

  1. ktr, aiA, countk(ai)paik^\forall k \leq |t_r|, \ ^\forall a_i \in A, \ \mathrm{count_k}(a_i) \leq \lceil p_{a_i} \cdot k \rceil
  2. ktr, aiA, countk(ai)paik^\forall k \leq |t_r|, \ ^\forall a_i \in A, \ \mathrm{count_k}(a_i) \geq \lfloor p_{a_i} \cdot k \rfloor
    • countk\mathrm{count_k}: 属性 aia_i を持つ候補者の数

infeasibleとなる属性 aia_i が存在する上位ランク数 kk の数を InfeasibleIndex とする

  • InfeasibleIndexτr=k1(aiA, s.t. countk(ai)<paik)\mathrm {InfeasibleIndex_{\tau_r}} = \sum_{k}1(^\exists a_{i} \in A, \ s.t. \ \mathrm{count_k}(a_i) < \lfloor p_{a_i}\cdot k\rfloor)

DetGreedy

貪欲に公平性を満たすものを採用していくアルゴリズム

  • kpai\lceil k\cdot p_{a_i}\rceil を超えない属性の候補について、スコアの高い順に採用していく
  • Infeasible な属性があった場合は、その属性の中で最もスコアの高いものを採用する

DetCons and DetRelaxed


DetCons

  • スコアではなく、infeasibleとなりやすい属性の候補を採用

DetRelaxed

  • infeasibleとなりやすい属性の候補の中で、スコアの高いものを採用

DetConstSort

公平性の制約を破らない範囲で、できるだけスコアの高いものが上位にくるように並べ替えを行う

Evaluation and Deployment in Practice

シミュレーション

以下のフレームワークでシミュレーションを行い、提案手法を評価

  1. 2A102 \leq |A| \leq 10 として、各 A|A| 毎に 2. 以降を繰り返す
  2. 100KのA|A|次元の多項分布 PjPP_j \in P を準備
    • 各出現確率は一様分布からサンプリングして、和が1となるよう正規化
  3. PjP_j 毎に、以下を繰り返す
    1. 各属性ごとに100個の候補をランダムに生成し、ランダムなスコアを付与
    2. スコアに基づいてソート
    3. PjP_jを望ましい分布として、提案手法を適用し、上位100位までのリストを得る
    4. 前述の指標を用いて評価

シミュレーション結果: InfeasibleIndex

  • DetGreedy では、 A>3|A| > 3 において、Infeasible な状況が発生している
  • それ以外のアルゴリズムは、全て feasible となっている
    • これは理論的な保証がある

height:480px

シミュレーション結果: MinSkew

  • DetGreedyは MinSkew が若干下がる傾向がある
  • グラフはないが、 MaxSkew も同様の傾向がある

height:480px

シミュレーション結果: NDKL

  • DetConsやDetRelaxedがDetConstSortよりも若干良い傾向がある

height:480px

シミュレーション結果: NDCG

  • 公平性の指標ではなく、性能に関する評価指標(公平性を考慮したことによる性能劣化の指標)

    NDCG(τr)=1Zi=1τru(τr[i])log(i+1)NDCG(\tau_r) = \frac{1}{Z}\sum_{i=1}^{|\tau_r|}\frac{u(\tau_r[i])}{\log(i+1)}

    • uu は関連度で、今回はスコア
  • NDCGは、他の手法と比較して、DetGreedy が若干良い傾向がある

height:480px

シミュレーション結果: まとめ

  1. DetGreedyは(A>3|A| > 3 で公平性の制約を満たす理論的保証がないにもかかわらず)概ね良好な結果となった
  2. DetCons、DetRelaxed、 DetConstSort については、公平性の指標という観点では大きな違いはなく、どれがベストだとは言い切れない
    • A/Bテストなどによってパフォーマンスを評価し、適切なものを選べばよい

A/B テストの概要

LinkedIn Talent Search で A/B テストを実施

  • Talent Search はリクルータや、採用マネージャーが候補者を検索できるサービス
  • 対処とするセンシティブ属性は性別
  • 検索基準を満たす候補全体の性別の分布を、望ましい分布として利用
    • 機会均等の達成に相当
  • シミュレーションの結果と実装のシンプルさから、DetGreedy を利用

A/B テストの結果

  • 既存のアルゴリズムでは、公平性の制約を満たすクエリの割合が 33% だったのに対し、提案手法を採用することで、95%まで向上した
  • InMails Sent や InMails Accepted といった、ビジネス指標について、既存のアルゴリズムだけを用いた場合と有意な差は見られなかった

height:240px

得られた示唆など

  1. Post-Processing による公平性の担保のメリット
    1. Pre-Processing や In-Processing では、モデル依存の実装にならざるを得ないが、Post-Processingであれば、モデルを選ばない
    2. 現実のシステムでは、機械学習モデルの後処理としてドメイン固有のロジックが組み込まれることが多いため、できるだけパイプラインの最後に、公平性を担保する処理を組み込む必要がある
    3. 既存のシステムへの組み込みが容易
  2. 望ましい分布を、倫理的、社会的、法的な観点などから決定する必要がある
    • 望ましい分布は自由に選べるので、いろいろな定義の「公平性」に対応できる
  3. 望ましい分布、という概念の説明のしやすさ
    • ステークホルダーが多くなりがちなので、思想の説明のしやすさは重要

まとめ

  1. 検索や推薦システムで用いられるランキングタスクにおいて、機械学習によってスコアリングされた候補リストを、公平性の制約を満たすように再ランク付けするアルゴリズムを提案
    • 公平性の要件を「望ましい分布」を提示することで与える
    • 機会均等や人口統計学的パリティなど、いろいろな公平性の基準に利用可能
  2. 大規模なシミュレーションと A/B テストにより、提案手法を評価
    • ビジネスメトリクスに統計的に有意な変化を与えることなく、公平性の大幅な改善をもたらした

参考文献