JavaRush /Blog Java /Random-FR /Réseaux de neurones : berceau de la future IA ou juste un...

Réseaux de neurones : berceau de la future IA ou juste une autre tendance techno ?

Publié dans le groupe Random-FR
Dans les documents sur JavaRush, nous avons déjà abordé le sujet de l'intelligence artificielle (IA), de l'apprentissage automatique et d'autres technologies liées à l'IA d'une manière ou d'une autre. En particulier, nous avons déjà parlé de la façon dont l'intelligence artificielle est liée à la programmation en Java , discuté des mythes et des histoires d'horreur sur l'IA , et dans un certain nombre d'articles, nous avons mentionné les technologies clés utilisées dans ce domaine. Réseaux de neurones : berceau de la future IA ou juste une autre tendance techno ?  - 1Par conséquent, nous avons décidé que c'était le bon moment pour approfondir encore plus le domaine de l'IA et examiner de plus près la technologie qui sous-tend réellement l'IA et l'apprentissage automatique modernes : les réseaux de neurones. À savoir : comment est né le concept de réseaux de neurones et comment cette technologie a été transformée jusqu'à son état actuel, en quoi les réseaux de neurones artificiels diffèrent des neurones du cerveau humain, s'ils savent vraiment comment apprendre et de quoi ils sont réellement capables aujourd'hui. Réseaux de neurones : berceau de la future IA ou juste une autre tendance techno ?  - 2

Réseaux de neurones artificiels et cerveau humain. Même?

Initialement, les réseaux de neurones informatiques ont reçu ce nom parce que le principe de leur conception ressemble au système de neurones du cerveau humain. Ainsi, le cerveau humain moyen comprend plus de 100 millions de petites cellules appelées neurones. En fait, personne ne sait exactement combien de ces cellules il pourrait réellement y avoir dans le cerveau humain - les estimations varient entre 50 et 500 milliards. Chaque neurone est constitué d'un corps cellulaire avec de nombreuses dendrites (entrées cellulaires - transmettent des informations à la cellule). ) et un axone (sortie cellulaire - transmet les informations de la cellule). Les neurones sont si petits qu'une centaine de ces cellules peuvent être placées sur une superficie d'un millimètre carré. À l’intérieur d’un ordinateur, l’équivalent d’un neurone se trouve de minuscules dispositifs de commutation appelés transistors. Les derniers microprocesseurs modernes (ordinateurs monopuce) contiennent plus de 30 milliards de transistors. Même le premier microprocesseur Pentium, créé il y a environ 20 ans, comptait environ 50 millions de transistors regroupés dans un circuit intégré d'une superficie de seulement 25 mm. En fait, disent les experts, c'est là que se termine la connexion entre les processeurs informatiques et les neurones du cerveau humain, car sinon ils sont très différents les uns des autres et fonctionnent complètement différemment. Les transistors informatiques sont connectés dans des circuits en série relativement simples, dont chacun peut être connecté à deux ou trois autres, tandis que les neurones du cerveau sont étroitement connectés de manière parallèle complexe. Ainsi, les scientifiques ont calculé que chaque neurone peut être connecté à plus de 10 000 de ses voisins.

Qu'est-ce qu'un réseau de neurones artificiels ?

Ainsi, la différence structurelle la plus significative entre les ordinateurs et les neurones du cerveau réside dans leur fonctionnement. L’idée de base des réseaux de neurones est de simuler, ou, si vous préférez, de modéliser, sous une forme simplifiée, le fonctionnement de nombreux neurones interconnectés dans le cerveau. C’est ce qui permet à un réseau neuronal de faire des choses que les microprocesseurs ordinaires ne peuvent pas faire, à savoir apprendre, reconnaître des modèles et prendre des décisions selon un principe similaire à celui du cerveau humain. Cependant, il est important de souligner qu'à l'heure actuelle, les réseaux de neurones sont une simple émulation logicielle du travail des neurones du cerveau. Réseaux de neurones : berceau de la future IA ou juste une autre tendance techno ?  - 3Un réseau neuronal typique contient de plusieurs dizaines à des centaines, des milliers voire des millions de neurones artificiels, appelés unités, disposés en plusieurs couches. Certaines de ces unités, appelées unités d’entrée, sont chargées de recevoir diverses formes d’informations du monde extérieur, que le réseau neuronal tentera ensuite d’apprendre, de mémoriser et de traiter par d’autres moyens. D'autres unités, appelées unités de sortie, situées de l'autre côté du réseau, sont responsables de la manière dont le réseau interagit avec ces informations. Entre ces deux couches se trouvent d’autres unités qui effectuent le calcul et constituent l’essentiel du réseau neuronal. La plupart des réseaux neuronaux sont interconnectés, ce qui signifie que chaque unité est connectée à d’autres unités en couches de chaque côté. Les connexions entre les unités sont représentées par un nombre appelé poids. Le poids dans un réseau neuronal peut être positif (si une unité en active une autre) ou négatif (si une unité en supprime ou en affaiblit une autre). Plus le poids est élevé, plus l’influence d’une unité sur une autre est grande. Un réseau neuronal simple conçu pour résoudre des problèmes simples ne peut comprendre que trois couches de base, comme le montre l'image. Cependant, entre les couches d’entrée et de sortie, il peut y avoir un certain nombre de couches différentes qui remplissent des fonctions différentes. Les réseaux de neurones avec des structures plus complexes (que dans l'illustration ci-dessus) sont appelés réseaux de neurones profonds et sont généralement utilisés pour résoudre des problèmes complexes. En théorie, l’utilisation d’une structure profonde permet à un réseau neuronal de mapper n’importe quel type de données d’entrée à n’importe quel type de données de sortie, le rendant ainsi capable de résoudre n’importe quel problème. Cependant, pour cela, le réseau neuronal nécessitera une « formation » sérieuse et longue, qui consiste à traiter des millions, voire des milliards d'exemples d'informations avec lesquelles le réseau doit travailler. Réseaux de neurones : berceau de la future IA ou juste une autre tendance techno ?  - 4

