Gulasch, Räuber, kommunikativer Sexismus

Abendessen war Wildschweingulasch, um die Heizperiode einzuleiten:

Dazu Böhmische Knödel, fast so gut wie in meiner Kindheit. Ich habe allerdings weniger Rollmuster innen in Erinnerung. Das Rote ist Moosbeerenmarmelade, gesammelt, gemacht und geschenkt bekommen vom lieben Kollegen.

Als Nachtisch gab es doch noch Sommerliches: Zum ersten Mal Wassermelone aus dem Kartoffelkombinat, unserer Anbaugenossenschaft.

War sehr süß, sehr lecker.


In der Schule in der 10. Klasse Die Räuber gemacht. Eigentlich ist ja gerade Lyrik, aber da habe ich Übungsaufsätze gekriegt, und Drama kommt bei vielen besser an – ich finde das Stück auch sehr zugänglich. Erste Szene, Besetzungsfragen: der alte Moor klischeehaft dick (gemütlich, gutwillig) oder dünn (zerbrechlich, alt)? Der Schülervorschlag Leonardo di Caprio als Franz Moor wurde mehrheitlich abgelehnt, große Zustimmung dagegen für Tom Hiddleston (“Loki”). Kunststück: der intrigante, verschlagene, eifersüchtige Bruder ist ja fast die gleiche Konstellation. Als Nächstes wurde dann Wurmzunge aus dem Herrn der Ringe – und anscheinend auch der Hobbit-Verfilmung – vorgeschlagen, passt auch. (Wurm aus Kabale und Liebe habe ich für mich behalten.)


In Deutsch 11, auch als Vorbereitung auf die Dramenanalyse, Zeichen- und Kommunikationsmodelle gemacht. Angefangen mit der Bibel:

Denn als Gott der Herr gemacht hatte von der Erde allerlei Tiere auf dem Felde und allerlei Vögel unter dem Himmel, brachte er sie zu dem Menschen, dass er sähe, wie er sie nennte; denn wie der Mensch allerlei lebendige Tiere nennen würde, so sollten sie heißen. Und der Mensch gab einem jeglichen Vieh und Vogel unter dem Himmel und Tier auf dem Felde seinen Namen

(1. Mose 2)

Dann Probleme gezeigt, warum das so einfach nicht geht mit der 1:1‑Zuordnung von Dingen und Wörtern. Ganz kleiner Exkurs, man hat ja Bildungsauftrag: Da der Mensch näher mit den Goldfischen verwandt ist als die Goldfische mit den Haien, ist der Begriff “Fisch” allein schon nicht ganz einfach. Es gibt Knorpelfische (Haie, Rochen) und Knochenfische, und da wiederum Strahlenflosser (Goldfische) und Fleischflosser (Quastenflosser), und zu letzteren letztlich auch die Tetrapoden/Landwirbeltiere…

Organonmodell ganz kurz, Schulz von Thun, Roman Jakobson. Ist alles auch im Schulbuch, aber nicht sehr verständlich dort, finde ich. Und am Ende Sprechakttheorie nach Austin/Searle, erweitert um die phatische Funktion bei Jakobson. Das können die Schüler und Schülerinnen alles bei der Dramenanalyse heranziehen, wenn es sich anbietet, sie müssen aber nicht.

Mir war es wichtig, dass sie verschiedene Modelle gezeigt bekommen, auch wenn ein Arbeitsblatt am Schluss klar macht, welche Elemente ich für sie für die Schule für am geignetsten halte. Denn es ist ja nicht so, dass alle Nachrichten vier Seiten haben, sondern: nach dem Modell von, zum Beispiel, Schulz von Thun ist das jeweils der Fall. Andere Modelle machen das anders, und manche Modelle sind für manche Zwecke geeigneter als andere.

Vier Seiten einer Nachricht, Wikipedia, gemeinfrei
Roman Jakobson, Functions of Language, Wikipedia, gemeinfrei

Mit Schulz von Thun bin ich nie so recht warm geworden. Der Unterschied zwischen den Aspekten ist mir nicht immer klar, und die phatische Funktion fehlt. Außerdem sind die Standardbeispiele dann doch irgendwie sexistisch. “Was ist das Grüne in der Soße?”/“Mein Gott, wenn es dir nicht schmeckt, kannst du ja selber kochen.” Die Frau kocht für den Mann und ist auch noch zickig, weil sie seine harmlose Frage missversteht. Anderes Beispiel, bei dem ich nicht weiß, ob es von Schulz von Thun ist, aber es ist auch im Schulbuch: “Du, da vorne ist Grün!”/“Fährst du oder fahre ich?” Da ist es egal, wer am Steuer sitzt, Hauptsache, das eine ist ein Mann und das andere eine Frau.

Es hilft gar nicht, dass der unmittelbar folgende Abschnitt des Schulbuchs (2008) den unsäglichen Mario Barth und sein heiteres Wörterbuch “Deutsch-Frau, Frau-Deutsch” präsentiert. Die Arbeitsaufträge dazu sind nicht besonders kritisch:

  1. Der Autor karikiert das Verhalten eines Paares. Warum misslingt hier die Verständigung?
  2. Tragen Sie eigene Erfahrungen und Beobachtungen zum Gesprächsverhalten von Männern und Frauen zusammen. Vergleichen Sie Ihre Ergebnisse.

Da kann etwas Gutes herauskommen dabei, aber man müsste mindestens auch über die Gründe für das andere Gesprächsverhalten sprechen. Ich glaube übrigens nicht, dass Lehrer und Lehrerinnen sich da unterschiedlich im Klassenzimmer verhalten. Fachabhängige Unterschiede sehe ich eher, und dass Lehrer im Lehrerzimmer eher die Lehrerinnen unterbrechen als umgekehrt, das stimmt wohl schon.

(Nachtrag: Sprechaktanalyse dann geübt anhand von Loriotsketch.)

Die dritte Schulwoche 2020/21 beginnt…

Herr Mess beschreibt schön seine Schulwoche. Fisherman’s Friends unter der Maske… muss ich auch mal probieren.

Hier dauert es etwas, bis ich Muße zum Bloggen finde. Heute der erste Tag ohne Maskenpflicht im Klassenzimmer. In München gibt es zwar Maskenpflicht in der Schule und der Fußgängerzone und Auflagen für Versammlungen und Gastwirtschaften, aber ich wohne ja nur hier und arbeite in Fürstenfeldbruck, wo die Zahlen niedrig sind. Ich habe die Maske immer noch fast den ganzen Schultag an, mindestens solange ein Schüler oder eine Schülerin auch Maske trägt, und das war letztlich immer so.

Letzten Donnerstag war übrigens (freiwillige) Reihentestung für Lehrkräfte und Angestellte.

Heute zum ersten Mal “Englische Konversation” gehabt. Davor ein bisschen recherchiert, wie andere Schulen das handhaben – interessant, ein Gymnasium bietet (wie wir) zwei Kurse an, die differenzieren aber nach Vorbereitung auf externe mündliche Prüfungen einerseits, und letztlich nach Filmtheorie und ‑geschichte andererseits. Auch reizvoll.

Ich wusste nämlich nicht so recht, was ich machen sollte. Ich bilde mir ein, nie groß planen zu können, solange ich eine Klasse oder einen Kurs nicht kenne – reden die gerne, oder nicht, sind die mufflig, oder fröhlich, gut, schlecht, ängstlich? Außerdem will ich einerseits keine Solitär-Doppelstunde machen, sondern etwas, an dem ich anknüpfen kann; andererseits will ich mir am Anfang kein großes Projekt anfangen, aus dem dann doch nichts wird.

Also erst einmal Vorstellungsrunde mit Inigo Montoya: “Hello. My name is Inigo Montoya. You killed my father. Prepare to die.” ist ja ein bekanntes Filmzitat und Mem und außerdem eine so gute Veranschaulichung der Small-Talk-Vorstellung auf Konferenzen, dass es “Hello, my name is”-Konferenzaufkleber mit diesem Zitat gibt. (1. Sag deinen Namen, 2. Sag etwas über dein Verhältnis zum anderen, 3. Sag etwas über dein Projekt oder deine Pläne.) Das haben wir dann geübt.

Englische Konversation: Ich weiß noch nicht, wie viel die miteinander reden sollen, coronamäßig. Partner- und Gruppenarbeit war bisher verboten, ich nehme an, das gilt plötzlich nicht mehr?

Erste Schulwoche 2020/21

Lief gut, unter den Umständen. Ich hatte vergessen, wie viel Absprachebedarf am Anfang jedes Schuljahres es gibt: Deutsch 10 bespricht gemeinsames Vorgehen, Deutsch 11 ebenso; erstes Treffen des Medienteams. Nächste Woche zweites Medienteam-Treffen, Mebisschulungen für alle 5. Klassen – damit auch die halbwegs vorbereitet sind, wenn die Schule oder die Klasse oder die Jahrgangsstufe halb oder ganz von zu Hause aus unterrichtet wird. Schön, wie Systembetreuung und manche Kolleginnen da schon vorarbeiten: Passwörter für Computerraum und Mebis haben sie alle, erste kleine Aufgaben gab es teilweise auch schon.

Die eigenen Mebiskurse hübsch gemacht: Abschnitte und Unterabschnitte, klassenspezifischer Link zu Videokonferenz, E‑Mail-Adresse. Mit allen Klassen, in denen ich bisher war, sichergestellt, dass alle eine E‑Mail-Adresse eingetragen haben, und erste Aufgaben gestellt. Kleineres Updateproblem: Die Namen einiger Schüler und Schülerinnen sind falsch im System, nämlich bei bestimmten Sonderzeichen oder, mein Favorit, Akzent+Leerzeichen statt Apostroph. Die haben wir letztes Jahr korrigiert, aber diese alten Accounts sind automatisch durch neue, in falscher Schreibung, ersetzt worden. Das heißt, wir lassen jetzt mal die falsche Schreibung.

Von meinen acht Klassen oder Kursen dieses Jahr führe ich vier aus dem Vorjahr fort. Dazu zwei neue Oberstufen, zwei neue Unterstufeninformatik. Zu ersteren gehört auch ein Kurs englische Konversation, den es bei uns seit etlichen Jahren gibt, den ich aber noch nie unterrichtet habe. Nur mündliche Klausuren; wohl überhaupt nur mündliche Noten. Mal schauen.

In Deutsch 11 kurz Aufklärung wiederholt, ausgehend vom Begriff der Unmündigkeit, mit dem Kants berühmter Aufsatz beginnt. Dann: was heißt selbst zu denken? Woher weiß man, dass etwas wahr ist? Autoritäten, Empirismus, Rationalismus, Offenbarung; QAnon, Verschwörungsspinner, Mainstreammedien (←wir mögen sie).

Maskentragen läuft okay. Die Schüler und Schülerinnen sind sehr diszipliniert; wenn die Nase raushängt, ist das eher eine schlecht sitzende Maske als Absicht. Die Pausenbereiche sind nach Jahrgangsstufen getrennt, zumindest bei der 5. Klasse, wo ich bisher Aufsicht hatte, sind die Masken aber meist unten – schon mal, weil die dauernd essen und trinken, was ja verständlich und völlig in Ordnung ist. Abstand geht natürlich gar nicht wirklich.

Die vorläufigen Lehrerfotos für dieses Jahr – weil noch etliche fehlen, habe ich mal probeweise Masken auf jedes Gesicht gemalt:

Das Unterrichten mit Maske ist bisher schwieriger, aber nur etwas. Ich rede laut genug; die Schüler und Schülerinnen reden mir zu leise, behaupten aber auf Nachfrage, einander zu verstehen (jedenfalls auch nicht schlechter als sonst; sie reden ja immer zu leise). Wenn jemand redet, sehe ich allerdings nicht, wer redet – das ist im unübersichtlichen Computerraum ein Problem, so dass ich plane, in zumindest einer Klasse weitgehend wortlos zu arbeiten – Rechner anmachen, Arbeitsauftrag bei Mebis herunterladen, arbeiten.

