
拓海先生、最近うちの若手が「モデルにバックドアを埋められる」と言ってきて、正直怖くなったんです。要は何が起きるんですか。

素晴らしい着眼点ですね!まず結論を三行でまとめますよ。1) 攻撃者は学習データに目立たない「印」を仕込み、2) 普通は正しく動くモデルがその印で誤作動し、3) その印は目で見て気づきにくい、ということです。大丈夫、一緒に整理していけるんですよ。

「印」を仕込むって、暗黙のプログラム改ざんみたいな話ですか。それとも現場でデータをこっそり変える感じですか。

いい質問です。ここは三点で分けて考えましょう。1) モデルそのものを直接いじるパターン、2) 学習データを汚染するパターン(これが今回の論文の主題)、3) デプロイ時に入力を改ざんするパターンです。本論文は真ん中の「データ汚染(データポイズニング)」に焦点を当てていますよ。

なるほど。で、具体的にどんな「印」を入れるんですか。目に見えて変なものだったら気づきますが、その点が心配です。

本論文の核心は「不可視な摂動(invisible perturbation)」を作る点です。三点で説明します。1) 視覚的にほとんど気づかれない小さな変化を画像に加える、2) その変化を学習時に混ぜておくとモデルが特定の誤分類を学習する、3) 実運用時に同じ変化を入力するとモデルは攻撃者の意図した挙動を返す。つまり見た目では普通に見える画像で不正な振る舞いを引き起こせるんですよ。

これって要するに、見た目は変わらない紙幣に特殊な印を付けて、機械だけがそれを読み取って別の価値にする、ということですか。

まさにその比喩が的確です!その通りですよ。普段の人間の目には違いが分からなくても、学習したモデルには確実に“合図”として認識される。大丈夫、対応策も整理できますから一緒に見ていきましょう。

対応策とは、例えば学習データのチェックや入力の検査でしょうか。投資対効果を考えると、どこから手を付ければいいですか。

投資対効果を重視する田中様に向けて三点で提案します。1) 学習データの出所を管理し、小規模でも信頼できるサンプルから先に学習させる、2) 学習時と実運用時の入力に対して異常検知を入れる(モデルの出力分布を監視する)、3) セキュリティテストとして意図的な摂動を用いた検査を定期実施する。これだけでリスクは大きく下がりますよ。

わかりました。最後に整理させてください。私の理解で間違っていませんか。モデルに目に見えない印を学習させられると、通常は問題なく動いてもその印が入ったときだけ狙った誤動作をする。要するに「見えない合図で機械だけを騙される」ということですね。

その通りです、田中専務。素晴らしいまとめですよ。大丈夫、一歩ずつ対策を組めば実用上のリスクは抑えられます。一緒にプランを作りましょうね。


