Fairness入門 ~AIに倫理観を教える~

AIを勉強している皆さんこんにちは。

皆さんはFairnessを知っていますか?

FairnessはAIの分野の一つで、近年とても注目されています。そこで、A Survey on Bias and Fairness in Machine LearningというFairnessのサーベイ論文を軸にしてFairnessの入門記事を書くことにしました。

2011年から2017年までのFairnessの論文数

引用元: https://towardsdatascience.com/a-tutorial-on-fairness-in-machine-learning-3ff8ba1040cb

Fairness(公平)とは

AIにおけるFairnessという分野とは、「AIの判断を出来るだけ公平なものにしよう。」という分野です。公平なAIとは何でしょうか。例えば、人間に関する情報を入力とし、その人間が今後犯罪を犯す確率を出力するAIを考えましょう。人間に関する情報は年齢、性別、出身地、過去の犯罪歴などとしましょう。AIがそれらの情報を元に今後犯罪を犯す確率を計算するわけですが、当然学習にはデータセットが必要になります。そのデータセットにとてつもなく犯罪率が高い都市Aがあったとします。すると、AIは出身地の情報をとても重要視することになります。

AI「あ、この人の出身地は都市Aか。じゃあ犯罪する確率高めにしよう。」

という風になります。どうでしょうか。これって不公平じゃないでしょうか。

確かに、都市Aの犯罪率がとてつもなく高いならば、都市Aに住んでいる人は犯罪を犯す確率は高くなるかもしれません。しかし、まだ犯罪を犯していない好青年が、ただただ自分の生まれた土地のせいで犯罪を犯す確率を高く予想されてしまうというのは公平ではありません。だからと言って出身地情報を全く使わないで判断すると予測精度が著しく落ちてしまいます。ここら辺をきっちり議論しようという分野、それがAIにおけるFairnessです。

センシティブ属性

Fairnessには重要な概念としてセンシティブ属性というものがあります。(センシティブ属性のことをprotected attributeと記述する論文もあります)。センシティブ属性とは、「公平性を保つためには使うべきでない情報」のことです。例えば、性別、出身地、肌の色などですね。これらの線引きは難しいことだと感じるかもしれません。しかし、FHA(Fair Housing Act)とECOA(Equal Credit Opportunity Act)という2つのアメリカの法律において何がセンシティブ属性であるかどうかが明記されており、それらに従いFairnessなAIの設計を行うことがよくあります。下がFHAとECOAにおけるセンシティブ属性のリストです。

属性 FHA ECOA
人種 センシティブ属性とする センシティブ属性とする
肌の色 センシティブ属性とする センシティブ属性とする
国籍 センシティブ属性とする センシティブ属性とする
宗教 センシティブ属性とする センシティブ属性とする
性別 センシティブ属性とする センシティブ属性とする
家系の地位 センシティブ属性とする
障がいの有無 センシティブ属性とする
CCPA*に基づく権利の行使 センシティブ属性とする
既婚かどうか センシティブ属性とする
公的援助の有無 センシティブ属性とする
年齢 センシティブ属性とする

fair housing法 and equal credit opportunity法で指定されているセンシティブ属性リスト

*CCPAとはカリフォルニア消費者プライバシー法のこと。

バイアスの種類

不公平が起きてしまう理由としてバイアスが挙げられます。バイアスとは日本語で「偏り」です。機械学習においてはデータやアルゴリズムや評価方法に存在する偏りのことを指します。バイアスにも様々な種類が存在します。

バイアス名

説明
歴史的バイアス 歴史的背景から起こりうるバイアス

(例) 女性のCEOの写真の数は男性に比べて圧倒的に少ない。

代表値バイアス ある人口をサンプリングしてきた時に生じるバイアス。

(例) imageNetは西洋に偏っている。

計測バイアス 特定の小さい集団が結果と強く結びついている際、その集団に対する計測に偏ってしまうこと。

(例) COMPASデータセット (後述)

評価バイアス イテレーション時、評価が適切でない時に発生するバイアス。
集合バイアス 一般的な仮説が導くバイアス。

(例) 糖尿病の判定に民族の情報を与えてしまう。

人口バイアス データセット内において人口統計的な差異から生じるバイアス。

(例) 女性はPinterest, Facebook, Instagramをよく使うが、男性はReddit, Twitterを多く使う。

