3 Deep Learning Architekturen, die in der menschlichen Sprache erklärt werden.

“Deep” Learning hat in den letzten Jahren viel Aufmerksamkeit erregt. Und das aus gutem Grund: Diese Teilmenge des maschinellen Lernens hat sich in mehreren Forschungsbereichen eindrucksvoll hervorgetan: Gesichtserkennung, Sprachsynthese, maschinelle Übersetzung und vieles mehr.

Diese Forschungsgebiete haben gemeinsam, dass es sich um Wahrnehmungsprobleme im Zusammenhang mit unseren Sinnen und unserem Ausdruck handelt. Sie stellen seit langem eine echte Herausforderung für die Forscher dar, da es äußerst schwierig ist, Vision oder Stimme mit Hilfe von Algorithmen und mathematischen Formeln zu modellieren.

Infolgedessen wurden die ersten Modelle, die in diesen Bereichen implementiert wurden, mit viel Geschäftserfahrung erstellt (in der Spracherkennung: Zerlegung in Phoneme, in der maschinellen Übersetzung: Anwendung grammatikalischer und syntaktischer Regeln). Jahrelange Forschungsarbeit widmet sich der Nutzung und Verarbeitung dieser unstrukturierten Daten, um Bedeutung zu gewinnen.

Das Problem ist, dass diese neuen Darstellungen von Daten, die von Forschern erfunden wurden, es versäumt haben, Text, Ton oder Bild vollständig zu verallgemeinern. Wenn Sie Google Translate vor 2014, dem Jahr, in dem sie zu einem 100%igen Deep-Learning-Modell gewechselt haben, verwendet haben, werden Sie sich an die offensichtlichen Einschränkungen dieser Zeit erinnern.

Deep Learning stellt sich direkt auf die Rohdaten, ohne Verzerrung oder Voraggregation. Dann, dank einer sehr großen Anzahl von Parametern, die sich beim Lernen selbst anpassen, wird aus impliziten Verbindungen lernen, die in den Daten vorhanden sind.

Bevor wir auf drei verschiedene Algorithmen * eingehen, die im Deep Learning für verschiedene Anwendungsfälle verwendet werden, lassen Sie uns zunächst einfach das Modell definieren, das das Herzstück des Deep Learning bildet: das “neuronale Netzwerk”.

* Wir sprechen auch über verschiedene Netzwerkarchitekturen.

1. NEURONALE NETZE

Lassen Sie mich zunächst sagen, dass neuronale Netze sehr wenig mit dem neuronalen System und dem Gehirn zu tun haben. Die Analogie zwischen einem Neuron und einem neuronalen Einneuronennetzwerk ist im Wesentlichen grafisch, sofern ein Informationsfluss von einem Ende zum anderen Netzwerk stattfindet.

neural network vs neuron

 

Die erste Schicht eines neuronalen Netzwerks wird als Eingangsschicht bezeichnet. Durch diese Schicht gelangen Ihre Daten in das Netzwerk. Bevor Sie das Netzwerk mit Ihren Daten “füttern” können, müssen Sie es in Nummern ändern, falls dies noch nicht geschehen ist.

Wir nehmen das Beispiel der Stimmungsanalyse von Textdaten.

Nehmen wir an, Sie haben 10.000 Kommentare zu Ihrer E-Commerce-Website über verkaufte Produkte:

Mit Ihrem Team haben Sie 1000 von ihnen (wir werden sehen, dass Sie sich auch auf vortrainierte neuronale Netze verlassen können) in 3 Klassen eingeteilt (zufrieden | neutral | unzufrieden). Diese Anzahl von 3 Klassen, oft im Sinne der Analyse, ist ein Beispiel und Sie können tatsächlich mehr einstellen.

– “Ich liebte es, sehr guter Geschmack”;

– “Mir gefiel die Verpackung nicht so sehr”;

– “Ich dachte, es wäre ziemlich gut.”

Die letzte Schicht, die Ausgabeschicht genannt wird, liefert Ihnen die Klassifizierung “zufrieden / neutral / unzufrieden”.

