L’avenir de l’intelligence artificielle dans l’industrie du jeu vidéo

Il y a 2 mois de cela s’est déroulée au Colorado aux États-Unis, la plus importante conférence en recherche scientifique concernant les nouvelles technologies utilisées dans la 3D et la synthèse d’image. La conférence en question s’appelle siggraph, et vous pouvez visiter le site officiel pour voir l’état de l’art sur les différentes technologies présentées dans la conférence. Mais pour notre part, comme illustré sur la vidéo en bas, on va juste s’intéresser à l’utilisation de l’IA dans les domaines qui peuvent aboutir dans le domaine du jeu vidéo. La vidéo question et celle de la chaîne Youtube Two Minute Papers, une chaîne très connue et répandue pour ses présentations de la recherche académique dans le domaine de l’intelligence artificielle.

L’intelligence artificielle dans synthèse 3D

L’apport de l’IA dans le domaine du jeu vidéo dans le futur sera sans doute non négligeable. Par exemple, sur la vidéo on peut voir l’évolution des techniques du texte vers image, qui permettent en utilisant l’IA, de générer des images de haute qualité en arrivant même à contrôler les personnages dans l’image en question, ainsi que les postures et les formes générales des personnages et des objets se trouvant dans l’image. On peut apercevoir aussi la génération automatique des vidéos par l’IA, qui commencent à devenir de plus en plus qualitatives et plus réalistes. Ou ce qui m’a vraiment impressionné, la génération d’objets en 3D à partir d’un texte, ce qui va grandement simplifier le travail des artistes dans le domaine vidéoludique. Sans oublier l’efficacité de l’IA à pouvoir faire la simulation physique réaliste avec peu de ressources, car pour faire la simulation réaliste en utilisant les méthodes classiques, la machine devrait être superbement puissante. Et le dernier point impressionnant dans cette conférence, c’est l’amélioration de la technique du Ray tracing, cette technique récemment intégrée dans les cartes graphiques pour plus de réalisme dans le rendu 3D. Les nouvelles techniques de simulation considèrent la lumière non plus comme un faisceau lumineux, mais comme des ondes électromagnétiques, ce qui est de plus en plus fidèle à la réalité physique du phénomène. 

L’algorithme A* pour la recherche de chemins

On a déjà au préalable évoqué dans un blog précédant un algorithme de recherche très connu qu’est celui de Dijkstra. On avait évoqué l’importance des algorithmes de recherche, ça permet principalement pour les logiciels de navigation comme titre d’exemple, de trouver d’une façon méthodique le plus court chemin à partir de votre position actuelle dans une carte vers une destination donnée. L’algorithme évoqué dans la vidéo en bas de la chaîne YouTube Computerphile est tout aussi important, C’est l’algorithme A* et représente une réelle amélioration de l’algorithme de Dijkstra.

L’agorithme A*

Lorsque nous avons décrit précédemment l’algorithme de Dijkstra, ça nous a sauté aux yeux combien l’algorithme était si intuitif. En prenant un papier et un crayon, et avec un peu de chance il est possible redécouvrir l’algorithme par soi-même. L’hypothèse de départ est que vous avez une carte de plusieurs villes interconnectées par des routes avec des distances différentes, le but est de trouver le plus court chemin d’une ville de départ vers une ville d’arrivée. Intuitivement, on va commencer par la ville de départ avec une distance de 0, et explorer les voisins directs de cette ville tout en avantageant la ville la plus proche. Algorithmiquement, ça va être une file qui contient la liste ordonnée des villes intermédiaires avec leurs distances à la ville de départ. Ce même processus l’exploration va se répéter pour la tête de file, donc la ville la plus proche. Et continuez au fur et à mesure avec les autres villes jusqu’à y arriver à la ville de destination. Bien sûr dès qu’on termine l’exploration d’une ville en doit la supprimer de la liste, puisque c’était au préalable la ville la plus proche et c’est impossible de trouver dans la liste des villes suivantes un chemin plus cours. Il faut aussi entre-temps mettre à jour les distances des villes anciennement explorées si un nouveau chemin plus court est découvert.

