Weiter zum Inhalt

Die optimale Anzahl an Schichten und Neuronen für ANNs bestimmen

Für ein künstliches neuronales Netz (ANN) gibt es eine optimale Anzahl an versteckten Schichten und Neuronen. Dieses Tutorial stellt einen einfachen Ansatz vor, um diese optimale Anzahl zu bestimmen.
Aktualisiert 18. Sept. 2026  · 9 Min. lesen

Mit KI erkunden

ChatGPTClaudePerplexity

deduce the number of layers and neurons for ann banner

Wer neu mit künstlichen neuronalen Netzen (ANNs) startet, stellt schnell einige typische Fragen: Wie viele versteckte Schichten brauche ich? Wie viele Neuronen pro versteckter Schicht? Wozu dienen diese versteckten Schichten und Neuronen überhaupt? Liefert mehr davon automatisch bessere Ergebnisse? Gute Nachrichten: Wir können solche Fragen beantworten. Klar ist aber auch: Je komplexer das Problem, desto anspruchsvoller wird die Antwort. Am Ende dieses Artikels weißt du, wie man an diese Fragen herangeht, und kannst das Gelernte an einfachen Beispielen selbst ausprobieren.

diagram

Einführung

ANNs sind von biologischen neuronalen Netzen inspiriert. In der Informatik werden sie der Einfachheit halber als eine Abfolge von Schichten dargestellt. Diese Schichten lassen sich in Eingabe-, versteckte und Ausgabeschichten einteilen.

Die Zahl der Eingabe- und Ausgabeneuronen zu bestimmen, ist der einfache Teil. Jedes Netz hat genau eine Eingabe- und eine Ausgabeschicht. Die Anzahl der Neuronen in der Eingabeschicht entspricht der Anzahl der Eingabevariablen in den Daten. Die Anzahl der Neuronen in der Ausgabeschicht entspricht der Anzahl der Ausgaben pro Eingabe. Die eigentliche Herausforderung ist die Wahl der versteckten Schichten und ihrer Neuronen.

Für Klassifikationsprobleme helfen dir folgende Leitlinien, die Anzahl der versteckten Schichten und die Neuronenzahl pro versteckter Schicht festzulegen:

  • Leite aus den Daten eine plausible Entscheidungsgrenze ab, die die Klassen trennt.
  • Formuliere diese Entscheidungsgrenze als Menge von Geraden. Wichtig: Die Kombination dieser Geraden soll die gewünschte Grenze ergeben.
  • Die Anzahl der gewählten Geraden entspricht der Anzahl der Neuronen in der ersten versteckten Schicht.
  • Um die von der vorherigen Schicht erzeugten Geraden zu verknüpfen, fügst du eine neue versteckte Schicht hinzu. Jedes Mal, wenn Verbindungen zwischen Geraden der vorigen Schicht nötig sind, kommt eine weitere versteckte Schicht dazu.
  • Die Anzahl der Neuronen in jeder neuen versteckten Schicht entspricht der Zahl der herzustellenden Verbindungen.

Zur Veranschaulichung wenden wir diese Schritte in mehreren Beispielen an.

Beispiel 1

Wir beginnen mit einem einfachen Klassifikationsproblem mit zwei Klassen, wie in der folgenden Abbildung. Jeder Datenpunkt hat zwei Eingaben und eine Ausgabe als Klassenlabel. Das erinnert stark an das XOR-Problem.

classification problem with two classes diagram

Zuerst klären wir, ob überhaupt versteckte Schichten nötig sind. Eine nützliche Faustregel lautet:

In künstlichen neuronalen Netzen sind versteckte Schichten genau dann erforderlich, wenn die Daten nur nichtlinear trennbar sind.

Ein Blick auf die nächste Abbildung zeigt: Die Klassen lassen sich nicht linear trennen. Eine einzelne Gerade reicht nicht aus. Also brauchen wir versteckte Schichten, um eine geeignete Entscheidungsgrenze zu modellieren. Man könnte zwar ohne sie arbeiten, würde damit aber Genauigkeit einbüßen. Daher: besser mit versteckten Schichten.

