機械学習の安全性についての一考察
はじめに
機械学習[1]の統計的アルゴリズムをソフトウェアまたはハードウェアで実装する場合、その機能としての安全性(例えば機能安全)が問われるだけでなく、セキュリティの観点からも安全性を確保することが必要です。この記事では、機械学習アルゴリズムのセキュリティを確保するための課題、方法について考えてみます。
機械学習アルゴリズムのセキュリティの確保
目的:
機械学習(ML)アルゴリズムは人工知能(AI)システムの中核であり、対象に応じて予測、意思決定、処理を行うことを目的としています。セキュリティを確保するということは、脆弱性、偏見、敵対的攻撃から防御することを意味します。脆弱性、敵対的攻撃は通信(無線、有線)路、またはウイルスによりソフトウェアに仕込まれたりする可能性があり、MLだけの問題ではありませんが、ここでは、MLのセキュリティ確保を目的として考察します。
課題:
堅牢性: MLは、敵対的な入力やノイズの多い入力に直面した場合でも、適切に対処してパフォーマンスを発揮する必要があります。
バイアスと公平性: 学習データのバイアスに対処し、さまざまなグループ間の公平性を確保する必要があります。
プライバシー: 学習および推論の過程で、個人情報を保護する必要があります。
方法:
敵対的トレーニング: 堅牢性を向上させるため、敵対的なデータを使用してモデルをトレーニングします。
公平性を意識した学習: 偏りを軽減し、公平性を確保するためのアルゴリズムを開発します。
差分プライバシー: プライバシーを保護するため、データにノイズを追加した場合の処理を行い、対応を確認します。
現状:
上記の方法の研究は進行中(2024.5月時点)であり、差分プライバシー[3,4,5]や敵対的トレーニング[6,7,8,9]などの手法がMLライブラリとして研究されつつあります。詳細については、用語のリンクをご参照ください。
考察:
MLの安全性については研究開発が行われていますが、人命にかかわるシステムへのML適用については慎重になる必要があります。MLは学習していないことに対する判断と対応が難しく、想定外の事態に陥る可能性があります。そのため、人命にかかわるシステムではMLをリファレンス(参考)として活用し、最終的な判断は人間が行うべきだと考えられます。MLを人命にかかわる重要な判断に使うのは時期尚早であり、人命を軽視することにつながるおそれがあります。
用語
機械学習(Machine Learning)
データをもとに学習し、自動でタスクを行うコンピュータ上の統計的アルゴリズムまたはそのアルゴリズムの研究領域。ここで、タスクは言語、音声、画像、処理などなど。MLと省略されます。
詳細は
[1]機械学習 - Wikipedia(日本語版)
[2]機械学習 - Wikipedia(英語版) 上の一文はこのWikipediaの説明文を基に作成
差分プライバシー(Differential Privacy)
データベース内の個人情報を攻撃者から守りつつ、統計的な解析を可能にする枠組み。プライバシー保護度合いの汎用的・数学的な定義。
[3]差分プライバシーの概要と機械学習への応用 #機械学習 - Qiita
[4]差分プライバシーとは - AppleやGoogleも活用する最先端のプライバシー保護技術 (layerx.co.jp)
[5]Deep_Learning_with_differential_privacy.pdf (cmu.edu)
敵対的トレーニング(Adversarial Training)
敵対的に摂動された入力を正しく分類する能力をつけるためのトレーニング
[6]NLPでの敵対的トレーニングについて知っておくべきことすべて (ichi.pro)
[7]敵対的学習(adversarial learning)の概要を説明してみる #機械学習 - Qiita
[8]第2回 ~ AIを騙す攻撃 – 敵対的サンプル - ~ (jpsec.ai)
[9]第3回:Adversarial Training -回避攻撃の対策- (jpsec.ai) Pythonのライブラリ例あり
AIプロダクト品質保証ガイドライン
Guidelines/QA4AI_Guideline.202404.pdf at main · qa4ai/Guidelines · GitHub
変更履歴
Rev.1 2024.5.3 初版