Si je vous parlais d'intelligence artificielle et de développement d'apprentissage automatique, que vous viendrait-il en tête ? Python, Tensorflow, OpenCL? Avec l'avancement de cette branche de développement, les librairies spécialisées se sont contentrées en Python et et C/C++, permettant à plusieurs d'intégrer ces technologies dans leurs projets. Nombreux sont les projets python de reconnaissance d'objet par webcam, de voix par microphones, le tout installé sur des Raspberry Pis. Pourtant, il y a quelques années seulement, un tout autre langage menait le développement et la recherche en matière d'Intelligence Artificielle : Lisp.
Pourquoi utilisait-on un langage ancient pour une technologie si avancée?
Common Lisp a plusieurs avantages qui font de lui un excellent candidat pour le développement d'intelligences artificielles, incluant son utilisation de macros, sa structure homoiconique, ce qui veut dire qu'un programme peut être manipulé tel des données, son intéractivité avec la boucle de lecture, évaluation et retour, puistout type d'optimisations natives à Lisp ("garbage collection" fonctionnant non seulement sur les données en mémoire mais aussi sur les programmes, compilateurs incrémentaux, etc.). Il faut toutefous noter que l'intelligence artificielle qu'on imaginait précédemment n'est pas la même que celle que l'on développe aujourd'hui. En effet, je me réfère à un un type d'IA qui est caractérisé comme étant symbolique.
Intelligence Artificielle Symbolique
Cette sous-catégorie de l'intelligence artificielle se sert de symboles et concepts et de leurs relations entre eux, plutôt que des données numériques. Contrairement à l'apprentissage automatique et au "deep learning", l'IA symbolique ne requiert pas de banques de données afin d'être utilisé. À cause de cela, sa compréhension sera souvent limitée en dehors des paramètres d'utilisation clairement définis.
Pour cette raison, il est appliqué dans des cas plus spécifiques tels le traitement du langage avec des assistants numériques tels Siri, le système de conduite pour voitures intelligentes, se servant de cette intelligence afin de prendre des décision selon l'environnement ou l'analyse de média et de données à l'aide de mots clés, afin d'identifier des sentiments ou des taux de satisfaction par exemple.
Conclusion
Il est important de souligner que le concept d'intelligence artificielle était différent à l'époque où Lisp était prédominant. On se référait alors à une forme d'IA symbolique, contrairement aux approches modernes comme le machine learning et le deep learning qui dépendent de vastes ensembles de données.
Ainsi, bien que les tendances actuelles privilégient d'autres langages, comprendre le rôle de Lisp dans le développement de l'IA symbolique peut apporter un éclairage intéressant sur l'évolution de cette technologie au fil du temps.
J'espère plonger dans des détails techniques lors d'un prochaine article afin que l'on puisse comprendre le fonctionnement de cette technologie. J'èspère vous revoir ici la semaine prochaine !
Références
- "AI Lisp", Intelligency.com, http://www.intelligency.org/ai_lisp.php (page consultée le 15 février 2024)
- "What is Symbolic AI?", DataCamp, Mai 2023 https://www.datacamp.com/blog/what-is-symbolic-ai (page consultée le 16 février 2024)
- "Symbolic AI: Benefits and use cases", Clark Finley, Février 2023, https://www.metadialog.com/blog/symbolic-ai/ (page consultée le 16 février 2024)
Commentaires1
Les avantages
Salut,
Je voulais savoir quels sont les principaux avantages techniques de Lisp par rapport aux langages modernes pour le développement de l'intelligence artificielle symbolique, et comment ces avantages pourraient-ils influencer les approches contemporaines par rappor à l'IA?