シンプソンのパラドックス グループ全体とグループの部分集合で異なる解析結果が生じることがあること。

(例) A君とB君は2種類のテストを受けることになった。1種類目のテストでは、A君は100問解いて60問正解、B君は10問解いて9問正解。2種類目のテストでは、A君は10問解いて1問正解、B君は100問解いて300問正解。1種類目のテストも2種類目のテストも正解率はB君が勝っているのに、全ての問題における正解率はA君が勝っている。

断片的データの誤り データセットが断片的であることによるバイアス。
抽出バイアス データセットが無作為に抽出できていないことによるバイアス。
振る舞いバイアス プラットフォームの違いによるバイアス。

(例) ユーザーはプラットフォームによって絵文字の使い方が異なる。

成果物バイアス ユーザによって用いられる語彙, 文法, 文章の差異から生まれるバイアス。
リンクバイアス SNS等のつながりの度合いによって生じるバイアス。
一時的バイアス 一時的にしか発生しない現象によって生じるバイアス。

(例) Twitterで議論される話題に対して最初の方はハッシュタグをつけるが、後の方からはハッシュダグをつけずに議論を続ける。

人気バイアス 人気のものは晒されやすいというバイアス。

(例) レコメンドシステムが人気商品ばかりレコメンドしてしまう。

アルゴリズムバイアス 入力データではなく、アルゴリズムに存在するバイアス。
ユーザーインタラクションバイアス ユーザーの行動によって生じるバイアス。プレゼンテーションバイアスとランキングバイアスに分けることができる。

プレゼンテーションバイアス: 情報の受け取り方によって生まれるバイアス。(例) クリックできる情報は見るが、クリックできない情報は見ない。

ランキングバイアス: 1位にクリックが集中する。

ソーシャルバイアス 情報を他人からどのように受け取るかが判断に影響を与えること。

(例) 評価システムにおいて高い評価を得ているものに高い評価をつけてしまいがち。

新興バイアス 実際にユーザーに使ってもらうことによって生じるバイアス

(例) UIデザインなどが変わった時に使いづらく感じてしまうバイアス。

自己選択バイアス 調査を受けるものが自分で研究に適切に参加できると判断したときに起こるバイアス。

サンプリングバイアスの部分集合。

例) 優秀な学生に関する調査を実施した際、優秀でない学生が調査に答えるために自分が優秀であると思ってしまう。

実際、優秀な学生は調査に答えるために時間を使わないので、このバイアスが発生する確率は高い。

変数消去バイアス 重要な変数をモデルから除外してしまうことで生じるバイアス。

例) 1年間で客があるサービスを購読しなくなる割合を高い精度で予測するモデルを設計するとするが、あるサービスの競合サービスが誕生することを考慮に入れられていないので、もし競合ざービスが誕生した場合、予期せぬ大量ユーザーの購読解除が発生してしまう。

因果バイアス 相関関係を因果関係だとみなしてしまうことによって生じるバイアス。
観測者バイアス 研究者が無意識的に予測を調査に持ち込んでしまうことによって生じるバイアス。
資金バイアス 資金調達先の会社に満足が行くように、結果にバイアスをかけてしまうこと。

全て読んだ方は感じたかもしれないですが、バイアスとは非常に抽象的な概念なのです。データの数が偏っていることもバイアスの一種ですし、データの抽出の仕方で生じる偏りもバイアスです。要するにバイアスとは、真実から離れてしまう原因なのです。

差別の種類

Fairnessの定義はたくさん存在します。それらを理解するためには差別(discrimination)を理解することが重要です。差別は先ほど触れたバイアスから生まれるものです。どのような差別が存在するか一つ一つ見ていきましょう。(ここで記載されているdiscriminationの中には正当なものあり、それについては区別と訳しています。)

差別名 説明
直接差別 個人のセンシティブ属性が不利益な結果を生む差別。
間接差別 センシティブ属性ではないが、暗黙的に生まれている差別。

(例) 郵便番号はセンシティブ属性ではないが、出身地の差別を可能にする変数。

組織的差別 政治や習慣や文化などで組織的に行われている差別。
統計的差別 意思決定者が平均的なグループを使用することで生まれる差別。
説明可能な区別 異なるグループ間での扱いや結果の違いがある属性によって説明可能である区別。

