インクルーシブ ML ガイド - AutoML
Google では、人工知能(AI)への取り組みを動機づけ、方向付ける原則について、真剣に考えてきました。Google は、あらゆる人々と状況に対応する責任ある AI への取り組みとプロダクトの提供を最優先課題として、人間中心のアプローチに徹しています。責任あるインクルーシブな AI という価値観は、機械学習プロダクトである AutoML スイートの核であり、次のように具現化されています。
AutoML は、機械学習が初めてでも使いやすく、コーディング不要のユーザー エクスペリエンスによって、さまざまな組織や個人が AI を利用できるようにします。
AutoML では、転移学習や学習方法の学習(Learning to Learn)といったアルゴリズム手法が採用され、通常必要とされるものよりも小さなデータセットで、組織がカスタムモデルを構築できるようになりました。これによって、機械学習を始めるためのハードルを下げることができました。
AutoML を使えば、有意義かつ状況に合った ML システムを簡単に作成できます。たとえば、Google の汎用モデルでは俗語や特定のドメインの用語や言い回しをキャプチャできない場合には、関心のある言語機能を含むカスタムモデルを作成できます。一般的な衣料品分類モデルが、お客様の地域で着用されている衣料品と合わない場合は、モデルをトレーニングして実状に合わせることができます。
Google は機械学習のメリットをすべての人々にもたらすという指針の一環として、私たちの暮らしを形成し影響を及ぼしている、社会的分類に基づくバイアスを軽減することを重視しています。Google では、この研究分野を機械学習の公正性と呼びます。このページでは、このトピックに関する Google の見解と、機械学習の公正性を念頭に置きつつ AutoML を会話に適用するうえで推奨されるアプローチについて説明します。
機械学習における公正性について
機械学習における公正性は、学識者、実践者、幅広い一般の人々の間で、活発な議論と研究の対象となっています。アルゴリズム システムやアルゴリズムによる意思決定で、人々が、過去に差別や過小評価の対象となった人種、収入、性的指向、宗教、性別、そのほかの特性によって、不公平かつ偏見的に扱われた場合、それを理解し、防ぐことが目標です。
アルゴリズム上の問題はさまざまな形で現れます。たとえば、社会的なバイアスがトレーニング データセットに埋め込まれていることがあります。また、ML システム開発中に下される決定や、ML システムが現実世界にデプロイされたときに発生する複雑なフィードバック ループから、問題が現れることがあります。
機械学習の公正性を追求していくと、さまざまなものの見方や目標が発見されます。たとえば、ML 分類をトレーニングすることにより、すべての社会集団について公平な予測結果を得られるようにすることもその一つです。あるいは、これまでの不公正についての研究を踏まえて、有害な結果の訂正または軽減を試行する ML システムの設計を目指すことができます。こうした数多くのアプローチは重要で、多くの場合相互に関連しています。
詳細については、Google の責任ある AI への取り組み、推奨される公正性の実践、機械学習と人間的なバイアスに関する Google の動画、Moritz Hardt と Solon Barocas による「ML における公正性のチュートリアル」をご覧ください。
ML と AutoML における公正性
AutoML では、さまざまな形で多様性の受け入れと公正性を促進できます。前述したように、過去のデータが存在しないか内容が不当であるために、現在アクセス可能な機械学習モデルが取扱い対象の集団や個人のニーズに完全に対応していない場合は、カスタムモデルを作成して適切な処理を実行できます。AutoML で作成したカスタムモデルに、ご自身のユースケースに関連するすべてのカテゴリにわたって公平な予測を行うためのデータを組み込めば、公正性の目標に近づくことができます。公正性に関するこのような作業により、一部の ML システムに関連する次のようなマイナスの結果の発生リスクを軽減できます。
象徴型危険性
この種の危険性は、ML システムが特定の集団に関する否定的な固定概念を増幅または反映するときに発生します。たとえば、画像検索結果または自動テキスト候補を生成する ML モデルは、多くの場合、これまでのユーザーの行動(一般的な検索語やコメントなど)に基づいてトレーニングされます。このため、不適切な結果が生じる場合があります。この種の象徴型危険性は、個人ユーザーを短期的に不快にさせるだけでなく、大きな集団に対し、広範で長期的な社会的影響を及ぼします。
機会の否定
予測や決定を行うために機械学習システムを利用する機会が増えています。その結果が現実に反映され、個人が得られる機会や資源、全体的な生活の質も長期的な影響を受けています。
プロダクトが不均衡であることによる失敗
場合によっては、不公正性が基本的な使いやすさやアクセスの問題になることがあります。たとえば、公衆トイレに設置されているソープ ディスペンサーの一部は、非常に高い確率で、肌の色が濃い人に対し動作しません。
ここでは、AutoML でカスタムモデルを作成し、ML システムで使用する際に、公平性を高めるためにできることをステップごとに説明します。トレーニング用データセットのバイアス軽減、パフォーマンスの不均衡に関するカスタムモデルの評価、カスタムモデルを利用する際に検討すべき事項を中心に説明します。
機械学習における公正性についてご自身のユースケースを評価する際、最初に行うステップ
プロダクトのコンテキストと用途を検討しましょう。
前述のように、公正性が基本的な使いやすさとアクセスの問題になる場合があります。
また、公正性の問題が法規制と関連し、プライベートな特性を直接識別するデータや、プライベートな特性と密接に相関するデータの使用が、それらデータが統計的な関連性を持っていたとしても制限される場合があります。このような特性を持つ人々は、状況に応じて法律により差別から保護されていることもあります(例: 保護対象の部類、Protected Classes)。
不公正は、一見それとわからない場合もあります。その場合も、ML システムが実際どのように使われるのか、また時間の経過とともにバイアスが入り込む可能性について、社会的、政治的、倫理的に難しい問いかけをする必要があります。たとえば、テキストや翻訳の自動生成に AI を使用している場合、どのようなバイアスや固定概念が倫理的に問題となり得るか、考えることが重要です(例: 性別と職種、宗教と政治的立場の関連づけ)。
ML システムを構築する際は、所在地域とアプリケーションが使用される地域両方の差別に関する規制と、ML システムを構築するドメインでの既存の研究資料やプロダクト情報を確認し、公正性に関する課題について学びましょう。
次に示す重要な問いについて検討する
検討に値する重要な問いをさらに示します。答えが「はい」になる問いがある場合は、ユースケースにおける潜在的なバイアスに関連する問題について、より徹底的に分析することを検討してください。
ユースケースまたはプロダクトで、生体認証、人種、肌の色、宗教、性的指向、社会経済的な地位、収入、国、場所、健康状態、言語、方言のデータのいずれかを特に使用しますか?
ユースケースまたはプロダクトで、上に挙げた個人的特性と相関性が高いデータを使用しますか(たとえば、郵便番号やその他の地理空間的なデータは、多くの場合社会経済的地位や収入と関連します。同様に画像や動画のデータから、人種、性別、年齢に関する情報を得られます)?
ユースケースやプロダクトによって、個人の経済的機会あるいはその他重要な機会に、不都合が生じる可能性がありますか?
それでは、AutoML のワークフローのさまざまなステップを進めながら、機械学習で公正性を高める方法を見ていきましょう。
データ ガイドライン
まず、AutoML での最初のステップ、トレーニング データの収集について説明します。完全に「バイアスなし」のトレーニング データはありませんが、データに含まれる潜在的なバイアス要因を慎重に検討し、適切な手段を講じて対処すれば、インクルーシブで優れたプロダクトを構築できる可能性が大幅に高まります。
データに存在する可能性のあるバイアスの種類
バイアスを含むデータ分布
トレーニング データが、プロダクトの利用者として想定する母集団を正確に表現していない場合に発生します。データの収集方法を慎重に検討してください。たとえば、ユーザーが投稿した写真のデータセットを画像の明瞭さでフィルタすると、高価なカメラを所有するユーザーの写真が必要以上に優先的に選ばれ、データが歪む可能性があります。一般に、プロダクトが対象とするユーザー グループに関して、データがどのように分布しているか検討してください。該当する各グループのデータが十分にあるでしょうか?微妙な系統的理由が原因で、データセットが実際のユースケースの全体的な多様性を反映していないことがよくあります。
この状況を少しでも是正するには、複数の提供元からデータを取得するか、データを慎重にフィルタして、必要以上に優先的に選ばれているグループからは最も有効な例だけを取得するようにします。
バイアスのあるデータ表現
可能な限りあらゆる属性の層から適切な量のデータを取得しても、一部のグループが他のグループに比べて否定的に表現される場合があります。俳優に関するミニブログへの投稿のデータセットで説明します。女優と男優のデータをうまく半々の割合で収集できたものの、投稿内容を詳しく調べると、女優に関する投稿は男優に関する投稿よりも否定的だったとします。この場合、ご自身のモデルが性別バイアスを学習する可能性があります。
ただし適用分野によっては、グループごとの違いが問題とならない場合もあります。たとえば医療分類では、より正確に診断を下すために、属性ごとの僅かな差を把握することが重要です。一方、その他の分野では、バイアスのかかった否定的な連想が、経済または教育的な影響力を持ち、経済的機会を制限し、人々を感情面および心理面で苦しめる可能性があります。
可能な場合には、このような否定的な連想がないかどうかデータを手作業で調べることを検討してください。また、用途に照らし合わせて適切であると思われる場合には、ルールベースのフィルタを適用して否定的な表現を除外することも可能です。
代理変数
保護された属性情報をエンコードする変数を削除したら、モデルにはバイアスがなくなるはずだと考えがちです。しかし、ほんの数例を挙げるだけでも、住んでいる場所、学歴、収入など多くの変数がユーザー属性と強い相関を持っています。データに関する属性情報にアクセスできる場合は、結果を属性情報に基づいて分析し、モデルが異なるグループを公正に扱っていることを確認することをおすすめします。
バイアスのあるラベル
該当するカテゴリでデータをラベル付けするのは、AutoML のトレーニング データの作成における重要なステップです。このラベルでのバイアスを最小限に抑えることは、データが代表的であることを確認することと同様に重要です。ラベル付け担当者を確認します。担当者のいる場所、話している母語、年齢と性別などを確認します。同質的な判定者プールにより生成されるラベルが不適切であるか偏っている場合でも、そのことが一見して明らかではないことがあります。
理想的には、ラベル付け担当者が当該ドメインについて十分に理解していることを確認するか、ラベル付け担当者に対し当該ドメインに関する研修を指示し、ラベル品質のスポット チェックを行うための 2 次レビュー プロセスを導入します。ラベル付けするデータが複雑になるほど、ラベル付け担当者が仕事を理解しているか確認するのが重要になります。境界ボックスの描画やテキスト エンティティのラベル付けは、誰でも直感的に理解できるとは限りません。ですから、すべてのタスクを細分化し、質問に備えてください。意思決定では、主観性よりも客観性を重視するようにします。ラベル付け担当者に対し「無意識のバイアス」についての研修を実施すると、多様性の目標の点でラベルの品質の向上に役立つことも判明しています。ラベル付け担当者が問題を自ら報告し、質問して指示を明確にできるようにすることも、ラベル付けプロセスでのバイアスを最小限に抑える助けになります。
ヒント: AutoML でヒューマン ラベリング サービスを利用している場合は、指示を作成する際に次のガイドラインを考慮してください。
ラベル付けの指示とトレーニング資料には、ご自身のユースケースに関する詳細で具体的なコンテキスト、エンドユーザーに関する説明、実例を含め、ラベル付け担当者がユーザーベースの多様性に留意する助けとなるようにしてください。
判定者から受け取ったコメントを確認して、わかりにくい分野を特定してください。また、受け取ったデータラベルのスポット チェック、承認、拒否を行う際には、デリケートなカテゴリに細心の注意を払ってください。
データセットが完成したら、テスト / トレーニングの分割を指定することを検討する
Vertex AI と Translation AutoML の初心者向けガイドでは、機械学習プロセスでデータセットを分割する方法について説明しました。前述したように、AutoML ではデータセットの自動分割を選択するか、テスト / トレーニングの分割を手作業で指定することができます。ご自身のユースケースで問題がなければ、2 番目のオプションを検討できます。
データを手動で分割する間に、多様性が高くインクルーシブなテストセットを作成するために、これまでに説明したガイダンスについて検討してください。最もインクルーシブなデータをトレーニングに使用すると、データ数が少ないサブグループに対するモデルのパフォーマンスが過度に理想的なものとなり、テストの時点で失敗することがあります。特定のサブグループに関するデータが非常に少ない場合は、トレーニング データとテストデータを手動で分割すれば、トレーニング セットとテストセットとをそれぞれ反映するデータに分散できます。AutoML Tables など、一部の AutoML プロダクトは、カスタムの重み付け指定をすることで、珍しい種類のデータが、トレーニング プロセスで実際より高い重要性を持つようにすることもできます。
トレーニング データの確認
評価: モデルのパフォーマンスの評価
公正性についてモデルを評価するには、特定のユースケースと、モデルが適切でない場合にエンドユーザーに及ぼす影響について十分に検討する必要があります。つまり、さまざまなエラーが、さまざまなユーザー グループにどのような影響を及ぼすか理解する必要があるのです。この時点で、潜在的な公正性の問題を検討することが重要です。たとえば、モデルのエラーがすべてのユーザーに対して同じように影響するか、特定のユーザー グループに対して特に有害な影響があるかという問題を検討します。
問題について十分に検討しておけば、どのパフォーマンス指標を優先して最適化すべきか(たとえば適合率 vs 再現率)について正しい決定を下し、指標間のトレードオフを評価してエラーの例を検討しながらバイアスを確認できるようになります。
ユースケース: パスポート写真の評価
たとえば、パスポート用の写真を編集、印刷するためのツールを作成するとします。写真の寸法、枠、許容可能な背景色や表情、写真に写っていいものと悪いものなど、国によって異なるルールがあります。申請前に、パスポート申請の写真が条件を満たしていない可能性がある場合には警告することにします。
偽陽性:
この場合の偽陽性とは、当該国のパスポート取扱機関では承認されるにもかかわらず、システムで写真が条件を満たしていないとマークされることです。これは大した問題ではありません。撮影し直した写真のほうが使用できる可能性が高くなるからです。
偽陰性:
この場合の偽陰性とは、使用できない写真の検出に失敗することです。お客様は自費で写真をプリントして申請を提出しますが、その申請は拒否されます。最悪の場合、パスポートが間に合わなかったために予定していた旅行ができなくなります。
公正性に関する検討事項: この場合、このモデルによる偽陰性が、特定のグループ(たとえば、人種や性別などに基づく)に特に多く発生していないかどうかを調べることが重要です。AutoML で、個々の偽陰性を調べ、問題のあるパターンをチェックすることでわかります。
最適化対象: この場合は再現率を高めるように最適化します。これは、偽陰性の件数(このケースにおいて問題となるエラー)を減らすことを目的としています。
ユースケース: 子供向けコンテンツ フィルタ
子供向けの読書アプリを作っていて、アプリ内に、年齢にあった電子書籍のライブラリを組み込むとします。本のタイトルと説明によって分類された、大人向けの本と児童書の両方を含むデータベースから、児童書を選ぶテキスト分類を設計します。
偽陽性:
この場合の偽陽性とは、大人向けの本が誤って児童書として分類され、子供向け読書アプリに追加されて、年齢にそぐわない内容が子供の目に触れる可能性があることです。保護者が動揺し、アプリを削除する可能性があります。
偽陰性:
この場合の偽陰性とは、児童書が誤って大人向けの本として分類され、読書アプリ内ライブラリから除外されることです。本の内容によっては、ちょっとした不便ですむ場合(例: 不人気シリーズの無名な続編が除外された場合)と、深刻な問題となる場合(例: 除外された子供向けの本に、人によっては物議を醸す内容であるものの、明らかに教育的、社会的価値を持ち、一般に受け入れられている内容が含まれていた場合)があります。
公正性に関する検討事項: 一見したところでは単純に見えますが、ユースケースで公正性を評価する際の複雑な問題を示しています。偽陽性を避けること(年齢にそぐわない内容を子供が目にする可能性を最小限に抑えること)が明らかに必要ですが、その一方で、偽陰性も悪影響を及ぼす可能性があります。たとえば、LGBTQ がテーマの子供向けの本(例: 同性の両親を持つ子供の話)を不適切だと判断する傾向がテキスト分類にある場合、これは問題です。同様に、特定の文化や場所に関する本の除外される率が他の本に比べて高い場合も問題です。
最適化対象: この場合は適合率を高めるように最適化します。アプリで扱われる本は、世界中のすべての子供向けの本のごく一部であるため、推薦する本を厳選できます。保護者の関与を必要とする必要がありそうな本を表示する方法については、UX ソリューションの検討も必要でしょう。たとえば、保護者と子供が一緒に本を読むことをすすめる機能を追加できます。そうすれば、保護者と子供は、本が提起する問題について話し合えます。
ユースケース: アンケート配信
アンケート配信で、モデルを作成して、返信する可能性が高い参加者を選択するとします。所得は、参加者の選択要因として使用できませんが、データには「所得」列があります。AutoML Tables で、トレーニングから「所得」列を削除します。しかし、データを所得でスライスし、結果に影響しなかったか確認すると、モデルが所得バケット全体から均等に参加者を選択しなかったことがわかりました。どうしてそうなったのでしょうか?
代理変数: 「所得」列を考慮にいれないように削除したものの、データには他にもデータセット内の個人の所得のヒントになる多くの変数が含まれている可能性があります。郵便番号や学歴、年齢までデータに含まれていませんか?いずれの変数も、所得に関連する可能性があります。モデルが選択したサンプルが、すべての属性スライスを均等にカットしているか確認するには、AutoML Tables の [分析] タブを注意深く調べ、相関関係を確認してください。また、本番環境で使用する前に、モデルのバイアスについて慎重に評価するようにしてください。
予測: モデルのスモークテスト
AutoML で機械学習指標を使用して、公正性に関するモデルのパフォーマンスを評価したら、[予測] タブの新しいコンテンツを使用してカスタムモデルを試せます。この作業を行う際には、次に示す公正性に関する推奨事項を検討してください。
問題のドメインと、不公正性およびバイアスが生じる可能性について慎重に検討します。担当する分野については担当者が一番良く理解しています。画像や動画内に写る人々の人種や性別が、分類に影響を与える可能性はありませんか?テキスト分類が、属性グループを指す用語に対して敏感に反応する可能性はありませんか?開発している翻訳機能の対象となる言語ペアに、注目される可能性がある文化的な相違や、社会的偏見を露呈する可能性がある標準からずれた代名詞が含まれていませんか?本番環境でユーザーに不都合を生じさせる可能性がある場合は、[予測] ページでテストするか、各自の単体テストでテストしてください。
不快に感じさせる、あるいは不公正になるという予測だけでなく、明確に予測できない場合(偽陰性)にも、ユーザーにとって不都合の生じる可能性があることを忘れないでください。得られた結果が、すべてのエンドユーザーに提供したいと考えていたエクスペリエンスとは異なることが判明したら、関連するクラスにデータを追加して、データセットのバイアスをさらに抑制できます。また、モデルを使用して問題を修正することもできます。
ユースケース: 本番環境でのモデル
シンプルな修正を実装します。モデルが完璧ではない場合、新しいデータで再トレーニングをする以外にもできることがあります。場合によっては、処理前または処理後に、特定の単語や特定の種類の画像を削除するシンプルなステップを実行することで、問題を効果的に解決できる可能性があります。
各種エラーがユーザーに与える影響を理解したうえで、モデルのスコアしきい値を調整し、適合率と再現率の容認可能な程度に「適切な」バランスを確認します。
モデルが構築され、予測を提供するようになった後で、時間の経過に伴いデータ分布が変化し、アプリケーションの適切なコンテキストをモデルが反映しなくなることがあります。モデルのパフォーマンスを長期的にモニタリングして期待どおり機能していることを確認してください。また、ユーザーからのフィードバックを収集し、新しいデータと再トレーニングが必要になる可能性がある潜在的な課題を特定しましょう。
予想外の厄介な問題が発生する場合があります。モデルが誤動作し、ユーザーやビジネスに不都合が生じる可能性が心配なら、インシデント対応計画を策定しましょう。
フィードバック
これは随時更新されるドキュメントであり、これからも新たな情報を取り込んでいきます。このページのガイダンスへのフィードバックをお待ちしています。カスタムモデルの作成経験、成功したこと、失敗したことについて、[email protected] までメールをお送りください。皆様からのフィードバックをお待ちしています。