Blog ENI : Toute la veille numérique !
🎁 Jusqu'au 25/12 : 1 commande de contenus en ligne
= 1 chance de gagner un cadeau*. Cliquez ici
🎁 Jusqu'au 31/12, recevez notre
offre d'abonnement à la Bibliothèque Numérique. Cliquez ici
  1. Livres et vidéos
  2. L’intelligence artificielle expliquée
  3. Techniques et outils pour la création d’une IA
Extrait - L’intelligence artificielle expliquée Des concepts de base aux applications avancées de l’IA
Extraits du livre
L’intelligence artificielle expliquée Des concepts de base aux applications avancées de l’IA
10 avis
Revenir à la page d'achat du livre

Techniques et outils pour la création d’une IA

Introduction

L’intelligence artificielle révolutionne notre façon de penser et d’appréhender les problèmes du monde réel.

Désormais, chaque corps de métier s’y intéresse : responsable d’entreprises, chercheurs, ingénieurs, développeurs ou ouvriers, pas un métier n’y échappe. Tous sont de plus en plus intéressés par les avantages que l’intelligence artificielle peut apporter et les projections sont plus que jamais pharaoniques.

C’est dans ce contexte que nous allons aborder les techniques et les outils permettant la création d’applications d’intelligence artificielle. Nous en explorerons les différents aspects sous l’angle des outils pour la création vous permettant de mener à bien votre projet d’IA révolutionnaire.

Les langages de programmation seront naturellement abordés dans une première partie. Ces derniers vous permettront de maintenir, de faire évoluer ou bien encore de créer de nouvelles applications d’intelligence artificielle. Il est entendu que nous n’aborderons pas l’exhaustivité des langages de programmation, ce serait bien trop prétentieux, un ouvrage seul ne suffirait pas.

Toutefois, nous détaillerons les principaux langages de programmation avec pour unique objectif : vous permettre d’appréhender...

Les langages de programmation pour l’intelligence artificielle

L’intelligence artificielle est devenue la clé de voûte de la technologie innovante, offrant des solutions novatrices à de nombreuses industries.

Les langages de programmation jouent un rôle prépondérant dans le développement des systèmes d’intelligence artificielle. Il existe de nombreux langages de programmation disponibles, chacun offrant des avantages et des inconvénients. Le choix du langage de programmation devra s’opérer en fonction des besoins du projet dans une approche de solution globale.

Comme indiqué en introduction de ce chapitre, nous nous concentrerons uniquement sur certains langages de programmation les plus populaires utilisés en IA, nous évoquerons des biens connus tels que Java, C++… et d’autres sans doute un peu moins aux yeux du grand public comme R ou le bien surprenant Python qui n’est pas à l’abri de vous réserver quelques surprises.

Revenons à notre IA ainsi qu’aux langages associés. Il est à noter quatre éléments essentiels à l’éligibilité du langage pour prétendre à son utilisation dans un contexte d’intelligence artificielle :

  • Programmation orientée « objets » (POO) : la POO est essentielle pour un langage d’IA en raison de ses concepts clés tels que l’héritage, la surcharge et les méthodes virtuelles. Ces concepts permettent de modéliser et d’organiser efficacement des entités complexes en utilisant des objets, favorisant ainsi une conception modulaire, réutilisable et extensible du code.

  • Programmation récursive : bien que de nombreux langages prennent en charge la récursivité, elle est particulièrement importante en IA en raison de la nature souvent récursive des algorithmes, tels que ceux utilisés dans les arbres de décision, les parcours de graphes, etc. La récursivité offre une approche élégante et concise pour résoudre des problèmes complexes.

  • Paradigme de programmation « fonctionnel » : les langages de programmation fonctionnelle, tels que Lisp ou Haskell, sont pertinents en IA en raison de leur capacité...

Les frameworks pour l’intelligence artificielle

1. TensorFlow

images/04RI09.png

Logo TensorFlow

TensorFlow est un peu l’outil considéré « Star » de nos collègues DataScientist. Nous avons face à nous un outil, une bibliothèque open source développée par le géant Google étroitement compatible avec le langage Python. TensorFlow s’appelait à l’origine DistBelief et a fait l’objet de nombreuses évolutions au fil des années.

DistBelief fut donc renommé TensorFlow en 2015 et son code source dès lors rendu public. Depuis cette date, plus de 20 000 modifications ont permis de faire évoluer considérablement l’outil, lui permettant de finalement passer dans sa version définitive, 1.0 en février 2017.

Pour faire simple, considérons TensorFlow comme une bibliothèque de Machine Learning ayant pour but de standardiser et de simplifier la création et le déploiement de modèles de Deep Learning.

Cette boîte à outils vous permettra dans vos réalisations de résoudre simplement et efficacement des problématiques complexes liées à l’acquisition de données, l’entraînement des modèles de Machine Learning et la génération de systèmes prédictifs dans un objectif de raffinage des résultats souhaités.

Grâce à un grand nombre de modèles et d’algorithmes, TensorFlow vous permettra par exemple d’entraîner et d’exécuter des réseaux de neurones, que ce soit pour la reconnaissance d’images ou bien encore pour le traitement du langage naturel.

Son API repose sur le langage de programmation Python que nous avons parcouru dans la première partie de ce chapitre, tandis que l’exécution des applications nouvellement créées s’effectue en C++, langage antre de la haute-performance.

