Réseaux de neurones et IA : le plus difficile est de comprendre ce que l’on veut. Les réseaux de neurones. Introduction

Un réseau de neurones artificiels est un ensemble de neurones interagissant les uns avec les autres. Ils sont capables de recevoir, traiter et créer des données. C’est aussi difficile à imaginer que le fonctionnement du cerveau humain. Le réseau neuronal de notre cerveau fonctionne de telle sorte que vous pouvez lire ceci dès maintenant : nos neurones reconnaissent les lettres et les mettent en mots.

Un réseau de neurones artificiels est comme un cerveau. Il a été initialement programmé pour simplifier certains processus informatiques complexes. Aujourd’hui, les réseaux de neurones offrent bien plus de possibilités. Certains d'entre eux sont sur votre smartphone. Une autre partie a déjà enregistré dans sa base de données que vous avez ouvert cet article. Comment tout cela se produit et pourquoi, lisez la suite.

Comment tout a commencé

Les gens voulaient vraiment comprendre d’où vient l’esprit d’une personne et comment fonctionne son cerveau. Au milieu du siècle dernier, le neuropsychologue canadien Donald Hebb s'en est rendu compte. Hebb a étudié l'interaction des neurones entre eux, a étudié le principe selon lequel ils sont combinés en groupes (en termes scientifiques - ensembles) et a proposé le premier algorithme scientifique pour former des réseaux de neurones.

Quelques années plus tard, un groupe de scientifiques américains a modélisé un réseau neuronal artificiel capable de distinguer les formes carrées des autres formes.

Comment fonctionne un réseau de neurones ?

Les chercheurs ont découvert qu'un réseau de neurones est un ensemble de couches de neurones dont chacune est chargée de reconnaître un critère précis : forme, couleur, taille, texture, son, volume, etc. Année après année, grâce à des millions de des expériences et des tonnes de calculs, des ajouts ont été ajoutés au réseau le plus simple, de nouvelles et de nouvelles couches de neurones. Ils travaillent à tour de rôle. Par exemple, le premier détermine si un carré est carré ou non, le second comprend si un carré est rouge ou non, le troisième calcule la taille du carré, et ainsi de suite. Ni les carrés, ni les rouges, ni les formes de tailles inappropriées ne se retrouvent dans de nouveaux groupes de neurones et sont explorés par ceux-ci.

Que sont les réseaux de neurones et que peuvent-ils faire ?

Les scientifiques ont développé des réseaux de neurones afin de pouvoir distinguer des images, des vidéos, des textes et des discours complexes. Il existe aujourd’hui de nombreux types de réseaux de neurones. Ils sont classés en fonction de l'architecture - des ensembles de paramètres de données et du poids de ces paramètres, une certaine priorité. Vous en trouverez ci-dessous quelques-uns.

Réseaux de neurones convolutifs

Les neurones sont divisés en groupes, chaque groupe calcule une caractéristique qui lui est donnée. En 1993, le scientifique français Yann LeCun a montré au monde LeNet 1, le premier réseau neuronal convolutif capable de reconnaître rapidement et avec précision les nombres écrits à la main sur papier. Voir par vous-même:

Aujourd'hui, les réseaux de neurones convolutifs sont principalement utilisés à des fins multimédias : ils fonctionnent avec des graphiques, de l'audio et de la vidéo.

Réseaux de neurones récurrents

Les neurones mémorisent séquentiellement les informations et construisent d'autres actions basées sur ces données. En 1997, des scientifiques allemands ont modifié les réseaux récurrents les plus simples en réseaux à mémoire longue et à court terme. Sur cette base, des réseaux de neurones récurrents contrôlés ont ensuite été développés.

Aujourd’hui, grâce à ces réseaux, des textes sont écrits et traduits, des robots sont programmés pour mener des dialogues significatifs avec les humains et des codes de pages et de programmes sont créés.

L’utilisation de ce type de réseaux de neurones est l’occasion d’analyser et de générer des données, de constituer des bases de données et même de faire des prédictions.

En 2015, SwiftKey a lancé le premier clavier au monde fonctionnant sur un réseau neuronal récurrent avec des neurones contrôlés. Ensuite, le système a fourni des conseils lors de la saisie en fonction des derniers mots saisis. L'année dernière, les développeurs ont formé un réseau de neurones pour étudier le contexte du texte en cours de saisie, et les indices sont devenus significatifs et utiles :

Réseaux de neurones combinés (convolutionnels + récurrents)

De tels réseaux de neurones sont capables de comprendre ce qu’il y a dans l’image et de la décrire. Et vice versa : dessinez des images selon la description. L'exemple le plus frappant a été démontré par Kyle MacDonald, qui a promené un réseau de neurones dans Amsterdam. Le réseau a instantanément déterminé ce qui se trouvait devant lui. Et presque toujours exactement :

Les réseaux de neurones s’auto-apprennent constamment. Grâce à ce processus :

1. Skype a introduit des fonctionnalités de traduction simultanée pour 10 langues. Parmi eux, pour un instant, il y a le russe et le japonais – parmi les plus difficiles au monde. Bien sûr, la qualité de la traduction nécessite de sérieuses améliorations, mais le fait même que vous puissiez désormais communiquer avec des collègues japonais en russe et être sûr d'être compris est une source d'inspiration.

2. Yandex a créé deux algorithmes de recherche basés sur des réseaux de neurones : « Palekh » et « Korolev ». Le premier a permis de trouver les sites les plus pertinents pour les requêtes basse fréquence. "Palekh" a étudié les titres des pages et comparé leur signification avec celle des requêtes. Korolev est apparu sur la base de Palekh. Cet algorithme évalue non seulement le titre, mais également l’intégralité du contenu textuel de la page. La recherche devient plus précise et les propriétaires de sites commencent à aborder le contenu des pages de manière plus intelligente.

