Adversarial machine learning: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Corretto: "inerenti a" |
Nessun oggetto della modifica |
||
Riga 20:
dove <math display="inline">\delta_X</math> è un vettore contenente la perturbazione da aggiungere al campione <math display="inline">X</math>, <math>F</math> è la funzione approssimata dall'algoritmo e <math>Y^*</math>è la classe obiettivo che l'attaccante vuole ottenere per <math display="inline">X</math>.
===Fast Gradient Sign Method (FGSM)===
Uno dei primissimi attacchi proposti per la generazione di esempi avversari è stato proposto dai ricercatori di Google Ian J. Goodfellow, Jonathon Shlens e Christian Szegedy.<ref>{{cite arXiv|last1=Goodfellow|first1=Ian J.|last2=Shlens|first2=Jonathon|last3=Szegedy|first3=Christian|date=2015-03-20|title=Explaining and Harnessing Adversarial Examples|class=stat.ML|eprint=1412.6572}}</ref> L'attacco è stato chiamato metodo del segno del gradiente veloce e consiste nell'aggiungere all'immagine una quantità lineare di rumore non percepibile e nel far sì che il modello la classifichi in modo errato. Questo rumore viene calcolato moltiplicando il segno del gradiente rispetto all'immagine che si vuole perturbare per una piccola costante epsilon. All'aumentare di epsilon, il modello ha maggiori probabilità di essere ingannato, ma anche le perturbazioni diventano più facili da identificare. Di seguito è riportata l'equazione per generare un esempio avversario in cui <math display="inline">x</math> è l'immagine originale, <math display="inline">\epsilon</math> è un numero molto piccolo, <math display="inline">\Delta_x</math> è la funzione gradiente, <math display="inline">J</math> è la funzione di perdita, <math display="inline">\theta</math> sono i pesi del modello e <math display="inline">y</math> è l'etichetta vera.<ref name=":10">{{Cite web|last=Tsui|first=Ken|date=2018-08-22|title=Perhaps the Simplest Introduction of Adversarial Examples Ever|url=https://towardsdatascience.com/perhaps-the-simplest-introduction-of-adversarial-examples-ever-c0839a759b8d|access-date=2021-10-24|website=Medium|language=en}}</ref>
<math>adv_x = x + \epsilon \cdot sign(\Delta_xJ(\theta, x, y))</math><ref name=":11">{{Cite web|title=Adversarial example using FGSM TensorFlow Core|url=https://www.tensorflow.org/tutorials/generative/adversarial_fgsm|access-date=2021-10-24|website=TensorFlow|language=en}}</ref>
Una proprietà importante di questa equazione è che il gradiente viene calcolato rispetto all'immagine di input, poiché l'obiettivo è generare un'immagine che massimizzi la perdita per l'immagine originale dell'etichetta vera <math display="inline">y</math>. Nella discesa del gradiente tradizionale (per l'addestramento del modello), il gradiente viene utilizzato per aggiornare i pesi del modello, poiché l'obiettivo è minimizzare la perdita per il modello su un dataset di verità a terra. Il metodo Fast Gradient Sign è stato proposto come un modo veloce per generare esempi avversari per eludere il modello, basandosi sull'ipotesi che le reti neurali non possono resistere nemmeno a quantità lineari di perturbazioni dell'input.<ref>{{cite web|url=https://qualified.one/blog/data_science/overfitting-adversarial-training/|sito=Qualified.One|date=29-11-2022|title=Overfitting adversarial training}}</ref>
==== Esempio: reti neurali artificiali ====
|