Overblog
Editer l'article Suivre ce blog Administration + Créer mon blog
Google+
Charivari de la société contemporaine

Notes explicatives sur les avancées techniques de l'I.A d'aujourd'hui (partie I)

26 Août 2014, 13:46pm

Publié par alize2769

Les réseaux neuronaux

Les réseaux neuronaux

La littérature de cette partie d'article est volontairement technique mais vulgarisée afin de comprendre les véritables enjeux de l'intelligence artificielle dans les années à venir. La connaissance précise sur les avancées de l'IA permet de mesurer la portée de ses nouveaux concepts mis en œuvre récemment et de mettre en lumière toutes leurs implications sociales et épistémologiques. De plus, la compréhension de cette discipline permet de faire la part entre le domaine du possible et le domaine du fantasme que cette branche peut susciter.

 

Essor et percée théorique des réseaux neuronaux

 

Les réseaux de neurones ont de nouveau le vent en poupe par la résolution de problèmes théoriques qui limitaient les possibilités pratiques de cette discipline (cf les limites du modèle du perceptron)

 

Les réseaux de neurones, en tant que système capable d'apprendre, mettent en œuvre le principe de l'induction, c’est-à-dire l'apprentissage par l'expérience. Par confrontation avec des situations ponctuelles, ils infèrent un système de décision intégré dont le caractère générique est fonction du nombre de cas d'apprentissages rencontrés et de leur complexité par rapport à la complexité du problème à résoudre. Par opposition, les systèmes symboliques capables d'apprentissage, s'ils implémentent également l'induction, le font sur base de la logique algorithmique, par complexification d'un ensemble de règles déductives (ex : prolog).

 

Grâce à leur capacité de classification et de généralisation, les réseaux de neurones sont généralement utilisés dans des problèmes de nature statistique, tels que la classification automatique de codes postaux ou la prise de décision concernant un achat boursier en fonction de l'évolution des cours. Autre exemple, une banque peut créer un jeu de données sur les clients qui ont effectué un emprunt constitué : de leur revenu, de leur âge, du nombre d’enfants à charge… et s’il s’agit d’un bon client. Si ce jeu de données est suffisamment grand, il peut être utilisé pour l’entraînement d’un réseau de neurones. La banque pourra alors présenter les caractéristiques d’un potentiel nouveau client, et le réseau répondra s’il sera bon client ou non, en généralisant à partir des cas qu’il connaît.

 

(références Wikipedia)

 

Vue simplifiée d'un réseau artificiel de neurones:

 

"Les réseaux neuronaux sont construits sur un paradigme biologique, celui du neurone formel (comme les algorithmes génétiques le sont sur la sélection naturelle). Ces types de métaphores biologiques sont devenues courantes avec les idées de la cybernétique et biocybernétique. Celui-ci ne prétend pas davantage décrire le cerveau qu'une aile d'avion, par exemple, copier celle d'un oiseau. En particulier le rôle des cellules gliales n'est pas simulé pour le moment (2010).

 

Les neurologues Warren McCulloch et Walter Pitts publièrent dès la fin des années 1950 les premiers travaux sur les réseaux de neurones, avec un article fondateur : What the frog’s eye tells to the frog’s brain (Ce que l'œil d'une grenouille dit à son cerveau). Ils constituèrent ensuite un modèle simplifié de neurone biologique communément appelé neurone formel. Ils montrèrent que des réseaux de neurones formels simples peuvent théoriquement réaliser des fonctions logiques, arithmétiques et symboliques complexes.

 

Le neurone formel est conçu comme un automate doté d'une fonction de transfert qui transforme ses entrées en sortie selon des règles précises. Par exemple, un neurone somme ses entrées, compare la somme résultante à une valeur seuil, et répond en émettant un signal si cette somme est supérieure ou égale à ce seuil (modèle ultra-simplifié du fonctionnement d'un neurone biologique). Ces neurones sont par ailleurs associés en réseaux dont la topologie des connexions est variable : réseaux proactifs, récurrents, etc. Enfin, l'efficacité de la transmission des signaux d'un neurone à l'autre peut varier : on parle de « poids synaptique », et ces poids peuvent être modulés par des règles d'apprentissage (ce qui mime la plasticité synaptique des réseaux biologiques).

 

