“Deep” Learning has attracted much attention during these past years. And for a good reason: this subset of machine learning has stood out impressively in several research fields: facial recognition, speech synthesis, machine translation, and many others.

These research fields have in common to be perceptual problems related to our senses and our expression. They have long represented a real challenge for researchers because it is extremely difficult to model vision or voice by means of algorithms and mathematical formulas.

As a result, the first models that have been implemented in these fields have been constructed with a good deal of business expertise (in speech recognition: decomposition into phonemes, in machine translation: application of grammatical and syntactic rules). Years of research have been dedicated to the exploitation and processing of these non-structured data in order to derive meaning.

The problem is that these new representations of data invented by researchers have failed to generalize at full extent to any text, sound or image. If you used Google Translate before 2014, year when they switched to a 100% deep learning model, you will remember the obvious limitations at the time.

Deep learning places itself directly on top of raw data without distortion or pre-aggregation. Then, thanks to a very large number of parameters that self-adjust over learning, will learn from implicit links existing in the data.

Before going into details of three different algorithms * used in deep learning for different use cases, let’s start by simply defining the model at the heart of deep learning: the “neural network”.

* We also talk about different network architectures.

 

1. Neural networks

 

 

Let me begin by saying that neural networks have very little to do with the neural system and the brain. The analogy between a neuron and a one-neuron neural network is essentially graphic, insofar as there is a flow of information from one end to the other network.

neural network vs neuron

The first layer of a neural network is called the input layer. It is through this layer that your data will enter the network. Prior to “feeding” the network with your data you will need to change it to numbers if they are not already.

We’ll take the example of sentiment analysis on textual data.

Let’s say you have 10,000 comments on your ecommerce website about products sold:

With your team you have labeled 1000 of them (we’ll see that you can also rely on pre-trained neural networks) into 3 classes (satisfied | neutral | dissatisfied). This number of 3 classes, often taken in the sense of analysis, is an example and you can actually set more.

– “I loved it, very good taste”;

– “I didn’t like the packaging that much”;

– “I thought it was pretty good”

The final layer, called output layer, will provide you with the classification “satisfied / neutral / dissatisfied”.

And all layers between the input and output layer, layers called “hidden” are all different representations of the data. A representation may be the number of words in a sentence, the number of punctuation (?!) in a sentence, etc. You will not have to specify the network these representations; if statistically they help to correctly classify the sentences the network will teach alone.

simple neural network

 

To illustrate these layers take another example: that of the estimated price of a home.

As we can see here we take four input variables: the size of the house, number of bedrooms, the postal code and the degree of richness of the area. The output is not seeking to classify but to predict a number: the price of the house. This is a problem known as regression.

The italicized words to examples of representations that the neural network will make the data after having seen many.

The parameters of the network are updated thanks to a process called “backpropagation”. And the more hidden layers there are in the network the “deeper” it is, hence the name “Deep” Learning.

Let us now see 3 different types of architectures of neural networks.

 

2. Convolutional Neural Networks (CNN)

 

These networks are used for all use cases around image or video which include face recognition or image classification.

For example Bai Du (the equivalent of Google in China) has set up portals powered by face recognition to let enter only employees of the company.

Snapchat and many mobile applications have leveraged the breakthroughs of deep learning and CNNs to increase their face recognition capacities in order to add extra layers on your face such as funny bunny ears and a pink nose.

convolutional neural network

The name “convolution” comes from a mathematical operation: convolution between functions.

Put simply, the convolution applies a filter to the input image, the filter parameters are learned through the learning. A learnt filter will be able of detecting features in an image, for example angles, and use them to classify at best the image.

The image is first decomposed into 3 channels (R, G, B) pixels per pixel, we obtain three matrices of size n x n (where n is the number of pixels).

Below is an example of a convolution with a 6 x 6 size matrix:

neural network convolution

It is important to note two important advantages inherent to convolutional networks:

  • the network can learn by steps to recognize characteristics in an image. To recognize a face for instance: it will learn to recognize first of eyelids and pupils, and then recognize eyes;
  • once an item to a learned image place the network will be able to recognize it anywhere else in the picture.

 

 

3. Recurrent neural networks (RNN)

 