Im Lehrerzimmer trinke ich weniger Kaffee als sonst, weil ich dazu die Maske abnehmen muss. Bis jetzt ist nur noch eine Woche allgemeine Maskenpflicht in bayerischen Schulen; zumindest für München wird das hoffentlich beibehalten – dort steigen die Zahlen. Aber ich arbeite ja nicht in München. Kommende Woche gibt es freiwillige Reihentests für alle Mitarbeiter und Mitarbeiterinnen an meiner Schule.

Distanzunterricht in Bayern – Rahmenkonzept (01.09.2020)

Auf den Seiten des Kultusministerium findet sich eine einseitige Kurzfassung (pdf) eines längeren Dokuments, das man da und dort im Web findet; ich weiß aber nicht, ob es wirklich öffentlich ist. Dieses Dokument legt für das kommende Schuljahr fest, wie die Schulen damit umgehen sollen, wenn Schulgebäude aufgrund der Pandemie ganz geschlossen werden müssen oder der Unterricht nur in halben Klassen stattfinden kann.

Zusammengefasst: Das Rahmenkonzept für den Distanzunterricht ist ein bisschen enttäuschend, aber ich hätte es vermutlich nicht anders gemacht.

1. Der Rahmenplan für den Distanzunterricht orientiert sich grundsätzlich am Stundenplan für den Präsenzunterricht.

“Grundsätzlich” mag ich, das lässt begründete und sinnvolle Ausnahmen zu. Orientierung am Stundenplan heißt: Wenn an diesem Tag Englisch ist, soll sich die Englischlehrkraft an diesem Tag auch irgendwie melden. Man kann auch einen Wochenplan machen, aber dann soll drin stehen, was an welchem Tag zu machen ist. Das scheint mir ein sinnvoller Kompromiss zu sein, weil das ja nicht sein, dass die Schülerin das auch an genau dem Tag machen muss.

2. Jeder Tag beginnt mit einem (virtuellen) „Startschuss“ – z. B. mit einem „Guten-Morgen-E-Mail“ oder einer Videokonferenz.

Der Grund kann nur der sein, dass manche Schüler und Schülerinnen sonst nicht aus dem Bett kommen, sondern gammeln. Die haben wohl den Schuss nicht gehört! Mit dem Startschuss sollen die Kinder dann die Arbeitsaufträge für diesen Tag kriegen, und einen Überblick über Termine.

Der Startschuss ist auch zu feuern, wenn die Hälfte der Klasse zu Hause ist. Wie man das macht, bleibt den Schulen überlassen. Minimalform: An diesem Tag enden Abgabefristen für Aufgaben-Einreichungen. Ziel: Auch die Schüler und Schülerinnen zu Hause dürfen nicht einfach später oder im Urlaub arbeiten. Ich verstehe das, weil schwache (nicht unbedingt: junge) Schüler und Schülerinnen mit dieser Freiheit überfordert sind.

“Weckruf” war zu pathetisch, oder zu nah an der Wahrheit?

3. Die Schülerinnen und Schüler sind zur aktiven Teilnahme am Distanzunterricht verpflichtet (vgl. Art. 56 Abs. 4 Satz 3 BayEUG).

Das heißt – beispielsweise – Anwesenheitskontrollte, irgendwie, am besten gleich mit dem Startschuss. Wenn die ganze Schule sich gleichzeitig bei Mebis oder Teams oder dem schuleigenen System einloggt, um Guten Morgen zu sagen, wird das nicht gutgehen. Aber Schüler und Schülerinnen können die Anwesenheitskontrolle auch per Telefon oder E‑Mail vornehmen.

Die virtuelle Anwesenheitskontrolle muss man auch machen, wenn nur die Hälfte der Klasse zu Hause ist: Auch die müssen früh aufstehen. Dass das schwieriger wird, technisch, ist klar. Wer soll das machen – die Lehrkräfte sind ja alle im Unterricht. Es wird also darauf herauslaufen, dass die zu Hause irgendwo einchecken, also die virtuelle Stechuhr betätigen, und dann ihre Aufträge abarbeiten – die sie wahrscheinlich schon in den Tagen zuvor als Wochenaufgabe erhalten haben.

4. Die von den Lehrkräften gestellten Arbeitsaufträge sind verbindlich.

Gut. Mir ist nicht klar, was der Unterschied zum vorhergehenden Punkt ist. Heißt “Teilnahme am Distanzunterricht” nur, dass man in die Konferenz muss, aber keine Aufgaben erledigen muss? Merkwürdige Vorstellung von Teilnahme. Tatsächlich wird das auch nicht näher erläutert, außer dass die Arbeitsaufträge eindeutig und klar formuliert sind, also was bis wann freiwillig oder verpflichtend zu tun ist. Das ist wichtig, und das haben auch etliche Schüler und Schülerinnen zu recht beklagt. Aber daraus einen eigenen Stichpunkt machen?

5. Mündliche Leistungsnachweise können grundsätzlich auch im Distanzunterricht durchgeführt werden.

Gut. Klar, behutsam, aber dass das grundsätzlich möglich ist, halte ich für sinnvoll, solange nicht das ganze Notensystem überhaupt revolutioniert wird. Ohne Noten ist ja am besten, aber das führt dazu, dass man auch nicht durchfallen kann (so wurde das im vergangenen Schuljahr gehandhabt), und das würde noch weitreichendere Änderungen mit sich bringen, für die jetzt nicht der richtige Zeitpunkt ist. Man könnte ja schon mal mit weniger Noten und Prüfungen anfangen?

Also: Referate, Ausfragen, Präsentationen können benotet werden. Projektarbeit und Portfolios auch. Gut! Aber zögerlichere Schulleitungen und Kollegien hätten da sicher gerne noch mehr Rechtssicherheit: Darf ich von einer Schülerin wirklich verlangen, dass sie mir ihre gelernten Vokabeln in der Videokonferenz aufsagt? Und wenn dann, ups, die Internetverbindung plötzlich, uh, wackelt? Darf ich eine Onlinepräsentation verlangen? Darf ich ein Erklärvideo verlangen? (Klar, ich muss vorher beibringen, wie es geht.) Bei allen Punkten bin ich mir rechtlich nicht sicher. Pädagogisch schon.

Schriftlich wird grundsätzlich nur im Präsenzunterricht geprüft. Auch hier bedeutet die Einschränkung: Wer weiß, wie das geht, kann das auch anders machen. Aber da sind hohe technische und rechtliche Hürden zu überwinden, denke ich.

6. Die Lehrkräfte halten direkten Kontakt zu ihren Schülerinnen und Schülern, geben ihnen regelmäßig aktiv und kontinuierlich Rückmeldung und sind für sie zu festgelegten Zeiten erreichbar.

Richtig, und sollte selbstverständlich sein..

7. Die für den Präsenzunterricht geplanten Brückenangebote werden auch im Distanzunterricht fortgesetzt.

Klar. Das sind so Zusatzstunden verschiedener Art, um Lücken aus dem letzten Schuljahr zu schließen.

Also:

  • Die Punkte 6 und 7 sind selbstverständlich – aber ich fürchte, man muss Punkt 6 doch einmal deutlich hinschreiben.
  • Punkt 1 heißt, dass sich kein Fach drücken soll, und dass den Schülern und Schülerinnen mindestens so etwas Stabiles wie der Stundenplan als Gerüst gegeben werden soll, weil die Schwachen das sonst nicht können. An meiner Schulart und Schule brauchen große Teile der Klassen das nicht so eng, aber wenn man wirklich jeden mitnehmen will, muss man das halt machen.
  • Die Punkte 2 bis 4 sind eigentlich nur ein Punkt. Sind in Ordnung, bis auf diese Startschuss-Weckruf. Der wird technisch aufwendig und ist kaum nötig.
  • Punkt 5, die Noten: Schade, dass Noten und Prüfungen weiter die gleiche Rolle spielen. Für eine Revolution ist nicht der richtige Zeitpunkt, aber ein paar Prüfungen weniger, das wäre doch gut. Aus anderen Bundesländern, deren Ferien schon zu Ende sind, habe ich gehört, dass halt jetzt in den ersten Wochen frenetisch Noten gemacht werden, damit man dann die Minimalzahl hat. Hier hätte ich mir noch mehr Rechtssicherheit gewünscht. Aber vielleicht geht es ja auch ohne.

Pädagogisches Herz des Konzepts scheint mir das morgendliche Wecken zu sein. Hier stand ganz klar der Wunsch im Vordergrund, die Schüler und Schülerinnen nicht allein/verlottern zu lassen, und da das bei manchen nötig ist, ist es vermutlich sinnvoll, wenn auch schade. Umsetzung: Asynchron mit einer Mebis-Umfrage mit 1 Option “Schon wach?” und Anzeige derer, die noch nicht abgestimmt haben. Muss man halt jeden Tag kopieren und umbenennen. Synchron: Mit beliebiger Video- oder Chatlösung, auf eigenem Server oder über Mebis.

Lohnt es sich, auf Basis des Konzepts eine schuleigene Ausformung dessen zu entwickeln? Ich bin da ein bisschen halbherzig, weil ja doch jederzeit wieder Änderungen kommen können.

KI: Fast alles, was ich darüber weiß (Teil 4: Das Eleusis-Experiment)

Bevor ich zum letzten Teil komme, der an Teil 3 anschließt, hier ein kleiner Exkurs. Kann man getrost überspringen, ich habe mich aber darin verloren.

Das Kartenspiel Eleusis

Wenn ich schon eine KI zur Verfügung hatte, dann wollte ich sie auch mit etwas testen, das zumindest so aussieht, als würde es Intelligenz erfordern: Mir fiel das Spiel Eleusis ein (alter Blogeintrag). Gespielt wird mit mindestens zwei Sätzen herkömmlicher Spielkarten: Herz, Karo, Kreuz, Pik; Ass bis König. Die Kurzfassung: Eine Spielerin überlegt sich eine geheime Ablageregel, die anderen Spielerinnen müssen durch Versuch und Irrtum auf die Regel kommen – genauer gesagt, sie müssen ihre Karten loswerden, und da hilft es, Vermutungen über die Regel anzustellen. Für das Entdecken der Regel hat man etwa 30 Versuche lang Zeit.

Theoretisch kann die Regel beliebig kompliziert sein, praktisch und gerade bei Anfängerinnen wird sie ein Format haben wie:

  • Nach einer niedrigen Karte (A‑7) spiele eine hohe, nach einer hohen (7‑K) eine niedrige.
  • Nach einer roten Karte (Herz, Karo) spiele eine niedrige, nach einer schwarzen eine hohe.
  • Nach einer geraden Karte (2, 4, 6, 8, 10, Dame) spiele rot.
  • Nach einer Karte spiele eine weitere Karte mit dem gleichen Farbwert oder dem gleichen Zahlenwert.

Die letzte Regel ist die Regel, die auch beim Mau-Mau-Kartenspiel gilt.

Erste Erkenntnisse

Ich arbeite ab jetzt erst einmal mit dieser Mau-Mau-Regel. Dazu erstelle ich Kartenpaare, und wenn die zweite Karte laut Mau-Mau-Regel auf die erste folgen darf, soll das ein gültiges Paar sein, sonst nicht. Ich kann mein neuronales Netz, das nur eine einzige versteckte Schicht hat, mit einem Satz von 35 zufällig ausgewählten Kartenpaaren – die Anzahl entspricht ungefähr dem Schwierigkeitsgrad beim Spiel unter Menschen – so lange trainieren, bis diese 35 Paare alle korrekt als gültig beziehungsweise nicht gültig identifiziert werden. Das heißt, das neuronale Netz hat eine Funktion gefunden (=ist so eingestellt), die perfekt auf die vorhandenen Karten passt. Es hat sozusagen eine Regel aufgestellt, die zu den Daten passt.

