livepeer / livepeer/verification-classifier

Experiment with adversarial training with CleverHans

Open
#105 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Jupyter Notebook
Stars
8
Forks
6
PR merge metrics
No merged PRs in 30d

Description

All the models used by the verifier right now are trained on a data set that contains videos representing synthetic attacks (see this comment). These synthetic attack videos can be thought of as a set of adversarial examples that an adversary may pass as an input to fool the models (either to misclassify a video as tampered or not tampered). While at the moment there is no method for generating adversarial examples that can cover the entire range of attacks that an adaptive adversary can use, there are some methods for generating some adversarial examples that can help improve the robustness of models.

One such method involves using a fast gradient sign method to generate large batches of adversarial examples for training and then training the model to assign the same label to the adversarial example as the original data point (i.e. if the original data point was a correctly transcoded video, the adversarial example should also be classified as a correctly transcoded video) [1]. The CleverHans library might be useful for this.

This adversarial training process is likely only applicable to the SL model (can be found in this branch).

[1] http://www.cleverhans.io/security/privacy/ml/2017/02/15/why-attacking-machine-learning-is-easier-than-defending-it.html

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the SL model in the qoe_model_integration branch and the linked CleverHans approach to fast gradient sign adversarial examples. Define how adversarial training applies to that model, then verify that generated examples retain the original labels and improve model robustness.

Written by the indexing model from the issue text.

Assessment

Tech stack
tensorflow
Domain
machine-learning, security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.