機械学習ポイズニングとは?
はじめに
以前の投稿で、ChatGPTの仕組みについて調べている中で、
このワードに出会い、セキュリティの観点も知識として、
インプット・アウトプットしようと思い、この記事を投稿します。
機械学習ポイズニング(データポイズニング)とは?
機械学習モデルで使われる学習用データに、
有害データ(誤ったデータや意図しないデータなど)を
紛れ込ませることで、機械学習モデルの精度を低下させる攻撃です。
※今回はデータポイズニングに焦点を当てます。
攻撃の具体例
例えば、"画像データから「犬」かどうか判別する"モデルを作成する際、
下図のように「猫」の画像を「犬」として、学習させると、
本来、人間から見ると「猫」と判別がつくはずが、
機械としては、「犬」と誤って判別してしまうようなイメージです。
攻撃に対する対策
○セキュアなデータの保存と監視
→データの暗号化やアクセス制御
○データの妥当性とその検証
→モデルの学習前に学習データの妥当性を
データバリデーションで確認する
※本記事の例であれば、データを入力した方のアクションが異常であれば
不正な入力として学習データの対象外にするなど
○学習方法による対策
→有害なデータを1つのモデルに反映していた場合、
複数のモデルを訓練し、精度を上げたモデルを作成することが可能
まとめ
セキュリティの観点で学習は必要だなと感じましたので、
継続的に学習とアウトプットはしていければと思います!
また、ChatGPTでも悪意を持って有害なデータを入力させて、
通常の利用者が出力された情報の成否が判断できなければ...
と考えると末恐ろしいです。