Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

2019: What's in a Name? Reducing Bias in Bios without Access to Protected Attributes #226

Open
jojonki opened this issue Apr 16, 2019 · 1 comment

Comments

@jojonki
Copy link
Owner

jojonki commented Apr 16, 2019

What's in a Name? Reducing Bias in Bios without Access to Protected Attributes
Alexey Romanov, Maria De-Arteaga, Hanna Wallach, Jennifer Chayes, Christian Borgs, Alexandra Chouldechova, Sahin Geyik, Krishnaram Kenthapadi, Anna Rumshisky, Adam Tauman Kalai
Accepted at NAACL 2019; Best Thematic Paper
https://arxiv.org/abs/1904.05233

以前取り上げたMSRの記事の著者が研究Gpに入っています.
jojonki/AI-Post-Notes#1

概要

機械学習において学習データに含まれるデータのバイアスを軽減する手法.従来の手法では,人種,性別,年齢といったprotectedな属性にアクセスしているが下記の2点でこれはチャレンジング

  1. そのような属性は利用できなかったり,合法的に利用できない
  2. 同時に複数のそのような属性を考慮したい

本論では,オンラインレジュメデータを利用して,職種の分類タスクを解く際に,各個人の職種と各個人の名前埋め込みの相関を軽減する手法を提案する.各個人の名前のアクセスは学習時のみに必要で,利用時には不要である.本論の実験では,人種と性別バイアスを分類性能を落とすことなく実現できた.

イントロ

MLにおいて,異なるグループ間においてパフォーマンスが大きく異なる可能性があることが報告されており,例えばオンラインリクルーティングと自動雇用などのMLシステムにおいて問題が指摘されている(De-Arteaga 2019).オンラインレジュメの職種を予測するとき,職業固有の性別のギャップが既存のジェンダーの不均衡と相関がある場合,その不均衡はより一層悪化すると指摘されている.

本研究では,オンラインレジュメからの職業分類タスクで,職業予測の結果と彼らの名前の埋め込みの相関関係を学習しないようにした.名前と職業は無関係であるべきである.本論では2つのロス関数をそのための制約として実験.実験では,人種とジェンダーバイアスを減らすことができた.更に学習時のみ個人の名前が必要でテスト時は不要というメリットが有る.

名前の単語埋め込みにはSwinger (2019)によると,人種,性別,年齢といったバイアスが含まれており,国籍や宗教などが推測できてしまうことが分かっている.

手法

職業分類の予測結果と各個人の名前の埋込の相関関係を排除するための,2つのロス関数(Cluster Constrained Loss (CluCL)とCovariance Constrained Loss (CoCL))を導入する.学習データの各サンプルは,各個人とその個人の職業を表す.

  • CluCL
    学習データの名前の単語埋め込みをk-meansでクラスタリングし,クラスタ内の名前に関連するデータポイントにおける不均衡をを最小化する.クラスタによって捉えられる空間を最小化するため,同時に複数のバイアスに対して効果を与えることができる

  • CoCL
    各個人の職種の確率と彼らの名前埋め込みの共分散を最小化する.

上記2手法において分類時の入力に個人の名前は不要.各個人の名前はロス関数のみに利用されるため,デプロイ時には個人の名前が不要になる.

定式

問題は,オンラインレジュメを入力に入れて,Cクラス(職業の数)の分類をするクラス.学習のロス関数として,L_{total} = L + λL_{CL}となり,λはハイパパラメタでCluCL or CoCLのロスの重みを決めるもの.

Cluster Constrained Loss (CluCL)

まず名前埋め込みは,First nameとLast nameの埋め込みを足して2で割って得る.得た名前埋め込みのデータ郡をkクラスタに分ける.そして各職種クラスcに対して,クラスタ間の平均ペアワイズの値を計算する.
// あるクラスcの確率が高いデータポイントが,クラスタ間で不均衡であるとこの値が大きくなる(ペナルティ)
Screen Shot 2019-04-22 at 10 10 04 AM
そして全クラスに対して同じ計算を行い,クラス数で割った平均のロスの値をL_CluCLと定義する
Screen Shot 2019-04-22 at 10 12 18 AM

