Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Equipment >> Industrieroboter

Wie viele versteckte Schichten und versteckte Knoten benötigt ein neuronales Netzwerk?

Dieser Artikel enthält Richtlinien zum Konfigurieren des verborgenen Teils eines mehrschichtigen Perceptrons.

Bisher haben wir in dieser Serie über neuronale Netze Perceptron-NNs, Multilayer-NNs und die Entwicklung solcher NNs mit Python besprochen. Bevor wir weiter diskutieren, wie viele versteckte Ebenen und Knoten Sie verwenden können, sollten Sie sich die folgende Reihe ansehen.

  1. Wie man eine Klassifikation mit einem neuronalen Netzwerk durchführt:Was ist das Perzeptron?
  2. So verwenden Sie ein einfaches Beispiel für ein neuronales Perceptron-Netzwerk zum Klassifizieren von Daten
  3. Wie man ein grundlegendes neuronales Perceptron-Netzwerk trainiert
  4. Einfaches neuronales Netzwerk-Training verstehen
  5. Eine Einführung in die Trainingstheorie für neuronale Netze
  6. Lernrate in neuronalen Netzen verstehen
  7. Fortgeschrittenes maschinelles Lernen mit dem mehrschichtigen Perzeptron
  8. Die Sigmoid-Aktivierungsfunktion:Aktivierung in mehrschichtigen neuronalen Perzeptronnetzwerken
  9. Wie man ein mehrschichtiges neuronales Perceptron-Netzwerk trainiert
  10. Verstehen von Trainingsformeln und Backpropagation für mehrschichtige Perzeptronen
  11. Neurale Netzwerkarchitektur für eine Python-Implementierung
  12. So erstellen Sie ein mehrschichtiges neuronales Perceptron-Netzwerk in Python
  13. Signalverarbeitung mit neuronalen Netzen:Validierung im neuronalen Netzdesign
  14. Trainings-Datasets für neuronale Netze:So trainieren und validieren Sie ein neuronales Python-Netz
  15. Wie viele versteckte Schichten und versteckte Knoten benötigt ein neuronales Netzwerk?

Zusammenfassung mit versteckten Ebenen

Sehen wir uns zunächst einige wichtige Punkte zu versteckten Knoten in neuronalen Netzwerken an.

Das folgende Diagramm fasst die Struktur eines einfachen mehrschichtigen Perceptrons zusammen.

Wie viele versteckte Ebenen?

Wie zu erwarten, gibt es auf diese Frage keine einfache Antwort. Das Wichtigste ist jedoch zu verstehen, dass ein Perceptron mit einer versteckten Schicht ein extrem leistungsfähiges Rechensystem ist. Wenn Sie mit einer versteckten Schicht keine ausreichenden Ergebnisse erzielen, probieren Sie zuerst andere Verbesserungen aus – vielleicht müssen Sie Ihre Lernrate optimieren, die Anzahl der Trainingsepochen erhöhen oder Ihren Trainingsdatensatz erweitern. Das Hinzufügen einer zweiten versteckten Schicht erhöht die Codekomplexität und die Verarbeitungszeit.

Beachten Sie auch, dass ein überlastetes neuronales Netzwerk nicht nur eine Verschwendung von Codierungsaufwand und Prozessorressourcen ist – es kann sogar positiven Schaden anrichten, indem es das Netzwerk anfälliger für Übertraining macht.

Wir haben bereits in Teil 4 über Übertraining gesprochen, der das folgende Diagramm enthält, um den Betrieb eines neuronalen Netzes zu visualisieren, dessen Lösung nicht ausreichend verallgemeinert ist.

Ein Perceptron mit Superkräften kann Trainingsdaten auf eine Weise verarbeiten, die vage analog dazu ist, wie Menschen manchmal eine Situation „überdenken“.