Recurrent neural networks are at the heart of many substantial improvements in areas as diverse as speech recognition, automatic music composition, sentiment analysis, DNA sequence analysis, machine translation.

 

The main difference with other neural networks is that they take into account a sequence of data, often a sequence evolving over time. For example in the case of analyzing temporal data (time series) the network will still have in memory a part or all of the observations previous to the data being analyzed.

 

The pattern of this network is produced here:

 

recurrent neural network

Instead of taking into account separately input data (in the way a CNN would analyse image per image) the recurrent network takes into account data previously processed.

Some architectures, called bidirectional, can also take into account future data. For instance when analyzing text to identify named entities (people, companies, countries, etc.) the network would need to see the words of the whole sentence.

Example:

  • I see [Jean] Valjean still have escaped you, Javert!”
  • I see [Jean] R. plays in this adaptation of ‘Les Misérables’”.

The beginning of the sentence (underlined) is not enough to identify who is ‘Jean’.

 

4. Autoencoders

 

Autoencoders are applied mainly to anomaly detection (for example to detect fraud in banking or to find faults in an industrial production line). They can also be used in dimensionality reduction (close to the objective of a Principal Component Analysis). Indeed the goal of autoencoders is to teach the machine what constitutes “normal” data.

The architecture of our network is the following:

autoencoder

The network will therefore represent data through one or more hidden layers so that the output will be as close as possible to the input data.

The objective to find the same data back as the output of the network is characteristic of autoencoders (analogous to the identity function f (x) = x).

The encoding and decoding stage it is not however specific to autoencoders. Indeed, they are found in machine translation in recurrent neural networks.

After training the network with enough data it will be possible to identify suspicious or anomalous observations when they exceed a certain threshold compared to the new “standard”.

 

Conclusion:

We saw 3 major types of neural networks:

  • Convolution networks with applications in facial recognition and image classification;
  • Recurrent networks with applications in the timeseries, text and voice analysis;
  • Autoencoders with applications to anomaly detection as well as dimensionality reduction.

Other architectures exist such as GANs, generative adversarial networks, which are composed of a model generating candidates for a given task, for example image creation, and another that evaluates the different outputs. Or Reinforcement Learning, a method used by Deepmind to train their Alpha Go and Alpha Go Zero models.

Obviously there are limits: for example it is possible to fool convolutional network by adding a particular sound to image undetectable to the human eye but can be fatal for a model that has not been sufficiently tested robustness. New architectures such as capsule networks have merged to face this particular problem.

All in all it is certain that deep learning has a bright future with many business applications to come.

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

“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

L’apprentissage “profond” ou “deep learning” fait beaucoup parler de lui ces dernières années. Et pour cause, ce sous ensemble de l’apprentissage machine (‘machine learning”) s’est imposé de manière impressionnante dans plusieurs champs de recherche: reconnaissance faciale, synthèse vocale, traduction automatique, et bien d’autres.

Ces champs de recherche ont pour point commun d’être des problèmes perceptifs, liés à nos sens et à notre expression. Ils ont ainsi representé pendant longtemps un veritable défi pour les chercheurs car il est extrêmement difficile de traduire la vue ou la voix aux moyens d’algorithmes et de formules mathématiques.

Il en résulte que les premiers modèles qui ont été mis en place dans ces domaines ont été construits à partir d’une certaine expertise métier (pour la reconnaissance vocale: la décomposition en phonèmes, pour la traduction machine: le passage par des règles grammaticales et syntaxiques). Des années de recherche ont été consacrées à l’exploitation et à la transformation de ces données non structurées de manière à en tirer du sens.

Le problème est que ces nouvelles représentaitons des données inventés par les chercheurs se sont heurtés à la généralisation: à tout texte, image ou son. Si vous avez utilisé Google Tranlate avant 2014, année à laquelle ils ont basculé à 100% sur de l’apprentissage profond, vous vous souviendrez des limites évidentes à l’époque.

L’apprentissage profond propose de se placer directement au niveau des données sans déformation ou aggrégation préalable. Puis, au moyen d’un nombre extrêmement grand de paramètres qui s’auto-ajustent au fil de l’apprentissage, le réseau va apprendre de lui même les liens implicites qui existent dans les données.

