Coral Dev Board Mini: Künstliche Intelligenz für den Hobbykeller

Künstliche Intelligenz oder kurz KI – auch Artificial Intelligence oder AI genannt – ist ein Hype-Thema. Viele denken dabei an komplexe Rechenzentren oder hochentwickelte Unternehmens-Prozesse. Auf der anderen Seite begegnet praktisch jeder KI im Alltag: Siri, Cortana und Konsorten arbeiten dank Spracherkennung als persönlichen Assistenten, Facebook schlägt dank Gesichtserkennung Foto-Tags vor und Amazon empfiehlt Produkte gemäß seinen selbstlernenden Algorithmen.

Mit dem Coral Dev Board Mini von Google kannst du für wenig Geld im heimischen Hobbykeller oder auf dem Schreibtisch selbst mit KI experimentieren und etwa eine Bilderkennung, eine Sprachsteuerung oder eine Engine für Spiele umsetzen. Das geht viel einfacher, als es sich anhört. Doch zunächst stellt sich die Frage: Was genau ist eigentlich KI und wie funktioniert das?

In diesem Blog erscheint nach und nach eine Serie von Artikeln, die sich mit dem Coral Dev Board Mini beschäftigen und dir zeigen, wie du damit umgehst und was du alles damit machen kannst.

Teil 1: Coral Dev Board Mini: Künstliche Intelligenz für den Hobbykeller

Teil 2: Das Coral AI Dev Board Mini im Überblick

Teil 3: Das Coral Dev Board Mini anschließen und loslegen

Teil 4: Mendel Linux: Das Betriebssystem des Coral AI Dev Board Mini

Teil 5: Kamera an das Coral AI Dev Board Mini anschließen 

Teil 6: Die Erweiterungsleiste des Coral Dev Board Mini

Teil 7: Programmieren mit dem Coral AI Dev Board Mini

Teil 8: Bilderkennung mit dem Dev Board Mini und der Coral Camera

Teil 9: Spracherkennung mit dem Coral Dev Board Mini

Extra: Mit dem Edge TPU-Compiler Modelle für das Coral Dev Board Mini erstellen

 

Was ist künstliche Intelligenz?

KI ein Teilgebiet der Informatik und beschäftigt sich mit der Abbildung „intelligenten“ Verhaltens durch IT. Kern eines KI-Systems ist ein Modell, das für eine bestimmte Fragestellung modelliert ist. Ein solches KI-Modell ist ein mathematischer Algorithmus, der zunächst mit Daten und Eingaben gefüttert wird. Dann kommt das Trainingslager. Je besser und länger das Training, desto besser fallen hinterher die Ergebnisse aus. Ein Beispiel ist Alpha Go, ein Projekt von Google, dem es am Ende gelang, die besten menschlichen Go-Spieler der Welt zu besiegen. Dem Programm wurden nur die allgemeinen Spielregeln fest eingegeben. Es folgten viele Millionen Trainingspartien gegen sich selbst. Das Ergebnis war eine nahezu perfekte Go-Maschine. 

KI versus klassische Programmierung

KI-Algorithmen unterscheiden sich grundlegend von klassischen Computeralgorithmen. Ein klassischer Programmierer bringt einem Rechner Schritt für Schritt bei, was er machen soll. Ein Data Scientist, der einen Deep-Learning-Algorithmus formuliert, muss auf die Qualität der eingehenden Daten achten, diese gegebenenfalls bereinigen und verbessern, Tests durchführen und vieles mehr.

Der Computer erstellt dabei den Kern des Programms (das KI-Modell) selbst. Der Entwickler muss sich also nicht ausdenken, wie sich  zum Beispiel die Mona Lisa von einer Katze unterscheiden lässt. In vielen Fällen verstehen die Entwickler den Algorithmus gar nicht, den der Rechner während des Trainings „findet“ . Das müssen sie aber auch nicht – es genügt zu prüfen, dass der Algorithmus mit verschiedenen Eingaben die richtigen Ergebnisse liefert. Das klingt alles komplizierter als es ist, wie du anhand des Coral Dev Board Mini bald sehen wirst. 

Coral Dev Board Mini: So sieht das Board aus, mit dem du dir künstliche Intelligenz nach Hause holen kannst.

Coral AI Dev Board Mini: So sieht das Board aus, mit dem du dir künstliche Intelligenz nach Hause holen kannst.

Ohne Training kein Erfolg

Ein Motor von KI ist eine Technologie namens Machine Learning (ML). Algorithmen versetzen Rechner in die Lage, mit minimalem Programmieraufwand aus Daten zu lernen. Machine Learning nutzt strukturierte Daten, um Muster zu erkennen, die zu neuen Einblicken führen. Die Technik begegnet uns im Alltag etwa in Form von personalisierten Empfehlungen von Diensten wie Netflix.

In der Lernphase wird der Algorithmus trainiert. In der Betriebsphase liefert der neu entstandene Algorithmus dann zuverlässig und vorhersagbar stets die gleichen Ergebnisse. Im Beispiel der Bilderkennung erkennt er dasselbe Bild einer Katze immer als Katze. 

Die Stärken von ML liegen in Aufgaben, für die sich ein Lösungsalgorithmus nicht in vernünftiger Zeit ableiten lässt. Es wäre möglich, aber sinnlos, Tausende von Go-Spielen anzusehen, diese zu analysieren und daraus einen Go-Algorithmus zu entwickeln. 

