
Je souhaite la bienvenue aux lecteurs de Habr. Votre attention est invitée à la traduction de l'article
"Tout ce que vous devez savoir sur l'IA - en moins de 8 minutes". . Le contenu est destiné aux personnes qui ne sont pas familières avec le domaine de l'IA et qui veulent se faire une idée générale à ce sujet, puis, peut-être, se plonger dans l'une de ses branches spécifiques.
Parfois, il est plus utile d'en savoir un peu plus sur tout (du moins pour les débutants qui essaient de naviguer dans des domaines techniques populaires) que d'en savoir beaucoup sur une chose.
Beaucoup de gens pensent qu'ils connaissent un peu l'IA. Mais cette zone est si jeune et se développe si rapidement que des éruptions se produisent presque tous les jours. Il y a tellement de choses à découvrir dans ce domaine scientifique que des spécialistes d'autres domaines peuvent rapidement rejoindre la recherche sur l'IA et obtenir des résultats significatifs.
Cet article est juste pour eux. Je me suis fixé comme objectif de créer un court matériel de référence qui permettra aux personnes techniquement formées de comprendre rapidement la terminologie et les outils utilisés pour développer l'IA. J'espère que ce matériel sera utile à la plupart des personnes intéressées par l'IA qui ne sont pas des spécialistes dans ce domaine.
Présentation
L'intelligence artificielle (IA), l'apprentissage automatique et les réseaux de neurones sont des termes utilisés pour décrire des technologies puissantes basées sur l'apprentissage automatique qui peuvent résoudre de nombreux problèmes du monde réel.
En réfléchissant, en prenant des décisions, etc. Comparées aux capacités du cerveau humain dans les machines, elles sont loin d'être idéales (elles ne sont pas idéales, bien sûr, chez l'homme également), récemment, plusieurs découvertes importantes ont été faites dans le domaine des technologies de l'IA et des algorithmes associés. Un rôle important est joué par le nombre croissant d'échantillons importants de données diverses disponibles pour la formation de l'IA.
Le domaine de l'IA recoupe de nombreux autres domaines, notamment les mathématiques, les statistiques, la théorie des probabilités, la physique, le traitement du signal, l'apprentissage automatique, la vision par ordinateur, la psychologie, la linguistique et la science du cerveau. Les questions liées à la responsabilité sociale et à l'éthique de la création de l'IA attirent les personnes intéressées impliquées dans la philosophie.
La motivation pour le développement de la technologie de l'IA est que les tâches qui dépendent de nombreux facteurs variables nécessitent des solutions très complexes qui sont difficiles à comprendre et difficiles à algorithmiser manuellement.
Les espoirs des entreprises, des chercheurs et des gens ordinaires pour l'apprentissage automatique grandissent pour obtenir des solutions à des problèmes qui ne nécessitent pas une personne pour décrire des algorithmes spécifiques. Une grande attention est accordée à l'approche de la boîte noire. La programmation des algorithmes utilisés pour modéliser et résoudre les problèmes associés à de grandes quantités de données prend beaucoup de temps aux développeurs. Même lorsque nous parvenons à écrire du code qui traite une grande quantité de données diverses, cela s'avère souvent très lourd, difficile à maintenir et difficile à tester (en raison de la nécessité d'utiliser une grande quantité de données même pour les tests).
Les technologies modernes d'apprentissage automatique et d'intelligence artificielle, associées à des données de «formation» correctement sélectionnées et préparées pour les systèmes, peuvent nous permettre d'enseigner aux ordinateurs comment programmer pour nous.