Avant de rentrer dans le détail de trois différents algorithmes* utilisés en apprentissage profond pour différents cas d’usage, commencons par définir simplement le modèle au coeur de l’apprentissage profond: le “réseau de neurones”.

*On parle également d’architectures différente de réseaux.

1. Les Réseaux de Neurones

Disons le tout de suite les réseaux de neurones n’ont que très peu à voir avec le système neuronal et le cerveau. L’analogie entre un neurone et un réseau de neurones à une couche est essentiellement graphique, dans la mesure où il y a un flux d’information d’un bout à l’autre du réseau.

neural network vs neuronLa première couche d’un réseau de neurones est celle d’entrée (input). C’est par cette couche que vont rentrer les données dont vous disposez. Avant de pouvoir “nourrir” le réseau, il faudra préalablement transformer vos données en nombres si elles n’en sont pas déjà.

Nous allons prendre l’exemple de l’analyse de sentiment d’un texte.

Vous avez 10 000 commentaires sur votre site à propos de produits vendus:
Avec votre équipe vous avez labellisé 1000 d’entre eux (nous allons voir que vous pouvez également vous appuyer sur des réseaux de neurones pré-entraînés) en 3 classes (satisfait | neutre | insatisfait). Ce nombre de 3 classes, souvent utilisé dans l’analyse de sentiment, est un exemple et vous pouvez en réalité en définir plus.

– “J’ai adoré, très bon goût”;
– “Je n’ai pas beaucoup aimé l’emballage”;
– “J’ai trouvé ça plutôt bon”

La couche finale, dite de sortie (output), va vous fournir la classification “satisfait / neutre / insatisfait”.

Et toutes les couches entre la couche d’entrée et de sortie, des couches dites “cachées”, sont autant de représentations différentes des données. Par représentation cela peut être le nombre de mots dans une phrase, le nombre de ponctuations (?!) dans une phrase, etc. Vous n’aurez pas à préciser au réseau ces représentations; si statistiquement celles-ci aident à classifier correctement les phrases le réseau les apprendra tout seul.

simple neural network

Pour illustrer ces couches prenons un autre exemple: celui de l’estimation du prix d’une maison.
Comme nous pouvons le voir on prend ici 4 variables en entrée: la superficie de la maison, le nombre de chambres, le code postal et le degré de richesse du quartier. En sortie on cherche non plus à classifier mais à prédire un nombre: le prix de la maison. C’est un problème dit de regression.
Les mots en italique renvoient à des exemples de représentations que le réseau de neurones va faire des données après en avoir vu un grand nombre.

Les paramètres du réseau sont mis à jour grâce à un processus appelé “rétropropagation”. Plus il y a de couches cachées dans le réseau, plus on dit qu’il est “profond”, d’où le nom d’apprentissage “profond”.

Voyons maintenant 3 types architectures différents de réseaux de neurone.

 

2. Les réseaux de neurones dits convolutifs (CNN)

 

Ces réseaux sont utilisés pour tout usage autour de l’image ou de la vidéo dont fait partie la reconnaissance faciale ou encore la classification d’image.

L’entreprise Bai Du (l’équivalent de Google en Chine) a par exemple mis en place des portiques actionnés par la reconnaissance visuelle qui laissent passer uniquement leurs employés.

Snapchat et de nombreuses applications mobiles ont utilisé la percée de l’apprentissage et des CNN pour augmenter leurs fonctionnalités de “filtres”.

convolutional neural networkLe nom réseau convolutif renvoit à un terme mathématique: le produit de convolution.
En termes simples, l’idée est qu’on applique un filtre à l’image d’entrée, les paramètres du filtre seront appris au fur et à mesure de l’apprentissage. Un filtre appris permettra par exemple de détecter les angles dans une image si les angles servent à classifier au mieux l’image.

L’image est d’abord décomposé dans les 3 cannaux (R,G,B) pixels par pixels, on obtient donc 3 matrices de taille n x n (où n est le nombre de pixels).

Voici un exemple de convolution avec une matrice de taille 6 x 6 :

:

neural network convolution

Il est important de noter deux avantages importants inhérents aux réseaux convolutifs :

  • le réseau peut apprendre par étape à reconnaitre les éléments caractéristiques d’une image. Pour reconnaître un visage par exemple: il apprendra à reconnaître d’abord des paupières, des pupilles, pour arriver à identifier des yeux;
  • une fois un élément appris à un endroit de l’image le réseau sera capable de le reconnaître n’importe où d’autre dans l’image.

 

