Skip to content

Machine Learning, AI & Deep Learning Resources

Curated resources for learning ML, AI, and deep learning — from beginner-friendly introductions to the specific tools and frameworks used in this workshop.


Getting Started — Beginner Friendly

These resources assume no prior ML experience. Start here if you're new to the field.

Resource Type Description
Google ML Crash Course Free Course 15-hour course with videos and interactive exercises. Best starting point.
Fast.ai Practical Deep Learning Free Course Top-down approach — build working models first, understand theory later.
3Blue1Brown — Neural Networks Video Series Beautiful visual explanations of how neural networks work. Start here if you're a visual learner.
StatQuest with Josh Starmer — ML YouTube Playlist Fun, jargon-free explanations of ML concepts with animations.
Machine Learning for Everybody YouTube Video FreeCodeCamp's comprehensive 3-hour intro to ML by Kylie Ying.
Elements of AI Free Course EU-backed intro to AI for non-technical people. Very accessible.

Deep Learning — Next Steps

Once you understand the basics, these will take you deeper.

Resource Type Description
Deep Learning Specialization (Andrew Ng) Course (Paid/Coursera) The gold standard — 5 courses from the founder of Google Brain. Audit for free.
Neural Networks from Scratch (Harrison Kinsley) Book + Videos Build neural networks in pure Python without any framework. Deep understanding.
MIT 6.S191 Intro to Deep Learning Free Course MIT's official intro — lectures, labs, and slides. Updated yearly.
Andrej Karpathy — Neural Networks: Zero to Hero YouTube Series Build GPT from scratch. Advanced but beautifully explained.
Dive into Deep Learning Free Book Interactive book with code in PyTorch, TensorFlow, and JAX.
Deep Learning Book (Goodfellow et al.) Free Book The textbook — comprehensive and mathematical. Reference, not a tutorial.

TensorFlow & Keras

The framework used in this workshop for training models.

Resource Type Description
TensorFlow Official Tutorials Tutorials Official step-by-step guides — start with "Quickstart for beginners"
Keras Official Guide Guide High-level API for building neural networks easily
TensorFlow Lite for Microcontrollers Docs How to run TF models on microcontrollers (ESP32, Arduino, etc.)
TensorFlow Lite Micro GitHub GitHub Source code and examples for TFLite Micro
TF Lite Quantization Guide Docs How to quantize models (float32 → int8) for smaller, faster inference
TensorFlow in 10 Minutes YouTube Quick overview of TensorFlow basics

TinyML — ML on Microcontrollers

Running ML models on small, low-power devices like the ESP32-S3.