Revue
Intelligence - la capacité de percevoir des informations et de les enregistrer en tant que connaissances pour construire un comportement adaptatif dans un environnement ou un contexteCette définition de l'intelligence de Wikipédia (en anglais) peut être appliquée à la fois au cerveau organique et à la machine.
La présence de l'intelligence n'implique pas la présence de la conscience . Il s'agit d'une idée fausse commune apportée au monde par les écrivains de science-fiction.
Essayez de rechercher des exemples d'IA sur Internet - et vous obtiendrez probablement au moins un lien vers IBM Watson, qui utilise l'algorithme d'apprentissage automatique, qui est devenu célèbre après avoir remporté un jeu télévisé appelé «Jeopardy» en 2011. Depuis lors, l'algorithme a subi quelques modifications et a été utilisé dans comme modèle pour de nombreuses applications commerciales différentes. Apple, Amazon et Google travaillent activement à créer des systèmes similaires dans nos maisons et nos poches.
Le traitement du langage naturel et la reconnaissance vocale ont été les premiers exemples de l'utilisation commerciale de l'apprentissage automatique. Les tâches suivantes sont apparues, d'autres tâches d'automatisation de la reconnaissance (texte, audio, images, vidéo, visages, etc.). La gamme d'applications de ces technologies est en constante augmentation et comprend les véhicules sans pilote, les diagnostics médicaux, les jeux informatiques, les moteurs de recherche, les filtres anti-spam, le contrôle du crime, le marketing, le contrôle des robots, la vision par ordinateur, les transports, la reconnaissance musicale et bien plus encore.
L'IA est si étroitement intégrée dans les technologies modernes que nous utilisons que beaucoup ne la considèrent même pas comme une «IA», c'est-à -dire qu'elles ne la séparent pas des technologies informatiques conventionnelles. Demandez à n'importe quel passant s'il y a de l'intelligence artificielle dans son smartphone, et il répondra probablement: «Non». Mais les algorithmes d'IA sont partout: de la prédiction du texte saisi à la mise au point automatique de la caméra. Beaucoup pensent que l'IA devrait apparaître à l'avenir. Mais il est apparu il y a quelque temps et est déjà là .
Le terme «AI» est assez généralisé. La plupart des recherches se concentrent maintenant sur un champ plus étroit de réseaux de neurones et d'apprentissage profond.
Comment fonctionne notre cerveau
Le cerveau humain est un ordinateur au carbone complexe qui, selon des estimations approximatives, effectue un milliard de milliards d'opérations par seconde (1000 pétaflops), tout en consommant 20 watts d'énergie. Un supercalculateur chinois appelé "Tianhe-2" (le plus rapide au monde au moment de la rédaction du présent document) effectue 33 860 milliards d'opérations par seconde (33,86 pétaflops) et consomme 1 600 000 watts (17,6 mégawatts). Nous devons faire un certain travail avant que nos ordinateurs au silicium puissent se comparer à ceux au carbone résultant de l'évolution.
Une description précise du mécanisme utilisé par notre cerveau pour «penser» fait l'objet de discussions et de recherches supplémentaires (j'aime personnellement la théorie selon laquelle le travail du cerveau est associé à des effets quantiques, mais c'est un sujet pour un autre article). Cependant, le mécanisme de travail de certaines parties du cerveau est généralement modélisé en utilisant le concept de neurones et de réseaux de neurones. On estime que le cerveau contient environ 100 milliards de neurones.