3. Des collègues SEO de Yandex ont créé un réseau de neurones musicaux : il compose de la poésie et écrit de la musique. Le neurogroupe s'appelle symboliquement Neurona, et il a déjà son premier album :

4. Google Inbox utilise des réseaux de neurones pour répondre aux messages. Le développement technologique bat son plein et aujourd'hui, le réseau étudie déjà la correspondance et génère des options de réponse possibles. Vous ne perdez pas de temps à taper et n’ayez pas peur d’oublier un accord important.

5. YouTube utilise des réseaux de neurones pour classer les vidéos, et selon deux principes à la fois : un réseau de neurones étudie les vidéos et les réactions du public à leur égard, l'autre mène des recherches sur les utilisateurs et leurs préférences. C'est pourquoi les recommandations YouTube sont toujours pertinentes.

6. Facebook travaille activement sur DeepText AI, un programme de communication qui comprend le jargon et nettoie les discussions de tout langage obscène.

7. Des applications comme Prisma et Fabby, construites sur des réseaux de neurones, créent des images et des vidéos :

Colorize restaure les couleurs des photos en noir et blanc (surprise grand-mère !).

MakeUp Plus sélectionne le rouge à lèvres parfait pour les filles parmi une véritable gamme de vraies marques : Bobbi Brown, Clinique, Lancôme et YSL sont déjà en activité.


8.
Apple et Microsoft mettent constamment à niveau leurs neurones Siri et Contana. Pour l'instant, ils ne font qu'exécuter nos commandes, mais dans un avenir proche, ils commenceront à prendre des initiatives : donner des recommandations et anticiper nos désirs.

Qu’est-ce qui nous attend d’autre dans le futur ?

Les réseaux de neurones auto-apprenants peuvent remplacer les personnes : ils commenceront par les rédacteurs et les relecteurs. Les robots créent déjà des textes significatifs et sans erreurs. Et ils le font beaucoup plus vite que les gens. Ils continueront avec les employés des centres d'appels, le support technique, les modérateurs et les administrateurs des pages publiques des réseaux sociaux. Les réseaux de neurones sont déjà capables d'apprendre un script et de le reproduire vocalement. Qu’en est-il des autres domaines ?

Secteur agricole

Le réseau neuronal sera implémenté dans un équipement spécial. Les récolteuses piloteront automatiquement, scanneront les plantes et étudieront le sol, transmettant les données à un réseau neuronal. Elle décidera si elle doit arroser, fertiliser ou pulvériser contre les parasites. Au lieu de quelques dizaines de travailleurs, vous aurez besoin d'au plus deux spécialistes : un superviseur et un technique.

Médecine

Microsoft travaille actuellement activement à la création d'un remède contre le cancer. Les scientifiques sont engagés dans la bioprogrammation - ils tentent de numériser le processus d'émergence et de développement des tumeurs. Lorsque tout se passera bien, les programmeurs pourront trouver un moyen de bloquer un tel processus et un médicament sera créé par analogie.

Commercialisation

Le marketing est hautement personnalisé. Désormais, les réseaux de neurones peuvent déterminer en quelques secondes quel contenu montrer à quel utilisateur et à quel prix. À l'avenir, la participation du spécialiste du marketing au processus sera réduite au minimum : les réseaux de neurones prédisent les requêtes sur la base des données de comportement des utilisateurs, analysent le marché et proposent les offres les plus adaptées au moment où une personne envisage d'acheter.

Commerce électronique

Le commerce électronique sera mis en œuvre partout. Vous n'avez plus besoin de vous rendre sur la boutique en ligne via un lien : vous pouvez tout acheter là où vous le voyez en un clic. Par exemple, vous lisez cet article plusieurs années plus tard. Vous aimez beaucoup le rouge à lèvres sur la capture d'écran de l'application MakeUp Plus (voir ci-dessus). Vous cliquez dessus et accédez directement au panier. Ou regardez une vidéo sur le dernier modèle de Hololens (lunettes de réalité mixte) et passez immédiatement une commande directement depuis YouTube.

Dans presque tous les domaines, les spécialistes ayant des connaissances ou au moins une compréhension de la structure des réseaux de neurones, des systèmes d'apprentissage automatique et d'intelligence artificielle seront valorisés. Nous existerons avec des robots côte à côte. Et plus nous en saurons sur eux, plus notre vie sera calme.

P.S. Zinaida Falls est un réseau neuronal Yandex qui écrit de la poésie. Évaluez le travail que la machine a écrit après avoir été formée par Maïakovski (orthographe et ponctuation préservées) :

« Ce»

Ce
juste tout
quelque chose
dans le futur
et le pouvoir
cette personne
est-ce que tout est au monde ou pas
il y a du sang partout
accord
grossir
gloire à
atterrir
avec un coup dans le bec

Impressionnant, non ?

Intelligence artificielle, réseaux de neurones, apprentissage automatique : que signifient réellement tous ces concepts actuellement populaires ? Pour la plupart des non-initiés, dont je suis moi-même, ils ont toujours semblé fantastiques, mais en réalité, leur essence réside en surface. J'ai depuis longtemps l'idée d'écrire dans un langage simple sur les réseaux de neurones artificiels. Découvrez par vous-même et dites aux autres ce qu'est cette technologie, comment elle fonctionne, réfléchissez à son histoire et à ses perspectives. Dans cet article, j'ai essayé de ne pas entrer dans les détails, mais de parler simplement et populairement de cette direction prometteuse dans le monde de la haute technologie.

Intelligence artificielle, réseaux de neurones, apprentissage automatique : que signifient réellement tous ces concepts actuellement populaires ? Pour la plupart des non-initiés, dont je suis moi-même, ils ont toujours semblé fantastiques, mais en réalité, leur essence réside en surface. J'ai depuis longtemps l'idée d'écrire dans un langage simple sur les réseaux de neurones artificiels. Découvrez par vous-même et dites aux autres ce qu'est cette technologie, comment elle fonctionne, réfléchissez à son histoire et à ses perspectives. Dans cet article, j'ai essayé de ne pas entrer dans les détails, mais de parler simplement et populairement de cette direction prometteuse dans le monde de la haute technologie.

