From 11482983d85328d1ce894bec9d3ce9af250b1d77 Mon Sep 17 00:00:00 2001 From: SUR Frederic <frederic.sur@univ-lorraine.fr> Date: Mon, 30 Dec 2024 09:54:02 +0000 Subject: [PATCH] 2024-2025 --- TP6/TP6_ex2_correc.ipynb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/TP6/TP6_ex2_correc.ipynb b/TP6/TP6_ex2_correc.ipynb index be42d0e..e360962 100644 --- a/TP6/TP6_ex2_correc.ipynb +++ b/TP6/TP6_ex2_correc.ipynb @@ -746,7 +746,7 @@ "En effet, d'un part $|f(x)|\\leqslant ||x||_{\\infty}||w||_1$, et d'autre part il s'agit d'un problème de programmation linéaire dont le maximum est atteint sur les sommets de l'hypercube défini par $||x||_{\\infty} \\leqslant 1$. Ces sommets ont pour composantes $(\\pm 1, \\pm 1, \\dots, \\pm 1)$. Le maximum du produit scalaire $x\\cdot w$ est donc $||w||_1$, atteint pour $x=\\text{sign}(w)$.\n", "\n", "Ainsi, le maximum de $J(\\theta,x',y)$ sous contrainte $||x'-x||\\leqslant \\epsilon$ est atteint pour:\n", - "$$ x'=\\epsilon \\; \\text{sign}\\left( \\nabla_x J(\\theta,x,y) \\right)$$\n", + "$$ x'=x+\\epsilon \\; \\text{sign}\\left( \\nabla_x J(\\theta,x,y) \\right)$$\n", "\n", "Pour que $x'$ soit un exemple contradictoire, il faut que $\\epsilon$ soit suffisamment petit pour que l'image $x'$ ressemble visuellement à l'image $x$, mais aussi suffisamment grand pour que $J(\\theta,x',y)$ soit assez différent de $J(\\theta,x,y)$ de manière à ce que le réseau se trompe en prédisant l'étiquette de $y$. \n", "\n", @@ -818,12 +818,12 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "L'inconvénient de l'approche précédente est que le choix du paramètre $\\epsilon$ peut être délicat: parfois $\\epsilon$ est trop petit pour que $ x'=\\epsilon \\; \\text{sign}\\left( \\nabla_x J(\\theta,x,y) \\right)$ ait une classe prédite différente de celle de $x$.\n", + "L'inconvénient de l'approche précédente est que le choix du paramètre $\\epsilon$ peut être délicat: parfois $\\epsilon$ est trop petit pour que $ x'=x+\\epsilon \\; \\text{sign}\\left( \\nabla_x J(\\theta,x,y) \\right)$ ait une classe prédite différente de celle de $x$.\n", "\n", "On peut procéder de manière itérative:\n", "- $x_0$ est l'image originale, d'étiquette $y_0$\n", - "- on cherche $x_1$ maximisant $J(\\theta,x_0,y_0)$ sous contrainte $||x_0-x_1||\\leqslant\\epsilon$ (comme précédemment)\n", - "- on recommence en cherchant $x_2$ maximisant $J(\\theta,x_1,y_0)$ sous contrainte $||x_1-x_2||\\leqslant\\epsilon$\n", + "- on cherche $x_1$ maximisant $J(\\theta,x,y_0)$ sous contrainte $||x-x_0||\\leqslant\\epsilon$ (comme précédemment)\n", + "- on recommence en cherchant $x_2$ maximisant $J(\\theta,x,y_0)$ sous contrainte $||x-x_1||\\leqslant\\epsilon$\n", "- etc. jusqu'à ce que la classe prédite pour $x_n$ soit différente de $y_0$\n", "\n", "Cet algorithme fournit généralement des exemples contradictoires davantage semblables visuellement à l'image de départ.\n", -- GitLab