Une fonction des réseaux de neurones formels, à l’instar du modèle vivant, est d'opérer rapidement des classifications et d'apprendre à les améliorer. À l’opposé des méthodes traditionnelles de résolution informatique, on ne doit pas construire un programme pas à pas en fonction de la compréhension de celui-ci. Les paramètres importants de ce modèle sont les coefficients synaptiques et le seuil de chaque neurone, et la façon de les ajuster. Ce sont eux qui déterminent l'évolution du réseau en fonction de ses informations d'entrée. Il faut choisir un mécanisme permettant de les calculer et de les faire converger si possible vers une valeur assurant une classification aussi proche que possible de l'optimale. C’est ce qu'on nomme la phase d’apprentissage du réseau. Dans un modèle de réseaux de neurones formels, apprendre revient donc à déterminer les coefficients synaptiques les plus adaptés à classifier les exemples présentés.

 

Les travaux de McCulloch et Pitts n’ont pas donné d’indication sur une méthode pour adapter les coefficients synaptiques. Cette question au cœur des réflexions sur l’apprentissage a connu un début de réponse grâce aux travaux du physiologiste canadien Donald Hebb sur l’apprentissage en 1949 décrits dans son ouvrage "The Organization of Behaviour". Hebb a proposé une règle simple qui permet de modifier la valeur des coefficients synaptiques en fonction de l’activité des unités qu’ils relient. Cette règle aujourd’hui connue sous le nom de « règle de Hebb » est presque partout présente dans les modèles actuels, même les plus sophistiqués.

 

Réseau de neurones avec rétroaction

 

À partir de cet article, l’idée se sema au fil du temps dans les esprits, et elle germa dans l’esprit de Franck Rosenblatt en 1957 avec le modèle du perceptron. C’est le premier système artificiel capable d’apprendre par expérience, y compris lorsque son instructeur commet quelques erreurs (ce en quoi il diffère nettement d’un système d’apprentissage logique formel).

 

En 1969, un coup grave fut porté à la communauté scientifique gravitant autour des réseaux de neurones : Marvin Lee Minsky et Seymour Papert publièrent un ouvrage mettant en exergue quelques limitations théoriques du Perceptron, et plus généralement des classifieurs linéaires, notamment l’impossibilité de traiter des problèmes non linéaires ou de connexité. Ils étendirent implicitement ces limitations à tous modèles de réseaux de neurones artificiels. Paraissant alors dans une impasse, la recherche sur les réseaux de neurones perdit une grande partie de ses financements publics, et le secteur industriel s’en détourna aussi. Les fonds destinés à l’intelligence artificielle furent redirigés plutôt vers la logique formelle et la recherche piétina pendant dix ans. Cependant, les solides qualités de certains réseaux de neurones en matière adaptative, leur permettant de modéliser de façon évolutive des phénomènes eux-mêmes évolutifs, les amèneront à être intégrés sous des formes plus ou moins explicites dans le corpus des systèmes adaptatifs; utilisés dans le domaine des télécommunications ou celui du contrôle de processus industriels.

 

En 1982, John Joseph Hopfield, physicien reconnu, donna un nouveau souffle au neuronal en publiant un article introduisant un nouveau modèle de réseau de neurones (complètement récurrent). Cet article eut du succès pour plusieurs raisons, dont la principale était de teinter la théorie des réseaux de neurones de la rigueur propre aux physiciens. Le neuronal redevint un sujet d’étude acceptable, bien que le modèle de Hopfield souffrît des principales limitations des modèles des années 1960, notamment l’impossibilité de traiter les problèmes non-linéaires.

 

À la même date, les approches algorithmiques de l’intelligence artificielle furent l’objet de désillusion, leurs applications ne répondant pas aux attentes. Cette désillusion motiva une réorientation des recherches en intelligence artificielle vers les réseaux de neurones (bien que ces réseaux concernent la perception artificielle plus que l’intelligence artificielle à proprement parler). La recherche fut relancée et l’industrie reprit quelque intérêt au neuronal (en particulier pour des applications comme le guidage de missiles de croisière). En 1984 , c’est le système de rétropropagation du gradient de l’erreur qui est le sujet le plus débattu dans le domaine.

 

Une révolution survient alors dans le domaine des réseaux de neurones artificiels : une nouvelle génération de réseaux de neurones, capables de traiter avec succès des phénomènes non-linéaires : le perceptron multicouche ne possède pas les défauts mis en évidence par Marvin Minsky. Proposé pour la première fois par Werbos, le Perceptron Multi-Couche apparait en 1986 introduit par Rumelhart, et, simultanément, sous une appellation voisine, chez Yann LeCun. Ces systèmes reposent sur la rétropropagation du gradient de l’erreur dans des systèmes à plusieurs couches.

 

