Skip to content

maxdinech/car-crash

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

396 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

Ce projet a pour but de mettre en évidence les faiblesses des réseaux de neurones qui peuvent être utilisés dans les voitures autonomes.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages