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 |