Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial Internet of Things >> Eingebettet

Wie man eine Klassifikation mit einem neuronalen Netz durchführt:Was ist das Perzeptron?

Dieser Artikel untersucht die grundlegende Theorie und Struktur einer bekannten neuronalen Netzwerktopologie.

Dies ist der erste einer Reihe von Artikeln, die eine lange Einführung in Design, Training und Evaluierung neuronaler Netze bieten. Das Ziel besteht darin, eine komplexe Klassifizierung mit einem Python-Computerprogramm durchzuführen, das eine neuronale Netzwerkarchitektur implementiert, die als mehrschichtiges Perceptron bekannt ist.

Den Rest der Perceptron-Serie finden Sie hier für Ihre Bequemlichkeit:

  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

Was ist ein neuronales Netzwerk?

Neuronale Netze sind Signalverarbeitungswerkzeuge, die lose auf der Struktur des menschlichen Gehirns basieren. Sie werden typischerweise mit künstlicher Intelligenz (KI) in Verbindung gebracht. Ich mag den Begriff „künstliche Intelligenz“ nicht, weil er ungenau und reduzierend ist. Wenn Sie „Intelligenz“ als die Fähigkeit definieren, numerische Berechnungen schnell durchzuführen, dann sind neutrale Netze definitiv KI. Aber Intelligenz ist meiner Meinung nach viel mehr als das – es ist die Art von Dingen, die designt ein System, das schnell numerische Berechnungen durchführt und dann einen Artikel darüber schreibt und dann über die Bedeutung des Wortes „Intelligenz“ nachdenkt und sich dann fragt, warum Menschen neuronale Netze erstellen und Artikel darüber schreiben.

Außerdem ist künstliche Intelligenz nicht künstlich. Es ist sehr echt Intelligenz, weil es ein mathematisches System ist, das nach der Intelligenz der Menschen arbeitet, die es entwickelt haben.

Neuronale Netze sind Softwareroutinen, die aus vorhandenen Daten „lernen“ und komplexe Probleme der Signalverarbeitung effizient lösen können. Es ist interessant, sie zu studieren und zu experimentieren, und in einigen Fällen übertreffen sie die Fähigkeiten „normaler“ Algorithmen bei weitem. Aber sie werden den Welthunger nicht beseitigen, sie können keine guten Gedichte schreiben, und ich bezweifle, dass sie jemals so sicher Auto fahren werden wie ein Mensch, der nüchtern ist und keine SMS verfasst.

Was ist Perceptron?

Ein grundlegendes neuronales Perceptron-Netzwerk ist konzeptionell einfach. Es kann nur aus zwei Eingabeknoten und einem Ausgabeknoten bestehen, die durch gewichtete Verbindungen verbunden sind:

Die Dimensionalität der Eingabedaten muss der Dimensionalität der Eingabeschicht entsprechen. Der Begriff „Dimensionalität“ kann hier etwas verwirrend sein, da sich die meisten Menschen etwas mit mehr als drei Dimensionen nicht vorstellen können. Dies bedeutet nur, dass Ihre Eingabedaten – beispielsweise ein Muster, das Sie klassifizieren möchten – ein Vektor mit einer bestimmten Länge sind und Ihre Eingabeebene einen Knoten für jedes Element im Vektor haben muss. Wenn Sie also versuchen, ein Muster zu klassifizieren, das durch eine Reihe von 20 Datenpunkten dargestellt wird, haben Sie einen Vektor mit 20 Elementen und benötigen 20 Eingabeknoten.

Ein Ausgabeknoten generiert Daten, die für den Designer von Interesse sind. Die Anzahl der Ausgabeknoten hängt von der Anwendung ab. Wenn Sie eine Ja/Nein-Klassifizierungsentscheidung treffen möchten, benötigen Sie nur einen Ausgabeknoten, selbst wenn Hunderte von Eingabeknoten vorhanden sind. Andererseits, wenn das Ziel darin besteht, einen Eingabevektor in eine von mehreren möglichen Kategorien einzuordnen, haben Sie mehrere Ausgabeknoten.