Comparaison de Dijkstra et A*

L’algorithme A* représente une extension de l’algorithme de Dijkstra. Il va utiliser ce qu’on appelle en mathématiques une heuristique pour améliorer l’algorithme de Dijkstra. L’heuristique est une amélioration intelligente de l’algorithme de Dijkstra en le poussant plus rapidement vers la destination, et en lui évitant de faire l’exploration de la totalité des courts chemins. Cette amélioration est aussi si intuitive que l’algorithme de Dijkstra lui-même. Il a suffi de modifier l’algorithme non plus d’ordonner la liste des villes par le plus court chemin, mais par l’addition du plus court chemin avec la distance directe (ou à vol d’oiseau) de la ville vers la destination. Ainsi les villes les plus loin de la destination vont être pénalisées et les villes les plus proches vont être avantagées. On peut voir sur la vidéo en haut de la comparaison entre l’algorithme Dijkstra et l’algorithme A*, et comment l’algorithme de Dijkstra fait l’exploration en largeur et le A* étend son exploration vers la destination. Contrairement à l’algorithme de Dijkstra, l’algorithme A* ne garantit pas le plus court chemin.

Le path-fider du jeu StarCraft

L’algorithme A* étoile n’est pas aussi précis que l’algorithme de Dijkstra, mais il a l’avantage d’être beaucoup plus rapide. Ce qui le rend un candidat idéal pour les applications temps réel, où le temps de réponse doit être rapide ou borné. C’est particulièrement vrai pour les jeux vidéo avec une vue de haut, où il faut cliquer sur la souris et laisser le caractère trouver son propre chemin sur le terrain. Ça concerne principalement les jeux de stratégie RTS et les jeux de rôle RPG isométrique. L’algorithme assurant le chemin du caractère vers sa destination est généralement appelé Path-Finder. Vous pouvez voir par exemple sur l’image en haut, l’algorithme A* utilisé comme Path-Finder dans le très célèbre jeu de stratégie StarCraft. D’autres algorithmes plus modernes et plus efficaces sont utilisés comme Path-Finder dans les jeux modernes. L’algorithme A* est aussi utilisé en intelligence artificielle pour la résolution des labyrinthes, du rubik’s cube, ou le puzzle du Taquin, et beaucoup bien d’autres. 

Podcast du fondateur d’OpenAI et la création de ChatGPT

Tout le monde ces temps-ci parle de ChatGPT, c’est l’intelligence artificielle (IA) qui fait actuellement couler beaucoup d’encre et qui sollicite l’intrigue et la curiosité de beaucoup de monde, que çà soit dans le monde de la technologie ou des personnes lambda. Et franchement il y en a de quoi, j’ai personnellement pu tester cette intelligence et sincèrement ça m’a bluffé. C’est la première fois où personnellement je peux communiquer avec une intelligence artificielle sans avoir l’impression que c’est une machine. ChatGPT arrive aisément à comprendre la pensée humaine, j’ai même essayé de lui formuler des requêtes un peu obscures et difficiles à comprendre, qu’elle a réussi à déchiffrer facilement. On arrive aisément à construire un dialogue constant, claire, et soutenu comme si vous discutez avec un humain normal. 

Podcast avec le CEO de la firme créatrice de ChatGPT

Pour beaucoup, c’est la première fois qu’une IA atteint ce niveau avancé d’intelligence. Il y a même certains chercheurs qui la qualifient d’enfant AGI, l’AGI étant une intelligence totalement indépendante avec sa propre conscience et son libre arbitre. Bien sûr tout cela fait peur, on ne s’attendait pas à de tels progrès en si peu de temps. D’après l’intelligence elle-même beaucoup de professions pourrait facilement être remplacé par l’intelligence artificielle, comme le métier d’enseignant, avocat, comptable, médecin…etc. 