Wenn ich diesem Netz dann allerdings weitere zufällige Kartenpaare zur Überprüfung vorsetze, hat es nur eine Trefferquote von (Stichproben) 67% – 89%. Das ist immer noch besser als geraten, da bestünde eine Trefferquote von 30%.

Was ist da passiert? Offensichtlich sind 35 Kartenpaare zu wenig, als dass das Netz perfekt auf die Mau-Mau-Regel trainiert werden könnte. Und zwar ziemlich unabhängig davon, ob das Netz 100 oder nur 6 Knoten in der versteckten Schicht enthält.

Frage 1: Wenn das Netz nicht die tatsächliche Mau-Mau-Regel gefunden hat, sondern eine andere Regel, die aber eben auch auf die 35 Kombinationen, passt – was ist das dann für eine Regel? Hat sie Ähnlichkeit mit der tatsächlich gesuchten Regel? – Vermutlich schon, sonst käme man nicht auf die relativ hohe Trefferquote. Vermutlich denkt der Rechner da zu kompliziert: Das kann man auch bei menschlichen Eleusis-Spielern beobachten, die teilweise sehr elaborierte Regeln aufstellen, um dem ihnen vorliegenden Datenmaterial gerecht zu werden – und dabei übersehen, dass es eine auch viel einfachere Regel gibt, die die Daten ebenso vollständig erklärt. Bei menschlichen Regelgebern ist die einfachere Regel dann auch meist die passendere – der Rechner hat erst einmal keinen Grund, davon auszugehen.

(Fußnote, weil Informatikstoff 9. Klasse: Es handelt sich bei einer Eleusis-Regel um eine Zuordnung, eine Relation: Jeder Karte sind eine oder mehrere andere Karten zugeordnet, die auf sie folgen dürfen. Die Regel ist also eine Zuordnungsvorschrift, und man könnte sie als Diagramm mit zwei Mengen zu jeweils 52 Kartenelementen und vielen Pfeilen dazwischen visualisieren. Bei menschlichen Spielern hat diese Zuordnungsvorschrift wohl meist eine Aussageform, das heißt, sie lässt sich knapp formulieren, in eine Formel packen. “Wenn, dann…” Theoretisch könnte diese Zuordnungsvorschrift auch völlig willkürlich sein, so dass es keine Aussageform gibt, sondern man zur Beschreibung der Zuordnungsvorschrift einfach alle Fälle einzeln nennen muss.)

Wenn ich mit mehr als 35 Kartenpaaren trainiere, kriege ich bessere Ergebnisse. Wenn ich mit 4000 zufälligen Kartenpaaren trainiere, kriege ich 100% richtig identifizierte Paare. Kunststück: Es gibt nur 52*52 Kartenkombinationen, also 2704. Wenn das Netz die alle durchprobiert, dann weiß es, was geht und was nicht geht. Dazu brauche ich dann aber keine KI.

Frage 2: Wie viele Knoten muss mein Netz haben, um jede beliebige Eleusisregel erkennen zu können? Puh. Es gibt ziemlich viele potenzielle Regeln: 52 * 252 – jeder der 52 Karten kann eine beliebige Teilmenge aller Karten zugeordnet werde, und die Menge aller Teilmengen heißt Potenzmenge und enthält hier eben 252 Elemente. Andererseits – es gibt nur 2704 Kombinationen, die man ausprobieren muss.

Frage 3: Wie viele Knoten in der versteckten Schicht muss mein Netz mindestens haben, um die Mau-Mau-Regel perfekt abbilden zu können? Dazu trainiere ich das Netz natürlich mit ausreichend vielen, also allen möglichen Kombinationen, klar. Die Antwort lautet, abhängig von ein paar Sachen: vier oder fünf. Kann ich diesen Neuronen dann ablesen, was sie bedeuten? Also sehen, was sich das Netz quasi dabei gedacht hat, sie so einzustellen? Und: ähnelt das Netzvorgehen dem, wie ich das als Mensch machen würde? Zumindest die Antwort auf diese Fragen kann ich versuchen.

Die Mau-Mau-Regel manuell erstellt

Dazu habe ich mir erst einmal überlegt, wie ich als Mensch die Mau-Mau-Regel angehen würde, und mir dann ein Perzeptron bauen, dass genau diese Regel abbildet:

In das Perzeptron gehen vier Werte hinein: Die ersten beiden stehen für die erste Karte, die letzten beiden für die auf sie folgende Karte. Die Werte 0.0, 0.25, 0.5, 0.75 stehen für die vier verschiedenen Farben, die Werte 0/13, 1/13, 2/13… 12/13 stehen für die dreizehn verschiedenen Werte. Hätte ich das anders kodieren können? Ja, wahrscheinlich, dazu später mehr.

Das oberste Neuron überprüft, ob die erste Karte einen höheren Farbwert als die zweite oder den gleichen hat. Das zweite Neuron überprüft, ob die zweite Karte einen niedrigeren Farbwert oder den gleichen hat. Das Neuron rechts oben überprüft, ob diese beiden Neuronen beide mit hohem Wert reagieren, es ist ein AND-Neuron: Wenn der zweite Farbwert sowohl größer gleich als auch kleiner gleich ist, müssen die Farbwerte gleich sein.

Analog überprüfen die beiden Neuronen links unten den Zahlenwert, und das Neuron rechts unten, ob beide wahr/0.99 ausgeben; es ist wieder ein AND-Neuron.

Was nicht dargestellt ist, ist das siebte Neuron in einer dritten Schicht, der eigentlichen Ausgabeschicht vor den zwei versteckten: Das verbindet die beiden letzten Neuronen mit einem ODER-Neuron – es reicht ja, wenn Farbe oder Wert gleich sind. Mein Programm hat aber keinen Platz mehr für die Darstellung dieser letzten Schicht.

Als Mensch habe ich also 2 versteckte Schichten und insgesamt 7 Neuronen (mit dem Ergebnisneuron) gebraucht. Wie geht der Rechner vor, der erst einmal nur mit 1 versteckten Schicht arbeiten soll?

Die Mau-Mau-Regel des Netzes mit 5 oder 4 Neuronen (hard limit)

Beim ersten Versuch stellte ich dem Netz sechs Neuronen zur Verfügung. Am Ergebnis sah ich, dass eines davon überflüssig war und für das Ergebnis keine Rolle spielte. Das strich ich dann, sortierte die Reihenfolge der Neuronen etwas um und glättete die Werte, so dass sie dem menschlichen Auge liebreizender sein würden:

Die Funktion der Neuronen war leicht auszumachen: Das erste Neuron überprüft, ob die Farbe der ersten Karte kleiner als die der zweiten ist, das zweite, ob sie größer ist. Daraus kann das Ausgabeneuron entscheiden, ob der Wert gleich ist. Das dritte Neuron überprüft, ob der Wert der ersten Karte kleiner als der der zweien ist, das vierte, ob der Werter kleiner oder gleich ist. Warum hier nicht analog mit kleiner oder größer? Entweder Zufall oder Mathematik, ich müsste nachdenken. Das fünfte Neuron ist deshalb da, weil alle anderen Neuronen jenseits ihrer eigentlichen Funktion auch noch stets ein doppeltes Herz Ass passieren lassen, und das verwirrt dann das Ausgabeneuron, deshalb muss das durch dieses fünfte Neuron, das nur für die doppelte Herz Ass da ist, wieder entwirrt werden.

Das liegt daran, weil ich Herz und Ass jeweils mit 0 kodiert habe. (Zur Kodierung siehe weiter unten.) Wenn ich stattdessen die Farben als 0.01, 0.26, 0.51 und 0.76 kodiere, und auch zu den Zahlenwerten jeweils 0.01 addiere, reichen mir schon 4 Neuronen:

Die Mau-Mau-Regel des Netzes mit 5 Neuronen (sigmoid)

Das gilt alles nur für die Hard-limit-Aktivierungsfunktion. Das ist die, bei der die Neuronen der linken Schicht entweder 0.01 oder 0.99 ausgeben und nichts dazwischen. Mit einer sigmoiden Aktivierungsfunktion, die eher kleine und große, aber auch schon mal mittlere Werte durchlässt, brauche ich 5 Neuronen, egal ob mit 0.01 oder 0.0 für Herz bzw. Ass:

Was die Neuronen bewirken und wie man sie eleganter runden kann… uh, bleibt der Leserin als häusliche Aufgabe überlassen… heißt: weiß nicht so recht.

Mit 4 Neuronen und Sigmoid-Funktion ist mit die Aufgabe übrigens nicht gelungen.

Eine Karte identifizieren

Um die Karte, die intern mit (0.75, 5/13) kodiert ist, zu identifizieren, brauche ich 3 versteckte Neuronen (mit Sigmoid-Funktion). Ein paar Werte konnte ich schön runden, andere nicht. Die ersten beiden Eingänge – die erste Karte – spielen bei dieser speziellen Identifikationsaufgabe keine Rolle, sie sind deshalb mit 0 gewichtet:

Was diese drei Neuronen genau machen… ist mir nicht ganz klar. Positiv wird das Gesamtergebnis nur, wenn das erste Neuron eine ziemlich kleine Zahl ausgibt und das dritte Neuron eine eher kleine Zahl und das mittlere Neuron eine halbwegs große Zahl. 0.75, 5/13 halt – die Pik 6. Und wirklich führt von allen möglichen Eingaben für die beiden letzten Eingangswerte (es gibt nur 52 Kombinationen davon) nur die eine zu 0.99, alle anderen zu 0.01. (Für das eine Neuron der Ausgabeschicht habe ich eine Hard-limit-Funktion gewählt.)

Weniger als drei Neuronen gehen vermutlich nicht. Für die Karte (0, 0) reicht sicher ein Neuron, aber das ist ein Sonderfall.

Frage 4: Kann ich jede beliebige Karte mit 3 Neuronen identifizieren oder gibt es welche, für die ich mehr brauche? Die Antwort würde vielleicht helfen herauszufinden, wie viele Neuronen ich höchstens brauche, um alle potenziellen Eleusisregeln erkennen zu können.

Und wie sähe das mit Hard Limit statt mit Sigmoid aus? Ich glaube, ich brauche einen Baukasten für neuronale Netze, so mit höchstens drei versteckten Ebenen und höchstens fünf Neuronen je Ebene – das kann man als Mensch vielleicht noch durchschauen, und das lässt sich in einer Bildschirmgröße darstellen. In Javascript am besten. Gibt es sicher schon irgendwo, oder? Dazu eine Spielkartenquelle, verschiedene Ablageregeln zum Ausprobieren, ebenso verschiedene Kodierungen.

Exkurs im Exkurs: Kodierung der Kartenwerte

Kodierung: Das heißt, ich muss meine 52 Karten irgendwie in Zahlenform repräsentieren. Natürlich könnte ich sie einscannen, aber das wäre dann ein ganz anderes Problem. Also muss ich das durch Zahlen kodieren. Ich habe mich relativ unüberlegt dazu entschieden, die vier Farben durch 0.0, 0.25, 0.5 und 0.75 zu repräsentieren, die Werte durch 0/13 bis 12/13. Dass es mitunter besser gewesen wäre, jeweils noch 0.01 dazu zu zählen, um die 0 als Wert zu vermeiden, hat man bereits oben gesehen.

Ich hätte die 52 Karten auch einfach durchnummerieren können. Oder als Farbe 1–4 und als Wert 1–13 anbieten können. Oder eine Zahl von 1 bis 52*52, um beide Paare gleich in einem einzigen Wert zu repräsentieren. Oder ich hätte das Binärsystem wählen können: zwei Bit für jeden Farbwert, vier Bit für den Zahlenwert, macht 12 Bit je Zahlenpaar, also 12 Eingangswerte für die versteckten Neuronen, jeweils mit dem Wert 0 oder 1.

