Skip to content

Latest commit

 

History

6 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🛡️ Trustworthy AI

Lab Sessions & Projects for the Trustworthy AI Course
University of Genoa (UniGe)

Python Jupyter SecML


📖 About The Course

This repository contains the laboratory exercises, notebooks, and projects completed for the Trustworthy AI course at the University of Genoa.

The course focuses on the vulnerabilities of machine learning algorithms and the techniques used to evaluate, defend, and explain AI models. We explore various adversarial attacks (like Evasion and Poisoning) and countermeasures (like Adversarial Training) primarily using the SecML library.


🧪 Labs Overview

Here is a breakdown of the interactive Jupyter notebooks included in this repository:

Directory/Notebook Description Concepts Covered
labs/
00-SecML Introduction to SecML Basic operations with CArray, data loading, model training, and performance evaluation.
01-Evasion_complete Adversarial Evasion Attacks Implementing PGD (Projected Gradient Descent) attacks, generating adversarial examples to fool classifiers.
02-AdversarialEXEmples Malware Evasion (Adversarial EXEmples) Crafting adversarial Windows PE malware files to bypass machine learning-based malware detectors.
03-AdversarialTraining Adversarial Training & Defenses Hardening machine learning models against adversarial attacks by incorporating adversarial examples into the training phase.
05-Poisoning_complete Data Poisoning Attacks Corrupting the training dataset to compromise the learning process and degrade model performance.
06-Explainability Explainable AI (XAI) Interpreting model decisions, understanding feature importance, and visualising how models make predictions.
final_project/
FINAL-PART2 Final Project Comprehensive application of the concepts learned throughout the course.

🚀 Getting Started

To run these notebooks locally, you will need a Python environment with the required dependencies installed.

Prerequisites

We recommend using venv or conda to manage your environment. The primary library used across these labs is SecML.

# Clone the repository
git clone https://github.com/yourusername/trustworthy-ai.git
cd trustworthy-ai

# Create a virtual environment
python3 -m venv .venv
source .venv/bin/activate

# Install dependencies
pip install -r requirements.txt

Running the Labs

Once the environment is set up, you can start Jupyter Lab to explore the notebooks:

jupyter lab

📚 Acknowledgments

  • Course Instructors and TAs from the University of Genoa.
  • The SecML project developers for providing an excellent framework for secure and trustworthy machine learning.

Built with 💙 for the Trustworthy AI course.

About

Laboratory exercises and projects for the Trustworthy AI course at the University of Genoa (UniGe), exploring adversarial machine learning, evasion/poisoning attacks, defenses, and explainable AI using SecML.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages