DEVELOPER’s BLOG

技術ブログ

【AIと倫理】Fairness in Machine Learning: 機械学習での"公平性"

2019.12.04 いけだ ひろき
コラム 機械学習
【AIと倫理】Fairness in Machine Learning: 機械学習での


目次

        

はじめに:Fairness in Machine Learningとは

皆さんに質問です。"Fairness(公平性)"とは何でしょう?


では、次の質問です。機械学習や使われるデータは"Fairness(公平性)"が担保されているでしょうか?


題名のFairness in Machine Learningとは『機械学習における公平性』を表しています。


機械学習や統計データと聞くと世間的には『データを使った結果(相関・因果関係、予測モデル) だから信頼できる!』と感じている方も多くいると思います。残念ながら、その考えは正確ではありません。なぜなら、データは『嘘を付くから』です。


加えて、機械学習や統計は完全に"objective(客観的)"だと考えられているかもしれませんが数字で表しても、数学を駆使しても、故意であろうとなかろうと、客観的とは限りません。


2018年アマゾン社(以下、アマゾン)のAI採用を例に見てみましょう(※同社は既にこの採用システムを打ち切っています)。アマゾンはコンピューターに過去の履歴書を学習させ、優秀な人材を採用していました。具体的には点数をつけどの人材がアマゾンにとって最適かの判断を基に採用活動を行いました。


しかしながら、技術関係の職種においてそれまでの多くの応募者(採用者)は男性だったため、AIが女性、もしくは、女性という単語が履歴書に入っているだけで減点の対象になっていました。その結果、数名の女性応募者は選考に落ちてしまいました。


もちろん、アマゾンはこれだけを採用の判断材料とはしていなかったでしょうが、結果としてAIが女性に対して不利な判断を導き出す結果になりました。


以上の例は機械学習における『バイアス』の一部です。データが既にバイアスを含んでいれば、相関関係や予測モデル構築の際にもその影響が出てきます。またデータに含まれるバイアスだけでなく、差別や機械学習モデルの公平性なども予測モデル構築、及び、その解釈に影響します。


この"Fairness in Machine Learning"に関する議論は機械学習技術が注目される前から存在していました。近年、その技術の発展とともに今機械学習界で最もホットなトピックの1つです。今回はそんな注目の話題を、Mehrabi氏達による論文"A Survey on Bias and Fairness in Machine Learning"(2019年9月公表)に基づき説明します。


まず、データにはどのような『バイアス』が含まれている可能性があるのか見ていきましょう。


データとバイアス

bias          

Mehrabi氏達はデータ変数特有の不均一性がバイアスを生じさせる、と述べています。御存知の通り、各データは多種多様な要素・手法を使って集められています。データの多様さに伴い、バイアスにも多くの種類が存在します。


Mehrabi氏達は同論文中にその他の研究を引用し23個ものバイアスの種類を挙げています。全部列挙し、説明すると膨大な量になるためいくつかに絞って紹介します


