KI programmieren im Informatikunterricht Teil I: Einführung

[B0]

Abb. [B0]: „E-V-A“, Alexander Schindler, Lizenz CC BY-SA 4.0, Lernaufgabe "KI im Unterricht"

CC BY SA 4.0 Ausgenommen sind einzeln gekennzeichnete Inhalte/Elemente, siehe Quellen- und Lizenzhinweise am Ende des Dokuments.	iMINT Akademie Fachset Informatik Lernaufgabe „KI Programmieren im Unterricht“ A. Bobrik, A. Schindler Lizenz CC BY-SA 4.0, ebenda

Inhaltsverzeichnis

KI programmieren im Informatikunterricht Teil I: Einführung	1

A Übersicht	3

A 1 Zusammenfassung:	3

A2 Stundenübersicht	4

A3 Themeneinstieg und theoretische Grundlagen	7

B Lernaufgabe	8

B1 Unterrichtsbegleitende Präsentation	8

B2 Arbeitsblätter	35

C Bezug zum Rahmenlehrplan	40

C1 Didaktischer Kommentar	40

C2 Bezüge zum Rahmenlehrplan Informatik	40

C3 Bezüge zum Basiscurriculum Medienbildung	42

C4 Bezüge zu übergreifenden Themen	43

C5 Bezüge zu anderen Fächern:	43

D Anhang	44

D1 „Material“ für den Einsatz dieser Lernaufgabe	44

D2 Musterlösung der Lernaufgabe und Hinweise	44

D3 Quellen / Lektüreliste zum Weiterlesen	47

D4 Bildnachweise	48

A Übersicht

A 1 Zusammenfassung:

Wer neuronale Netze einmal selbst trainiert hat, kann deren Risiken, Probleme und Chancen und damit auch mögliche gesellschaftliche Entwicklungen besser einschätzen.

Die Schüler entdecken mit der eigenständigen Programmierung von neuronalen Netzen (NN) deren Möglichkeiten. Zur Programmierung wird TensorFlow benutzt, das als Framework in der KI-Entwicklung viel Unterstützung bietet. Nach einer kurzen Einführung in die Ideen von NN wird die mögliche Umsetzung im Unterricht an Beispielen gezeigt. In diesem Sinne: All hands on code!

Intention der Lernaufgabe

Kennenlernen von Deep Learning DL / Künstlciher Intelligenz KI

Erstellung / Programmierung eines eigenen NN

Erkennen von Chancen und Risiken, möglichen gesellschaftlichen Auswirkungen

A2 Stundenübersicht

1. Doppelstunde:

Hinführung zum Thema

theoretische Grundlagen

Präsentation

2. Doppelstunde:

Programmierung in Gruppen Fortsetzung der ersten Doppelstunde

3. Doppelstunde

Paradigmenwechsel weg von der klassischen Programmierung hin zur Datenanalyse

Neue Berufsfelder z.B.: Datascientist , Dataanalyst

Auswirkung auf Alltag und Gesellschaft

Bedeutung der Daten und des Datenschutzes.

Fazit

1. Doppelstunde

Zeit	Phase	Beschreibung	Methode/Medien/Anmerkung
5 Min.	Einstieg	Aktuelle Schlagzeilen aus der Welt der NN
Alternativer Einstieg Film: AlphaGo lernt Breakout Q: www.youtube.com/watch?v=TmPfTpjtdgg	Hinweis: Anders als in späteren Beispielen lernt hier der Agent durch reinforcement learning
10 Min.	Vortrag / LSG	Lehrervortrag zu Grundlagen von DL und KI Musterklassifizierung am Beispiel von Hund und Wolf; Möglichkeiten und Risiken	Präsentation KI
20 Min.	Aufgabenblock wie in Präsentation	Möglicher Einschub
10 Min.	Erarbeitung	Die Wumpus Welt: AA: notiere Regeln damit der Held lebend den Ausgang findet.	Bild der künstlichen Wumpus Welt
10 Min.	Erarbeitung	Die reale Welt AA: notiere alle Regeln um eine Straße zu überqueren. EH: Reale Welt bietet zu viele Parameter, können kaum/nicht abgebildet werden	Alternative Tee kochen in trubeliger Küche: Bild einer Küche mit Kindern, Haustier, Fenster steht offen, Geschirr in der Spüle, Tee vorhanden? Wasser erreichbar, Topf sauber? usw.
5 Min.	Diskussion der Ergebnisse
15Min.	Vortag / LSG	Aufbau Neuron Aufbau NN Lernen durch Backpropagation	Präsentation KI / Schülerhandout
15Min.	Vorstellung IDE und tensorFlow	Schülerhandout

LSG: Lehrer-Schüler-Gespräch

2. Doppelstunde

Zeit	Phase	Beschreibung	Methode/Medien/Anmerkung
5 Min.	Einstieg	Wiederholung: Aus Daten werden Regeln	Schülerhandout
15 Min	LSG	Besprechung Beispielcode	Systemanalytischer Ansatz
40 Min.	Erarbeitung	Aufgaben 1 – 15 auf dem Schülerhandout Wer erzielt die besten Ergebnisse?
30 Min.	Sicherung	Im Wechsel Besprechung der Aufgaben

3. Doppelstunde