Und alle Schichten zwischen der Ein- und Ausgabeschicht, die sogenannten “versteckten” Schichten, sind alle unterschiedliche Darstellungen der Daten. Eine Darstellung kann die Anzahl der Wörter in einem Satz, die Anzahl der Interpunktion (?!) in einem Satz usw. sein. Sie müssen dem Netzwerk diese Darstellungen nicht angeben; wenn sie statistisch gesehen dazu beitragen, die Sätze, die das Netzwerk allein unterrichtet, korrekt zu klassifizieren.

 

simple neural network

Um diese Schichten zu veranschaulichen, nehmen Sie ein weiteres Beispiel: das des geschätzten Preises eines Hauses.

Wie wir hier sehen können, nehmen wir vier Eingabevariablen: die Größe des Hauses, die Anzahl der Schlafzimmer, die Postleitzahl und den Grad des Reichtums der Gegend. Das Ergebnis ist nicht zu klassifizieren, sondern eine Zahl vorherzusagen: den Preis des Hauses. Dies ist ein Problem, das als Regression bekannt ist.

Die kursiv gedruckten Wörter zu Beispielen von Darstellungen, dass das neuronale Netzwerk die Daten macht, nachdem es viele gesehen hat.

Die Parameter des Netzwerks werden durch einen Prozess namens “Backpropagation” aktualisiert. Und je mehr versteckte Schichten es im Netzwerk gibt, desto “tiefer” ist es, daher der Name “Deep” Learning.

Lassen Sie uns nun 3 verschiedene Arten von Architekturen neuronaler Netze sehen.

2. FALTUNGSNEURONALE NETZE (CNN)

Diese Netzwerke werden für alle Anwendungsfälle rund um Bild oder Video verwendet, die Gesichtserkennung oder Bildklassifizierung beinhalten.

Zum Beispiel hat Bai Du (das Äquivalent zu Google in China) Portale mit Gesichtserkennung eingerichtet, um nur Mitarbeiter des Unternehmens betreten zu können.

Snapchat und viele mobile Anwendungen haben die Durchbrüche des Deep Learning und CNNs genutzt, um ihre Gesichtserkennungskapazitäten zu erhöhen, um zusätzliche Schichten auf Ihrem Gesicht hinzuzufügen, wie lustige Hasenohren und eine rosa Nase.

convolutional neural network

Der Name “Faltung” kommt von einer mathematischen Operation: Faltung zwischen Funktionen.

Einfach ausgedrückt, die Faltung wendet einen Filter auf das Eingangsbild an, die Filterparameter werden durch das Lernen gelernt. Ein erlernter Filter ist in der Lage, Merkmale in einem Bild, z.B. Winkel, zu erkennen und damit das Bild bestenfalls zu klassifizieren.

Das Bild wird zunächst in 3 Kanäle (R, G, B) Pixel pro Pixel zerlegt, wir erhalten drei Matrizen der Größe n x n (wobei n die Anzahl der Pixel ist).

Unten ist ein Beispiel für eine Faltung mit einer 6 x 6 großen Matrix:

neural network convolution

Es ist wichtig, zwei wichtige Vorteile der Faltungsnetze zu beachten:

  • Das Netzwerk kann durch Schritte lernen, Merkmale in einem Bild zu erkennen. Um zum Beispiel ein Gesicht zu erkennen: Es wird lernen, zuerst die Augenlider und Pupillen zu erkennen und dann die Augen zu erkennen;
  • sobald ein Element an einem gelernten Bildort ist, kann das Netzwerk es an einer anderen Stelle im Bild erkennen.

3. WIEDERKEHRENDE NEURONALE NETZE (RNN)

Wiederkehrende neuronale Netze sind der Kern vieler wesentlicher Verbesserungen in so unterschiedlichen Bereichen wie Spracherkennung, automatische Musikkomposition, Stimmungsanalyse, DNA-Sequenzanalyse, maschinelle Übersetzung.

Der Hauptunterschied zu anderen neuronalen Netzen besteht darin, dass sie eine Folge von Daten berücksichtigen, die sich oft im Laufe der Zeit entwickelt. Bei der Analyse von Zeitdaten (Zeitreihen) hat das Netzwerk beispielsweise noch einen Teil oder alle Beobachtungen vor den zu analysierenden Daten im Speicher.

Das Muster dieses Netzwerks wird hier erzeugt:

