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

Signalverarbeitung mit neuronalen Netzen:Validierung im neuronalen Netzdesign

In diesem Artikel wird erklärt, warum die Validierung besonders wichtig ist, wenn wir Daten mit einem neuronalen Netzwerk verarbeiten.

Die Serie von AAC zur Entwicklung neuronaler Netze wird hier mit einem Blick auf die Validierung in neuronalen Netzen und die Funktionsweise von NNs in der Signalverarbeitung fortgesetzt.

  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

Die Natur der Signalverarbeitung in neuronalen Netzwerken

Ein neuronales Netz unterscheidet sich grundlegend von anderen Signalverarbeitungssystemen. Der „normale“ Weg, ein Signalverarbeitungsziel zu erreichen, besteht darin, einen Algorithmus anzuwenden.

In diesem Modell erstellt ein Forscher eine mathematische Methode, um ein Signal in irgendeiner Weise zu analysieren oder zu modifizieren. Es gibt Verfahren zum Entfernen von Rauschen aus Audio, zum Auffinden von Kanten in Bildern, zum Berechnen der Temperatur aus dem Widerstand eines Thermistors, zum Bestimmen des Frequenzinhalts einer HF-Wellenform und so weiter. Der Designer baut dann auf der Arbeit des Forschers auf, indem er diese Methode in einen Algorithmus umwandelt, der von einem Prozessor ausgeführt und an die Bedürfnisse einer bestimmten Anwendung angepasst werden kann.

Ein FIR-Filter ist ein Beispiel für ein Signalverarbeitungssystem, das wir mathematisch genau beurteilen und verstehen können.

Ein trainiertes neuronales Netz hingegen ist ein empirisches System.

Die im Netz auftretenden mathematischen Prozesse stellen keinen spezifischen Algorithmus dar, der dazu gedacht ist, handgeschriebene Zeichen zu klassifizieren, die Entstehung von Tornados vorherzusagen oder Steuerungsverfahren für extreme Flugmanöver zu entwickeln. Vielmehr ist die Mathematik im neuronalen Netz ein Rahmen die es dem Netzwerk ermöglicht, ein benutzerdefiniertes Berechnungsmodell basierend auf Trainingsdaten zu erstellen.

Wir verstehen den mathematischen Rahmen, der es einem neuronalen Netzwerk ermöglicht, zu lernen und seine erforderliche Funktionalität zu erreichen, aber der eigentliche Signalverarbeitungsalgorithmus ist spezifisch für die Trainingsdaten, die Lernrate, die anfänglichen Gewichtungswerte und andere Faktoren.

Ein neuronales Netzwerk hängt im Gegensatz zu einem FIR-Filter von vielen verschiedenen Faktoren ab.

Es ist wie der Unterschied zwischen dem Erlernen einer Sprache als Kind und dem Erlernen einer Sprache als Erwachsener.

Ein Kind, das das Wort „Grammatik“ noch nie gehört hat, kann immer wieder die richtige Verbform produzieren, weil sein Gehirn Muster erkannt und gespeichert hat, die in der enormen Menge an sprachlichen Eingangsdaten enthalten sind, die Kinder von älteren Menschen, mit denen sie interagieren, erhalten.

Erwachsene haben jedoch normalerweise keinen Zugriff auf all diese Eingaben und können Muster nicht auf die gleiche Weise assimilieren, und folglich merken und implementieren wir die linguistischen „Algorithmen“, die es uns ermöglichen, Verben richtig zu konjugieren und Zeitformen zu wählen.

Die Bedeutung der Validierung

Neuronale Netze können äußerst komplexe Probleme lösen, da sie bei reichlicher Eingabe „natürlich“ mathematische Muster finden, ähnlich wie Kinder sprachliche Muster finden. Aber dieser Ansatz zur Signalverarbeitung ist keineswegs unfehlbar.

Denken Sie an englischsprachige Kinder, die „goed“ statt „ging“ oder „holded“ statt „held“ sagen. Diese werden als Überregulierungsfehler bezeichnet. Sie haben das -ed-Muster für die Vergangenheitsform aufgegriffen, aber aus irgendeinem Grund – vielleicht unzureichende Daten oder kognitive Eigenheiten – haben sie ihr linguistisches Modell noch nicht verfeinert, um Verben zu berücksichtigen, die in der Vergangenheitsform unregelmäßig sind.

Natürlich wird niemand einen Vierjährigen dafür kritisieren, dass er sagt:„Ich bin in den Park gegangen“. Aber wenn ein prominenter Politiker eine wichtige Rede hielt und wiederholt sagte „gehe“, „gehalten“, „gefunden“, „gewusst“ usw ein abruptes Ende nehmen.