Resource Type Description
TinyML Book (O'Reilly) Book The definitive guide to ML on microcontrollers. Very beginner-friendly.
TinyML Foundation Community Community site with events, talks, and resources
Harvard TinyMLx EdX Course Free Course Harvard's official TinyML course — 3 parts, from fundamentals to deployment
Edge Impulse Studio Platform No-code ML training and deployment for embedded devices. Free for developers.
ESP-TFLite Micro (Espressif) GitHub Espressif's optimized TFLite Micro for ESP32 chips
TinyML Talks (YouTube) YouTube Technical talks from the TinyML community

Computer Vision on the Edge

Related to Module 16 (Person Detection) in the workshop.

Resource Type Description
MobileNetV2 Paper Paper The architecture we use for person detection — inverted residuals + linear bottlenecks
ESP32 Camera Driver (Espressif) Component ESP-IDF component for OV2640 and other camera modules
FOMO (Faster Objects, More Objects) Guide Edge Impulse's lightweight object detection — designed for MCUs
Person Detection Example (TFLite Micro) Example Official TFLite Micro person detection example
OpenMV Platform MicroPython-based machine vision — alternative approach for embedded CV

Data Science & Python for ML

Essential Python skills for the ML pipeline.

Resource Type Description
Python Official Tutorial Tutorial Python basics — start here if you're new to Python
NumPy Quickstart Tutorial Array operations, math, and data manipulation
Pandas Getting Started Tutorial Data loading, cleaning, and analysis — essential for dataset prep
Matplotlib Tutorials Tutorials Data visualization — plot your sensor data and training curves
Scikit-learn User Guide Guide Classical ML algorithms (SVM, random forest, etc.) — useful for comparison
Google Colab Platform Free Jupyter notebooks with GPU — where you'll run the training notebooks

Model Optimization for Embedded

Making models small enough and fast enough for microcontrollers.

Resource Type Description
TFLite Model Optimization Docs Official guide to quantization, pruning, and weight clustering
INT8 Quantization Guide Docs Technical spec for INT8 quantization (what we use in the workshop)
TensorFlow Model Maker Tool Transfer learning in a few lines of code — train custom models easily
Netron Tool Visualize your TFLite model — see layers, shapes, and sizes
TFLite Converter Guide Docs Convert Keras/SavedModel to TFLite format

Cloud & IoT ML

Connecting edge ML to the cloud (Module 17).

Resource Type Description
AWS IoT Core Documentation Docs AWS IoT service for device connectivity and MQTT
AWS IoT Device SDK (ESP-IDF) SDK C SDK for connecting ESP32 to AWS IoT Core
Azure IoT Hub Platform Microsoft's IoT cloud platform — alternative to AWS
Google Cloud IoT Platform Google's IoT platform with ML integration

Books

Book Author Level Description
TinyML Warden & Situnayake Beginner ML on microcontrollers — the workshop's spiritual guide
Deep Learning with Python François Chollet Beginner-Intermediate By the creator of Keras. Practical and well-written.
Hands-On Machine Learning Aurélien Géron Beginner-Intermediate The most popular practical ML book. Covers Scikit-Learn and TensorFlow.
Neural Networks from Scratch Harrison Kinsley Intermediate Build NNs in pure Python — understand every line.
Deep Learning Goodfellow, Bengio, Courville Advanced The mathematical textbook. Reference, not a tutorial.

YouTube Channels

Channel Focus Recommended For
3Blue1Brown Visual math & neural networks Understanding why neural networks work
StatQuest Statistics & ML concepts Jargon-free explanations with humor
Sentdex Python & ML tutorials Practical coding tutorials
Andrej Karpathy Deep learning internals Building models from scratch
TinyML Foundation Embedded ML talks TinyML research and community
The AI Epiphany Paper explanations Understanding ML research papers

Practice & Competitions

Platform Description
Kaggle ML competitions, datasets, and notebooks. Free GPU. Start with "Titanic" and "Digit Recognizer."
Edge Impulse Train and deploy ML models for embedded devices. Free tier available.
Google Colab Free Jupyter notebooks with GPU/TPU. Run the workshop training notebooks here.
Hugging Face Model hub and tools — mostly for NLP, but growing in vision and audio.

Glossary — Quick Reference

Term Definition
ML (Machine Learning) Teaching computers to find patterns in data without explicit rules
DL (Deep Learning) ML using neural networks with many layers
AI (Artificial Intelligence) Broad term for machines performing tasks that typically require human intelligence
Neural Network Layers of interconnected neurons that transform input data into predictions
CNN (Convolutional Neural Network) Neural network specialized for images — uses filters to detect patterns
RNN (Recurrent Neural Network) Neural network for sequential data (audio, text, time series)
Transfer Learning Taking a model trained on one task and adapting it for a new, similar task — much faster than training from scratch
Quantization Reducing the precision of model weights (float32 → int8) to make the model smaller and faster
Inference Using a trained model to make predictions on new data
Training The process of adjusting model weights using training data
Epoch One complete pass through the entire training dataset
Batch Size Number of samples processed before updating model weights
Loss Function Measures how wrong the model's predictions are — training aims to minimize this
Overfitting Model memorizes training data but fails on new data
Underfitting Model is too simple to learn the underlying patterns
TinyML Running ML models on tiny, low-power microcontrollers (like ESP32)
TFLite TensorFlow's lightweight runtime for mobile and embedded devices
INT8 8-bit integer representation — used for quantized models on microcontrollers
Float32 32-bit floating point — standard precision for training, too heavy for most MCUs