「Equalized Odds Postprocessing」によるAIの公平性の実現

# はじめに

近年ビジネスでのAIの利用は急速に拡大しており、医療診断、自動運転、金融取引、雇用面接など様々な分野で利用が進み、人々の生活に深く関わる存在となっています。

その一方で、AIの活用にあたっては公平性や透明性、プライバシーの侵害といった問題が顕在化しています。
- 公平性：学習データに歴史的・社会的な差別の結果などのバイアスが含まれる場合、特定のセグメントに対して不利または有利な結果をAIが導出し、不適切な差別を助長する場合がある
    - 事例1：黒人を「ゴリラ」とタグ付け　グーグル写真アプリで不具合発覚 (<https://www.cnn.co.jp/tech/35066861.html>)
    - 事例2：アマゾンがＡＩ採用打ち切り、「女性差別」の欠陥露呈で(<https://jp.reuters.com/article/amazon-jobs-ai-analysis-idJPKCN1ML0DN>)

- 透明性（説明可能性）：AIの判断のプロセスが見えず、合理的に結果を説明することができない場合がある
- プライバシーの侵害：個人情報が含まれた学習データが流出するだけではなく、それを使って学習したAIの分析結果から情報が流出する可能性がある

これらの課題に対し、AI倫理に対する議論は活発化しています。例として、2019年には内閣府より「人間中心のAI社会原則(<https://www8.cao.go.jp/cstp/aigensoku.pdf>)」が公開され、官民問わずAI倫理に関する原則が発表されています。
- 事例：Microsoft の責任ある AI の基本原則 (<https://www.microsoft.com/ja-jp/ai/responsible-ai?activetab=pivot1%3aprimaryr6>)
- 事例：IBM AI倫理 (<https://www.ibm.com/jp-ja/artificial-intelligence/ethics>)

このほかにも、2023年にはG7デジタル・技術相会合で「責任あるAI」推進などを盛り込んだ閣僚宣言が採択されるほか、EUにおけるAI規制法案の準備が進められています。

# AIの公平性を実現する手法
AIの公平性を実現する手法の研究は活発に進められています。これらの手法はどこのタイミングで処理を行うかで大きく3つに分類することができます。
- 前処理：モデルを学習する前に、セグメント間で不公平がなくなるように学習データを変換
- 学習：モデルの学習中に不公平が起きないように制約を追加
- 後処理：モデルの出力に対して、セグメント間での不公平がなくなるように調整

![0.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3345895/10ec35c5-28e3-f494-d248-9e11fa37af66.png)
IBM社の研究論文 (<https://arxiv.org/abs/1810.01943>)によると、後処理による手法は比較的容易に導入できる一方で精度低下を伴うことが多く、前処理や学習による手法では大きく性能劣化しないことが多いと報告されています。

- 参考：AI公平性・説明可能AI(XAI)の 概説と動向（株式会社日本総合研究所　先端技術ラボ） 
    - <https://www.jri.co.jp/MediaLibrary/file/column/opinion/pdf/13846.pdf>

## Equalized Odds Postprocessing

本記事では、後処理による公平性の実現手法である「Equalized Odds Postprocessing」の論文を紹介します。
この論文以外にも、後処理による公平性の実現手法には、以下の論文が例として挙げられます。
- Reject Option Classification (Kamiran et al., 2012) 
    - <https://ieeexplore.ieee.org/document/6413831/>
- Equalized Odds Postprocessing (Hardt et al., 2016)　★本記事
    - <https://papers.nips.cc/paper_files/paper/2016/hash/9d2682367c3935defcb1f9e247a97c0d-Abstract.html>
- Calibrated Equalized Odds Postprocessing (Pleiss et al., 2017)
    - <https://papers.nips.cc/paper_files/paper/2017/hash/b8b9c74ac526fffbeb2d39ab038d1cd7-Abstract.html>


### 背景
本論文では、公平性と利益の最大化のトレードオフを考慮して、最適なバランスを見つけることが重要であると主張しています。
公平性の観点からはグループ間で異なる傾向となることが許容されず、利益の最大化の観点からは最大の利益を生み出すスコアのしきい値を選択することが求められます。
論文の目的は、公平性と利益の最大化を組み合わせるアプローチを提案することであり、人種差別や不平等を是正する方法を模索しています。

**利益の最大化の例：**
![1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3345895/e8f28358-8a92-f22e-5cd8-7e1c303f8e5f.png)
上の図のように、各グループで利益が最大となるしきい値を設定することで銀行側は利益を最大にすることができます。（今回の例では、各グループの82%が債務不履行とならないFICOのスコアをしきい値としています）
しかし、これには問題があり、「Hispanic」「Black」などの一部のグループでローン審査が厳格になる不公平が発生します。

**人口で公平にした時の例：**
![2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3345895/16ebf0af-5b74-4a17-77fb-2dd791066075.png)
次に、各グループごとにローンの資格を得る人口の割合を同等にします。こうすることで、先ほどローン審査が厳格になった「Hispanic」「Black」などの一部のグループで審査の基準が緩和されます。
一方で、それらのグループの債務不履行が増加する結果となるため、銀行の利益は減少します（最大利益の約70%に減少）

### 提案手法
これらの課題に対して、本論文では「equalized odds」、「equal opportunity」という公平性の指標を提案しています。
- equalized odds：適合率と偽陽性率の差がグループ間で等しくなるようにします。
- equal opportunity：適合率がグループ間で等しくなるようにしつつ再現率を最大化します。

これらの指標により、先ほどのFICOの例は以下のように変化します。

**Equalized oddsの例：**
![4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3345895/f02512c4-04aa-a403-e5be-0aad26518796.png)

**Equal opportunityの例：**
![3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3345895/771c5d82-ca76-ef88-4395-15fcc5fb28ca.png)

これらのように「equalized odds」、「equal opportunity」を使うことで、グループ間の公平性を担保することができました。
一方で、銀行の利益は利益を最大化する時と比較し減少します。そのため、本論文では、公平性と利益の最大化のトレードオフを考慮して、最適なバランスを見つけることが重要であると主張しています。

### Bayes optimal predictors（ベイズ最適予測器）
また、本論文では「Bayes optimal predictors（ベイズ最適予測器）」を使用して、予測されたラベルを確率的に変更することで、「equalized odds」、「equal opportunity」を実現しています。
![5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3345895/3c8a8c68-0a27-9b80-7c86-3b748cfe8bed.png)

### ソースコードについて
以下のgithubで、「Equalized Odds Postprocessing」が実装されたソースコードが公開されています。（<https://github.com/Trusted-AI/AIF360>）
※なお、本ソースコードの公開元は異なりますので、質問等にはお答えできません。あらかじめご了承ください。