Cos’è un Adversarial Machine Learning Attack o Attacco all'apprendimento automatico

Aggiornato il: gen 13


Indice :

  1. Machine Learning, non solo vantaggi

  2. Come funziona un attacco adversarial?

  3. Come calcolo il rumore?

  4. Quali sono le varie tipologie di attacchi?

  5. Conclusioni



Machine Learning, non solo vantaggi


Al giorno d’oggi, L’intelligenza artificiale (AI) e il Machine Learning (ML) vengono sempre più utilizzate nella maggior parte delle applicazioni intorno a noi, come ad esempio i “consigliati” di Netflix, i chatbot di Facebook, i “raccomandati” di Amazon, ecc...


Ciò consente a molte aziende di migliorare l’esperienza per gli utenti, rafforzare il loro business e soprattutto aumentare il fatturato.


Spesso quindi associamo a queste tecnologie soltanto dei vantaggi, quasi come se fossero una “pentola d’oro” per le aziende.

Purtroppo è necessario tenere presente che tali tecnologie tendono ad essere abbastanza vulnerabili e possono essere facilmente soggette a manipolazioni.


I ricercatori di cybersecurity, definiscono questa materia come “Adversarial Machine Learning”, e di seguito andremo a spiegare in cosa consiste principalmente un attacco adversarial.



Come funziona un attacco adversarial?


Supponete di avere un’immagine x, ad esempio quella di un panda ed il vostro classificatore riesce facilmente a riconoscere cosa c’è nell’immagine.

Gli attacchi adversarial non fanno altro che aggiungere a questa immagine un rumore impercettibile all’occhio umano tale che il classificatore non riesca più a riconoscere l’immagine originale.


[10] Christian Szegedy, W. Z. (2014, February 19). Intriguing properties of neural networks. Tratto da Cornell University: https://arxiv.org/abs/1312.6199



Come calcolo il rumore?


Ci sono varie tecniche per calcolare il rumore che permette di effettuare tali attacchi, ma quello più utilizzato è il Fast Gradient Sign Method (FGSM) definito da questa formula:



In questa equazione ε determina la quantità di rumore aggiunta e c(f(x),y) è la funzione di costo, ossia una misura di quanto il risultato ottenuto è lontano dalla soluzione prevista.




Quali sono le varie tipologie di attacchi?


Gli attacchi adversarial possono essere suddivisi in varie categorie, ma la distinzione principale da fare riguarda in che parte del processo avviene l’attacco.


1) Poisoning Attack

Si verifica quando l'avversario è in grado di iniettare dati avvelenati in fase di training del modello in modo da fargli imparare qualcosa che non dovrebbe.


L’attaccante può agire influenzando l’algoritmo di ML in fase di addestramento nei seguenti modi:

  • Inserendo “dati avvelenati”: l’attaccante, non potendo accedere ai dati in input, inserisce nel dataset dei campioni “adversarial”, modificando l’accuratezza del modello;


  • Modificando i dati in input: in questo caso l’attaccante ha accesso al dataset di training e può modificare i campioni, in modo da alterare drasticamente il funzionamento del modello;


  • Alterando l’algoritmo: in questo caso l’attaccante riesce ad agire direttamente sull’algoritmo che crea il modello, modificandolo secondo i suoi scopi;


  • Alterando il modello: l’attaccante non fa altro che sostituire il modello funzionale con quello avvelenato.



2) Evasion Attacks

Questa tipologia di attacchi avviene in fase di testing, in quanto l’attaccante non agisce sul modello interno del sistema, ma altera il dato di input in fase di caricamento, modificando il risultato del classificatore.

Si tratta della tipologia di attacco più comune nel ML.


Gli advesarial attacks possono essere suddivisi anche a seconda della conoscenza dell’attaccante del modello e l’obiettivo dell’attacco.



3) Knowledge Specific Attacks