(例) UCI Adult dataset(年収を予測するタスクのデータセット)において、男性の年収は女性の方が高いが、これは女性の労働時間が男性より少ないことから説明することができる。しかし、もし労働時間に気づかず、不当な差別だとして男性の給料を安くするような意思決定をしてしまった場合、男性の時間あたりの収入が減少してしまい逆差別になってしまう。

説明不可能な差別 上記とは異なる不当な差別。

Fairnessの定義

さて、もっとも重要な項目に来ました。Fairnessの定義です。Fairnessは一辺倒に定義することはできません。上記のセンシティブ属性やバイアスや差別の説明でわかることなのですが、AIの予測結果がセンシティブ属性に依存していないだけでFairnessが達成できるわけではないのです。それだけでは例えば間接差別を防ぐことができていないのです。では、どんなAIがFairnessなのでしょうか。下の表にまとめました。

表を見る前に、表に出てくる記号や状況について確認しておきましょう。

状況: 人に関する情報からその人を採用するかどうかを判断する。(教師あり学習)

$Y’$: モデルの予測の確率変数

$S$: センシティブ属性の確率変数

$R$: 個人が属しているグループの確率変数

$L$: 正当な属性の集合

$Y$: 正解ラベルの確率変数

例) $P(Y’ =1 | S=1, Y=1), y\in{0, 1}$は「センシティブ属性が1で正解ラベルが1であるときに1と出力する確率」となります。

Fairness 説明
Equalized Odds (等しい勝率) $P(Y’=1 | S=0, Y=y) = P(Y’=1 | S=1, Y=y), y\in{0, 1}$

モデルが正解が「採用」であるデータに対して「採用」であると結論づける確率はセンシティブ属性に影響されない。かつ、モデルが「不採用」であるデータに対して「不採用」であると結論づける確率もセンシティブ属性に影響されない。

Equal Opportunity (機会均等) $P(Y’=1 | S=0, Y=1) = P(Y’=1 | S=1, Y=1)$

モデルが正解が「採用」であるデータに対して「採用」であると結論づける確率はセンシティブ属性に影響されない。

Demographic Parity (人口統計学的属性の平等) $P(Y’ | S=0) = P(Y’ | S=1)$

センシティブ属性の差異にかかわらず、モデルの予測確率は同じにならなければならない。

(例) 女性も男性も合格率10%にならなければならない。正解しているかどうかは関係ない。

Fairness Through Awareness (認識を通した公平) 似ているデータには似た予測を出力するべき。

言い換えると、あるタスクの為に定義された類似度において似ている二つの個人は似たような分類をされるべき。

Fairness Through Unawareness (無意識による公平) いかなるセンシティブ属性が意思決定プロセスに用いられていないならば公平だと言える。
Treatment Equality (扱いの公平) センシティブ属性に関わらず不正解の確率が同じでなければならない。
Test Fairness (テストの公平) $P(Y=1 | S=s, R=b) = P(Y=1 | S=s, R=w)$

個人の属しているグループの情報を変更した際に、出力値が全く変わらないときTest Fairnessが実現していると言える。

Counterfactual Fairness (反実仮想的公平) ある人物が別のグループに属していたとしても決定は変わらない時、Counterfactual Fairnessが実現していると言える。
Fairness in Relational Domains (ドメイン関係における公平) ドメインに関する関係構造をつかめている公平性。

つまり、個人の属性だけでなく社会的, 機関的な個人間のつながりを考慮に入れらている公平性。

Conditional Statistical Parity (条件付き統計的平等) $P(Y’ | L=1, S=0) = P(Y’ | L=1, S=1)$

ある正当な要因の集合Lが与えられた時、全ての人々は「採用」と判断される確率が等しくなるべき。

定義が多すぎると感じたあなたはとりあえずEqualized OddsとEqual OpportunityとDemographic Parityだけを覚えておきましょう。非常に多く用いられる定義です。

AIをFairnessにする方法

AIをFairnessにするためにはどれほどFairnessであるかという評価指標が必要になります。上の定義からどれほどFairnessであるかを算出することができます。Demographic Parityを例にとると、$P(Y’ | S=0) = P(Y’ | S=1)$が定義なので、$P(Y’ | S=0)$と$P(Y’ | S=1)$の差の絶対値を評価指標とするとFairness度のようなものが計算できていることになります。また、$P(Y’ | S=0)/P(Y’ | S=1)$を1に近づけるという手法も存在します。この評価指標を基にAIをFairnessにするのですが、具体的な方法は次の3つに分けることができます。

  • Pre-Processing (前処理): 差別がなくなるように前処理を施す。これはトレーニングデータが編集可能である場合に行える。
  • In-Processing (処理中): トレーニングにおける工夫で、損失関数を設計するなどがこれに当たる。
  • Post-Processing (後処理): トレーニング中に関与しないデータセットに対してトレーニング後に行う処理。