Vous pourrez vous-même facilement tester cette intelligence si vous le souhaitez. À mon avis le moyen le plus simple de le faire et d’utiliser le moteur de recherche Bing et le navigateur Edge de Microsoft, vous aurez la possibilité d’engager une conversation avec le bot Bing, qui représente selon Microsoft une variante de ChatGPT 4, la version la plus récente. Vous pourrez même aussi tester une autre intelligence artificielle pour générer des images d’une façon automatique à partir de texte, appeler DALL-E conçu aussi par OpenAI. Il faut savoir qu’il y a un partenariat entre Microsoft et OpenAI, les créateurs de ChatGPT, ce qui permet à Microsoft d’utiliser leurs produits. À la base OpenAI était une firme lancée par Elon Musk en personne pour contrer le monopole de Google sur le domaine de l’intelligence artificielle avec son intelligence DeepMind. Sur la vidéo en haut Le CEO OpenAI Sam Altman s’exprime sur le podcast de Lex Fridman sur les produits de OpenAI en exposant les grands dilemmes de l’intelligence artificielle sur l’humanité et les implications importantes qu’elle apporterait aux humains au futur probablement proche. 

John Carmack le meilleur programmeur au monde !

On va présenter là l’un des meilleurs programmeurs au monde, en tout cas selon les dires de nombreux acteurs de l’industrie du software. John Carmack est un développeur qui a su affirmer sa notoriété au fil du temps sur différents projets. Tout observateur de la carrière de John Carmack peut constater que John avait toujours un pas en avance en technologie par rapport à tout le monde, c’était ce qu’on appelle un précurseur dans son domaine.

La carrière de John avait commencé dans l’industrie des jeux vidéo, avec la société Id Software, cofondé entre autres, avec un très grand nom de l’industrie aussi nommé John Romero. Leur premier grand hit était le jeu vidéo Commander Keen, dans lequel la première fois où les PC implémentaient les jeux en side scrolling 2D (semblable au jeu comme Super Mario Bros), réservé auparavant aux consoles de jeux vidéo équipées du hardware spécifique pour le faire. John Carmack a réussi par des petits hacks à implémenter la même technique sur PC. Le 2-ième hit est Wolfenstein 3D, là encore John Carmack réussit à introduire et à populariser une technologie jusque-là très marginale, et qui va bouleverser le monde vidéoludique après, “la 3D”. À la base, le PC dans les débuts des années 90 n’avait ni la puissance suffisante ni le hardware spécifique pour implémenter la 3D. Pour cela, il fallait aussi utiliser des techniques précises pour le réaliser, car le moteur du jeu Wolfenstein 3D est très particulier, ça permettait de rendre la 3D, mais avec beaucoup de restrictions. Par exemple, tous les murs de l’environnement doivent être construits avec des ongles de 90° suivant le schéma d’une matrice. C’était le prix à payer pour afficher de la 3D sur des machines à quelques mégahertz de puissance. Le 3-ème hit est Doom, et là encore c’est une grande révolution, puisque historiquement c’est le jeu qui a lancé le genre des FPS (First Person Shooter), et toujours avec des restrictions sur le moteur pour pouvoir afficher de la 3D avec quelques dizaines de mégahertz maintenant sur les machines et sans utiliser de l’accélération hardware 3D. Le 4-ème hit et le jeu Quake, est encore une fois une nouvelle révolution dans le domaine vidéoludique, c’est l’apparition du multijoueur online.

John Romero le cofondateur de Id Software, travaillant sur Doom (1993)

En 2013 Carmack rejoint la société d’Oculus VR pour entamer une nouvelle orientation dans sa carrière. Pour rappel la société Oculus VR est une société spécialiste dans la réalité virtuelle et la réalité augmentée. C’est une société qui a été acquise par Meta (anciennement Facebook) et ces produits représentent maintenant le fer de lance de Meta pour son projet de réalité virtuelle appelée Metaverse. Entre-temps Carmack a aussi l’occasion de toucher diverses technologies dans sa carrière, dont la technologie aérospatiale des diffusés, l’énergie de la fusion nucléaire, et récemment la technologie de l’intelligence artificielle. Plus précisément, de l’Intelligence Artificielle Générale (ou AGI). C’est de l’intelligence artificielle pour la création d’agent autonome qui a la capacité d’apprendre ce que peut apprendre un humain normal. C’est le genre d’intelligence artificielle qu’on voit dans les films de science-fiction. Apparemment c’est la technologie que Carmack consacre le plus de temps actuellement.