Und das macht jeweils einen großen Unterschied für die Schwierigkeit der zu lösenden Aufgabe!

Unter anderem habe ich durch die Kodierung mit Zahlen ja schon viel vorgegeben: Dass eine 2 kleiner ist als eine 4, steckt bereits darin und damit ist der Rechner darauf vorbereitet, die Kategorie kleiner/größer zu erkennen. Hardcore wäre, die 52 Karten als 52 willkürliche Werte zu kodieren. Dann wollen wir mal sehen, ob der Rechner noch ein Muster erkennt! Damit ist für den Rechner gleich schwierig “auf eine hohe Karte eine rote” wie “auf diese eine Karte (ebenso wie auf 25 willkürliche weitere) können 26 andere (willkürlich ausgewählte, ohne Zusammenhang stehende) Karten folgen.”

Ganz schlecht geeignet ist meine Kodierung allerdings für die Frage, ob es sich um eine ungerade Karte (A, 3, 5, 7, 9, Bube, König) oder eine gerade handelt. Wenn ich da als Kartenwert keinen Bruch von 0/13 bis 12/13 gewählt hätte, sondern vier Bit als Eingabe, dann wäre diese Unterscheidung dagegen gar kein Problem. (Bei geraden Zahlen wäre das niedrigste Bit immer eine 0, bei ungeraden eine 1 – und das kann ein Neuron leicht erkennen.) Allgemein zu der Frage, wie ein neuronales Netz diese Unterscheidung treffen kann: https://stats.stackexchange.com/questions/161189/train-a-neural-network-to-distinguish-between-even-and-odd-numbers

(In Teil 5 geht es dann hoffentlich endlich um das Trainieren von neuronalen Netzen. Und danach um unsupervised learning ohne neuronale Netze. Irgendwann mal.)

KI: Fast alles, was ich darüber weiß (Teil 3: Neuronale Netze)

Letztes Mal ging es um Neuronen und einfache Perzeptrone. Die Weiterentwicklung davon heißt künstliches neuronales Netz. Das heißt so, weil es aus nachgebauten Neuronen bestehen und an echte biologische neuronale Netze angelehnt ist, sie aber keinesfalls tatsächlich nachbaut.

Wie ein neuronales Netz aufgebaut ist (der langweilige Teil)

Hier ist ein einfaches neuronales Netz, das aus fünf Neuronen besteht:

Es gibt links drei Eingangswerte. Das heißt, es gehen drei Zahlen in unser System hinein. Es könnten auch mehr oder weniger sein. Manchmal liest man auch “Eingangsneuronen”, obwohl diese Neuronen dann eigentlich nichts tun, außer einen Wert weiterzuleiten. Wenn man so zählte, hätte man acht Neuronen.

In der Mitte ist eine versteckte Neuronenschicht, “hidden layer”. Sie besteht in diesem Fall aus drei Neuronen, es könnten auch mehr oder weniger sein.

Und rechts ist die Schicht an Ausgangsneuronen, in diesem Fall sind es zwei. Das heißt, es kommen zwei Zahlen aus unserem System heraus. Es könnten auch mehr oder weniger sein. An deren Ausgängen liest man das gesuchte Ergebnis ab. (Manchmal will man ja mehr als eine ja/nein-Antwort, deshalb mehrere Ausgangsneuronen.)

Jedes Neuron hat für jeden Eingangswert wieder eine eigene Gewichtung, und einen eigenen Schwellenwert/Bias. Der Eingangswert wird mit der Gewichtung multipliziert, alle Produkte werden addiert, und der eventuell vorhandene Bias-Wert wird addiert – und vom Ergebnis hängt ab, was das Neuron dann ausgibt. Jedes Neuron hat nur einen Ausgangswert, der aber an mehrere andere Neuronen der nächsten Schicht weitergeben werden kann.

Ich habe geschrieben “vom Ergebnis hängt ab, was das Neuron dann ausgibt” – das entscheidet die Aktivierungsfunktion. Im Perzeptron war das eine ganz einfache Funktion: Ist das Rechenergebnis >=0, wird 1 weitergegeben (bzw. 0.99), sonst 0 (bzw. 0.01). Diese Funktion heißt auch hard limit und hat eine ganze Reihe weiterer Namen. Es gibt auch andere Aktivierungsfunktionen, bei neuronalen Netzen nimmt man häufig, aber auch nicht immer, eine Sigmoidfunktion: Bei einem äußerst, sehr oder halbwegs kleinen Eingangswert kommt ein Ausgangswert nahe 0 heraus; bei einem äußerst, sehr oder halbwegs großen Eingangswert kommt ein Ausgangswert nahe 1 heraus, bei mittleren Eingangswerten um die 0.5. Hier zwei Sigmoid-Varianten in Form der logistischen Funktion zum Veranschaulichen:

Fußnote 1: Wenn es mehr als eine versteckte Schicht in der Mitte gibt, spricht man von deep learning, glaube ich. Große neuronale Netze für schwierige Aufgaben bestehen aus Milliarden von Neuronen in vielen Schichten.

Fußnote 2: Manchmal sieht man das Bias als eigenes Neuron. dargestellt, als zusätzlichen Eingangswert je Neuron. Dann sieht man gleich, dass jedes Neuron einen eigenen Wert dafür haben kann. Manchmal sieht man auch das Bias als ein Neuron je Schicht dargestellt, dann kriegt das innerhalb jedes Neurons noch eine eigene Gewichtung – was im Endeffekt das gleiche heißt, nämlich dass je Neuron effektiv ein eigener Biaswert vorliegt.

Fußnote 3: In dem Beispiel oben ist jedes Neuron bzw. jeder Eingangswert mit allen Neuronen der folgenden Schicht und nur mit denen verbunden. Es gibt auch kompliziertere Versionen.

Was man mit einem neuronalen Netz machen kann (etwas interessanter)

Ein neuronales Netz ist auch nur eine Art Funktion. Es gehen ein Haufen Zahlen rein, und ein Haufen Zahlen kommt raus. Weil wir aber gelernt haben, dass bei einer Funktion immer nur 1 Ergebnis herauskommt, schreiben wir statt Haufen lieber Vektor: es geht 1 Vektor rein und es kommt 1 Vektor heraus. Vektor ist Fachsprache für Haufen, wenn der Haufen eine Reihenfolge hat. Wobei Elemente im Haufen auch mehrfach auftauchen können, also bleiben wir lieber bei Vektor.

1. Arbeiten mit Mustern, die für den Menschen einfach zu erkennen, aber schwer zu erklären sind

Ein Mensch sieht schnell, ob auf einem Bild eine Katze oder ein Hund abgebildet ist. Aber für einen Computer nachvollziehbar zu erklären, warum das eine eine Katze ist und das andere nicht, das ist schwer.

Ein Mensch sieht auch schnell, dass die folgenden Muster, bestehend aus 784 Zahlenwerten, alle der Ziffer 7 entsprechen. Aber einen Algorithmus zu formulieren, die einen Rechner entscheiden lässt, welches Muster nun eine 7 ist und welches nicht, das ist schwer.

Ein neuronales Netz kann man mit vielen Ziffern füttern, so dass sich der Algorithmus von selbst einstellt. Danach kann der Algorithmus, also das Netz, auch andere Ziffern als die zur Übung verwendeten richtig erkennen.

Dazu würde man ein Netz mit 784 Eingangswerten und 10 Ausgangswerten verwenden: Der erste Ausgangswert gibt die Wahrscheinlichkeit an, dass es eine 0 ist, der zweite für die 1, und so weiter; der letzte für die 9. Für den letzten Haufen Vektor von 784 Eingangswerten spuckt mein nur wenig trainiertes Übungsnetz aus:

Ausgabe: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
Ausgabe: 0.12 | 0.06 | 0.08 | 0.06 | 0.10 | 0.06 | 0.06 | 0.62 | 0.11 | 0.17

Also mit 62% eine 7 und keine anderen ernsthaften Kandidaten. (Es gab im Netz 1 verstecktes Layer mit 100 Knoten zwischen Ein- und Ausgang. Keine Ahnung, ob das für die Aufgabe angemessen ist.)

Zu dieser Art Aufgabe gehört auch maschinelles Übersetzen: Es gibt einen Eingangstext und einen Ausgangstext, und ein kundiger Mensch kann leicht beurteilen, ob die Übersetzung gut ist – aber wie man übersetzt, das lässt sich kaum beschreiben. Aber der DeepL-Translator kann das trotzdem. (Deep wegen deep learning, übrigens.) Die Aufgabe ist allerdings sehr viel schwieriger als das Erkennen von Ziffern.

Zu dieser Art Aufgabe gehören auch Deepfakes. Dabei wird in einem Film zum Beispiel das Gesicht von Schauspieler A gegen das Gesicht von Schauspieler B ausgetauscht, oder Text und Mimik von Gesicht A wird auf Gesicht B übertragen. Für den Menschen leicht zu beurteilen, aber unmöglich in Regeln zu fassen:

Der Inhalt ist nicht verfügbar.
Bitte erlaube Cookies, indem du auf Übernehmen im Banner klickst.

Hier wird gezeigt, dass man aus einer relativ kleinen Reihe von Gesichtsfotos, vielleicht nur eines, vielleicht acht oder sechzehn, ein voll animiertes Gesicht erzeugen kann, auf das fremde Bewegungen übertragen werden können:

Der Inhalt ist nicht verfügbar.
Bitte erlaube Cookies, indem du auf Übernehmen im Banner klickst.

2. Erkennen von Mustern, die für den Menschen nicht unmittelbar einsichtig, aber eigentlich doch halbwegs errechenbar sind

Hier hat jemand ein Auto trainiert, das beliebige Spielzeugstrecken entlang fahren kann. Es gibt 7 Eingangswerte – der Abstand zur nächsten Streckenentfernung nach vorne, rechts, links, halbrechts, halblinks, dazu aktuelle Richtung und Geschwindigkeit. Es gibt vermutlich 4 Ausgangswerte, interpretiert als: Wahrscheinlichkeit zu beschleunigen, zu bremsen, nach links und nach rechts zu steuern. Der maschinelle Fahrer überprüft regelmäßig anhand der 7 Eingangswerte, welche Aktion als nächste drankommt.

Vermutlich könnte man mit einigermaßen Überlegung einen Algorithmus formulieren, der anhand der 7 Eingangsdaten – Entfernungsmessungen, Geschwindigkeit, Richtung – entscheidet, was in dieser Situation zu tun ist, um alle möglichen Kurven meistern zu können. Man kann aber auch mit den Belegungen der Gewichtungen für ein neuronales Netz so lange experimentieren, bis man am Ende die Belegungen, also die Konfiguration, des Netzes hat, die das gewünschte Ergebnis hervorrufen:

Der Inhalt ist nicht verfügbar.
Bitte erlaube Cookies, indem du auf Übernehmen im Banner klickst.

(Hier wurde wohl mit einem genetischen Algorithmus gearbeitet und nicht mit anderen, häufigeren Verfahren: Einfach 100 Autos/Belegungen zufällig erstellen und ausprobieren, und dann mit dem weitermachen, das am erfolgversprechendsten Aussieht. In jeder Generation werden 100 Klone erzeugt, aber keine perfekten, sondern mit Abwandlungen, Mutationen. Und in der nächsten sucht man wieder den erfolgreichsten Kandidaten aus und macht mit dem weiter.)

Das mit den Autos würde ich gerne mal ausprobieren, übrigens. Vielleicht in den nächsten Sommerferien. (Aber: Braucht man dafür überhaupt ein neuronales Netz? Reicht da nicht ein genetischer Algorithmus allein?)