データセット

Fairnessを考慮しなければユーザーが不利益を被るデータセットはたくさん存在しますが、その中でも有名なデータセットを紹介します。

  • COMPAS Dataset
    • 人間の属性から犯罪危険性を予測することが目的のデータセット
  • UCI Adult Dataset
    • 1994年の国勢調査から抽出された年齢、職業、学歴、人種、性別、既婚の有無、種深刻、労働時間などの情報から年収が50,000ドルを超えているかどうかを予測するデータセット。
  • German Credit Dataset
    • 人物の属性からお金を貸すリスクがあるかどうかを分類するデータセット。
    • 説明変数: 7個のnumerical data, 13個のカテゴリカルデータ
  • Communities and Crime Dataset
    • 強盗や殺人などの犯罪に影響を与える可能性のあるいくつかの要因に関連するアメリカの様々なコミュニティから収集した情報。
  • Recidivism in Juvenile Justice Dataset (少年司法における再犯率データセット)
    • 少年院にいた子達の情報から再犯率を予測するデータセット
  • Pilot Parliaments Benchmark Dataset
    • アイスランド、フィンランド、スウェーデンのヨーロッパ3か国とルワンダ、セネガル、南アフリカのアフリカ3か国の国民議会の1270人の画像があり、それぞれに画像に年齢性別などの情報が紐づけられている。
  • Diversity in Faces Dataset
    • Face recognitionのデータセットで、顔の特徴(肌の色、性別など)が紐づけられている。

Fairnessとこれから

この記事で説明したFairnessは人の情報から犯罪確率を出力するようなテーブルデータを扱ってきましたが、それだけではありません。A Survey on Bias and Fairness in Machine Learningでは以下の分野にもFairnessの考えを適用可能であるとしています。

  • 分類 (Classification)
  • 回帰 (Regression)
  • 構造的な予測 (Structured Prediction)
  • 表現学習 (Representation Learning)
  • 自然言語処理 (NLP)

この主張の通り、Fairnessはこれからたくさんの分野で考慮に入れられると予測されてます。しかし、Fairnessにもまだまだ課題が残っています。同じ論文で下のことを課題にあげています。

  • Fairnessの定義の結合
  • 平等から公平へ
  • 不平等を探し続ける

私はこのような課題を解決し、様々な分野に適用すること無しにAIと社会に明るい未来はないだろうと考えています。読者の中でAIの製品を世に送り出そうとする機会がある方は、必ずFairnessについて考えていただきたい。そのAIは公平であるかどうか、これをきっちり検討することでその製品のユーザーの経験もより良くなり、長く愛される製品になるというメリットもあります。

FairnessはAIを社会に送り出すために一度は通らなければならない道なのではないでしょうか。

参考論文・記事

論文名: A Survey on Bias and Fairness in Machine Learning

Subjects: Machine Learning

Submit: [v1] Fri, 23 Aug 2019 [v2] Tue, 17 Sep 2019

Written by: Ninareh MehrabiFred MorstatterNripsuta SaxenaKristina LermanAram Galstyan

URL: https://arxiv.org/abs/1908.09635

論文名: The Frontiers of Fairness in Machine Learning

Subjects: Machine Learning

Submit: [v1] Sat, 20 Oct 2018

Written by: Alexandra ChouldechovaAaron Roth

URL: https://arxiv.org/abs/1908.09635

論文名: Fairness Through Awareness

Subjects: Machine Learning

Submit: Wed, 20 Apr 2011

Written by:Cynthia DworkMoritz HardtToniann PitassiOmer ReingoldRich Zemel

URL: https://arxiv.org/abs/1908.09635

論文名: A Survey on Bias and Fairness in Machine Learning

Subjects: Machine Learning

Submit: [v1] Fri, 23 Aug 2019 [v2] Tue, 17 Sep 2019

Written by: Ninareh MehrabiFred MorstatterNripsuta SaxenaKristina LermanAram Galstyan

URL: https://arxiv.org/abs/1908.09635

この記事をシェアする