John Carmack reçu dans le Podcast de Lex Fridman

Sur la vidéo en haut, on peut voir un podcast ou interview de 5h de Camark fait par Lex Fridman (voici sa chaîne YouTube et le lien de son site web), un enseignant-chercheur dans l’université d’MIT, et une figure bien connue dans le domaine de l’intelligence artificielle. La discussion est très enrichissante, ça permet de mettre en lumière la manière de penser de l’un des meilleurs programmeurs au monde, et aussi avoir un aperçu sur l’univers de la haute technologie. 

L’IA qui programme

Il est clair et bien observé dans la communauté scientifique que la technologie qui produit des avancées considérables et importantes est sans doute l’IA (l’intelligence artificielle), tous les jours il y a des publications scientifiques de partout dans le monde, et tous les jours des barrières qui semblaient au préalable infranchissables pour l’IA tombent actuellement l’une après l’autre. Pas encore dans le domaine public, mais dans le monde de la recherche, on sait bien que l’IA peut rivaliser avec les meilleurs artistes dans pratiquement tous les domaines artistiques, l’IA bat haut la main les meilleurs joueurs de jeux de plateau comme le jeu d’échec ou le jeu Go, dans les jeux vidéo aussi l’IA peut rivaliser avec les meilleurs joueurs professionnels. L’IA est aussi très avancé dans la compréhension et le traitement du langage naturel humain, dans la vision et la reconnaissance des objets dans des images ou des vidéos, aussi dans la simulation des phénomènes physiques réputés difficiles par les méthodes classiques, le deepfake…etc. Mais il y avait deux domaines où l’IA aurait du retard par rapport à l’intelligence humaine, c’est les mathématiques et la programmation, deux exercices de réflexion où selon les chercheurs exige un grand degré abstraction par l’humain. Mais apparemment, c’est plus le cas selon la vidéo en bas, la vidéo présente une revue sur l’IA nommé Codex, très bien présenté par un chercheur et un scientifique très actif sur Youtube, ça chaîne est nommée Two Minute Papers.

L’IA Codex

L’introduction du cours deep-learning de MIT

Une introduction en vidéo fracassante et spectaculaire du cours de deep-learning de l’université de MIT pour cette année, l’enseignant a eu avec cette introduction de bien faire comprendre aux étudiants de quoi s’agit-il et les projections effectifs des connaissances de ce cours.

introduction au cours de deep-learning de MIT

Pour rappel, le deep-learning est une branche du machine-learning elle-même une sous-classe du domaine de l’inintelligence artificielle. On peut facilement observer que de nos jours c’est l’intelligence la plus avancée et la prometteuse en comparaison aux autres intelligences.

Le meilleur livre pratique de Machine Learning

Le Machine Learning (ou ML) est une branche importante de l’Intelligence Artificielle, la majorité des technologies actuelles d’IA utilisent des techniques de cette branche, comme par exemple les innovations DeepMind de Google ou les Enceintes Connectées, comme Google Home, Amazon Echo ou Apple HomePod, représentées sur la photo en bas. Je ne suis pas un spécialiste du domaine pour conseiller le meilleur livre pour apprendre cette discipline mais sur internet on arrive trouver des spécialistes qui peuvent nous orienter dans le choix d’un bon livre pour un bon investissement d’apprentissage dans le domaine. Le gars sur la vidéo en bas fait des vidéos de tutoriaux sur l’utilisation du langage Python dans le domaine du Data Science et Machine Learning, d’ailleurs le Python est très prisé pour ces deux disciplines. D’après l’auteur de la vidéo le livre Hands On Machine Learning with Scikit Learn and Tensorflow est le meilleur livre actuel sur le Machine Learning concernant l’aspect pratique du domaine (et non théorique), il explique dans la vidéo pourquoi d’après lui c’est le meilleur livre qui existe.

