Die kurzen Antworten. Alles ausführlich steht im Handbuch.
Worum es geht, in drei Sätzen. Punkte in der Ebene gehören zu zwei Klassen, und das Netz soll lernen, sie zu unterscheiden. Es beginnt mit zufälligen Gewichten, rät, misst seinen Fehler und verstellt sich ein wenig in die Richtung, die den Fehler kleiner macht — das ist Backpropagation. Die Hälfte der Punkte wird zurückgehalten und dem Netz nie gezeigt; nur an ihnen entscheidet sich, ob es die Regel gelernt hat oder die Punkte auswendig.
Trainieren startet die Schleife und hält sie wieder an, Schritt rechnet genau eine Epoche, Zurücksetzen (in der App: Neustart) würfelt die Gewichte neu und leert die Verlaufskurve. Die Daten bleiben dabei, wie sie sind — neue Punkte gibt es nur über Neue Stichprobe.
Jede Kachel zeigt, wie dieses Neuron die Ebene einfärbt: grün für positive Ausgabe, orange für negative, blass dort, wo es unentschieden ist. Das ist nicht sein Zustand für einen einzelnen Punkt, sondern seine Ausgabe für jeden Ort der Ebene.
In der ersten Schicht sind das meist schlichte Hell-Dunkel-Verläufe; weiter hinten werden die Muster verwickelter, weil dort die Teilantworten der vorderen Schichten kombiniert werden.
Die Farbe ist das Vorzeichen des Gewichts — grün übernimmt das Signal, orange kehrt es um — und die Strichstärke ist sein Betrag. Dicke Linien tragen die Entscheidung, blasse tragen fast nichts. Im Browser zeigt der Mauszeiger auf einer Linie das Gewicht auf drei Nachkommastellen, auf einem Neuron dessen Bias.
Ein Klick oder Tipp auf die Linie trennt sie; sie wird gestrichelt dargestellt, überträgt nichts mehr und wird nicht weiter trainiert. Ein zweiter Klick stellt sie wieder her.
Es ist das aufschlussreichste Experiment der App: Kappt man eine dicke Verbindung im laufenden Training, springt der Verlust hoch, und man sieht in Echtzeit zu, wie die übrigen Neuronen die Aufgabe untereinander neu aufteilen.
Gefüllte Punkte sind Trainingspunkte — mit ihnen wurde gelernt. Ringe sind Testpunkte, die das Netz nie zu sehen bekommt; sie erscheinen erst mit dem Schalter Testpunkte einblenden und eine Legende unter der Fläche nennt dann beide Formen.
Nicht wenn alle Punkte richtig liegen, sondern wenn der Rand glatt ist und die Ringe genauso gut liegen wie die gefüllten Punkte. Ein Netz, das die Regel erfasst hat, verhält sich auch dort vernünftig, wo gar keine Punkte liegen. Zipfel und Inseln um einzelne Punkte sind das Gegenteil.
Die Lernrate ist die Schrittweite: zu klein, und nichts bewegt sich; zu groß, und der Verlust springt. Die Aktivierung bringt den Knick, ohne den auch zehn Schichten nur eine Gerade ergeben. Die Regularisierung straft große Gewichte ab. Die Batch-Größe sagt, nach wie vielen Punkten die Gewichte nachgestellt werden.
Rauschen und Trainingspunkte betreffen die Daten, nicht das Netz — beide ziehen eine neue Stichprobe.
Verlust bewegt sich kaum: Lernrate erhöhen oder Neuronen hinzufügen. Verlust springt: Lernrate
verkleinern. Fläche bleibt eine Gerade: Die Aktivierung steht auf linear, oder es
fehlt eine verborgene Schicht. Alle Kacheln blass: bei ReLU abgestorbene Neuronen, also Neustart
mit kleinerer Lernrate. Test schlechter als Training: Überanpassung, also weniger Neuronen, mehr
Punkte oder Regularisierung.
Abschnitt 13 des Handbuchs hat dieselbe Liste als Tabelle.
Weil das Rauschen die Punkte verschiebt, bevor das Etikett vergeben wird. Bei hohem Rauschen liegen einzelne Punkte auf der falschen Seite der eigentlichen Regel. Das ist die Grenze der Daten, nicht des Netzes — und wer sie trotzdem erzwingt, lernt das Rauschen auswendig.
Eine Epoche ist ein vollständiger Durchlauf durch alle Trainingspunkte. Ein Batch ist die Portion Punkte, nach der die Gewichte einmal nachgestellt werden: kleine Batches machen den Weg zappelig und schnell, große ruhig und träge.
Weil dann ein anderes Netz gebaut werden muss: Schichten, Neuronen, Merkmale, Aktivierung und Datensatz gehören dazu. Lernrate, Batch-Größe und Regularisierung greifen dagegen mitten im Lauf, ohne den Epochenzähler anzutasten.
Weitgehend ja. Netzdiagramm, Entscheidungsfläche und Verlustkurve sagen, was gerade zu sehen ist — mit Merkmalen, Schichten, Trefferquote, Epoche und Verlust. Die sieben Merkmalskacheln sind einzeln erreichbar und per Doppeltipp umschaltbar. Beschriftung und Zahl gehören zusammen und werden zusammen vorgelesen: „Epoche 180", nicht zwei Halte. Das gilt für TalkBack auf Android wie für VoiceOver auf iPhone, iPad und Mac.
Was nicht geht: eine einzelne Verbindung kappen. Dafür bräuchte es zwei Dutzend Ziele, die sich kaum auseinanderhalten ließen; der Weg dorthin bleibt der Fingertipp auf die Linie.
Beim allerersten Start liegt eine Einführung aus fünf Seiten über der App. Wer sie übersprungen hat oder sie noch einmal sehen möchte: Hilfe, ganz unten Einführung erneut anzeigen. Die Hilfe steht auf Android in der Schublade hinter dem Menüzeichen, auf iPhone und iPad in der Leiste, auf dem Mac in der Seitenleiste. Von selbst kommt die Einführung nur einmal.
Auf dem Mac und auf dem iPad mit Tastatur, im Menü Labor: ⌘ ↩ trainiert
und hält an, ⌘ . rechnet einen Schritt, ⌘ R ist der Neustart,
⇧ ⌘ R zieht eine neue Stichprobe, ⌘ T blendet die Testpunkte ein und
aus.
Im Browser mit dem Schalterpaar DE/EN oben rechts neben den Knöpfen. Beim ersten Aufruf richtet sich die Seite nach der Sprache des Browsers; danach gilt die zuletzt gewählte, auch nach dem Schließen des Fensters.
In der App unter Einstellungen › Sprache: Aus System, Deutsch oder Englisch. Die Wahl ist unabhängig von der Sprache des Geräts und übersteht den Neustart der App. In beiden Fällen wirkt sie sofort, und das laufende Training läuft dabei weiter.
Direkt darunter: Aus System, Hell, Dunkel. Beim Umschalten werden die Kacheln neu eingefärbt, weil der Nullpunkt der Farbskala auf der Kachelfarbe liegt — und die ist im Dunkeln eine andere.
Nein. Netz und Rechenschleife hängen am Rahmen der App, nicht am Laborbildschirm; wer zurückkehrt, findet die Epochen weitergezählt. Drehen unterbricht ebenfalls nichts. Erst wenn die App auf Telefon oder Tablet in den Hintergrund geht, hält sie an. Auf dem Mac rechnet sie weiter, auch wenn ihr Fenster hinter anderen liegt.
Im Browser gibt es die Kurzinfo beim Überfahren mit der Maus, in den Apps nicht, auch nicht auf dem Mac — die Strichstärke bleibt der Anhaltspunkt. Hell und dunkel folgen im Browser dem Betriebssystem, während die App eine eigene Wahl dafür hat. Und die Entscheidungsfläche ist in der App etwas blasser eingefärbt, sonst verschwände ein oranger Punkt im orangen Feld. Deutsch und Englisch gibt es in beiden.
Gerechnet wird immer auf dem Gerät. Die Android-App fordert überhaupt keine Berechtigungen an, auch keine Internet-Berechtigung, und kann deshalb gar nichts senden; die App für iPhone, iPad und Mac fragt ebenfalls nach keiner Berechtigung und baut von sich aus keine Verbindung auf. Gespeichert werden in beiden nur ein paar Einstellungen auf dem Gerät: Sprache, Darstellung, ob die Einführung gesehen wurde, und ein Startzähler für die einmalige Bitte um eine Bewertung. Die Weboberfläche legt einen einzigen Wert im lokalen Speicher des Browsers ab, die gewählte Sprache; ihre einzige Anfrage nach außen holt die Schriftarten. Die Datenpunkte entstehen bei jedem Start neu per Zufallsgenerator.
Bei der Einführung: Sie erklärt Neuron, Gewicht, Aktivierung, Verlust, Gradientenabstieg und Backpropagation ohne Vorwissen, mit Diagrammen und einer Übung am Gerät. Das Handbuch setzt die Begriffe voraus.
Schreiben Sie an agrauf67@gmail.com. Weitersagen lässt sich die App unter Einstellungen › App teilen, bewerten unter Einstellungen › App bewerten oder in der Hilfe. Auf iPhone, iPad und Mac öffnet das den Bewertungsdialog des Systems, den Apple höchstens dreimal im Jahr zeigt.
In der App geht es schneller: Hilfe › Feedback per E-Mail — dort stehen Fassung samt
Build-Nummer im Betreff, und als erste Zeile des Textes noch einmal mit Systemfassung und
Gerät. Darunter bleibt der Platz zum Schreiben, und löschen lässt sich das vor dem
Senden. Die Nummer steht auch im Kasten darüber, etwa 1.2 (10).
Alles ausführlich steht im Handbuch.