Covariance Constrained Loss (CoCL)

各データポイントの職業ラベルの予測確率とそれに対応する個人の名前の共分散を最小化する.
// 正あるいは負の相関方面(+1 or -1)にペナルティを与える
Screen Shot 2019-04-22 at 10 15 26 AM
Screen Shot 2019-04-22 at 10 15 33 AM

評価

protectedな属性にアクセスせずに複数のバイアスを利用できることは本手法の強みであるが,評価をではどうするか.今回は実験のため,人種とジェンダーのみに注力する(これは見てあきらかにわかる属性なので).まだそれぞれの属性は,white/non-white, male/femakeの2値化する.これらはあくまで本手法の評価のためであることは念押ししておく.

データセット

2つ利用.

  • UCI Machine Learning Repository
    各個人の年収が$50k以上可どうかを予想する
  • Online biographies
    オンラインレジュメから職種を予測する

それぞれのデータセットの”Adult"データにおいて,連続値は0-1の値に正規化し,他のカテゴリ値は0/1のバイナリ化した.
また各データで名前とのヒモ付がなかったので,人種と性別からfirst nameを生成した.

  1. まずTzioumis (2018)のデータを利用し,whiteの確率が0.5以上でwhite,それいがいはnon-whiteにした.
  2. Social Security Administration data about baby names (2018)を使い,先程の名前からmale/femaleを決定した.
  3. 1と2から2x2の対応関係表を得る(名前を与えられたときに,white/non-white, male/femaleが決められる)

次にデータセットの”Bios"データにおいて,各レジュメをサイズVのBoWベクトルとして扱う(Vは語彙サイズで,上位頻度10%の語彙と20回以下の頻度の単語は捨てられている).
またAdultデータセットとは異なり,Biosデータは名前と関連付けられているのでおそらく名前は抽出できる.
人種についてもfirst/last nameから推測すする.
BiosにはDe-Artega (2019)と同様に2つのバージョンを用意する.1つはfirst nameと代名詞(he, sheとか)が利用できるものと,2つ目はそれらが取り除かれたもの.

評価においてCommon Crawl dataで事前学習されたfastTextの単号埋め込みを利用する

分類と損失関数

本手法はRNNだろうがCNNだろうが利用できるが,今回の実験の目標は分類精度を最大化することではなく,バイアスを取り除くことなので,モデルとして1レイヤーのAffineを利用.
またAdult/Biosデータには強い不均衡があるので,cross-entropy lossにはKing and Zengの手法に則り,各クラスへの重みが異なっている

Biasの定量化

De-Artega (2019)の手法を利用.この手法では,人種間及びジェンダー間の,それぞれにおいてTrue Positive Rate (TPR)のギャップを計算する.

職種cに対するTPR人種ギャップは下記のように定義される.人種r, 職種ラベルcが与えられた際に,職種cと予測する確率をTPR_{r, c}と定義.これを人種r~でも同様の計算を行い,その引き算をギャップと定義.
// つまり,人種は職種と無関係であれば,確率的に独立になるので,このギャップは0になるはずである.
Screen Shot 2019-04-22 at 2 58 46 PM

これを各職種クラスに対して行い,二乗平均平方根(RMS)を計算することでスコアを得る.ジェンダーに対しても同様に計算を行い(ラベルg, g~),同様のスコアを計算.
Screen Shot 2019-04-22 at 3 06 07 PM

またワーストケースの分析を行うために,上記のTPRギャップを最大化したものも計算する.

結果

プロキシとしての名前の単語埋め込み

まず名前埋め込みのクラスタリング結果をFig 1に共有する.k=12でクラスタリング.各クラスは人種及びジェンダーの計4カテゴリのいずれかに属するものがわかった.(各データはマニュアルインスペクションされている)
Screen Shot 2019-04-22 at 3 12 11 PM

Adultデータセット

