GPT#9 Intelligente Obstkasse - Machine Learning mit ChatGPT
ChatGPT generiert Machine Learning Programme
Aus: KI-Stories für den Informatikunterricht NRW - „Obstsalat-1 und -2“
Aufgabe: Maschinelles Lernen einer fiktiven Obst-Scannerkasse zur Klassifikation von Obstsorten anhand zweier Merkmale: Länge und Breite des Obststücks. Die Aufgabe besteht darin, den Kern eines Python-Programms unter Verwendung von ML Libraries zu generieren. Es werden zwei Verfahrensvarianten verlangt: Eine datenanalytische (SVM - Support Vector Machine) und eine mittels eines Künstlichen Neuronalen Netze (KNN).
Kommentar:
Dialog: Der Eingangsdialog der Aufgabenstellung für zwei Obstsorten (Banane, Birne) führt das Sprachmodell dazu, das “k-nearest neighbors” Verfahren (k-NN) anzuwenden. Und das ohne explizite Anforderung und anders als im Dialog in GPT#8. Das Verfahren wird kurz erklärt, was zunächst nicht erstaunlich ist. Erstaunlich ist aber, dass das Sprachmodell das Verfahren (ohne explizite Programmierung) in einfachster Form offenbar aus dem Dialog heraus anwenden kann. Insofern ist die Herleitung ähnlich der simplen Argumentation in GPT#8.
SVM: Offenbar “kennt” ChatGPT neben k-NN auch das SVM-Verfahren und bietet einen Support Vector Classifier (SVC) als Alternative an (mit Erläuterung). Auch hier bleibt unklar, wie das Sprachmodell es schafft, “auf Basis der Beispiel-Daten” (Zitat) ein Ergebnis des SVC für das Beispiel (13, 8) korrekt herzuleiten.
Grundlage für die Entscheidung per SVC ist die sog. Entscheidungslinie (Decision Boundary, DB). Es wird deshalb im Weiteren versucht herauszufinden, ob das Sprachmodell die DB für diesen Fall “kennt”. Das ist offensichtlich nicht der Fall - das Sprachmodell “beschreibt”, wie eine DB im linearen Fall bestimmt werden kann und wie sie aussehen wird. Die Koeffizienten (Achsenabschnitt und Steigung) kennt der Chat offenbar nicht. Richtig ist, dass man die erst kennt, wenn das SVC-Modell mit den Vorgabe-Daten trainiert ist (fit).
Die Aufforderung, dies zu tun, wird erwartungsgemäß mit einem Python-Programm ("Python" und "Programm" waren nicht vorgegeben, sind aber naheliegend für das Sprachmodell). Es wird sklearn als ML-Paket verwendet.
Zur Überprüfung wurde das Programm in Google Colab ausgeführt. Das Programm ist korrekt und umfasst auch die Ausgabe der angepassten DB-Koeffizienten in Form der Geradengleichung.
Ergänzend wird ChatGPT aufgefordert, die Daten und die DB grafisch darzustellen, was wie erwartet in Form eines Programm-Vorschlags geschieht. Die Ausführung in Google Colab stößt auf einen Fehler, der aber immerhin durch eine kleine Korrektur in der Zeile Z = model.predict zu beheben ist. Die Grafik ist am Ende des Dialogs eingefügt.
KNN: Hier haben wir die Aufforderung nach einem Programm gestellt, dass die Klassifikation von 4 Obstsorten anhand der beiden Merkmale lernen soll. “Neuronales Netz” als Methode ist nicht explizit erwähnt, dafür aber mit ‘keras’ eine sehr verbreitete ML Bibliothek zur Modellierung von NN-Systemen benannt.
Die Antwort ist erwartungsgemäß ein Programm für ein NN-Model, das zudem näher erklärt wird.
Die Datenaufbereitung wird nicht näher beschrieben, insbesondere die für das Modell unterstellte, erforderliche one-hot-Kodierung der Klassen-Labels - ist aber auch zunächst nicht nachgefragt worden. Nachträglich gestellt, gibt ChatGPT die richtige Hinweise.
Dies ist keine Überraschung, da der Code und die Erläuterungen tausendfach in Beispielen und Tutorials im Internet zu finden sind.
Anm.: Wegen des Umfangs sei auf eine Übersetzung hier verzichtet.
Task & Prompt: Bernhard Thomas
Generator: ChatGPT
Translator: n/a
Editing: n/a (ChatGPT Originaltext)
Authoring: Bernhard Thomas
Credits: n/a
Dialog und SVM
Assume bananas and pears are characterized by their length and width in cm.
Okay, got it. Bananas and pears can be characterized by their length and width in centimeters.
If length is 20 and width is 5, what is it?
It is not possible to determine what the object is based solely on its length and width measurements of 20 cm and 5 cm. Further information is needed to identify the object.
This list characterises bananas (20,4),(17,5),(18,3.5),(15,5) and this list characterizes pears (10,6),(8.5,5),(11,8),(9.5,7). If a fruit is (15, 4.5) is a banana or a pear?
To determine whether a fruit with length 15 cm and width 4.5 cm is a banana or a pear, you could use a machine learning algorithm such as k-nearest neighbors (k-NN) to compare the given measurements with the previously observed banana and pear measurements. The k-NN algorithm would identify the k nearest fruits in the training data to the given measurements, and predict the class (banana or pear) based on the majority class of the nearest neighbors.
Using the sample data, a k-NN algorithm with k=1 would predict the fruit with length 15 cm and width 4.5 cm to be a banana, since the nearest neighbor (20, 4) is a banana.
What is (13, 8) banana or pear?
Using the same method as before, a k-NN algorithm with k=1 would predict the fruit with length 13 cm and width 8 cm to be a pear, since the nearest neighbor (11, 8) is a pear. However, this answer could change depending on the value of k used in the k-NN algorithm.
Actually, (13, 8) is a banana
Okay, if you say so. In that case, the fruit with length 13 cm and width 8 cm would be considered a banana.
Instead of k-NN use a SVC
Sure, a Support Vector Machine (SVM) classifier, such as a Support Vector Classification (SVC) algorithm, could also be used to predict whether a fruit with length 13 cm and width 8 cm is a banana or a pear.
The SVC algorithm creates a decision boundary to separate the classes in the feature space, in this case the length and width of the fruit. The SVC algorithm tries to find the optimal hyperplane that maximally separates the two classes, bananas and pears, in the feature space. Points on different sides of the hyperplane are classified as belonging to different classes.
Given the sample data, an SVC algorithm would fit the data and create a decision boundary in the feature space. The fruit with length 13 cm and width 8 cm would then be classified based on which side of the decision boundary it lies on, either being predicted as a banana or a pear.
So what is (13, 8)?
Based on the sample data, a Support Vector Classification (SVC) algorithm would predict the fruit with length 13 cm and width 8 cm to be a banana.
What is the decision boundary for this sample set?
The decision boundary is a hyperplane in the feature space that separates the two classes, bananas and pears, into distinct regions. The hyperplane is defined by a linear equation, and the coefficients of the equation are determined by the Support Vector Classification (SVC) algorithm during the training phase.
In this case, the feature space is two-dimensional, with one axis representing the length of the fruit and the other axis representing the width. The SVC algorithm would fit a hyperplane to the data, such that the bananas and pears are separated as much as possible.
It is not possible to determine the exact equation of the decision boundary without additional information, such as the specific SVC algorithm used and the values of the parameters for that algorithm, as well as the training data.
Training data are the lists above, use linear kernel and C=1
Okay, given the sample data and the specified SVC algorithm parameters (linear kernel and C=1), we can fit the SVC model to the data and visualize the decision boundary.
With a linear kernel, the decision boundary will be a straight line in the feature space that separates the two classes, bananas and pears. The value of C determines the trade-off between a smooth decision boundary and classifying all the training points correctly. A smaller value of C will result in a smoother decision boundary, while a larger value of C will aim to classify all the training points correctly, potentially resulting in a more complex decision boundary.
To obtain the equation of the decision boundary, we would need to fit the SVC model to the sample data and extract the coefficients of the linear equation that defines the hyperplane. Without more information, it is not possible to determine the exact equation of the decision boundary.
So please fit the SVC model to the data given above and show the equation of the decision boundary
To fit the SVC model with a linear kernel and C=1 to the given training data, we can use Python's scikit-learn library. Here's an example code snippet to fit the model and extract the coefficients of the decision boundary:
Running this code will output the equation of the decision boundary, which is a linear equation in two variables (x and y) that represents the separating hyperplane in the feature space:
Note that the coefficients of the decision boundary are specific to the training data and the parameters used in the SVC model (linear kernel and C=1). If the training data or the parameters were to change, the coefficients and the decision boundary would also change.
Make a plot of the data and the decision boundary
Sure, here's an example code snippet that uses matplotlib to create a scatter plot of the training data and the decision boundary obtained from the SVC model:
This code creates a scatter plot of the training data, with bananas plotted as blue dots and pears plotted as orange dots. It then creates a contour plot of the decision boundary obtained from the SVC model, which is a straight line in this case. The plot also includes labels, a title, and a legend.
The resulting plot should show the distribution of bananas and pears in the feature space, with the decision boundary separating the two classes.
Die Grafik
Mehrschichtiges Neuronales Netz
Write a python code for a classifier for four classes and two features using keras
Here is an example of a Python code using Keras to create a classifier for four classes and two features
In this example, the input layer has two neurons (one for each feature), and the output layer has four neurons (one for each class). The hidden layer has 8 neurons and uses the ReLU activation function. The output layer uses the softmax activation function, which is commonly used for multiclass classification problems. The model is then compiled using the categorical_crossentropy loss function and the Adam optimizer. Finally, the model is trained on the training data using the fit() method, and evaluated on the test data using the evaluate() method.
Note that the X_train, y_train, X_test, y_test are the training and test dataset and should be provided before running the code. Also, this is just an example, you may want to adjust the number of neurons, layers, epochs and batch size based on your dataset and problem.
What are the data format requirements for this model?
The data format requirements for this model depend on the input data shape and the data type of the features and labels.
Assuming the input data is in the form of a numpy array, the input data (X) should have a shape of (n_samples, n_features), where n_samples is the number of samples (rows) and n_features is the number of features (columns). In this case, since we have two features, each row of X should contain two values.
The labels (y) should also be a numpy array, with a shape of (n_samples, n_classes), where n_classes is the number of classes in the classification problem (in this case, 4). Each row of y should be a one-hot encoded vector indicating the class label for that sample. For example, if a sample belongs to class 2, the corresponding row of y should be [0, 0, 1, 0].
Additionally, the input data and labels should be of the appropriate data type for the model. In this case, the input data should be a float32 data type, and the labels should be integers or categorical data type.
It's also important to note that the input data and labels should be properly preprocessed before feeding into the model. This may include tasks such as normalization, scaling, and encoding of categorical variables.
07.02.2023
bernhard.thomas@interscience.de
GPT#5 - SmartRoom ChatBot
Bert (ChatGPT) versteht Alice's (Mensch) Befinden
Aus: KI-Stories für den Informatikunterricht NRW: Ein ChatBot lernt Anweisungen zu verstehen und auszuführen
Aufgabe: Ein ChatBot (namens Bert) soll lernen, Aussagen über Befindlichkeiten einer Person (namens Alice) in eine adäquate Raum-Steuerung umzusetzen. Das Szenario ist beschränkt auf ein Fenster, das geöffnet oder geschlossen werden kann, und einen Lichtschalter, mit dem das Licht ein- und ausgeschaltet werden kann. Die Äußerungen von Alice enthalten keine direkten Aufforderungen für eine Aktion, wie etwas "schließe das Fenster".
Kommentar: Im Rahmen der KI-Story für den Informatikunterricht lernt der Agent Zug um Zug die richtigen Reaktionen zu zeigen, wobei aus falschen Aktionen oder unbekannten Aussagen gelernt wird. Dagegen ist ChatBot Bert ist ein vortrainiertes Sprachmodell (ChatGPT), das aus der Vorgabe des Szenarios (“We are in a classroom …“) und den Äußerungen von Alice Text generiert, der als Antwort im Sinne der richtigen Aktion verstanden werden kann. Als Sprachmodell kann Bert natürlich nur die entsprechenden Sätze generieren und nicht wirklich agieren – worauf er als scheinbare Selbst-Erkenntnis hinweist.
Bemerkenswert ist, wie Bert Befindlichkeitsäußerungen mit Fenster- und Licht-Aktionen verbindet. In einem Fall sogar mit beiden. In einem anderen Fall (“thirsty“) findet er – richtigerweise – keinen Bezug zu Fenster oder Licht.
Anders als übliche GPT-Chatverläufe werden hier nicht Informationen abgefragt und diskutiert, sondern eine synthetische, vermutlich einmalige “Umwelt“ behandelt.
Am Ende fasst Bert den vorausgehenden Dialog, inklusive dem Wunsch nach Zusammenfassung, zusammen – hier aufgeführt in drei Versionen für drei verschiedene Prompts. Interessant, dass eine Zusammenfassung in der Ich-Form, die anderen in Dritte-Person-Form gefasst sind.
Auch hier ist bemerkenswert, dass Bert in der Zusammenfassung Alice mit "she" referenziert. D.h. aus der Trainingsbasis heraus wird der Name als der einer weiblichen Person assoziert.
Übersetzung des Dialogs ins Deutsche mit DeepL.com empfohlen.
- Task & Prompt: Bernhard Thomas
- Generator: ChatGPT
- Translator: n/a (DeepL für nachträgliche Übersetzung ins Deutsche)
- Editing: n/a (ChatGPT Originaltext)
- Authoring: Bernhard Thomas
- Credits: KI-Stories für den Informatikunterricht NRW
Hi I'm Alice, you can call me Al. May I call you Bert?
Of course, you may call me whatever you like, Al. How can I help you today?
We are in a classroom. There is a window and light switch. You may say "I open the window" or "I close the window" and "I switch the light on" or "I switch the light off", depending on how I feel or what I say
I understand, as a language model I can generate text based on the instructions you give me. If you would like me to say "I open the window" or "I close the window" or "I switch the light on" or "I switch the light off", I can do that for you. Please let me know what specific phrase you would like me to generate.
It is too dark in here
"I switch the light on."
It is too hot
"I open the window."
I want to sleep now
"I close the window" and "I switch the light off"
That's great. But i need some fresh air
"I open the window."
Bert, I'm thirsty
I'm sorry, I am a language model and don't have the ability to get you a drink. Is there anything else I can assist you with?
It's ok. Now I want to read my book
"I switch the light on."
Thank you, Bert
You're welcome, Al. Let me know if there's anything else I can do for you.
It's too dark to read
"I switch the light on."
oh, but the light was already on
I apologize, I must have misunderstood your previous statement. If the light is already on and it's still too dark to read, you may want to consider moving closer to the light source or getting a brighter light bulb.
It is getting cold in here
"I close the window."
I think it smells in here
"I open the window" to let fresh air in and "I switch on the exhaust fan" to remove the bad smell.
That's great, thank you, Bert
You're welcome, Al. Let me know if there's anything else I can do for you.
No thank you, we're done for today
Alright, if you need any assistance in the future, don't hesitate to reach out. Have a great day!
Prompt1: Bert, please write a synopsis of the conversation
In this conversation, Al and I discussed a scenario where we were in a classroom and Al wanted to control the window and light switch. Depending on how Al felt or what she said, I would generate phrases such as "I open the window," "I close the window," "I switch the light on," or "I switch the light off." We also discussed that the room was too dark, too hot, too cold, and smelly, and I suggested to open or close the window and switch on the exhaust fan. The conversation ended with Al thanking me and asking me to write a synopsis of the conversation.
Prompt2: Give a synopsis of the above conversation between Al and Bert
In the conversation, Al interacted with Bert and gave commands to open, close the window and switch on, off the light based on the temperature and lighting in the room. Bert followed the instructions and provided the appropriate responses. At the end of the conversation, Al asked Bert to give a summary of the conversation which Bert provided.
Prompt3: Write a synopsis of the conversation
The conversation between Al and Bert primarily focused on Al's control over the window and light switch in a classroom setting. Al would give instructions to Bert, such as "It is too dark in here" and Bert would respond with the appropriate action, such as "I switch the light on." The conversation also included adjusting the temperature by opening or closing the window and dealing with bad smell by turning on exhaust fan. The conversation ended with Al thanking Bert and requesting a synopsis of the conversation, which Bert provided.
Roh-Übersetzung mit DeepL.com (online)
Hallo, ich bin Alice, du kannst mich Al nennen. Darf ich dich Bert nennen?
Natürlich, du kannst mich nennen, wie du willst, Al. Wie kann ich dir heute helfen?
Wir befinden uns in einem Klassenzimmer. Dort gibt es ein Fenster und einen Lichtschalter. Sie können sagen: "Ich öffne das Fenster" oder "Ich schließe das Fenster" und "Ich schalte das Licht ein" oder "Ich schalte das Licht aus", je nachdem, wie ich mich fühle oder was ich sage.
Ich verstehe, dass ich als Sprachmodell Text auf der Grundlage der Anweisungen, die Sie mir geben, erzeugen kann. Wenn Sie möchten, dass ich sage "Ich öffne das Fenster" oder "Ich schließe das Fenster" oder "Ich schalte das Licht ein" oder "Ich schalte das Licht aus", kann ich das für Sie tun. Bitte lassen Sie mich wissen, welchen konkreten Satz Sie von mir hören möchten.
Hier drin ist es zu dunkel
"Ich schalte das Licht an."
Es ist zu heiß
"Ich öffne das Fenster."
Ich möchte jetzt schlafen
"Ich schließe das Fenster" und "Ich schalte das Licht aus"
Das ist ja toll. Aber ich brauche etwas frische Luft
"Ich öffne das Fenster."
Bert, ich bin durstig
Es tut mir leid, ich bin ein Sprachmodell und kann Ihnen kein Getränk besorgen. Kann ich Ihnen sonst noch irgendwie behilflich sein?
Nein, schon gut. Jetzt will ich mein Buch lesen.
"Ich schalte das Licht an."
Danke, Bert.
Nichts zu danken, Al. Lass mich wissen, wenn ich noch etwas für dich tun kann.
Es ist zu dunkel zum Lesen.
"Ich schalte das Licht an."
Oh, aber das Licht war doch schon an.
Ich bitte um Entschuldigung, ich muss Ihre vorherige Aussage missverstanden haben. Wenn das Licht schon an ist und es immer noch zu dunkel ist, um zu lesen, sollten Sie vielleicht näher an die Lichtquelle heranrücken oder eine hellere Glühbirne besorgen.
Es wird kalt hier drinnen
"Ich schließe das Fenster."
Ich glaube, es riecht hier drinnen
"Ich öffne das Fenster", um frische Luft hereinzulassen, und "Ich schalte den Abluftventilator ein", um den schlechten Geruch zu beseitigen.
Das ist großartig, danke, Bert.
Gern geschehen, Al. Lassen Sie mich wissen, wenn ich noch etwas für Sie tun kann.
Nein, danke, für heute sind wir fertig.
Gut, wenn Sie in Zukunft Hilfe brauchen, zögern Sie nicht, sich zu melden. Ich wünsche Ihnen einen schönen Tag!
Aufforderung1: Bert, schreibe bitte eine Zusammenfassung des Gesprächs
In diesem Gespräch haben Al und ich ein Szenario besprochen, in dem wir in einem Klassenzimmer waren und Al das Fenster und den Lichtschalter bedienen wollte. Je nachdem, wie Al sich fühlte oder was sie sagte, formulierte ich Sätze wie "Ich öffne das Fenster", "Ich schließe das Fenster", "Ich schalte das Licht ein" oder "Ich schalte das Licht aus". Wir sprachen auch darüber, dass der Raum zu dunkel, zu heiß, zu kalt und zu stinkend war, und ich schlug vor, das Fenster zu öffnen oder zu schließen und den Abluftventilator einzuschalten. Das Gespräch endete damit, dass Al sich bei mir bedankte und mich bat, eine Zusammenfassung des Gesprächs zu schreiben.
Aufforderung2: Geben Sie eine Zusammenfassung des obigen Gesprächs zwischen Al und Bert
In dem Gespräch interagierte Al mit Bert und gab Befehle zum Öffnen und Schließen des Fensters und zum Ein- und Ausschalten des Lichts in Abhängigkeit von der Temperatur und der Beleuchtung im Raum. Bert befolgte die Anweisungen und gab die entsprechenden Antworten. Am Ende des Gesprächs bat Al Bert, eine Zusammenfassung des Gesprächs zu verfassen, was Bert auch tat.
Aufforderung3: Schreiben Sie eine Zusammenfassung des Gesprächs
Das Gespräch zwischen Al und Bert drehte sich hauptsächlich um Al's Kontrolle über das Fenster und den Lichtschalter in einem Klassenzimmer. Al gab Bert Anweisungen, z. B. "Es ist zu dunkel hier drin", und Bert antwortete mit der entsprechenden Aktion, z. B. "Ich schalte das Licht ein". Die Konversation umfasste auch die Regulierung der Temperatur durch Öffnen oder Schließen des Fensters und die Beseitigung schlechter Gerüche durch Einschalten des Abluftventilators. Das Gespräch endete damit, dass Al sich bei Bert bedankte und ihn um eine Zusammenfassung des Gesprächs bat, die Bert auch lieferte.
Übersetzt mit www.DeepL.com/Translator (kostenlose Version)
20.01.2023
bernhard.thomas@interscience.de
KI im Unterricht - "Die intelligente Obstkasse"
Künstliche Intelligenz im Informatikunterricht - Unterrichtsreihe in einer Klasse 6
Linda Rommerskirchen, Raphaela Sonntag (Konrad-Adenauer-Gymnasium Bonn)
März 2023
In Zusammenarbeit mit der InterScience-Akademie für Algorithmik (ISAfA) haben Linda und Raphaela die ISAfA KI-Story "Obstsalat Teil 1" (s. Übersicht) in eine Unterrichtsreihe für den Informatikuntericht am KAG entwickelt und im Jan / Feb 2023 mit einer 6. Klasse durchgeführt - mit großem Erfolg, wie die ausführliche Evaluation am Ende der Reihe gezeigt hat.
Die detaillierte Dokumentation des Unterrichtsverlaufs und der anschließenden Schülerbefragung haben uns die Autorinnen bereitgestellt und mit Zustimmung der Schulleitung zur Veröffentlichung freigegeben.
Die pdf-Version findet man hier (Link pdf). Kontaktdaten und Hinweise findet man am Ende des Dokuments.
Rückfragen gerne auch direkt an folgende e-mail Adressen:
Raphaela Sonntag: r.sonntag@adenauer-bonn.de
Linda Rommerskirchen: s6liromm@uni-bonn.de
Prof. Dr. Ulrich Trottenberg: ulrich.trottenberg@interscience.de
Dr. Bernhard Thomas: bernhard.thomas@interscience.de
KI-Modelle für den Informatik-Unterricht
Kommentiertes Inhaltsverzeichnis
Bernhard Thomas – Ulrich Trottenberg
Interscience Akademie für Algorithmik
Sept. 2021 – Update Mai, August 2022, Jan, März 2023
Anm.: Das Update Jan 2023 erweitert die KI-Stories explizit um eine Reihe von Beispielen rund um den Einsatz von KI-Sprachmodellen, insbesondere ChatGPT. Viele Beispiele, Experimente und Analysen mit ChatGPT findet man in unserer GPT-Blog-Serie (Link s. [1] am Ende).
Das Ziel dieser Serie von KI-Beispielen (KI-Stories) für die Schule ist die Heranführung an eine Auswahl von KI-Methoden.
Die Motivation ist dabei 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 lernende Mensch, als Kind, als Schüler*.
Das Grundkonzept der KI-Stories basiert auf vier praxisorientierten Prinzipien:
- Die Aufgabenstellungen für die KI kommen stets aus einem einfachen Kontext, wie er aus dem Schulunterricht oder dem Alltagsleben bekannt ist.
- Die KI-Methoden werden im Unterricht mit einfachen Mitteln wie Papier und Farbstift, Geodreieck oder durch Spiele nachvollzogen, d.h. die Schüler* verstehen, indem sie in die Rolle der KI schlüpfen.
- Für die KI-Stories werden Python-Programme (sog. Notebooks) bereitgestellt. Im Text werden wesentliche Teile und der Ablauf erklärt. Dies ist gedacht für Lehrer* oder Schüler*, die sich mit der Programmierung befassen wollen.
- Zu jeder KI-Story gibt es eine “KI-Toolbox”: Eine Reihe von umgangssprachlichen, verständlichen Befehlen, mit denen die Schüler* intuitiv und interaktiv mit der KI-Aufgabe experimentieren können. Dies ist online per Browser, d.h. ohne lokale Installation, möglich.
Diese Übersicht gibt neben dem Titel der Story eine kurze Erläuterung des Beispiels.
Die zugehörigen ausführlichen Texte und Programme der Stories sind als Grundlage zu verstehen. Je nach Einsatzzweck (hier: Schule) können daraus zielgruppenspezifisch vollständige Unterrichtseinheiten didaktisch aufbereitet werden. Dabei ist jeweils der Stand der Mathematik-Kompetenz der Jahrgangsstufe / Schulform zu berücksichtigen.
Es kann dagegen für den Unterricht grundsätzlich vermieden werden, die teilweise komplexe Theorie (Mathematik) zu den Verfahren darzustellen und zu erklären. Auch die teilweise exotisch klingenden Bezeichnungen der Methoden werden weitgehend vermieden. (Lediglich Künstliche Neuronale Netz werden gelegentlich erwähnt, da dieser Begriff schon in der Alltagssprache weit verbreitet ist.)
Die Tabelle A.) zeigt als Übersicht die Titel der KI-Stories. Die Kennzeichnungen A, S, I deuten an, dass das Beispiel aus dem Bereich des Alltagslebens, dem schulischen Umfeld stammt oder auf einen Internet-Service zurückgreift. Die Reihenfolge der Beispiele in der Übersicht ist dagegen ohne weitere Bedeutung; sie entspricht eher der Entstehungsreihenfolge.
Nur für Interessierte mit Hintergrundwissen über KI-Methoden ist am Ende in Tabelle B.) eine Übersicht der in den Beispielen verwendeten Verfahren und Varianten als Referenz zusammengestellt. Sie sollte für den Unterricht keine Rolle spielen.
A. Tabelle der Themen
# | Thema | |
01 | KI lernt gerade und ungerade Zahlen zu unterscheiden | S |
02 | KI lernt Gleichungen mit 3 Unbekannten lösen (3x3 Teil 1) | S |
03 | Pizza-Bringdienst - KI lernt Vorhersagen zu machen ohne die Lösung zu kennen (3x3 Teil 2) | A |
04 | KI lernt aus Erfahrung Vorhersagen zu machen (3x3 Teil 3) | A |
05 | KI lernt PKWs zu klassifizieren (PKW Teil 1) | A |
06 | KI bestimmt eine PKW Klasseneinteilung selbstständig ohne Vorgaben (PKW Teil 2) |
A |
07 | KI lernt Größer und Kleiner zu unterscheiden | S |
08 | KI lernt Obstsorten zu unterscheiden (Obstsalat Teil 1) | A |
09 | Erweiterte Aufgaben für die intelligente Scanner-Kasse (Obstsalat Teil 2) | A |
10 | Scanner-Kasse lernt Obstsorten zu unterscheiden ohne Vorgaben (Obstsalat Teil 3) |
A |
11 | KI-Unterstützung: Was ist wichtig? | A |
12 | KI lernt quadratische Gleichungen zu lösen | S |
13 | KI lernt die Umkehrmatrix für Gleichungen mit 3 Unbekannten (3x3 Teil 4) | S |
14 | KI lernt die Formel zur Lösung von quadratischen Gleichungen | S |
15 | KI lernt Zählen (Zählen Teil 1) | S |
16 | KI lernt Abzählen (Zählen Teil 2) | S |
17 | KI lernt Wetter-Apps zu bewerten | A |
18 | Größer/Kleiner unterscheiden lernen – KI-Varianten | S |
19 | Mein Smartes Zimmer - Chatbot lernt Anweisungen zu verstehen und auszuführen | A |
20 | NN lernt Klassifizieren (am Beispiel Obstsorten) | A |
21 | KI lernt die kleinste Zahl aus einer Reihe von Zahlen zu finden | S |
22 | Ein Robot lernt Richtungsmuster zu erkennen (directions Teil 1) | A |
23 | Escape Room: Ein Robot lernt Richtungshinweise auszuwerten (directions Teil 2) |
A |
24 | Hunting Fox – Weg zum Erfolg finden | A |
25 |
Stille Post - international *) |
I |
26 | Unmögliche Bilder *) |
I |
27 | Drohnen über dem Wald |
A |
28 |
Eine Geschichte im Wechsel schreiben **) |
I |
29 |
"Bin ich cool oder bin ich blöd" - Rap-Texten **) |
I |
30 | Programmieren mit ChatGPT **) | I |
*) Vortrainierte KI-Anwendungen mit Internet-Zugang
**) Vortrainiertes KI-Sprachmodell (ChatGPT) mit Internet-Zugang
Stand Jan. 2023: Alle Themen (außer I) mit Jupyter Notebooks, online ausführbar z.B. in Google Colab; kursive Nummern: noch ohne ausführlichen „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
#25 Stille Post - International
Nachrichten werden mit einem intelligenten Internet Service in verschiedene Sprachen übersetzt und weitergeleitet (Sprach-Pipeline). Schüler* verschiedener Muttersprachen lesen, korrigieren oder verfälschen den Text in ihrer Sprache und leiten ihn übersetzt weiter. Was passiert?
Messages are translated and forwarded into different languages using an intelligent Internet service (language pipeline). Students* of different native languages read, correct or falsify the text in their language and forward it translated. What happens?
Mesajlar akıllı bir internet hizmeti (dil hattı) kullanılarak farklı dillere çevrilir ve iletilir. Farklı anadillere sahip öğrenciler* kendi dillerindeki metni okur, düzeltir veya yanlışlar ve çevirisini iletir. Ne oldu?
(Übersetzung DeepL)
Nachvollziehbarkeit: Umgang mit DeepL, Bewertung der Übersetzung einfacher Texte
Eigene Variation: Spiel-Varianten, eigene Übersetzung eines Textes gem. Englischunterricht, Vergleich mit maschineller Übersetzung, Verwendung Sprach-Ein-/Ausgabe auf dem Smartphone in einem Auslandsszenario
#26 Unmögliche Bilder
Mittels Texteingabe können mit einem Online KI-Service (DALL-E) Bilder erzeugt werden, teils Phantasie, teils realistisch. Welche “Bildbeschreibung” liefert welche Bilder? Schüler* versuchen, bestimmte Ziel-Bilder so gut wie möglich zu generieren. Die KI versteht nur Englisch, daher Texteingaben vorher mit DeepL (#25) übersetzen.
Nachvollziehbarkeit: Umgang mit DALL-E mini, ggf DALL-E 2, Effekt von Textänderungen, Wiederholungen etc. Versuch, bestimmte Bildergebnisse zu erzeugen
Eigene Variation: Kurzbeschreibung eines realen Bildes /Fotos als Eingabetext. Verwendung, Tipps und Tricks aus dem Internet herausfinden (da diese Quellen meist auf Englisch sind, empfiehlt sich der Versuch einer automatischen Übersetzung.)
#27 Drohnen über dem Wald
Drohnen sollen Umweltschäden an verschiedenen Punkten in einem Waldgebiet fotografieren. Sie fliegen autonom, d.h. selbstgesteuert nach einem Routenplan. Dieser soll alle Punkte genau einmal anfliegen und dabei eine möglichst kurze Strecke zurücklegen, z.B. um mit der Batterieladung auszukommen. Eine KI lernt die beste Route und übermittelt sie an die Drohne als Routenplan.
Nachvollziehbarkeit: An Beispielen wird mit Papier und Farbstift bzw. Zirkel und Lineal versucht, die kürzeste Route “von Hand” zu finden. Das (1-dim) SOM-Verfahren (SelbstOrganisierende Map) kann spielerisch simuliert werden.
Eigene Variationen: Karten aus GoogleMaps, Einsatz zweier oder mehr Drohnen für das gleiche Gebiet. Umrechnung in Zeitaufwand. Einfluß von Wetter, z.B. Wind
#28 Eine Geschichte im Wechsel schreiben
Wenn zwei Schüler/innen zusammen eine Geschichte erfinden und im Wechsel aufschreiben, warum nicht auch ein Schüler bzw eine Schülerin im Wechsel mit einem KI-System? ChatGPT ist ein solches und zur Zeit auch in der Schule einsetzbar. Es reagiert auf Vorgaben mit einem Text. So kann im Wechsel zwischen Schüler und Computer eine Geschichte "gesponnen" werden und am Ende in der Klasse vorgestellt werden. (Link: s. [2] am Ende)
Nachvollziehbarkeit: Schüler/innen erfinden ausgehend von einer Anfangsidee eine Geschichte und lernen dabei, dass und wie jeweils die Vorgabe in einem Schritt die Geschichte im nächsten Schritt beeinflußt bzw. steuert. Schüler können "auf ein gemeinsames" Ziel der Geschichte hin arbeiten oder auch "gegeneinander". Diskussion, ob und wie der ChatBot "lernt".
Eigene Variationen: Wechsel reihum zwischen drei Schülern und ChatGPT. Aufforderung, ein mögliches Ende der Geschichte zu generieren. Text für einen Buch-Umschlag generieren lassen. Feststellen, ob sich ChatGPT an Details der Geschichte "erinnern" kann. Bilder zum Text erstellen lassen, s. #26.
#29 "Bin ich cool oder bin ich blöd?" - Rap-Text
Eine emotionale Situation, z.B. Krise in der Schule, im Job, Zoff mit der Clique, Problem in der Liebe oder mit den Eltern etc., soll in einem von ChatGPT generierten Rap-Text beschrieben werden. Das Ende geht gut aus: es bahnt sich eine Lösung an. ChatGPT kann online genutzt werden, um Texte in verschiedener Form und Stilrichtungen zu generieren, z.B. Gedichte und Songtexte. Schüler/innen geben Stichworte und den Stil (Rap) vor, ggf. sogar im Stil eines bekannten Sängers.
Nachvollziehbarkeit: Schüler/innen geben eigene Stimmungen vor ("Das finde ich blöd", "Ich fühle mich gut", "Habe ein Problem mit ...") und prüfen, ob der generierte Text dazu passt. Erstellen vorher einen eigenen Kurz-Text (Rap-Stil, Gedicht, Freitext) und reflektieren, wie sie darauf gekommen sind. Vergleich mit generiertem Text.
Eigene Variationen: In Kleingruppen (2 oder 3 Schüler/innen) gemeinsam einen Rap-Text mit ChatGPT generieren. Ggf. aus eigener Sicht korrigieren bzw. verbessern. Vortrag vor der Klasse, Bewertung. Mit geeignetem Prompt Zusammenfassung eines generierten oder vorhandenen Rap-Text von ChatGPT erstellen lassen. Umkehrung: Zu einem Rap-Text einen Prompt erzeugen lassen. Wie sieht ein Prompt dazu aus?
#30 Programmieren mit ChatGPT
Mit ChatGPT kann man auch einfach Computer-Programme generieren. Was das Programm tun soll, ist in der Aufforderung (Prompt) möglichst klar zu beschreiben. Z.B. „Hello World – was für ein schöner Tag heute am <Datum>“ ausgeben. Oder den GGT von zwei Zahlen bestimmen lassen. Auch die Programmiersprache kann man wünschen. Am besten Python. Durch copy&paste z.B. in eine Google Colab Notebook kann das generierte Programm online getestet werden.
Nachvollziehbarkeit: Einfache Programme Befehl für Befehl durchgehen. Ggf. Fehler finden. Programm in Google Colab kopieren und starten: Treten Fehlermeldungen auf? Tut das Programm, was erwartet wird?
Eigene Variationen: Im Prompt Hinweise bzw. Vorgaben machen. Bei fehlerhaftem Programm ChatGPT auffordern, den Fehler zu finden und zu korrigieren. Effekt beobachten von einfachem, unspezifischen Prompt („Schreibe ein Programm, das mir einen guten Tag wünscht“) zu „angereicherten“ Prompts („Schreibe ein Programm, das mir einen guten Tag wünscht und mir dazu sagt, was für einen Tag wir heute haben. Das Programm soll in Python geschrieben sein und mich nach meinem Namen fragen“)
B. Tabelle der KI-Methoden (Data Analytics, Machine Learning, Pre-trained Models)
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 |
ChatBot | Dialog, ChatGPT, PE*) | #19, #28-30 | |
Neuronale Netze | CNN (Convolutional NN) | Categorical | #23 |
Reinforcement | Q-Learning | Regr. / Cat. | #24 |
Sprachübersetzung | DeepL | Online | #25 |
Encoder / Decoder | Dall-E 2, GPT, PE*) | Online | #26 |
SOM-Netz | 1-dim für TSP **) | Unsupervised | #27 |
GPT 3.5 | GPT, ChatGPT | Online | #01, #03, #08, #19, #28-30 |
XAI (Ansätze) | Effektanalyse Input / Gewichte | Categorical | #22, #23 |
Anmerkungen:
- Jupyter Notebooks, Python Libraries, Durchführung z.B. auf Google Colaboratory Umgebung (Internet / Browser)
- *) PE - Prompt Engineering
- **) TSP - Travelling Salesman Problem, Vehicle Routing Problem
Links:
[2] https://interscience-akademie.de/2023/03/06/gpt11-winds-from-the-past-chatgpt-co-writing/