KI jenseits von Chatbots

Teachable Machine

Die Teachable Machine ist ein gutes Beispiel, um die Grundideen von neuronalen Netzen, Deep Learning, vortrainierten Modellen und Fine-Tuning kennenzulernen. Dabei wird nicht ein Modell von Grund auf trainiert, sondern ein bereits trainiertes Modell mit eigenen Beispieldaten an eine neue Aufgabe angepasst. Das gleiche Grundprinzip findet sich auch bei modernen Foundation Models: Ein vortrainiertes Modell wird für einen bestimmten Anwendungsfall genutzt oder weiter angepasst. Die Teachable Machine macht dieses Prinzip auf einfache und praktische Weise erfahrbar.

Die Teachable Machine kann hier gefunden werden:
https://teachablemachine.withgoogle.com/
Auch eine Websuche nach “Teachable Machine” führt schnell ans richtige Ziel.

Klicken auf “Erste Schritte” führt zur nächsten Seite.
Wir wollen ein Bildprojekt starten:

Wir wollen mit Standardbildern arbeiten:

Auf der linken Seite sehen wir zwei Klassen. Wir könnten weitere hinzufügen.
Für unser einfaches Projekt genügen aber zwei:

Wir benennen die Klassen um in “Radfahrer” und “Fußgänger” (linke Spalte):

Wir haben folgendes vorbereitet:

Zwischen den Ordnern gibt es keine Überschneidungen. Jedes Bild ist nur je einmal vorhanden.
Es muss sich nicht um besonders gute oder typische Bilder für die Klasse handeln:

können die Erkennung sogar noch robuster machen.

Wir gehen nun wie folgt vor:

Hinzufügen der Bilder für das Training

Bei der Klasse Radfahrer klicken wir auf “Hochladen”. Auch über die Webcam können Beispiele hinzugefügt werden, zum Beispiel wenn man auf Gesichter trainieren will, oder wenn man Gegenstände vorbereitet hat, auf die trainiert werden soll.

Wechseln wir zuerst zum Ordner, der die Trainingsbilder für Radfahrer enthält.

Mit der Tastenkombination Str + A (=alle auswählen) können dann alle Dateien des Ordners ausgewählt werden.
Wahlweise kann auch das erste Bild ausgewählt und anschließend bei gedrückter Umschalttaste (Shift) auf das letzte Bild geklickt werden, um alle dazwischenliegenden Bilder zu markieren.

Drücken auf “Öffnen” fügt dann alle ausgewählten Bilder hinzu:

Genauso verfahren wir für die Klasse Fußgänger:

Dann wird “Modell trainieren” ausgewählt (mittlere Spalte):

Nach kurzer Zeit (das Fenster sollte nicht verlassen werden), meldet die Seite “Modell ist trainiert” (mittlere Spalte). Als Eingabemethode für den Test wählen wir “Datei” (rechts oben):

Mittels “Wähle Bilder …” (rechte Spalte), wählen wir jetzt ein Bild zum Test aus.
Dabei verwenden wir ein Bild, welches im Training nicht verwendet wurde.
Wir öffnen dazu den Ordner mit den dafür vorbereiteten Bildern:

Ein Bild wiederzuerkennen und richtig zuzuordnen, auf welches das Modell traininert ist, wäre schon eine gewisse Leistung, aber die richtige Einordnung eines vorher unbekannten Bilds ist umso erstaunlicher.

Gewählt war ein Bild, wo der Radfahrer nur teilweise sichtbar ist.
Dennoch hat die Erkennung sehr gut (mit 100% Sicherheit) funktioniert.
Auch die anderen Test-Bilder werden ähnlich gut erkannt, obwohl das Modell diese Bilder aus dem Training nicht kennt.

Dass die Teachable Machine oft schon mit wenigen Dutzend Bildern pro Klasse gute Ergebnisse erzielt, liegt daran, dass das verwendete neuronale Netz zuvor mit Millionen von Bildern vortrainiert (pretrained) wurde. Es muss daher nicht von Grund auf lernen, was Kanten, Formen, Texturen oder Objekte sind, sondern kann diese bereits gelernten Merkmale für die neue Aufgabe nutzen und nur noch die neuen Klassen unterscheiden. Dieses Verfahren wird als Transfer Learning bezeichnet.

Hier können alle Bilder in einem zip-Archiv heruntergeladen werden um das Projekt selbst durchzuführen.
Natürlich können auch eigene Klassen und Bilder verwendet werden.