Un peu d'histoire

Pour la première fois, le concept de réseaux de neurones artificiels (ANN) est apparu dans le but de simuler les processus cérébraux. La première avancée majeure dans ce domaine peut être considérée comme la création du modèle de réseau neuronal McCulloch-Pitts en 1943. Les scientifiques ont développé pour la première fois un modèle de neurone artificiel. Ils ont également proposé la conception d'un réseau de ces éléments pour effectuer des opérations logiques. Mais surtout, les scientifiques ont prouvé qu’un tel réseau est capable d’apprendre.

La prochaine étape importante fut le développement par Donald Hebb du premier algorithme de calcul de l'ANN en 1949, qui devint fondamental pendant plusieurs décennies suivantes. En 1958, Frank Rosenblatt a développé le parceptron, un système qui imite les processus cérébraux. À une certaine époque, cette technologie n’avait pas d’équivalent et reste aujourd’hui fondamentale dans les réseaux de neurones. En 1986, presque simultanément, indépendamment les uns des autres, des scientifiques américains et soviétiques ont considérablement amélioré la méthode fondamentale de formation d'un perceptron multicouche. En 2007, les réseaux de neurones connaissent une renaissance. L'informaticien britannique Geoffrey Hinton a été le premier à développer un algorithme d'apprentissage profond pour les réseaux neuronaux multicouches, qui est désormais utilisé, par exemple, pour faire fonctionner des voitures autonomes.

En bref sur l'essentiel

Au sens général du terme, les réseaux de neurones sont des modèles mathématiques qui fonctionnent sur le principe des réseaux de cellules nerveuses dans un organisme animal. Les ANN peuvent être implémentés dans des solutions programmables et matérielles. Pour faciliter la compréhension, un neurone peut être considéré comme une cellule possédant de nombreux trous d’entrée et un trou de sortie. La manière dont plusieurs signaux entrants sont transformés en un signal de sortie est déterminée par l'algorithme de calcul. Des valeurs efficaces sont fournies à chaque entrée neuronale, qui sont ensuite distribuées le long des connexions interneurones (synopsis). Les synapses ont un paramètre - le poids, grâce auquel les informations d'entrée changent lors du passage d'un neurone à un autre. La façon la plus simple d'imaginer le principe de fonctionnement des réseaux de neurones est de mélanger les couleurs. Les neurones bleus, verts et rouges ont des poids différents. L’information du neurone dont le poids est le plus élevé sera dominante dans le neurone suivant.

Le réseau neuronal lui-même est un système composé de nombreux neurones (processeurs). Individuellement, ces processeurs sont assez simples (beaucoup plus simples qu'un processeur d'ordinateur personnel), mais lorsqu'ils sont connectés à un système plus vaste, les neurones sont capables d'effectuer des tâches très complexes.

Selon le domaine d'application, un réseau de neurones peut être interprété de différentes manières. Par exemple, du point de vue de l'apprentissage automatique, un ANN est une méthode de reconnaissance de formes. D'un point de vue mathématique, il s'agit d'un problème multiparamétrique. Du point de vue de la cybernétique - un modèle de contrôle adaptatif de la robotique. Pour l’intelligence artificielle, l’ANN est un composant fondamental pour modéliser l’intelligence naturelle à l’aide d’algorithmes informatiques.

Le principal avantage des réseaux de neurones par rapport aux algorithmes informatiques conventionnels réside dans leur capacité à apprendre. Au sens général du terme, l'apprentissage consiste à trouver les coefficients de couplage corrects entre les neurones, ainsi qu'à résumer les données et à identifier les dépendances complexes entre les signaux d'entrée et de sortie. En fait, une formation réussie d'un réseau neuronal signifie que le système sera capable d'identifier le résultat correct sur la base de données qui ne figurent pas dans l'ensemble de formation.

Situation actuelle

Et aussi prometteuse que puisse être cette technologie, les ANN sont encore très loin des capacités du cerveau et de la pensée humains. Pourtant, les réseaux de neurones sont déjà utilisés dans de nombreux domaines de l’activité humaine. Jusqu'à présent, ils ne sont pas capables de prendre des décisions très intelligentes, mais ils sont capables de remplacer une personne là où elle était auparavant nécessaire. Parmi les nombreux domaines d'application d'ANN, on peut noter : la création de systèmes de processus de production auto-apprenants, de véhicules sans pilote, de systèmes de reconnaissance d'images, de systèmes de sécurité intelligents, de robotique, de systèmes de contrôle de la qualité, d'interfaces d'interaction vocale, de systèmes d'analyse et bien plus encore. Cette utilisation généralisée des réseaux de neurones est, entre autres, due à l'émergence de diverses méthodes permettant d'accélérer la formation ANN.

Aujourd'hui, le marché des réseaux de neurones est énorme : il se chiffre en milliards et en milliards de dollars. Comme le montre la pratique, la plupart des technologies de réseaux neuronaux dans le monde diffèrent peu les unes des autres. Cependant, l’utilisation des réseaux de neurones est une activité très coûteuse, qui, dans la plupart des cas, ne peut être financée que par les grandes entreprises. Le développement, la formation et les tests de réseaux neuronaux nécessitent une grande puissance de calcul, et il est évident que les grands acteurs du marché informatique en disposent en abondance. Parmi les principales entreprises à la pointe des développements dans ce domaine figurent la division Google DeepMind, la division Microsoft Research, IBM, Facebook et Baidu.

