Integrating ethics into embedded machine learning education with
Model Blocks
Introduction
Welcome! This short introduction to embedded machine learning uses SIMPL model blocks to construct a classifier using JACDAC enabled sensors.
After completing this tutorial you will be able to:
Define a problem that can be solved with classification and deployed on an embedded device
Develop a machine learning model, reflecting on ethical considerations at every step
Deploy a machine learning system with a plan to evaluate its impact
What is TinyML?
Today, we use machine learning systems in just about every sector of society - everything from creating entertainment to enforcing laws. Machine learning is a subset of artificial intelligence (AI) that focuses on learning and exploiting patterns. In this tutorial, we will focus on building supervised machine learning algorithms that use patterns found in sensor data to label new data.
Key Idea: We say that machine learning models make predictions. These predictions are based on past examples so they're more like a line-of-best-fit forecast than a psychic prediction.
Tiny Machine Learning or TinyML describes algorithms that run on small computers, like microcontrollers. Microcontrollers are small, cheap, low-powered devices and are present in many electronics like household appliances. Being able to run machine learning algorithms on microcontrollers means that we can inexpensively add interesting, new functionality to all kinds of devices.
Setup
This tutorial uses a prototype tool for creating embedded machine learning models called Model Blocks.
As you follow along with this tutorial you will need the model editor website open in an Edge or Chrome tab.
Model Blocks is built on top of Jacdac, a hardware protocol that makes it easy to control many different kinds of sensors.
A micro:bit or other Jacdac compatible microcontroller loaded with Jacdac firmware. For micro:bit v2s, you can download the Jacdac software via this Makecode extension (created by following the instructions here).
Considering ethics at every step
The idea that AI and machine learning algorithms can encode human biases is becoming more known by the general public. However, there is a common misconception that data is the primary cause of bias and harmful outcomes. In reality, dataset bias is just one of several kinds of biases that we must consider when designing machine learning systems. This tutorial was built to encourage machine learning builders (like you!) to consider some of those other forms of bias.