Raspberry Pi Pico: Künstliche Intelligenz (KI)

Die Nutzung künstlicher Intelligenz ist meist mit hoher Rechenleistung, viel Speicher und großen Datenmengen verbunden. Da passt ein Mikrocontroller-Board wie der Raspberry Pi Pico mit seiner geringen Rechenleistung und Speicherkapazität nicht ins Bild. Während das Anwenden eines KI-Modells meist möglich ist, muss das Training in der Regel auf einem leistungsfähigen Computer erfolgen. Insofern ist es eine Herausforderung, auf einem Raspberry Pi Pico eine neuronales Netz zu trainieren.

Herausforderung angenommen!

Auch mit geringer Rechenleistung und kleinem Speicher ist es möglich, ein neuronales Netz zu trainieren, um es dann später auf dem Raspberry Pi Pico anzuwenden. Aber, dabei kann man natürlich nicht das riesengroße Rad drehen. Allerdings ist das auch gar nicht nötig. Die Rechenleistung des Raspberry Pi Pico reicht zumindest dafür aus, um ihm beim Trainieren und Lernen des neuronalen Netzes zuzusehen.

Grundlagen: Künstliche Intelligenz mit einem neuronalen Netz

Maschinelles Lernen ist ein Teilbereich der KI. Hier „lernt“ ein Modell aus Beispielen, auch Trainingsdaten genannt, um auf neue, unbekannte Daten zu reagieren.
Neuronale Netze sind ein spezieller Ansatz im maschinellen Lernen, inspiriert vom menschlichen Gehirn. Ein neuronales Netz besteht aus mehreren Schichten von Neuronen, die Eingaben verarbeiten und weiterleiten. Jedes Neuron führt einfache Berechnungen durch, aber in Summe können dabei komplexe Zusammenhänge erlernt werden.

Im Unterschied zum klassischen Programmieren schreibt der Entwickler keine Regeln, sondern wählt einen Algorithmus aus und stellt Trainingsdaten bereit. Die „Logik“ des neuronalen Netzes entsteht erst durch das Training mit den Daten, nicht durch Programmierung. Das „Verhalten“ hängt vom Inhalt und der Qualität der Trainingsdaten, der Struktur des neuronalen Netzes sowie den gewählten Trainingsparametern ab.

Wenn man sich mit künstlicher Intelligenz beschäftigt, dann geht es zum Beispiel um maschinelles Lernen. Beispielsweise das Trainieren eines neuronalen Netzes. Demnach muss man sich mit 3 Aspekten befassen.

  1. Trainingsdaten mit Sensoren erzeugen
  2. Neuronales Netz trainieren und KI-Modell exportieren
  3. Neuronales Netz bzw. KI-Modell testen und anwenden

1. Trainingsdaten mit Sensoren erzeugen

Bevor man eine künstliche Intelligenz in Form eines neuronalen Netzes nutzen kann, muss man es trainieren. Und dafür braucht man Daten. Diese Daten müssen erzeugt, beschafft oder ausgewählt werden. Doch selbst wenn man die Daten hat, müssen die Daten in der Regel vorbereitet, eventuell bereinigt und dann das richtige Modell für den geforderten Anwendungszweck ausgewählt werden.
Der Raspberry Pi Pico ist perfekt dafür geeignet, um Daten mit Sensoren zu erzeugen und zu speichern. Wenn man es richtig anstellt, kann die Software die Daten gleich in die Form bringen, die wir später für das Training brauchen.

2. Neuronales Netz trainieren und KI-Modell exportieren

Um ein neuronales Netz zu trainieren muss man ein KI-Modell oder ein Verfahren auswählen. Es gibt verschiedene Verfahren, die an unterschiedliche Aufgabenstellungen angepasst sind. Häufig werden Frameworks und fertige Bibliotheken eingesetzt, die aber auf dem Raspberry Pi Pico nicht lauffähig sind. Deshalb braucht man vereinfachte Nachbildungen von neuronalen Netzen.
Je nach Modell kann das Trainieren mit den Daten mitunter sehr rechenaufwendig sein und sehr lange dauern. In der Regel stellt das Training eines neuronalen Netzes hohe Anforderungen an die Rechenleistung und die Größe von Arbeits- und Massenspeicher.
Auf einem Raspberry Pi Pico muss man deshalb mit einer begrenzten Menge an Daten auskommen und das Training kürzer sein.

3. Neuronales Netz bzw. KI-Modell testen und anwenden

Ein KI-Modell anzuwenden, also die Nutzungsphase, nennt man oft Inferencing. Gemeint ist damit die Anwendung eines fertig trainierten Modells auf Dateneingaben. Beispielsweise eine Live-Klassifikation auf dem Raspberry Pi Pico. In der Regel ist das kein Problem. Rechenleistung und Speicherkapazität des Raspberry Pi Pico reichen dafür aus.

Raspberry Pi Pico: Ein einfaches neuronales Netz trainieren und anwenden

Die Idee ist ein kleines, möglichst verständliches neuronales Netz zu trainieren und anzuwenden, und dass alles auf dem Raspberry Pi Pico mit MicroPython.
In diesem Beispiel soll ein neuronales Netz die Funktionsweise der logischen Verknüpfung XOR lernen. Die Sinnhaftigkeit ist natürlich begrenzt. Jeder Prozessor kann ein XOR. Aber es geht auch darum, das neuronale Netz beim Training und Lernen zu beobachten.

Raspberry Pi Pico: Neuronales Netz mit Daten von einem MPU-6050 trainieren

In diesem KI-Projekt wird ein einfacher Ansatz zur Bewegungserkennung mithilfe eines neuronalen Netzes direkt auf einem Raspberry Pi Pico umgesetzt. Ein MPU-6050-Sensor erfasst Beschleunigungs- und Rotationsdaten, aus denen charakteristische Muster für bestimmte Bewegungen wie z. B. „ruhig“ oder „schütteln“ extrahiert werden.

Das Projekt zeigt, dass auch auf einem Mikrocontroller mit begrenzten Ressourcen einfache KI-Anwendungen ohne externe Tools, Lösungen und Dienste realisierbar sind. Alle Programmcodes laufen auf einem Raspberry Pi Pico.

Weitere verwandte Themen:

Frag Elektronik-Kompendium.de

Hardware-nahes Programmieren mit dem Raspberry Pi Pico und MicroPython

Elektronik-Set Pico Edition

Das Elektronik-Set Pico Edition ist ein Bauteile-Sortiment mit Anleitung zum Experimentieren und Programmieren mit MicroPython.

  • LED: Einschalten, ausschalten, blinken und Helligkeit steuern
  • Taster: Entprellen und Zustände anzeigen
  • LED mit Taster einschalten und ausschalten
  • Ampel- und Lauflicht-Steuerung
  • Elektronischer Würfel
  • Eigene Steuerungen programmieren

Elektronik-Set jetzt bestellen Online-Workshop buchen

Online-Workshop: Programmieren mit dem Raspberry Pi Pico

Programmieren mit dem Raspberry Pi Pico

Gemeinsam mit anderen und unter Anleitung experimentieren? Wir bieten unterschiedliche Online-Workshops zum Raspberry Pi Pico und MicroPython an. Einführung in die Programmierung, Sensoren programmieren und kalibrieren, sowie Internet of Things und Smart Home über WLAN und MQTT.

Online-Workshop buchen

Besuchen Sie unser fast monatlich stattfindendes Online-Meeting PicoTalk und lernen Sie uns kennen. Die Teilnahme ist kostenfrei.

Termine und Newsletter-Anmeldung

 

Elektronik-Sets für das Hardware-nahe Programmieren