Das zip-Archiv kann wie üblich mit rechte Maustaste und “Alle extrahieren …” oder einem Entpackprogramm (https://www.7-zip.org/) entpackt werden.

Führ selbst ein Projekt mit Teachable Machine durch. Wähle aus einer der Möglichkeiten:

Teachable-Machine-Projekte können exportiert und in eigenen Anwendungen weiterverwendet werden, beispielsweise auf einem Raspberry Pi, auf einem PC oder in Webanwendungen. Dazu stehen verschiedene Exportformate wie TensorFlow.js, TensorFlow und TensorFlow Lite zur Verfügung.
Auf diese Art kann man eine Personenerkennung realisieren und beispielsweise ein Signal ausgeben oder eine Nachricht versenden, wenn sich eine unbekannte Person der Kamera nähert. Dazu wird die erkannte Person mit zuvor trainierten Gesichtern oder Personenklassen verglichen.

Google Lens

Mit Google Lens gibt es ein sehr gutes Bilderkennungsprogramm, welches über eine App oder über Webseite zur Verfügung steht. Auf manchen Smartphones ist es sogar bereits vorinstalliert.

Einsatzgebiete

Verwendung von Google Lens als App

Die App bietet dann an:

Google Lens analysiert das Bild und zeigt passende Informationen, Suchergebnisse oder Übersetzungen an.

Erkennt Google-Lens Text auf dem Bild, dann werden automatisch Übersetzung oder elektronische Übernahme angeboten.

Nach der Bilderkennung können häufig auch weiterführende Fragen zum erkannten Objekt gestellt werden.

Sowohl Bilderkennung als auch die Antworten sollten jedoch stets kritisch geprüft und nach Möglichkeit mit weiteren Quellen verglichen werden.

Bestimme folgende Pflanzen und Tiere:

Bestätige das Ergebnis durch andere Quellen, zum Beispiel eine Google-Suche.

Auflösung:

Teste die Erkennung an verschiedenen Pflanzen und, wenn möglich, an Insekten oder anderen Tieren.
Wie zuverlässig arbeitet die Erkennung?

Teste die Erkennung an ungewöhnlichen Objekten oder deren Abbildungen.
Kann Google-Lens den Zweck dieser Objekte erkennen?

Google-Lens kann sehr gut Objekte erkennen und Informationen dazu liefern.
Für längere Gespräche über ein Bild und für weiterführende Fragen eignen sich Chatbots wie ChatGPT meist besser als Google-Lens. Chatbots können besser Bilder analysieren, Zusammenhänge erklären und auf Rückfragen eingehen.

Quick-Draw (Quick, Draw!)

https://quickdraw.withgoogle.com/

Quick-Draw ist eine interaktive Webanwendung, bei der vorgegebene Begriffe innerhalb von 20 Sekunden gezeichnet werden müssen. Während des Zeichnens versucht eine künstliche Intelligenz zu erkennen, welches Objekt dargestellt wird. Die Anwendung veranschaulicht auf spielerische Weise die Funktionsweise von maschinellem Lernen und zeigt, wie Computer Zeichnungen analysieren und klassifizieren können. Gleichzeitig dient sie der Sammlung von Trainingsdaten, mit denen die Erkennungsleistung der KI kontinuierlich verbessert wird.

Folgende Zeichnungen wurden durch Quick-Draw erfolgreich erkannt. Hättest du auch alle erkannt?

Diskussion: ist die Leistung von Quick-Draw mit Menschen vergleichbar oder vielleicht sogar schon überlegen?

Auflösung

Macht dazu eigene Experimente mit euren eigenen Zeichnungen.
Gibt es Fälle, wo die KI besser oder schlechter abschneidet als Menschen?

Wann ist die KI besser als Menschen?

Die KI erkennt Zeichnungen oft besonders gut, wenn sie viele ähnliche Beispiele gelernt hat. Einfache und häufig gezeichnete Objekte wie eine Sonne, ein Haus oder ein Fahrrad werden deshalb meist schnell erkannt. Außerdem kann die KI in kurzer Zeit sehr viele Zeichnungen miteinander vergleichen.

Wann sind Menschen besser als die KI?

Menschen haben Vorteile, wenn Zeichnungen ungewöhnlich, kreativ oder nicht ganz eindeutig sind. Sie können oft auch dann erraten, was gemeint ist, wenn eine Skizze unvollständig ist oder aus einer ungewohnten Perspektive gezeichnet wurde. Dabei hilft ihnen ihr Alltagswissen und ihre Fähigkeit, Zusammenhänge zu verstehen. Die KI erkennt dagegen vor allem Muster, die sie bereits aus ihren Trainingsdaten kennt.

Spracheingabe und Sprachausgabe: Speech To Text (STT) und Text To Speech (TTS)

STT

Öffne ein bestehendes oder neues Google Dokument: https://docs.google.com/.
Für diesen Versuch wird ein Google-Konto benötigt:

Unter Menüpunkt Tools befindet sich die Option Spracheingabe:

Bei Anwahl öffnet sich ein kleines Fenster. Wenn man auf das Mikrofon klickt, wird die Spracheingabe gestartet:

Gesprochener Text wird erkannt und im Dokument eingefügt.
Drücken auf das ⏹-Symbol beendet die Eingabe.

Diktiere diesen Text dem Google Dokument und einem Menschen. Wer macht weniger Fehler?:

Künstliche Intelligenz, kurz KI, ist ein Teilgebiet der Informatik. Sie beschäftigt sich mit der Entwicklung von Systemen, die Aufgaben lösen können, für die normalerweise menschliche Intelligenz erforderlich ist. Dazu gehören zum Beispiel das Erkennen von Bildern, das Verstehen von Sprache oder das Treffen von Entscheidungen.
Heute werden oft Chatbots und maschinelles Lernen mit künstlicher Intelligenz gleichgesetzt. Tatsächlich ist maschinelles Lernen jedoch nur ein Teilbereich der KI.

TTS

Wir verwenden zur Demonstration die Vorlesefunktion moderner Browser. Wir zeigen es mit Microsoft Edge, aber auch in anderen Browsern (Chrome, Safari, Firefox, …) sollte es funktionieren, manche benötigen dazu aber ein Plugin.

Öffne eine beliebige Seite mit Text:

Markiere einen Textabschnitt und drücke die rechte Maustaste.
Wähle den Menüpunkt “Auswahl laut vorlesen”:

Der Text wird dann verlesen und oben erscheint eine Menüleiste, in der man mittels “⏸” pausieren und mittels “🗙” den Vorgang abbrechen kann:

Lass den folgenden Text im Browser vorlesen. Welche Stellen sind für die Sprachausgabe besonders schwierig?:

Guten Morgen! Heute ist Donnerstag, der 25. Juni. Um 08:35 Uhr betrug die Außentemperatur 17,8 Grad Celsius; bis zum Nachmittag werden etwa 26 Grad erwartet.
Frau Dr. Schneider erklärte: “Bitte prüfen Sie die Werte noch einmal. Der pH-Wert liegt zwischen 6,8 und 7,4, der CO₂-Gehalt beträgt 412 ppm, und die Messunsicherheit liegt bei ±0,3 Prozent.”
Herr Meier antwortete: “Alles klar. Ich sende Ihnen den Bericht bis spätestens 14:30 Uhr an max.mustermann@example.org. Die Datei heißt Version_2.1_final.pdf.”
Anschließend verglichen die beiden die Städte München, Zürich, São Paulo, Łódź, Reykjavík und Tōkyō. Dabei stellten sie fest, dass Eigennamen, Akzente und Sonderzeichen von verschiedenen Stimmen sehr unterschiedlich ausgesprochen werden.
Danach folgte ein kurzer Zungenbrecher: “Brautkleid bleibt Brautkleid und Blaukraut bleibt Blaukraut.” Gleich darauf kam ein zweiter: “Fischers Fritze fischt frische Fische.”
Schließlich las das System noch einige Zahlen vor: null, sieben, dreizehn, achtundneunzig, eintausendzweihundertvierunddreißig, eine Million sowie 3,14159 und 1.234.567,89.

Eine Möglichkeit den Text im Browser vorlesen zu lassen ist die Seite in Microsoft Edge zu öffnen, den Text zu markieren und wie oben beschrieben mit der rechten Maustaste (Kontextmenü) und Menüpunkt “Auswahl laut vorlesen”.

In unserer Browser-Version haben weniger gut funktioniert:

Weitere Beispiele

KI-Anwendungen im Bereich Bilder, Video, und Musik werden in einer anderen Lerneinheit kurz behandelt.

KI in Bildung und Forschung (Syll 2.2.1)

KI in Wirtschaft, Finanzen und Recht (Syll 2.2.2)

KI im Gesundheitswesen und in der Gesellschaft (Syll 2.2.3)

KI in kreativen Bereichen (Syll 2.2.4)

KI hilft bei der Erstellung und Bearbeitung kreativer Inhalte: Musikstücke, Bilder, Videos, Drehbücher, …

KI in Wissenschaft, Umwelt und Technik (Syll 2.2.5)