L’apprentissage profond renouvelle l’intelligence artificielle

Dossier : Simulation et supercalculateursMagazine N°732 Février 2018
Par Marc DURANTON

Une des méth­odes de l’in­tel­li­gence arti­fi­cielle est calquée sur le fonc­tion­nement des neu­rones qui, à chaque impul­sion, donne un résul­tat binaire. On démon­tre qu’en mul­ti­pli­ant leur nom­bre, on peut cal­culer toute fonc­tion. Ce sys­tème per­met un appren­tis­sage automa­tique, qui est dit pro­fond car dis­posé en couch­es où chaque sor­tie d’un niveau sert d’en­trée pour un cal­cul plus fin au niveau suivant. 

En s’inspirant du savoir des biol­o­gistes de leur époque, War­ren Stur­gis McCul­loch, neu­ro­logue améri­cain et Wal­ter Pitts, math­é­mati­cien et psy­cho­logue ont pro­posé en 1943 un mod­èle math­é­ma­tique du fonc­tion­nement sim­pli­fié des neu­rones biologiques, cel­lules étant une des com­posantes du cerveau. 

« Un réseau suffisamment complexe permet de “calculer” n’importe quelle fonction »

Leur papi­er, A Log­i­cal Cal­cu­lus of Ideas Imma­nent in Ner­vous Activ­i­ty, a été pub­lié en 1943 dans le Bul­letin of Math­e­mat­i­cal Bio­physics (5:115–133) et reste la base des réseaux de neu­rones formels. 

Leur mod­èle est sim­ple : un neu­rone effectue une fonc­tion binaire qui com­pare à un seuil la somme pondérée de ses entrées (con­nec­tées aux autres neurones). 

REPÈRES

De tout temps, les hommes ont cherché à faire des machines amplifiant leurs capacités physiques, puis mentales. Le cerveau n’a pas toujours été le centre de l’intelligence : pour Aristote, il ne servait qu’à refroidir le cœur.
Mais l’approche préconisée par Platon, Hippocrate, Démocrite pour lequel le cerveau est le centre de la prise de conscience des sensations et le gardien de l’intelligence a finalement prévalu et de nombreuses générations de chercheurs ont cherché, et cherchent encore à analyser son fonctionnement.
L’idée de l’imiter pour faire des systèmes « intelligents » n’est pas neuve, mais ce sont les découvertes du XXe siècle qui ont déclenché les premiers résultats.

UNE PREMIÈRE DESCRIPTION DE L’ORDINATEUR MODERNE DÈS 1945

Ils ont mon­tré qu’un réseau suff­isam­ment com­plexe per­met de « cal­culer » n’importe quelle fonction. 


Vj = W1j.X1 + W2j.X2
est la déf­i­ni­tion d’un hyperplan.
F(Vj) non linéaire ∈ {-1, 1} e.g. fonc­tion signe()
X(X1, X2) est au dessus” ou en “dessous” l’hyperplan.

Par com­po­si­tion des fonc­tions neu­rones, on peut définir si une entrée fait par­tie d’un sous espace par­ti­c­uli­er borné par les hyper­plans défi­nis par les neurones. 

Le neurone formel


John von Neu­mann, dont on con­sid­ère que son First Draft of a Report on the EDVAC est la pre­mière descrip­tion d’un ordi­na­teur mod­erne (la machine de J. von Neu­mann), ne cite que ce papi­er de McCul­loch et Pitts dans ce rap­port de 1945 et déduit de l’article de McCul­loch et Pitts que « tout ce qui peut être décrit de manière exhaus­tive et sans ambiguïté […] peut être conçu comme un réseau neu­ronal approprié ». 

Il entérine qu’un réseau de neu­rones peut représen­ter une machine uni­verselle de Tur­ing, et donc un cal­cu­la­teur universel. 

Mal­heureuse­ment, les lim­i­ta­tions de la tech­nolo­gie de l’époque ne lui per­mirent pas de dévelop­per l’approche haute­ment par­al­lèle des réseaux de neu­rones, et donc il aboutit à l’architecture mémoire, unité de con­trôle, unité arith­mé­tique et unités d’entrée et de sor­tie, que l’on retrou­ve dans les ordi­na­teurs actuels. 

John von Neumann
John von Neu­mann fut le pre­mier à décrire un ordi­na­teur moderne.
© 2011 LOS ALAMOS NATIONAL SECURITY

UN NOUVEL HIVER POUR LES RÉSEAUX DE NEURONES

