livepeer / livepeer/verification-classifier
Experiment with adversarial training with CleverHans
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).
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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