Bien sûr, tout cela est bien : les réseaux de neurones se développent, le marché se développe, mais jusqu'à présent le principal problème n'est pas résolu. L’humanité n’a pas réussi à créer une technologie approchant même les capacités du cerveau humain. Examinons les principales différences entre le cerveau humain et les réseaux de neurones artificiels.

Pourquoi les réseaux de neurones sont-ils encore loin du cerveau humain ?

La différence la plus importante, qui change radicalement le principe et l'efficacité du système, réside dans la transmission différente des signaux dans les réseaux de neurones artificiels et dans un réseau biologique de neurones. Le fait est que dans un ANN, les neurones transmettent des valeurs qui sont des valeurs réelles, c'est-à-dire des nombres. Dans le cerveau humain, les impulsions sont transmises avec une amplitude fixe et ces impulsions sont presque instantanées. Cela conduit à un certain nombre d’avantages du réseau de neurones humain.

Premièrement, les lignes de communication dans le cerveau sont beaucoup plus efficaces et économiques que celles du RNA. Deuxièmement, le circuit d'impulsions assure la facilité de mise en œuvre de la technologie : il suffit d'utiliser des circuits analogiques au lieu de mécanismes informatiques complexes. En fin de compte, les réseaux pulsés sont insensibles aux interférences audio. Les nombres réels sont sujets au bruit, ce qui augmente le risque d'erreurs.

Conclusion

Bien entendu, au cours de la dernière décennie, le développement des réseaux de neurones a connu un véritable essor. Cela est principalement dû au fait que le processus de formation ANN est devenu beaucoup plus rapide et plus simple. Les réseaux neuronaux dits « pré-entraînés » ont également commencé à être activement développés, ce qui peut accélérer considérablement le processus d'introduction de la technologie. Et s'il est trop tôt pour dire si les réseaux de neurones seront un jour capables de reproduire pleinement les capacités du cerveau humain, la probabilité que dans la prochaine décennie les ANN soient capables de remplacer les humains dans un quart des métiers existants se confirme de plus en plus. .

Pour ceux qui veulent en savoir plus

  • La grande guerre neuronale : ce que Google prépare réellement
  • Comment les ordinateurs cognitifs pourraient changer notre avenir

Au premier semestre 2016, le monde a entendu parler de nombreux développements dans le domaine des réseaux de neurones - Google (le lecteur réseau Go AlphaGo), Microsoft (un certain nombre de services d'identification d'images), les startups MSQRD, Prisma et d'autres ont démontré leurs algorithmes.

Vers les favoris

Les éditeurs du site vous expliquent ce que sont les réseaux de neurones, à quoi ils servent, pourquoi ils ont conquis la planète maintenant, et non des années plus tôt ou plus tard, combien vous pouvez gagner grâce à eux et qui sont les principaux acteurs du marché. Des experts du MIPT, Yandex, Mail.Ru Group et Microsoft ont également partagé leurs opinions.

Que sont les réseaux de neurones et quels problèmes peuvent-ils résoudre ?

Les réseaux de neurones sont l'une des orientations du développement des systèmes d'intelligence artificielle. L’idée est de modéliser au plus près le fonctionnement du système nerveux humain, c’est-à-dire sa capacité à apprendre et à corriger les erreurs. C'est la principale caractéristique de tout réseau neuronal : il est capable d'apprendre et d'agir de manière indépendante sur la base de l'expérience antérieure, en commettant de moins en moins d'erreurs à chaque fois.

Le réseau neuronal imite non seulement l'activité, mais aussi la structure du système nerveux humain. Un tel réseau est constitué d’un grand nombre d’éléments informatiques individuels (« neurones »). Dans la plupart des cas, chaque « neurone » appartient à une couche spécifique du réseau. Les données d'entrée sont traitées séquentiellement à toutes les couches du réseau. Les paramètres de chaque « neurone » peuvent changer en fonction des résultats obtenus sur les ensembles de données d'entrée précédents, modifiant ainsi l'ordre de fonctionnement de l'ensemble du système.

Le chef du département de recherche Mail.ru du groupe Mail.Ru, Andrey Kalinin, note que les réseaux de neurones sont capables de résoudre les mêmes problèmes que d'autres algorithmes d'apprentissage automatique, la différence réside uniquement dans l'approche de la formation.

Toutes les tâches que les réseaux neuronaux peuvent résoudre sont liées d’une manière ou d’une autre à l’apprentissage. Parmi les principaux domaines d'application des réseaux de neurones figurent la prévision, la prise de décision, la reconnaissance de formes, l'optimisation et l'analyse des données.

Le directeur des programmes de coopération technologique chez Microsoft en Russie, Vlad Shershulsky, note que les réseaux de neurones sont désormais utilisés partout : « Par exemple, de nombreux grands sites Internet les utilisent pour rendre les réactions au comportement des utilisateurs plus naturelles et plus utiles à leur public. Les réseaux neuronaux sont à la base de la plupart des systèmes modernes de reconnaissance et de synthèse de la parole, ainsi que de reconnaissance et de traitement d'images. Ils sont utilisés dans certains systèmes de navigation, qu’il s’agisse de robots industriels ou de voitures autonomes. Les algorithmes basés sur les réseaux de neurones protègent les systèmes d’information des attaques d’intrus et aident à identifier les contenus illégaux sur le réseau.

Dans un avenir proche (5 à 10 ans), estime Shershulsky, les réseaux de neurones seront encore plus largement utilisés :

Imaginez une moissonneuse-batteuse agricole dont les actionneurs sont équipés de nombreuses caméras vidéo. Il prend cinq mille photos par minute de chaque plante sur sa trajectoire et, à l'aide d'un réseau neuronal, analyse s'il s'agit d'une mauvaise herbe, si elle est affectée par une maladie ou des ravageurs. Et chaque plante est traitée individuellement. Fantastique? Plus vraiment. Et dans cinq ans, cela pourrait devenir la norme. - Vlad Shershulsky, Microsoft