3. Erkennen von Mustern, die für den Menschen nicht erkennbar sind

Kann man mit maschinellem Lernen Börsenentwicklungen voraussehen? Man kann, sofern hinter diesen wirklich ein System steckt.

Kann man mit maschinellem Lernen Röntgenbilder analysieren und daraufhin Diagnosen stellen? Vielleicht: https://www.zeit.de/wissen/2019–09/kuenstliche-intelligenz-medizin-diagnose-krankheiten-bilddiagnostik – hier wird das als zumindest ähnlich erfolgreich wie bei Diagnosen durch Menschen geschildert.

Kann man mit maschinellem Lernen aus Patientendaten die Wahrscheinlichkeit für eine spätere Alzheimer-Erkrankung ablesen? Vielleicht, jedenfalls wird genau an so etwas geforscht. Wenn die KI das dann kann, wäre der nächste Schritt, herauszufinden, was die KI weiß, das wir noch nicht wissen. Also welches Muster die KI in den Daten sieht, das die Medizin noch nicht erkannt hat.

Hier bricht dieser Eintrag ab, weil ich aus dem eigentlich vorgesehenen Rest einen längeren Exkurs gemacht habe, also noch einen Extrateil, der die wirklich spannenden Sachen enthält. Dafür gibt es jetzt noch ein paar unzusammenhängende Links:

KI: Fast alles, was ich darüber weiß (Teil 2: Neuronen)

Im ersten Teil ging es um allgemeine Gedanken, diesmal will ich etwas konkreter werde. Der Ausgangspunkt war der: Ein Computersystem soll lernen, Muster zu erkennen, also für uns eine Reihe von Datensätzen zu kategorisieren. Das können eine Menge als Farbwerte interpretierbare Zahlen sein, die das System als Ziffer erkennen soll:

Das kann ein Punkt in einem zweidimensionalen Koordinatensystem sein, bei dem das System entscheiden soll, ob der Punkt “links oben” sein soll. Hier ist eine Darstellung von ein paar hundert solcher Punkte:

Genau genommen geht es nicht um Punkte, sondern um zwei Werte, x und y, von denen der erste eher klein und der zweite eher groß sein soll – “links oben” ist nur die Kurzfassung.

Diese letzte Art der Kategorisierung ist schön einfach, fangen wir mal mit der an. Für die reicht nämlich ein ganz einfaches Modell, das an eine menschliche Nervenzelle angelehnt ist.

Perzeptron

Eine Nervenzelle oder Neuron ist eine Zelle, die ein Signal empfängt und dieses dann an weitere Zellen weiterleitet, oder auch nicht – je nach Stärke der Eingangsreize.

An den Dendriten kommen Signale von anderen Zellen an, hier sind es zwei, es könnten auch mehr sein. Je nachdem, ob an den Dendriten genügend starke Signale ankommen, diese also einen bestimmten Schwellenwert übersteigen, wird über das Axon ein neues Signal an die nächste Zelle weitergeleitet. (Die Verbindung zwischen zwei Neuronen heißt synaptischer Spalt, an den Biologieunterricht dazu kann ich mich noch gut erinnern, und weil ganz viele, vor allem biologische Gifte die Signalweitergabe um den synaptischen Spalt herum blockieren.)

Neuronale Netze als Algorithmus arbeiten ebenfalls mit Neuronen. Ein einzelnes Neuron heißt auch einfaches Perzeptron. Es funktioniert ein bisschen wie ein abstrahiertes biologisches Neuron und es kann schon eine ganze Menge.

Das Neuron ist nur ein bisschen mathematischer: Für jeden Eingang gibt es eine Gewichtung, die mit dem jeweiligen Eingangswert multipliziert wird. Die Produkte werden zusammengezählt, und wenn sie größer als ein bestimmter Schwellenwert sind, wird ein hoher Wert weitergeleitet (standardmäßig 0.99), ansonsten ein niedriger Wert (0.01). Ist die Gewichtung für einen Eingang 0, spielt dessen Wert für das Ergebnis keine Rolle, ist sie negativ, macht sie das Weiterleiten schwieriger, ist sie positiv, erleichtert sie das Weiterleiten – immer abhängig von den konkreten Eingangswerten.

Herumspielen mit einem einfachen Perzeptron

Weil ich mir das dann besser vorstellen kann, habe ich mir ein Programm gebaut und damit herumgespielt. Mein Neuron hat erst einmal nur zwei Eingänge, damit man das grafisch in einem Koordinatensystem zeigen kann.

Die Position des gezeichneten Punktes stellt die Eingangswerte dar: x = 0.92443, also recht hoch, und damit ziemlich weit rechts, und y = 0.3325, also unteres Drittel. Die Farbe des Punktes, schwarz, stellt dar, dass das Neuron für diese Eingangswerte einen niedrigen Wert ausgibt, 0.01. Wie das Neuron zu dieser Entscheidung kommt, liegt an der Gewichtung und am Schwellenwert, auch Bias genannt: Die Produkte der Eingangswerte und der Gewichtungen werden zum Bias addiert (das deswegen bei mir meist negativ ist), und wenn das Ergebnis größer ist als 0 (hier ist es: ‑0.35034), dann entscheidet das Neuron auf 0.01. Alle niedrigen Werte sind rot, alle hohen grün markiert.

Wenn ich das mit 400 zufälligen Punkten mache, kommt das heraus:

Man könnte auch sagen: Dieses Neuron überprüft, ob ein Punkt eher links oben ist, vielleicht mit einem Stich nach Mitte oben hin. Das liegt an den Gewichtungen. Das gleiche Neuron zeigt bei anderen Gewichtungen ein ganz anderes Entscheidungsverhalten:

Hier entscheidet das Neuron, ob die Punkte eher in der oberen Hälfte sind, wobei es bei größeren x‑Werten (also dem ersten Eingangswert) ein bisschen mehr y‑Wert verlangt (den zweiten Eingangswert) als bei niedrigen.

Durch Herumspielen kriegt man heraus, welche Art Entscheidungen so ein Neuron grundsätzlich zu treffen in der Lage ist: Alle Unterscheidungen, die anhand einer Linie quer durchs Koordinatensystem vorgenommen werden können. Für manche davon muss der Bias-Wert allerdings positiv sein, etwa für “nur die linke Hälfte”:

Das wäre eine denkbare Aufgabe für Schüler und Schülerinnen: Finde heraus, welche Muster sich überhaupt erzeugen lassen beziehungsweise welche Entscheidungen ein Neuron überhaupt treffen kann. Und dann gibt man ein paar Muster vor und lässt sie Werte suchen, die diese Muster erzeugen. Und dann müssen sie erklären, warum das so ist: Im Bild oben sieht man an der Gewichtung, dass der y‑Wert gar keine Rolle spielt, er wird immer zu 0 umgerechnet. Der y‑Wert wird mit negativem Vorzeichen versehen, bewegt sich also zwischen 0 und ‑1 – und wenn man dann den Bias abzieht, also 0.5 addiert, hat man eine 50%-Chance, über 0 zu kommen.

(Kann man nicht einfach den Bias negativ lassen und den y‑Eingang mit +1 gewichten? Ausprobieren macht klug!)

Übrigens: Bei drei Eingangswerten kann ein solches Neuron eine Unterscheidung machen zwischen allen Punkten, die getrennt werden durch eine Ebene, die ein dreidimensionales Koordinatensystem, also einen Würfel, schneidet. Und so weiter in höhere Dimensionen, aber das lässt sich alles schlecht zeichnen.

Hier das ganze als Video:

Der Inhalt ist nicht verfügbar.
Bitte erlaube Cookies, indem du auf Übernehmen im Banner klickst.

Was mit einem einfachen Perzeptron geht

Wenn beide Eingangswerte hoch sind, und nur dann, soll das Neuron mit 0.99 reagieren. Das entspricht der logischen UND-Funktion:

(Wie hoch die Werte dabei genau sein müssen, das lässt sich über Bias und Gewichtung regeln. Bei der Grafik oben müssen sie schon beide recht hoch sein.)

Wenn mindestens einer der beiden Eingangswerte hoch ist, soll das Neuron mit 0.99 reagieren. Das entspricht der logischen ODER-Funktion:

(Man sieht: Nur in Fällen, wo die Eingabewerte beide ziemlich klein sind, reagiert das Neuron mit 0.01.)

Was mit einem einfachen Perzeptron nicht geht

Wenn genau einer der beiden Eingangswerte hoch ist, aber nicht beide, soll das Neuron mit 0.99 reagieren. Das entspricht der logischen XOR-Funktion. Und das kann ein Neuron nicht. Schade! Auch das letztlich äquivalente Problem der Entscheidung, ob die beiden Eingangswerte ähnlich sind, also beide eher groß oder beide eher klein, kann ein einfaches Perzeptron bestehend aus einem Neuron nicht lösen.

Was mit einem etwas komplexeren Perzeptron dann doch geht

Ich kann mir ein logisches XOR zusammenbauen aus drei einfachen Neuronen. Dazu brauche ich ein Neuron, das “ist rechts unten” überprüft, logisch: X AND (NOT Y), also hohes x und niedriges y. Und ein Neuron, das “ist links oben” überprüft, logisch: (NOT X) AND Y, niedriges x und hohes y. Und das dritte Neuron kennen wir schon, das ist auf “oder” eingestellt:

Die Ergebnisse der neuen vorgelagerten Neuronenschicht, zwischen Eingang und Ausgangsneuron, werden an die Eingänge des Ausgangsneurons weitergeleitet. Damit gibt mir das Gesamtkonstrukt 0.99 aus, wenn genau einer der Eingangswerte hoch ist, sonst 0.01. Grenzwerte anpassbar.

Damit kann man dann auch so etwas bauen, wo Punkte im rechten oberen Quadranten akzeptiert werden:

Das obere Neuron überprüft, ob ein Punkt rechts ist (x groß, y egal). Das untere Neuron überprüft, ob ein Punkt unten ist (x egal, y groß). Und das rechte Neuron ist wieder ein schlichtes und-Neuron. Ergebnis: Die Punkte, die sowohl in der oberen als auch in der rechten Hälfte sind, werden erkannt.

Auch hier könnte man wieder schön Muster vorgeben und experimentieren lassen, wie sie sich erzeugen lassen. Oder als Textaufgaben stellen: Alle Punkte, die rechts oben oder links oben sind – was muss man da einstellen? Geht das mit drei Neuronen überhaupt? (Klar.)

Erweiterungen

Wenn etwas nicht geht, dann könnte man ja weitere Neuronen einführen, zusätzlich zu den beiden neuen. Oder gar eine weitere Schicht Neuronen davor einfügen. Aber dann sind wir schon beim neuronalen Netz und nicht mehr beim Perzeptron: Aus den kleinen Neuronen-Bausteinen kann ich mir wie aus Logikgattern ganze Schaltkreise zusammenbauen, mit denen ich beliebige Funktionen umsetzen kann. Wenn jedes Neuron ein UND- oder ODER- oder vergleichbarer Baustein ist, und ich genug Neuronen miteinander verbinde, kann ich mir beliebig komplexe Funktion daraus bauen: wenn Eingang 1, aber nicht Eingang 2, außer wenn Eingang 3… Die “Programmierung” dieses Neuronenhaufens besteht dann nur aus den Gewichtungen und Bias-Werten der Neuronen. Dann kann mir dieser Neuronenhaufen, wenn er groß genug ist, auch aus beliebigen 748 Eingangswerten berechnen, ob sie einer Ziffer entsprechen, und wenn ja, welcher:

Wo das Problem ist