Les machines à vecteurs de support (en anglais Support Vector Machine, SVM) ont sonné le début d’un nouvel hiver des réseaux de neurones en offrant de meilleures performances que les MLP (Multi-Layer-Perceptrons) pour la classification d’images.
Les principes furent explorés entre 1963 et 1970 par Vladimir Vapnik, mais ce n’est qu’en 1992 que l’article de Boser, Guyon et Vapnik synthétise les résultats et permet un large développement des SVM pour la classification.

1957 : UN ALGORITHME INSPIRÉ DES NEURONES

C’est en 1957 que le psy­cho­logue Frank Rosen­blatt invente un algo­rithme bap­tisé Per­cep­tron. Pour ce clas­si­fieur, la pondéra­tion entre neu­rones est inspirée par la règle de Hebb qui con­sid­ère que lorsque deux neu­rones sont excités con­join­te­ment, leur lien se renforce. 

“ Les techniques de l’époque ne permettent qu’un parallélisme limité ”

La règle du Per­cep­tron tient compte de l’erreur observée lorsqu’on propage une entrée dont le Per­cep­tron cal­cule la fonc­tion de sortie. 

Le pre­mier hiv­er des réseaux de neu­rones a été provo­qué par le livre de Mar­vin Min­sky et Sey­mour Papert, Per­cep­trons : an intro­duc­tion to com­pu­ta­tion­al geom­e­try, qui mon­tre des lim­i­ta­tions des Perceptrons. 

Le livre, Par­al­lel Dis­trib­uted Pro­cess­ing : Explo­rations in the Microstruc­ture of Cog­ni­tion de David Everett Rumel­hart et James McClel­land, relance le domaine avec une approche testable des réseaux mul­ti­couch­es (essen­tielle­ment avec une couche inter­mé­di­aire, dite cachée) dits Mul­ti-Lay­er-Per­cep­trons (MLP).

UN REGAIN D’INTÉRÊT APRÈS 1985

Torsten Wiesel, prix Nobel 1981
Torsten Wiesel, prix Nobel 1981 avec David Hubel pour leurs décou­vertes sur le traite­ment de l’information visuelle.CC — SUAWIKICOMMONS

Une règle d’apprentissage, appelée rétro­prop­a­ga­tion du gra­di­ent, per­me­t­tant de cal­culer les poids des couch­es inter­mé­di­aires a été pub­liée dans sa thèse en 1985 par Yann LeCun (main­tenant chez Face­book), puis large­ment dif­fusée par David Rumel­hart, Geof­frey Hin­ton (main­tenant chez Google Brain) et Ronald Williams en 1986. 

Cela a abouti à une pre­mière explo­sion des util­i­sa­tions des réseaux de neu­rones dans les années 1990. Ils furent util­isés pour la recon­nais­sance de car­ac­tères man­u­scrits (pour recon­naître les codes postaux), pour de l’analyse d’images, etc. 

Une pre­mière ère de développe­ments de cir­cuits spé­cial­isés a suivi, mais les tech­niques de l’époque ne per­me­t­tent qu’un par­al­lélisme lim­ité, et l’avancée rapi­de des processeurs général­istes a lim­ité leur expansion. 

RÉTROPROPAGATION ET RÉSEAUX CONVOLUTIONNELS

Pen­dant ce temps, les réseaux de neu­rones devi­en­nent plus pro­fonds (avec plus de couch­es), grâce à des méth­odes per­me­t­tant d’utiliser les approches de la rétro­prop­a­ga­tion du gra­di­ent à des réseaux avec plus d’une couche cachée. 

Les réseaux se com­plex­i­fièrent, en spé­cial­isant les couch­es comme dans le cor­tex visuel. Les résul­tats du neu­ro­sci­en­tifique David Marr et de David Hubel et Torsten Wiesel (tous deux prix Nobel en 1981 pour leurs décou­vertes con­cer­nant le traite­ment de l’information dans le sys­tème visuel) inspirèrent les chercheurs pour faire des réseaux plus adap­tés à la recon­nais­sance d’objets.

Leur ancêtre est le Neocog­ni­tron inven­té dans les années 1980 par Kuni­hiko Fukushi­ma. Les réseaux con­vo­lu­tion­nels pro­fonds tels qu’utilisés actuelle­ment ont plus de vingt ans, mais « le récent suc­cès pra­tique de l’apprentissage pro­fond […] est dû en grande par­tie à l’augmentation spec­tac­u­laire de la taille des ensem­bles de don­nées et de la puis­sance des ordi­na­teurs […], ce qui nous a per­mis de for­mer des réseaux gigantesques […] ». 

2012, ANNÉE DU RENOUVEAU

Robot AlphaGo champion du jeu de Go
Alpha­Go peut bat­tre les meilleurs joueurs de go. © SERGEY

