jojonki / arXivNotes

IssuesにNLP(自然言語処理)に関連するの論文を読んだまとめを書いています.雑です.🚧 マークは編集中の論文です(事実上放置のものも多いです).🍡 マークは概要のみ書いてます(早く見れる的な意味で団子).
https://github.com/jojonki/arXivNotes/issues
194 stars 8 forks source link

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

Open jojonki opened 5 years ago

jojonki commented 5 years ago

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に入っています. https://github.com/jojonki/AI-Post-Notes/issues/1

概要

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

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

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

イントロ

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

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

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

手法

職業分類の予測結果と各個人の名前の埋込の相関関係を排除するための,2つのロス関数(Cluster Constrained Loss (CluCL)とCovariance Constrained Loss (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つ利用.

それぞれのデータセットの”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から10に変更させて,CoCLの結果の違いをFig 2で見てみる.ドットのサイズがλの大きさを表す.λを大きくするほどBalanced TPRは低下していくのがわかる.// トレードオフ

Screen Shot 2019-04-22 at 3 25 49 PM

Biosデータセット

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

手法の理解

今回はシンプルな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 commented 5 years ago

Podcastでも紹介しました.https://anchor.fm/lnlp-ninja/episodes/ep29-Whats-in-a-Name--Reducing-Bias-in-Bios-without-Access-to-Protected-Attributes-e3qk5m