バイアスの種類

  • Historical bias(歴史的バイアス)

  • この歴史的バイアスはSuresh氏とGuttag氏による論文の中に登場しました。同氏達が最初に挙げた歴史的バイアス、簡潔に言うと、これまでに起こった出来事(歴史)が欲していない結果を生じさせることを意味しています。


    同氏達が例に挙げたのは"crime(犯罪)"です。欠点のない完璧な定義を『犯罪』に与えたとしましょう。そして犯罪率などのデータを分析した際、より貧しい住民ほど犯罪に手を染める、と結果が出たとします。


    結果を視た人は潜在的に『貧しい人は犯罪に手を染める』と考えてしまうようになります。これが歴史的バイアスです。


  • Population bias(人口バイアス)
  •          

    人口バイアスとは対象データが各グループ内においてデータ分布や数などが異なっている状態です。例えば、Hargittai氏は、どんな要素が人々の使用するSNSの種類決定に影響を及ぼしているかについて研究を行いました。


    その結果、人種、民族、若者に至っては両親の教育レベルなどによってSNSのユーザー層が異なると結論付けました(例:若者ユーザーの両親が経済的に豊かであればFacebookを使う傾向がある 等)。


    例えば、絶対的貧困層の需要(社会保障、教育 等)をFacebookを使い調査するとします。しかし、Facebookユーザーにはそれほど貧困に苦しんでいるユーザーはいません。もちろん、相対的貧困に苦しんでいる人々はFacebook上でも存在するでしょう。しかしこの例の調査は"絶対的"貧困層であり、相対的貧困層ではありません。


    したがって、上記のようなFacebook調査でもし仮に十分な数の意見が集まったとしても、それは絶対的な貧困層に対する間違った分析結果を導きかねません。


    このようにデータ分布に偏りがあれば、もちろん、それを使った分析は間違った予測を導き出してしまいます。


  • Cause-effect bias(因果バイアス)
  •          

    因果バイアスとは相関関係と因果関係を一緒だと考えることです。Mester氏はある記事に説明しているように、2つ(ないしはそれ以上)の要素が相関関係にあったとしてもそれらがいつも因果関係には至るとは限りません。


    同氏はECサイトのloyaltyメンバーを例に出しています。Loyaltyメンバーの顧客はLoyaltyメンバーでない顧客の5倍、購買しています。この結果Loyaltyメンバープログラムが成功したと結論づけても問題ないでしょうか?


    Loyaltyメンバーの顧客が同メンバーシップに興味があったのは間違いありませんが、そもそもLoyaltyメンバーになるような顧客はメンバーでなくてもその他の顧客に比べて5倍の金額の消費をしていたかもしれません。


    これ以外にもSocial bias(社会的バイアス)やPopularlity bias(人気バイアス)などその種類は様々です。参考文献からいくつか選んで読んでみてください。


      "Discrimination"(差別)とは?

      discrimination          

      この記事のタイトルは"Fairness in Machine Learning"なので、機械学習における"Fairness"(公平性)とは何なのかを述べなければなりません。


      しかし、当記事の基になっているMehrabi氏達の論文では、先にその対義語である"Discrimination"(差別)について論じています。そのためそれに習いまずはどのような種類の差別があるか見ていきましょう。

      差別の種類

      • Direct discrimination(直接的差別)

      • 直接的差別とは当人がどうしようもない要素によって望ましくない結果(面接や履歴書での不合格など)を受け取る状況です。


        例えば、とても優秀な1人の女性がある会社に従業員として働くために応募するとします。しかしその会社は彼女が女性であるため雇いませんでした。


        このように明らかにその人物には落ち度がない(能力や対人面接能力などに問題がない)にも関わらず、女性であるだけで雇われないのは明確な直接的差別です。


      • Indirect discrimination(非直接的差別)

      • 非直接的差別とは公平性が担保されているような要因が結果として差別を引き起こしている状況です。


        例えば、郵便番号。郵便番号は住所さえあれば誰でも平等に手に入ります。しかしそれは差別を引き起こす可能性を含んでいます。なぜでしょうか?住所によって振り分けられる郵便番号は、言い換えれば、人々が住んでいる地域を判別します。


        周りから疎まれているある特定の人種の人たちがどの地域に住んでいるか判別可能なため、ローンを組む際にその人種には許可を出さないなどもできてしまいます。このように一見、公平に見えるものからの間接的な差別の誘発を非直接的差別といいます。


        他にもSystemic discrimination(構造的差別)、Statistical discrimination(統計的差別)等が存在します。


      "Fairness"(公平性)とは?

      fairness          

      バイアスとは何か、差別とは何かの説明後、Mehrabi氏達はFairness(公平性)について様々な論文を基にまとめています。全部で10個も存在するためいくつか筆者が選んで紹介します。


      Fairness(公平性)の定義

      • Equalized odds(等しい確率)

      • 機械学習モデルによって導き出される答えが、センシティブ属性(人種、国籍、性別 等)による影響を受けない状態です。全員が等しくTrue positiveとFalse positiveの確率を受け取ることを指します。センシティブ属性について当記事では割愛していますが、参考文献からご覧いただけます。


      • Equal opportunity(機会均等)
      •  

        これも1つ目と類似しており、機械学習モデルによって導き出される答えがセンシティブ属性による影響を受けない状態です。全員が等しくTrue positiveの確率を受け取ることを指します。


      • Demographic parity
      •                                           

        センシティブ属性に関わらず、予測される結果(positive outcome)の確率は同じでなければなりません。

              

      この他にも様々な定義があります。ただこれもバイアスの種類と同様、膨大な数が紹介されているので全部は紹介しませんでした。

                             
                             

      まとめると、筆者の解釈は、機械学習モデルによって導き出す答えが個人のステータスやバックグラウンドに左右されない状態をFairness(公平性)だと考えています。


              

      Fairness in Machine Learningがなぜ重要なのか、Mehrabi氏達は論文内で議論しています。Fair(公平)でないデータやモデルを利用すれば、潜在的にある特定の人々が被害を受けるかもしれません。例えば、ある町で貧困に喘ぐ人と窃盗犯罪率が相関関係にあるとします。ここで機械学習において貧困者だから窃盗犯に違いない、もしくは、窃盗犯の確率が高いと結論付けられしてしまえば、そこにはFairness(公平性)は存在しません。


              

      このような問題は人々の潜在的差別意識にも働きかけてしまいます。貧困者=犯罪者と誤認してしまい貧困者に対する差別がより強まるかもしれません。短格的な考えに至ればホームレスに対する殺人を正当化するなど、間違った解釈をしてしまう可能性も否めません。


              

      私たち人が偏見や差別意識を持っているように、機械学習においても同じ問題が起こります。それらを極力防ぐために研究者や機械学習に精通する人以外もデータや予測モデルにおける差別やFairness(公平性)を認識することが重要ではないでしょうか?

      機械学習モデルをどのようにFair(公平)にするか

      fair         

      では、バイアスや差別をなくし、機械学習モデルにおいてFairness(公平性)を実現するにはどうすればよいでしょうか?


      同論文内では3つの方法(段階)が示されています。またこれに伴いMehrabi氏達は基本的な機械学習技術を例示しています。

      Fairness(公平性)のためのデータ処理方法

      • Pre-processing(前処理)

      • 差別がなくなるようにデータを編集します。前処理テクニックの特徴量作成、データ分類、次元削減(PCA)などが当てはまります。下記論文にデータの"Discrimination(差別)"を無くすための方法、その基となるアルゴリズムが書かれています。オープンソースなので興味のある方はぜひ一読してはいかがでしょうか?

        Kamiran and Calders, T. (2012) "Data preprocessing techniques for classification without discrimination"


      • In-processing(処理中)

      • データ処理中において差別を無くすような関数などをモデルに組み込みます。また関数だけでなくデータ分類や適した回帰モデルの使用によってFairness(公平性)の実現に近づきます。


      • Post-processing(後処理)

      • トレーニングデータに関与しないデータセットにのみ行う処理です。最後のpost-processingに関してはあまり意味を理解できませんでした。下記の論文が例のようですが、pre-processingやin-processingとあまり変わらない気も...。

        Hardt, M. *et al*. (2016) "Equality of opportunity in supervised learning"

        Pleiss, G. et al. (2017) "On fairness and calibration"


              

      恐らく、機械学習モデルが割り当てたラベルが適切でない場合の(例えば、カテゴリカル変数であるべきデータが連続変数になってしまっているので適切な変数を割り当てる)処理の仕方だと思います。加えてモデルが出した結果の可視化(visualization)なども含まれるそうで、幅広い意味でモデルが適した結果を出しているか確認する方法のようです。


              

      Mehrabi氏達はこれらの説明をした後、詳細な手法やどのモデルにどの操作を加えるといいかを提案しています。当記事では文字量や複雑さの関係から扱いませんが、興味のある方は同論文に目を通してみてください。25ページほどの論文でかなり読み応えがあります。


      おわりに

              

      "Fairness in Machine Learning"についての議論は機械学習やAIが浸透するに伴い、避けては通れません。


      『機械学習』と聞くと技術の問題やセキュリティの問題などがよく目に付きます。筆者の個人的意見ですが、そこにはデータや機械学習の判断が完璧である、という奢りが存在しているのではないでしょうか?


      データや機械学習を批判しているのではなく、それらはありとあらゆる問題点(注意すべき点)を含んでいると人々が自覚すべきだと考えています。なぜなら、冒頭でも述べたように全てのデータや予測モデルが客観性を担保しているわけではないからです。


      皆さんもこの機会に機械学習とFairness(公平性)について考えてみてはいかがでしょうか?


      参考文献、リンク

      Hardt, M. *et al*. (2016) "Equality of opportunity in supervised learning"

                             

      Kamiran, F. and Calders, T. (2012) "Data preprocessing techniques for classification without discrimination"


      Mehrabi, N. *et al*. (2019) "A survey on bias and fairness in machine learning "


      Pleiss, G. *et al*. (2017) "On fairness and calibration"


      Suresh, H. and Guttag, J. V. (2019) "A framework for understanding unintended consequences of machine learning"


      Statistical bias types explained - part2 (with examples)


      焦点:アマゾンがAI採用打ち切り、「女性差別」の欠陥露呈で