3 assistants vocaux (de gauche à droite) : Apple Homepod, Amazon Echo, Google Home

D’après ma modeste expérience dans l’éducation, le meilleur moyen d’apprendre pour un étudiant est un  »bon » livre, j’ai toujours répété à mes étudiants qu’un bon livre vous fera apprendre dix fois plus ce que vous apprendrez en suivant le cursus normal pour module donné, et c’est tout à fait logique, les bons livres sont généralement écrits par des spécialistes avec des années d’expérience, peut être les meilleurs dans le domaine, par exemple pour le module des architecture des ordinateur le livre Computer Organization and Design écrit par David A. Patterson et John L. Hennessy, les deux auteurs sont des experts reconnus mondialement, c’étaient les deux initiateurs de la conception des processeurs RISC, de facto de 99% des processeurs actuels. Les deux auteurs ont obtenu le prix Turing, l’équivalent du prix Nobel en informatique. John L. Hennessy est l’un des fondateurs du processeur MIPS étudié dans le module, il a été le tuteur des deux étudiants Larry Page et Sergey Brin lors de leur projet de fin d’étude pour la création du moteur de recherche Google. David A. Patterson est actuellement l’un des leaders de la fondation RISC-V, le processeur dit du future. Le livre contrairement au cours permet de prendre le temps et petit à petit d’approfondir et détailler minutieusement les différents aspects du domaine.

is this the best book on Machine Learning ?

Il faut savoir que l’Intelligence Artificielle est une discipline qui monte de jour en jour en puissance, ça serait probablement l’une des technologies prédominante dans les décennies à venir, investir dès les premières années dans cette technologie serait inch-allah bénéfique à long terme. Il faut juste savoir que ce domaine est réputé d’avoir une appréciation théorique lourde, et un background mathématique et statistique poussée. J’ai eu l’opportunité dans mon ingéniorat de travailler sur les Réseaux de neurones, l’une des techniques les plus répondues dans le ML, j’ai aussi travaillé sur les Support Vector Machine et je me rappelle qu’il me fallait étudier en plus des notions en mathématique non étudiés dans le cursus normal d’informaticien, comme certaines notions d’optimisations et d’analyses mathématiques, des concepts et théories en statistique…etc. Quoique le livre présenté en haut se concentre sur l’aspect pratique du domaine, l’aspect théorique reste pas moins important et non négligeable que l’aspect pratique.

Les vidéos Deepfakes

La technologie dans le domaine de l’intelligence artificielle avance à grands pas, la tendance actuelle sur les réseaux sociaux est de trouver les vidéos dites Deepfake, ce sont des vidéos réalisées en utilisant un logiciel de Machine Learning (une branche de l’intelligence artificielle) pour créer de fausses vidéos de personnalités qui sont en réalité synthétisées et non réels, comme vous pouvez le voir sur les images des présidents en bas. Le terme Deepfake vient de Deep Learning fake, Deep Learning étant une technique très répondue dans le Machine Learning. Des applications grands publiques ont vu le jour sur internet en grande partie à l’aide d’une communauté sur Reddit actif sur ces technologies.

Ces techniques qui ne sont pas réservés qu’à la vidéo mais impliquent aussi la parole, sont potentiellement dangereux pour l’authenticité de l’information, dans un monde où les fake news font éloge il sera de plus en plus difficile de discerner la véracité dans l’information. Le département de la défonce américaine considère cette technologie comme potentiellement dangereuse et a produit des outils pour déceler les vidéos deepfake, d’autres instituts de recherche aussi songent à utiliser des techniques de Deep Learning pour détecter les deepfakes. Dire qu’au final le meilleur moyen de combattre une intelligence artificielle serait une autre intelligence artificielle.