L’apprentissage profond renouvelle l’intelligence artificielle

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

Une des méthodes de l’in­tel­li­gence arti­fi­cielle est cal­quée sur le fonc­tion­ne­ment des neu­rones qui, à chaque impul­sion, donne un résul­tat binaire. On démontre qu’en mul­ti­pliant leur nombre, on peut cal­cu­ler toute fonc­tion. Ce sys­tème per­met un appren­tis­sage auto­ma­tique, qui est dit pro­fond car dis­po­sé en couches 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 bio­lo­gistes de leur époque, War­ren Stur­gis McCul­loch, neu­ro­logue amé­ri­cain et Wal­ter Pitts, mathé­ma­ti­cien et psy­cho­logue ont pro­po­sé en 1943 un modèle mathé­ma­tique du fonc­tion­ne­ment sim­pli­fié des neu­rones bio­lo­giques, cel­lules étant une des com­po­santes du cerveau. 

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

Leur papier, A Logi­cal Cal­cu­lus of Ideas Imma­nent in Ner­vous Acti­vi­ty, a été publié en 1943 dans le Bul­le­tin of Mathe­ma­ti­cal Bio­phy­sics (5:115–133) et reste la base des réseaux de neu­rones formels. 

Leur modèle est simple : un neu­rone effec­tue une fonc­tion binaire qui com­pare à un seuil la somme pon­dé­rée de ses entrées (connec­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 suf­fi­sam­ment com­plexe per­met de « cal­cu­ler » n’importe quelle fonction. 


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

Par com­po­si­tion des fonc­tions neu­rones, on peut défi­nir si une entrée fait par­tie d’un sous espace par­ti­cu­lier bor­né par les hyper­plans défi­nis par les neurones. 

Le neurone formel


John von Neu­mann, dont on consi­dère que son First Draft of a Report on the EDVAC est la pre­mière des­crip­tion d’un ordi­na­teur moderne (la machine de J. von Neu­mann), ne cite que ce papier 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 ambi­guï­té […] peut être conçu comme un réseau neu­ro­nal approprié ». 

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

Mal­heu­reu­se­ment, les limi­ta­tions de la tech­no­lo­gie de l’époque ne lui per­mirent pas de déve­lop­per l’approche hau­te­ment paral­lèle des réseaux de neu­rones, et donc il abou­tit à l’architecture mémoire, uni­té de contrôle, uni­té arith­mé­tique et uni­tés d’entrée et de sor­tie, que l’on retrouve 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­ti­sé Per­cep­tron. Pour ce clas­si­fieur, la pon­dé­ra­tion entre neu­rones est ins­pi­rée par la règle de Hebb qui consi­dère que lorsque deux neu­rones sont exci­tés conjoin­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 obser­vée lorsqu’on pro­page une entrée dont le Per­cep­tron cal­cule la fonc­tion de sortie. 

Le pre­mier hiver des réseaux de neu­rones a été pro­vo­qué par le livre de Mar­vin Mins­ky et Sey­mour Papert, Per­cep­trons : an intro­duc­tion to com­pu­ta­tio­nal geo­me­try, qui montre des limi­ta­tions des Perceptrons. 

Le livre, Paral­lel Dis­tri­bu­ted Pro­ces­sing : Explo­ra­tions in the Micro­struc­ture of Cog­ni­tion de David Eve­rett Rumel­hart et James McClel­land, relance le domaine avec une approche tes­table des réseaux mul­ti­couches (essen­tiel­le­ment avec une couche inter­mé­diaire, dite cachée) dits Mul­ti-Layer-Per­cep­trons (MLP).

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

Torsten Wiesel, prix Nobel 1981
Tors­ten Wie­sel, prix Nobel 1981 avec David Hubel pour leurs décou­vertes sur le trai­te­ment de l’information visuelle.CC – SUAWIKICOMMONS

Une règle d’apprentissage, appe­lée rétro­pro­pa­ga­tion du gra­dient, per­met­tant de cal­cu­ler les poids des couches inter­mé­diaires a été publiée dans sa thèse en 1985 par Yann LeCun (main­te­nant chez Face­book), puis lar­ge­ment dif­fu­sée par David Rumel­hart, Geof­frey Hin­ton (main­te­nant chez Google Brain) et Ronald Williams en 1986. 

Cela a abou­ti à une pre­mière explo­sion des uti­li­sa­tions des réseaux de neu­rones dans les années 1990. Ils furent uti­li­sés pour la recon­nais­sance de carac­tères manus­crits (pour recon­naître les codes pos­taux), pour de l’analyse d’images, etc. 

Une pre­mière ère de déve­lop­pe­ments de cir­cuits spé­cia­li­sés a sui­vi, mais les tech­niques de l’époque ne per­mettent qu’un paral­lé­lisme limi­té, et l’avancée rapide des pro­ces­seurs géné­ra­listes a limi­té leur expansion. 

RÉTROPROPAGATION ET RÉSEAUX CONVOLUTIONNELS

Pen­dant ce temps, les réseaux de neu­rones deviennent plus pro­fonds (avec plus de couches), grâce à des méthodes per­met­tant d’utiliser les approches de la rétro­pro­pa­ga­tion du gra­dient à des réseaux avec plus d’une couche cachée. 

Les réseaux se com­plexi­fièrent, en spé­cia­li­sant les couches comme dans le cor­tex visuel. Les résul­tats du neu­ros­cien­ti­fique David Marr et de David Hubel et Tors­ten Wie­sel (tous deux prix Nobel en 1981 pour leurs décou­vertes concer­nant le trai­te­ment de l’information dans le sys­tème visuel) ins­pi­rèrent les cher­cheurs pour faire des réseaux plus adap­tés à la recon­nais­sance d’objets.

Leur ancêtre est le Neo­co­gni­tron inven­té dans les années 1980 par Kuni­hi­ko Fuku­shi­ma. Les réseaux convo­lu­tion­nels pro­fonds tels qu’utilisés actuel­le­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­ta­cu­laire de la taille des ensembles 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 battre les meilleurs joueurs de go. © SERGEY

Le renou­veau a été pro­vo­qué par Alex Kriz­hevs­ky, Ilya Suts­ke­ver et Geof­frey Hin­ton en 2012 qui uti­li­sèrent des réseaux de neu­rones convo­lu­tion­nels pro­fonds pour le chal­lenge Ima­ge­Net, qui consiste à clas­si­fier 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 % contre 26,1 % pour le second. 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 sui­vant montre l’amélioration très rapide 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 expli­ci­te­ment pro­gram­mé, il est appli­qué dans de nom­breuses appli­ca­tions où il est dif­fi­cile de défi­nir un algo­rithme, comme la recon­nais­sance d’image (indis­pen­sable pour les véhi­cules auto­nomes), la com­pré­hen­sion de la parole (tous les assis­tants per­son­nels, de Siri à Alexa ou Google Now, uti­lisent des réseaux pro­fonds sou­vent récur­sifs), la lec­ture sur les lèvres et la par­ti­ci­pa­tion à divers jeux. 

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

Une grande base de don­nées « label­li­sée » (indexée) est tout ce qui est néces­saire ; celles-ci sont sou­vent dis­po­nibles auprès des grands acteurs d’Internet (Google, Bai­du, Face­book, Micro­soft, Apple, etc.), expli­quant pour­quoi ils mènent les recherches et les uti­li­sa­tions de l’apprentissage en profondeur. 

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

Les réseaux et les tech­niques se com­plexi­fient, en com­bi­nant plu­sieurs approches. Par exemple pour le pro­gramme Alpha­Go déve­lop­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 publi­ci­té pour l’apprentissage en pro­fon­deur 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 %
Shenz­hen Ins­ti­tutes of Advan­ced Tech­no­lo­gy, Chi­nese Aca­de­my of Sciences CNN à 152 couches  10/12/2015 3,57 %
Google Inception-v3  2015  3,5 %
Maintenant  ?

En géné­ral, il existe deux phases dans l’utilisation des réseaux pro­fonds : la phase d’apprentissage, dans laquelle les para­mètres du réseau (topo­lo­gie et poids des connexions) sont déter­mi­nés par la règle d’apprentissage et la phase d’inférence dans laquelle le réseau est uti­li­sé pour clas­ser les données. 

La phase d’apprentissage est la plus exi­geante, avec des mil­lions ou des mil­liards de pré­sen­ta­tions d’exemples et des modi­fi­ca­tions des para­mètres du réseau. Il est main­te­nant géné­ra­le­ment fait sur les GPU en vir­gule flot­tante 16 bits ou sur ces cir­cuits spé­cia­li­sés comme les Ten­sor Pro­ces­sing Units (TPU) de Google. 

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

C’est géné­ra­le­ment cette phase qui est implé­men­tée dans des dis­po­si­tifs embar­qués pour la recon­nais­sance d’image, etc. Les poids synap­tiques sont télé­char­gés après appren­tis­sage et peuvent être mis à jour après un nou­vel appren­tis­sage, éten­dant le nombre d’objets reconnus. 

PLUSIEURS MODES D’APPRENTISSAGE

Il existe un grand nombre d’approches pour la phase d’apprentissage, mais elles peuvent être clas­sées en 3 grandes classes : 

  • l’apprentissage super­vi­sé (pré­sen­ta­tion lors de l’apprentissage des entrées ET des résul­tats sou­hai­tés cor­res­pon­dant à la classe par­ti­cu­lière de l’apport présenté) ; 
  • l’apprentissage non super­vi­sé (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­li­sées et essaie de dis­cri­mi­ner auto­ma­ti­que­ment les entrées dans dif­fé­rentes classes) ; 
  • l’apprentissage par ren­for­ce­ment qui se concentre sur la pré­dic­tion d’une récom­pense. C’est ce type d’apprentissage qui a été uti­li­sé pour for­mer le pro­gramme Alpha­Go et ses suc­ces­seurs, comme Alpha Zero, qui, en quelques heures, et sans connais­sance du domaine sauf les règles, bat tous ses pré­dé­ces­seurs au jeu de go, mais aus­si aux échecs. 

D’autres approches sont en déve­lop­pe­ment, comme les Gene­ra­tive adver­sa­rial net­works (GAN) qui mettent des réseaux en compétition. 

On com­mence même à voir appa­raître des recherches uti­li­sant 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 outils de déve­lop­pe­ment de réseau pro­fond comme logi­ciel libre, comme Ten­sor­Flow (Google), CNTK (Micro­soft), DSSTNE (Ama­zon), Thea­no, Caffe (Ber­ke­ley), Torch (Face­book avec open source), N2D2 (CEA), les modules 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­fon­deur. Une grande base de don­nées et la topo­lo­gie des réseaux neu­ro­naux sont les prin­ci­paux ingré­dients : la valeur réside dans la topo­lo­gie du réseau neu­ro­nal et ses poids, déter­mi­nés après l’apprentissage sur une base de don­nées particulière. 

DES INVESTISSEMENTS MASSIFS POUR DES TRANSFORMATIONS PROFONDES

Dans le domaine éco­no­mique, les inves­tis­se­ments rela­tifs à l’intelligence arti­fi­cielle sont sup­po­sés atteindre près de 110 mil­liards d’euros en 2025. Beau­coup de start-up tra­vaillant dans le domaine de l’IA ont récem­ment été acquises par de grandes entreprises. 

Par exemple, en 2014, Google a ache­té Deep­Mind au Royaume-Uni (la socié­té qui a créé Alpha­Go et Alpha Zero), tan­dis qu’en 2016 Intel a ache­té Movi­dius en Irlande et aux États-Unis (spé­cia­li­sé dans les sys­tèmes de vision basse consom­ma­tion, uti­li­sés par exemple dans les drones) et Nervana. 

Drone (movidius)
Intel a ache­té Movi­dius en Irlande et aux États-Unis (spé­cia­li­sé dans les sys­tèmes de vision basse consom­ma­tion, uti­li­sés par exemple 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 der­nières années plus de 30 entre­prises tra­vaillant sur l’IA.

Des scien­ti­fiques bien connus et les grandes entre­prises inves­tissent énor­mé­ment en IA et sur l’apprentissage pro­fond, et des pays comme les États- Unis, la Chine et le Japon lancent de grands pro­jets d’IA et ont la convic­tion que de nou­velles per­cées se pro­dui­ront et que cela aura cer­tai­ne­ment un impact pro­fond sur notre socié­té dans les années à venir. 

Le pré­sident Oba­ma a dit : « Mon suc­ces­seur gou­ver­ne­ra un pays trans­for­mé par l’IA », mon­trant l’impact que pour­rait avoir l’IA dans le futur.

Poster un commentaire