KI-Modelle für den Informatik-Unterricht

 Kommentiertes Inhaltsverzeichnis

Bernhard Thomas – Ulrich Trottenberg

Interscience Akademie für Algorithmik

Sept. 2021, Jan., Apr. 2022

Das Ziel dieser Serie von KI-Beispielen für die Schule ist die Heranführung  an eine Auswahl von KI-Methoden (Maschinelles Lernen, Data Analytics). Im Vordergrund steht dabei stets ein einfacher  (Lern-) Aufgabenkontext, wie er aus dem Schulunterricht oder dem Alltagsleben bekannt ist. Auf die üblichen Cook-Book Beispiele wird bewusst verzichtet. Der Ansatz ist daher stets die Frage: Kann eine KI lernen, die vorliegende Aufgabe zu lösen? Präziser heißt das: Mit welcher Methode des maschinellen Lernens und auf welchem Wege kann ein System dies lernen. Geht das überhaupt, und wenn ja, wie gut? Wie macht das der Mensch, als Kind, als Schüler*.

Diese Übersicht gibt neben dem Titel eine kurze Erläuterung des Beispiels. Zusätzlich wird vermerkt, welche KI-Methode verwendet wird. Weiter wird angedeutet, wie das Verfahren mit einfachen Mitteln, etwa Papier-und-Farbstift, Zirkel-und-Lineal oder spielerisch nachvollzogen und die Aufgabe eigenständig variiert werden kann. Dies ist im jeweiligen Text (Story) genauer beschrieben.

Die Verfahren werden blackbox-artig den Aufgaben angemessen in ihrer Wirkung und Anwendung erklärt. Es ist nicht nötig, die  teilweise komplexe Theorie (höhere Mathematik) der Verfahren zu erklären, und auch die teilweise exotisch (mathematisch) klingenden Bezeichnungen werden weitestgehend vermieden. In dieser Übersicht sind sie lediglich als Referenz aus dem KI-Methoden-Baukasten erwähnt.

Die zugehörigen ausführlichen Texte und Programme sind als Grundlage zu verstehen. Je nach Einsatzzweck (z.B. Schule) können daraus zielgruppenspezifisch vollständige Kurse entwickelt werden. Dabei ist jeweils der Stand der Mathematik-Kompetenz der Jahrgangsstufe / Schulform zu berücksichtigen.

Als zusammenfassende Tabellen sind A.) die Titel der Themen aufgelistet und am Ende B.) eine Übersicht der der in den Artikeln verwendeten Verfahren und Varianten als Referenz zusammengestellt. Die Reihenfolge der Beispiele in der Übersicht ist ohne weitere Bedeutung.

 

  1. Tabelle der Themen
# Thema
01 KI lernt gerade und ungerade Zahlen zu unterscheiden
02 KI lernt Gleichungen mit 3 Unbekannten lösen (3x3 Teil 1)
03 Pizza-Bringdienst - KI lernt Vorhersagen zu machen ohne die Lösung zu kennen (3x3 Teil 2)
04 KI lernt aus Erfahrung Vorhersagen zu machen (3x3 Teil 3)
05 KI lernt PKWs zu klassifizieren (PKW Teil 1)
06 KI bestimmt eine PKW Klasseneinteilung selbstständig ohne Vorgaben (PKW Teil 2)
07 KI lernt Größer und Kleiner zu unterscheiden
08 KI lernt Obstsorten zu unterscheiden (Obst Teil 1)
09 Erweiterte Aufgaben für die intelligente Scanner-Kasse (Obst Teil 2)
10 Scanner-Kasse lernt Obstsorten zu unterscheiden ohne Vorgaben (Obst Teil 3)
11 KI-Unterstützung: Was ist wichtig?
12 KI lernt quadratische Gleichungen zu lösen
13 KI lernt die Umkehrmatrix für Gleichungen mit 3 Unbekannten (3x3 Teil 4)
14 KI lernt die Formel zur Lösung von quadratischen Gleichungen
15 KI lernt Zählen (Zählen Teil 1)
16 KI lernt Abzählen (Zählen Teil 2)
17 KI lernt Wetter-Apps zu bewerten
18 Größer/Kleiner unterscheiden lernen – KI-Varianten
19 Mein Smartes Zimmer - Chatbot lernt Anweisungen zu verstehen und auszuführen
20 NN lernt Klassifizieren (am Beispiel Obstsorten)
21 KI lernt die kleinste Zahl aus einer Reihe von Zahlen zu finden
22 Ein Robot lernt Richtungsmuster zu erkennen (directions Teil 1)
23 Escape Room: Ein Robot lernt Richtungshinweise auszuwerten (directions Teil 2)
24 Hunting Fox – Weg zum Erfolg finden

 

Stand Jan. 2022: Alle Themen mit Jupyter Notebooks, kursive Nummern noch ohne „Story“-Text

#01 KI lernt gerade und ungerade Zahlen zu unterscheiden

Aus vorgelegten 6-stelligen Zahlen soll ein ML-Verfahren lernen, Zahlen nach gerade / ungerade zu klassifizieren. Wie lernt ein Kind diese Unterscheidung? Die „intellektuelle Fähigkeit“ besteht darin, Auffälligkeiten in den Trainingszahlen zu erkennen und diese mit „gerade“ oder „ungerade“ zu verbinden.

KI-Methode: Data Analytics – Categorical Naïve Bayes
Nachvollziehbarkeit: Tabellen, Häufigkeiten auszählen, ggf. mit Excel
Eigene Variationen: Bunte Kärtchen statt Zahlen, Vielfache von 5

 

#02 KI lernt Gleichungen mit 3 Unbekannten lösen (3x3 Teil 1)

Ein Logikrätsel und ein Pizza-Bringdienst bieten 2 Beispiele typischer Textaufgaben, die jeweils zu 3 Gleichungen mit 3 Unbekannten führen. Die ML Lernaufgabe besteht darin, die Lösungen zu finden. Eine ungewöhnliche Verwendung eines einfachen künstlichen neuronalen Netzes (KNN) zur Iteration der Lösung.

