Projekt:2023/Maschinelles Lernen: Unterschied zwischen den Versionen

Zur Navigation springen Zur Suche springen
keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 31: Zeile 31:


Ein künstliches Neuron ist das kleinste Bauteil eines künstlichen neuronalen Netzes und empfängt Eingaben (Zahlen), multipliziert diese jeweils mit einem individuellen Gewicht für jede Eingangsverbindung, bildet die Summe der gewichteten Eingabewerte und "feuert" dann einen Ausgabewert ab (übergibt ihn an die folgenden Neuronen). Mit "feuern" ist gemeint, dass das Neuron unter einer festgelegten Bedingung die Summe der Eingaben weitergibt und sonst <code>0</code>. Wann ein Neuron "feuert" kann ganz unterschiedlich festgelegt werden. z.B. könnte eine Bedingung lauten "''Wenn die gewichtete Summe größer ein Schwellwert ist''" (z.B. <code>> 0</code>).
Ein künstliches Neuron ist das kleinste Bauteil eines künstlichen neuronalen Netzes und empfängt Eingaben (Zahlen), multipliziert diese jeweils mit einem individuellen Gewicht für jede Eingangsverbindung, bildet die Summe der gewichteten Eingabewerte und "feuert" dann einen Ausgabewert ab (übergibt ihn an die folgenden Neuronen). Mit "feuern" ist gemeint, dass das Neuron unter einer festgelegten Bedingung die Summe der Eingaben weitergibt und sonst <code>0</code>. Wann ein Neuron "feuert" kann ganz unterschiedlich festgelegt werden. z.B. könnte eine Bedingung lauten "''Wenn die gewichtete Summe größer ein Schwellwert ist''" (z.B. <code>> 0</code>).
Ein Neuron, das selbstständig lernen kann, welche Gewichte und Schwellenwerte es am besten benutzen sollte, nennt man ein ''Perzeptron''.


[[Bild:Neuron Schema.png|center|Schema eines künstlichen Neurons mit den Eingaben <code>e1</code> und <code>e2</code>, Gewichten <code>w1</code> und <code>w2</code> und der Ausgabe <code>a</code>.]]
[[Bild:Neuron Schema.png|center|Schema eines künstlichen Neurons mit den Eingaben <code>e1</code> und <code>e2</code>, Gewichten <code>w1</code> und <code>w2</code> und der Ausgabe <code>a</code>.]]


Ein Neuron, das selbstständig lernen kann, welche Gewichte und Schwellenwerte es am besten benutzen sollte, nennt man ein ''Perzeptron''.
==== Vereinfachtes künstliches Neuron ====


Wir betrachten nun ein vereinfachtes Neuron, dass nur die Eingaben <code>0</code> und <code>1</code> kennt und immer dann "feuert", wenn die Eingabe über einem festen Schwellwert liegt. In dem Fall wird immer <code>1</code> ausgegeben, ansonsten <code>0</code>.
Wir betrachten nun ein vereinfachtes Neuron, dass nur die Eingaben <code>0</code> und <code>1</code> kennt und immer dann "feuert", wenn die Eingabe über einem festen Schwellwert liegt. In dem Fall wird immer <code>1</code> ausgegeben, ansonsten <code>0</code>.


Mithilfe diese Neurons wollen wir ein ganz einfaches Neuronales Netz erstellen.
Mithilfe dieses Neurons wollen wir ein ganz einfaches neuronales Netz erstellen.


{{Aufgabe:Start}}
{{Aufgabe:Start}}
Zeile 97: Zeile 99:


{{Aufgabe:Start}}
{{Aufgabe:Start}}
In der letzten Aufgabe hast du das Netz selbst angelernt. Das Ziel ist es aber, das Netz selbst seine Gewichte finden zu lassen. Also "maschinell lernen" zu lassen. Unter [https://link.ngb.schule/nnsim-steinlaus] findest Du eine Simulation eines neuronalen Netzes zur Erkennung der Steinlaus aus der letzten Aufgabe.
In der letzten Aufgabe hast Du das Netz selbst angelernt. Das Ziel ist es aber, das Netz selbst seine Gewichte finden zu lassen. Also "maschinell lernen" zu lassen. Unter [https://link.ngb.schule/nnsim-steinlaus] findest Du eine Simulation eines neuronalen Netzes zur Erkennung der Steinlaus aus der letzten Aufgabe.


Erkunde die Simulation, indem Du mehrfach auf "Train" klickst und beobachte, was passiert. Mit "Animate" kannst Du das Netzwerk automatisiert lernen lassen.
Erkunde die Simulation, indem Du mehrfach auf "Train" klickst und beobachte, was passiert. Mit "Animate" kannst Du das Netzwerk automatisiert lernen lassen.
{{Aufgabe:End}}
{{Aufgabe:Start}}
Öffne in einem neuen Fenster [https://playground.tensorflow.org playground.tensorflow.org].
Reduziere die "hidden layers" auf 1 und die Neuronen auf 3. Belasse die Auswahl von "Data" auf der kreisförmigen Punktmenge.
[[Bild:Tensorflow Playgorund.png|center|800px|Oberfläche des Tensorflow Playgorund.]]
Lasse das neuronale Netz schrittweise lernen (der kleine Pfeil neben dem großen "Play"-Button):
* Wie viele Schritte sind nötig, bis "Training loss" weniger als 10% beträgt?
* Interpretiere die Bedeutung der Symbole der Neuronen im "hidden layer" (bewege deine Maus darüber).
* Experimentiere mit weiteren Eingangsdaten und überprüfe dabei, wie gering die Anzahl der verwendeten Neuronen dabei sein darf.
* Experimentiere mit verschiedenen "Features" und Neuronenanzahlen. Welche Kombinationen funktionieren gut, welche weniger gut? Woran liegt das?
{{Aufgabe:End}}
{{Aufgabe:End}}

Navigationsmenü