All Projects → QData → Adversarialdnn Playground

QData / Adversarialdnn Playground

Licence: apache-2.0
VizSec17: Web-based visualization tool for adversarial machine learning / LiveDemo

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Adversarialdnn Playground

Pytorchnlpbook
Code and data accompanying Natural Language Processing with PyTorch published by O'Reilly Media https://nlproc.info
Stars: ✭ 1,390 (+1130.09%)
Mutual labels:  deep-neural-networks
Ict
Code for reproducing ICT ( published in IJCAI 2019)
Stars: ✭ 107 (-5.31%)
Mutual labels:  deep-neural-networks
Video To Retail Platform
An intelligent multimodal-learning based system for video, product and ads analysis. Based on the system, people can build a lot of downstream applications such as product recommendation, video retrieval, etc.
Stars: ✭ 108 (-4.42%)
Mutual labels:  deep-neural-networks
Tensorflow2.0 Examples
🙄 Difficult algorithm, Simple code.
Stars: ✭ 1,397 (+1136.28%)
Mutual labels:  deep-neural-networks
Opentpod
Open Toolkit for Painless Object Detection
Stars: ✭ 106 (-6.19%)
Mutual labels:  deep-neural-networks
Selfdrivingcar
A collection of all projects pertaining to different layers in the SDC software stack
Stars: ✭ 107 (-5.31%)
Mutual labels:  deep-neural-networks
Models
DLTK Model Zoo
Stars: ✭ 101 (-10.62%)
Mutual labels:  deep-neural-networks
Robust Lane Detection
Stars: ✭ 110 (-2.65%)
Mutual labels:  deep-neural-networks
Ssd Pytorch
SSD: Single Shot MultiBox Detector pytorch implementation focusing on simplicity
Stars: ✭ 107 (-5.31%)
Mutual labels:  deep-neural-networks
Faceswap
Deepfakes Software For All
Stars: ✭ 39,911 (+35219.47%)
Mutual labels:  deep-neural-networks
Faceaging By Cyclegan
Stars: ✭ 105 (-7.08%)
Mutual labels:  deep-neural-networks
Jlm
A fast LSTM Language Model for large vocabulary language like Japanese and Chinese
Stars: ✭ 105 (-7.08%)
Mutual labels:  deep-neural-networks
Neural Doodle
Turn your two-bit doodles into fine artworks with deep neural networks, generate seamless textures from photos, transfer style from one image to another, perform example-based upscaling, but wait... there's more! (An implementation of Semantic Style Transfer.)
Stars: ✭ 9,680 (+8466.37%)
Mutual labels:  deep-neural-networks
Intro To Deep Learning
A collection of materials to help you learn about deep learning
Stars: ✭ 103 (-8.85%)
Mutual labels:  deep-neural-networks
Torch Dreams
Making neural networks more interpretable, for research and art 🔎 💻 :brain: 🎨
Stars: ✭ 102 (-9.73%)
Mutual labels:  deep-neural-networks
Crfasrnn pytorch
CRF-RNN PyTorch version http://crfasrnn.torr.vision
Stars: ✭ 102 (-9.73%)
Mutual labels:  deep-neural-networks
Video2description
Video to Text: Generates description in natural language for given video (Video Captioning)
Stars: ✭ 107 (-5.31%)
Mutual labels:  deep-neural-networks
Gpnd
Generative Probabilistic Novelty Detection with Adversarial Autoencoders
Stars: ✭ 112 (-0.88%)
Mutual labels:  deep-neural-networks
Deep architect
A general, modular, and programmable architecture search framework
Stars: ✭ 110 (-2.65%)
Mutual labels:  deep-neural-networks
Deep learning object detection
A paper list of object detection using deep learning.
Stars: ✭ 10,334 (+9045.13%)
Mutual labels:  deep-neural-networks

Adversarial DNN Playground

Citation:

@inproceedings{norton2017adversarial,
  title={Adversarial-Playground: A visualization suite showing how adversarial examples fool deep learning},
  author={Norton, Andrew P and Qi, Yanjun},
  booktitle={Visualization for Cyber Security (VizSec), 2017 IEEE Symposium on},
  pages={1--4},
  year={2017},
  organization={IEEE}
}

Reference Papers:

[1] "Adversarial-Playground: A Visualization Suite Showing How Adversarial Examples Fool Deep Learning", Andrew P. Norton, Yanjun Qi, arxiv (this is a revised version of [1]) Published in: 2017 IEEE Symposium on Visualization for Cyber Security (VizSec), URL

[2] "Adversarial Playground: A Visualization Suite for Adversarial Sample Generation", Norton, Andrew and Qi, Yanjun, url

This is Andrew Norton's capstone research work. The goal is to perform a similar function to Google's TensorFlow Playground, but for evasion attacks in adversiaral machine learning. It is a web service that enables the user to visualize the creation of adversarial samples to neural networks.

Screenshots and Demo

Information regarding the various settings for each attack model may be found the project slide set (see especially the System Demonstration section).

Installation

There are git submodules in this repository; to clone all the needed files, please use:

git clone --recursive https://github.com/QData/AdversarialDNN-Playground.git

The primary requirements for this package are Python 3 with Tensorflow version 1.0.1 or greater. The requirements.txt file contains a listing of the required Python packages; to install all requirements, run the following:

pip3 -r install requirements.txt

If the above command does not work, use the following:

pip3 install -r requirements.txt

Or use the following instead if need to sudo:

sudo -H pip  install -r requirements.txt

Use:

To Deploy the webserver:

Once you've downloaded the repo, run python3 run.py :

$ cd AdversarialDNN-Playground-localDir
$ python3 run.py &       

Or run the following command to run the webapp in the background even when logged out from the server:

$ cd AdversarialDNN-Playground-localDir
$ nohup python3 run.py &        # run in background even when logged out

Now use your favorite explorer to navigate to localhost:9000 or 'your_server_url:9000'

Modifying Seed Images

By default, we give the user the option of 11 seed images (one from each class 0 through 9, and one misclassified instance from the "9" class). However, you may desire to select different images for your own instance of this tool. It is quite easy to do so via the json_gen.py script in the utils directory. Edit the images_to_generate.csv file to specify the indices into the MNIST dataset which interest you in the first column, and provide a human readable description in the second column.

After editing the images_to_generate.csv file, run:

$ python images_to_generate.csv

This will take a short amount of time, as it processes and classifies (using the pre-trained model) each seed image, and saves a png file of the image. There are two items created as output, and they must be moved into proper locations in the webapp directories:

  • seeds.json : This contains each image and the classifier output as a JSON object; it goes in /webapp/models.
  • imgs/ : This directory should be copied into the webapp/static/ directory.

Run (or restart) the webserver, and the new options should be visible to the user.

Framework

  • Python Flask-based server
    • Python backend provides access to TensorFlow
    • Integration with cleverhans is also possible
  • Front-end using JQuery and Bootstrap
    • Bootstrap for static visuals
    • Ploty.JS utilized for visualization
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].