Steht fest, dass wir versteckte Schichten benötigen, bleiben zwei Kernfragen:

  1. Wie viele versteckte Schichten sind erforderlich?

  2. Wie viele Neuronen braucht jede dieser Schichten?

Im ersten Schritt zeichnen wir eine Entscheidungsgrenze, die die beiden Klassen trennt. Es gibt mehrere mögliche Grenzen, die korrekt trennen, wie in der Abbildung unten. Für die weitere Diskussion verwenden wir die rechte Variante (b).

decision boundary splitting two classes diagram

Als Nächstes zerlegen wir die Entscheidungsgrenze in eine Menge von Geraden.

Die Idee dahinter: Jedes ANN wird aus Perzeptrons als Bausteinen aufgebaut. Ein einzelnes Perzeptron ist ein linearer Klassifikator, der Klassen mit einer Geraden trennt, definiert durch:

y=w1x1+w2x2+ ⋯ +wixi+b

Hierbei ist xi die i-te Eingabe, wi ihr Gewicht, b der Bias und y der Output. Da mit jedem zusätzlichen versteckten Neuron die Zahl der Gewichte wächst, solltest du immer die kleinstmögliche Anzahl an Neuronen wählen, die die Aufgabe löst. Zu viele Neuronen machen das Modell unnötig komplex.

Übertragen auf unser Beispiel heißt das: Zu sagen, dass das ANN aus mehreren Perzeptrons besteht, entspricht zu sagen, dass es aus mehreren Geraden aufgebaut ist.

Wir ersetzen also die Entscheidungsgrenze durch mehrere Geraden. Startpunkte sind die Stellen, an denen die Kurve ihre Richtung ändert. An jedem solchen Punkt platzieren wir zwei Geraden in unterschiedliche Richtungen.

Da die Grenze nur an einer Stelle die Richtung ändert (grauer Kreis in der nächsten Abbildung), benötigen wir genau zwei Geraden. Anders formuliert: Es gibt zwei Einzelperzeptrons, die jeweils eine Gerade liefern.

two single layer perceptron networks diagram

Weil zwei Geraden genügen, braucht die erste versteckte Schicht zwei Neuronen.

Bis hierhin haben wir also eine versteckte Schicht mit zwei Neuronen. Jedes davon agiert als linearer Klassifikator und wird durch eine Gerade dargestellt. Entsprechend entstehen zwei Ausgaben, je eine pro Klassifikator. Wir wollen aber einen einzigen Klassifikator mit einer Ausgabe, die das Klassenlabel repräsentiert. Daher müssen wir die beiden Ausgaben zusammenführen. Anders gesagt: Die beiden Geraden werden über ein weiteres Neuron „verbunden“. Das Ergebnis siehst du in der nächsten Abbildung.

Praktisch: Dafür brauchen wir keine zusätzliche versteckte Schicht mit einem einzelnen Neuron. Das Neuron der Ausgabeschicht übernimmt diese Aufgabe und führt die zuvor erzeugten Geraden so zusammen, dass das Netz genau eine Ausgabe liefert.

merged layer perceptron networks diagram

Mit der bekannten Anzahl an versteckten Schichten und Neuronen ist die Netzwerkarchitektur vollständig, wie in der folgenden Abbildung.

completed network architecture diagram

Beispiel 2

Im nächsten Beispiel betrachten wir wieder eine Zweiklassen-Klassifikation mit je zwei Eingaben und einer Ausgabe. Der Unterschied liegt in der Entscheidungsgrenze: Sie ist hier komplexer.

two inputs one output classification figure

Gemäß den Leitlinien zeichnen wir zunächst die Entscheidungsgrenze. Für die Diskussion nutzen wir die linke Variante in der nächsten Abbildung (a).

Dann zerlegen wir die Grenze in Geraden, wobei jede Gerade im ANN einem Perzeptron entspricht. Bevor wir die Geraden einzeichnen, markieren wir die Punkte, an denen die Grenze ihre Richtung ändert, siehe rechte Abbildung (b).

decision boundary figure

Wie viele Geraden brauchen wir? An den oberen und unteren Eckpunkten sind jeweils zwei Geraden nötig, also insgesamt 4. Der mittlere Punkt „teilt“ sich seine beiden Geraden mit den anderen Punkten. Die zu zeichnenden Geraden sind unten dargestellt.