Réseaux de neurones : un peu d'histoire

Eh bien, nous avons réglé les explications de base de ce que sont essentiellement les réseaux de neurones, nous pouvons maintenant prendre un peu de recul sur la théorie et parler de l'histoire de cette technologie et de la date de son apparition. Cela peut en surprendre plus d’un, mais les réseaux de neurones sont apparus dans la science il y a plus de 70 ans. Le concept a été proposé pour la première fois en 1944 par Warren McCullough et Walter Pitts, deux chercheurs de l'Université de Chicago qui ont rejoint le Massachusetts Institute of Technology en 1952, où ils ont fondé le premier groupe de recherche en sciences cognitives. Les réseaux de neurones constituaient en réalité un domaine de recherche majeur tant en neurosciences qu’en informatique jusqu’en 1969. Autrement dit, cette technologie, qui est à la base des systèmes d'intelligence artificielle modernes, est déjà, en termes modernes, à la mode depuis plus d'une décennie - du milieu des années cinquante à la fin des années soixante. On pense que le « tueur » de ce battage médiatique était un livre écrit par deux informaticiens - Marvin Minsky et Seymour Papert - qui, dans leurs travaux, ont révélé toutes les limites des réseaux neuronaux. Le fait est que les premiers réseaux de neurones n’avaient qu’une ou deux couches pouvant être entraînées. Minsky et Papert ont montré que des réseaux aussi simples sont mathématiquement incapables de modéliser des phénomènes complexes du monde réel. En conséquence, l'intérêt pour les réseaux de neurones en tant que technologie s'est perdu pendant de nombreuses années - tout au long des années 70 et de la première moitié des années 80, objectivement, peu d'attention leur a été accordée. L'intérêt n'a été renouvelé qu'en 1986, avec la publication d'un article introduisant le concept de rétropropagation, une méthode pratique pour former des réseaux de neurones profonds. Grâce à la rétropropagation, les réseaux neuronaux profonds sont devenus plus conviviaux sur le plan informatique, mais leur fonctionnement nécessitait toujours d’énormes ressources informatiques. Et les recherches menées dans les années 1990 et 2000 ont souvent montré que les réseaux neuronaux complexes ne produisaient pas les résultats escomptés en termes d’efficacité. En conséquence, les réseaux neuronaux sont tombés pendant un certain temps à l’écart de la vague de battage médiatique et n’ont réapparu que dans la deuxième décennie des années 2000, en grande partie grâce à la puissance de calcul accrue des puces graphiques, qui permettent aux réseaux neuronaux profonds de fonctionner plus efficacement qu’auparavant. Le phénomène d’une telle cyclicité dans la science dans son ensemble est bien expliquéTomaso Poggio, professeur au Massachusetts Institute of Technology : « Il existe une explication selon laquelle les idées scientifiques se propagent à peu près de la même manière que les virus. Par exemple, il existe cinq ou six souches principales du virus de la grippe, et chacune réapparaît environ tous les 25 ans. Les gens sont infectés, développent une immunité et sont protégés contre l’infection pendant les 25 prochaines années. Et puis une nouvelle génération arrive et est à nouveau infectée par la même souche du virus. En science, les gens tombent amoureux des idées et y travaillent jusqu’à l’épuisement, à tel point qu’ils développent une immunité sous la forme d’une fatigue des idées. Et puis l’idée revient avec une autre génération de scientifiques. Étant donné que les réseaux neuronaux et les technologies d’intelligence artificielle sont encore une technologie relativement nouvelle et sous-développée, il est possible que le battage médiatique qui les entoure recommence bientôt à décliner, pour revenir à nouveau dans quelques décennies. Réseaux de neurones : berceau de la future IA ou juste une autre tendance techno ?  - 5

Comment les réseaux de neurones apprennent-ils ?