KI-Methode: Machine Learning mit KNNs (Lineares Perzeptron), Backpropagation
Nachvollziehbarkeit: Rechnen mit der KNN Struktur, Ausprobieren, Übergang von Text zu Gleichungen, bekannte Lösungsmethode aus dem Unterricht.
Eigene Variationen: Weitere Textaufgaben, 2 Gleichungen mit 2 Unbekannten, einfache lineare Gleichung.

 

 

#03 Pizza-Bringdienst - KI lernt Vorhersagen zu machen ohne die Lösung zu kennen (3x3 Teil 2)

Die Textaufgabe zum Pizza-Bringdienst wird ergänzt durch die Anforderung, Vorhersagen für die nächste Woche abzuleiten. Vorgegeben sind die „Erfahrungen“ der zurückliegenden drei Tage, in Form der 3 Gleichungen. Die klassische Lernaufgabe für ein KNN (lineares Perzeptron).

KI-Methode: Machine Learning mit mehrschichtigen KNNs, Lineare Aktivierung, Backpropagation
Nachvollziehbarkeit: Rechnen mit der KNN Struktur, Ausprobieren
Eigene Variationen: Lösungsberechnung und Anwendung der Ergebnisse auf Vorhersagezeitraum

 

#04 KI lernt aus Erfahrung Vorhersagen zu machen (3x3 Teil 3)

Der Pizza-Bringdienst sammelt Daten über einen längeren Zeitraum und will daraus eine Planungsvorhersage für die nächste Woche erstellen. Variation der Aufgabe #03. Vorgegeben sind die gesammelten „Erfahrungen“  als Trainingsdaten. Planungsdaten folgen aus Anwendung des trainierten ML-Modells auf die nächsten Wochentage (Testdaten).  Die klassische Lernaufgabe für ein KNN-Modell (lineares Perzeptron).

KI-Methode: Machine Learning mit linearem Perzeptron, Backpropagation
Nachvollziehbarkeit: Rechnen mit der KNN Struktur, Ausprobieren, Papier-und-Bleistift-Algorithmus
Eigene Variationen: Spielen mit unterschiedlichen Daten-Szenarien, Aufgabe mit E-Fahrzeugen.

 

#05 KI lernt PKWs zu klassifizieren (PKW Teil 1)

Anhand von drei Kenndaten sollen PKWs als Fahrzeuge der Oberklasse, Mittelklasse, Kompaktklasse oder Kleinwagenklasse klassifiziert werden.  Mit Trainingsbeispielen wird ein Entscheidungsbaum (decision tree) trainiert, der dann für die Klassifikation neuer Fahrzeuge eingesetzt wird. Ebenfalls ein typisches Beispiel für „überwachtes Lernen“ (supervised learning).

KI-Methode: Machine Learning mit Entscheidungsbäumen, Klassifikation
Nachvollziehbarkeit: Aufmalen von Entscheidungsbäumen, Zuordnungen ausprobieren, Korrektur der Verzweigungsbedingungen.
Eigene Variationen: Andere oder mehr Kenndaten, Variation der PKW-Klassen ( 6 bzw. 3), Anwendung auf E-Fahrzeuge.

 

#06 KI bestimmt eine PKW Klasseneinteilung selbstständig ohne Vorgaben (PKW Teil 2)

Ein Fahrzeug anhand von Beispiel-PKWs in vorgegebene Fahrzeugklassen einzuordnen ist eine Sache – geeignete Fahrzeugkategorien für die Einordnung erst einmal festzulegen, ist eine andere, vielleicht schwierigere Sache. Eine “datenanalytische“ Methode der KI findet in den Daten Gruppen, die man als mögliche PKW-Klassen identifizieren kann. Ein typisches Beispiel für „unüberwachtes Lernen“ (unsupervised learning).

KI-Methode: Clustering (k-means), Zentralpunkte
Nachvollziehbarkeit: Imitieren des KI-Verfahrens, Punktdiagramm für 2 Kenndaten, Cluster per Augenmaß durch „Kreise“ abgrenzen und Mittelpunkte einzeichnen.
Eigene Variation: Verschiedene Anzahl Cluster, Gruppenbezeichungen finden, neue Fahrzeuge einzeichnen.

 

#07 KI lernt Größer und Kleiner zu unterscheiden

Lernt jedes Kind – früher oder später. Aber wie lernt es das? Und wie eine KI? Anhand von Zahlenpaaren lernt ein einfaches Neuronales Netz, welche Zahl die größere ist, und kann das danach für neue Zahlenpaare entscheiden. Einigermaßen sicher.

KI-Methode: Lineare Regression, Machine Learning mit KNN, nichtlineare Aktivierung, 2 verschiedene KNN Strukturen.
Nachvollziehbarkeit: Punktdiagramm, KNN rechnerisch auswerten. Raten der Gewichte.
Eigene Variation: KNN-Varianten vergleichen

 

#08 KI lernt Obstsorten zu unterscheiden (Obst Teil 1)

Eine vereinfachte Scanner-Kasse erfasst eine Reihe von Merkmalen bei Obststücken: Breite, Länge, Gewicht und Farbe. Sie soll zunächst lernen, Bananen und Birnen anhand von 2 Merkmalen zu unterscheiden. Das KI-Verfahren lernt anhand von Beispielen Bananen von Birnen zu „trennen“ und entscheidet dann, zu welcher Obstsorte weitere Obststücke gehören.

KI-Methode: SVM-Klassifikation, lineare Trennlinie / Korridor (SVM = „Support Vector Machine“)
Nachvollziehbarkeit: Manueller „Algorithmus“ mit Punktgrafik. Ausprobieren verschiedener gerader Trennlinien.
Eigene Variation:  Gerade Linien, gekrümmte Linien, andere 2 Obstsorten aus dem Datensatz, Preisberechnung durch Scanner-Kasse

 

#09 Erweiterte Aufgaben für die intelligente Scanner-Kasse (Obst Teil 2)

Die „intelligente“ Scanner-Kasse soll nun verschiedene 2 Obstsorten mittels bis zu vier Merkmalen klassifizieren. Welche Merkmale sind am wichtigsten für die Unterscheidung? Wie lernt die Scanner-Kasse alle 4 Obstsorten unterscheiden? Es wird komplizierter, aber im Wesentlichen verwendet sie das gleiche Verfahren wie in Teil 1.

KI-Methode: Lineare SVM-Klassifikation, paarweise und „Eine gegen den Rest“ Separierung, Entscheidungsfunktion
Nachvollziehbarkeit: Vereinfachung (Feature Reduktion), Mehrfach-Trennlinien.
Eigene Variation:  Gerade Linien, gekrümmte Linien, Diskussion der „Lern-Schwierigkeiten“

 

#10 Scanner-Kasse lernt Obstsorten zu unterscheiden ohne Vorgaben (Obst Teil 3)

Die Scanner-Kasse bekommt nur Obststücke vorgelegt ohne Angabe, um welches Obst es sich handelt. Sie lernt anhand der Merkmalsausprägungen, Obststücke zu gruppieren, z.B. in 4 Gruppen und sortiert neue Stücke (anhand der Merkmale) in die Gruppen ein. Das KI-Verfahren bildet die Gruppen nach dem Prinzip der „Ähnlichkeit“ bezogen auf die Merkmalsdaten. Aber - was ist dann was?

KI-Methode: k-Means Clustering, Confusion Matrix, Skalierung
Nachvollziehbarkeit: Grafik mit einfarbigen Punkten, nach Augenmaß umkreisen von zusammengehörigen Punkten in 4 Gruppen
Eigene Variation:  Versuche mit 2 oder 6 Gruppen, Zuordnung: welche ist (z.B.) die Bananen-Gruppe

 

#11 KI-Unterstützung: Was ist wichtig?

Möglichst viele Merkmale sind nicht unbedingt besser für Entscheidungen und machen auch die maschinellen Verfahren komplizierter. Welche Objekt-Merkmale (Features) sind ausschlagegebend für eine Klassifizierung? In Obst Teil 2 wurden zwei von vier Merkmalen durch Probieren als dominierend identifiziert. Auch hierfür kann man eine maschinelle Methode einsetzen.

KI-Methode: PCA (Hauptkomponenten-Analyse), Abbildung auf Feature-Achsen
Nachvollziehbarkeit: In Punktwolken die Richtungen der größten Ausdehnung einzeichnen, Interpretation im Merkmalsraum
Eigene Variation:  Obst-Datensatz variieren. PCA mit 2, 3 oder 4 Komponenten analysieren. Interpretation als Merkmale.

 

#12 KI lernt quadratische Gleichungen zu lösen (QGln Teil 1)

Hier wird nicht die Lösungsformel ausgerechnet, sondern ein (mehrschichtiges) soll KNN lernen, eine Lösung zu finden. Zum Training werden Zahlenpaare vorgegeben, die entstehen, wenn die Gleichung für verschiedene Werte ausprobiert wird. Mit dem Trick, Input (x) und Output (y) des KNN zu vertauschen, kann das KNN trainiert werden, eine Lösung zu berechnen.

KI-Methode: Mehrschichtiges KNN mit sigmoider Aktivierung, universelle Approximationseigenschaft von KNNs
Nachvollziehbarkeit: Zeichnen der Kurve zur Gleichung und der Umkehrung (x,y vertauschen)
Eigene Variation:  Verschiedene quadratische Gleichungen, Fälle mit 1 und 2 Lösungen.

 

#13 KI lernt die Umkehrmatrix für Gleichungen mit 3 Unbekannten (3x3 Teil 4)

Drei Gleichungen mit 3 Unbekannten kann man in der sogenannten Matrix-Form schreiben, d.h. mit einer 3x3 Matrix der Koeffizienten, und der rechten Seite als 3x1 Matrix (Vektor). Ein KNN lernt, die „Umkehrmatrix“ (Inverse) zu bestimmen, mit der man die Lösung direkt ausrechnen kann.

KI-Methode:  Lineares KNN mit „dichter“ Verknüpfung (Dense Layer), universelle Approximationseigenschaft von KNNs
Nachvollziehbarkeit: Probieren, Rechnen, Korrigieren mit Papier und Bleistift
Eigene Variation:  Besondere Matrizenformen, Vergleich mit direkten Lösungsalgorithmen aus dem Unterricht

 

#14 KI lernt die Formel zur Lösung von quadratischen Gleichungen (QGln Teil 2)

Für quadratische Gleichungen gibt es Lösungsformeln, die (a,b,c)- oder die (p,q)-Formel. Das KI-Verfahren (hier wieder ein KNN) soll aus eine Reihe von verschiedenen Gleichungen mit den Koeffizienten a,b,c und vorgegebener Lösung lernen, die Lösung von anderen Gleichungen zu bestimmen. Variante: Ein KNN soll lernen, die entsprechenden Koeffizienten der Lösungsfomel zu bestimmen.

KI-Methode: Mehrschichtiges KNN mit sigmoider Aktivierung, universelle Approximationseigenschaft von KNNs
Nachvollziehbarkeit: Beispielhafte Zuordnung von (a,b,c)-Tripeln zu Lösungen, bzw. zu den Koeffizienten der p-q-Formel
Eigene Variation:  Möglichkeiten grafischer Darstellung

 

#15 KI lernt Zählen (Zählen Teil 1)

Jedes Kind lernt Zählen, von 1 bis 10, von 10 bis Hundert, aber wie? Was kommt nach Eintausendachthundertundzwölf? Gleich zwei KI-Methoden lernen die Nachfolgerregel, eine datananalytische und ein neuronales Netz.

KI-Methode: Zweischichtiges, minimales KNN, Lineare Regression
Nachvollziehbarkeit: Wie hat man Zählen gelernt, Trainingsdaten und grafische Darstellung
Eigene Variation:  Negative Zahlen

 

#16 KI lernt Abzählen (Zählen Teil 2)

Eine andere Art des Zählens: Abzählen von Objekten, z.B. rote Legosteine in einer Box. Wie lernt man das? Für KI ist das keine so einfache Aufgabe. Der Lernprozess besteht aus zwei einfacheren Lern-Phasen, für die u.a. unterschiedliche KI-Methoden zusammen kommen.

KI-Methode: Nicht-lineare SVM + KNN, KNN mit Transfer Learning
Nachvollziehbarkeit: Imitieren der zwei Phasen mit physischen Objekten oder Zahlen
Eigene Variation:  Worte statt Legosteine

 

#17 KI lernt Wetter-Apps zu bewerten

Welche der 4 Wetter-Apps auf dem Smartphone macht die beste Vorhersage für das Wochenende? Erfahrungen über mehrere Wochen werden protokoliert und dienen als Trainingsdaten. Hier gibt es gleich mehrere KI-Methoden, die aus der Erfahrung lernen und Vorhersagen machen, welcher App man trauen sollte.

KI-Methode: Methoden im Vergleich: Naive Bayes, KNN, SVM Classifier, Decision Tree, Reinforcement
Nachvollziehbarkeit: Datenmodell verstehen, Protokolldarstellung, Auszählen für Naive Bayes
Eigene Variation:  Nachhalten der Voraussagen, Nach-Training der Modelle.

(geplant)

 

#18 Größer / Kleiner unterscheiden lernen – KI-Varianten

Anhand dieser einfachen Lernaufgabe werden neben dem nichtlinearen Perzeptron (s. #07) zwei weitere grundlegende Formen von Neuronalen Netzen erläutert: NN mit separaten Inputströmen und klassifizierende NN.

KI-Methode: Regression NN, Categorical NN, separate Inputs, Gewichte-Analyse.
Nachvollziehbarkeit: Nachrechnen der Modelle, Einfluss der Gewichte, Aufgaben-Analogie mittels Farbkärtchen.
Eigene Variation: Farbkärtchen-Lernaufgaben, Übertragung auf Obst-Klassifikation

 

#19 Mein Smartes Zimmer - Chatbot lernt Anweisungen zu verstehen und auszuführen

Ein "smartes Zimmer" (Chatbot) lernt im Dialog verstehen, ob es ein Fenster öffnen oder schließen soll und das Licht an- oder ausschalten soll.

KI-Methode: Einfacher endlicher Automat, variierender Text-Input (keine NLP Verfahren), Reinforcement.
Nachvollziehbarkeit: Datenmodell und Dialog-Ablauf verstehen
Eigene Variation: Erweiterung, anderer Konversationskontext, andere Aktionen

 

#20 Neuronales Netz lernt Klassifizieren von Obstsorten  (Obst Teil 4)

Für die Unterscheidung von Obstsorten soll ein Neuronales Netz lernen, Objekte zu klassifizieren. D.h. die Scanner-Kasse wird mit einer anderen Art von KI als in Teil 1 ausgestattet. Auch hier werden die einzelnen Obststücke durch Breite, Länge, Gewicht und Farbe erfasst, und diese Informationen werden für das Training zusammen mit der Sorte (Klasse) für das NN geeignet aufbereitet.

KI-Methode: Klassifizierendes Neuronales Netz, zwei und mehr Klassen, Wahrscheinlichkeiten
Nachvollziehbarkeit: Berechnen eines Vorwärts-Durchlaufs des NN, grafische Modellierung mit Open Roberta NN. Versuchen, aus einer Reihe von Input-Daten selbst auf die Klasse zu schließen
Eigene Variation: Im Open Roberta NN Gewichte manipulieren. Verschiedene Feature-Kombinationen.

 

#21 KI lernt die kleinste Zahl aus einer Reihe von Zahlen zu finden

Es gilt, die kleinste Zahl aus einer Reihe von z.B. 10 Zahlen zu finden. Und zwar durch Angabe der Position innerhalb der Zahlenreihe.  Kann ein Neuronales Netzt das allein aus vorgelegten Beispielen lernen? Wie würde man das aus Beispielen selbst lernen, d.h. ohne „zu wissen“, dass man die kleinste Zahl suchen soll?

KI-Methode: Klassifizierendes NN, Mehrfach-Klassen, StandardSkalierung, Softmax, one-hot Kodierung
Nachvollziehbarkeit: Ablauf eines Vorwärts-Durchlaufs des NN (ohne Rechnen). Versuchen, aus Zahlenreihen und Vorgabe einer Positionsnummer die Aufgabe zu erkennen
Eigene Variation:  Übergang von Größer/Kleiner zu „Kleinste Zahl finden“. Variation der Aufgabenstellung, z.B. größte Zahl finden, verschiedene Reihenlänge, one-hot Kodierung für Beispielklassen erstellen.

 

#22 Ein Robot lernt Richtungsmuster zu erkennen

Als Vorstufe für die Escape Room Aufgabe (#23) soll eine KI lernen einfache Muster in einem 3x3 Feld zu erkennen Z.B. die beiden Diagonalen. Zunächst werden die Gewichte (Filter) von Hand vorgegeben und modifiziert um das Lernziel zu erreichen. Im zweiten Schritt wird das NN darauf trainiert. Es soll experimentiert und erklärt werden können, warum das NN ein nicht-diagonales Muster als eine der beiden Diagonalen interpretiert.

KI-Methode: Lineares / nichtlineares Perzeptron, einfaches Convolutional NN, Filter
Nachvollziehbarkeit: Verwenden von Schablonen zum Erkennen der Diagonalen. Umsetzung in der OpenRoberta/TF-Playground Umgebung (IAIS), Setzen und modifizieren der Gewichte von Hand. Erklären der Entscheidungen. Variante: Ausschließlich Verwendung von ganzen nicht-negativen Zahlen.
Eigene Variation: Weitere Muster erkennen, 4x4 Feld

 

#23 Escape Room: Ein Robot lernt Richtungsanzeigen erkennen

Ein Robotfahrzeug soll seinen Weg aus einem „Escape Room“  finden, oder durch ein Labyrinth oder durch einen Stadtteil von New York (bildlich). Der Weg ist durch Richtungshinweise markiert. Die KI des Robots muss lernen, die Richtungszeichen zu verstehen, d.h. in die richtige Bewegung umzusetzen.

KI-Methode: Tiefes NN, einfaches Convolutional NN
Nachvollziehbarkeit: Verwenden von Schablonen zum Entdecken und Deuten von Richtungshinweisen, in Bewegungseinheiten übersetzen, kleines Vehikel bewegen je nach Lernstand
Eigene Variation: Gestörte Richtungshinweise, andere / weitere Richtungszeichen, Stoppzeichen, „von A nach B“

 

#24 Hunting Fox – Weg zum Erfolg finden

Ein simuliertes Tier (Fuchs- Robot) erkundet sein Habitat (seine Umwelt) auf der Suche nach Nahrung (Rewards). In Bau-Nähe findet sich nur wenig, aber es gibt einen weiter entfernten Flecken mit reichlich Nahrung. Wie lernt er den Weg dorthin?

KI-Methode: Reinforcement Learning, Q-Learning, Tiefes NN
Nachvollziehbarkeit: Spielerisch auf linearem oder quadratischen Spielplan
Eigene Variation: Veränderliche Rewards, zwei ergiebige Ressourcen in unterschiedlichen Richtungen, Fehlleitende Reward-Verteilung

 

 

 

  1. Tabelle der KI-Methoden (Data Analytics, Machine Learning)
Verfahren Variante Typ Verwendet in:
Entscheidungsbaum Binär Categorical #05, #17
Naive Bayes Categorical #01, #17
Support Vector Machine Linear, multi-class, ovo, ovr Categorical #08, #09
Support Vector Machine Nicht-linear, rbf kernel Categorical #16, #17
K-means Clustering Confusion matrix Categorical #06, #10
Hauptkomponenten-Analyse PCA Feature #11
Feature Regularisierung StandardScaling Feature #10, #20, #21
Encoding One-hot Feat. / Target #18, #20
Lineare Regression Regressional #07, #15
Neuronale Netze Lineares Perzeptron (LP) Regressional #02, #04
Neuronale Netze Multi-layer LP (MLP) Regressional #03, #15
Neuronale Netze Nicht-linear, multi-layer NN Regressional #07, #18
Neuronale Netze MLP, sigmoid Aktivierung Regressional #12, #13, #14
Neuronale Netze One-hot Target Categorical #18, #20
Kombiniert (Transfer Learn.) SVM+KNN, KNN+KNN Cat. / Regr. #16
(Reinforcement) Dialog #19
Neuronale Netze CNN (Convolutional NN) Categorical #23
Reinforcement Q-Learning Regr. / Cat. #24
XAI (Ansätze) Effektanalyse Input / Gewichte Categorical #22, #23

 

Anmerkungen:

  • Jupyter Notebooks, Python Libraries, Durchführung z.B. auf Google Colaboratory Umgebung (Internet / Browser)
  • NN-Modelle auf OpenRoberta mit IAIS TF Playground Integration

 

 


KI-Algorithmen im Informatik-Unterricht

Ulrich Trottenberg und Bernhard Thomas

Das Schulministerium NRW fördert seit dem 01.07.2021 das Projekt

KI-Algorithmen im Informatik-Unterricht – mit praktischem Einsatz auf der Open Roberta Plattform und in der Robotik.

Projektparter sind:

- die Universität zu Köln, mit dem Institut für Mathematikdidaktik und dem Department Mathematik/Informatik,

- das Fraunhofer-Institut für Intelligente Analyse- und Informationssysteme IAIS sowie

- die InterScience-Akademie für Algorithmik GmbH.

Ein übergeordnetes Ziel des Projekts ist die Schaffung grundlegenden Verständnisses für algorithmische Prinzipien im Rahmen der Digitalen Bildung in NRW. Die Schülerinnen und Schüler sollen die fundamentale Bedeutung der Algorithmik für alle digitalen Prozesse erkennen: Algorithmen liegen allen Computerprogrammen zugrunde, steuern Netze und die beteiligten Agenten und sie verarbeiten und analysieren Daten aus den unterschiedlichsten Quellen.

Das Projekt geht auf die von Ulrich Trottenberg initiierte Aktion „Algorithmen im Schulunterricht“ der InterScience-Akademie für Algorithmik GmbH (bis 2019 InterScience GmbH) und das gleichnamige Seminar für Lehramtsstudierende zurück. Dieses Seminar, das seit mehr als 10 Jahren an der Universität zu Köln stattfindet, wird auch im Projekt eine wesentliche Rolle spielen.

Das Projekt entwickelt die Grundlagen für eine didaktisch aufbereitete Vermittlung von Fähigkeiten zur aktiven Gestaltung und Anwendung moderner Algorithmen für das aktuelle Schwerpunktthemas der Künstlichen Intelligenz. Es umfasst die dazu erforderlichen Informatik-Konzepte, Verfahrens- und Anwendungskenntnisse und, soweit möglich, einfache Plug&Play Programmiererfahrung. Dabei beschränkt sich der Unterricht nicht auf diese technisch-inhaltlichen KI-Aspekte - ein essentielles Unterrichtsziel ist immer auch der Erwerb von Bewertungskompetenz für die einschlägigen Algorithmen und deren Anwendungen, d.h. der Fähigkeit zu einer adäquaten Einschätzung ihrer Chancen und Risiken, sowie für die ethischen Aspekte KI-algorithmischer Entwicklungen.

Ausgangspunkt der Projektentwicklung sind die informatischen Lehrinhalte für die Schülerinnen und Schüler der Klassen 5 und 6 im Rahmen des mit Schuljahr 2021/22 in NRW eingeführten Pflichtfachs Informatik. Die hierbei vorgesehenen, elementaren KI-Methoden werden so ausgewählt und spezifiziert, dass sie im Schuleinsatz dem (mathematischen und informatischen) Wissensstand der Schülerinnen und Schüler nach Jahrgangsstufe und Schulform entsprechen.

Eine Besonderheit der Projekt-Zielsetzung ist der altersgemäße, spielerische Einstieg in die KI-algorithmische Praxis durch die intuitive Umsetzung von einfachen Methoden des Maschinellen Lernens. Die grafische „Plug&Play“ Programmier-Plattform Open Roberta Lab ermöglicht idealerweise die Gestaltung und Veränderungen von Künstlichen Neuronalen Netzen (KNN) zur Steuerung von einfachen Fahrzeugen und damit die „Hands-on“-Erfahrung mit KI-eingebundenen (realen und virtuellen) Robotern und Mikrocontrollern (Embedded Devices).

Die Zielsetzung der Landesregierung, das Pflichtfach Informatik in allen Schulformen der Klassen 5 und 6 einzuführen, wird im Projekt durch die Beteiligung des Instituts für Mathematikdidaktik (IMD) sichergestellt. Das Institut widmet sich mit seinem mathematisch-informatischen Schwerpunkt insbesondere den nicht-gymnasialen Lehrämtern und erarbeitet Materialien zur Erschließung von KI-algorithmischen Inhalten, insbesondere auch für Schülerinnen und Schülern mit besonderen Lernbedarfen.

 

Zu den formalen Aspekten der Projektbewilligung:

Der bereits in 2020 dem Ministerium vorgelegte Projektantrag wurde in der (endgültigen) Fassung schließlich im Juli 2021 mit einer Laufzeit vom 01.7.2021 bis 31.12.2022 bewilligt.

Relativ zu den weitgehenden, höchst innovativen Zielen des Projekts hält sich der finanzielle Rahmen der Förderung mit ca. 300T€/Jahr sehr in Grenzen.

Dass der Projektstart erst zum 01.07.2021 erfolgt ist, hängt mit unklaren, rein ministerial-bürokratischen Prozeduren zusammen. Obwohl die Projektinitiative und die Ausarbeitung Projektantrags durch eine persönliche Anfrage des zuständigen Staatssekretärs bei der InterScience-Akademie für Algorithmik GmbH bereits Ende 2019 angeregt worden war, stellte sich erst in der Schlussphase der Diskussionen mit den zuständigen Referaten heraus, dass das Schulministerium aus haftungs- und vergaberechlichen Gründen endgültig keine Möglichkeit sieht, die – vom Ministerium ausdrücklich erwünschten - Arbeiten der InterScience-Akademie für Algorithmik GmbH (ISAfA) finanziell zu unterstützen. Dabei hatte die ISAfA GmbH von Beginn der Diskussionen an verbindlich erklärt, im Rahmen des Projekts vollständig gemeinnützig zu agieren und mit dem Projekt keinerlei Gewinnerzielungsabsicht zu verbinden. Erst nachdem die Initiatoren des Projekts, die Geschäftsführer der ISAfA, erklärt hatten, für ihre Beiträge zum Projekt Arbeiten auf eine finanzielle Förderung vollständig zu verzichten, konnte das Projekt kurzfristig bewilligt werden.

Aus Sicht der Initiatoren des Projekts liegt hier ein struktureller ministerial-bürokratischer Mangel vor, der kurzfristig ausgeräumt werden muss, um in der Digitalen Bildung nicht noch weiter zurückzufallen.

 


Naive Bayes Modell löst das Even-Odd Learning Problem

KI im Informatikunterricht

Dieser Beitrag kann als Grundlage für die Einführung des Themas „Künstliche Intelligenz“ im Schulunterricht eingesetzt werden. Er illustriert „Maschinelles Lernen“ anhand einer für die Schüler* einfach verständlichen Aufgabe mittels einer Data Analytics Methode: Naive-Bayes. Die Aufgabe kann mit „Papier und Bleistift“ durchgeführt werden. Die Voraussetzungen beschränken sich auf Erstellen von Tabellen, Auszählen von Häufigkeiten und Berechnung von relativen Häufigkeiten.

 

Die Blogserie „Six not so easy pieces for AI” (Sechs nicht so einfache Aufgaben für AI) begann in 2019  mit der einfachen Fragestellung, ob AI in der Lage ist,  eine der einfachsten „intellektuellen“ Leistungen zu erbringen, nämlich zu lernen, ob eine Zahl gerade oder ungerade ist. (Siehe hier.)

Abstrakte Fragestellung - Allgemeines Schema

Hier bedeuten die einzelnen Attribute des Input-Vektors die  Dezimalstellen einer ganzen Zahl, beginnend bei den „Einern“ ganz rechts. Der Wertebereich (Kategorien-Labels) ist jeweils 0,1,…,9. Die Response im Supervised Learning gibt jeweils an, ob die Zahl gerade oder ungerade ist. Die entsprechenden Klassen sind 0 (für Gerade) und 1 (für Ungerade). Im trainierten Zustand gibt R die „Vorhersage“ für eine Testzahl.

Es ist wichtig zu bedenken, dass ein "lernendes KI-System" hier kein Konzept von Zahlen, Dezimalstellen und deren Bedeutung innerhalb einer Zahl (z.B. Einer, Zehner etc.) hat.  Die Inputs sind für das System nichts weiter als eine Liste von Ziffern.

Das Training-Szenario

Als Training-Daten wird eine Anzahl von ganzen positiven Zahlen in Form einer Liste der einzelnen Dezimalstellen samt der richtigen Klassifikation in gerade / ungerade vorgegeben.

Als Testdaten werden einzelne Zahlen oder ein Set von Zahlen in dieser Form ohne Klassifikation verwendet. Diese sind nicht in den „Lernvorgang“ eingegangen. Das Ergebnis (Prediction) kann mit dem wahren Wert verglichen werden.

Die ML Methode

Als ML-Methode verwenden wir hier, anders als in der erwähnten Blog-Serie, ein Naive-Bayes Verfahren. Kurz erläutert, wertet das NB-Verfahren die Trainingsdaten aus und bestimmt – mittels der Bayes-Formel - die bedingte Wahrscheinlichkeit dafür, dass, gegeben eine m-stellige Zahl (Input-Vektor), das Ergebnis R=0 ("gerade") ist. Entsprechend für R=1 ("ungerade"):

P(R=0|a0 a1 … am)

Der Input-Vektor ist einfach die Ziffernfolge der Zahl, wobei für die Dezimalstellen untereinander keine Abhängigkeit besteht. (Grundannahme für die Gültigkeit von „Naive“ Bayes.)

Im „gelernten“ Zustand kann das Modell (auch Classifier genannt) für unbekannte Zahlen b = b0 b1 … bm entscheiden, ob diese gerade oder ungerade ist, anhand der berechneten Wahrscheinlichkeiten P(R=0|b) und P(R=1|b) – je nachdem, welche der Wahrscheinlichkeiten größer ist.

(In der Regel reichen wenige Zahlen für das Training aus, sofern man die sog. Glättung im Classifier „ausschaltet“. Die Glättung kompensiert Fälle, in denen eventuell einzelne Werte in den Input-Daten nicht vorkommen (missing data), und sich damit Schwierigkeiten in der Auswertung ergeben können.)

Für unser gerade-ungerade-Lernen Problem zeigt sich, dass die o.a. Wahrscheinlichkeiten P entweder 0.0 oder 1.0 sind. Im Sinne der Blogserie haben wir es hier also mit „starkem Lernen“ zu tun.

Ist das Lernverfahren auch „robust“? In der Blogserie hatten wir damit  ein Lernverfahren gekennzeichnet, das ein gewisses Maß an Fehlern in den Trainingsdaten vertragen kann und trotzdem „richtig“ lernt. Und dabei auch die Fehler „richtigstellt“ (im Code-Beispiel: 5% Zufallsstörung)

Da die Input-Werte ganzzahlig (Kategorien) sind (0,..9) und die Response-Klassen ebenfalls (0,1), setzen wir hier die Variante CategoricalNB() aus der scikit-learn Toolbox an.

Outline des Algorithmus „Gerade/Ungerade Lernen“

Als Programm liegt dieses Beispiel als ein Jupyter Notebook vor, ablauffähig und mit kleinen Zwischentexte zur Erläuterung. Wegen Problemen bei der Kompatibilität der Dokumentenformate liegt das Notebook als html-Datei hier: NB_even-odd_problem_notebook

Der übliche, grobe Ablauf ist wie folgt:

  1. Problem Defintion: Beschreibung der Aufgabe als Text
  2. Problem-Dimensionen und Datensatzumfang (Code-Zelle)
  3. Parameter für Problem-Varianten (optional, Code)
  4. Generierung des Datensets: (Code-Zellen) Inputzahlen per Zufallsgenerator, dargestellt als Liste von Dezimalziffern je Zeile, davon N Zeilen (Matrix-Struktur Nx6). Zugehörige Klassifikation (R-Werte) als Liste von 0 und 1 für jede Matrix-Zeile (Zahl). Beispiel:
  5. Datenset-Aufteilung Tranings-/Testdaten: z.B. 70% zu 30% (Code)
  6. Categorical Naive Bayes Modell: Modell-Defintion und Training (g_u_model.fit()) mit den Trainingsdaten (Code)
  7. Ergebnisse: 7.1Test-Beispiele, 7.2 Genauigkeit der Klassifikation durch das Modell für Trainings- und Testdaten, 7.3 „Innere“ Daten des trainierten Modells (s. Code-Zellen)
  8. (Optional) Aufgaben-Varianten: 8.1 Verfälschen der Klassifikationen in den Trainingsdaten zur einem kleinen Prozentsatz per Zufall. 8.2 Probieren, Teilbarkeit durch 5 zu lernen. (Code Zellen)
  9. (Optional) Experimentieren: Teilbarkeit durch 3, 4 o.ä. Warum funktioniert Naiv-Bayes hier nicht?

Links zu NaiveBayes Methoden

https://scikit-learn.org/stable/modules/naive_bayes.html

https://scikit-learn.org/stable/modules/generated/sklearn.naive_bayes.CategoricalNB.html

https://www.analyticsvidhya.com/blog/2017/09/naive-bayes-explained/

 


Six not so easy pieces for AI

In einer Artikelserie für die weit verbreitete Zeitungsbeilage PRISMA hatte Ulrich vor einiger Zeit schon versucht, KI und die Konsequenzen allgemein verständlich darzustellen. Die Serie beginnt mit dem Beitrag "Künstliche Intelligenz I: Von Menschen für Menschen geschaffen".

Die Frage, worin die Intelligenz von KI-Systemen besteht, ob KI-Systeme selbstständige Intelligenz entwickeln können, oder man ihnen intellektuelle Fähigkeiten zusprechen kann, wird zurzeit heftiger denn je diskutiert – nicht nur in Kreisen der „Techniker“ sondern auch in den Gesellschafts- und Cognitiv-Wissenschaften.

Beginnen wir mit einigen aktuellen  Zitaten zu Intelligenz und Künstlicher Intelligenz –  drei plausible aus Millionen von möglichen Zitaten.


„Allgemeine Künstliche Intelligenz: AKI – ein System, das alle intellektuellen Fähigkeiten eines Menschen in sich vereint.“ ([KI, S. 39]

„Wenn Maschinen oder Computer kognitive oder geistige Fähigkeiten zeigen, die denen des Menschen ähneln, so nennt man das Künstliche Intelligenz. Bei diesen Fähigkeiten kann es sich z.B. um Lernen aus Erfahrung handeln oder um die Lösung von Problemen.“ [KI]

In einem Fernseh-Interview [MG] definiert Markus Gabriel erstmalig "Intelligenz" als die Fähigkeit, für ein Problem eine Lösung zu finden. Er ergänzt: das setzt voraus dass man überhaupt ein Problem hat (oder erkennt). Und zu KI, recht restriktiv: in der KI sind es die Menschen, die die Probleme definieren, nicht die KI-Systeme / Algorithmen. Folglich sind KI-Systeme - trotz des "I" im Namen - nicht intelligent.


Es geht offenbar nicht nur darum, eine Aufgabe zu bewältigen, sondern um die Fähigkeit der Lösungsfindung.

Die intellektuelle „Intelligenz“ eines KI Systems besteht  nicht (so sehr) in der Fähigkeit ein Problem zu lösen, sondern in der Fähigkeit, Lösungen für ein Problem zu finden. Das bedeutet im konkreten Fall, die Fähigkeit, die Lösung einer Aufgabe zu erlernen  – weniger, sie nur auf eine Aufgabe anzuwenden. Ein Algorithmus, der z.B. den größten gemeinsamen Teiler (ggT)  von zwei Zahlen bestimmt, löst diese Aufgabe. Er kann das. Ein Algorithmus, der lernt, wie der ggT. von zwei Zahlen bestimmt wird, hat eine ganz andere „intellektuelle“ Aufgabe. Menschenskinder lernen das spätestens als Schüler früher oder später.

Offenbar ist Erfahrung eine wesentliche Voraussetzung für die Lösungsfindung. Erfahrung kann vermittelt werden, durch Lehrer:innen, durch Beispiele (Daten) oder durch eigene, wiederholte Beobachtungen entstehen.

Sofern das System, das lernt, ein menschliches Artefakt ist (Programm, Computer, Robot) spricht man von Machine Learning -  für Lebewesen verwendet man eher den Begriff „Animal Learning and Cognition“, aber das ist ein anderes Thema.

Ohne Zweifel ist heute die Leistungsfähigkeit spezieller KI Methoden, insbesondere des Maschinellen Lernens (ML), spezialisiert für bestimmte Aufgaben der Erkennung, Analyse und Klassifizierung den vergleichbaren menschlichen Fähigkeiten weit überlegen, dank der Fortschritte in der Computer- und Algorithmen-Entwicklung. Aber das haben Technologie-Fortschritte so an sich. Einen schon atemberaubenden Einblick in die Hochleistungssysteme und algorithmischen Techniken von ML Verfahren, insbesondere mit Tiefen Neuronalen Netzen, findet man in dem kürzlich erschienen Buch [KI].

Die Lernfähigkeit als (quasi-)intellektuelle Fähigkeit künstlicher Systeme zeichnet also Systeme aus, die sich vom Zustand des Nicht-Lösen-Könnens in den des Lösen-Könnens entwickeln können. Klingt kompliziert, ist es auch – wie soll das gehen? In der KI Praxis hat man dafür, dank der enormen Rechenleistung von Spezial-Computern und der Intelligenz von ML-Wissenschaftlern, Verfahren entwickelt und verfeinert, die diese Lernfähigkeit in Form von hochdimensionalen Parameter-Anpassungen gewinnen.

Das heißt aber auch, dass hier nicht ein „KI-System“ diese Lernfähigkeit entwickelt, sondern dass diese zunächst einmal durch enorme menschliche intellektuelle Leistungen – von Mathematikern, Informatikern, SW-Ingenieuren usw. – in Algorithmen oder technischen Systemen vorbereitet wird.

Man kann zwar  „höhere“ KI-Systeme mit ML-Methoden ausstatten, die sich die algorithmischen Komponenten nach bestimmten Zielvorgaben selbst zusammenstellen, etwa der, das Lernen für eine bestimmte Problemklasse zu optimieren oder Erklärungen für bestimmte Ergebnisse zu liefern. Insofern kann man davon sprechen, dass sich die sogenannte Schwache KI (z.B. Machine Learning, Robot-Steuerung) durch Vielseitigkeit und Lernleistung in Richtung Starker KI (intellektuelle Leistungen) entwickelt. Aber auch das beruht primär auf menschlicher Intelligenz, sowohl was die Meta-Problemstellung betrifft als auch die algorithmischen Verfahren.  Das KI-System kann dabei das Ausprobieren verschiedener Strukturen und Anpassen von sog. Hyperparametern automatisieren.

(Anmerkung: Das sieht nach einem „infiniten Regress“ Problem für die Allgemeine Künstliche Intelligenz aus. Was fehlt, ist ein Prinzip der Entwicklung. Etwa ein Evolutionsprinzip (Genetische Variation, Selektion), das ja offensichtlich erfolgreich zu Animal Learning and Cognition und insbesondere zur  menschlichen Intelligenz als Maß aller Dinge geführt hat.)

In der Blog-Serie „Sechs nicht so einfache Aufgaben für KI“  haben wir der KI ein paar einfachste, anspruchslose Aufgaben vorgelegt, die jedes Kind zu bewältigen lernt. Sie sind der Verstehbarkeit halber aus der Mathematik gewählt. Also etwa das Zählen, oder gerade und ungerade Zahlen zu unterscheiden. Wir wollten daran sehen, wie es um die Lernfähigkeit bestellt ist, was man als Entwickler dazu beitragen muss, welche Qualitäten des Lernens man dabei entdecken kann und, was KI daraus lernen kann, wie Kinder diese Aufgaben – vermutlich – zu lösen lernen.

Die Blog-Serie ist auf Medium für Beck et al. GmbH, München, auf Deutsch veröffentlicht. Den Einstieg findet man in dem kurzen Einführungsblog: Sechs nicht so einfache Aufgaben für KI, oder über die Webseite von https://becketal.com unter #our_blog. Im Laufe der Zeit (2019) war die Serie ordentlich angewachsen, weshalb der Einführungsblog-Beitrag am Ende auch ein Verzeichnis aller Beiträge der Serie enthält, in der empfohlenen Lesereihenfolge und direkt bzw. untereinander verlinkt.

Noch ein Hinweis: Die Beiträge sind in Form so genannter Jupyter Notebooks (für Python) entstanden. D.h. der erzählende Text wird unterstützt durch kurze Python-basierte Code-Blöcke (unter Verwendung einschlägiger Packages wie keras / Tensorflow für Neuronale-Netze-Modelle). Mit denen können die beschriebenen Ideen bei Interesse nachgebildet werden.

Zum Abschluss noch ein älteres Zitat, nicht weniger bedeutend als die aktuellen:


"I propose to consider the question, "'Can machines think?' This should begin with definitions of the meaning of the terms 'machine' and 'think'. The definition might be framed so as to reflect so far as possible the normal use of the words, but this attitude is dangerous..." [AT]


[KI] G. Paaß, D. Hecker: Künstliche Intelligenz Springer 2021

[MG] Markus Gabriel: Sendung aspekte vom 12.3.2021

[AT] Alan Turing: Computing Machinery and Intelligence, Oxford University Press, 1950