Ich kann mir also einen Quasicomputer aus Neuronen zusammenbauen, der für mich rechnet… ich muss ihn nur programmieren, also die Neuronen mit den richtigen Werten versehen. Und das sind sehr viele. (Das muss so sein, weil es eine schwierige Aufgabe ist.) Wenn ich 10 Ausgangsneuronen und 784 Eingangswerte und, sagen wir, 100 Zwischenneuronen habe, dann sind das 796000 Gewichtungen (jeweils Eingänge und Bias) in 110 Neuronen. Wenn ich von vornherein wüsste, mit welchen Werten ich diese Gewichtungen versehen muss, dann wäre ich fein heraus.

Ich habe noch dazu wenig Ahnung, was eine Ziffer 7 eigentlich ausmacht. Ich meine, ich erkenne sie, aber in einem Algorithmus festzuhalten, woran ich sie erkenne… das ist schwierig. Irgendwo gibt es vielleicht am Ende ein Neuron, das entscheidet, ob ein halbwegs waagrechter Strich da ist, und ein weiteres, das einen halbwegs senkrechten erkennt (aber wie halbwegs genau?) und ein drittes, das ihr Verhältnis beurteilt… aber wie dahin kommen?

Die Lösung: Es gibt eine Möglichkeit, dass diese 796000 Gewichtungen (oder drei, wie meist in meinen Beispielen oben) sich quasi von selbst einstellen. Dazu muss ich das Netz oder das Perzeptron mit genug Beispielen füttern, an denen es dann lernt. Und darum wird es vermutlich im nächsten Teil gehen, falls ich mich dazu aufraffe: Was ein neuronales Netz ist, was man damit machen kann, und wie man es trainiert.

Fußnote: Was ich weggelassen habe

Mein Neuron oben gibt immer nur 0.99 oder 0.01 zurück, abhängig von der Summe von Bias und Gewichtung*Eingangswert. In einem neuronalen Netz ist das etwas eleganter, da können auch Werte dazwischen ausgegeben werden, obwohl die Ausgabe schon häufig zu sehr großen oder sehr niedrigen Werten neigt. Außerdem will ich nicht den Eindruck erwecken, dass Neuronen nur auf streng logische Funktionen begrenzt sind, in den Beispielen oben sind ja auch welche für “hm, ein bisschen was vom einen und nicht zuviel vom anderen”. Und drittens haben Neuronen meist mehr als zwei Eingänge. Und zuletzt gibt es mehrere Möglichkeiten, sie miteinander zu verknüpfen, aber dazu vielleicht später mehr.

Fußnote: Die drei XOR-Neuronen von oben in der Tabellenkalkulation

Ich kann mir die drei Neuronen von oben auch in eine Tabellenkalkulationsdatei schreiben. Dann sieht das so aus:

Man sieht, wenn man sich die Mühe des Vergleichs macht, dass Calc zu den gleichen Ergebnissen und Zwischenergebnissen kommt wie oben. Für jedes Neuron ein paar Zahlen, die Neuronen – der Einfachheit halber – nach einem starren Feed-Forward-System ohne Abkürzungen miteinander verknüpft, gar nicht so viel Aufwand, aber viele, viele Zeilen. Und ja, es gibt Anleitungen für neuronale Netze in Excel.

Links

(Gerne auf Fehler hinweisen. Ich bringe mir das nach und nach selber bei und versuche es gleichzeitig herunterzubrechen auf ein Niveau, wie ich es vielleicht mal im allgemeinbildenden Pflicht- oder Wahlpflichtfach Informatik verwenden kann.)

Fortsetzung hier.

KI: Fast alles, was ich darüber weiß (Teil 1)

1. Starke und schwache KI

Künstliche Intelligenz gibt es in zwei (zumindest zur Zeit) verschiedenen Ausprägungen: Starke KI und schwache KI.

Starke KI ist das, was man aus der Science Fiction kennt: Intelligente Computer, die die Herrschaft über die Welt oder das Raumschiff an sich reißen möchten, mit charmantem oder fiesem Charakter, oder die sich großmütig für den Menschen opfern und früher oder später die gleichen Rechte wie Menschen zugestanden kriegen. Das soll ein Computer richtig verstehen, was um ihn und in ihm vorgeht. Darum dreht sich die öffentliche Diskussion zur Zeit gar nicht.

Schwache KI ist all das, von dem man zur Zeit hört: Selbstfahrende Autos; Computer, die besser Schach oder Go spielen als Menschen, Computer, die Gesichter erkennen können, Computerspiele spielen oder Texte automatisch übersetzen können, oder die Gesichter in ganzen Filmen durch andere Gesichter ersetzen können, mit Bewegung und allem. Schwach deshalb, weil die Computer diese Leistungen vollbringen, ohne dabei wirklich zu verstehen, was sie da machen. (Ja, schon gut, philosophische Sache, woher man das weiß, dass sie das nicht verstehen. Man weiß es.) Trotzdem sind diese Leistungen beeindruckend.

Diese KIs können Texte übersetzen und Texte produzieren. Texte produzieren ist leicht: Man nehme einen vorhanden Textkorpus, lasse den Rechner den ein bisschen analysieren, und auf dieser Basis kann der Rechner dann eigene Texte erstellen. Wenn man sich dabei so wenig Mühe gibt wie ich mit einfachen Markow-Ketten, dann kommen dabei allerdings nur ziemliche Unsinnstexte heraus. Wenn man sich mehr Mühe gibt und brandheue KI-Lösungen verwendet, gibt es sehr viel überzeugendere Texte – auch wenn der Computer immer noch nicht versteht, was er da schreibt.

Exkurs: Winograd-Sätze

(Wikipedia dazu.) Das sind Sätze, die als eine Art Weiterentwicklung oder Ergänzung des Turing-Tests gedacht sind. Sie sind alle nach einem strikten Schema aufgebaut. Hier ein Beispiel:

The trophy does not fit in the suitcase because it is too small/large.

Jeden Satz gibt es in zwei Varianten, die sich nur durch ein Wort unterscheiden (“small/large”). Dabei ändert sich die Bedeutung des Pronomens (“it”) mit der Auswahl des einen oder anderen Wortes: In “The trophy does not fit in the suitcase because it is too small” bezieht sich das Pronomen auf “suitcase”, in “The trophy does not fit in the suitcase because it is too large” bezieht es sich auf “trophy”. Solche Sätze gibt es viele. Wenn man wissen will, ob ein Mensch oder eine Maschine den einen oder anderen Satz richtig verstanden hat, fragt man nach dem Bezug des Pronomens.

Eine schnelle Möglichkeit, das zu testen, besteht darin, die Sätze übersetzen zu lassen. Im Französischen oder Deutschen gibt es die Kategorie Genus, so dass in dem Beispielsatz oben das “it” entweder “sie” steht (die Trophäe/die Auszeichnung” oder “er” (der Koffer). Natürlich geht das nicht mit allen Winograd-Sätzen, aber zumindest mit manchen: In Winograd Schemas and Machine Translation: Some Examples (Januar 2020) wird für 37 Satzpaare überprüft, wie korrekt Google Translate und DeepL sie übersetzen.

Bezug nehmen auf frühere Untersuchungen steht als Fazit: “Bottom line: As of January 2020, Winograd Schemas are very hard for machine translation programs, but the programs are beginning to make some inroads on them.” (Und auch wenn diese Sätze richtig übersetzt werden, ist das kein Beweis dafür, dass sie verstanden werden; es funktioniert nur in die eine Richtung.)

2. KI als Algorithmen

Tatsächlich heißt KI (also die schwache, um die es gerade geht) auch nichts anderes als Algorithmus. Michael Brenner hat da mal einen schönen Twitter-Thread dazu geschrieben:

Hier als zusammenhängender Text lesbar (“unrolled”): https://threadreaderapp.com/thread/1236094885905788928.html

Was ich daraus mitgenommen habe, und überspitzt formuliert: Künstliche Intelligenz betrifft Aufgaben, die ein Computer nicht lösen kann, weil man dazu echte Intelligenz braucht. Wenn ein Computer sie dann doch lösen kann, sind sie auch keine KI mehr, weil ein Computer sie ja gelöst hat.

Wenn ein Computer etwas kann, dann sieht man die Mechanik hinter diesem Verhalten, den Algorithmus. Dadurch verschwindet der Mythos des “requiring intelligence”. Also ist es plötzlich “nur noch” Informatik und keine KI mehr.

Anders gesagt, auch aus dem Thread: “As soon as it works, no one calls it AI anymore.” (John McCarthy)

Das Teilgebiet der KI, das ich oben mit schwacher KI meinte, heißt Machine Learning. Da gibt es viele verschiedene Ansätze, nur einer davon ist der mit neuronalen Netzen. Allen Ansätzen ist gemeinsam (Vorsicht: ich bin Laie), dass es quasi bei jedem Algorithmus sehr viele Drehregler gibt, also Dutzende oder Millionen oder Milliarden. Damit der Algorithmus richtig funktioniert, muss man all diese Drehregler richtig einstellen. Leider weiß man natürlich am Anfang nicht, welche Einstellung die jeweils richtige ist. Also setzt man dem Machine-Learning-System eine große Menge an Probe-Datensätzen vor, anhand derer mehr oder weniger automatisch nach und nach die richtigen Einstellungen für die Drehregler getroffen werden. Das ist das Lernen am Maschinellen Lernen. Wenn das System richtig trainiert/eingestellt ist, dann kann es auch mit unbekannten, aber verwandten Datensätzen arbeiten.

(Man unterscheidet dabei supervised learning, unsupervised learning, reinforcment learning, aber darauf gehe ich vielleicht ein anderes Mal ein. Meine Beispiele hier werden wohl meist aus dem supervised learning kommen, also wenn man solange anhand von Daten übt, bei denen die Lösung schon bekannt ist, bis der Algorithmus bei diesen Daten alles richtig macht – in der Hoffnung, dass das bei neuen Daten dann auch der Fall sein wird.)

3. Typische und einfache Aufgaben

So eine KI sollte erkennen können, ob auf einem Foto ein Hund ist oder eine Katze oder keines von beiden. Oder ein Bus! Manchmal stößt man im Web auf Seiten, die sich etwa vor dem Herunterladen vergewissern wollen, ob da wirklich ein Mensch sitzt oder doch eine automatische Abfrage. Dann kriegt man vielleicht so eine Aufgabe gestellt:

Dem intelligente menschlichen Benutzer fällt es leicht, die Busse auf den Bildern zu erkennen. (Also, theoretisch. Praktisch scheitere ich immer wieder an diesen Aufgaben.) Diese reCaptcha genannten Systeme haben zweierlei Aufgabe: a) sie überprüfen, ob da ein Mensch sitzt, und b) sie füttern das System mit Input: Die menschlichen Eingaben werden auch, oder manchmal, dazu genutzt, das KI-System dahinter lernen zu lassen.

Allerdings hat dieses Lernen auch seine Tücken. Wenn ein System lernen soll, Rotkehlchen und Gartenrotschwänze zu unterscheiden, und in allen Übungs-Datensätzen schauen die Rotkehlchen nach links und die Gartenrotschwänze nach rechts schauen, dann unterscheidet das System nach dem Trainieren vielleicht tatsächlich alle Übungs-Datensätze korrekt, aber in der Praxis zeigt sich, dass es gelernt hat, nach links und nach rechts schauende Vögel zu unterscheiden. In Do neural nets dream of electric sheep? wird eine Situation beschrieben, wo eine KI Schafe erkennen sollte, tatsächlich aber gelernt hat, Gras zu erkennen.

Eine weitere Aufgabe ist die, Handschriften zu entziffern. Darauf komme ich später zurück.

Eine kleine Beispielaufgabe