Zeit	Phase	Beschreibung	Methode/Medien/Anmerkung
10 Min.	Erarbeitung	Erweiterungen des NN (learning rate Normalisierung, Aufbereiten der Ergebnisse, usw.)	Arbeiten mit der TensorFlow API
10 Min.	Sicherung	Besprechung der Ergebnisse
50 Min.	Erarbeitung	Entwicklung von Ideen zur Erstellung eines eigene KI Projektes und evtl. Umsetzung	Projektphase kann über mehrere Stunden ausgedehnt werden.
15 Min.	Diskussion	Chancen und Risiken Bedeutung für die Softwareentwicklung neue Berufsfelder erkunden	Evtl. mit Internetrecherche
5 Min.	Fazit	Paradigmenwechsel in der Programmierung Daten und der kompetente Umgang damit bilden Grundlagen für Techniken der KI.

A3 Themeneinstieg und theoretische Grundlagen

In der ersten Stunde steht die Hinführung auf das Thema und die Erarbeitung der theoretischen Grundlagen im Fokus. Für eine vertiefte Vermittlung der theoretischen Grundlagen wird auf bereits bestehende Unterrichtsangebote verwiesen z.B. hier:

[2019] Machine Learning. Intelligente Maschinen im Projekt »Medien in die Schule« Materialien für den Unterricht. Hrsg: Freiwillige Selbstkontrolle Multimedia-Dienstanbieter, Google Zukunftswerkstatt (CC BY SA 4.0), https://www.medien-in-die-schule.de/wp-content/uploads/Medien_in_die_Schule_MachineLearning.pdf

Dr. Daniel JANSSEN [2020]: Machine Learning in der Schule. Eine praxisorientierte Einführung in künstliche neuronale Netze, Gesichtserkennung und Co., Hrsg: Science on Stage Deutschland e. V. (CC BY SA 4.0), https://www.science-on-stage.de/sites/default/files/material/machine-learning-in-der-schule_2.auflage.pdf

LINDNER Annabel, Stefan SEEGERER AI Unplugged. Wir ziehen künstlicher Intelligenz den Stecker: Hrsg: Professur für Didaktik der Informatik Friedrich -Alexander - Universität Erlangen - Nürnberg (CC BY NC 3.0)

https://www.aiunplugged.org/german.pdf

Diese können optional begleitend oder ergänzend zur Lernaufgabe eingesetzt werden.

B Lernaufgabe

Bestehend aus zwei Teilen

Präsentation für den Lehrervortrag

Schülerhandout

B1 Unterrichtsbegleitende Präsentation

Starcraft 2: Verbesserte DeepMind-KI schlägt 99,8 % der menschlichen Spieler heise.de, 30.10.2019

AlphaGo besiegt besten Go-Spieler Spiegel.de, 23.5.2017

Amazons KI diskriminiert Frauen im Bewerbungsprozess Zeit.de, 18.10.2018 Zusammenbruch von Demokratien durch KI-gesteuerte Wahlfälschung möglich. Universität Cambridge, Centre for the Study of Existential Risk In: Zeit 20.2.2021 Deepmind löst Proteinfaltungsproblem Spektrum.de, 30.11.2020 Autonomes Fahren – und erste Todesfälle

1. Training

[B1] [B2] [B3] [B4] [B9] [B10] [B11] [B5] [B6] [B7] [B12] [B13] [B14] [B8] [B15] [B16]

untrainiertes	Hund

Wolf	NN

[B27]

Abb.[B27]: „Wölfe und Hunde“, A. Schindler Lizenz CC BY-SA 4.0, Lernaufgabe "KI im Unterricht" unter Verwendung weiterer Quellen (s. Bildnachweis)

1. Test

Hund	trainiertes

NN

[B17]

[B26]

Abb [B17]: "Mi perra Heura observando los patos - Dog Heura observing ducks", ferran pestaña, CC BY-SA 2.0, flickr, verändert von A. Schindler (gespiegelt)

Abb. [B26]: „In-Out“ by Alexander Schindler Lizenz CC BY-SA 4.0, Lernaufgabe "KI im Unterricht"

1. Test

Hund	trainiertes

NN

[B18]

[B26]

Abb. [B18]: "Sausage Dog", Eva Rinaldi Celebrity Photographer, CC BY-SA 2.0., flickr

Abb. [B26]: „In-Out“, Alexander Schindler, Lizenz CC BY-SA 4.0, Lernaufgabe "KI im Unterricht"

1. Test

Wolf	trainiertes

NN

[B26]

[B19]

Abb. [19]: "Cute Pug Easter Bunny Costume" by DaPuglet is licensed with CC BY-SA 2.0., flickr

Abb. [B26]: „In-Out“, Alexander Schindler, Lizenz CC BY-SA 4.0, Lernaufgabe „KI im Unterricht“

Ich bin ein

Wolf.

Aufgabe: Erkläre warum das NN die

Klassifizierung Wolf vornimmt.

[B28]

[B19]

Abb.[B28]: „Hund kein Wolf“, A. Schindler, Lizenz CC BY-SA 4.0, Lernaufgabe „KI im Unterricht“,

unter Verwendung weiterer Quellen (s. Bildnachweis)

1. Aufgaben

Diskutiere mit Deinem Nachbarn eine mögliche Programmlogik zum Unterscheiden von Hunden und Wölfen.

Vergleiche den möglichen Aufwand bei klassischer algorithmischer Programmierung im Vergleich zum Training von NN.

Bewerte die Bedeutung der Daten für das Training von neuronalen Netzen.

Überlege Dir ein eigenes machine learning Projekt.

2. Klassische Programmierung

Daten

Programmierung Antworten