関連記事

コード生成を安定させる3つのポイント:設計書・指示の出し方・セッション管理

はじめに ポイント1:設計書を書いてもらいましょう ポイント2:Geminiを使うときの指示の出し方 ポイント3:自分で修正したら「読み直して」と必ず伝える まとめ はじめに 生成AIを使ってコード生成や修正を行うことは、もはや特別なことではなくなってきました。 Gemini や CodeX、Copilot、Cursor など、選択肢も増え、「うまく使えばかなり楽になる」という実感を持っている方も多いと思います。 一方で、実際に使い込

記事詳細
コード生成を安定させる3つのポイント:設計書・指示の出し方・セッション管理
コラム 生成AI
MacBook Proにログインできない?復旧キーの探し方とロックの解除手順

はじめに 復旧キーとは? 「復旧キーがない場合」を試す まとめ はじめに 先日、私用のMacBook Proにログインできなくなる問題が発生しました。 経緯としては、2台あるMacBook Pro AとMacBook Pro Bを取り違えてしまい、MacBook Pro AにMacBook Pro Bのパスワードを入力し続け、パスワード入力の試行可能回数を超過してMacBook Pro Aにロックがかかりました。 Macのログインパスワー

記事詳細
MacBook Proにログインできない?復旧キーの探し方とロックの解除手順
コラム
AWSマルチアカウント環境でのOS・パッチ・証明書の統合管理

