Machine Learning

NEURAL
NETWORK

Wie Computer lernen können zu denken. Eine Einführung in neuronale Netze mit praktischen Beispielen aus meinen Projekten.

🧠
🤖
📊
Scroll

WAS IST EIN NEURAL NETWORK?

Inspiriert vom Gehirn

Ein neuronales Netz ist ein Computermodell, das vom menschlichen Gehirn inspiriert ist. Genau wie unser Gehirn aus Milliarden von Neuronen besteht, die miteinander verbunden sind, besteht ein künstliches neuronales Netz aus vielen kleinen Recheneinheiten.

Diese "künstlichen Neuronen" sind in Schichten organisiert und lernen durch Anpassung ihrer Verbindungen. Je mehr Daten sie sehen, desto besser werden sie darin, Muster zu erkennen und Vorhersagen zu treffen.

Das Besondere: Man programmiert nicht explizit, WAS das Netz tun soll, sondern es lernt selbstständig aus Beispielen!

Input Hidden Output

DIE BAUSTEINE

📥

INPUT LAYER

Die Eingabeschicht empfängt die Rohdaten. Bei einem Bild wäre das jeder einzelne Pixel, bei einem Spiel wie FlappyBird die Position des Vogels und der Röhren.

// Inputs für FlappyBird
inputs[0] = birdY;
inputs[1] = pipeX;
inputs[2] = pipeGap;
🔮

HIDDEN LAYERS

Die versteckten Schichten sind das "Gehirn". Hier werden komplexe Muster erkannt und Zusammenhänge gelernt. Je mehr Hidden Layers, desto komplexere Probleme können gelöst werden.

// Berechnung im Hidden Layer
for (neuron : hiddenLayer) {
  sum = weights * inputs;
  output = activate(sum);
}
📤

OUTPUT LAYER

Die Ausgabeschicht liefert das Ergebnis. Bei FlappyBird: "Springe" oder "Nicht springen". Bei Bilderkennung: Die erkannte Kategorie mit Wahrscheinlichkeit.

// Entscheidung treffen
if (output[0] > 0.5) {
  jump();
}

WIE LERNT EIN NN?

1

FORWARD PASS

Die Eingabedaten werden durch das Netzwerk geschickt. Jedes Neuron berechnet seinen Output basierend auf den Inputs und seinen Gewichten. Am Ende kommt eine Vorhersage heraus.

2

FEHLER BERECHNEN

Die Vorhersage wird mit dem tatsächlichen Ergebnis verglichen. Der Unterschied ist der "Fehler". Je größer der Fehler, desto mehr muss das Netzwerk noch lernen.

3

BACKPROPAGATION

Der Fehler wird rückwärts durch das Netzwerk propagiert. Dabei wird berechnet, welche Gewichte wie stark zum Fehler beigetragen haben.

4

GEWICHTE ANPASSEN

Die Gewichte werden so angepasst, dass der Fehler kleiner wird. Dieser Prozess wird tausende Male wiederholt, bis das Netzwerk gute Vorhersagen macht.

MEINE PROJEKTE

🧠
C++

NEURAL NETWORK

Eine selbstgeschriebene Neural Network Library in C++. Von Grund auf implementiert, um die Mathematik hinter neuronalen Netzen wirklich zu verstehen.

Forward Pass Backpropagation Matrix Ops Activation Functions
Auf GitHub ansehen
🐦
JavaScript

FLAPPYBIRD AI

Ein neuronales Netz lernt selbstständig FlappyBird zu spielen. Durch genetische Algorithmen werden die besten "Vögel" ausgewählt und ihre Strategien weitervererbt.

Genetic Algorithm Evolution Fitness Function Live Training
Auf GitHub ansehen

MEHR ENTDECKEN

Schau dir den Code auf GitHub an oder folge mir für mehr Projekte rund um Machine Learning und Elektronik.