Da die erste versteckte Schicht so viele Neuronen hat wie es Geraden gibt, enthält sie 4 Neuronen. Sprich: vier Klassifikatoren, jeweils ein Einzelperzeptron. Das Netz produziert damit zunächst 4 Ausgaben. Im nächsten Schritt verknüpfen wir diese Klassifikatoren, sodass am Ende nur eine einzige Ausgabe entsteht. Anders ausgedrückt: Die Geraden werden in weiteren versteckten Schichten so verbunden, dass eine zusammenhängende Kurve entsteht.

four connected classifiers figure

Wie die Architektur genau aussieht, liegt bei dir als Modelldesigner. Eine sinnvolle Möglichkeit ist eine zweite versteckte Schicht mit zwei Neuronen: Das erste verbindet die ersten beiden Geraden, das zweite die letzten beiden. Das Ergebnis der zweiten Schicht siehst du unten.

second layer with two hidden neutrons diagram

Bis hier haben wir zwei getrennte Kurven, also zwei Netzwerkausgaben. Nun verbinden wir diese Kurven, damit das gesamte Netz nur eine Ausgabe liefert. Auch hier kann das Neuron der Ausgabeschicht die finale Verbindung übernehmen, ohne eine zusätzliche versteckte Schicht einzufügen. Das Endergebnis siehst du in der nächsten Abbildung.

connected curves figure

Nach Abschluss des Designs sieht die vollständige Netzwerkarchitektur wie folgt aus:

completed network architecture figure

Mehr Infos

SlideShare

YouTube

Themen
Deep Learning
Datenwissenschaft
Künstliche Intelligenz
Maschinelles Lernen

Erfahre mehr über Deep Learning

Kurs

Einführung in Deep Learning mit Python

4 Std.
264.6K
Lerne die Grundlagen neuronaler Netzwerke und wie du Deep-Learning-Modelle mit Keras 2.0 in Python erstellst.
Details anzeigenRight Arrow
Kurs Starten
Mehr anzeigenRight Arrow
Verwandt

Blog

Arten von KI-Agenten: Ihre Rollen, Strukturen und Anwendungen verstehen

Lerne die wichtigsten Arten von KI-Agenten kennen, wie sie mit ihrer Umgebung interagieren und wie sie in verschiedenen Branchen eingesetzt werden. Verstehe einfache reflexive, modellbasierte, zielbasierte, nutzenbasierte, lernende Agenten und mehr.

Tutorial

Python-Arrays

Python-Arrays mit Code-Beispielen. Lerne noch heute, wie du mit Python NumPy Arrays erstellen und ausdrucken kannst!
DataCamp Team's photo

DataCamp Team

3 Min.

Tutorial

Python Switch Case Statement: Ein Leitfaden für Anfänger

Erforsche Pythons match-case: eine Anleitung zu seiner Syntax, Anwendungen in Data Science und ML sowie eine vergleichende Analyse mit dem traditionellen switch-case.
Matt Crabtree's photo

Matt Crabtree

5 Min.

Tutorial

Fibonacci-Folge in Python: Lerne und entdecke Programmiertechniken

Finde raus, wie die Fibonacci-Folge funktioniert. Schau dir die mathematischen Eigenschaften und die Anwendungen in der echten Welt an.
Laiba Siddiqui's photo

Laiba Siddiqui

6 Min.

Tutorial

Python Datenstrukturen Tutorial

Mach dich mit Python-Datenstrukturen vertraut: Lerne mehr über Datentypen und primitive sowie nicht-primitive Datenstrukturen wie Strings, Listen, Stapel usw.
Sejal Jaiswal's photo

Sejal Jaiswal

24 Min.

Tutorial

Python-Tutorial zum Verknüpfen von Zeichenfolgen

Lerne verschiedene Methoden zum Verknüpfen von Zeichenfolgen in Python kennen, mit Beispielen, die jede Technik zeigen.
DataCamp Team's photo

DataCamp Team

5 Min.

Mehr AnzeigenMehr Anzeigen