3. Les réseaux de neurones dits récurrents (RNN)

 

Les réseaux de neurones récurrents sont au coeur de bon nombre d’améliorations substantiels dans des domaines aussi divers que la reconnaissance vocale, la composition automatique de musique, l’analyse de sentiments, l’analyse de séquence ADN, la traduction automatique.

La différence principal avec les autres réseaux de neurones vient du fait que ces derniers tiennent compte de l’enchaînement successif des données, bien souvent de leur enchaînement dans le temps. Par exemple dans le cas de l’analyse d’une série de mesures de capteurs (séries temporelles) le réseau aura encore en mémoire tout ou partie des observations précédentes.

Le schéma de ce réseau est produit ici:

 

recurrent neural network

Au lieu de prendre en compte les données d’entrée de manière séparée (comme un CNN analyse image par image) le réseau récurrent lui prend en compte les données d’entrée passées.

Certaines architectures, dites bidirectionnelles, peuvent aussi prendre en compte les données futures. Par exemple lors d’une analyse de texte où on cherche à trouver des entités nommées (noms de personnes, sociétés, pays, etc.) nécessite de voir les mots de toute la phrase.

Exemple:

  • “Je vois que [Jean] Valjean t’as encore échappé, Javert!”
  • “Je vois que [Jean] R. joue également dans l’adaptation des Misérables.”

Le début de phrase ne suffit pas à identifier qui est “Jean”.

 

4. Les Auto encodeurs

 

Les auto encodeurs sont appliqués principalement à la détection d’anomalie ( par exemple pour détecter la fraude en banque ou bien pour trouver des anomalies dans une ligne de production industrielle ). Ils peuvent également servir à la réduction de dimension (proche dans l’idée d’une Analyse en Composante Principale). En effet le but des auto encodeurs est d’apprendre à la machine en quoi consiste des observations “normales”.
L’architecture de notre réseau est le suivant:

autoencoder

Le réseau va donc représenter les données au moyen d’une ou plusieurs couches cachées de sorte à ce qu’en sortie on retrouve les mêmes données qu’en entrée.

L’objectif de retrouver en sortie les memes données qu’en entrée est caractéristique des auto-encodeurs (analogue à la fonction identité f(x)=x).
La phase d’encodage et de décodage n’est elle pas propre aux auto-encodeurs. En effet, on les retrouve dans la traduction automatique dans des réseaux de neurones récurrents.

Après avoir entraîné le réseau avec suffisamment de données il sera possible d’identifier des observations suspectes ou anormales lorsque celles-ci dépassent un certain seuil par rapport à la nouvelle “norme”.

 

Conclusion:

Nous avons vu 3 grands types de réseau de neurones :

  1. les réseaux convolutifs avec des applications dans la reconnaissance faciale et classification d’images
  2. les réseaux récurrents avec des applications dans l’analyse du texte et de la voix;
  3. les auto encodeurs avec des applications à la détection d’anomalie et à la réduction de dimension

D’autres architectures existent comme les GAN, réseaux antagonistes génératifs, qui sont composés d’un modèle générant des candidats pour une tache donnée, par exemple synthétiser une image, et d’un autre qui les évaluent. Ou encore l’apprentissage par renforcement, méthode utilisée par DeepMind pour entrainer leurs modèles Alpha Go et Alpha Go zéro.

Bien évidemment des limites existent: par exemple il est possible de tromper des réseaux convolutifs en ajoutant un bruit particulier à des images non détectable à l’oeil humain mais qui peut etre fatal pour un modèle qui n’a pas été assez testé en robustesse. De nouvelles architectures telles que les réseaux de capsules ont fusionné pour faire face à ce problème particulier.

 

Il est certain que l’apprentissage profond a encore de beaux jours devant lui avec de nombreuses nouvelles applications pour les entreprises à venir.

Gaël Bonnardot,

Cofounder et CTO chez Datakeen


Chez Datakeen nous cherchons à simplifier l’utilisation et la compréhension des nouveaux paradigmes d’apprentissage automatique par les fonctions métier de toutes les industries.

Contact us for more information: contact@datakeen.co