最新AI論文をキャッチアップ

攻撃ノイズを除去する!Two-stream Restoration Networkの紹介

攻撃ノイズを除去する!Two-stream Restoration Networkの紹介

adversarial perturbation

3つの要点
✔️ 敵対的攻撃を受けた画像から、攻撃のノイズを除去する手法である、TRNを提案
✔️ TRNはAdversarial Exampleとその勾配を用いて元画像を推論する
✔️ 今まで提案されてきた防御手法よりも高い性能を記録した

An Eye for an Eye: Defending against Gradient-based Attacks with Gradients
written by Hanbin HongYuan HongYu Kong
(Submitted on 2 Feb 2022)
Comments: Published on arxiv.

Subjects: Computer Vision and Pattern Recognition (cs.CV); Cryptography and Security (cs.CR); Machine Learning (cs.LG)

code:  

本記事で使用している画像は論文中のもの、紹介スライドのもの、またはそれを参考に作成したものを使用しております。  

研究概要

本研究では、勾配ベースの敵対的攻撃を受けた画像(Adversarial Example)に対して、その元画像を復元することで防御することを提案しました。この復元には、Adversarial Exampleと、その勾配を用います。この手法を用いることで、今までの防御手法よりも高い性能を記録しました。また、復元された画像はデータセットごとにある特徴があり、その特徴について少し議論をしています。

研究背景

敵対的攻撃とは

敵対的攻撃とは、AIが判断を誤るように、入力データにノイズを加える攻撃のことを言います。このノイズの加え方に様々な方法がありますが、本研究では勾配を用いた攻撃手法に着目しました。勾配を用いた攻撃手法には、以下のようなものがあります。

  • FGSM
  • PGD
  • BIM
  • MIM
  • FFGSM

これらすべての手法に共通することは、AIが正しく識別したときの損失が高くなるようなノイズを入力データに加えることです。このようなノイズは、以下の式を解くことによって求めることができます。

防御手法

敵対的攻撃に対する防御手法としては、様々な方法が提案されています。本研究と同じように、敵対的攻撃を受けた入力データのノイズを除去するものであったり、敵対的攻撃を受けたデータも込みで学習させる敵対的訓練などがあります。本研究では、それらの手法と性能の比較を行っています。

提案手法(TRN)

敵対的攻撃に対して、敵対的攻撃によって加えられたノイズを除去し、元の画像を復元することで防御を行います。概要としては、以下のようなアーキテクチャで防御を行います。

元の画像を復元するうえで、攻撃された画像と、その画像の時の勾配を利用します。今回対象としているのが勾配ベースの攻撃手法なので、その攻撃の際に用いられる情報である勾配を元画像の復元にも用います。ただ、攻撃者側はわかっても、防御側には入力データの正しい正解ラベルが何であるかということは分かりません。この情報がない場合、損失関数を計算することができないので、正しく勾配を計算することができません。そこで、防御側はすべてのラベルに対して勾配を計算します。それをまとめて勾配マップと呼びます。この勾配マップをモデルの入力とします。

この勾配マップが正しく機能することを検証した実験として、CIFAR10に対して勾配マップを可視化する実験が行われています。この結果は下の図のようになりました。

この図は、もともとはクラス6の画像だったが、敵対的攻撃によってクラス8と認識された画像を用いて計算した勾配マップを表しています。この図を見ると、敵対的攻撃によって誤認識されているクラスの勾配マップには、ほかのクラスにはない特徴がみられます。よって、敵対的攻撃を受けた画像かどうかは、この勾配マップの情報から判断できることがわかります。

TRNの学習には、勾配マップと攻撃された画像を入力データとして、元の画像を正解データとして行います。TRNの概要図においてFusion Blockと呼ばれる部分は、以下のような構造になっています。