Gli attacchi possono essere di due categorie: attacchi White-box ed attacchi Black-box.


  • Negli attacchi White-box, l’avversario ha una conoscenza completa del modello creato dall’algoritmo di addestramento, dei dati di training e di testing e degli hyperparameters (ossia dei parametri utilizzati per il controllo del processo di apprendimento) e può utilizzare tutte queste informazioni o parte di esse per manipolare il sistema.


  • Negli attacchi Black-box, invece, l’attaccante non ha accesso oppure ha soltanto un accesso parziale al modello ed utilizza le informazioni ricavate con l’intento di esaminare la vulnerabilità del sistema.



4) Intent Specific Attacks

Se l’attaccante vuole fare sì che l’output sbagliato appartenga ad una particolare classe, l’attacco si può definire targeted (mirato), se invece il suo scopo è semplicemente quello di alterare il modello l’attacco può essere definito no-targeted (non mirato).

L’attacco infatti può essere di vari tipi:


  • Confidence reduction: l’attaccante sceglie di non colpire una determinata classe, ma di ridurre la fiducia del modello in termini di bontà della previsione, ossia modifica la confidenza del modello nel credere che l’output ottenuto sia realmente il risultato atteso.


  • Attacco adversarial non mirato: l'obiettivo dell'attacco è modificare il dato in input in modo che il classificatore fornisca un risultato sbagliato.


  • Attacco adversarial mirato: l'obiettivo dell'attacco è modificare il dato in input, in modo che l’output in uscita sia quello forzato dall’attaccante.



Conclusioni


Bene, abbiamo parlato un po’ delle varie tipologie di attacchi adversarial.

Probabilmente ti starai chiedendo se e come è possibile contrastare tali attacchi.


Ad oggi le tecniche difensive non risultano ancora robuste ed efficaci a tutte le tipologie di attacchi e sono ancora oggetto di studio di numerosi ricercatori.


E tu avevi già sentito parlare degli adversarial attacks?

Credi che le aziende saranno più restie ad applicare algoritmi di Machine Learning nei loro business oppure gli attacchi possono essere considerati un piccolo lato negativo in confronto alle numerose potenzialità dell’intelligenza artificiale? Facci sapere nei Commenti.



Collegamento Linkedin Autore


Collegamento Instagram Autore



Grazie mille per la lettura !

4,939 visualizzazioni2 commenti

Post recenti

Mostra tutti

VUOI SCRIVERE ARTICOLI PER NOI.

Se vuoi scrivere articoli sul mondo dell' AI ed avere la tua visibilità, contattaci adesso.
Grazie per l'interesse dimostrato.

VUOI DIVENTARE UN MEMBRO UFFICIALE DELLA NOSTRA COMMUNITY E TRARNE I SEGUENTI BENEFICI?

Forum

Accedi al forum e fai domande o crea discussioni con esperti del settore. Potrai anche fare proposte di lavoro, condividere i tuoi progetti ed altro

Sfide

Accedi a diverse e diverti sfide sulla programmazione e intelligenza artificiale. Appena completerai la sfida riverai la certificazione

Download

Potrai scaricare in modo gratuito tutti i file dei vari progetti nel portale. Ogni progetto è disponibile in formato PDF, PYTHON, NOTEBOOK

E molto altro

Appena ti sarai registrato ti arriverà un e-book in regalo e in futuro ne riceverai altri...

In oltre potresti ricevere sconti o buoni

Se ti piacciono i benefici, i regali e vuoi essere aggiornato quando escono nuovi articoli, progetti o news premi il tasto qui sotto e registrati/accedi con Google, Facebook o con la tua email

Se invece preferisci solo sapere quando esce un nuovo articolo Senza ricevere i privilegi nel portale sopra descritti iscriviti qui sotto alla news letter

Rimani aggiornato, tranquillo anche noi odiamo lo SPAM

Segui i nostri canali social

Segui i nostri canali social 

  • YouTube Icona sociale

Youtube

  • Instagram

Instagram

  • Spotify Icona sociale

Spotify

  • White Facebook Icon

Facebook

  • Twitter Icon sociale

Twitter

©2020 Intelligenza Artificiale Italia

  • Instagram
  • Facebook Icona sociale
  • Youtube