Wenn wir uns zu sehr auf Details konzentrieren und zu viel intellektuellen Aufwand für ein in Wirklichkeit recht einfaches Problem betreiben, verpassen wir das „Big Picture“ und erhalten eine Lösung, die sich als suboptimal erweisen wird. Ebenso könnte sich ein Perceptron mit übermäßiger Rechenleistung und unzureichenden Trainingsdaten für eine zu spezifische Lösung entscheiden, anstatt eine verallgemeinerte Lösung zu finden (wie in der nächsten Abbildung gezeigt), die neue Eingabeproben effektiver klassifiziert.

Wann brauchen wir also tatsächlich mehrere versteckte Schichten? Aus eigener Erfahrung kann ich dir keine Richtwerte geben. Das Beste, was ich tun kann, ist, das Fachwissen von Dr. Jeff Heaton (siehe Seite 158 des verlinkten Textes) weiterzugeben, der feststellt, dass eine verborgene Schicht es einem neuronalen Netzwerk ermöglicht, sich jeder Funktion anzunähern, die eine „kontinuierliche Abbildung von einem endlichen Raum in einen anderen“ beinhaltet .”

Mit zwei versteckten Schichten ist das Netzwerk in der Lage, „eine beliebige Entscheidungsgrenze mit beliebiger Genauigkeit darzustellen“.

Wie viele versteckte Knoten?

Das Finden der optimalen Dimensionalität für eine verdeckte Schicht erfordert Versuch und Irrtum. Wie oben besprochen, ist es unerwünscht, zu viele Knoten zu haben, aber Sie müssen über genügend Knoten verfügen, damit das Netzwerk die Komplexität der Eingabe-Ausgabe-Beziehung erfassen kann.

Versuch und Irrtum ist schön und gut, aber Sie brauchen einen vernünftigen Ausgangspunkt. In demselben oben verlinkten Buch (auf Seite 159) nennt Dr. Heaton drei Faustregeln für die Wahl der Dimensionalität einer verdeckten Schicht. Ich werde darauf aufbauen, indem ich Empfehlungen ausspreche, die auf meiner vagen Signalverarbeitungsintuition basieren.

  1. Wenn das Netzwerk nur einen Ausgabeknoten hat und Sie der Meinung sind, dass die erforderliche Eingabe-Ausgabe-Beziehung relativ einfach ist, beginnen Sie mit einer Dimensionalität der versteckten Schicht, die zwei Drittel der Eingabedimensionalität entspricht.
  2. Wenn Sie über mehrere Ausgabeknoten verfügen oder der Meinung sind, dass die erforderliche Eingabe-Ausgabe-Beziehung komplex ist, machen Sie die Dimensionalität der verborgenen Schicht gleich der Eingabedimensionalität plus der Ausgabedimensionalität (aber halten Sie sie kleiner als das Doppelte der Eingabedimensionalität).
  3. Wenn Sie der Meinung sind, dass die erforderliche Eingabe-Ausgabe-Beziehung extrem komplex ist, setzen Sie die verborgene Dimensionalität auf eins weniger als das Doppelte der Eingabedimension.

Schlussfolgerung

Ich hoffe, dieser Artikel hat Ihnen geholfen, den Prozess der Konfiguration und Verfeinerung der Hidden-Layer-Konfiguration eines mehrschichtigen Perceptrons zu verstehen.

Im nächsten Artikel werden wir die Auswirkungen der Dimensionalität versteckter Schichten anhand meiner Python-Implementierung und einiger Beispielprobleme untersuchen.


Industrieroboter

  1. Was ist eine Kniehebelpresse und wie funktioniert sie?
  2. Wie funktioniert eine Zahnstangenpresse?
  3. Was ist Spritzpressen und wie funktioniert es?
  4. Was ist eine Übertragung und wie funktioniert sie?
  5. Integrieren von Bias-Knoten in Ihr neuronales Netzwerk
  6. So erhöhen Sie die Genauigkeit eines neuronalen Netzes mit versteckter Schicht
  7. Trainings-Datasets für neuronale Netze:So trainieren und validieren Sie ein neuronales Python-Netzwerk
  8. So erstellen Sie ein mehrschichtiges neuronales Perceptron-Netzwerk in Python
  9. Was ist eine Industriekupplung und wie funktioniert sie?
  10. Wie viel PS braucht eine Hydraulikpumpe?