勾配マップが持つ情報と、攻撃された画像が持つ情報をうまく掛け合わせるため、このFusion Blockの構造を利用します。掛け合わせにFusion Connectionという接続を行い、情報の共有を行っています。また、残差接続を用いることでFusion Blockをたくさん重ねても学習が進むように工夫しています。

実験

ほかの防御手法との性能比較

各攻撃手法に対して、現在まで提案されてきた様々な防御手法と、今回の提案手法を比較します。その比較した結果が下の表となります。

この表を見ると、どの攻撃に対しても、どのデータセットに対しても今回の提案手法がよりロバストであることがわかります。

敵対的学習時に用いたアルゴリズムがもたらす性能差

次に、TRNを学習させるときに用意する必要がある敵対的サンプルを作るための攻撃手法と、実際に攻撃されたときに攻撃手法が異なる場合にどのようにTRNの性能に影響するかを調べたものが次の表になります。

左が単純な敵対的攻撃の時の精度、右が今回の提案手法の時の精度を表しています。この表を見ると、どの攻撃手法で学習させていても、またそのときどの攻撃手法で攻撃されていても、敵対的学習よりも高い精度を達成することがわかります。また、Variationの列は最大精度と最小精度の差を表しており、この列を見ると敵対的訓練よりも差分が少ないことがわかります。

画像と勾配マップの両方を入力することが本当に必要か?

TRNの入力として、敵対的攻撃を受けた画像と、その画像の勾配マップを用いていますが、それが本当に必要かどうかを検証します。その結果が下の表になります。

この表は、PGDを用いた攻撃をCIFAR10に行った場合において、防御なしの時、勾配マップのみで元画像を復元したとき、攻撃を受けた画像だけで元画像を復元したとき、TRNで元画像を復元したとき、の四つを学習の過程ごとに比較したものです。この表を見ると、どちらか片方のみの時よりも、両方の情報を用いた時の方が軒並み高いスコアを出していることがわかるので、TRNの入力としては画像と勾配マップの両方が必要であることがわかります。

スケーラビリティについて

TRNでは、Fusion Blockという構造を用いて2つの入力(画像と勾配マップ)を混ぜ合わせています。Fusion Blockはその構造上、好きな数だけ繋げることができます。この特徴が防御においてどのようなメリットを持つかを検証します。

下の表は、Fusion Blockの数と、各データセットに対してPGDを用いて攻撃したときの精度の関係を表したものです。

この表を見ると、データセットごとに最高精度を達成するときのFusion Blockの数が異なることがわかります。よって、Fusion Blockの数が好きなように変化させられることが、防御の面で役立っていることがわかります。

Discussion

TRNを用いて復元した画像の例は下の図のようになります。

この図は、左の列がもともとの画像、真ん中の列が敵対的攻撃を受けた画像、右の列がTRNによって復元した画像を表しています。この図を見ると、CIFAR10においてはTRNを用いることで敵対的攻撃によるノイズをきれいに除去することができていることがわかります。しかし、Fashion MNISTとSVHNにおいては、TRNは格子状のパターンを追加して攻撃を防いでいることがわかります。著者らはこの原因について、CIFAR10と違ってFashion MNISTやSVHNは単純なデータ分布を持つため、こういった単純に格子を追加するという緩やかな復元方法で十分であるためであると分析しています。

まとめ

本論文では、勾配ベースの敵対的攻撃に対して、攻撃された画像から攻撃のノイズを除去することによって敵対的攻撃を防ぐという手法を提案しました。このノイズ除去に用いられるモデルであるTRNは、入力画像とその勾配マップを利用して除去するノイズを決定します。単純なデータ分布に対するノイズの除去結果が面白いと思ったので、様々なデータセットに対してこの手法を適用して、さらなる検証を見てみたいと思いました。

記事の内容等について改善箇所などございましたら、
お問い合わせフォームよりAI-SCHOLAR編集部の方にご連絡を頂けますと幸いです。
どうぞよろしくお願いします。

お問い合わせする