This mini-course provides a comprehensive introduction to machine learning. Part 1 introduces the machine learning process and shows participants how to train simple models. Part 2 covers model evaluation and refinement. Artificial neural networks are introduced in Part 3. A survey of different neural network architectures is presented in Part 4. The mini-course concludes with a hackathon during Part 5 where participants will work on a small, end-to-end machine learning project chosen from one of multiple domains (e.g., computer vision, natural language processing).
Attendees should have some familiarity with Python and basic calculus.
The Introduction to Machine Learning mini-course will be held during Wintersession 2024 on January 16, 17, 18, 22, 23 in Lewis Library 120 at 2:00-4:00 PM.
- Computer vision: Learn more about CNNs, classify dogs versus cats using a simple CNN, and use transfer learning with an advanced CNN (ResNet-50) to classify dogs versus cats.
- Diffusion models: Learn about diffusion models (e.g., DALL-E 2) then build one and train a generative model for images.
- Large Language Models: This session introduces the basics of language modeling using the transformer architecture. Participants will learn how to download and fine-tune an LLM using the Hugging Face library.
You can run the notebooks for days 1 and 2 of this workshop using only a web browser thanks to jupyterlite.
Step 1: Go to https://jdh4.github.io/intro-ml
Step 2: In the file browser on the left, double click on ML_overview_2024.ipynb
for day 1 or Intro_Machine_Learning_Part2_2024.ipynb
for day 2 . You can then run the notebook as usual without using Colab or explicitly installing anything. The notebooks will run on your local machine.
The materials in this repository were created by Brian Arnold, Gage DeZoort, Julian Gold, Jonathan Halverson, Christina Peters, Jake Snell, Savannah Thias and Amy Winecoff.