Diese Überregulierungsfehler sind ein gutes Beispiel dafür, wie ein trainiertes neuronales Netzwerk unerwartete Lücken in seiner Fähigkeit aufweisen kann, die gewünschte Signalverarbeitungsfunktionalität zu erreichen. Und obwohl kleine Lücken unwichtig oder sogar interessant erscheinen mögen, wenn wir nur Experimente durchführen, erinnert uns das Beispiel des Politikers daran, dass sie in einer realen Anwendung katastrophal sein können.

Sowohl Untertraining als auch Übertraining können zu unerwartetem und problematischem Verhalten führen, wenn das Netzwerk mit echten Anwendungsdaten konfrontiert wird. Weitere Informationen finden Sie in Teil 4.

Und jetzt sehen wir, warum die Validierung ein entscheidender Aspekt der Entwicklung neuronaler Netze ist. Training ist nicht genug, da ein Trainingsdatensatz von Natur aus begrenzt ist und daher auch die Reaktion des Netzwerks auf diesen Datensatz begrenzt ist.

Darüber hinaus führt das Training zu einem „Black Box“-Rechensystem, das wir nicht analysieren und bewerten können, als wäre es eine typische Formel oder ein typischer Algorithmus. Daher müssen wir validieren , was ich als alles tun würde, was wir vernünftigerweise tun können, um sicherzustellen, dass das Netzwerk typische reale Eingabedaten erfolgreich verarbeitet und keine spektakulären Fehler produziert, wenn atypische Daten präsentiert werden.

Sortieren der Terminologie

Das Verfahren, das ich als „Validierung“ bezeichne, könnte auch „Verifizierung“ oder einfach „Testen“ genannt werden.

Im Kontext der Softwareentwicklung haben die ersten beiden Begriffe unterschiedliche Bedeutungen. Wikipedia unter Berufung auf Barry Boehm sagt, dass die Verifizierung darauf abzielt, festzustellen, ob das Produkt korrekt gebaut wird, und die Validierung versucht, festzustellen, ob das richtige Produkt gebaut wird. Da beide Punkte wichtig sind, sehen Sie die Abkürzung „V&V“ für „Verifizierung und Validierung“.

Ich bin kein Software-Ingenieur, das bedeutet hoffentlich, dass ich nicht verpflichtet bin, dieses Paradigma zu übernehmen. Ich verwende den Begriff „Validierung“ einfach für Tests, Analysen und Beobachtungen, die wir durchführen, um sicherzustellen, dass das trainierte neuronale Netzwerk die Systemanforderungen erfüllt.

Abschlussgedanken:Was genau ist Validierung?

Nun, das hängt davon ab.

Die NASA hat beispielsweise ein ziemlich langes Dokument mit dem Titel „Verification &Validation of Neural Networks for Aerospace Systems“ veröffentlicht. Wenn Sie mehr an neuronalen Netzwerken V&V interessiert sind als ich, möchten Sie vielleicht mit diesem Dokument beginnen. Wenn Sie ein echter V&V-Eiferer sind, sollten Sie sich das Buch Methods and Procedures for the Verification and Validation of Artificial Neural Networks ansehen; es ist 293 Seiten lang und übersteigt mein Wissen zu diesem Thema sicherlich um mindestens drei Größenordnungen.

In meiner Welt der einfachen neuronalen Netze, die für Versuchs- oder Lehrzwecke entwickelt wurden, bedeutet Validierung in erster Linie, das trainierte Netzwerk mit neuen Daten zu betreiben und die Klassifikationsgenauigkeit zu bewerten verbessert.

Wir werden uns in zukünftigen Artikeln mit bestimmten Validierungstechniken befassen.


Industrieroboter

  1. Elektrische Signaltypen
  2. Was ist ein Netzwerk in eingebetteten Systemen? – Verschiedene Arten von Netzwerken
  3. Ein Crashkurs zur Bereitstellung drahtloser Netzwerke
  4. Multicore-Prozessor integriert neuronale Verarbeitungseinheit
  5. Low-Power-Radarchip verwendet neuronale Spiking-Netzwerke
  6. Verstehen lokaler Minima in neuronalen Netzwerkschulungen
  7. Integrieren von Bias-Knoten in Ihr neuronales Netzwerk
  8. Verwendung neuronaler Netze für schnellere Röntgenbildgebung
  9. 3 Routing-Techniken beim PCB-Design von Hochgeschwindigkeits-Signalschaltungen
  10. Differentiale isometrische Verarbeitung und Simulationsverifizierung von Hochgeschwindigkeits-PCB-Design