Adultデータ・セットを利用した結果をTable 1に.このタスクでは個人が$50k以上の年収があるかを予測する問題.このタスクでは強い不均衡があるので,まず各クラスでTPRを計算し,それをクラス間で平均化した(Balanced TPR).

  • λ=0では,強いジェンダーバイアスを確認.最悪時は0.303であり,これは女性より男性が3割ほどTPRが高いことを意味する.
  • CluCLを利用すると,人種ギャップは0.12 -> 0.085,ジェンダーギャップは0.299 -> 0.25に減らせた
  • CluCLのBalanced TPR(正解率)は,79.5% -> 79.3%なので性能低減は0.2%で済んだ
  • CoCLでは更に人種・ジェンダーバイアスを低下させることができ,人種ギャップは0.08に,ジェンダーギャップは0.163になった.性能低減は0.5%で済んでいる

Screen Shot 2019-04-22 at 3 14 18 PM

次にλを0から10に変更させて,CoCLの結果の違いをFig 2で見てみる.ドットのサイズがλの大きさを表す.λを大きくするほどBalanced TPRは低下していくのがわかる.// トレードオフ
Screen Shot 2019-04-22 at 3 25 49 PM

Biosデータセット

次のタスクは,オンラインレジュメから職種を予想するタスクである.名前と代名詞が利用できる(orgigin),できない(scrubbed),の2バージョンの結果をTable 2, 3に示す.

  • originでもギャップは減らせているが,scrubbedバージョンでも減らせている.
  • scrubbedバージョンでも達成できているのは,名前と代名詞が使えないので,人種とジェンダー情報がないためと考えられる
  • Adultデータセットよりも,低減化は大きくない.これはAdultデータセットではBiosよりも少ない属性値とクラスを利用しており,Adultでは明らかに人種やジェンダー情報を含んでいると推測する
  • またVは11,000と大きいので,over-fittingの影響がありそう(CluCLではλ=2の方が1のときよりもギャップが大きくなってしまった)

Screen Shot 2019-04-22 at 3 29 03 PM

手法の理解

今回はシンプルな1レイヤのアフィンなので,隠れ層の学習重みのWを分析.Fig 3aに,λ=0のときとλ=2(CoCL)のAdultデータを見てみる.女性属性は大きなネガティブ値,男性属性はポジティブ値となっており,これは男性の方が年収を$50k以上稼ぐ,と予測しやすいことを意味する.CoCLによってこれらの値は大きく軽減できている.また年齢属性に関しても減らせている.// 今回は人種と性別のみを行ったので,評価できないが,年齢属性で評価したとしてもギャップを軽減できそう.人種と性別を選んだのは,あくまで今回の手法を評価するためだけであると再度述べておく.

次にFig 3bでは,外科医の職種を持つ際の重みを見てみる.λ=0のときはsheやherには大きな負の値になっているが,heに対しては大きな正の値がついている.CoCLによってこのギャップを軽減させることができているが,Adultほど大きく低減できていない
Screen Shot 2019-04-22 at 3 37 42 PM

結論

本手法ではprotectedな属性値にアクセスすることなく,複数のバイアスを軽減させることができた.本手法では名前の単語埋め込みにエンコードされたソーシャルバイアスを活用した.2つの損失関数を試し,どちらの手法においても分類性能をほとんど落とすことなく,人種,ジェンダーのバイアスを軽減させることができた.
Future workとして英語以外もやってみたい.

コメント

  • 単語埋め込みにはバイアスが含まれている前提なのが面白い.我々の利用するデータにはバイアスがたくさんあるということを自覚すべし.
  • 実際にバイアスのみに頼らざるおえないデータがある場合,どのようにするのが倫理的に良いんだろう
@jojonki jojonki changed the title 🚧 2019: What's in a Name? Reducing Bias in Bios without Access to Protected Attributes 2019: What's in a Name? Reducing Bias in Bios without Access to Protected Attributes Apr 22, 2019
@jojonki
Copy link
Owner Author

jojonki commented May 11, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant