Skip to content

Implant and Detect Trojan Horses in maliciously trained Convolutional Neural Networks

License

Notifications You must be signed in to change notification settings

dspeyer/trojan-defender

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Trojan Defender

E6998 Robustness and Security in ML Systems (Columbia University)

Eduardo Blancas Reyes (eb3079), Daniel Speyer

Abstract

Organizations in need of neural nets often outsource the implementation and training of the nets. This opens opportunities for a malicious contractor to insert hidden behavior in the net: a neural trojan. We examine six possible attacks and three possible defenses. So far, no attack evades all defenses and no defense catches all attacks. While our survey of attacks is nowhere near exhaustive, we believe we have seen enough to begin generalizing from our experience.

Folder structure

  • report/
    • Source for final report
  • experiments/
    • Notebooks that we used during the project
  • gcloud/
    • Some shell scripts for managing the machine we used in Google Compute Engine
  • pkg/
    • Python package

Getting started

Install Python package to run the notebooks:

pip install pkg/

Testing

Run tests and verify that the notebooks run:

make test

About

Implant and Detect Trojan Horses in maliciously trained Convolutional Neural Networks

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Jupyter Notebook 80.8%
  • TeX 14.8%
  • Python 4.1%
  • Other 0.3%