Daten, die sich von einem Knoten zum anderen bewegen, werden mit Gewichtungen multipliziert. Diese gewöhnlichen Skalarwerte sind eigentlich der Schlüssel zur Funktionalität des Perceptrons:Die Gewichte werden während des Trainingsvorgangs modifiziert, und durch automatisches Anpassen seiner Gewichtungen gemäß den in den Trainingsdaten enthaltenen Mustern erhält das Netzwerk die Fähigkeit, eine nützliche Ausgabe zu erzeugen.

Was passiert in einem Knoten? (AKA Wie funktionieren neuronale Netze?)

Die Knoten in der Eingabeschicht sind nur Verbindungspunkte; sie ändern die Eingabedaten nicht. Die Ausgabeschicht sowie alle zusätzlichen Schichten zwischen Eingabe und Ausgabe enthalten die Rechenknoten des Netzwerks. Wenn numerische Daten an Rechenknoten ankommen, werden sie zuerst summiert und dann einer „Aktivierungsfunktion“ unterzogen:

Der Aktivierungsbegriff geht auf das Verhalten von (biologischen) Neuronen zurück, die über aktive oder inaktive Aktionspotentiale kommunizieren; es ist eher ein digitales Ein/Aus-System als ein analoges System. Im Zusammenhang mit (künstlichen) neuronalen Netzen können Knoten – die auch (künstliche) Neuronen genannt werden – neuronales Verhalten imitieren, indem sie eine Schwellenwertfunktion anwenden, die 1 ausgibt, wenn die Eingabe größer als der Schwellenwert ist, und ansonsten 0.

Das folgende Diagramm vermittelt die Eingabe-Ausgabe-Beziehung der grundlegenden Aktivierungsfunktion "Einheitsschritt".

Durch Einfügen dieser Schwellentransformation in die Ausbreitung der Daten von Knoten zu Knoten führen wir Nichtlinearität in das System ein, und ohne diese Nichtlinearität ist die Funktionalität eines neuronalen Netzes sehr eingeschränkt. Die Theorie hier ist komplex, aber die allgemeine Idee (glaube ich) ist, dass Kombinationen linearer Transformationen, selbst wenn diese linearen Transformationen viele Male auftreten, niemals in der Lage sein werden, die Beziehungen anzunähern, die komplexe Naturphänomene und anspruchsvolle Signalverarbeitungsaufgaben charakterisieren.

Trotz der Tatsache, dass echte Neuronen nach einer Art An/Aus-Modell arbeiten, ist der Schwellenwertansatz für die (künstliche) Aktivierung neuronaler Netze nicht optimal. Wir werden dieses Thema in einem zukünftigen Artikel erneut aufgreifen.

Schlussfolgerung

Wir haben die grundlegendsten Elemente des Perceptron behandelt, und im nächsten Artikel werden wir diese Teile zusammensetzen und sehen, wie ein rudimentäres System funktioniert.

Neuronale Netze sind ein umfangreiches Thema, und ich warne Sie, dass dies eine lange Reihe werden könnte. Aber ich denke, es wird gut.


Eingebettet

  1. Was ist Cloud Computing und wie funktioniert die Cloud?
  2. Was ist Mikrolernen? Wie es 2021 die Welt verändern wird
  3. Was KI an den Rand treibt
  4. Wie das Netzwerk-Ökosystem die Zukunft der Farm verändert
  5. Was ist ein intelligentes Netzwerk und wie könnte es Ihrem Unternehmen helfen?
  6. Was ist ein Netzwerksicherheitsschlüssel? Wie finde ich es?
  7. Wie Hersteller Automatisierung nutzen, um den E-Commerce-Boom zu bewältigen
  8. Welche Rolle spielt der Positionierzylinder? Wie funktioniert es?
  9. Was ist ein Verdichter und wie wähle ich den richtigen aus?
  10. Was sind die Vorteile der Verwendung von duktilen Rohren aus Eisen?