Required

Machine Learning Security

Texas State Working Connections, Summer 2024, Sam Bowne

Mon, July 22 - Fri, July 26, 2024; Online only

To attend class online:
https://twitch.tv/sambowne

For interactive help, connect to:
https://zoom.us/j/4108472927
Password: student1

Schedule · Lecture Notes · Projects

Optional

Class Description

Every technical product is now incorporating machine learning at an explosive rate. But most people, even those with strong technical skills, don't understand how it works, what its capabilities are, and what security risks come with it. In this workshop, we'll make machine learning models using simple Python scripts, train them, and evaluate their value. Projects include computer vision, breaking a CAPTCHA, deblurring images, regression, and classification tasks. We will perform poisoning and evasion attacks on machine learning systems, and implement deep neural rejection to block such attacks.

No experience with programming or machine learning is required, and the only software required is a Web browser. We will use TensorFlow on free Google Colab cloud systems.

Textbooks

Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow Required
Github

AI and Machine Learning for Coders: A Programmer's Guide to Artificial Intelligence Optional

Quizzes

The quizzes are on this Canvas server:

Enroll Here · View Course · Reset password

You can download the whole Canvas course here

Schedule

DateTopic

Mon, July 22 1 The Machine Learning Landscape
OWASP Top Ten
Projects: GL badges: Google Learning
                ML 130: Prompt Injection

Projects: ML 101: Computer Vision
                ML 102: Breaking a CAPTCHA
                ML 103: Deblurring Images

2 End-to-End Machine Learning Project
Project: ML 104: Analyzing Input Data

Projects: Google Learning
Security Risks


Tue, July 23 3 Classification
Project: ML 105: Classification

4 Training Models

5 Support Vector Machines
Project: ML 112: Support Vector Machines

6 Decision Trees
Project: ML 113: Decision Trees

ML 106: Data Poisoning
ML 107: Evasion Attack with SecML
ML 108: Evasion Attack on MNIST dataset


Wed, July 24 7 Ensemble Learning and Random Forests
Project: ML 114: Ensemble Learning and Random Forests

8 Dimensionality Reduction
Projects: ML 115: Dimensionality Reduction

9 Unsupervised Learning Techniques
Project: ML 116: k-Means Clustering

ML 123: Running Llama 3 Locally
ML 126: Building RAGs


Thu, July 25 10 Introduction to Artificial Neural Networks

ML 160: GitHub Copilot
ML 131: Generating Python Code with Bard
Violent Python Challenges

11 Training Deep Neural Networks

ML 110: Poisoning by Gradients
ML 111: Poisoning the MNIST dataset

12 Custom Models and Training with Tensorflow


Fri, July 26 ML 140: Deep Neural Rejection

ML 127: Encoding Text with BERT
ML 128: Using AnythingLLM to Embed Custom Data

13 Loading and Preprocessing Data with Tensorflow

ML 120: Bloom LLM
ML 121: Prompt Engineering Concepts

ML 122: Comparing LLMs on Colab
ML 129: Embedding Words with BERT


Lectures

The Fundamentals of Machine Learning

1 The Machine Learning Landscape KEY · PDF
   OWASP Top 10 Machine Learning Security Risks · KEY · PDF
   OWASP Top 10 for LLM (PDF)
2 End-to-End Machine Learning Project KEY · PDF
3 Classification KEY · PDF
4 Training Models KEY · PDF
5 Support Vector Machines KEY · PDF
6 Decision Trees KEY · PDF
7 Ensemble Learning and Random Forests KEY · PDF
8 Dimensionailty Reduction KEY · PDF
9 Unsupervised Learning Techniques KEY · PDF

Neural Networks and Deep Learning

10 Introduction to Artificial Neural Networks KEY · PDF
11 Training Deep Neural Networks KEY · PDF
12 Custom Models and Training with Tensorflow KEY · PDF
13 Loading and Preprocessing Data with Tensorflow KEY · PDF

14 Deep Computer Vision Using Convolutional Neural Networks
15 Processing Sequences Using RNNs and CNNs
16 Natural Language Processing with RNNs and Attention

Last Updated: 7-24-24 4 pm