{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Adversarial-Robustness-Toolbox for scikit-learn DecisionTreeClassifier" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "from sklearn.ensemble import BaggingClassifier\n", "from sklearn.datasets import load_iris\n", "\n", "import numpy as np\n", "from matplotlib import pyplot as plt\n", "\n", "from art.estimators.classification import SklearnClassifier\n", "from art.attacks.evasion import ZooAttack\n", "from art.utils import load_mnist\n", "\n", "import warnings\n", "warnings.filterwarnings('ignore')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 1 Training scikit-learn BaggingClassifier and attacking with ART Zeroth Order Optimization attack" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "def get_adversarial_examples(x_train, y_train):\n", " \n", " # Fit BaggingClassifier\n", " model = BaggingClassifier()\n", " model.fit(X=x_train, y=y_train)\n", "\n", " # Create ART classifier for scikit-learn BaggingClassifier\n", " art_classifier = SklearnClassifier(model=model)\n", "\n", " # Create ART Zeroth Order Optimization attack\n", " zoo = ZooAttack(classifier=art_classifier, confidence=0.0, targeted=False, learning_rate=1e-1, max_iter=20,\n", " binary_search_steps=10, initial_const=1e-3, abort_early=True, use_resize=False, \n", " use_importance=False, nb_parallel=1, batch_size=1, variable_h=0.2)\n", " \n", " # Generate adversarial samples with ART Zeroth Order Optimization attack\n", " x_train_adv = zoo.generate(x_train)\n", "\n", " return x_train_adv, model" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 1.1 Utility functions" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "def get_data(num_classes):\n", " x_train, y_train = load_iris(return_X_y=True)\n", " x_train = x_train[y_train < num_classes][:, [0, 1]]\n", " y_train = y_train[y_train < num_classes]\n", " x_train[:, 0][y_train == 0] *= 2\n", " x_train[:, 1][y_train == 2] *= 2\n", " x_train[:, 0][y_train == 0] -= 3\n", " x_train[:, 1][y_train == 2] -= 2\n", " \n", " x_train[:, 0] = (x_train[:, 0] - 4) / (9 - 4)\n", " x_train[:, 1] = (x_train[:, 1] - 1) / (6 - 1)\n", " \n", " return x_train, y_train" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "def plot_results(model, x_train, y_train, x_train_adv, num_classes):\n", " \n", " fig, axs = plt.subplots(1, num_classes, figsize=(num_classes * 5, 5))\n", "\n", " colors = ['orange', 'blue', 'green']\n", "\n", " for i_class in range(num_classes):\n", "\n", " # Plot difference vectors\n", " for i in range(y_train[y_train == i_class].shape[0]):\n", " x_1_0 = x_train[y_train == i_class][i, 0]\n", " x_1_1 = x_train[y_train == i_class][i, 1]\n", " x_2_0 = x_train_adv[y_train == i_class][i, 0]\n", " x_2_1 = x_train_adv[y_train == i_class][i, 1]\n", " if x_1_0 != x_2_0 or x_1_1 != x_2_1:\n", " axs[i_class].plot([x_1_0, x_2_0], [x_1_1, x_2_1], c='black', zorder=1)\n", "\n", " # Plot benign samples\n", " for i_class_2 in range(num_classes):\n", " axs[i_class].scatter(x_train[y_train == i_class_2][:, 0], x_train[y_train == i_class_2][:, 1], s=20,\n", " zorder=2, c=colors[i_class_2])\n", " axs[i_class].set_aspect('equal', adjustable='box')\n", "\n", " # Show predicted probability as contour plot\n", " h = .01\n", " x_min, x_max = 0, 1\n", " y_min, y_max = 0, 1\n", "\n", " xx, yy = np.meshgrid(np.arange(x_min, x_max, h), np.arange(y_min, y_max, h))\n", "\n", " Z_proba = model.predict_proba(np.c_[xx.ravel(), yy.ravel()])\n", " Z_proba = Z_proba[:, i_class].reshape(xx.shape)\n", " im = axs[i_class].contourf(xx, yy, Z_proba, levels=[0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0],\n", " vmin=0, vmax=1)\n", " if i_class == num_classes - 1:\n", " cax = fig.add_axes([0.95, 0.2, 0.025, 0.6])\n", " plt.colorbar(im, ax=axs[i_class], cax=cax)\n", "\n", " # Plot adversarial samples\n", " for i in range(y_train[y_train == i_class].shape[0]):\n", " x_1_0 = x_train[y_train == i_class][i, 0]\n", " x_1_1 = x_train[y_train == i_class][i, 1]\n", " x_2_0 = x_train_adv[y_train == i_class][i, 0]\n", " x_2_1 = x_train_adv[y_train == i_class][i, 1]\n", " if x_1_0 != x_2_0 or x_1_1 != x_2_1:\n", " axs[i_class].scatter(x_2_0, x_2_1, zorder=2, c='red', marker='X')\n", " axs[i_class].set_xlim((x_min, x_max))\n", " axs[i_class].set_ylim((y_min, y_max))\n", "\n", " axs[i_class].set_title('class ' + str(i_class))\n", " axs[i_class].set_xlabel('feature 1')\n", " axs[i_class].set_ylabel('feature 2')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 2 Example: Iris dataset" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### legend\n", "- colored background: probability of class i\n", "- orange circles: class 1\n", "- blue circles: class 2\n", "- green circles: class 3\n", "- red crosses: adversarial samples for class i" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "ZOO: 100%|██████████| 100/100 [00:17<00:00, 5.72it/s]\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "<Figure size 720x360 with 3 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "num_classes = 2\n", "x_train, y_train = get_data(num_classes=num_classes)\n", "x_train_adv, model = get_adversarial_examples(x_train, y_train)\n", "plot_results(model, x_train, y_train, x_train_adv, num_classes)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "scrolled": false }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "ZOO: 100%|██████████| 150/150 [00:24<00:00, 6.23it/s]\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "<Figure size 1080x360 with 4 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "num_classes = 3\n", "x_train, y_train = get_data(num_classes=num_classes)\n", "x_train_adv, model = get_adversarial_examples(x_train, y_train)\n", "plot_results(model, x_train, y_train, x_train_adv, num_classes)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 3 Example: MNIST" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 3.1 Load and transform MNIST dataset" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "(x_train, y_train), (x_test, y_test), min_, max_ = load_mnist()\n", "\n", "n_samples_train = x_train.shape[0]\n", "n_features_train = x_train.shape[1] * x_train.shape[2] * x_train.shape[3]\n", "n_samples_test = x_test.shape[0]\n", "n_features_test = x_test.shape[1] * x_test.shape[2] * x_test.shape[3]\n", "\n", "x_train = x_train.reshape(n_samples_train, n_features_train)\n", "x_test = x_test.reshape(n_samples_test, n_features_test)\n", "\n", "y_train = np.argmax(y_train, axis=1)\n", "y_test = np.argmax(y_test, axis=1)\n", "\n", "n_samples_max = 200\n", "x_train = x_train[0:n_samples_max]\n", "y_train = y_train[0:n_samples_max]\n", "x_test = x_test[0:n_samples_max]\n", "y_test = y_test[0:n_samples_max]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 3.2 Train BaggingClassifier classifier" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "model = BaggingClassifier(base_estimator=None, n_estimators=10, max_samples=1.0, max_features=1.0, \n", " bootstrap=True, bootstrap_features=False, oob_score=False, warm_start=False, \n", " n_jobs=None, random_state=None, verbose=0)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "BaggingClassifier(base_estimator=None, bootstrap=True, bootstrap_features=False,\n", " max_features=1.0, max_samples=1.0, n_estimators=10,\n", " n_jobs=None, oob_score=False, random_state=None, verbose=0,\n", " warm_start=False)" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "model.fit(X=x_train, y=y_train)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 3.3 Create and apply Zeroth Order Optimization Attack with ART" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "art_classifier = SklearnClassifier(model=model)" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "zoo = ZooAttack(classifier=art_classifier, confidence=0.0, targeted=False, learning_rate=1e-1, max_iter=100,\n", " binary_search_steps=20, initial_const=1e-3, abort_early=True, use_resize=False, \n", " use_importance=False, nb_parallel=10, batch_size=1, variable_h=0.25)" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "scrolled": false }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "ZOO: 100%|██████████| 200/200 [08:27<00:00, 2.54s/it]\n" ] } ], "source": [ "x_train_adv = zoo.generate(x_train)" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "ZOO: 100%|██████████| 200/200 [05:53<00:00, 1.77s/it]\n" ] } ], "source": [ "x_test_adv = zoo.generate(x_test)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 3.4 Evaluate BaggingClassifier on benign and adversarial samples" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Benign Training Score: 1.0000\n" ] } ], "source": [ "score = model.score(x_train, y_train)\n", "print(\"Benign Training Score: %.4f\" % score)" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "<Figure size 288x288 with 1 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.matshow(x_train[0, :].reshape((28, 28)))\n", "plt.clim(0, 1)" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Benign Training Predicted Label: 5\n" ] } ], "source": [ "prediction = model.predict(x_train[0:1, :])[0]\n", "print(\"Benign Training Predicted Label: %i\" % prediction)" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Adversarial Training Score: 0.3700\n" ] } ], "source": [ "score = model.score(x_train_adv, y_train)\n", "print(\"Adversarial Training Score: %.4f\" % score)" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "<Figure size 288x288 with 1 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.matshow(x_train_adv[0, :].reshape((28, 28)))\n", "plt.clim(0, 1)" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Adversarial Training Predicted Label: 0\n" ] } ], "source": [ "prediction = model.predict(x_train_adv[0:1, :])[0]\n", "print(\"Adversarial Training Predicted Label: %i\" % prediction)" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Benign Test Score: 0.6250\n" ] } ], "source": [ "score = model.score(x_test, y_test)\n", "print(\"Benign Test Score: %.4f\" % score)" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "<Figure size 288x288 with 1 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.matshow(x_test[0, :].reshape((28, 28)))\n", "plt.clim(0, 1)" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Benign Test Predicted Label: 7\n" ] } ], "source": [ "prediction = model.predict(x_test[0:1, :])[0]\n", "print(\"Benign Test Predicted Label: %i\" % prediction)" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Adversarial Test Score: 0.2850\n" ] } ], "source": [ "score = model.score(x_test_adv, y_test)\n", "print(\"Adversarial Test Score: %.4f\" % score)" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "<Figure size 288x288 with 1 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.matshow(x_test_adv[0, :].reshape((28, 28)))\n", "plt.clim(0, 1)" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Adversarial Test Predicted Label: 6\n" ] } ], "source": [ "prediction = model.predict(x_test_adv[0:1, :])[0]\n", "print(\"Adversarial Test Predicted Label: %i\" % prediction)" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.7" } }, "nbformat": 4, "nbformat_minor": 2 }