Mikhail Burtsev, responsable du laboratoire des systèmes neuronaux et de l'apprentissage profond au MIPT Center for Living Systems, propose une carte provisoire du développement des réseaux de neurones pour 2016-2018 :

  • systèmes de reconnaissance et de classification d'objets dans des images;
  • interfaces d'interaction vocale pour l'Internet des objets ;
  • systèmes de surveillance de la qualité des services dans les centres d'appels ;
  • des systèmes d'identification des problèmes (y compris la prévision du temps de maintenance), des anomalies, des menaces cyber-physiques ;
  • systèmes de sécurité intellectuelle et de surveillance;
  • remplacer certaines fonctions des opérateurs de centres d'appels par des robots ;
  • systèmes d'analyse vidéo ;
  • des systèmes d'auto-apprentissage qui optimisent la gestion des flux de matières ou la localisation des objets (dans les entrepôts, les transports) ;
  • systèmes de contrôle intelligents et auto-apprenants pour les processus et appareils de production (y compris la robotique) ;
  • l'émergence de systèmes universels de traduction à la volée pour les conférences et l'usage personnel ;
  • l’émergence de consultants bots de support technique ou d’assistants personnels dotés de fonctions similaires à celles d’un humain.

Le directeur de la distribution technologique chez Yandex, Grigory Bakunov, estime que la base de la propagation des réseaux de neurones au cours des cinq prochaines années sera la capacité de ces systèmes à prendre diverses décisions : « La principale chose que font les réseaux de neurones pour une personne maintenant est de sauver l'empêcher de prendre des décisions inutiles. Ils peuvent donc être utilisés presque partout où des décisions peu intelligentes sont prises par une personne vivante. Dans les cinq prochaines années, c’est cette compétence qui sera exploitée, qui remplacera la prise de décision humaine par une simple machine.»

Pourquoi les réseaux de neurones sont-ils devenus si populaires à l’heure actuelle ?

Les scientifiques développent des réseaux de neurones artificiels depuis plus de 70 ans. La première tentative de formalisation d'un réseau neuronal remonte à 1943, lorsque deux scientifiques américains (Warren McCulloch et Walter Pitts) présentèrent un article sur le calcul logique des idées humaines et de l'activité neuronale.

Cependant, jusqu'à récemment, explique Andrey Kalinin du groupe Mail.Ru, la vitesse des réseaux de neurones était trop faible pour qu'ils se généralisent, et donc de tels systèmes étaient principalement utilisés dans les développements liés à la vision par ordinateur, et dans d'autres domaines, d'autres algorithmes étaient utilisés. apprentissage automatique.

Sa formation est une partie laborieuse et chronophage du processus de développement du réseau neuronal. Pour qu'un réseau de neurones résolve correctement les problèmes posés, il doit « exécuter » son travail sur des dizaines de millions d'ensembles de données d'entrée. C'est à l'avènement de diverses technologies d'apprentissage accéléré qu'Andrei Kalinin et Grigory Bakunov associent la diffusion des réseaux de neurones.

La principale chose qui s'est produite maintenant est que diverses astuces sont apparues qui permettent de créer des réseaux de neurones beaucoup moins susceptibles d'être recyclés. - Grigory Bakunov, Yandex

« Premièrement, un large éventail d'images étiquetées (ImageNet) accessibles au public est apparu sur lequel vous pouvez apprendre. Deuxièmement, les cartes vidéo modernes permettent d'entraîner les réseaux de neurones et de les utiliser des centaines de fois plus rapidement. Troisièmement, des réseaux de neurones prêts à l'emploi et pré-entraînés sont apparus qui reconnaissent les images, sur la base desquelles vous pouvez créer vos propres applications sans avoir à passer beaucoup de temps à préparer le réseau de neurones au travail. Tout cela garantit un développement très puissant des réseaux de neurones, notamment dans le domaine de la reconnaissance d'images », note Kalinin.

Quelle est la taille du marché des réseaux de neurones ?

« Très facile à calculer. Vous pouvez prendre n’importe quel domaine qui utilise une main-d’œuvre peu qualifiée, comme les agents de centres d’appels, et simplement soustraire toutes les ressources humaines. Je dirais que nous parlons d'un marché de plusieurs milliards de dollars, même au sein d'un seul pays. Il est facile de comprendre combien de personnes dans le monde occupent des emplois peu qualifiés. Donc, même de manière très abstraite, je pense que nous parlons d'un marché d'une centaine de milliards de dollars dans le monde entier », déclare Grigory Bakunov, directeur de la distribution technologique chez Yandex.

Selon certaines estimations, plus de la moitié des professions seront automatisées - c'est le volume maximum par lequel le marché des algorithmes d'apprentissage automatique (et des réseaux de neurones en particulier) peut être augmenté. - Andrey Kalinin, groupe Mail.Ru

« Les algorithmes d’apprentissage automatique constituent la prochaine étape dans l’automatisation de tout processus, dans le développement de tout logiciel. Par conséquent, le marché coïncide au moins avec l'ensemble du marché des logiciels, mais le dépasse plutôt, car il devient possible de créer de nouvelles solutions intelligentes inaccessibles aux anciens logiciels », poursuit Andrey Kalinin, chef du département de recherche Mail.ru chez Mail. Groupe Ru.

Pourquoi les développeurs de réseaux neuronaux créent des applications mobiles pour le marché de masse

Au cours des derniers mois, plusieurs projets de divertissement de grande envergure utilisant des réseaux de neurones sont apparus sur le marché - il s'agit du service vidéo populaire, du réseau social Facebook et des applications russes de traitement d'images (investissements du groupe Mail.Ru en juin) et autres.