Regeln

Abb. [B0]: „E-V-A“, Alexander Schindler, Lizenz CC BY-SA 4.0, Lernaufgabe "KI im Unterricht"

2. Klassische Programmierung

[B21]

Aufgabe:

Erstelle Regeln, damit der Wumpus die Straße sicher überqueren kann.

Abb. [B21]: „Wumpus und Straße“, Alexander Schindler, Lizenz CC BY-SA 4.0, Lernaufgabe "KI im Unterricht"

2. Klassische Programmierung - Grenzen

?

...und jetzt?	[B30]/[B22]

Abb. [B30]: „Wumpus in Indien“, Alexander Schindler, Lizenz CC BY-SA 4.0, Lernaufgabe "KI im Unterricht", unter Verwendung weiterer Quellen siehe Bildnachweis

2. Klassische Programmierung - Grenzen

Computer	Mensch
addieren	Wölfe und Hunde unterscheiden
…	…

Aufgabe:

Notiere was ein Computer und was ein Mensch gut kann.

3. Gehirn ein Netzwerk aus Neuronen

Art	Anzahl der Neuronen
Fadenwurm	302
Sensorische Neuronen [B25] Biene	960 000
Hund	530 000 000
Schimpanse	6 200 000 000
Mensch	86 000 000 000

Abb. [B25]: "Multidendritic sensory neurons", balapagosis, Lizenz CC BY-SA 2.0, flickr

3. Neuron - Aufbau

Dendrite

Axonhügel

Axonterminale

[B24]	Axon

[B31]

Ab einem bestimmten Schwellenpotential im Axonhügel wird ein Aktionspotential weitergeleitet. Man sagt: “Die Nervenzelle feuert.“

Abb. [B31]: „Neuron“, Alexander Schindler, Lizenz CC BY-SA 3.0, Lernaufgabe „KI im Unterricht“, unter Verwendung weiterer Quellen siehe Bildnachweis

3. Künstliches Neuron mit Gewichten

input a

Gewicht wa

x = Schwellenwert- output y

input b a*wa+b*wb+c*wc funktion

Gewicht wb y(x)

Gewicht wc

input c

Abb. [B32]: „Neuron E-V-A“, Alexander Schindler, Lizenz CC BY-SA 4.0, Lernaufgabe „KI im Unterricht“

4. Machine Learning ML

Daten

Machine Learning Regeln

Antworten

Abb. [B0]: „E-V-A“, Alexander Schindler, Lizenz CC BY-SA 4.0, Lernaufgabe „KI im Unterricht“

4. klassische Programmierung und ML

Abb. [B0]: „E-V-A“, Alexander Schindler, Lizenz CC BY-SA 4.0, Lernaufgabe „KI im Unterricht“

4. Machine Learning ML

[B20]

Daten

Machine Learning trainiertes

neuronales Netzwerk

Antwort:

Katze

Abb. [B0]: „E-V-A“, Alexander Schindler, Lizenz CC BY-SA 4.0, Lernaufgabe „KI im Unterricht“

Abb. [B20]: "fat cat", cuatrok77, Lizenz CC BY-SA 2.0., flickr

4. Machine Learning – all hands on code!

inputMuster = [0,0], [0,1], [1,0], [1,1]

Daten

ML

model = tf.keras.models.Sequential() NN

model.compile(...)

model.fit(inputMuster, outputMuster, ...)

Antworten

outputMuster = [0], [0], [0], [1]

Abb. [B0]: „E-V-A“, Alexander Schindler, Lizenz CC BY-SA 4.0, Lernaufgabe „KI im Unterricht“

4. Schichten mit verbundenen Neuronen

Abb. [B33]:“Densely Connected“, Dr. Annette Bobrik, Lizenz CC BY-SA 4.0, Lernaufgabe „KI im Unterricht“

4. Lernen durch Gewichtsänderung

Abb. [B34]:“LernenDurchGewichtsänderung“, Dr. Annette Bobrik, Lizenz CC BY-SA 4.0, Lernaufgabe „KI im Unterricht“

5. Warum jetzt?

Zunehmende Verbreitung durch:

A - Algorithmen

B - Big Data

C - Computing Power

5. KI / DL zunehmender Einsatz

Medizin: Genetik, Diagnostik (z.B. Brustkrebs)

Wirtschaft: 2025 ca. 31,2 Mrd. US$ Umsatz in Unternehmensanwendungen weltweit

Sprache: Übersetzung (deepl.com), Chatbots, Bewertung juristischer Texte, Spracherkennung (Alexa, Siri, Amazon Echo)

Aktienhandel

Autonome Fahrzeuge

Testfeld Computerspiele (Breakout, Schach, Go, Starcraft 2, usw.)

5. Motivation KI / DL