In einer Firma arbeiten 1000 Menschen. Zu jedem Menschen gibt es einen Datensatz mit ganz vielen Daten: Körpergröße und Haarfarbe und Schulbildung und Lieblingsfarbe und so weiter. Außer weiß die Personalabteilung von jedem Menschen, ob er gut arbeitet oder schlecht. Wenn sich jetzt eine neue Mitarbeiterin bewirbt, wäre es nicht schön, voraussagen zu können, ob sie gut arbeiten wird oder schlecht? Kann man vielleicht anhand der vielen Daten, die über eine Person gespeichert sind, herausfinden, wie gut sie arbeiten wird?

(Das Problem ist natürlich bedenklich. Ähnlich auch: Kann ich aus Geschlecht und den Zeugnisnoten eines Schülers oder einer Schülerin voraussagen, welche Charakteristik ich ins Jahreszeugnis eintragen soll? “Die freundliche, etwas zurückhaltende Schülerin…” Note 1 in Sport, sonst immer 3–4, eine 5 in Kunst: ist damit nicht schon alles gesagt über die Charakteristik? Also, in Wirklichkeit hoffentlich nicht, aber es täte mich schon reizen, das mal herauszufinden. Gerne auch dann bestätigt, dass es eben nicht geht.)

Ich möchte das Problem noch weiter vereinfachen, um es anschaulicher machen zu können: Sagen wir, die Datensätze für die Angestellten bestehen nur aus zwei Kriterien: Körpergröße und und Lautstärke. In Wirklichkeit ist die Leistungsfähigkeit von Menschen, was auch immer man darunter versteht, nicht sehr von diesen Faktoren abhängig, deswegen würde die Verteilung etwa so aussehen:

Dabei bedeutet ein weißes Kästchen, das jemand mit dieser Größe und jener Lautstärke sehr leistungsfähig ist, schwarz bedeutet, dass nicht leistungsfähig, grau irgendwo dazwischen. Das ist ziemlich zufällig verteilt und auch ein Computer würde da kein nennenswertes Muster erkennen.

Wir tun jetzt aber mal so, als wäre das anders. Als gäbe es eine einfache Korrelation zwischen Größe, Lautstärke und Leistung. Natürlich würde man diese Korrelation auch als Mensch sehr schnell erkennen. Aber in Wirklichkeit gibt es ja nicht nur diese zwei Faktoren, sondern hunderte weitere, und da erkennt man als Mensch das Muster nicht. Man kann aber eine Maschine anhand der 1000 vorhandenen Datensätze trainieren, dieses Muster zu erkennen und auf weitere, neue Datensätze anzuwenden:

Wenn ich den Datensatz eines neues Mitarbeiters in den Algorithmus eingebe (hunderte Daten, hier vereinfacht: Größe und Lautstärke), der sehr klein und sehr laut ist, dann sagt mir der Algorithmus, dass der leistungsfähig sein wird, zeichnet ihn also schwarz ein, und zwar links oben. Groß und laut dagegen, also rechts oben: eh, grau, weil nur ein Kriterium erfüllt. Groß und still, rechts unten, ganz schwarz – das Gegenteil von dem, was die Firma will. In der Grafik oben habe ich einfach 500 neue Mitarbeiter und Mitarbeiterinnen unterschiedlicher Größe und Lautstärke generiert und die Einschätzungen des Algorithmus grafisch dargestellt. Man erkennt dabei eine Linie, die die weißen und die schwarzen Einschätzungen voneinander trennt.

Der nächste Schritt: Angestellte kriegen ein drittes Kriterium in den Datensatz, neben Größe, Lautstärke jetzt auch noch Klugheit. Wieder tun wir so, als wüssten wir zwar, welche Angestellten leistungsfähig sind, aber nicht, warum. (Dabei lautet die geheime Regel, die der Algorithmus erst sichtbar machen soll: Erfolgreiche Angestellte dürfen nicht zu groß sein, müssen laut sein, und dürfen nicht besonders klug sein.) Wir füttern wieder unseren Algorithmus mit den 1000 Datensätzen, für die wir die Lösung kennen, bis der Algorithmus bei diesen 1000 das richtige Ergebnis ausspuckt – in der Hoffnung, dass er das auch bei neuen, zukünftigen Eingaben machen wird. Grafisch dargestellt sieht das so aus:

Das ist jetzt fast so ähnlich wie zuvor, aber irgendwie etwas weniger sauber. Was macht ein grauer Punkt links oben etwa? Das liegt daran, dass es jetzt drei Kriterien gibt, die zweidimensionale Grafik aber nur die ersten beiden davon darstellt. Trennte vorhin eine Linie im zweidimensionalen Raum den schwarzen vom weißen Bereich, so ist es jetzt eine Ebene, die im dreidimensionalen Raum, einem Würfel etwa, die Bereiche trennt: Alle weißen Punkte sind in einer Ecke des Würfels auf der einen Seite der Ebene, alle schwarzen auf der anderen Seite. Das lässt sich aber nur schlecht darstellen.

Exkurs: Robert Gernhardt

Mein etwas konstruiertes Beispiels um kleine, laute und dumme Menschen dient natürlich dazu, auf das schöne kurze Gedicht “Trost und Rat” von Robert Gernhardt hinzuweisen. Hier kann man es lesen und auch eine Aufnahme von Gernhardt hören.

Ich zeige das Gedicht gerne in der Schule, weil es a) schön und b) metrisch interessant ist. An sich trochäische Vierheber, es beginnt: “Ja wer wird denn gleich verzweifeln, / weil er klein und laut und dumm ist?” und steigert sich dann dazu, stolz mit dem affirmativen, die Klein‑, Laut- und Dummheit bejahenden Schlussvers zu sagen:

“ich war klein u n d laut u n d dumm.”

Das zweimalige “und” ist gesperrt gedruckt, Signal für die Betonung, und auch vom Sinn her geht es ja genau darum, die beiden “und” zu betonen. Aber an sich ist das Metrum immer noch trochäisch – ein schönes Beispiel für Synkope auch in der Lyrik.

Kurze Vorschau: Was ist, wenn der Algorithmus Leute erkennen soll, die entweder klein oder laut sind, aber auf keinen Fall beides? Das geht natürlich auch. Aber der ganz einfache Algorithmus, den ich nächstes Mal vorstelle, kann das nicht, da muss eine etwas erweiterte Form ran, ähnlich wie für dias jetzt folgende Beispiel.)

Eine weniger kleine Aufgabe

Nehmen wir folgenden Datensatz, bestehend aus 784 Daten:

0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,84,185,159,151,60,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,222,254,254,254,254,241,198,198,198,198,198,198,198,198,170,52,0,0,0,0,0,0,0,0,0,0,0,0,67,114,72,114,163,227,254,225,254,254,254,250,229,254,254,140,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,66,14,67,67,67,59,21,236,254,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,253,209,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,233,255,83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,129,254,238,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,59,249,254,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,133,254,187,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,205,248,58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,126,254,182,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,75,251,240,57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,221,254,166,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,203,254,219,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,38,254,254,77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,224,254,115,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,133,254,254,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,61,242,254,254,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,121,254,254,219,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,121,254,207,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0

Die 784 Zahlen könnten für 784 Merkmale der Firmen-Angestellten stehen. Zum Beispiel. Dem Algorithmus ist das egal, für ihn sind das nur Zahlen. Wenn man die 784 Zahlen in einer 28x28-Matrix anordnet, sehen sie so aus:

Und wenn man den Zahlen Farbwerte zuweist (0 weiß, 255 schwarz), dann kann man sich das als Bild zeigen lassen:

Ah! Denn die 784 Zahlen stammen letztlich von einer digitalisierten handschriftlichen “7”. Handschriften zu erkennen ist eine typische Mustererkennungsaufgabe für KI. Bei den Angestellten der Firma gab es nur zwei oder drei Eingabewerte, hier sind es 784, aber im Prinzip ist es das gleiche. Wir als Mensch könnten nie aufschreiben, welche Eigenschaften diese 784 Werte exakt haben müssen, um am Ende als “7” interpretiert zu werden. Aber wir sehen sofort, dass diese 784 Werte eine “7” sind – jedenfalls wenn wir die Werte in geeignete, also grafischer, Form vorgesetzt bekommen. Mit den Zahlen allein könnten wir auch nicht viel anfangen. Ein Algorithmus braucht aber irgendwo ganz fest aufgeschrieben, welche 784 Wertkombinationen für eine “7” stehen, und welche für andere Ziffern, und welche wahrscheinlich gar nicht für Ziffern stehen.

Zum Herumspielen damit gibt es die MNIST-Datenbank (Wikipedia), eine Sammlung von handschriftlichen Ziffern in maschinenfreundlicher Form. Die Sammlung besteht aus 60000 Datensätzen zum Üben und 10000 Datensätzen zum Überprüfen. Anhand der Übungssätze wird, uh, geübt, und wenn der Algorithmus/das KI-System mit diesen 60000 umgehen kann, kann man mit den 10000 zusätzlichen Datensätzen überprüfen, ob das auch mit bislang unbekannten Datensätzen geht.

(Warum diese Trennung? Es besteht ja die Gefahr, dass man den Algorithmus darauf trainiert, exakt die 60000 Ziffernbeispiel zu erkennen, dass er aber versagt bei anderen. Und das Ziel ist ja, dass er beliebige eingescannte Ziffern erkennt. Auch dafür gibt es vielleicht im nächsten Beitrag Beispiele. Und natürlich muss man bei der Auswahl auch aufpassen, dass man nicht nur Rechtshänder hat, nicht nur Privatschulschönschreibende, Männer und Frauen, und so weiter.)

Manche Leute, die sich auskennen, halten diese Sammlung aus verschiedenen Gründen für ernsthafte Forschung ungeeignet. Aber sie ist verbreitet, und mir geht es ja nur ums Spielen. Allerdings ist die Sammlung in ihrer ursprünglichen Form unhandlich, deshalb ist es schön, dass Joseph Redmon sich die Mühe gemacht hat, zwei (große) csv-Dateien mit dem MNIST-Datensätzen zu erstellen und zum Herunterladen anzubieten.

Das Programm, das ich mir geschrieben habe, und mit dem ich ein bisschen KI spiele, spuckt mir nach noch gar nicht mal so ausführlichem Training mit 10000 Übungsziffern für die oben gezeigte 7 (die erste Ziffer des Testsatzes) folgendes Ergebnis aus:

Ziffer: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
Ausgabe: 0.07 | 0.00 | 0.04 | 0.10 | 0.00 | 0.00 | 0.00 | 0.47 | 0.10 | 0.13
--> vermutung: 7
--> tatsaechlich: 7

Das heißt, am ehesten hält das System die Eingangsdaten für eine “7”, und ist sich dabei immerhin zu 47% sicher; ansonsten gibt es keine aussichtsreichen Kandidaten. Brav.

Die erste falsch identifizierte Ziffer ist die hier, die neunte des Testsatzes:

Ziffer: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
Ausgabe: 0.06 | 0.04 | 0.09 | 0.01 | 0.00 | 0.04 | 0.60 | 0.04 | 0.02 | 0.00
--> vermutung: 6
--> tatsaechlich: 5

Das heißt, mit 60% hat das System die Eingangsdaten als “6” identifiziert, ansonsten gibt es keine aussichtsreichen Kandidaten. Zugegeben, die Ziffer sieht schon halbwegs wie eine “6” aus, dennoch hätte ich mich gefreut, wenn mein System der “5” wenigstens eine größere Wahrscheinlichkeit zugeordnet hätte. Nun ja, vielleicht hätte ich noch mehr üben sollen, mit noch mehr Datensätzen. Aber das braucht alles Rechenzeit. Wenn man dann mal die richtigen Einstellungen für den Algorithmus hat (ein kleines neuronales Netz übrigens), dann geht das Rechnen und Entscheiden für beliebige neue Eingaben schnell. Aber auf die richtigen Einstellungen zu kommen, das ist eben aufwändig.

