正しくAIを作り、活用するために必要な「AI倫理」について、エンジニアが知っておくべき事項を解説する本連載。第2回は、データ収集の際に起きてしまうバイアスの発生を防ぐために、AI構築に携わる技術者がとるべき対応について。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
前回の記事ではAI開発中に内在する代表的なバイアスやリスクを整理した。解説したリスクはどれも重大な損失につながる可能性があるため、AIがもたらす効果とAI倫理を整理した上で、実現するAIの構築が必要だ。一方で「これさえ押さえれば倫理的なAIの出来上がり」という解決法はない。AI技術者は、数ある手法群から状況に適した技術を選定し、活用しやすいAIの構築を目指していくことが求められる。
今回は、前回整理したデータ収集の際に起きてしまいがちなバイアスの発生を防ぐために、AI構築に携わる技術者がどのように対応すべきか、具体的な方法を解説する。
AIモデル学習に用いるデータセットが、人種や民族、性別などによる偏見やギャップの影響を受けている場合には、それに基づくAIモデルも容易に影響を受けてしまう。データが含む偏見やギャップを忠実に再現してしまうこともあるだろう。そのような課題を解決するには、単に、人種、民族、性別といったセンシティブな属性をモデルに学習させない、というだけでは不十分だ。
なぜなら、センシティブな属性と関連する特徴量をAIが学習することで、間接的にセンシティブ情報がAIモデルの予測結果に影響を与えてしまうからだ。この現象は「Red-Lining効果」と呼ばれる。過去に米国で、低所得層の特定人種が居住する地域に対して、金融機関が融資を避けるという差別が発生した。その際、黒人居住区を地図上に赤線で囲っていたことがこの現象の名前の由来だ。この場合、適切な対策を講じないと人種に基づく偏見と居住地データが間接的にひも付いているため、居住地データを用いてAIモデルを構築してしまうと人種に基づく偏見を持ったAIが構築されてしまう。
では、どのように対処すればよいだろうか。AIモデルにおいて差別や偏見を取り除くためには、まず差別や偏見がない公平な状況を定義することから始めることが必要だ。
以下の図は公平ではないAIモデルの予測精度を示している。センシティブ属性に依存してAIモデルの予測値が変わらないといったような状態は、公平な状況といえるだろう。しかし、性別によって正答率が10%以上変わってしまっているため、正答率で比較するとAIモデルによる予測が性別によって不公平な状況となっている。
公平ではないAIモデルの分かりやすい例を紹介したところで、改めてAIにおける「公平性」とは何かについて掘り下げたい。対象とする問題や状況も考慮すべき要素ではあるが、ここでは代表的な集団公平性の定義である「民主的公平性(Demographic Parity)」と「均等オッズ(Equalized Odds)」について解説をする。
簡単に説明するため、センシティブな特徴を2値変数のS∈{0,1}とし、Y∈{0,1}を予測する2値の分類問題対象に説明する。
予測値を
とすると、民主的公平性は、以下のように表される。
これはセンシティブ属性にかかわらず、AIモデルにより推定された確率
が不変であるという定義となる。つまり、民主的公平性を保持できていたとすると、人種や性別といったセンシティブ属性によって予測スコアの分布が変わらないことになるので、その意味で公平なAIといえる。
一方、民主的公平性は本来の目的変数の分布を無視していることから逆差別につながりやすい指標ともいえる。それらの問題を解決する、AIにおける集団的公平性定義が、均等オッズだ。均等オッズは、以下のように表される。
一見難解であるが、これはy=1の場合、左辺と右辺はともに真陽性率(True Positive Rate)を表しており、センシティブ属性ごとに真陽性率が変わらないことを示している。また、y=0の場合には偽陽性率(False Positive Rate)がセンシティブ変数によらず均等であるという定義となる。つまり、センシティブ属性によって、真陽性率、偽陽性率といった精度の違いが存在しないことが定義となっている。
その他にも均等オッズをy=1のみの場合に限定した「Equal Opportunity」という公平性の定義も存在する。機械学習において、y=1の場合に治療や採用など、機会が与えられることが多いことに由来しており、特定クラスに対する公平性を担保したい場合に有用な定義である。こうした公平性の定義に関してもAIを構築する際には、適切な公平性の定義を選択していく必要がある。
ここまで公平なAIを実現するための指針となる定義を解説した。次にその定義を直接または間接的に実現するアプローチについて紹介する。
選択した指標に沿って公平なAIを実現するためには、a.学習前にデータセットをより公平にする「Pre-Processing」、b.公平な学習をAIモデル内部の学習アルゴリズムで行う「In-Processing」、c.学習したAIモデルの予測値やモデルアウトプットを補正する「Post-Processing」の3つのアプローチが存在する。
a.学習前に公平な状態を目指すPre-Processing
Pre-Processingは、モデル学習前に、より公平な状態を目指すアプローチだ。例えば、センシティブ属性と相関性が高い特徴量を除くのも1つの手法だ。センシティブ属性と関係が強い特徴量を除去することで、センシティブ属性と目的変数の暗黙的な相関を緩和することができる。
例えば、Pre-Processingの1つ、「Reweighing」という手法では、それぞれのセンシティブ属性とクラスの組み合わせにおいて、公平な状態での出現頻度と現在の出現頻度の比から「公平な状態からどれほどずれているか」を算出する。その比をAIモデルの損失関数に重みとして利用することで、本来公平な状態での出現頻度を加味したうえでモデルを学習できる。データを改変せずに、公平に学習させられるため、解釈性を損なわない手法だ。
b.学習時に公平な状態を目指すIn-Processing
モデルが出した予測値と、実測値のズレを表現する関数を損失関数と呼ぶ。In-Processingでは、このAIモデル内部の損失関数に損失項を加えることで、公平な状態を目指すアプローチだ。公平に近い場合には小さく、公平が保たれていない場合には大きく損失項を加えることで、実現したい公平性を直接扱うことが特徴だ。例えば、In-Processingのアプローチの一つである「Reduction Method」では、実現したい公平性基準(Demographic Parityなど)を明示的に指定し、それが損なわれている程度を定量化し、制約として表現したうえで、学習を実行する手法である。
また、「Adversarial Debiasing」とよばれる手法も紹介したい。この手法は、生成モデルの「Generative Adversarial Networks」などで用いられる「Adversarial Training」を用いる。Adversarial Debiasingでは、まず片方のニューラルネット(モデルA)で、通常の目的変数を予測するモデルを構築した上で、もう片方のニューラルネット(モデルB)で、モデルAの予測値を入力として、センシティブ属性を予測する。モデルAは、目的変数への予測誤差を最小化するように学習すると同時に、モデルBの損失が最大化されるように学習を進める。
つまり、学習が進んだ理想的な状態としては、モデルAは高精度予測が可能である一方で、その予測値は非線形変換を加えたとしてもセンシティブ属性を予測し得ない状態となり、実現したい公平性基準(Demographic Parity)が実現されることに相当する。この枠組みを用いればさまざまなタスクに応用できる上、実現したい定義についても、例えば均等オッズを満たしたい場合には、モデルBに対して目的変数を実数値yと入力とすることで実現できるため、自由度高く公平性を扱うことができる。
c.モデル構築後に公平な状態を目指すPost-Processing
Post-Processingは、AIモデルが構築された後にモデル出力をより公平に補正することを目指す。
例えば、2値分類で予測されたスコアを基に、実現したい公平性(Demographic ParityやEqualized Odds)を最大限実現するような予測確率の閾値を探す手法(Threshold Optimization Approach)などが挙げられる。この手法では、公平性を実現する最適な値を線形計画問題により探索する。
上記の3つのアプローチはそれぞれ適する場面が異なるため、AIモデルを構築する際に、適切なアプローチを選択することが求められる。Pre-Processingはモデル学習前に実行するため、その後のモデル選択や精度評価に対して比較的自由度が高い。また、Post-Processingについても既存のモデルが使えるため自由度が高い。
一方で、これら2つはAIモデルの解釈性を損なってしまう可能性がある。In-Processingに関しては、公平性の基準を損失関数に加えるため直接公平性を扱えるメリットがあるものの、使えるAIモデルやアルゴリズムが限られるためデメリットが存在する。
特に分類問題に焦点を当て紹介したが、その他にも公平な回帰モデル、生成モデルなどのさまざまな領域に対して研究が盛んにされている。詳細なアルゴリズムや、興味がある方は後述の参考文献を参考にしていただきたい。上記のアルゴリズムについてOSS(オープンソースソフトウェア)のPythonライブラリである「Fairlearn」や「aif360」により、機械学習のライブラリ「scikit-learn」に準拠して実装されているので、scikit-learnに慣れていればすぐに活用できるだろう。
サンプリングバイアスとは、取得できているデータや対象に偏りがあるため、母集団に代表性がないことを指す。社会的偏見と同様にデータに混在しているバイアスといえる。サンプリングバイアスがある状況下で、AIモデル構築を行うとデータが取得できている集団の影響を強く受けやすくなってしまう。
サンプリングバイアスに対処するとき、実現したいAI像を明確にする必要がある。もし特定のセンシティブ属性に対してのみデータが取得しやすく、それによって精度が変わることを避けたいのであれば、公平性の指標として均等オッズなどを基準にセンシティブ要因に対して精度が変わらないようにAIモデルを構築することが有効だ。
一方で、母集団全体に対して代表性を持つモデルを構築する文脈では、観測のしやすさをモデル化することが有効だ。例えば、あるサービスの契約者にWeb上でアンケートを送付し、そのアンケート結果を基にAIモデルを構築する場面を想定しよう。Webに慣れている若年層やサービスへのロイヤリティーが高いユーザーからの回答が多くなり、AIモデルは偏ったデータを元に学習してしまう。
この場合、母集団と比べて観測が用意なユーザーのデータが偏ってしまう。対処法として、AIモデルで最適化させるべき損失関数を「観測のされやすさ」(上記の例では、アンケートの回答されやすさ)の逆数で補正をかけることで、サンプリングバイアスの影響を緩和することができる。本来推定したい母集団を推定するAIモデル構築の方法は、以下の通りだ。
Pythonでの実装時は、観測のされやすさをscikit-learnのロジスティック回帰実装である「LogisticRegression」などの2値分類モデルにて構築し、その予測確率の逆数を算出する。そして算出した重みを、scikit-learnのAIモデル実装における「fit」関数の引数である「sample_weight」に指定する。そうすることで、損失関数に対して重み付けることが可能になる。
scikit-learn以外にも、AIモデル構築で頻出となる勾配ブースティング木モデルライブラリの「XGBoost」や「LightGBM」などにおいても「sample_weight」により損失関数の重みを指定することが可能であるため、容易に利用可能だろう。
次回はAIモデル学習、評価段階や運用時のバイアスへの対処法について解説する。
アクセンチュア ビジネス コンサルティング本部 AIグループ日本統括 兼 アクセンチュア・イノベーション・ハブ東京共同統括 マネジング・ディレクター 理学博士。
アナリティクス、AI部門の日本統括として、AI HubプラットフォームやAI Poweredサービスなどの各種開発を手掛けるとともに、アナリティクスやAI技術を活用した業務改革を数多く実現。『責任あるAI』(東洋経済新報社)はじめ著書多数。
アクセンチュア ビジネス コンサルティング本部 コンサルタント
筑波大学大学院卒業後に、アクセンチュア入社。ヘルスケアや通信など複数業界でのアナリティクス適用、AIモデル構築や運用による業務改革を支援。
システムやサービスにAI(人工知能)を活用することが珍しくなくなった昨今、AIが引き起こす倫理的な問題もまた身近なものとなった。すでに欧米諸国ではAI倫理に関する法整備も進んでおり、日本国内にもその影響が及ぶことは想像に難くない。本特集ではそんなAI倫理について「AI倫理とはどういうものなのか」といった初歩的なテーマから「AI倫理に関してエンジニアは何を知っておくべきなのか」「AI倫理の観点から見たAI開発プロセスにおけるリスクとその対処法とは何か」といった実践的なテーマまで、深堀りして解説する。
神嶌敏弘、機械学習と公平性、機械学習と公平性に関するシンポジウム資料
Fairness in Machine Learning: A Survey
A Survey on Bias and Fairness in Machine Learning
Copyright © ITmedia, Inc. All Rights Reserved.