{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Adversarial-Robustness-Toolbox for scikit-learn RandomForestClassifier" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [], "source": [ "from sklearn.ensemble import RandomForestClassifier\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 RandomForestClassifier and attacking with ART Zeroth Order Optimization attack" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [], "source": [ "def get_adversarial_examples(x_train, y_train):\n", " \n", " # Create and fit RandomForestClassifier\n", " model = RandomForestClassifier()\n", " model.fit(X=x_train, y=y_train)\n", "\n", " # Create ART classfier for scikit-learn RandomForestClassifier\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": 28, "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": 29, "metadata": {}, "outputs": [], "source": [ "def plot_results(model, x_train, y_train, x_train_adv, num_classes):\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": 30, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "ZOO: 100%|██████████| 100/100 [01:27<00:00, 1.14it/s]\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "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": 31, "metadata": { "scrolled": false }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "ZOO: 100%|██████████| 150/150 [02:09<00:00, 1.15it/s]\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "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": 32, "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 RandomForestClassifier classifier" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [], "source": [ "model = RandomForestClassifier(n_estimators=10, criterion='gini', max_depth=None, min_samples_split=2, \n", " min_samples_leaf=1, min_weight_fraction_leaf=0.0, max_features='auto', \n", " max_leaf_nodes=None, min_impurity_decrease=0.0, min_impurity_split=None, \n", " bootstrap=True, oob_score=False, n_jobs=None, random_state=None, verbose=0, \n", " warm_start=False, class_weight=None)" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [], "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": 35, "metadata": {}, "outputs": [], "source": [ "art_classifier = SklearnClassifier(model=model)" ] }, { "cell_type": "code", "execution_count": 36, "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": 37, "metadata": { "scrolled": false }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "ZOO: 100%|██████████| 200/200 [09:27<00:00, 2.84s/it]\n" ] } ], "source": [ "x_train_adv = zoo.generate(x_train)" ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "ZOO: 100%|██████████| 200/200 [05:05<00:00, 1.53s/it]\n" ] } ], "source": [ "x_test_adv = zoo.generate(x_test)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 3.4 Evaluate RandomForestClassifier on benign and adversarial samples" ] }, { "cell_type": "code", "execution_count": 39, "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": 40, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "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": 41, "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": 42, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Adversarial Training Score: 0.2850\n" ] } ], "source": [ "score = model.score(x_train_adv, y_train)\n", "print(\"Adversarial Training Score: %.4f\" % score)" ] }, { "cell_type": "code", "execution_count": 43, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "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": 44, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Adversarial Training Predicted Label: 3\n" ] } ], "source": [ "prediction = model.predict(x_train_adv[0:1, :])[0]\n", "print(\"Adversarial Training Predicted Label: %i\" % prediction)" ] }, { "cell_type": "code", "execution_count": 45, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Benign Test Score: 0.5950\n" ] } ], "source": [ "score = model.score(x_test, y_test)\n", "print(\"Benign Test Score: %.4f\" % score)" ] }, { "cell_type": "code", "execution_count": 46, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "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": 47, "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": 48, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Adversarial Test Score: 0.3500\n" ] } ], "source": [ "score = model.score(x_test_adv, y_test)\n", "print(\"Adversarial Test Score: %.4f\" % score)" ] }, { "cell_type": "code", "execution_count": 49, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "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": 50, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Adversarial Test Predicted Label: 9\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 }