Case Study: Implementierung neuronaler Netzwerke zur Bilderkennung mit detaillierten Berechnungen
Neuronale Netze werden aufgrund ihrer Fähigkeit, komplexe Muster zu lernen, in Bilderkennungsaufgaben häufig eingesetzt. Diese Fallstudie untersucht den Umsetzungsprozess, einschließlich detaillierter Berechnungen, die an der Ausbildung eines neuronalen Netzes zur Bildklassifizierung beteiligt sind.
Design des neuronalen Netzwerks
Das Netzwerk besteht aus einer Eingangsschicht, einer versteckten Schicht und einer Ausgangsschicht. Der Einfachheit halber betrachtet man einen kleinen Datensatz mit Bildern, die durch je 4 Pixel dargestellt werden. Die Eingangsschicht hat 4 Neuronen, die versteckte Schicht hat 3 Neuronen und die Ausgangsschicht hat 2 Neuronen, die zwei Klassen repräsentieren.
Anfangsgewichte und Biases
Gewichte werden zufällig initialisiert, z.B. sind die Gewichte zwischen Eingabe und versteckter Schicht:
- W11 = 0.2
- W12 = -0,3
- W13 = 0,4
- W21 = -0,5
- W22 = 0,1
- W23 = -0,2
- W31 = 0,3
- W32 = -0,4
- W33 = 0.2
Biases sind zur Vereinfachung zunächst auf Null gesetzt.
Forward Propagation und Berechnungen
Bei einem Eingangsbild mit Pixelwerten [0,5, 0,2, 0,1, 0,7] werden die Hidden-Layer-Eingänge berechnet als:
H1 = (0,5)(0,2) + (0,2)(-0,3) + (0.1)(0,4) = 0,1 - 0,06 + 0,04 = 0,08
H2 = (0,5)(-0,5) + (0.2)(0.1) + (0.1)(-0.2) = -0.25 + 0.02 - 0.02 = -0.25
H3 = (0,5)(0,3) + (0,2)(-0,4) + (0.1)(0,2) = 0,15 - 0,08 + 0,02 = 0,09
Durch Anwenden einer Aktivierungsfunktion, wie z. B. Sigmoid, sind die Ausgänge der versteckten Schichten:
OH1 = 1 / (1 + e-0,08 ≈ 0.52
OH2 = 1 / (1 + e0,25 ≈ 0,43
OH3 = 1 / (1 + e-0,09 ≈ 0.52
Die Ausgänge werden dann als Eingaben für die Ausgabeschicht verwendet, wo Gewichtungen in ähnlicher Weise auf Berechnungsklassenwahrscheinlichkeiten angewendet werden.
Fehlerberechnung und Aktualisierung der Gewichte
Angenommen, die wahre Klasse ist Klasse 1, dargestellt als [1, 0].
O1 = 1 / (1 + e-z1
Dabei ist z1 die gewichtete Summe der versteckten Outputs.
Verlust = 0,5 * (Ziel - Output)2
Mit Hilfe von Gradientenabstieg werden Gewichte basierend auf Fehler und Lernrate aktualisiert, z. B. 0,1.
Zusammenfassung der Berechnungen
Detaillierte Berechnungen umfassen Matrixmultiplikationen, Aktivierungsfunktionen und Fehlerableitungen, die für das effektive Training neuronaler Netze unerlässlich sind.