Les capacités de leurs propres réseaux de neurones ont été démontrées à la fois par Google (la technologie AlphaGo a gagné contre le champion du Go ; en mars 2016, la société a vendu aux enchères 29 tableaux dessinés par des réseaux de neurones, etc.) et par Microsoft (le projet CaptionBot, qui reconnaît les images dans les photographies et génère automatiquement des légendes pour celles-ci ; le projet WhatDog, qui détermine la race d'un chien à partir d'une photographie ; le service HowOld, qui détermine l'âge d'une personne sur une photo, etc.), et Yandex (en En juin, l'équipe a créé un service de reconnaissance des voitures en images dans l'application Avto.ru ; a présenté un enregistrement musical enregistré par un album de réseaux neuronaux ; en mai, elle a créé le projet LikeMo.net pour dessiner dans le style d'artistes célèbres).

De tels services de divertissement ne sont pas créés pour résoudre les problèmes mondiaux auxquels sont destinés les réseaux de neurones, mais pour démontrer les capacités d'un réseau de neurones et mener sa formation.

« Les jeux sont un trait caractéristique de notre comportement en tant qu’espèce. D'une part, les situations de jeu peuvent être utilisées pour simuler presque tous les scénarios typiques du comportement humain, et d'autre part, les créateurs de jeux et, en particulier, les joueurs peuvent tirer beaucoup de plaisir du processus. Il y a aussi un aspect purement utilitaire. Un jeu bien conçu n’apporte pas seulement de la satisfaction aux joueurs : au fur et à mesure qu’ils jouent, ils entraînent l’algorithme du réseau neuronal. Après tout, les réseaux de neurones reposent sur l’apprentissage par l’exemple », explique Vlad Shershulsky de Microsoft.

« Tout d’abord, cela a pour but de montrer les capacités de la technologie. Il n'y a vraiment aucune autre raison. Si nous parlons de Prisma, la raison pour laquelle ils l'ont fait est claire. Les gars ont construit une sorte de pipeline qui leur permet de travailler avec des images. Pour le démontrer, ils ont choisi une méthode assez simple de création de stylisations. Pourquoi pas? Ceci n'est qu'une démonstration du fonctionnement des algorithmes », explique Grigory Bakunov de Yandex.

Andrey Kalinin du groupe Mail.Ru a un avis différent : « Bien sûr, c'est impressionnant du point de vue du public. D’un autre côté, je ne dirais pas que les produits de divertissement ne peuvent pas être appliqués à des domaines plus utiles. Par exemple, la tâche de styliser les images est extrêmement pertinente pour un certain nombre d'industries (le design, les jeux informatiques, l'animation ne sont que quelques exemples), et l'utilisation complète des réseaux de neurones peut optimiser considérablement le coût et les méthodes de création de contenu pour eux. »

Acteurs majeurs du marché des réseaux de neurones

Comme le note Andrey Kalinin, dans l'ensemble, la plupart des réseaux de neurones disponibles sur le marché ne sont pas très différents les uns des autres. « La technologie de chacun est à peu près la même. Mais utiliser les réseaux de neurones est un plaisir que tout le monde ne peut pas se permettre. Pour entraîner indépendamment un réseau de neurones et y exécuter de nombreuses expériences, vous avez besoin de grands ensembles de formation et d'un parc de machines dotés de cartes vidéo coûteuses. De toute évidence, les grandes entreprises ont de telles opportunités », dit-il.

Parmi les principaux acteurs du marché, Kalinin cite Google et sa division Google DeepMind, qui a créé le réseau AlphaGo, et Google Brain. Microsoft a ses propres développements dans ce domaine - ils sont réalisés par le laboratoire Microsoft Research. La création de réseaux de neurones est réalisée chez IBM, Facebook (une division de Facebook AI Research), Baidu (Baidu Institute of Deep Learning) et d'autres. De nombreux développements sont en cours dans les universités techniques du monde entier.

Grigory Bakunov, directeur de la distribution technologique de Yandex, note que des développements intéressants dans le domaine des réseaux de neurones se retrouvent également parmi les startups. « Je me souviendrais par exemple de la société ClarifAI. Il s'agit d'une petite startup, autrefois créée par des gens de Google. Aujourd’hui, ils sont peut-être les meilleurs au monde pour déterminer le contenu d’une image. Ces startups incluent MSQRD, Prisma et d'autres.

En Russie, les développements dans le domaine des réseaux de neurones sont réalisés non seulement par des startups, mais également par de grandes entreprises technologiques - par exemple, la holding Mail.Ru Group utilise des réseaux de neurones pour traiter et classer des textes dans la recherche et l'analyse d'images. L'entreprise mène également des développements expérimentaux liés aux robots et aux systèmes conversationnels.

Yandex crée également ses propres réseaux de neurones : « Fondamentalement, de tels réseaux sont déjà utilisés pour travailler avec des images et du son, mais nous explorons leurs capacités dans d'autres domaines. Nous faisons actuellement de nombreuses expériences sur l’utilisation des réseaux de neurones pour travailler avec du texte. Des développements sont en cours dans les universités : Skoltech, MIPT, Université d'État de Moscou, École supérieure d'économie et autres.

Un autre domaine de recherche en intelligence artificielle concerne les réseaux de neurones. Ils ont été conçus pour ressembler aux réseaux neuronaux naturels du système nerveux humain.

Réseaux de neurones artificiels

L'inventeur du premier ordinateur neuronal, le Dr Robert Hecht-Nielsen, a défini un réseau neuronal comme suit : « Un réseau neuronal est un système informatique composé d'un certain nombre d'éléments de traitement simples et hautement interconnectés qui traitent les informations par leur réponse dynamique aux signaux externes. influences. »

Structure de base des réseaux de neurones artificiels (ANN)

L'idée d'un ANN repose sur la conviction qu'il est possible d'imiter le fonctionnement du cerveau humain en créant les connexions nécessaires à l'aide de silicium et de fils comme dans les neurones et les dendrites vivants.

Le cerveau humain est constitué de 100 milliards de cellules nerveuses appelées neurones. Ils sont reliés à d’autres milliers de cellules par des axones. Les stimuli de l'environnement extérieur ou les signaux des sens sont reçus par les dendrites. Ces signaux d'entrée créent des impulsions électriques qui voyagent rapidement à travers le réseau neuronal. Le neurone peut alors envoyer des messages à d’autres neurones, qui peuvent envoyer le message plus loin ou ne pas l’envoyer du tout.


Les réseaux de neurones artificiels sont constitués de plusieurs nœuds qui imitent les neurones biologiques du cerveau humain. Les neurones sont connectés et interagissent entre eux. Les nœuds peuvent accepter des données d'entrée et effectuer des opérations simples sur les données. À la suite de ces opérations, les données sont transférées vers d’autres neurones. La sortie de chaque nœud est appelée son activation.

Chaque lien est associé à un poids. Les ANN sont capables d'apprendre, ce qui s'effectue en modifiant la valeur du poids. La figure suivante montre un ANN simple :

Types de réseaux de neurones artificiels

Il existe deux types de topologies de réseaux neuronaux artificiels : la rétroaction et la rétroaction.

Le flux d’informations est unidirectionnel. L'unité transmet des informations à d'autres unités dont elle ne reçoit aucune information. Il n’y a pas de boucle de rétroaction. Ils ont des entrées et des sorties fixes.


Ici, les boucles de rétroaction sont autorisées.

Comment fonctionnent les réseaux de neurones artificiels

La topologie montre des circuits, chaque flèche représentant une connexion entre deux neurones et indiquant un chemin pour le flux d'informations. Chaque connexion a un poids, un nombre entier qui contrôle le signal entre deux neurones.

Si le réseau produit un résultat « bon » et « nécessaire », il n’est alors pas nécessaire d’ajuster les pondérations. Cependant, si le réseau produit une sortie ou une erreur « mauvaise » ou « indésirable », le système ajuste ses pondérations pour améliorer les résultats ultérieurs.

Apprentissage automatique dans les réseaux de neurones artificiels

Les ANN sont capables d’apprendre et doivent être formés. Il existe plusieurs stratégies pédagogiques

Formation - implique un enseignant qui soumet un échantillon de formation au réseau dont l'enseignant connaît les réponses. Le réseau compare ses résultats avec les réponses de l'enseignant et ajuste ses pondérations.

L’apprentissage non supervisé est nécessaire lorsqu’il n’existe aucun échantillon de formation avec des réponses connues. Par exemple, dans les problèmes de clustering, c'est-à-dire diviser un ensemble d'éléments en groupes selon certains critères.

L’apprentissage par renforcement est une stratégie fondée sur l’observation. Le réseau prend des décisions en observant son environnement. Si l'observation est négative, le réseau ajuste ses poids pour pouvoir prendre les différentes décisions nécessaires.

Algorithme de rétropropagation

Réseaux bayésiens (BN)

Ce sont des structures graphiques permettant de représenter des relations probabilistes entre un ensemble de variables aléatoires.

Dans ces réseaux, chaque nœud représente une variable aléatoire avec des offres spécifiques. Par exemple, dans un diagnostic médical, un nœud Cancer représente la proposition selon laquelle un patient a un cancer.

Les arêtes reliant les nœuds représentent des dépendances probabilistes entre ces variables aléatoires. Si sur deux nœuds, l’un influence l’autre nœud, alors ils doivent être directement connectés. La force de la relation entre les variables est quantifiée par la probabilité associée à chaque nœud.

La seule limitation des arcs dans BN est que vous ne pouvez pas revenir à un nœud simplement en suivant la direction de l'arc. Le BNN est donc appelé graphe acyclique.

La structure BN est idéale pour combiner connaissances et données observées. Le BN peut être utilisé pour apprendre les relations de cause à effet, comprendre divers problèmes et prédire l’avenir, même en l’absence de données.

Où sont utilisés les réseaux de neurones ?

    Ils sont capables d’effectuer des tâches simples pour les humains mais difficiles pour les machines :

    Aérospatiale - pilote automatique d'avion ;

    Automobile - systèmes de guidage automobiles ;

    Militaire – suivi de cible, pilote automatique, reconnaissance de signal/image ;

    Electronique - prévision, analyse de pannes, vision industrielle, synthèse vocale ;

    Financier - évaluation immobilière, consultants en crédit, hypothèque, portefeuille de sociétés commerciales, etc.

    Traitement du signal – Les réseaux de neurones peuvent être entraînés pour traiter le signal audio.

Les réseaux de neurones sont une classe de méthodes analytiques construites sur des principes (hypothétiques) d'enseignement des êtres pensants et du fonctionnement du cerveau, qui permettent de prédire les valeurs de certains remplaçables dans de nouvelles observations sur la base des résultats d'autres observations (par exemple le même ou d'autres remplaçables) après avoir passé l'étape dite de formation sur les données existantes.

      1. Concepts de base sur les réseaux de neurones

Le plus souvent, les réseaux de neurones sont utilisés pour résoudre les problèmes suivants :

    classification d'image - une indication que l'image d'entrée, représentée par un vecteur de caractéristiques, appartient à une ou plusieurs classes prédéfinies ;

    clustering - classification des images en l'absence d'échantillon d'apprentissage avec des étiquettes de classe ;

    prévision - prédire la valeur de y(tn+1) étant donné une séquence connue y(t1), y(t2) ... y(tn) ;

    optimisation - trouver une solution qui satisfait un système de contraintes et maximise ou minimise la fonction objectif. Mémoire adressée par une signification (mémoire associative) - mémoire accessible lorsque le contenu spécifié est spécifié ;

    contrôle - calcul d'une telle influence d'entrée sur le système, pour lequel le système fonctionne le long de la trajectoire souhaitée.

La base structurelle d'un réseau neuronal est un neurone formel. Les réseaux neuronaux sont nés de tentatives visant à recréer la capacité des systèmes biologiques à apprendre en modélisant la structure des racines basses du cerveau. Pour ce faire, le modèle de réseau de neurones s'appuie sur un élément qui imite, en première approximation, les propriétés d'un neurone biologique - un neurone formel (ci-après simplement neurone). Dans le corps humain, les neurones sont des cellules spéciales capables de transmettre des signaux électrochimiques.

Un neurone a une structure ramifiée pour l'entrée d'informations (dendrites), un noyau et une sortie qui se ramifie (axone). Lorsqu’ils sont connectés d’une certaine manière, les neurones forment un réseau neuronal. Chaque neurone est caractérisé par un certain état actuel et possède un groupe de synapses - connexions d'entrée unidirectionnelles connectées aux sorties d'autres neurones, et possède également un axone - la connexion initiale d'un neurone donné, après quoi le signal (perturbation ou inhibition) est envoyé aux synapses des neurones suivants (Fig. 8.1).

Riz. 8.1. Structure d'un neurone formel.

Chaque synapse est caractérisée par la taille de la connexion synaptique ou par son poids wi, dont le contenu physique est équivalent à la conductivité électrique.

L'état actuel (niveau d'activation) d'un neurone est déterminé si la somme pondérée de ses entrées est :

(1)

où un ensemble de signaux, désignés x1, x2,..., xn, arrive à l'entrée du neurone, chaque signal augmente du poids correspondant w1, w2,...,wn, et forme son niveau d'activation - S. La sortie du neurone est fonction de ses niveaux d'activations :

Oui=f(S) (2)

Lorsque les réseaux de neurones fonctionnent, le principe du traitement parallèle du signal est mis en œuvre. Ceci est réalisé en combinant un grand nombre de neurones dans ce qu'on appelle des couches et en connectant d'une certaine manière les neurones de différentes couches, ainsi que, dans certaines configurations, les neurones de la même couche les uns avec les autres, et l'interaction de tous les neurones est traité couche par couche.

R.
est. 8.2. Architecture d'un réseau de neurones avec n neurones dans la couche d'entrée et trois neurones dans la couche source (perceptron monocouche).

Comme exemple du réseau neuronal le plus simple, considérons un perceptron monocouche avec n neurones dans la couche d'entrée et trois neurones dans la couche source (Fig. 8.2). Lorsque certains signaux arrivent sur n entrées, ils traversent les synapses vers 3 neurones sources. Ce système forme une seule couche du réseau neuronal et produit trois signaux initiaux :

Évidemment, tous les coefficients de pondération des synapses d'une couche de neurones peuvent être combinés dans une matrice wj dont chaque élément wij précise la valeur de la connexion synaptique entre le i-ème neurone de la couche d'entrée et le j-ème neurone. de la couche source (3).

(3)

Ainsi, le processus qui se produit dans un réseau de neurones peut être écrit sous forme matricielle :

où x et y sont respectivement les vecteurs d'entrée et source, f(v) est la fonction d'activation qui est appliquée élément par élément aux composantes du vecteur v.

Le choix de la structure du réseau de neurones s'effectue en fonction des caractéristiques et de la complexité de la tâche. Des configurations optimales existent déjà pour résoudre certains types de problèmes. Si le problème ne peut être réduit à aucun des types connus, le développeur doit résoudre le problème difficile de la synthèse d'une nouvelle configuration.

Une classification possible des réseaux de neurones existants est la suivante :

Par type d'informations d'entrée :

    des réseaux qui analysent des informations binaires ;

    des réseaux qui fonctionnent avec des nombres réels.

Par méthode d'enseignement :

    les réseaux qui doivent être formés avant de pouvoir être utilisés ;

    les réseaux qui n’ont pas besoin de formation préalable sont capables d’apprendre par eux-mêmes tout en travaillant.

Par la nature de la diffusion de l'information :

    unidirectionnel, dans lequel les informations se propagent uniquement dans une direction d'une couche à l'autre ;

    réseaux récurrents, dans lesquels le signal original d'un élément peut à nouveau arriver à cet élément et à d'autres éléments de réseau de cette couche ou de la couche précédente en tant que signal d'entrée.

Selon la méthode de conversion des informations d'entrée :

    auto-associatif;

    hétéroassociatif.

En développant davantage la question de la classification possible des réseaux de neurones, il est important de noter l'existence de réseaux binaires et analogiques. Les premiers fonctionnent avec des signaux binaires, et la sortie de chaque neurone ne peut prendre que deux valeurs : le zéro logique (état « suspendu ») et le un logique (état « excité »). Une autre classification divise les réseaux neuronaux en synchrones et asynchrones. Dans le premier cas, à chaque instant, un seul neurone change d’état. Dans le second cas, l'état change immédiatement dans tout un groupe de neurones, en règle générale, dans toute la couche.

Les réseaux peuvent également être classés selon le nombre de couches. En figue. La figure 8.3 montre un perceptron à deux couches dérivé du perceptron de la figure. 8.2 en ajoutant une deuxième couche composée de deux neurones.

R.
est. 8.3. L'architecture d'un réseau neuronal à propagation unidirectionnelle du signal est un perceptron à deux couches.

Si l'on considère le travail des réseaux de neurones qui résolvent le problème de la classification des images, alors en général leur travail se résume à classer (généraliser) les signaux d'entrée appartenant à l'hyperespace à n dimensions dans un certain nombre de classes. D'un point de vue mathématique, cela se produit en divisant l'hyperespace en hyperplans (notation pour le cas d'un perceptron monocouche)

, (5),

k=1...m- numéro de classe.

Chaque portée résultante est la portée d’une classe distincte. Le nombre de ces classes pour un réseau neuronal de type perceptron ne dépasse pas 2 m, où m est le nombre de sorties du réseau. Cependant, tous ne peuvent pas être distribués par un réseau de neurones donné.