Le renou­veau a été provo­qué par Alex Krizhevsky, Ilya Sutskev­er et Geof­frey Hin­ton en 2012 qui util­isèrent des réseaux de neu­rones con­vo­lu­tion­nels pro­fonds pour le chal­lenge Ima­geNet, qui con­siste à clas­si­fi­er des images dans la base de don­nées d’images ImageNet. 

Le réseau Super­vi­sion de Hin­ton bat les autres approches avec un taux d’erreur de 15,3 % con­tre 26,1 % pour le sec­ond. Dès 2013, les 8 pre­miers du chal­lenge sont à base de réseaux de neu­rones profonds. 

Depuis, les réseaux pro­fonds sont meilleurs qu’un humain sur ce chal­lenge, avec moins de 3,5 % d’erreurs. Le tableau suiv­ant mon­tre l’amélioration très rapi­de des algo­rithmes d’apprentissage pro­fond, jusqu’à être meilleurs que les humains. 

UN CHAMP D’APPLICATION DE PLUS EN PLUS LARGE

Grâce au fait qu’un réseau pro­fond est for­mé par appren­tis­sage et non explicite­ment pro­gram­mé, il est appliqué dans de nom­breuses appli­ca­tions où il est dif­fi­cile de définir un algo­rithme, comme la recon­nais­sance d’image (indis­pens­able pour les véhicules autonomes), la com­préhen­sion de la parole (tous les assis­tants per­son­nels, de Siri à Alexa ou Google Now, utilisent des réseaux pro­fonds sou­vent récur­sifs), la lec­ture sur les lèvres et la par­tic­i­pa­tion à divers jeux. 

“ Les réseaux profonds sont meilleurs qu’un humain sur certains challenges ”

Une grande base de don­nées « label­lisée » (indexée) est tout ce qui est néces­saire ; celles-ci sont sou­vent disponibles auprès des grands acteurs d’Internet (Google, Baidu, Face­book, Microsoft, Apple, etc.), expli­quant pourquoi ils mènent les recherch­es et les util­i­sa­tions de l’apprentissage en profondeur. 

Par exem­ple, plus de 2 mil­liards de pho­tos passent chaque jour à tra­vers deux types de réseaux pro­fonds chez Face­book, Insta­gram, Mes­sen­ger, What­sApp pour la recon­nais­sance d’image/l’indexation et pour la recon­nais­sance de vis­ages (mais pas en Europe). 

Les réseaux et les tech­niques se com­plex­i­fient, en com­bi­nant plusieurs approches. Par exem­ple pour le pro­gramme Alpha­Go dévelop­pé par Google Deep­Mind qui a bat­tu Lee Sedol (un pro­fes­sion­nel 9‑dan dans le jeu de go) en mars 2016, générant beau­coup de pub­lic­ité pour l’apprentissage en pro­fondeur et les tech­niques d’IA.

UNE UTILISATION EN DEUX PHASES

Nom de l’algorithme  Date  Erreur sur
le jeu de test 
Supervision  2012  15,3 %
Clarifai  2013  11,7 %
GoogleNet  2014  6,66%
Niveau humain  5 % 
Microsoft  05/02/2015 4,94 %
Google  02/03/2015 4,82 %
Baidu/Deep Image  10/05/2015 4,58 %
Shen­zhen Insti­tutes of Advanced Tech­nol­o­gy, Chi­nese Acad­e­my of Sci­ences CNN à 152 couches  10/12/2015 3,57 %
Google Inception-v3  2015  3,5 %
Maintenant  ?

En général, il existe deux phas­es dans l’utilisation des réseaux pro­fonds : la phase d’apprentissage, dans laque­lle les paramètres du réseau (topolo­gie et poids des con­nex­ions) sont déter­minés par la règle d’apprentissage et la phase d’inférence dans laque­lle le réseau est util­isé pour class­er les données. 

La phase d’apprentissage est la plus exigeante, avec des mil­lions ou des mil­liards de présen­ta­tions d’exemples et des mod­i­fi­ca­tions des paramètres du réseau. Il est main­tenant générale­ment fait sur les GPU en vir­gule flot­tante 16 bits ou sur ces cir­cuits spé­cial­isés comme les Ten­sor Pro­cess­ing Units (TPU) de Google. 

La phase d’inférence est moins exigeante et peut être effec­tuée avec moins de pré­ci­sion (en nom­bre entier, même réduit à 8 bits). 

C’est générale­ment cette phase qui est implé­men­tée dans des dis­posi­tifs embar­qués pour la recon­nais­sance d’image, etc. Les poids synap­tiques sont téléchargés après appren­tis­sage et peu­vent être mis à jour après un nou­v­el appren­tis­sage, éten­dant le nom­bre d’objets reconnus. 

PLUSIEURS MODES D’APPRENTISSAGE