はじめに SSM統合コンソールによる一元管理 OSなど構成情報の可視化 Patch Managerによるパッチ運用の標準化 証明書有効期限の集中監視と自動通知 導入効果と業務改善イメージ 導入時の設計上の留意点 継続的改善を支える「運用の仕組み化」 1.はじめに クラウド活用が拡大し、AWS環境が複数アカウントで利用されたり、複数システムにまたがって利用されることは、システム運用における構成の一貫性を維持することの難易度を

記事詳細
AWSマルチアカウント環境でのOS・パッチ・証明書の統合管理
AWS SRE コラム
AWSの可用性設計を考える:AZ・リージョン・事業継続計画(BCP)のバランス

はじめに 可用性設計の基礎:リージョンとAZの仕組みを理解する 止まらない設計を妨げる単一点障害:単一AZ構成の限界 マルチAZ構成:同一リージョン内での止まらない仕組み マルチリージョン構成:事業継続(BCP)のための冗長化 まとめ:設計段階で「どこまで止めないか」を決めよう 1. はじめに AWSは、数クリックで仮想サーバー(EC2)を立ち上げられるなど、手軽にサービスを構築できるクラウドです。システム企画や開発の初期段階では

記事詳細
AWSの可用性設計を考える:AZ・リージョン・事業継続計画(BCP)のバランス
AWS コラム

お問い合わせはこちらから