Aber dazu mehr in der Fortsetzung, wo es ums Technische geht. (Auch nicht sehr: Perzeptron, einfache neuronale Netze mit einer versteckten Ebene, ein paar Beispielaufgaben, die mir gelungen sind oder an denen ich gescheitert bin.) Dort dann auch Links.

Dienstrechner für Lehrkräfte

Wo kommt das eigentlich her, dass jetzt auf Twitter so viele Dienstrechner für Lehrkräfte fordern? Und was verstehen die Leute eigentlich darunter?

Schöner Blogeintrag zu diesem Thema:

Dienstgeräte für LehrerInnen – Bitte nicht jetzt!
Der Inhalt ist nicht verfügbar.
Bitte erlaube Cookies, indem du auf Übernehmen im Banner klickst.

Ein Dienstrechner ist entweder ein finanzieller Zuschuss zu einem eigenen Gerät. Wunderbar! Dann fühlt man sich als Lehrkraft wertgeschätzt – mir ist das in diesem Fall zwar egal, aber ich kann schon nachvollziehen, wenn man pikiert ist, wenn quasi vom Arbeitgeber verlangt wird, ein eigenes Gerät zu benutzen.

Oder ein Dienstrechner ist ein Gerät für Lehrkräfte, auf dem nur bestimmte Software läuft und das datenschutzrechtlich besonders gesichert ist, und auf dem allein ich personenbezogene Daten meiner Schüler und Schülerinnen speichern darf. Das wäre für mich Unsinn, weil ich zum Arbeiten dann einen zweiten Rechner benötige und zusätzliche Software. (Warum? Weil ich gerne weitgehend mein Werkzeug so weit selber bestimme, wie das eben geht. Ich habe auch mehrere relativ teure Füller zum Korrigieren. Und ich möchte meine Lehrvideos je nachdem mit Active Presenter machen oder mit OBS Studio. Ich weiß aber auch von Lehrkräften, die sich wünschen, dass andere nicht so vorpreschen, was Lehrvideos und dergleichen betrifft – denen ist es sicher recht, wenn man nur bestimmte Programme benutzen kann. Und wer nur webbasierte Programme nutzt, der ist natürlich auch gut bedient mit einem Dienstrechner.)

Also: Dienstrechner von der Schule für die, die keine Ansprüche haben oder sich bisher gedrückt haben, dann natürlich auch mit Wartung von der Schule, oder Zuschuss zum Privatrechner. Gerne auch ein Tablet für die Schule, zum Steuern der Geräte und zur Kommunikation, aber das ersetzt einem Informatiklehrer natürlich kein zweites Gerät zu Hause.

Datenschutz: Welche personenbezogenen Daten sind eigentlich auf meinem Privatrechner gespeichert? (Gesichert durch VeraCrypt, zumindest teilweise.) Dienstliche Kommunikation und Noten laufen weitgehend webbasiert. Aber ja, Aufsätze von Schülern und Schülerinnen und meine Kommentare dazu sind lokal gespeichert, dazu immer wieder einzelne Noten, die ich noch nicht zentral gespeichert habe, und meine Unterrichtsvorbereitung, wo dann auch mal steht: “Zettel noch abgeben: Max, Celine.” Von mir aus: Das kann ich zur Not per VPN auf unserem zentralen Schulserver speichern.

Nachtrag: Eigentlich sehe ich als langfristige Lösung nur die, dass Lehrkräfte keine personenbezogenen Daten auf Privatrechnern speichern dürfen. Alles nur webbasiert auf einem Server, der vom Datenschutzbeauftragten freigegeben ist. Neu ist dann vor allem, dass die Unterrichtsnotizen auch alle online gespeichert sein müssen – und die korrigierten Übungsaufsätze?

The Lady, or the Tiger? Worldbuilding 905

(Unzusammenhänged, aber mir ist beim Schreiben die Lust etwas vergangen: weg damit. Muss auch niemand lesen.)

Ein Mann steht vor der Wahl: Er muss eine von zwei Türen öffnen, hinter denen sich entweder seine zukünftige Ehefrau befindet oder ein Tiger, der ihn fressen wird. So endet Frank R. Stocktons berühmte Geschichte “The Lady, or the Tiger?” Sie beginnt:

In the very olden time there lived a semi-barbaric king, whose ideas, though somewhat polished and sharpened by the progressiveness of distant Latin neighbors, were still large, florid, and untrammeled, as became the half of him which was barbaric.

Viele kennen von dieser Geschichte nur den Titel und die Schlusssituation; tatsächlich ist sie ein wenig interessanter: Ein junger Mann liebt verbotener Weise die Tochter dieses Königs, und sie ihn, und nach der Entdeckung soll er jener Art Gottesurteil unterzogen werden, die der König eingeführt hat: Hinter einer der beiden Türen ist der Tiger, hinter der anderen eine Braut, die der König für den jeweiligen Angeklagten ausgesucht hat. Dort steht also explizit nicht die Königstochter und Geliebte. Aber diese Tochter hat die Vorbereitungen gesehen, sie weiß, hinter welcher Tür der Tiger ist und hinter welcher die prospektive Braut ihres Geliebten – eine Frau, die sie übrigens hasst:

And not only did she know in which room stood the lady ready to emerge, all blushing and radiant, should her door be opened, but she knew who the lady was. It was one of the fairest and loveliest of the damsels of the court […] and the princess hated her. […] The girl was lovely, but she had dared to raise her eyes to the loved one of the princess; and, with all the intensity of the savage blood transmitted to her through long lines of wholly barbaric ancestors, she hated the woman who blushed and trembled behind that silent door.

Von allen anderen unbemerkt signalisiert die Königstochter ihrem Geliebten, welche Tür er öffnen soll. Beherzt geht der junge Mann zur Tür und öffnet sie.

“Now, the point of the story is this: Did the tiger come out of that door, or did the lady?” In einem Anhang wird das philosophische Problem noch einmal festgezurrt. Die Prinzessin wusste, dass sie Gelegenheit haben würde, dem Geliebten zu signalisieren; sie hat sich vorher überlegt, was sie ihm signalisieren würde, und sich daran gehalten. Was wird also aus der Tür treten: die Braut oder der Tiger? Welche Tür hat sie dem Geliebten gewiesen?

Man könnte zwar auch über Frauenbilder und Exotismus sprechen, aber mir geht es tatsächlich um die in der Geschichte gestellte Frage: War hinter der geöffneten Tür die Dame oder der Tiger? Vielleicht lässt sich die Frage nicht beantworten, ohne die Geschichte selber im Wortlaut gelesen zu haben, aber ich biete einmal folgende Möglichkeiten an:

  1. Die Dame.
  2. Der Tiger.
  3. Eins von beiden, aber wir können es nicht entscheiden.
  4. Die Dame oder der Tiger, aber in Wirklichkeit waren hinter beiden Türen Damen beziehungsweise Tiger.
  5. Weder noch, es war alles nur ein Trick des Königs. In Wirklichkeit steht ein nagelneues Auto hinter der Tür.
  6. Weder noch, die Frage an sich ist sinnlos: Was nicht im Text steht, steht nicht im Text, und es ist müßig, darüber zu spekulieren.

Allgemeiner könnte man fragen: Was steckt hinter ungeöffneten Türen in einem fiktionalen Text?

Konkreter Anlass für diese Gedanken ist ein Video von Victor Gijsbers:

Der Inhalt ist nicht verfügbar.
Bitte erlaube Cookies, indem du auf Übernehmen im Banner klickst.

Der Beitrag wiederum ist aufgehängt an einer Besprechung des Spiels “9:05” von Adam Cadre aus dem Jahr 2000. Das ist ein kurzes aber sehr gut gemachtes Werk der interactive fiction, ein Durchgang dauert etwa 20 Minuten. Es gibt darin so etwas wie eine ungeöffnete Tür, und bei einem Durchgang öffnet man die Tür als Spieler vielleicht, beim anderen nicht. Bei interactive fiction ist es ja möglich, dass eine Tür zu einem Zeitpunkt sowohl offen als auch geschlossen ist, nämlich bei verschiedenen Durchgängen.

Bei einer Interactive-fiction-Varianten von “The Lady, or the Tiger?” könnte ich als Spieler die mir gewiesene Tür öffnen und hinter ihr eine Dame entdecken. Oder eben einen Tiger. Und beim nächsten Durchgang könnte ich die andere Tür wählen, und wäre vielleicht auch da überrascht. Vielleicht gibt es eine geringe Chance, ein Auto dahinter zu finden. Oder ich breche das Spiel ab, bevor ich die Tür öffne, so wie in der Kurzgeschichte auch – habe ich dann den Text zu Ende gelesen? Wann habe ich ein Spiel zu Ende gelesen? (Infidel von 1983 ist so ein Spiel: Man muss eine moralisch schlechte Entscheidung treffen, um das Spiel zu beenden. Oder man hört einfach auf, vorher.)

Victor Gijsbers Tenor, wenn ich ihn richtig verstanden habe, ist der: Nach einer Lesart ist hinter der Tür nichts, wenn man nicht nachschaut. Ein Text erzeugt eben keine “secondary world”, über die man möglichst viele genaue Aussagen machen kann. Diese Lesart von Texten mag Gijsbers weniger, jegliche Art von Kanon-Fragen (“Was ist wirklich passiert?”) sind ihm ein Greuel:

Rather than being invited to play with the text, perhaps achieving strange and unexpected results, the reader is supposed to just accept a pre-determined truth that was established by the author. … The author … is presented as a kind of omnipotent and omniscient god.

Für mich hat sich sein Konflikt bald in Luft aufgelöst, und deswegen ist dieser Blogeintrag auch etwas unzusammenhängend geworden und ich breche ihn bald ab. Ich tue Gijsbers damit sicher unrecht. Aber die von Gijsbers selbst zitierte Frage “Did Han shoot first?” ist eben gerade keine Frage, die George Lucas mit irgendeiner Form von gottgleicher Autorität abschließend klären kann. Tolkiens Werke sind voller Ungereimtheiten, und Fanfiction ergänzt die Welt um viele Elemente, die der Autor nicht gewollt hat. Ich sehe wenig Konflikt zwischen den Lesarten: Alle Texte enthalten Lücken und Widersprüche, und Leser und Leserinnen werden stets ein Weltmodell beim Lesen erzeugen. Wenn ich einen Science-Fiction-Roman lese, besteht das Vergnügen in den ersten Kapiteln ja eben genau darin, die Regeln der mir zunächst fremden Zukunftswelt herauszufinden. Und wenn ich in einem Gesellschaftsroman erkenne, dass ein Mann seine Frau betrügt und nicht mehr liebt, weil der seinen Hut bei ihrem Erscheinen nicht mehr abnimmt, dann funktioniert das auch nur, wenn ich die Regeln der Welt kenne, in der das Erzählte spielt. (Ich erinnere mich nicht mehr, wo dieses Beispiel her ist. Vielleicht Raymond Chandler irgendwo zum Thema Drehbuchschreiben? Oder doch Henry James?) Manchmal gelangt man zu einem eindeutigen Weltmodell, schön, manchmal eben gerade nicht, weil man die Konflikte nicht auflösen kann: auch schön. Texte sind keine Puzzles und keine Skulpturen, sondern Spielzeug, und es gibt verschiedene Arten, damit zu spielen.

Frank R. Stockton hat übrigens eine Fortsetzung zu “The Lady, or the Tiger?” geschrieben. In der kommt eine Forschergruppe zu dem König, um herauszufinden, wie es dem ursprünglichen Helden ergangen ist. Sie bekommen eine andere Geschichte aufgetischt, mit einem ähnlichen Problem, und erst wenn sie das gelöst haben, sollen sie die Antwort auf ihre Frage erhalten. Auch hier endet die Geschiche, ohne dass auch nur die Binnengeschichte geklärt wäre.