Les réseaux de neurones ont par la suite connu un essor considérable, et ont fait partie des premiers systèmes à bénéficier de l’éclairage de la théorie de la « régularisation statistique » introduite par Vladimir Vapnik en Union soviétique et popularisée en occident depuis la chute du mur. Cette théorie, l’une des plus importantes du domaine des statistiques, permet d’anticiper, d’étudier et de réguler les phénomènes liés au sur-apprentissage. On peut ainsi réguler un système d’apprentissage pour qu’il arbitre au mieux entre une modélisation pauvre (exemple : la moyenne) et une modélisation trop riche qui serait optimisée de façon illusoire sur un nombre d’exemples trop petit, et serait inopérant sur des exemples non encore appris, même proches des exemples appris. Le sur-apprentissage est une difficulté à laquelle doivent faire face tous les systèmes d’apprentissage par l’exemple, que ceux-ci utilisent des méthodes d’optimisation directe (e.g. régression linéaire), itératives (e.g., l'algorithme du gradient), ou itératives semi-directes (gradient conjugué, espérance-maximisation...) et que ceux-ci soient appliqués aux modèles statistiques classiques, aux modèles de Markov  ou aux réseaux de neurones formels.

 

Publicité autour de l'apprentissage en profondeur (Deep learning)

 

L'apprentissage en profondeur est souvent présentée comme une étape vers la réalisation de l'IA forte  et donc de nombreuses organisations se sont intéressés à son utilisation pour des applications particulières.

En réalité, l'apprentissage en profondeur est seulement une partie d'un plus grand défi de construire des machines intelligentes. Ces techniques n'ont pas les moyens de représenter les relations de causalité, n'ont pas de manières évidentes de réaliser des inférences logiques , et aussi on peut affirmer qu'il reste encore un long chemin pour ce qui concerne l'intégration abstrait des connaissances, telles que des informations sur les objets sont, sur ce qu'ils sont, et comment ils sont généralement utilisés. Les systèmes d'IA plus puissants, comme la machine IBM Watson,  utilisent des techniques comme l'apprentissage profond comme juste un élément dans un ensemble très compliqué de techniques, allant de la technique statistique de l'inférence bayésienne  au raisonnement déductif

 

(références Wikipedia)

 

Points faibles et limites

 

Les réseaux de neurones ne fournissent pas les explications concernant leurs résultats ce qui limite donc l'analyse des phénomènes existants. Cette limite est due à l'opacité des réseaux de neurones qui empêche une analyse pertinente des solutions obtenues. Les réseaux de neurones peuvent être assimilés à une boîte noire qui donne une réponse quand on lui fournit des données mais qui ne délivre pas toujours de justification simple à analyser. Les liens existants entre les variables du modèle ne sont pas toujours détectés. Ce système n'a donc qu'un pouvoir explicatif limité contrairement à d'autres systèmes experts qui pourraient être capables de retracer le raisonnement suivi pour parvenir au résultat ce qui interpréterait donc les conclusions obtenues.

 

Non optimalité de l'architecture

 

Il n'existe pas encore de moyens permettant de définir l'architecture optimale du réseau de neurones. En effet, le réseau qui apparaît optimal d'une façon globale ne délivre pas toujours les résultats les plus pertinents. Plusieurs optima locaux ne fournissent pas toujours la solution optimale en global. Pour définir l'architecture du réseau de neurones, il faut déterminer tout d'abord le nombre de couches cachées du réseau ainsi que le nombre de neurones sur chacune d'entre elles. Tout cela relève de l'intuition de l'opérationnel et de sa capacité à expérimenter plusieurs structures dans le but de retenir celle qui fournira les meilleurs résultats. Plus le réseau est complexe, plus il possède de couches cachées et de connexions, plus il est capable de reconnaître ce qui lui est présenté à travers l'échantillon d'apprentissage. Il faut tout de même noter que la complexité croissante du réseau n'améliore pas forcément la reconnaissance sur l'échantillon test. Plusieurs méthodes ont été élaborées pour guider l'opérationnel dans la conception du réseau en s'appuyant notamment sur les travaux de Refenes (1995).

 

L'intervention humaine

Comme c'est le cas du choix de la structure optimale du réseau de neurones, ce système fait souvent appel à l'intuition de l'utilisateur. L'apprentissage est guidé par des paramètres définis manuellement par l'opérationnel. Celui-ci devra par exemple définir à quel moment devra s'arrêter l'apprentissage pour que le réseau conserve ses capacités à généraliser.

 

Commenter cet article