Les neurones interagissent entre eux en utilisant des canaux spéciaux qui leur permettent d'échanger des informations. Les signaux des neurones individuels sont pesés et combinés les uns avec les autres avant d'activer d'autres neurones. Ce traitement des messages transmis, la combinaison et l'activation d'autres neurones se répètent dans différentes couches du cerveau. Étant donné qu'il y a 100 milliards de neurones dans notre cerveau, la totalité des combinaisons pondérées de ces signaux est assez compliquée. Et c'est le moins qu'on puisse dire.
Mais cela ne s'arrête pas là . Chaque neurone applique une fonction, ou transformation, aux signaux d'entrée pondérés avant de vérifier si son seuil d'activation est atteint. La conversion du signal d'entrée peut être linéaire ou non linéaire.
Initialement, les signaux d'entrée proviennent de diverses sources: nos sens, les moyens de surveillance interne du fonctionnement du corps (taux d'oxygène dans le sang, contenu stomacal, etc.) et autres. Un seul neurone peut recevoir des centaines de milliers de signaux d'entrée avant de décider comment répondre.
La pensée (ou traitement de l'information) et les instructions qui en découlent, transmises à nos muscles et autres organes sont le résultat de la conversion et de la transmission de signaux d'entrée entre les neurones de différentes couches du réseau neuronal. Mais les réseaux de neurones dans le cerveau peuvent changer et être mis à jour, y compris des changements à l'algorithme de pondération des signaux transmis entre les neurones. Cela est dû à l'apprentissage et à l'expérience.
Ce modèle du cerveau humain a été utilisé comme modèle pour reproduire les capacités du cerveau en simulation informatique - un réseau neuronal artificiel.
Réseaux de neurones artificiels (RNA)
Les réseaux de neurones artificiels sont des modèles mathématiques créés par analogie avec les réseaux de neurones biologiques. Les RNA sont capables de modéliser et de traiter des relations non linéaires entre les signaux d'entrée et de sortie. La pondération adaptative des signaux entre les neurones artificiels est obtenue grâce à un algorithme d'apprentissage qui lit les données observées et tente d'améliorer les résultats de leur traitement.

Pour améliorer le fonctionnement des RNA, diverses techniques d'optimisation sont utilisées. L'optimisation est considérée comme réussie si l'ANN peut résoudre la tâche en un temps ne dépassant pas le cadre établi (les délais, bien sûr, varient d'une tâche à l'autre).
L'ANN est modélisé en utilisant plusieurs couches de neurones. La structure de ces couches est appelée architecture de modèle. Les neurones sont des unités de calcul distinctes qui peuvent recevoir des données d'entrée et leur appliquer une fonction mathématique pour déterminer s'il faut transférer ces données plus loin.
Dans un modèle simple à trois couches, la première couche est une couche d'entrée, suivie d'une couche cachée, puis d'une couche de sortie. Chaque couche contient au moins un neurone.
Comme la structure du modèle est compliquée par l'augmentation du nombre de couches et de neurones, le potentiel de résolution des problèmes ANN augmente. Cependant, si le modèle est trop "grand" pour une tâche donnée, il ne peut pas être optimisé au niveau souhaité. Ce phénomène est appelé
surapprentissage .
L'architecture, la configuration et la sélection des algorithmes de traitement des données sont les principaux éléments de la construction d'ANN. Tous ces composants déterminent les performances et les performances globales du modèle.
Les modèles sont souvent caractérisés par la
fonction dite d'
activation . Il est utilisé pour convertir l'entrée pondérée d'un neurone en sa sortie (si un neurone décide de transférer davantage de données, cela s'appelle son activation). Il existe de nombreuses transformations différentes qui peuvent être utilisées comme fonctions d'activation.
Les RNA sont un puissant moyen de résoudre les problèmes. Cependant, bien que le modèle mathématique d'un petit nombre de neurones soit assez simple, le modèle d'un réseau neuronal avec une augmentation du nombre de ses constituants devient assez déroutant. Pour cette raison, l'utilisation de l'ANN est parfois appelée l'approche de la boîte noire. Le choix de l'ANN pour résoudre le problème doit être soigneusement examiné, car dans de nombreux cas, la solution finale qui en résulte ne peut pas être démontée et analysée pourquoi elle est devenue telle.

Apprentissage profond
Le terme d'
apprentissage en profondeur est utilisé pour décrire les réseaux de neurones et les algorithmes utilisés dans ceux-ci qui reçoivent des données brutes (à partir desquelles certaines informations utiles sont nécessaires). Ces données sont traitées en passant par les couches du réseau neuronal pour obtenir la sortie souhaitée.
L'apprentissage non supervisé est un domaine dans lequel les techniques d'apprentissage en profondeur fonctionnent très bien. Un ANN correctement configuré est capable de déterminer automatiquement les principales caractéristiques des données d'entrée (qu'il s'agisse de texte, d'images ou d'autres données) et d'obtenir un résultat utile de leur traitement. Sans formation approfondie, la recherche d'informations importantes tombe souvent sur les épaules d'un programmeur qui développe un système pour les traiter. Le modèle d'apprentissage en profondeur, à lui seul, est en mesure de trouver un moyen de traiter les données qui vous permet d'en extraire des informations utiles. Lorsque le système est formé (c'est-à -dire qu'il trouve le moyen même d'extraire des informations utiles des données d'entrée), les exigences de puissance de calcul, de mémoire et d'énergie pour maintenir le modèle sont réduites.
Autrement dit, les algorithmes d'apprentissage permettent d'utiliser des données spécialement préparées pour «former» un programme à effectuer une tâche spécifique.
L'apprentissage en profondeur est utilisé pour résoudre un large éventail de problèmes et est considéré comme l'une des technologies d'IA innovantes. Il existe également d'autres types de formation, tels que l'
apprentissage supervisé et l'
apprentissage semi-supervisé , qui se distinguent par l'introduction d'un contrôle humain supplémentaire sur les résultats intermédiaires de la formation du réseau neuronal au traitement des données (aidant à déterminer si dans la bonne direction système mobile).
Shadow learning (
shadow learning ) - terme utilisé pour décrire une forme simplifiée d'apprentissage en profondeur, dans laquelle la recherche des principales caractéristiques des données est précédée de leur traitement par une personne et de la saisie d'informations spécifiques au domaine auquel ces données se rapportent. De tels modèles sont plus «transparents» (dans le sens d'obtenir des résultats) et performants en raison de l'augmentation du temps investi dans la conception du système.
Conclusion
L'IA est un puissant outil de traitement des données et peut trouver des solutions à des problèmes complexes plus rapidement que les algorithmes traditionnels écrits par les programmeurs. Les RNA et les techniques d'apprentissage approfondi peuvent aider à résoudre un certain nombre de problèmes divers. L'inconvénient est que les modèles les plus optimisés fonctionnent souvent comme des «boîtes noires», ce qui rend impossible d'étudier les raisons du choix de l'une ou l'autre solution. Ce fait peut conduire à des problèmes éthiques liés à la transparence des informations.