Il existe un grand nom­bre d’approches pour la phase d’apprentissage, mais elles peu­vent être classées en 3 grandes classes : 

  • l’apprentissage super­visé (présen­ta­tion lors de l’apprentissage des entrées ET des résul­tats souhaités cor­re­spon­dant à la classe par­ti­c­ulière de l’apport présenté) ; 
  • l’apprentissage non super­visé (le réseau déter­mine sa sor­tie à par­tir de dif­férentes entrées qui n’ont alors pas besoin d’être label­lisées et essaie de dis­crim­in­er automa­tique­ment les entrées dans dif­férentes classes) ; 
  • l’apprentissage par ren­force­ment qui se con­cen­tre sur la pré­dic­tion d’une récom­pense. C’est ce type d’apprentissage qui a été util­isé pour for­mer le pro­gramme Alpha­Go et ses suc­cesseurs, comme Alpha Zero, qui, en quelques heures, et sans con­nais­sance du domaine sauf les règles, bat tous ses prédécesseurs au jeu de go, mais aus­si aux échecs. 

D’autres approches sont en développe­ment, comme les Gen­er­a­tive adver­sar­i­al net­works (GAN) qui met­tent des réseaux en compétition. 

On com­mence même à voir appa­raître des recherch­es util­isant des approches d’apprentissage pro­fond pour créer d’autres réseaux d’apprentissage pro­fond plus optimisés. 

UNE OFFRE D’OUTILS QUI S’ÉTOFFE

“ Les investissements relatifs à l’intelligence artificielle sont supposés atteindre près de 11 milliards de dollars en 2025 ”

Les grands acteurs du domaine four­nissent leurs out­ils de développe­ment de réseau pro­fond comme logi­ciel libre, comme Ten­sor­Flow (Google), CNTK (Microsoft), DSSTNE (Ama­zon), Theano, Caffe (Berke­ley), Torch (Face­book avec open source), N2D2 (CEA), les mod­ules d’apprentissage Torch­net, Ope­nAi Gym (de Open AI), MXNet, etc. 

En fait, le logi­ciel est un élé­ment non cru­cial pour créer un sys­tème effi­cace d’apprentissage en pro­fondeur. Une grande base de don­nées et la topolo­gie des réseaux neu­ronaux sont les prin­ci­paux ingré­di­ents : la valeur réside dans la topolo­gie du réseau neu­ronal et ses poids, déter­minés après l’apprentissage sur une base de don­nées particulière. 

DES INVESTISSEMENTS MASSIFS POUR DES TRANSFORMATIONS PROFONDES

Dans le domaine économique, les investisse­ments relat­ifs à l’intelligence arti­fi­cielle sont sup­posés attein­dre près de 110 mil­liards d’euros en 2025. Beau­coup de start-up tra­vail­lant dans le domaine de l’IA ont récem­ment été acquis­es par de grandes entreprises. 

Par exem­ple, en 2014, Google a acheté Deep­Mind au Roy­aume-Uni (la société qui a créé Alpha­Go et Alpha Zero), tan­dis qu’en 2016 Intel a acheté Movid­ius en Irlande et aux États-Unis (spé­cial­isé dans les sys­tèmes de vision basse con­som­ma­tion, util­isés par exem­ple dans les drones) et Nervana. 

Drone (movidius)
Intel a acheté Movid­ius en Irlande et aux États-Unis (spé­cial­isé dans les sys­tèmes de vision basse con­som­ma­tion, util­isés par exem­ple dans les drones). © ALEXTYPE

DES CENTAINES DE MILLIERS DE NEURONES ARTIFICIELS

À titre d’exemple, Supervision (le réseau de G. Hinton) est composée de 650 000 neurones artificiels connectés par 630 000 000 connexions partagées (synapses). Un apprentissage d’un réseau actuel demande quelques exaflops (plus d’un milliard de milliards d’opérations).

Au total, Google, IBM, Yahoo, Intel, Apple et Sales­force ont acquis au cours des cinq dernières années plus de 30 entre­pris­es tra­vail­lant sur l’IA.

Des sci­en­tifiques bien con­nus et les grandes entre­pris­es investis­sent énor­mé­ment en IA et sur l’apprentissage pro­fond, et des pays comme les États- Unis, la Chine et le Japon lan­cent de grands pro­jets d’IA et ont la con­vic­tion que de nou­velles per­cées se pro­duiront et que cela aura cer­taine­ment un impact pro­fond sur notre société dans les années à venir. 

Le prési­dent Oba­ma a dit : « Mon suc­cesseur gou­vern­era un pays trans­for­mé par l’IA », mon­trant l’impact que pour­rait avoir l’IA dans le futur.

Poster un commentaire