Was ist ein neuronales Netzwerk?
Ein neuronales Netzwerk ist eine Methode der künstlichen Intelligenz (KI), die Computern beibringt, Daten auf eine Weise zu verarbeiten, die den Vorgängen des menschlichen Gehirns ähnelt. Es handelt sich um einen Vorgang des Machine Learning (ML), der als Deep Learning bezeichnet wird und miteinander verbundene Knoten oder Neuronen in einer Schichtstruktur verwendet, die dem menschlichen Gehirn ähnelt. Auf diese Weise wird ein lernfähiges System geschafft, das von Computer benutzt werden kann, um aus Fehlern zu lernen und sich ständig zu verbessern. So versuchen künstliche neuronale Netzwerke, komplizierte Probleme, wie das Zusammenfassen von Dokumenten oder das Erkennen von Gesichtern, mit wachsender Genauigkeit zu lösen.
Warum sind neuronale Netzwerke wichtig?
Neuronale Netzwerke können Computern helfen, intelligente Entscheidungen mit begrenzter menschlicher Unterstützung zu treffen. Dies liegt daran, dass sie die nichtlinearen und komplexen Beziehungen zwischen Eingabe- und Ausgabedaten lernen und modellieren können. Sie können zum Beispiel die folgenden Aufgaben erledigen.
Verallgemeinerungen machen und Schlussfolgerungen ziehen
Neuronale Netzwerke können ohne explizites Training unstrukturierte Daten verstehen und allgemeine Beobachtungen machen. Beispielsweise können sie erkennen, dass zwei verschiedene Eingabesätze eine ähnliche Bedeutung haben:
- Können Sie mir sagen, wie ich die Zahlung vornehmen soll?
- Wie überweise ich Geld?
Ein neuronales Netzwerk würde wissen, dass beide Sätze dasselbe bedeuten. Oder es wäre in der Lage, allgemein zu erkennen, dass Baxter Road ein Ort ist, Baxter Smith jedoch der Name einer Person ist.
Wofür werden neuronale Netzwerke verwendet?
Neuronale Netzwerke haben mehrere Anwendungsfälle in vielen Branchen, darunter die folgenden:
- Medizinische Diagnose durch medizinische Bildklassifizierung
- Gezieltes Marketing durch Filterung sozialer Netzwerke und Analyse von Verhaltensdaten
- Finanzprognosen durch Verarbeitung historischer Daten von Finanzinstrumenten
- Prognose der elektrischen Last und des Energiebedarfs
- Prozess- und Qualitätskontrolle
- Identifizierung chemischer Verbindungen
Im Folgenden geben wir vier der wichtigsten Anwendungen neuronaler Netzwerke an.
Computer Vision
Computer Vision ist die Fähigkeit von Computern, Informationen und Erkenntnisse aus Bildern und Videos zu extrahieren. Mit neuronalen Netzwerken können Computer menschenähnliche Bilder unterscheiden und erkennen. Computer Vision hat mehrere Anwendungen, wie z. B. die folgenden:
- Visuelle Erkennung in selbstfahrenden Autos, damit sie Verkehrszeichen und andere Verkehrsteilnehmer erkennen können
- Inhaltsmoderation zum automatischen Entfernen unsicherer oder unangemessener Inhalte aus Bild- und Videoarchiven
- Gesichtserkennung, um Gesichter zu identifizieren und Merkmale wie offene Augen, Brillen und Gesichtsbehaarung zu erkennen
- Bildmarkierung zur Kennzeichnung von Markenlogos, Kleidung, Sicherheitsausrüstung und anderen Bilddetails
Spracherkennung
Neuronale Netzwerke können die menschliche Sprache trotz unterschiedlicher Sprachmuster, Tonhöhe, Tonlage, Sprache und Akzent analysieren. Virtuelle Assistenten wie Amazon Alexa und automatische Transkriptionssoftware verwenden Spracherkennung, um Aufgaben wie diese zu erledigen:
- Callcenter-Kundendienstmitarbeiter unterstützen und Anrufe automatisch klassifizieren
- Klinische Gespräche in Echtzeit in Dokumente umwandeln
- Videos und Besprechungs-Aufzeichnungen mit genauen Untertitel versehen, um eine größere Reichweite der Inhalte zu erzielen
Natürliche Sprachverarbeitung
Natürliche Sprachverarbeitung (NLP) ist die Fähigkeit, natürlichen, von Menschen erstellten Text zu verarbeiten. Neuronale Netzwerke helfen Computern dabei, Erkenntnisse und Bedeutungen aus Textdaten und Dokumenten zu gewinnen. NLP hat mehrere Anwendungsfälle, einschließlich dieser Funktionen:
- Automatisierte virtuelle Kundendienstmitarbeiter und Chatbots
- Automatische Organisation und Klassifizierung von geschriebenen Daten
- Business-Intelligence-Analyse von Langform-Dokumenten wie E-Mails und Formularen
- Indexierung von Schlüsselwörtern, die Stimmungen anzeigen, wie positive und negative Kommentare in sozialen Medien
- Zusammenfassung von Dokumenten und Generieren von Artikeln zu einem bestimmten Thema
Empfehlungsmodule
Neuronale Netzwerke können Benutzeraktivitäten verfolgen, um personalisierte Empfehlungen zu entwickeln. Sie können auch das gesamte Benutzerverhalten analysieren und neue Produkte oder Services entdecken, die einen bestimmten Benutzer interessieren. Zum Beispiel hilft Curalate, ein in Philadelphia ansässiges Startup, Marken dabei, Beiträge in sozialen Netzwerken in Verkäufe umzuwandeln. Marken nutzen den intelligenten Produkt-Markierungs-Service (IPT) von Curalate, um die Erfassung und Pflege von nutzergenerierten sozialen Inhalten zu automatisieren. IPT verwendet neuronale Netzwerke, um automatisch Produkte zu finden und zu empfehlen, die für die Social-Media-Aktivitäten des Benutzers relevant sind. Verbraucher müssen nicht durch Online-Kataloge suchen, um ein bestimmtes Produkt auf einem Bild in sozialen Netzwerken zu finden. Stattdessen können sie die automatische Produktkennzeichnung von Curalate verwenden, um das Produkt problemlos zu kaufen.
Wie funktionieren neuronale Netzwerke?
Das menschliche Gehirn ist die Inspiration hinter der Architektur neuronaler Netzwerke. Menschliche Gehirnzellen, sogenannte Neuronen, bilden ein komplexes, stark miteinander verbundenes Netzwerk und senden einander elektrische Signale, um Menschen bei der Verarbeitung von Informationen zu unterstützen. In ähnlicher Weise besteht ein künstliches neuronales Netzwerk aus künstlichen Neuronen, die zusammenarbeiten, um ein Problem zu lösen. Künstliche Neuronen sind Softwaremodule, sogenannte Knoten, und künstliche neuronale Netzwerke sind Softwareprogramme oder Algorithmen, die im Kern Computersysteme verwenden, um mathematische Berechnungen zu lösen.
Einfache neuronale Netzwerkarchitektur
Ein grundlegendes neuronales Netzwerk hat künstliche Neuronen in drei Schichten miteinander verbunden:
Eingabeschicht
Informationen von der Außenwelt gelangen über die Eingabeschicht in das künstliche neuronale Netzwerk. Eingangsknoten verarbeiten die Daten, analysieren oder kategorisieren sie und geben sie an die nächste Schicht weiter.
Zwischenschicht
Zwischenschichten erhalten ihre Eingabe von der Eingabeschicht oder anderen Zwischenschichten. Künstliche neuronale Netzwerke können eine große Anzahl von Zwischenschichten haben. Jede Zwischenschicht analysiert die Ausgabe der vorherigen Schicht, verarbeitet sie weiter und gibt sie an die nächste Schicht weiter.
Ausgabeschicht
Die Ausgabeschicht liefert das Endergebnis der gesamten Datenverarbeitung durch das künstliche neuronale Netzwerk. Sie kann einen oder mehrere Knoten haben. Wenn wir beispielsweise ein binäres (ja/nein) Klassifizierungsproblem haben, hat die Ausgabeschicht einen Ausgabeknoten, der das Ergebnis als 1 oder 0 ausgibt. Wenn wir jedoch ein Klassifizierungsproblem mit mehreren Klassen haben, kann die Ausgabeschicht aus mehr als einem Ausgabeknoten bestehen.
Tiefe neuronale Netzwerkarchitektur
Tiefe neuronale Netzwerke oder Deep-Learning-Netzwerk haben mehrere Zwischenschichten mit Millionen von künstlichen Neuronen, die miteinander verbunden sind. Eine Zahl, die sogenannte Gewichtung, stellt die Verbindungen zwischen einem Knoten und einem anderen dar. Die Gewichtung ist eine positive Zahl, wenn ein Knoten einen anderen erregt, oder negativ, wenn ein Knoten den anderen unterdrückt. Knoten mit höheren Gewichtungswerten haben mehr Einfluss auf die anderen Knoten.
Theoretisch können tiefe neuronale Netzwerke jeden Eingabetyp jedem Ausgabetyp zuordnen. Sie benötigen jedoch auch viel mehr Training im Vergleich zu anderen Machine-Learning-Methoden. Sie benötigen Millionen von Beispielen für Trainingsdaten und nicht vielleicht die Hunderte oder Tausende, die ein einfacheres Netzwerk benötigen könnte.
Welche Arten von neuronalen Netzwerken gibt es?
Künstliche neuronale Netzwerke können danach kategorisiert werden, wie die Daten vom Eingangsknoten zum Ausgangsknoten fließen. Es folgen einige Beispiele:
Vorwärtsgerichtete neuronale Netzwerke
Vorwärtsgerichtete neuronale Netzwerke verarbeiten Daten in einer Richtung, vom Eingangsknoten zum Ausgangsknoten. Jeder Knoten in einer Schicht ist mit jedem Knoten in der nächsten Schicht verbunden. Ein vorwärtsgerichtetes Netzwerk verwendet einen Feedback-Prozess, um Prognosen im Laufe der Zeit zu verbessern.
Rückwärtspropagierungs-Algorithmus
Künstliche neuronale Netzwerk lernen kontinuierlich, indem sie korrigierende Feedback-Schleifen verwenden, um ihre prädiktive Analytik zu verbessern. Einfach ausgedrückt können Sie sich vorstellen, dass die Daten vom Eingabeknoten zum Ausgabeknoten über viele verschiedene Pfade im neuronalen Netzwerk fließen. Nur ein Pfad ist der richtige, der den Eingangsknoten dem richtigen Ausgangsknoten zuordnet. Um diesen Weg zu finden, verwendet das neuronale Netzwerk eine Feedback-Schleife, die wie folgt funktioniert:
- Jeder Knoten macht eine Vermutung über den nächsten Knoten im Pfad.
- Er prüft, ob die Vermutung richtig war. Knoten weisen Pfaden höhere Gewichtungswerte zu, die zu korrekteren Schätzungen führen und niedrigere Gewichtungswerte Knotenpfaden, die zu falschen Schätzungen führen.
- Für den nächsten Datenpunkt machen die Knoten eine neue Prognose unter Verwendung der höher gewichteten Pfade und wiederholen dann Schritt 1.
Konvolutionale neuronale Netzwerke
Die Zwischenschichten in konvolutionalen neuronalen Netzwerken führen bestimmte mathematische Funktionen aus, wie das Zusammenfassen oder Filtern, die als Konvolutionen bezeichnet werden. Sie sind sehr nützlich für die Bildklassifizierung, da sie relevante Merkmale aus Bildern extrahieren können, die für die Bilderkennung und -klassifizierung nützlich sind. Das neue Formular ist einfacher zu verarbeiten, ohne dass Funktionen verloren gehen, die für eine gute Prognose entscheidend sind. Jede Zwischenschicht extrahiert und verarbeitet verschiedene Bildmerkmale wie Kanten, Farbe und Tiefe.
Wie trainiert man neuronale Netzwerke?
Das Training neuronaler Netzwerke ist der Prozess, bei dem einem neuronalen Netzwerk beigebracht wird, eine Aufgabe auszuführen. Neuronale Netzwerke lernen, indem sie zunächst mehrere große Mengen markierter oder nicht markierter Daten verarbeiten. Anhand dieser Beispiele können sie dann unbekannte Eingaben genauer verarbeiten.
Supervised Learning
Beim Supervised Learning geben Datenwissenschaftler künstlichen neuronalen Netzwerken markierte Datensätze, die schon im Vorfeld die richtige Antwort liefern. Beispielsweise verarbeitet ein Deep-Learning-Netzwerktraining in Gesichtserkennung zunächst Hunderttausende von Bildern menschlicher Gesichter, wobei jedes Bild mit verschiedenen Begriffen im Zusammenhang mit ethnischer Herkunft, Land oder Emotion beschrieben wird.
Aus diesen Datensätzen baut das neuronale Netzwerke langsam Wissen auf, das schon im Vorfeld die richtige Antwort liefert. Nachdem das Netzwerk trainiert wurde, beginnt es, Vermutungen über die ethnische Herkunft oder Emotion eines neuen Bildes eines menschlichen Gesichts anzustellen, das es noch nie zuvor verarbeitet hat.
Was ist Deep Learning im Zusammenhang mit neuronalen Netzwerken?
Künstliche Intelligenz ist das Gebiet der Informatik, das Methoden erforscht, um Maschinen die Fähigkeit zu geben, Aufgaben auszuführen, die menschliche Intelligenz erfordern. Machine Learning ist eine Technik der künstlichen Intelligenz, die Computern Zugriff auf sehr große Datensätze ermöglicht und ihnen beibringt, aus diesen Daten zu lernen. Software für Machine Learning findet Muster in vorhandenen Daten und wendet diese Muster auf neue Daten an, um intelligente Entscheidungen zu treffen. Deep Learning ist eine Teilmenge von Machine Learning, das Deep-Learning-Netzwerke zur Verarbeitung von Daten verwendet.
Machine Learning gegenüber Deep Learning
Herkömmliche Machine-Learning-Methoden erfordern menschliche Eingaben, damit die Machine-Learning-Software ausreichend gut funktioniert. Ein Datenwissenschaftler bestimmt manuell den Satz relevanter Merkmale, die die Software analysieren muss. Dies schränkt die Möglichkeiten der Software ein, was die Erstellung und Verwaltung mühsam macht.
Andererseits gibt der Datenwissenschaftler beim Deep Learning nur Rohdaten an die Software weiter. Das Deep-Learning-Netzwerk leitet die Funktionen selbst ab und lernt selbstständiger dazu. Es kann unstrukturierte Datensätze wie Textdokumente analysieren, identifizieren, welche Datenattribute priorisiert werden müssen und komplexere Probleme lösen.
Wenn Sie beispielsweise eine Software für Machine Learning trainieren, um ein Bild eines Haustieres korrekt zu identifizieren, müssten Sie die folgenden Schritte ausführen:
- Tausende von Haustierbildern wie Katzen, Hunde, Pferde, Hamster, Papageien usw. manuell suchen und Markieren.
- Der Software für Machine Learning mitteilen, nach welchen Merkmalen sie suchen soll, damit sie das Bild durch einen Prozess der Eliminierung identifizieren kann. Zum Beispiel könnte sie die Anzahl der Beine zählen und dann auf Augenform, Ohrform, Schwanz, Fell usw. prüfen.
- Die beschrifteten Datensätze manuell bewerten und ändern, um die Genauigkeit der Software zu verbessern. Wenn Ihr Trainingssatz beispielsweise zu viele Bilder von schwarzen Katzen enthält, erkennt die Software korrekt eine schwarze Katze, aber keine weiße.
- Beim Deep Learning würden die neuronalen Netzwerke jedoch alle Bilder verarbeiten und automatisch feststellen, dass sie zuerst die Anzahl der Beine und die Gesichtsform analysieren und dann zuletzt auf die Schwänze schauen müssen, um das Tier im Bild richtig zu identifizieren.
Was sind Deep-Learning-Services auf AWS?
AWS-Services zum Deep Learning nutzen die Leistungsfähigkeit von Cloud Computing, sodass Sie Ihre neuronalen Deep-Learning-Netzwerke kostengünstiger skalieren und auf Geschwindigkeit optimieren können. Sie können auch AWS-Services wie diese verwenden, um bestimmte Deep-Learning-Anwendungen vollständig zu verwalten:
- Amazon Rekognition, um Ihrer Anwendung vortrainierte oder anpassbare Computer-Vision-Funktionen hinzuzufügen.
- Amazon Transcribe, um Sprache automatisch zu erkennen und genau zu transkribieren.
- Amazon Lex zum Erstellen intelligenter Chatbots, die Absichten verstehen, den Konversationskontext aufrechterhalten und einfache Aufgaben in vielen Sprachen automatisieren.
Beginnen Sie Ihre ersten Schritte mit neuronalen Deep-Learning-Netzwerken auf AWS mit Amazon SageMaker zum schnellen und einfachen Entwickeln, Trainieren und Bereitstellen von Modellen nach Maß. Sie können außerdem die AWS Deep Learning-AMIs verwenden, um benutzerdefinierte Umgebungen und Workflows für das Deep Learning zu erstellen.
Erstellen Sie ein kostenloses AWS-Konto, um noch heute loszulegen!