poloclub / bluff

Bluff: Interactively Deciphering Adversarial Attacks on Deep Neural Networks

Home Page:https://poloclub.github.io/bluff/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Bluff

Bluff is an interactive system for deciphering adversarial attacks on Deep Neural Networks (DNNs).

Bluff: Interactively Deciphering Adversarial Attacks on Deep Neural Networks.
Nilaksh Das*, Haekyu Park*, Zijie J. Wang, Fred Hohman, Robert Firstman, Emily Rogers, Duen Horng (Polo) Chau.
IEEE Visualization Conference (VIS), 2020.
* Both contributed equally

Live Demo

For a live demo, visit: https://poloclub.github.io/bluff/

Code and Data

Code (both frontend and backend) and data are available at https://github.com/poloclub/bluff.

Video

For the presentation video, visit: https://youtu.be/b6PHyYnassc

Running Bluff user interface Locally

  • Download or clone this repository:

    git clone https://github.com/poloclub/bluff.git
  • Within bluff repo, run:

    python -m http.server <PORT>
    

    For example,

    python -m http.server 8080

    To run this command, python 3 is needed.

  • Open any web browser and go to http://localhost:<PORT>. For example, http://localhost:8080 if you used port 8080.

  • You can find the frontend code in bluff/code/frontend.

Running Bluff backend

Requirement

This project is written in python 3.7.6. You can install the dependencies by running:

pip install -r requirements.txt

ImageNet Dataset

Code Structure

The backend code is in bluff/code/frontend.

  • Generate Adversarial Images
    • Please run gen_adversarial_images.py.
  • Compute Neuron Importance
    • Please run preprocess_scores.py
  • Compute Propagation of Influence
    • Please run edges.py

Citation

@inproceedings{das2020bluff,
  title={Bluff: Interactively Deciphering Adversarial Attacks on Deep Neural Networks},
  author={Wang, Zijie J. and Turko, Robert and Shaikh, Omar and Park, Haekyu and Das, Nilaksh and Hohman, Fred and Kahng, Minsuk and Chau, Duen Horng (Polo)},
  booktitle={IEEE Visualization Conference (VIS)},
  publisher={IEEE},
  year={2020},
  url={https://github.com/poloclub/bluff}
}

License

MIT License. See LICENSE.md.

Contact

For questions contact Nilaksh Das or Haekyu Park.

About

Bluff: Interactively Deciphering Adversarial Attacks on Deep Neural Networks

https://poloclub.github.io/bluff/

License:MIT License


Languages

Language:Jupyter Notebook 48.5%Language:JavaScript 33.7%Language:Python 13.9%Language:CSS 3.6%Language:HTML 0.3%