Généralement, les informations transitent par un réseau neuronal de deux manières. Lorsque le réseau est en train d'apprendre ou est déjà en cours d'exécution après la formation, des modèles d'informations y pénètrent via des unités d'entrée, qui lancent des couches d'unités cachées, qui à leur tour entrent dans des unités de sortie. Cette structure globale est appelée un réseau feedforward. Toutes les unités ne fonctionnent pas en même temps. Chaque unité reçoit les données entrantes des unités de gauche et les multiplie par le poids des connexions qu'elle traverse. Chaque unité additionne ainsi toutes les données qu'elle reçoit et, dans le type de réseau le plus simple, si la somme dépasse un certain seuil, l'unité active les autres unités auxquelles elle est connectée (celles de droite). L’un des points clés qui permettent à tout réseau neuronal d’apprendre est le feedback. Tout comme un enfant a besoin d’être élevé par un adulte qui lui dira ce qui est bien et ce qui est mal, les réseaux neuronaux ont besoin de retour d’information et de conseils. Ils utilisent une approche de formation appelée rétropropagation . Dans cette méthode, le réseau compare la production qu'il produit avec la production qu'il devrait produire et utilise la différence entre ces deux facteurs pour modifier le poids des connexions entre les unités du réseau, des unités de sortie aux unités intermédiaires en passant par les unités d'entrée. c'est-à-dire vice versa. Au fil du temps, la rétropropagation force le réseau à apprendre, réduisant ainsi la différence entre la sortie réelle et estimée jusqu'au point où elles correspondent exactement. Réseaux de neurones : berceau de la future IA ou juste une autre tendance techno ?  - 6

Comment fonctionnent les réseaux de neurones et où sont-ils utilisés ?

Et enfin, regardons un exemple du fonctionnement d’un tel réseau neuronal. Une fois que le réseau neuronal dispose de suffisamment d'exemples de données sur lesquelles s'entraîner, il atteint un point où l'utilisateur peut lui fournir des données complètement nouvelles que le réseau n'a jamais traitées auparavant et en obtenir le résultat souhaité. Par exemple, disons que vous entraînez votre réseau neuronal à détecter une arme lorsqu'elle apparaît quelque part à portée de vue d'une caméra de sécurité. Vous entraînez le réseau en lui montrant des centaines, des milliers et des dizaines de milliers d'images de différents types d'armes, telles que des pistolets et des fusils. À un moment donné, vous téléchargez une image d'un nouveau type d'arme qui ne lui a jamais été montré auparavant, par exemple une arme à feu. En conséquence, le réseau réussit à identifier cet objet comme une arme sur la base d'un certain nombre de critères de base, tels que la forme générale, la présence d'un manche et d'une crosse, la présence d'une gâchette, etc. Autrement dit, le réseau neuronal détermine l’arme dans l’image sur la base d’un certain nombre de modèles « appris ». Dans le même temps, bien entendu, cela ne signifie pas que le réseau neuronal peut visualiser de nouvelles données et prendre une décision de manière indépendante, comme le font les gens. Il reçoit toutes les informations sous forme de code binaire, et chacune des unités d'entrée (informations dans le réseau) ne peut être que dans deux positions : allumée ou éteinte. En conséquence, si, en utilisant le même exemple, vous entraînez un réseau neuronal à trouver des armes, les informations passeront par un ensemble d’unités d’entrée qui répondent aux questions de base « oui/non ». Par exemple, comme : l'objet a-t-il un déclencheur ? ; y a-t-il une muselière ?; l'article est-il en métal ? ; sa forme correspond-elle à celle d'un pistolet ? Ainsi, pour une arme à feu, la réponse du réseau serait : « oui, oui, oui, non » ou « 1110 » en code binaire. Bien sûr, dans un système réel, il y aurait beaucoup plus de questions de ce type, mais l'essence reste la même : le réseau neuronal reçoit des données sous la forme d'un code binaire et, avec son aide, apprend à distinguer les informations nécessaires de celles qui ne sont pas nécessaires. Connaissant désormais le mécanisme de base du réseau neuronal, il est facile d’imaginer comment cette technologie est utilisée aujourd’hui pour résoudre divers problèmes. Par exemple, un exemple classique est l'utilisation de réseaux de neurones pour prévenir la fraude bancaire - lorsque le système apprend à rechercher de manière indépendante et à bloquer instantanément les virements qui, pour une raison ou une autre, semblent suspects. Ou, par exemple, l'utilisation de réseaux de neurones pour le pilote automatique de base des voitures ou des avions : lorsque les unités d'entrée reçoivent des informations de différents systèmes de contrôle, et que les unités de sortie ajustent le mode de pilotage en fonction d'un cap donné.

conclusions

Vous voyez maintenant qu’un réseau neuronal est une technologie globalement relativement simple qui fait vraiment avancer les ordinateurs et les systèmes informatiques, plus près des gens. D’un autre côté, il est également évident que les réseaux neuronaux sont encore loin d’être aussi complexes et efficaces que le cerveau humain. Soyons donc reconnaissants que nous soyons tous nés avec un réseau neuronal avancé intégré directement dans notre cerveau, et utilisons cette richesse naturelle plus souvent, par exemple, pour apprendre et nous améliorer.
Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION