Skip to content

Latest commit

 

History

History
64 lines (41 loc) · 2.66 KB

File metadata and controls

64 lines (41 loc) · 2.66 KB

Car Crash

« No stop signs,
  Speed limit,
  Nobody's gonna slow me down »

-- **AC/DC**, *Highway to Hell*

L’efficacité exceptionnelle des réseaux de neurones les rend intéressant dans de nombreux domaines, en particulier celui de la conduite autonome. Mais est-ce bien raisonnable de leur faire autant confiance ?

Plan

Partie I. Classification des panneaux de signalisation

Partie II. Tromper le réseau : comment hacker un panneau STOP ?

Partie III. Des pistes pour se prémunir contre de telles attaques

Plan détaillé

Partie I.A (Prise en main des outils : entraînements sur MNIST)

  • Étudier le fonctionnement d'un réseau de neurones basique (MLP).
  • Mettre en place un MLP de classification des chiffres manuscrits de MNIST, sans framework en Python.
  • Même chose en utilisant PyTorch.
  • Étudier le fonctionnement des réseau neuronaux convolutifs (CNN).
  • Mettre en place un CNN avec PyTorch pour la reconaîssance de MNIST.

Partie I.B (Classification des panneaux : GTSRB)

  • Mettre en place un CNN avec PyTorch pour la classification des panneaux (Réseau A).
  • Trouver un réseau de classification des panneaux utilisé dans des voitures du commerce (Réseau B).
  • Optionnel : Faire fonctionner ces réseaux dans une application iOS pour avoir des résultats en temps réel.

Partie II (Attaque des réseaux : Dodging et Impersonating)

  • Sur les réseaux collectés (A et B), essayer de tromper la reconaîssance de manière "naïve" (par ex. descente de gradient sur un panneau.)
  • Étudier l'état de l'art dans ce domaine : examples adversaires et attaques black-box.
  • Mettre en place ces attaques sur les trois réseaux.
  • Étudier et comparer les résultats.

Partie III (Renforcement des réseaux)

  • Inventer et mettre en place un renforcement "naïf" contre de telles attaques.
  • Collecter et expérimenter d'autres stratégies de renforcement existantes.
  • Comparer le succès des attaques sur les trois réseaux, avec diverses techniques de renforcement mises en place.
  • Conclure

Liens utiles

Dépendances

  • Python 3
  • numpy, matplotlib, PyTorch (torch), scikit-image, pandas, glob, joblib, wget, zipfile, shutil, tqdm