Neuronale Netze für Deep Learning

Deep Learning ist ein Teilbereich des maschinellen Lernens, bei dem mithilfe von komplexen Algorithmen und neuronalen Netzen Aufgaben in einem bestimmten Bereich erlernt werden. Allerdings ist das erlernte Wissen nicht übertragbar. Wenn man einem Rechner einen Algorithmus beibringt, der Hunde und Katzen unterscheiden kann, dann kann er nicht Pferde und Kühe erkennen.

Die Informationsverarbeitung im neuronalen Netz ist letztlich pure Mathematik: Die Daten werden als Zahlen repräsentiert und in die Neuronen, also in mathematische Funktionen, hereingegeben. Dort werden die Daten durch Gewichtungen und Aktivierungsfunktionen verknüpft und wandern in die nächste Schicht. Je mehr Schichten, desto komplexer funktioniert das neuronale Netz. Mit jedem Training wird die Gewichtung und damit der Algorithmus angepasst, sodass das Netz immer bessere Ergebnisse liefert. Wenn du es erstmal zuhause mit dem Dev Board Mini selbst ausprobiert hast, siehst du, dass kein Diplom dafür notwendig ist.

Deep Learning erfolgt grundsätzlich in mehreren Schritten. Bleiben wir bei dem Beispiel, Bilder von Hunden und Katzen zu unterscheiden.

  • Im ersten Schritt wird eine große Menge an Daten gesammelt, hier also Bilder von Hunden und Katzen, die ein Mensch sofort erkennen würde.
  • Dann folgt das "Labelling" der Daten. Die Label geben an, um welches Tier es sich handelt.
  • Es folgt das Training des Algorithmus mit einem großen Datenset, um die Merkmale zu erkennen, die eine Unterscheidung ermöglichen. Mit jedem Trainingsbeispiel passt das Netz seine Gewichtungen an, um etwa die Klasse „Katze“ auf einem Bild besser zu erkennen.
  • Irgendwann ist der Algorithmus fertig trainiert. Eine Validierung mit Testbildern zeigt, wie gut die Vorhersagegenauigkeit ist.
  • Ist die Trefferquote des Algorithmus gut genug, dann kann er künftig zum Einsatz kommen. 

Do it yourself: Künstliche Intelligenz für den Hausgebrauch

Künstliche Intelligenz für alle: Google hat mit dem Coral Dev Board Mini einen Einplatinencomputer mit einen leistungsfähigen Spezialchip (Tensor Processing Unit, TPU) als Coprozessor herausgebracht. Das Coral Dev Board Mini ist ähnlich aufgebaut wie der populäre Raspberry Pi, spielt aber in einer ganz anderen Liga. Der Chip erledigt die aufwendigen mathematischen Operationen eines KI-Projekts wesentlich schneller, als eine CPU das könnte.

In diesem Blog erscheint nach und nach eine Serie von Artikeln, die sich mit dem Coral Dev Board Mini beschäftigen und dir zeigen, wie du damit umgehst und was du alles damit machen kannst.

 

Wichtige KI-Begriffe kurz erklärt

Im Zusammenhang mit künstlicher Intelligenz kommen immer wieder Fachbegriffe vor, die hier kurz erläutert werden. 

Neuron

Neuronen im Zusammenhang mit neuronalen Netzen haben mit den menschlichen Gehirnzellen wenig gemeinsam. Sie heißen so, weil sie stark miteinander verknüpft sind. Alle Neuronen der vorherigen Schicht sind mit jedem Neuron der nachfolgenden Schicht verknüpft. Neuronen sind letztlich mathematische Konstrukte. Sie können Informationen von außen oder von anderen Neuronen aufnehmen und modifiziert an andere Neuronen weiterleiten oder als Ergebnis ausgeben. Während des Trainings verändern sich die Gewichtungen der Verbindungen abhängig von den angewandten Lernregeln. Dieses Gewicht wird beeinflusst von den Information aus dem jeweiligen Neuron der Vorschicht.

Labelling

KI-Systeme müssen verstehen, was auf einem Foto gezeigt, in einer Sprachaufnahme gesagt oder in einem Text geschrieben wird. Durch ein vollständiges Labelling der eingegebenen Daten – eine Art Beschriftung – lassen sich KI-Algorithmen trainieren und optimieren.

Aktivierung

Wenn der Input einen bestimmten Schwellenwert erreicht, dann wird das Neuron aktiviert. Die mathematische Aktivierungsfunktion bestimmt die Ausgabe der Neuronen, die in der nächsten Schicht zur Eingabe der nachgeordneten Neuronen wird oder in der letzten Schicht das Resultat ausgibt.

Algorithmus

In der Informatik ist ein Algorithmus eine Berechnungsvorschrift zur Lösung einer Aufgabe. Ein Lernalgorithmus ist ein Algorithmus, der Lerndaten oder Trainingsdaten erhält und damit ein Modell für die Daten berechnet. Dies lässt sich dann auf neue Beispieldaten anwenden.

AiArtificial intelligenceCoral dev board miniCoral.aiDev board miniGoogle aiKiKünstliche intelligenz

Hinterlasse einen Kommentar

Alle Kommentare werden vor der Veröffentlichung moderiert