[...großflächiger Einsatz von künstlicher Intelligenz (KI)“ könnte der Wirtschaftsprüfungs- und Beratungsgesellschaft PwC zufolge in den Gesundheitssystemen in Europa Einsparungen in dreistellliger Milliardenhöhe generieren. KI könnte in der Medizin helfen, schwere Krankheiten wesentlich früher zu erkennen und „Millionen von Menschen besser zu therapieren“. Quelle: aerzteblatt.de, 25. Juli 2017

5. Wie weit werden sich Kis entwickeln?

Wissenschaft

Kunst

Bücher schreiben

Kinofilme

KI-Design

Softwareentwicklung

Management

Soziale Interaktion

Finanzinvestment

Übersetzung

Spracherkennung

Bilderkennung

Jeopardy Schach Go Starcraft

2020 Breakout

Aufgaben:

Bewerte den Einsatz von Deep Learning im Bereich Medizin, Recht, Finanzsoftware, autonomes Fahren.

Bewerte die Unsicherheiten in den Lösungen, die durch DeepLearning entstehen.

….und Deine Meinung?

B2 Arbeitsblätter

Arbeitsweise von neuronalen Netzwerken

Abb. 1: Lernen in einem Neuron mit Gewichten: Der output wird mit einer Schwellenwertfunktion berechnet (z. B. Sigmoid, ReLu, tanh usw.).

Die einzelnen Neuronen werden über verschiedene Ebenen (layer) hinweg miteinander verknüpft. Jede Verknüpfung besitzt ein eigenes Gewicht. Ein einfaches NN besteht aus input layer, hidden layer und output layer.

Abb. 2. Lernen mit vernetzten Neuronen durch Gewichtsänderung. Grüne Pfeile: Richtung des Datenflusses. Braune Pfeile: backpropagation (Fehlerrückführung, Anpassung der Gewichte). Bei jedem Trainingsdurchlauf werden die Gewichte angepasst, bis das gewünschte Ergebnis eintritt. So entsteht ein Modell mit vielen angepassten Gewichten.

Abb. 1: [B32] „Neuron E-V-A“, Alexander Schindler Lizenz CC BY-SA 4.0, Lernaufgabe „KI im Unterricht“

Abb. 2: [B34] “LernenDurchGewichtsänderung“, Dr. Annette Bobrik, CC BY-SA 4.0, Lernaufgabe „KI im Unterricht“

Abb. 3.: Neuronales Netzwerk mit mehreren Ebenen und vielen Neuronen. Jedes Neuron einer Schicht ist mit allen Neuronen der nächsten Schicht verknüpft. Dies nennt man densely connected.

Glossar:

accuracy: Anteil der richtigen Vorhersagen

activation function (Aktivierungsfunktion auch Schwellenwertfunktion z. B. Sigmoid, ReLu, tanh): Art und Weise wie ein Neuron aufgrund bestimmter Eingaben feuert.

epoch (Epoche): Wiederholtes Trainieren derselben Trainingsmuster.

weights (Gewichte): Verbindungsstärken zwischen den Knoten.

learning rate (Lernrate): Höhe der Anpassung der Gewichte pro Epoche.

loss value: Abstand zum zu lernenden Wert (globales Minimum)

overfitting: Netzwerk lernt alle Trainingsmuster auswendig.

overshooting: Bei zu hoher Lernrate kann das Fehlerminimum nicht erreicht werden.

ReLu (Rectified Linear Unit): Funktion kommt dem Feuern eines natürlichen Neurons am nächsten.

Abb. 3: [B33]:“Densely Connected“, Dr. Annette Bobrik, Lizenz CC-BY-SA 4.0, Lernaufgabe „KI im Unterricht“

Quelltext

import tensorflow as tf

# Erstellen der Trainingsdaten

inputMuster = [1, 2, 4]

outputMuster= [3, 6, 12]

# Aufbau des neuronalen Netzwerkes

model = tf.keras.Sequential()

model.add(tf.keras.layers.Dense(1, input_shape=[1]))

model.compile(optimizer='sgd', loss='mean_squared_error')

# trainieren des neuronalen Netzwerkes

model.fit(inputMuster, outputMuster, epochs=20)

# Testen des neuronalen Netzwerkes mit Testdaten

testMuster = [22]

print(model.predict(testMuster))

Aufgaben

Starte deine python IDE (z.b. spyder) und füge das gegebene Programm ein. Führe es aus und finde die Ausgabe, die in Zeile 17 erzeugt wird.

Beschreibe das Ergebnis, welches das neuronale Netzwerk liefert.

Erkläre warum das Ergebnis nicht gleich dem des outputMuster (Zeile 5) ist.

Verändere die Größe der input-/outputMuster. Beschreibe die Auswirkungen. Ermittle dazu sinnvolle Ober-/ Untergrenzen.

Verändere das outputMuster, so dass andere Muster / Operatoren trainiert werden, z.B. Addition.

Verändere die Anzahl der Epochen und erkläre die Auswirkungen. Ermittle dazu sinnvolle Ober-/ Untergrenzen.

Erstelle ein Verfahren mit dem viele verschiedene testMuster geprüft werden können.

Ermittle den Fehlerwert (Abweichung zwischen erwartetem und berechnetem Ergebnis).

Aufgaben

Bei der klassischen algorithmischen Programmierung werden nach einer Analysephase die entsprechenden Regeln in der Software entwickelt. Beim Machine Learning dagegen werden diese Regeln aus den Daten abgeleitet. Bewerte auf diesem Hintergrund die Bedeutung der Daten für Machine Learning.

Beschreibe wie bei der klassischen algorithmischen Programmierung und Machine Learning das Expertenwissen in die Problemlösung einfließt.

Jährlich erkranken in Deutschland (ca. 80 Mio. Einwohner) ca. 70000 Menschen an Brustkrebs. Eine KI erkennt mit einer Sicherheit von 99,9% auf Röntgenbildern Brustkrebs. Bewerte die Eignung der KI zur Brustkrebsvorsorge.

Aufgrund der Vielzahl der Bewerber in einer großen IT-Firma soll eine KI die Bewerber auswählen, die zu einem Vorstellungsgespräch eingeladen werden. Als Trainingsdaten dienen die besten Mitarbeiter der Firma.

Zur großen Überraschung sind alle eingeladenen Bewerber jung, männlich und weiß. Die Gleichstellungsbeauftragte der Firma bricht daraufhin den Bewerbungs­prozess mit der Begründung ab: „Künstliche Intelligenzen sind rassistisch.“ Bewerte diese Einschätzung und begründe Deine Antwort.

Stelle dar, wie man verhindern kann, dass eine KI rassistische Entscheidungen trifft.

C Bezug zum Rahmenlehrplan

C1 Didaktischer Kommentar

Ziel der Aufgabe ist es, den Schülern einen Einstieg in die Programmierung von Neuronalen Netzwerken (NN) zu ermöglichen. Erst die eigene Programmierung eines NN ermöglicht den Schülern ein vertieftes Verständnis für die Funktion, Möglichkeiten und Risiken von KI.

Der Code ist so einfach wie möglich gehalten, damit der Einstieg in die Programmierung mit TensorFlow leicht fällt und auch im Informatikunterricht der Sek I möglich ist. Der Code bietet Anknüpfungspunkte zum Arbeiten mit Schleifen, if-Abfragen und Listen und lässt sich somit auch für den Anfängerunterricht einsetzen. Die Aufgabe ist skalierbar, d.h. sie kann um eigene Ideen (z.B. Datensätze, Problemstellungen) erweitert werden und sie kann somit Basis für eigene Projekte sein.

Nicht zuletzt ist mit der Thematisierung von KI ein Ausblick auf die Auswirkungen von KI auf die eigene Lebenswelt der Schüler möglich und somit ist die Aufgabe auch im Bereich Informatik und Gesellschaft zu verorten.

Lernervoraus- setzungen	Die SuS können einfache Algorithmen in Python programmieren. oder: besitzen vertiefte Programmierkenntnisse in einer anderen Programmiersprache Die SuS können mit Variablen umgehen. Die SuS haben eine grundlegende Vorstellung von Algorithmen und Datenstrukturen. Die SuS können eine IDE benutzen.

C2 Bezüge zum Rahmenlehrplan Informatik

Kompetenzen	Standards (Die Schülerinnen und Schüler können.…)
Mit Fachwissen umgehen	Bezug zum RLP Sek I: Kompetenzbereich: Informatisches Modellieren Kompetenz: Informatische Modelle analysieren und bilden Standard F: informatische Modelle als reduzierte Abbildung der realen Welt beschreiben und beurteilen Standard G: ein Modell selbst erstellen
Erkenntnisse gewinnen	Die SuS können Modelle selbst erstellen und mit NN umgehen.
Kommunizieren	Bezug zum RLP Sek I: Kompetenzbereich: Kommunizieren und Kooperieren – Teamarbeit organisieren und koordinieren Kompetenz: Arbeitsergebnisse dokumentieren und präsentieren Standard G: adressatengerecht mit Softwareunterstützung präsentieren
Bewerten	Bezug zum RLP Sek I: Kompetenzbereich: Informatisches Modellieren Kompetenz: Informatische Modelle analysieren und bilden Standard F: informatische Modelle als reduzierte Abbildung der realen Welt beschreiben und beurteilen Standard H: beurteilen, ob das selbst erstelle Modell problemadäquat ist

Unterrichtsfach	Informatik
Jahrgangsstufe/n	Sek I: 10 Sek II: IN-3
Niveaustufe/n	Bezug zum RLP Sek I: Kompetenzbereich: Informatisches Modellieren Kompetenz: Informatische Modelle analysieren und bilden Standard F: informatische Modelle als reduzierte Abbildung der realen Welt beschreiben und beurteilen Standard G: ein Modell selbst erstellen Standard H: beurteilen, ob das selbst erstelle Modell problemadäquat ist Bezug zum RLP Sek II: 3. Kurshalbjahr (IN-3) Grundlagen der Informatik und Vertiefungsgebiet: V5 Künstliche Intelligenz
Zeitrahmen	1 Doppelstunde: Motivierender Einstieg + Theorie 2 Doppelstunde: Beispiel / Programmierung 3. Doppelstunde: Beispiel / Programmierung, Reflexion
Thema

Kontext	Beruf und Arbeitswelt Überwachung Robotik autonome Agenten Gesellschaft
Schlagwörter	Programmierung, Informatik und Gesellschaft, Informatiksystem verstehen, Problemlösen, mit Informationen umgehen, Modellbildung, künstliche Intelligenz, KI, Deep Learning, DL, TensorFlow, Keras, Python, Daten

C3 Bezüge zum Basiscurriculum Medienbildung1 vgl. Rahmenlehrplan Jahrgangsstufen 1-10, Teil B, S. 15-22, Berlin, Potsdam 2015

Standards des BC Medienbildung	Die Schülerinnen und Schüler können …
Präsentieren	Arbeitsergebnisse vorstellen Reflektierter Technologieeinsatz
Reflektieren	Chancen und Risiken von Geschäftsaktivitäten im Internet untersuchen und Schlussfolgerungen für eigene Geschäftsaktivitäten ziehen. Die Möglichkeiten und Methoden medialer Manipulation exemplarisch analysieren. An aktuellen und historischen Beispielen den ökonomischen und politischen Einfluss von Medien(-konzernen) auf Meinungsbildungsprozesse in der Gesellschaft exemplarisch analysieren.

C4 Bezüge zu übergreifenden Themen2 vgl. Rahmenlehrplan Jahrgangsstufen 1-10, Teil B, S. 24ff, Berlin, Potsdam 2015

Berufs-und Studienorientierung	Dataanalyst, Data Scientist, , Machine Learning Engineer, Softwareentwickler
Verbraucherbildung	Präsenz von neuronalen Netzen in alltäglichen Geräten, Anwendungen

C5 Bezüge zu anderen Fächern:

Biologie: Aufbau und Verhalten eines Neurons, DNA Analyse mit NN

Physik: Handhaben großer Datenmengen

Mathematik: Modellieren von Aktivierungsfunktionen

Gesellschaftswissenschaften: Einsatz von NN in Medizin, Interaktion von NN und Menschen

D Anhang

D1 „Material“ für den Einsatz dieser Lernaufgabe

Für SchülerInnen Python IDE (derzeit April 2021 ab Version 3.8, 64 Bit) mit installierter TensorFlow (ab 2.0) Bibliothek

D2 Musterlösung der Lernaufgabe und Hinweise

Für die Entwicklung mit TensorFlow hat sich Spyder bewährt.

Das NN liefert immer nur eine Annäherung an das erwartete Ergebnis. Z.B. 3* 22 = 66 das NN ermittelt aber: 65.13508

Durch das Lernen mit Gewichten und der graduellen Gewichtsänderung in jedem Lernschritt in Abhängigkeit von einer Lernrate wird das globale Fehlerminimum immer nur angenähert.

Je mehr Trainingsdaten vorhanden sind umso weniger Epochen werden benötigt um das NN zu trainieren.

Beispiele für trainierbare Muster:

# +1

inputMuster = [1,2,4]

outputMuster = [2,3,5]

# -1

inputMuster = [1,2,4]

outputMuster = [0,1,3]

# *11

inputMuster = [4,2,1]

outputMuster = [44,22,11]

Sollte beim Training wieder erwarten der loss value immer weiter ansteigen kann es helfen, die Daten zu normalisieren oder die loss function zu ändern (s.u.)

Je größer die Anzahl der Epochen ist umso genauer ist üblicherweise das vom NN ermittelte Ergebnis.

Epochen	Loss (beispielhaft)
1	67.0646
5	1.576
10	0.3907
100	0.3339
200	0.0222

Eine Schleife um die Zeilen 16/17 erlaubt das Testen mit vielen Werten.

# Model mit vielen Werten testen

test = 1

while test < 20:

testMuster = [test]

print(model.predict(testMuster))

test = test + 1

Der Fehlerwert berechnet sich als Abstand des erwarteten Ergebnis vom durch das NN ermittelten ergebnis. Die Codezeilen 16/17 könnten folgendermaßen erweitert werden:

# Fehlerwert Berechnung

testMuster = [22]

vorhersage = model.predict(testMuster)

fehlerwert = (22*3) - vorhersage

print("Vorhersage =", vorhersage, " Fehlerwert =", fehlerwert)

Normalisierung

Sollten die Fehlerwerte während des Trainings immer größer anstatt kleiner werden ist der erste Schritt zur Problemlösung die Trainingsdaten zu normalisieren.

Hintergrund: NN werden üblicherweise nur mit Zahlen zwischen 0 und 1 trainiert. Mit anderen Zahlen kann es zu Problemen kommen

Ab Codezeile 6 könnte eine Normalisierung so programmiert werden:

# Normalisieren der Daten

if max(inputMuster) > max(outputMuster):

maxWert = max(inputMuster)

else:

maxWert = max(outputMuster)

inputMuster = [i / maxWert for i in inputMuster]

outputMuster = [i / maxWert for i in outputMuster]

Loss Functions

Das Wechseln der loss function kann bessere Ergebnisse liefern. Welche loss function man auswählt beruht auf Erfahrung und auf Versuch und Irrtum.

Es empfiehlt sich hier den Aufbau der TensorFlow API www.tensorflow.org/api_docs/python/tf/all_symbols zu thematisieren.

Weitere loss functions finden sich hier:s www.tensorflow.org/api_docs/python/tf/keras/losses

Bsp. Änderung in Codezeile 10:

model.compile(optimizer='sgd', loss='mean_absolute_error')

D3 Quellen / Lektüreliste zum Weiterlesen

[2019] Machine Learning. Intelligente Maschinen im Projekt »Medien in die Schule« Materialien für den Unterricht. Hrsg: Freiwillige Selbstkontrolle Multimedia-Dienstanbieter, Google Zukunftswerkstatt (CC BY SA 4.0), https://www.medien-in-die-schule.de/wp-content/uploads/Medien_in_die_Schule_MachineLearning.pdf

Dr. Daniel JANSSEN [2020]: Machine Learning in der Schule. Eine praxisorientierte Einführung in künstliche neuronale Netze, Gesichtserkennung und Co., Hrsg: Science on Stage Deutschland e. V. (CC BY SA 4.0), https://www.science-on-stage.de/sites/default/files/material/machine-learning-in-der-schule_2.auflage.pdf

LINDNER Annabel, Stefan SEEGERER AI Unplugged. Wir ziehen künstlicher Intelligenz den Stecker: Hrsg: Professur für Didaktik der Informatik Friedrich -Alexander - Universität Erlangen - Nürnberg (CC BY NC 3.0)

https://www.aiunplugged.org/german.pdf

Für den unterrichtlichen Einsatz von KI ohne Computer.

DERU, Matthieu, Alassane NDIAYE [2019] Deep Learning mit TensorFlow, Keras und TensorFlow.js

Einführendes Buch mit vielen praktischen Beispielen.

RASHID, Tariq [2016]: Neuronale Netze selbst programmieren

Autor verfolgt einen anderen Ansatz und programmiert Schritt für Schritt ein eigenes neuronales Netzwerk in Python ohne TensorFlow.

RUSELL, Stuart, Peter NORVIG [216]: Artificial Intelligence.

Grundlagen zu KI, sehr akademisch

TEGMARK, Max [2019]: Leben 3.0, Mensch sein im Zeitalter Künstlicher Intelligenz

Überraschendes und Nachdenkliches zu KI. Als Bettlektüre geeignet.

D4 Bildnachweise

Bildtitel	Seite	Quelle
[B0]	1/52, 16, 23, 24, 25, 26	„E-V-A“, Alexander Schindler, Lizenz CC BY-SA4.0, Lernaufgabe "KI im Unterricht"
[B1]	10, 14	"Feb 5, 2009 - Grey Wolf", Dennis from Atlanta,Lizenz CC BY-SA 2.0, Abgerufen: 7.01.2021 https://search.creativecommons.org/photos/e9ca0d87-a6ae-4b66-9c03-ae806dda713e https://www.flickr.com/photos/89116575@N00/3260507529
[B2]	10, 14	"File:Beringian wolves diorama.jpg", William Harris, Lizenz CC BY-SA 4.0, Abgerufen: 7.01.2021 https://search.creativecommons.org/photos/c97043ba-9fce-403f-958d-a4c88af2b25a https://commons.wikimedia.org/w/index.php?curid=57085970
[B3]	10, 14	"Drift", Katie@!, Lizenz CC BY-SA 2.0, Abgerufen: 7.01.2021 https://search.creativecommons.org/photos/de311eee-b745-4802-8bc2-f42a4df2e34e https://www.flickr.com/photos/62223337@N00/2125990814
[B4]	10, 14	"Winter Wolf iPhone wallpaper", xploitme, Lizenz CC BY-SA 2.0, Abgerufen: 7.01.2021 https://search.creativecommons.org/photos/c78c6b2b-b38c-4f3d-b9a3-24b9b642c36c https://www.flickr.com/photos/45928872@N08/4272568627
[B5]	10, 14	"Timber Wolves Fighting", Martin Cathrae, Lizenz CC BY-SA 2.0, Abgerufen: 7.01.2021 https://search.creativecommons.org/photos/fb9146a7-8755-4d70-8f45-a55824fbebbc https://www.flickr.com/photos/34067077@N00/6980791925
[B6]	10, 14	"Angry Kane", Katie@!, Lizenz CC BY-SA 2.0, Abgerufen: 7.01.2021 https://search.creativecommons.org/photos/1632b573-ec39-490b-8aab-1d6d9030f3bf https://www.flickr.com/photos/62223337@N00/2125992386
[B7]	10, 14	"130413_Wen_odfw", Oregon Department of Fish & Wildlife, Lizenz CC BY-SA 2.0, Abgerufen: 7.01.2021 https://search.creativecommons.org/photos/ae496e13-4c57-4836-93a0-f5081cb2dd14 https://www.flickr.com/photos/39743308@N07/16674010473
[B8]	10, 14	"Timber Wolf", Martin Cathrae, Lizenz CC BY-SA 2.0, Abgerufen: 7.01.2021 https://search.creativecommons.org/photos/260aa0d7-a7e3-4ba5-9a77-554e8a61bf95 https://www.flickr.com/photos/34067077@N00/6980789329
[B9]	10, 14	"dog", jmorgan, Lizenz CC BY-SA 2.0, Abgerufen: 7.01.2021 https://search.creativecommons.org/photos/f0ec92e5-c99c-4866-b8ee-257bed98fa54 https://www.flickr.com/photos/68776313@N00/5164287
[B10]	10, 14	"dog+steak=awesome", eschipul, Lizenz CC BY-SA 2.0, Abgerufen: 7.01.2021 https://search.creativecommons.org/photos/5575b3e5-df3d-4d97-a465-bd0e3753084a https://www.flickr.com/photos/16638697@N00/4442330781
[B11]	10, 14	"Dog", Alex Tyrey, Lizenz CC BY-SA 2.0, Abgerufen: 7.01.2021 https://search.creativecommons.org/photos/bf2ebf9a-70c7-487b-952a-2869c23646f9 https://www.flickr.com/photos/116854444@N05/16657637135
[B12]	10, 14	"dog", jeff_ro is licensed, Lizenz CC BY-SA 2.0, Abgerufen: 7.01.2021 https://search.creativecommons.org/photos/8100677c-e645-40c7-8dc1-f8c67bdd0433 https://www.flickr.com/photos/60968619@N05/6312937936
[B13]	10, 14	"The dog", elsamuko, Lizenz CC BY-SA 2.0, Abgerufen: 7.01.2021 https://search.creativecommons.org/photos/b605237a-4358-4b9c-b76b-2b377fde6127 https://www.flickr.com/photos/28653536@N07/6782796389
[B14]	10, 14	"Dog chillin' with red sunglasses", rollanb, Lizenz CC BY-SA 2.0, Abgerufen: 05.05.2021 https://search.creativecommons.org/photos/b8915450-c5b3-4a92-bf67-7f73e0477d80 https://www.flickr.com/photos/25866036@N05/3545177630
[B15]	10, 14	"Smiling Dog", Adam Greig, Lizenz CC BY-SA 2.0, Abgerufen: 7.01.2021 https://search.creativecommons.org/photos/ce828319-b9e4-4976-80c8-6b9be59e164f https://www.flickr.com/photos/7320302@N07/421056393
[B16]	10, 14	"Dog in a Shelter", spotreporting, Lizenz CC BY-SA 2.0, Abgerufen: 7.01.2021 https://search.creativecommons.org/photos/c769a706-e8a2-49c9-a35b-d97bb1c0b4f6 https://www.flickr.com/photos/29792566@N08/5245317540
[B17]	11	"Mi perra Heura observando los patos - Dog Heura observing ducks", ferran pestaña, Lizenz CC BY-SA 2.0, Abgerufen: 7.01.2021 https://search.creativecommons.org/photos/0d1d5b38-10d3-47d7-962c-ee137a190c7d www.flickr.com/photos/57956171@N00/249920052
[B18]	12	"Sausage Dog", Eva Rinaldi Celebrity Photographer, Lizenz CC BY-SA 2.0, Abgerufen: 7.01.2021 https://search.creativecommons.org/photos/4b2bef1c-b522-4a02-8e65-1a733946656d https://www.flickr.com/photos/58820009@N05/6719107007
[B19]	13, 14	"Cute Pug Easter Bunny Costume", DaPuglet, Lizenz CC BY-SA 2.0. Abgerufen: 7.01.2021 https://search.creativecommons.org/photos/4169ca0c-6232-49fa-a485-2eb5fe4bc775 https://www.flickr.com/photos/43810158@N07/8507910835
[B20]	25	"fat cat", cuatrok77, Lizenz CC BY-SA 2.0. Abgerufen: 15.01.2020 https://search.creativecommons.org/photos/0ab7ce1c-e8c0-4c09-8ab3-ced11728b17e https://www.flickr.com/photos/69573851@N06/7158001813
[B21]	17	„Wumpus und Straße“, Alexander Schindler, Lizenz CC BY-SA 4.0, Lernaufgabe „KI im Unterricht“
[B22]	18	"World Class Traffic Jam", joiseyshowaa, Lizenz CC BY-SA 2.0, Abgerufen: 05.05.2021 https://search.creativecommons.org/photos/c52cdd25-e8ec-4a77-8653-75424dd5e4d1 https://www.flickr.com/photos/30201239@N00/2402764792
[B23]	30	Abbildungstitel: Entwicklung der Künstlichen Intelligenz, In: Teich, I.: Meilensteine der Entwicklung Künstlicher Intelligenz. Informatik Spektrum 43, 276–284 (2020). Abgerufen: 05.05.2021 Open Access. Dieser Artikel wird unter der CC BY4.0 veröffentlicht, https://doi.org/10.1007/s00287-020-01280-5
[B24]	21	"File:Neuron-no labels.png", Selket, Lizenz CC BY-SA 3.0, Abgerufen: 12.01.2020 https://search.creativecommons.org/photos/7ec60f0d-1a12-4f2a-add3-d135e5a0a7a7 https://commons.wikimedia.org/w/index.php?curid=1622806
[B25]	20	"Multidendritic sensory neurons", balapagosis, Lizenz CC BY-SA 2.0, Abgerufen: 12.01.2020 https://search.creativecommons.org/photos/243f7ace-2d8e-41d7-8f62-e855055a5cfa https://www.flickr.com/photos/29945479@N07/3017618545
[B26]	11, 12, 13	„In-Out“, Alexander Schindler, Lizenz CC BY-SA 4.0, Lernaufgabe „KI im Unterricht“
[B27]	10	[B27]: „Wölfe und Hunde“, Alexander Schindler, Lizenz CC BY-SA 4.0, Lernaufgabe „KI im Unterricht“ unter Verwendung weiterer Quellen [B1], [B2], [B3], [B4], [B5], [B6], [B7], [B8], [B9], [B10], [B11], [B12], [B13], [B14], [B15], [B16], siehe Bildnachweis
[B28]	14	„Hund kein Wolf“, Alexander Schindler, Lizenz CC BY-SA 4.0, Lernaufgabe „KI im Unterricht“ unter Verwendung weiterer Quellen [B1], [B2], [B3], [B4], [B5], [B6], [B7], [B8], [B9], [B10], [B11], [B12], [B13], [B14], [B15], [B16], siehe Bildnachweis
[B30]	18	„Wumpus in Indien“, Alexander Schindler, Lizenz CC BY-SA 4.0, Lernaufgabe „KI im Unterricht“ unter Verwendung weiterer Quellen [B22] siehe Bildnachweis
[B31]	21	„Neuron“, Alexander Schindler, Lizenz CC BY-SA 3.0, Lernaufgabe „KI im Unterricht“unter Verwendung weiterer Quellen [B24] siehe Bildnachweis
[B32]	22, 35/52	„Neuron E-V-A“, Alexander Schindler, Lizenz CC BY-SA 4.0, Lernaufgabe „KI im Unterricht“
[B33]	27, 36/52	“Densely Connected“, Dr. Annette Bobrik, Lizenz CC BY-SA 4.0, Lernaufgabe „KI im Unterricht“
[B34]	28, 35/52	“LernenDurchGewichtsänderung“, Dr. Annette Bobrik, CC BY-SA 4.0, Lernaufgabe „KI im Unterricht“