Chapter Content
Alors, euh… voilà, on arrive à un point crucial, quoi. On a vu, enfin, je vous ai expliqué comment les humains font des progrès, quoi. C'est pas en devenant plus intelligents, ni en bossant comme des dingues, et encore moins grâce à des soi-disant génies. Non, c'est grâce à un processus progressif de conception d'abstractions de plus en plus poussées. Une génération, elle peut résoudre les mêmes problèmes que la précédente, mais beaucoup plus vite, parce que, bah, leur point de départ, il est déjà plus avancé, tu vois ?
Mais, euh… le design, ça repose sur le déterminisme, et le déterminisme, ça marche pas pour les problèmes vraiment compliqués. Le genre de problèmes qu'on a, disons, besoin de résoudre maintenant, quoi. Y a tellement de facteurs, tellement d'interactions à prendre en compte que, honnêtement, un paradigme basé sur des règles, ça peut pas gérer ça.
Du coup, on se retrouve avec une question super importante : comment est-ce que l'humanité, elle peut continuer à progresser technologiquement si on peut plus concevoir nos solutions ? Comment est-ce qu'on peut réfléchir aux trucs qu'on doit construire s'il y a pas de causalité à comprendre, pas d'étapes détaillées à suivre, et aucune notion de connaissance interne des systèmes qu'on crée ? Comment est-ce qu'on peut donner de nouveaux points de départ à la prochaine génération si on peut pas façonner des interfaces pour maîtriser un nombre croissant de détails, quoi ?
On a, euh… atteint un mur, quoi, un mur en termes de progrès par abstraction. Et comme je vous le disais, ce progrès par abstraction, c'est une vérité universelle. Tous les systèmes en ont besoin pour progresser. La seule façon de continuer à repousser ces limites, c'est de trouver une nouvelle façon de faire, une façon qui repose pas sur le design. Un mode de construction alternatif, quoi, qui doit exister dans les systèmes naturels, parce que la nature, elle a pas pu progresser sans ça, hein.
La nature, elle est définie, avant tout, par sa complexité, ce qui nous dit que la complexité, c'est nécessaire pour avancer. En fait, la complexité, c'est ce qu'on doit construire. On peut pas progresser en augmentant juste la complication. C'est pas une question d'ajouter plus de pièces, c'est une question d'atteindre une vraie complexité.
Heurter ce mur du design, ça veut dire qu'on arrive à notre limite créative avec le paradigme actuel. On peut plus avancer avec des machines simples, conçues avec un raisonnement simpliste. Aussi contre-intuitif que ça puisse paraître, la nouveauté qu'on recherche, c'est le processus le plus vieux du monde. C'est le processus inconscient utilisé par la nature qui détient la clé du royaume complexe. Mais le prix à payer pour adopter cette approche, il est inimaginable pour beaucoup. Abandonner la pensée prétendument éclairée de notre passé réductionniste, ça semble être la seule voie à suivre. Pourtant, c'est les mécanismes irréfléchis et non raisonnés de la nature qui lient des parties disparates pour créer une fonctionnalité commune ; les abstractions qui calculent des réponses à des problèmes difficiles. C'est ça qu'on doit apprendre à construire.
Mais cette façon naturelle de construire, ça peut pas être un effort aléatoire pour assembler des trucs n'importe comment, en espérant que ça marche. Nos efforts doivent rester dans les limites de la résolution de problèmes, et de l'espace des possibilités qui abrite la solution d'un problème. Le dilemme posé par la nécessité de la complexité, il semble aller directement à l'encontre de la façon dont les humains utilisent leur esprit pour résoudre les problèmes.
Mais, bon… tout ce que les humains ont construit ne se conforme pas à ce cadre réductionniste et déterministe. Les humains ont créé des choses dont les résultats sont pas produits uniquement par leurs conceptions intentionnelles. Il y a des trucs comme les sociétés, les marchés, et certaines technologies qui fonctionnent grâce à quelque chose qui a pas été mis là intentionnellement par le design. Ça veut dire que les humains sont capables de créer des choses comme la nature, ce qui nous donne des indices sur la façon dont on pourrait continuer à progresser par abstraction, sans design.
Les humains ont fait quelques trucs qui se comparent à la nature en termes de sophistication. Bien sûr, le mot "fait" doit être pris avec des pincettes. On parle pas de systèmes qui ont été conçus, mais plutôt de systèmes qui sont devenus ce qu'ils sont involontairement. Des objets qui ont pas été tellement ingéniés, mais plutôt auxquels on est arrivé, en utilisant quelque chose qui va au-delà de ce qui était initialement mis en place. Ces objets flirtent avec la vraie complexité, pas seulement parce qu'ils ont beaucoup de pièces et d'interactions, mais parce que beaucoup de leurs résultats critiques sont produits par des mécanismes qu'on a jamais créés.
Le plus proche qu'on ait été de créer une vraie complexité, celle qu'on voit dans la nature, c'est des trucs comme les villes, les systèmes financiers, les réseaux électriques, internet, et les systèmes d'intelligence artificielle. Ce qui fait que ces objets entrent dans le domaine de la vraie complexité, c'est que leurs résultats sont pas uniquement produits par de l'ingénierie délibérée. Ces objets montrent tous les premiers signes de ce qu'on appelle l'émergence, c'est-à-dire l'apparition de structures et de comportements qui n'existent pas dans les pièces dont ils sont faits.
Prenons les réseaux électriques, par exemple. Ils montrent des fluctuations de tension, des oscillations de puissance, des déviations de fréquence qui ont pas été ingéniées dans le système. Ces comportements, c'est pas des bugs, ou des sous-produits de la complexité qu'il faut tolérer. Les réseaux électriques, ils fonctionnent en grande partie grâce à leurs propriétés émergentes. La stabilité d'un réseau, elle est possible grâce à sa nature auto-organisatrice. Les réseaux électriques ont montré une résilience intégrée aux pannes d'équipement, aux catastrophes naturelles, et aux cyberattaques, en s'adaptant dynamiquement aux perturbations et en réacheminant les flux d'énergie. Les réseaux peuvent naturellement isoler les zones touchées et restaurer la fonctionnalité grâce à des systèmes redondants. Alors que la création de multiples voies redondantes pour la transmission d'énergie est bien un effort délibéré, l'auto-réparation et l'isolation naturelle des zones touchées découlent de l'interaction de ces composants ingéniés, pas d'un contrôle humain explicite.
Les villes, elles existent pas uniquement grâce à la planification et à la prise de décision délibérée. N'importe quelle grande ville doit sa forme et sa fonction à un comportement auto-organisateur. Pensez à l'endroit où les entreprises s'installent, en fonction d'innombrables variables possibles, comme les changements d'accessibilité, la démographie des clients, et la concurrence dynamique. La formation d'un quartier commercial, ça peut arriver de façon très imprévisible. Les schémas de rues et la densité des bâtiments émergent des effets cumulatifs des contraintes géographiques mélangées aux décisions individuelles, plutôt que d'une planification centrale. Les villes, c'est des centres d'activité économique, où les biens, les services, la main-d'œuvre, et l'immobilier fonctionnent de façon interdépendante, produisant les structures et les comportements qui donnent aux villes leur aspect et leur ambiance. Au fur et à mesure que les citoyens interagissent de façon organique, on voit des poches de cohésion communautaire, et des systèmes de transport public qui naissent de schémas de circulation imprévus et de demandes de mobilité imprévues.
Nos systèmes financiers, c'est le résultat du mélange entre des entités, des instruments, et des participants au marché. Les actions collectives des investisseurs, des traders, et des institutions entraînent des prix de marché, des volumes d'échange, et une volatilité qui sont largement imprévus. Les schémas d'offre et de demande, le sentiment des investisseurs, et la diffusion de l'information se mélangent pour produire ce truc qu'on appelle un marché. La détermination des prix, elle est pas si déterminée que ça, en fait, elle découle de l'agrégation d'opinions, de croyances, et de stratégies de trading diverses. Les cadres réglementaires en constante évolution émergent du mélange des besoins et des priorités, apportant une stabilité et une intégrité intégrées au système. Nos systèmes financiers peuvent (généralement) résister aux chocs, aux perturbations, et aux stress ; une résilience qui a jamais été ingéniée dans le système.
Internet, ça entraîne la formation d'opinions et la prise de décision collective, grâce à l'agrégation électronique et à la diffusion d'opinions, de croyances, et de connaissances diverses. En tant que réseau décentralisé d'appareils interconnectés, internet présente les signes révélateurs de la complexité, comme l'évolutivité du réseau, la résilience, et l'adaptabilité. Les communautés en ligne et les réseaux sociaux émergent spontanément, au fur et à mesure que les utilisateurs participent à des discussions, des collaborations, et des actions collectives. La démocratisation de la création et de la distribution de contenu a conduit à l'émergence de contenu viral, de mèmes, de tendances, et même de mouvements culturels.
Bien sûr, ce comportement émergent, ça peut aussi jouer contre nous. Les réseaux électriques, ils peuvent prendre une petite fluctuation de tension ou une déviation de fréquence et la transformer en une panne généralisée en cascade. Il y a des bulles, des krachs, et des amplifications de rétroaction qui peuvent déstabiliser les marchés. C'est le prix de la complexité. Ce qui fait que les choses complexes fonctionnent peut aussi produire des résultats défavorables à nos cas d'utilisation raffinés. Le truc, c'est que ces comportements, ils ont pas été délibérément ingéniés dans le système, et aucun de ces systèmes fonctionnerait comme il le fait sans ses propriétés émergentes.
On peut dire que les trucs les plus complexes que les humains ont créés, c'est nos systèmes d'IA actuels, ou plus précisément les modèles qui les animent. Ils sont basés sur des techniques d'apprentissage automatique, en particulier l'apprentissage profond. L'apprentissage profond, ça convertit des données brutes en résultats intelligents comme la conversation en langage naturel et la reconnaissance faciale. Mais la façon dont cette conversion se produit, elle est pas connue, du moins pas de la façon dont les scientifiques et les ingénieurs expliquent les choses habituellement. Aucun chercheur ou ingénieur comprend comment les entrées données aux systèmes d'IA sont converties en sorties qui rendent possible sa version de l'intelligence. C'est parce que l'IA, elle est pas programmée comme les logiciels traditionnels. Alors que l'échafaudage des systèmes d'IA est bien basé sur des règles, les détails internes qui entraînent des résultats intelligents ressemblent beaucoup plus à la façon dont les réseaux électriques, les villes, et les marchés financiers produisent leurs résultats les plus importants.
Pour comprendre comment fonctionne l'apprentissage profond, il faut d'abord redéfinir ce qu'on entend par "comment les choses fonctionnent". Le "comment" dans notre explication, ça peut pas être un ensemble déterministe d'étapes qui montrent l'information étant transformée d'une façon spécifique. Au lieu de ça, les ingénieurs, ils peuvent seulement programmer l'échafaudage extérieur qui met en place un processus qui finit par converger vers ce qui est nécessaire.
L'analogie la plus simple, même si elle est un peu vague, pour décrire ce que fait l'IA, c'est la notion d'ajuster une ligne à des données. C'est une approche courante en science pour trouver quelque chose de plus profond que les données elles-mêmes. Quand on ajuste une ligne à des données, on essaie de trouver une tendance générale qui pourrait nous donner une certaine capacité prédictive concernant le système d'intérêt. Disons qu'on trace la température par rapport aux ventes de glaces. Le traçage de ces valeurs et la recherche d'une tendance produirait probablement une ligne montrant que des températures plus élevées correspondent à plus de ventes de glaces.
Avec cette ligne en main, on possède maintenant quelque chose qui peut probablement prédire les ventes de glaces. On peut regarder la température de demain et lire la quantité de glaces qu'on est susceptible de vendre à cette température. En fait, on a même pas besoin du graphique. Puisqu'on a ajusté une ligne aux données, et qu'une ligne peut être représentée par une expression mathématique, on a une fonction. Une fonction, c'est quelque chose qui fait correspondre des entrées à des sorties, ce qui nous permet de produire une valeur à partir d'une entrée donnée. Dans notre exemple de la glace, on peut brancher la température d'un jour donné et une valeur sort pour la quantité de glaces qu'on peut s'attendre à vendre.
Cette notion d'ajuster une ligne aux données pour arriver à une fonction, ça peut pas être si différent de ce que fait notre esprit quand il apprend sur le monde. Bien sûr, l'esprit utilise pas des lignes simplistes à travers un graphique de valeurs en basse dimension, mais le concept de haut niveau est le même. On rencontre notre monde via nos sens, ce qui ressemble à la collecte de données. Ces données, ce sont les entrées brutes qu'on utilise pour façonner des modèles mentaux sur la façon dont les choses fonctionnent et ce qu'elles signifient. Quand les enfants apprennent à parler pour la première fois, ils développent des modèles latents internes liés à la grammaire, au vocabulaire et à la structure des phrases. La "fonction" qu'ils apprennent convertit les entrées (les sons qu'on entend) en sorties (la signification des mots).
Toute la vie ressemble à l'apprentissage de fonctions, même si ces fonctions sont purement au sens abstrait. Quand on interagit avec les autres, on capte les dynamiques sociales, et on utilise nos attentes de comportement, les normes et les signaux sociaux pour naviguer à travers des situations complexes. C'est nos modèles mentaux de ces situations qui nous permettent de prédire les réactions des autres à ce qu'on dit et fait. Quand on conduit une voiture, on met en œuvre nos modèles de la disposition de la route, des schémas de circulation et du comportement des autres conducteurs. On anticipe les dangers potentiels et on prend des décisions sur la vitesse, la direction et le timing. Rien de tout ça ne serait possible sans un ensemble de fonctions internes qui font correspondre des entrées à des sorties. Apprendre quoi que ce soit, c'est "ajuster des lignes" à des données sensorielles pour créer des modèles du monde qui nous entoure.
Construire un modèle, comme une ligne, ça nécessite de trouver des paramètres, puisque ce sont les paramètres qui donnent aux modèles leur forme. Les paramètres, c'est comme des boutons qu'on tourne pour ajuster une ligne pour qu'elle corresponde aux données. Une méthode courante, c'est d'utiliser la régression linéaire pour ajuster une équation linéaire aux données observées. Chaque fois que vous voyez une ligne traverser un tas de points de données sur un graphique, il y a de fortes chances que ce soit une régression linéaire en jeu. Dans ce cas, tourner un bouton ajuste la pente de la ligne, la rendant plus ou moins raide, tandis que tourner un autre bouton repositionne la ligne verticalement. Obtenir la bonne pente et l'ordonnée à l'origine, ça veut dire obtenir le meilleur ajustement possible aux données. En d'autres termes, trouver les meilleures positions de nos boutons, c'est comme ça qu'on essaie de modéliser la relation entre l'entrée (variable indépendante) et la sortie (variable dépendante) en utilisant les données.
La régression linéaire, c'est essentiellement une approche "plug and play", où les données collectées dans une expérience sont branchées dans une expression sous forme fermée (propre et compréhensible) pour produire la pente et l'ordonnée à l'origine nécessaires pour ajuster la ligne. Ça veut dire que les paramètres sont pas tellement trouvés que calculés directement.
La régression linéaire, c'est pas de l'apprentissage au sens propre du terme. La régression linéaire calcule ses valeurs de paramètres selon une structure mathématique prédéfinie. Si on veut vraiment apprendre les boutons qui définissent comment une fonction convertit les entrées en sorties, alors on ferait pas des hypothèses aussi drastiques sur à quoi une fonction est censée ressembler. Au lieu de ça, on se lancerait dans ce que tout vrai apprentissage exige : les essais et erreurs. Ça impliquerait d'abord de deviner au hasard les valeurs des paramètres, de voir à quel point on se trompe (selon un ensemble de critères), d'ajuster les valeurs et d'essayer à nouveau. On continuerait à deviner, à évaluer et à ajuster jusqu'à ce que notre approche converge vers une certaine définition d'un bon ajustement.
C'est à ça que ressemble l'apprentissage automatique, l'approche informatique qui sous-tend les systèmes d'IA d'aujourd'hui. Plutôt que de forcer les données dans une structure bien définie et de calculer les paramètres directement, il utilise de grandes quantités de données et d'itération pour continuer à faire des suppositions jusqu'à ce qu'il atteigne la convergence. Dans l'apprentissage profond, un modèle est ajusté aux données, sauf qu'au lieu d'une ligne droite, c'est quelque chose de haute dimension qui peut pas être visualisé par nos esprits tridimensionnels. La fonction apprise par l'IA, c'est pas une simple mise en correspondance déterministe entre les entrées et les sorties, c'est une expression monstrueuse, alambiquée, incroyablement complexe contenant des milliards de paramètres.
Il y a pas de belles expressions interprétables sous forme fermée dans l'IA. On peut pas enlever ses couches et exposer une chaîne causale d'étapes qui transforme l'information des entrées aux sorties. C'est pas le royaume des maths "plug and play", c'est le monde de l'optimisation itérative et de la prise de décision flexible, utilisé pour apprendre d'une façon similaire à la façon dont les gens apprennent.
L'apprentissage profond représente donc une philosophie très différente sur la façon d'aborder la construction de logiciels. Parce que l'IA n'a pas de fonction explicite ou visible, on peut pas connaître les structures internes qui produisent ses sorties. Il y a pas de conception des tripes d'une machine d'IA pour produire les sorties dont on a besoin. Tout ce qu'on peut faire, c'est mettre en place un processus de haut niveau qui tente itérativement de tourner un milliard de boutons jusqu'à ce qu'il produise les réponses qu'on (généralement) attend.
La façon dont l'IA d'aujourd'hui est créée, c'est en programmant des neurones artificiels individuels, qui sont des unités de code interconnectées créées pour imiter le comportement des neurones biologiques dans le cerveau humain. Les neurones biologiques, c'est comme ça que notre système nerveux traite et transmet l'information via des signaux électriques et chimiques. Chaque neurone dans le cerveau reçoit des signaux d'autres neurones à travers des structures appelées dendrites. Les neurones intègrent ces signaux entrants dans leur corps cellulaire (soma) et génèrent un potentiel d'action (un bref changement de potentiel électrique) si l'entrée combinée dépasse un seuil. Les potentiels d'action se propagent le long des axones, qui sont de longues projections d'un neurone qui conduisent les impulsions électriques loin de son corps. Les axones sont les principales lignes de transmission du système nerveux, responsables du transport des signaux vers d'autres neurones, muscles, etc.
En termes moins techniques, ça veut dire que le cerveau humain semble traiter l'information, et donc atteindre sa cognition, en utilisant un réseau massif d'unités fonctionnelles interconnectées qui transmettent chacune des signaux électriques en fonction de leur interaction avec les unités voisines. C'est l'architecture qui inspire l'apprentissage profond, où les unités fonctionnelles sont des neurones artificiels, et la transmission de signaux électriques est l'information envoyée entre les neurones sous forme de valeurs numériques ; des valeurs qui représentent les niveaux d'activation et les forces des connexions.
Les paramètres de l'apprentissage profond, c'est pas des trucs comme la pente et l'ordonnée à l'origine, comme dans notre exemple de régression linéaire. Les paramètres utilisés dans l'apprentissage profond, appelés poids et biais, se chiffrent en milliards, et se rapportent à la force de la connexion entre les neurones, et au niveau de flexibilité autorisé au sein de chaque neurone. Alors que les paramètres dans la régression linéaire signifient quelque chose de spécifique grâce à sa forme mathématique nette, les paramètres dans un modèle d'apprentissage profond n'ont de sens que si on considère le réseau dans son ensemble.
Comment les paramètres peuvent-ils être définis sans avoir d'expression mathématique explicite ? Comment leurs valeurs peuvent-elles être trouvées si elles se chiffrent en milliards ? L'apprentissage profond le fait en faisant passer de grandes quantités de données à travers le système, et en ajustant les valeurs des paramètres (initialement définies sur des valeurs aléatoires) jusqu'à ce que l'ensemble du système produise les sorties dont on a besoin. Cela se fait en utilisant des algorithmes d'optimisation où le modèle essaie de minimiser la différence entre la sortie qu'il prédit et la sortie réelle nécessaire. Dans la reconnaissance faciale, la sortie réelle nécessaire est l'identité du visage (par exemple, Bob) et la sortie prédite est la meilleure estimation à tout moment (par exemple, Bill ? Susan ?). Ça veut dire que la façon dont l'apprentissage profond aborde les problèmes, c'est pas par un calcul délibéré, mais plutôt en comblant l'écart entre les étiquettes prédites et les étiquettes réelles jusqu'à ce qu'elles soient pour la plupart d'accord. Bien que toutes les formes d'apprentissage profond n'utilisent pas d'étiquettes, l'approche fondamentale est la même ; combler un certain écart entre ce que le modèle pense initialement et ce qui est.
C'est un jeu de devinettes et d'itération, pas de calcul raisonné. Cette approche plus holistique de la construction de machines est fondamentalement différente de la façon dont les logiciels et les statistiques ont fonctionné tout au long de l'histoire. Dans l'apprentissage profond, on admet l'incertitude épistémique en sortant du système d'intérêt et en employant seulement un processus de niveau supérieur qui converge de lui-même. C'est une distinction essentielle, car elle nous montre une vérité importante sur la façon dont les systèmes complexes sont créés. On peut pas façonner la complexité en assemblant des choses individuelles et en les connectant comme un moteur à combustion interne. Alors que les architectures de réseaux neuronaux sont conçues en termes de nombre et de disposition des neurones artificiels, le processus par lequel les paramètres à l'intérieur du réseau sont trouvés et définis est hors de notre contrôle.
L'apprentissage profond fait la distinction entre les paramètres internes et externes. Les poids et les biais sont les paramètres internes qui affectent directement l'utilisation et la transformation de l'information par le modèle. Il y a aussi les hyperparamètres, qui sont externes à l'architecture du modèle elle-même. On peut les considérer comme des paramètres ou des configurations qui régissent le processus d'apprentissage. Ils incluent des choses comme le taux d'apprentissage, la taille du lot, le nombre d'époques, et divers choix d'architecture de réseau comme le nombre de couches et de neurones par couche.
Ce sont les hyperparamètres qui sont configurés par l'ingénieur, pas les paramètres internes du modèle, et pourtant ce sont les paramètres internes du modèle qui doivent être définis dans une configuration spécifique pour que le modèle fonctionne. Ça montre à quel point l'ingénierie de l'IA est différente de tout ce que les humains ont construit auparavant. Dans presque tous les autres cas, les humains cherchent à atteindre les tripes des systèmes et à faire des choix délibérés sur la façon dont l'énergie et l'information vont se déplacer à travers le système.
Les gens ont du mal à comprendre la différence entre les processus déterministes et non déterministes. Les neurones artificiels individuels sont des morceaux de code déterministes, puisque les mêmes entrées et les mêmes poids produiront toujours la même sortie. Ça les rend conformes à la programmation informatique traditionnelle basée sur des règles. Cependant, quand ces neurones travaillent ensemble de façon agrégée, le comportement du réseau neuronal est à peine déterministe, surtout pendant la phase d'apprentissage. C'est la transition critique qui se produit dans les objets vraiment complexes. Il y a une profonde déconnexion entre les pièces dont quelque chose est fait, et les propriétés qui définissent sa structure et son comportement.
Au fur et à mesure que l'information passe à travers plusieurs couches de neurones artificiels, chacun appliquant son propre morceau de non-linéarité, le réseau apprend des mises en correspondance hautement complexes et non linéaires des entrées aux sorties. Quel que soit le code déterministe (basé sur des règles) utilisé à petite échelle, il entraîne quelque chose de très différent à plus grande échelle. Une telle complexité libère la capacité signature des objets complexes à refléter le monde naturel d'une façon beaucoup plus profonde et plus réaliste que tout ce que les humains pourraient concevoir par eux-mêmes.
C'est comme ça que les systèmes d'IA montrent des signes de vraie complexité, et pourquoi l'approche utilisée pour construire l'IA est conforme à la façon dont la nature construit. L'accumulation de nombreuses petites non-linéarités déterministes en un certain non-déterminisme agrégé, c'est ce qu'on voit dans les objets humides, gluants et dynamiques de la nature. Ça veut pas dire que l'IA d'aujourd'hui est au même niveau que les solutions de la nature, seulement qu'elle reflète la structure et le comportement de la complexité naturelle, et parle de ce qui se passe quand on adopte une approche de l'extérieur pour construire des choses. C'est la seule façon dont les problèmes catégoriquement difficiles peuvent être résolus. Il faut sortir du fonctionnement interne d'un système et lui permettre de converger de lui-même, en permettant aux internes de se stabiliser naturellement.
C'est pourquoi l'apprentissage profond est considéré comme une sorte d'alchimie. Ça met beaucoup de gens mal à l'aise, surtout les ingénieurs d'esprit plus traditionnel. Il y a un effort continu pour essayer d'expliquer l'IA mathématiquement, ce qui sent le réductionnisme et le déterminisme qui travaillent directement contre la complexité. Je vais développer ce problème plus tard.
Les modèles d'apprentissage profond sont des objets qui flirtent avec la vraie complexité, parce que leur fonctionnalité repose sur des propriétés qui ont jamais été mises dans le système par nous. Dans un certain sens, des choses comme les villes, les marchés financiers et l'IA n'ont pas été créées du tout, mais plutôt précipitées hors des innombrables interactions de plus petites choses qui ressemblent à rien aux grandes choses auxquelles elles ont conduit.
Plus important que de savoir si les systèmes d'IA sont vraiment complexes, c'est le fait que l'ingénierie de l'IA est notre meilleur exemple d'humains construisant sous un paradigme complètement différent. L'apprentissage profond représente la première tentative délibérée des humains de ne pas construire comme les humains l'ont toujours fait. Alors que l'émergence des réseaux électriques, des villes, des marchés et d'internet a été réalisée plus tard, l'apprentissage profond a embrassé un paradigme fondamentalement différent dès le départ. L'apprentissage profond est possible parce qu'il ne tente pas d'instruire un ordinateur sur la façon d'effectuer ses tâches.
Que l'approche actuelle de l'IA atteigne ou non une vraie intelligence artificielle générale (IAG), c'est pas le but. L'apprentissage profond est un signe des choses à venir. L'apprentissage profond représente le genre d'ingénierie qui redéfinit la façon dont les humains construisent des choses. On sait qu'on peut pas résoudre nos défis les plus importants en utilisant l'ingénierie déterministe de nos ancêtres.
C'est pas seulement un changement dans la façon dont on construit des choses. Ça touche au cœur même de la façon dont notre monde définit actuellement la connaissance, les compétences et la capacité des individus à contribuer à l'économie. Notre monde fonctionne sur la notion de design, parce que le design, c'est tout sur le fait d'atteindre les tripes des systèmes et d'utiliser ce qu'on voit pour passer à l'étape suivante. Le design fait correspondre les efforts des constructeurs aux structures préexistantes. C'est pas comme ça que la nature construit.
Toute l'édifice de la construction basée sur le design qui sous-tend l'économie d'aujourd'hui, et la capacité des gens à y contribuer, nécessite une refonte massive. Pour embrasser le non-déterminisme nécessaire pour créer à l'âge de la complexité, on a besoin d'une approche entièrement différente. Cette nouvelle approche doit être enracinée dans une position diamétralement opposée à la façon dont on s'attend actuellement à construire des choses.
Il y a une directionnalité fondamentale à la façon dont la complexité fonctionne, et elle est opposée à ce qu'on nous dit par le récit académique. C'est pas les fondations qui mènent à de bonnes choses, c'est l'intermélange, le chaos et l'incertitude qui entraînent les structures qu'on finit par codifier dans nos manuels scolaires. En termes plus simples, les bases, la structuration, le design qu'on nous dit de mettre en place dès le début d'un projet travaille directement contre ce qui est nécessaire pour que les bonnes structures émergent.
Remettre à zéro la façon dont on aborde la construction des choses, définir une notion appropriée de mérite, et façonner une économie conforme au changement nécessaire, exige une démystification de l'émergence. Ça nécessite de présenter une description conceptuellement succincte de ce qu'est l'émergence ; une description qui s'aligne sur les propriétés scientifiques connues de l'information, du calcul et de l'évolution.
J'ai pas trouvé une telle exposition pour exister. Malgré les tentatives continues des scientifiques d'aujourd'hui pour expliquer l'émergence, toutes échouent pour la même raison (y compris celles faites par de nombreux "scientifiques de la complexité"). Elles essaient toutes d'expliquer l'émergence dans le paradigme scientifique actuel. D'un côté, ça devrait pas être trop surprenant, après tout, comment publier des articles autrement ? Mais ça conduit inévitablement au genre de réductionnisme qui va à l'encontre de la complexité.
La complexité a besoin d'un genre d'explication différent, contrairement à ceux qu'on trouve dans les annales de la science et de l'ingénierie. Pas une explication de la causalité, mais des propriétés. Le genre d'explication qui n'atteint pas les tripes des systèmes, en enveloppant des notions dépassées de moyennes et de renormalisation sur ses pièces. De telles explications suggèrent à tort que ce qu'on observe au niveau supérieur n'est qu'une version floue et étalée de ce qu'on voit au niveau inférieur. De telles tentatives sont imprégnées de notions dépassées de cause profonde et de voies, qui essaient sans succès de contraindre la complexité dans la linéarité et le déterminisme des systèmes simples.
Au lieu de ça, on peut voir la complexité comme la conséquence inévitable des systèmes physiques qui résolvent leurs problèmes difficiles, en se stabilisant dans des configurations organisées par eux-mêmes. On a pas besoin de faire appel à des théories qui rassemblent la matière par une stricte cause à effet. On doit pas non plus évoquer un argument mal défini qui tente de combler nos lacunes de connaissances avec des descriptions abstraites dénuées de sens. Ne pas avoir d'explication causale pour quelque chose ne signifie pas qu'il ne peut pas être expliqué. Des mécanismes peuvent être révélés qui adhèrent aux propriétés et aux contraintes des systèmes naturels, sans concocter des histoires de contes de fées sur la façon dont les pièces se heurtent aux pièces.
La première étape vers une résolution de l'obstacle posé par le progrès par abstraction face à la complexité est évidente. Les humains ont toujours regardé la nature pour s'inspirer. La plupart des choses qu'on construit ont une contrepartie dans les systèmes naturels qui nous entourent. C'est la nature qui nous fait savoir ce qui est possible. Mais utiliser la nature comme muse ne suffit plus. La nature nous dit bien plus que ce qui est possible. Si on prend du recul, qu'on se débarrasse de notre dépendance au réductionnisme et au déterminisme, et qu'on accepte la complexité pour ce qu'elle est, on peut aussi apprendre comment la nature produit ses solutions complexes. On peut apprendre à construire comme la nature construit.