NextGen Cyber-Threats & GANs

CSCI 3800: Next-Generation Cyber-Threats: Generative Adversarial Networks

Department of Computer Science and Engineering - College of Engineering, Design and Computing - University of Colorado Denver

Term: Spring 2020

Location: PCLab - Lawrence St. Center 8th. floor.

Course Overview:

Machine Leaning and Deep Learning provide with many useful tools when it comes to cybersecurity, allowing for advanced detection and protection mechanisms for securing our data. However, the same tools used to protect our date can be used to exploit security issues. In the last years, Deep-fake and Generative Adversarial Networks (GAN) positioned an important security risk by allowing a person to generate videos with the image of someone else. Recently, researchers have demonstrated the versatility of these networks by creating the first AI-generated painting. With all these tools available, are we sure we can trust our eyes? Are we sure that we are buying an original piece of art and not an AI-generated counterfeit? Are we sure that our contacts in social media are who they say they are?

This course introduces Generative Adversarial Networks and navigate deeper in the uses of these networks with a strong focus on cybersecurity applications. We will learn how to create and apply these networks by means Python libraries like TensorFlow, Theano and PyTorch and developing applications capable of leveraging GPU-based environments.

Prerequisites:

  • CSCI2312: Object Oriented Programming
  • CSCI2421: Data Structures & Program Design
  • MATH1401: Calculus I

Expected Knowledge at the Start of the Course: We expect that the student has strong programming skills in any programming language. Previous machine learning and Python experience is not required.

Expected Knowledge Gained at the end of the Course: Students are expected to understand

  • Concepts of Machine and Deep Learning.
  • A strong understanding of Generative Adversarial Networks.
  • Use of Deep Learning frameworks such as Tensorflow, Keras, PyTorch and Theano.

Topics:

  • Introduction to Machine Learning & Deep Learning
  • Discriminative vs. Generative Models
  • AutoEncoders and Variational AutoEncoders
  • Generative Adversarial Networks: Deep Convolutional GAN, Semi-Supervised GAN, Conditional GAN and Cycle GAN
  • Applications and Ethics.

Textbook:

  • GANs in Action. Deep learning with Generative Adversarial Networks. J. Langr. V. Bok. Manning Publications. ISBN: 978-1617295560. Required

Other reference books, for deepening knowledge, are recommended:

  • Introduction To Deep Learning. E. Charniak. MIT Press. ISBN: 978-0-262-03951-2
  • Intro to Python for computer science and data science. 1st Edition. P. Deitel and H. Deitel. Pearson. ISBN: 978-0-13-540467-6

Course Schedule

  • W1: Course Presentation. Python Crash Course
  • W2: Intro to ML
  • W3: Intro to DL: ANN - Loss Function - SGD.
  • W4: Intro to DL:CNN
  • W5: Generative Models.
  • W6: AutoEncoders (AE) & Variational AE (VAE)
  • W7: First GAN - Gen. Handwritten Digits
  • W8: Deep Convolutional GAN (DCGAN)
  • W9: Training Challenges. Mid-Term
  • W10: Spring Break
  • W11: Progressing w/GANs. Semi-Supervised GAN
  • W12: Conditional GAN (CGAN)
  • W13: Cycle GAN (CyGAN)
  • W14: Applications: DeepFakes / PassGAN / SSGAN
  • W15: Ethics and Looking Ahead
  • W16: Project Presentations
  • Finals Week: Final Exam

Readings

Other readings such as research papers will be posted.