/indaba-pracs-2023

Notebooks for the Practicals at the Deep Learning Indaba 2023.

Primary LanguageJupyter Notebook

Deep Learning Indaba Practicals 2023

The Practicals

Topic 💥 Description 📘
Dive into Machine Learning: Learning by Implementing

English Open In Colab

French Open In Colab
This tutorial offers an immersive exploration of the world of machine learning. Our primary goal is to demystify complex concepts, presenting them in a simplified manner. We adopt an interactive approach, fostering a gradual and intuitive understanding that enables learners to construct their very first machine-learning model step by step.
Machine Learning for Biology: Learning the Language of Life

Open In Colab
In this tutorial we invite you to explore the language of proteins using machine learning. You don't require any previous bio experience, just some basic python, machine learning knowledge and a curious spirit! We will be working with cutting edge techniques in protein langauge modelling, such as using large language models to compute embeddings, how to visualise and explore these embeddings, and finally you will have a chance to train your own model!
Responsible AI

Open In Colab
As AI systems are increasingly used in high-stakes situations, there are important considerations on how to deploy the systems safely and responsibly. In this prac, we will discuss various principles for responsible AI. We will then concentrate on definitions of fairness. In the first half, we will do an activity to brainstorm definitions of fairness for specific use cases. In the second half, we will implement definitions of fairness per existing literature. We will then discuss and implement methods to improve the fairness outcomes of simple linear models.
Introduction to Probabilistic Thinking and Programming

Open In Colab
Thinking probabilistically and working with probability distributions can be very powerful tools for any machine learning practitioner. Unfortunately, they are tools that are often disregarded due to their perceived complexity. In this practical we hope to demistify these ideas by building intuition, provided practical tips, and introducing a very powerful framework for embracing the probabilistic approach – probabilistic programming. We’ll both motivate why we need probabilistic programming and give an introduction for using it in practice.

This prac is aimed at all knowledge levels! No matter what your prior experience with probabilistic thinking and/or programming, we are sure that you will be able to take away some useful knowledge from this practical. However, this means that depending on your level, some of the content will not be aimed at you. Don’t worry, this will be clearly marked at all points. We reccomend that you try and stick to our suggestions in order to get the most out of this prac in the given time, but if curiosity gets the better of you that’s also great!
Recommender Systems or Why Your Phone Isn't Actually Spying on You (kinda)

Open In Colab
Recommender Systems are probably one of the most ubiquitous type of machine learning model that we encounter in our online life. They influence what we see in our social media feeds, the products we buy, the music we listen to, the food we eat, and the movies we watch. Sometimes they're so good that people feel that their phone is spying on their conversations! In this prac, we hope to convince you that this isn't the case (mostly) as well as taking you through some of the techniques popularly used in industry that recommends the content you see online.
Frozen Lake: An Icy Adventure Using Reinforcement Learning!

Open In Colab
RL has seen tremendous success in a wide range of challenging domains such as learning to play complex games like Atari, StarCraft II and GO, and applications like robotics. Modern natural language processing (NLP) also uses RL to improve the quality of language models based on human feedback (see RLHF).

In this tutorial, we will show how RL can be used to help our agent cross a Frozen Lake, while avoiding perilous holes in the ice in order to get to a goal. You will use several different RL approaches, ranging from tabular Q-learning to more modern methods, such as DQN (Deep Q-Networks). Along the way, you will be introduced to some of the most fundamental concepts and terminology in RL, while trying to build intuition into what RL is about.
Mathematical Tools for Machine Learning: Linear Algebra

English Open In Colab

French Open In Colab
Mathematics is the bedrock tool for all quantitative sciences and machine learning is no exception. Basic literacy in mathematics is essential for any machine learning scientist and fluency is often necessary for understanding or advancing the state of the art. In this practical we focus on linear algebra, providing separate tracks for those at the beginner and intermediate levels. This practical will equip you to understand the vast majority of the linear algebra used in machine learning code and papers, and provide you with the basic skills to do derivations and computations of your own.

In the beginner track we give an introduction to the basics of vectors and matrices, as well as an introduction to inner products and norms. The beginner track concludes by applying the techniques we’ve learned to derive the solution for ridge regression, a commonly used method for linear prediction with regularization. The intermediate track covers projections, orthonormal bases, the determinant, the trace, eigenvalues and eigenvectors. The intermediate track concludes by applying the techniques to principal component analysis, a very common method for dimensionality reduction. Whether you’re taking the beginner or intermediate track (or both!), we hope you find this practical useful!
LLMs for everyone

Open In Colab
Welcome to "LLMs for Everyone," a practical exploration into the captivating world of Language Models! This entire block of text was crafted only by ChatGPT, showcasing the remarkable capabilities of these type models. Throughout this practical, we will delve into the underlying fundamentals of transformers, the powerful technology that drives models like GPT, and learn how to fine-tune and train our very own Large Language Models. Let's embark on this exciting journey of understanding and creating LLMs, and discover how such impressive AI text generation is made possible!
Diffusion models: Building your own Stable Diffusion

Open In Colab
Denoising Diffusion Models are a variant of generative modelling that serve as the backbone in recent advances in image synthesis - including Dall-E 2, Stable Diffusion, and Midjourney. These models utilise an iterative denoising process during generation to produce high-quality samples. In this practical, we will explore the fundamentals of diffusion models, the intuition behind them, and how they work in practice. By the end of the practical, we will have covered all the steps required to train one of these models from scratch!
Let's map Africa! Introductory Tutorial to Geospatial Machine Learning

Open In Colab
Climate change is a pressing issue affecting the entire planet, with the Global South bearing a disproportionate burden of its impacts despite contributing less to its causes compared to more developed nations in the Global North. Extreme climate events such as droughts, floods, storms, and heatwaves have led to food insecurity and poverty. On the other hand, satellite imagery and machine learning (ML) can help address climate related challenges in food and water security, biodiversity, energy, and public health. To this end, this practical is designed to provide an introductory tutorial on geospatial machine learning for agriculture, particularly to classify farm-level crop types in Kenya using Sentinel-2 satellite imagery. Starting with an introductory session on key concepts of geospatial ML, the tutorial delves into ML development, validation, and performance evaluation techniques. Moreover, we aim to kick-start a build-up of an African GeoAI community that strives and collaborates to solve related challenges in the continent.

This repository contains the practical notebooks for the Deep Learning Indaba 2023, held at the University of Ghana, Accra, Ghana.

See www.deeplearningindaba.com for more details.