Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung |
p:ki:fische3 [2024/05/04 10:19] – Ralf Kretzschmar | p:ki:fische3 [2025/09/09 15:11] (aktuell) – [1. Was bisher geschah...] Ralf Kretzschmar |
---|
| |
🤔 Dabei ist die Frage aufgetaucht, was überhaupt "gut" bedeutet. | 🤔 Dabei ist die Frage aufgetaucht, was überhaupt "gut" bedeutet. |
| |
| |
| <figure right>{{:p:pasted:decisionboundaries.png?347px}}<caption>Decision Boundaries((eigene Darstellung, [[https://creativecommons.org/publicdomain/zero/1.0/deed.de|CC0 1.0]])) </caption></figure> |
| |
\\ | \\ |
[{{ :p:pasted:decisionboundaries.png?347px|Decision Boundaries((eigene Darstellung, [[https://creativecommons.org/publicdomain/zero/1.0/deed.de|CC0 1.0]])) }}] | |
===== - Was heisst überhaupt "gut"? ====== | ===== - Was heisst überhaupt "gut"? ====== |
| |
; Decision Boundary | ; Decision Boundary |
: Eine "Grenze" welche verschiedene Klassen voneinander abtrennt, wird als **Decision Boundary** bezeichnet. Bei zwei Messgrössen ist die Decision Boundary eine (gekrümmte) Linie. | : Eine "Grenze", welche verschiedene Klassen voneinander abtrennt, wird als **Decision Boundary** bezeichnet. Bei zwei Messgrössen ist die Decision Boundary eine (gekrümmte) Linie. |
| |
; Training Set und Validation Set | ; Training Set und Validation Set |
- Starte das nachfolgende Programm mit ''▶Run''. Der erste Start kann etwas dauern. Wenn alles klappt, so "faltet" sich die Decision Boundary langsam in die Trainingsdaten hinein. Notiere dir am Ende den Anteil richtig erkannter Fische und den mse beides für Training und Validation. {{gem/plain?0=N4XyA#626808271a9b17be}} | - Starte das nachfolgende Programm mit ''▶Run''. Der erste Start kann etwas dauern. Wenn alles klappt, so "faltet" sich die Decision Boundary langsam in die Trainingsdaten hinein. Notiere dir am Ende den Anteil richtig erkannter Fische und den mse beides für Training und Validation. {{gem/plain?0=N4XyA#626808271a9b17be}} |
- Starte das Programm erneut und notiere dir wiederum den Anteil richtig erkannter Fische und den mse bezüglich Training und Validation. {{gem/plain?0=N4XyA#c8dcd0136aafd540}} | - Starte das Programm erneut und notiere dir wiederum den Anteil richtig erkannter Fische und den mse bezüglich Training und Validation. {{gem/plain?0=N4XyA#c8dcd0136aafd540}} |
- Vergleiche die Zahlen in den beiden obigen Textfeldern. Sind diese identisch oder unterschiedlich? Lies danach:\\ ++diese Erklärung.|\\ \\ Am Anfang jedes Trainings wird zuerst eine zufällige Decision Boundary erzeugt. Ausgehend von dieser "schlechten" Decision Boundary versucht das neuronale Netz immer bessere Decision Boundaries zu zeichnen. Aufgrund der zufälligen Wahl der Decision Boundary verläuft jedes Training anders und führt zu einem anderen Resultat.\\ ++ | - Vergleiche die Zahlen in den beiden obigen Textfeldern. Sind diese identisch oder unterschiedlich? Lies danach:\\ ++diese Erklärung.|\\ \\ Am Anfang jedes Trainings wird zuerst eine zufällige Decision Boundary erzeugt. Ausgehend von dieser "schlechten" Decision Boundary versucht das neuronale Netz immer bessere Decision Boundaries zu zeichnen. Aufgrund der zufälligen Wahl der Decision Boundary verläuft jedes Training anders und führt zu einem anderen Resultat.\\ \\ ++ |
- Starte das Programm mehrfach. Dabei darfst du auch die folgenden Parameter am Anfang des Programmcodes ändern: | - Starte das Programm mehrfach. Dabei darfst du auch die folgenden Parameter am Anfang des Programmcodes ändern: |
* ''LERNRATE'': Legt fest, wie stark sich die Decision Boundary pro Epoche ändern darf. Ist der Wert zu hoch, springt die Decision Boundary hin und her, ist der Wert zu tief, brauchst du viel Geduld… | * ''LERNRATE'': Legt fest, wie stark sich die Decision Boundary pro Epoche ändern darf. Ist der Wert zu hoch, springt die Decision Boundary hin und her, ist der Wert zu tief, brauchst du viel Geduld… |
\\ | \\ |
===== - Wie funktioniert so was? ====== | ===== - Wie funktioniert so was? ====== |
[{{ :p:pasted:artificial-neural-network-g6c950ac20_640.png?320|Künstliches neuronales Netz [Ahmed Gad, Pixaby licence](([[https://pixabay.com/illustrations/artificial-neural-network-ann-3501528/|artificial neural network]] by [[https://pixabay.com/users/ahmedgad-9403351/|Ahmed Gad]] on Pixabay, [[https://pixabay.com/service/license/|Pixaby licence]]))}}] | <figure right>{{:p:pasted:artificial-neural-network-g6c950ac20_640.png?320}}<caption>Künstliches neuronales Netz [Ahmed Gad, Pixaby licence](([[https://pixabay.com/illustrations/artificial-neural-network-ann-3501528/|artificial neural network]] by [[https://pixabay.com/users/ahmedgad-9403351/|Ahmed Gad]] on Pixabay, [[https://pixabay.com/service/license/|Pixaby licence]]))</caption></figure> |
; 🕸️ Neuronale Netze: Beschreibung und Einsatzgebiete | ; 🕸️ Neuronale Netze: Beschreibung und Einsatzgebiete |
: \\ **Neuronale Netze** sind einfache Nachbildungen des **menschlichen Gehirns** 🧠. Sie bestehen aus mehreren miteinander verbundenen **künstlichen Neuronen** (das sind einfache Nachbildungen von Gehirnzellen). Das Praktische an neuronalen Netzen ist, sie können auf einem Computer erstellt und genutzt werden. | : \\ **Neuronale Netze** sind einfache Nachbildungen des **menschlichen Gehirns** 🧠. Sie bestehen aus mehreren miteinander verbundenen **künstlichen Neuronen** (das sind einfache Nachbildungen von Gehirnzellen). Das Praktische an neuronalen Netzen ist, sie können auf einem Computer erstellt und genutzt werden. |
: Neuronale Netze sind (noch?) nicht in der Lage, das menschliche Gehirn vollständig nachzuahmen. Sie eignen sich jedoch relativ gut dafür, Muster zu erkennen und werden daher in verschiedenen Feldern der Forschung und Industrie eingesetzt (z.B. Gesichtserkennung, Bildkorrektur, Sprachübersetzung, Chatbots, Diagnosen in der Medizin). | : Neuronale Netze sind (noch?) nicht in der Lage, das menschliche Gehirn vollständig nachzuahmen. Sie eignen sich jedoch relativ gut dafür, Muster zu erkennen und werden daher in verschiedenen Feldern der Forschung und Industrie eingesetzt (z.B. Gesichtserkennung, Bildkorrektur, Sprachübersetzung, Chatbots, Diagnosen in der Medizin). |
| |
[{{ :p:pasted:fischnn.png?320|Das von uns verwendete neuronale Netz((eigene Darstellung, [[https://creativecommons.org/publicdomain/zero/1.0/deed.de|CC0 1.0]]))}}] | <WRAP clear/> |
; 🕸️ Neuronale Netze: Aufbau und Arbeitsweise | <figure right>{{:p:pasted:fischnn.png?320}}<caption>Das von uns verwendete neuronale Netz((eigene Darstellung, [[https://creativecommons.org/publicdomain/zero/1.0/deed.de|CC0 1.0]]))</caption></figure> |
| ; 🕸️ Neuronale Netze: Aufbau und Arbeitsweise |
: \\ Neuronale Netze können auf verschiedene Art und Weise aufgebaut werden. Eine Variante ist das rechts dargestellte neuronale Netz, welches du soeben für die Fischklassifikation verwendet hattest. | : \\ Neuronale Netze können auf verschiedene Art und Weise aufgebaut werden. Eine Variante ist das rechts dargestellte neuronale Netz, welches du soeben für die Fischklassifikation verwendet hattest. |
: Dem neuronalen Netz in der Abbildung werden links die beiden Messwerte der Fische eingegeben. Die Eingabe läuft von links nach rechts durch alle Neuronen (die Kreise) hindurch und wird so zu einem Resultat verrechnet. Die Neuronen in der linken Spalte werden **Input Neuronen** genannt, die Neuronen in der Spalte ganz rechts **Output Neuronen** und alle Neuronen dazwischen **Hidden Neuronen**. | : Dem neuronalen Netz in der Abbildung werden links die beiden Messwerte der Fische eingegeben. Die Eingabe läuft von links nach rechts durch alle Neuronen (die Kreise) hindurch und wird so zu einem Resultat verrechnet. Die Neuronen in der linken Spalte werden **Input Neuronen** genannt, die Neuronen in der Spalte ganz rechts **Output Neuronen** und alle Neuronen dazwischen **Hidden Neuronen**. |
: Je mehr Hidden Neuronen ein neuronales Netz hat, desto mehr kann es sich "merken". Wird nicht nur eine Spalte Hidden Neuronen verwendet, sondern zwei oder mehrere, so wird von **Deep Learning** gesprochen. | : Je mehr Hidden Neuronen ein neuronales Netz hat, desto mehr kann es sich "merken". Wird nicht nur eine Spalte Hidden Neuronen verwendet, sondern zwei oder mehrere, so wird von **Deep Learning** gesprochen. |
| |
[{{ :p:pasted:mixer-g41f508c25_640.jpg?320|Audio Mischpult [Kevin Wuhrmann, Pixaby licence](([[https://pixabay.com/photos/mixer-digital-analog-audio-1322136/|mixer digital analog audio]] by [[https://pixabay.com/users/_masterk_-1464983/|Kevin Wuhrmann]] on Pixabay, [[https://pixabay.com/service/license/|Pixaby licence]]))}}] | <WRAP clear/> |
| <figure right>{{:p:pasted:mixer-g41f508c25_640.jpg?320}}<caption>Audio Mischpult [Kevin Wuhrmann, Pixaby licence](([[https://pixabay.com/photos/mixer-digital-analog-audio-1322136/|mixer digital analog audio]] by [[https://pixabay.com/users/_masterk_-1464983/|Kevin Wuhrmann]] on Pixabay, [[https://pixabay.com/service/license/|Pixaby licence]]))</caption></figure> |
; 🕸️ Neuronale Netze: Lernen | ; 🕸️ Neuronale Netze: Lernen |
: \\ Damit ein neuronales Netz genutzt werden kann, muss es erst einmal für seine Aufgabe "eingestellt" werden. Das funktioniert ähnlich wie das Einstellen eines Mischpults für das Abmischen einer Band. Die Person am Mischpult wählt für alle Drehknöpfe und Schieberegler eine Einstellung und hört, ob der Sound gut tönt. Wenn nicht, wird die Einstellung so lange verändert, bis das Resultat "rockt". | : \\ Damit ein neuronales Netz genutzt werden kann, muss es erst einmal für seine Aufgabe "eingestellt" werden. Das funktioniert ähnlich wie das Einstellen eines Mischpults für das Abmischen einer Band. Die Person am Mischpult wählt für alle Drehknöpfe und Schieberegler eine Einstellung und hört, ob der Sound gut tönt. Wenn nicht, wird die Einstellung so lange verändert, bis das Resultat "rockt". |