Aleksandar (Alex) Vakanski


CS 404/504 Special Topics: Adversarial Machine Learning


Link to the course materials from previous years: Fall 2020


Course Syllabus


Course Description

The course introduces students to adversarial attacks and defenses against machine learning models. The particular focus is on adversarial examples in deep learning models, due to their prevalence in modern machine learning applications. Covered topics include evasion attacks against white-box and black-box machine learning models, data poisoning attacks, privacy attacks, defense strategies against common adversarial attacks, generative adversarial networks, and robust machine learning models. The course also provides an overview of adversarial attacks against machine learning models used in cybersecurity applications, including malware detection and classification, network intrusion detection, spam filtering, URL detection, cyber-physical systems, and biometric systems.

Course Objectives

The objective is that upon the completion of the course the students should demonstrate the ability to:

1.  Outline the different categories of adversarial attacks against machine learning models.

2.  Describe common defense approaches for improved robustness of machine learning models against adversarial attacks.

3.  Understand the basics of adversarial data privacy attacks and privacy-preserving defense methods.

4.  Identify the unique characteristics of adversarial machine learning attacks in the cybersecurity domain.

5.  Implement adversarial attacks and defenses against conventional machine learning models and deep learning models for image classification.

6.  Implement adversarial attacks against anomaly detection systems for network intrusion detection.

Course Materials




Instructor Permission Required

Students are expected to have basic knowledge of linear algebra, probability and statistics, and machine learning concepts. Knowledge of neural networks and deep learning is recommended, but not required. Programming in Python is required for completing the course assignments and the project. Additionally, it is preferred that the students are familiar with at least one of the following machine learning libraries: TensorFlow, Keras, or PyTorch.


Evaluation Procedure

Homework Assignments (3)

60 %

Lecture Presentation

10 %

Course Project

30 %