Une API signifie "Application Programming Interface" en anglais, ce qui se traduit en français par « Interface de Programmation d’Application ». Une API est un ensemble de règles, de protocoles et de fonctions qui permettent à différents logiciels ou applications informatiques de communiquer entre eux.

TensorFlow...

Outils pour la gestion et la visualisation des données

1. Jupyter notebook

IMAGES/04RI19.png

Logo Jupyter

Jupyter est une application web open source créée en 2014 par Fernando Pérez et Brian Granger en tant que successeur de l’environnement de programmation « IPython ». Cet outil est open source, il permet de créer et de partager des documents contenant du code applicatif, des visualisations, des explications et bien entendu des résultats.

Jupyter doit son nom à l’acronyme Julia, Python et R.

La terminologie "notebook" pour sa part est due au fait que l’outil permet d’écrire de minuscules morceaux de code exécutable qui sont aussi appelés « cellules », tout en permettant la documentation. À date, les notebook Jupyter supportent pas loin de quarante langages de programmation.

Un Jupyter Notebook c’est à la fois :

  • un document permettant d’intégrer du code applicatif que vous pouvez exporter sur de nombreux formats ;

  • un applicatif web dans lequel l’outil vous offre la possibilité de réaliser votre application, de partager votre code et de le documenter. L’idée est que vous puissiez importer des données et les analyser à la volée.

Les usages les plus courants de l’outil gravitent autour de la data science et des mathématiques.

Vous pouvez installer Jupyter depuis le site https://www.anaconda.com/data-science-platform ou procéder à une installation locale en tapant ces quelques lignes dans votre environnement de développement favori :

pip3 install --upgrade pip 
pip3 install jupyter 

C’est dès lors installé et prêt à être utilisé.

Jupyter est un outil polyvalent largement adopté dans divers domaines, offrant une gamme d’applications variées. Dans ce chapitre, nous explorerons comment Jupyter est utilisé dans différentes situations, tout en examinant ses avantages et ses inconvénients.

Les utilisations de Jupyter :

  • Analyse de données : Jupyter est couramment employé pour l’analyse de données. Il permet de rassembler du code, des graphiques et des explications dans un document unique, facilitant ainsi la communication des résultats de l’analyse.

  • Exploration...

Les plateformes Cloud pour l’IA

Nous avons pu constater à travers les trois premiers éléments de ce chapitre tout un panel de langages pour l’intelligence artificielle, de frameworks vous permettant de construire vos applications ou bien encore d’outils pour la visualisation de données.

Les plateformes Cloud pour l’IA que nous allons voir dans cette partie sont également conçues pour faciliter le déploiement de vos merveilleuses et futures réalisations, se voulant simple d’accès et faciles à utiliser, bien que vous ne soyez pas encore experts dans le domaine de l’intelligence artificielle.

Ces dernières offrent des services d’IA en ligne qui permettent aux professionnels d’accéder à des ressources puissantes pour leurs projets d’intelligence artificielle, sans avoir à investir dans leur propre infrastructure. Cela en fait un élément de poids non négligeable dans la prise en compte d’une plateforme cloud dans le cadre d’un développement IA.

Vous appréhenderez à travers ces plateformes tout un ensemble d’éléments vous permettant d’accroître votre productivité comme des outils graphiques ainsi que des (IHM) interfaces utilisateur pour vous simplifier les tâches les plus complexes telles que la création de modèles d’apprentissage automatique et la configuration de pipelines de traitement de données.

Nous vous proposons ici une vision exhaustive de deux des principales plateformes à travers la dernière partie de ce chapitre, à savoir celles de Microsoft et de Google.

Bien évidemment de nombreuses autres plateformes cohabitent sur le marché, notamment celle d’Amazon avec sa solution AWS ou IBM avec Watson.

Le Cloud, également connu sous le nom de cloud computing ou informatique en nuage, fait référence à la fourniture de services informatiques via Internet, comme le stockage, le traitement, la gestion des données, les serveurs, les bases de données et bien d’autres. Au lieu d’exploiter des serveurs et des infrastructures informatiques physiques en local, les utilisateurs et les entreprises peuvent accéder à ces ressources informatiques à distance, à partir...

Conclusion

En synthèse de ce chapitre, nous avons exploré les bases essentielles des techniques et des outils qui forment les fondements de l’intelligence artificielle. Nous avons découvert l’importance des langages de programmation, en mettant en avant Python, un langage convivial et largement utilisé dans le domaine de l’IA.

Nous avons également exploré les frameworks d’IA, qui sont des ensembles complémentaires d’outils et de bibliothèques prêts à l’emploi permettant aux développeurs de créer, d’entraîner et de déployer des modèles d’IA plus rapidement et plus efficacement.

De plus, nous avons exploré les plateformes de cloud computing, comme Google Cloud Platform et Microsoft Azure, qui jouent un rôle crucial en fournissant des ressources de calcul et de stockage pour exécuter des modèles d’IA à grande échelle. Ces plateformes permettent aux développeurs de profiter de la puissance de calcul distribué et de gérer leurs modèles de manière flexible et évolutive.

En combinant ces langages de programmation, frameworks d’IA et plateformes de cloud computing, les passionnés et professionnels de l’intelligence artificielle ont à leur disposition un ensemble de choix d’outils robustes pour créer des applications...