recurrent neural network

Anstatt getrennt eingegebene Daten zu berücksichtigen (so wie ein CNN das Bild pro Bild analysieren würde), berücksichtigt das wiederkehrende Netzwerk die zuvor verarbeiteten Daten.

Einige Architekturen, die als bidirektional bezeichnet werden, können auch zukünftige Daten berücksichtigen. Zum Beispiel bei der Analyse von Texten, um benannte Einheiten (Personen, Unternehmen, Länder usw.) zu identifizieren, müsste das Netzwerk die Wörter des ganzen Satzes sehen.

Beispiel:

  • “Ich sehe,[Jean] Valjean ist dir immer noch entkommen, Javert!”
  • “Ich sehe, dass[Jean] R. in dieser Adaption von’Les Misérables’ spielt”.

Der Anfang des Satzes (unterstrichen) reicht nicht aus, um festzustellen, wer Jean ist.

 

4. AUTOENCODERS

Autoencoder werden hauptsächlich zur Erkennung von Anomalien eingesetzt (z.B. zur Erkennung von Betrug im Bankensektor oder zur Fehlersuche in einer industriellen Produktionslinie). Sie können auch zur Reduzierung der Dimensionalität eingesetzt werden (nahe dem Ziel einer Hauptkomponentenanalyse). Tatsächlich ist das Ziel von Autoencodern, der Maschine beizubringen, was “normale” Daten sind.

Die Architektur unseres Netzwerks ist die folgende:

autoencoder

Das Netzwerk stellt daher Daten durch eine oder mehrere versteckte Schichten dar, so dass die Ausgabe so nah wie möglich an den Eingangsdaten liegt.

Das Ziel, die gleichen Daten wie die Ausgabe des Netzwerks zurückzufinden, ist charakteristisch für Autoencoder (analog zur Identitätsfunktion f (x) = x).

Die Kodierungs- und Dekodierungsstufe ist jedoch nicht spezifisch für Autoencoder. Tatsächlich sind sie in der maschinellen Übersetzung in wiederkehrenden neuronalen Netzen zu finden.

Nach dem Training des Netzwerks mit genügend Daten ist es möglich, verdächtige oder anomale Beobachtungen zu identifizieren, wenn sie einen bestimmten Schwellenwert im Vergleich zum neuen “Standard” überschreiten.

Fazit:

Wir sahen 3 Haupttypen von neuronalen Netzen:

  • Convolution vernetzt sich mit Anwendungen in der Gesichtserkennung und Bildklassifikation;
  • Wiederkehrende Netzwerke mit Anwendungen in den Bereichen Zeitreihen, Text- und Sprachanalyse;
  • Autoencoder mit Anwendungen zur Erkennung von Anomalien sowie zur Reduzierung der Dimensionalität.

Es gibt auch andere Architekturen wie GANs, generative gegnerische Netzwerke, die sich aus einem Modell zusammensetzen, das Kandidaten für eine bestimmte Aufgabe erzeugt, z.B. die Erstellung von Bildern, und einer anderen, die die verschiedenen Ergebnisse bewertet. Oder Reinforcement Learning, eine Methode, mit der Deepmind seine Alpha Go und Alpha Go Zero Modelle trainiert.

Natürlich gibt es Grenzen: Zum Beispiel ist es möglich, das Faltungsnetzwerk zu täuschen, indem man einen bestimmten Ton zu einem Bild hinzufügt, das für das menschliche Auge nicht wahrnehmbar ist, aber für ein Modell, das nicht ausreichend getestet wurde, fatal sein kann. Neue Architekturen wie Kapsel-Netzwerke haben sich zusammengeschlossen, um diesem besonderen Problem zu begegnen.

Alles in allem ist es sicher, dass tiefes Lernen eine vielversprechende Zukunft hat, da viele Geschäftsanwendungen kommen werden.

Gaël Bonnardot,

Cofounder and CTO at Datakeen


At Datakeen we seek to simplify the use and understanding of new machine learning paradigms by the business functions of all industries.

Contact us for more information: contact@datakeen.co

Ein Gedanke zu „3 Deep Learning Architekturen, die in der menschlichen Sprache erklärt werden.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.