ブログの投稿Breaking Linear Classifiers on ImageNetでは、画像を変更して分類器をだます方法について、非常に簡単な例を示しました。与えられたテクニックはとても簡単です:xad = x + 0.5w
ここで、xは1dベクトル、wは1dウェイトです。これはすべて良いとクリアです。しかし、私はこれをMNISTデータセットで実装しようとしており、この単純な考え方を実際の結果に変える方法は知られていません。私は与えられたx
行列(または単純に平坦化された1次元画像ベクトル)を変更するために既知のw
行列を使う方法を知りたいと思います。TensorFlowで画像と重み行列を使って敵対的な画像を作成するには?
私の画像マトリックスx
は、形状(1032,784)(各画像は784個の数字を持つ平坦化ベクトル)であり、私の重みマトリックスw
は形状(784,10)を持っています。ですから、上記の記事で紹介したアイデアをどのように実装するのかという疑問はありますか?特に、すべての画像にビットウェイトを追加する方法は?このようなもの:
x + 0.5 * w
マイコードcan be found on GitHub numpyで解決することをお勧めしますが、TensorFlowを使用しても問題ありません。ありがとう!