SOMMAIRE
- SOMMAIRE
- Vidéos
- Présentation
- Aller plus loin
Présentation
1. L’intelligence artificielle
Quel est la définition de l’intelligence artificielle, son histoire et à quoi sert-elle ?

1.1. Qu’est-ce que l’IA
Dans cette partie nous allons voir la définition de l’intelligence artificielle ainsi que son histoire.

1.1.1. Définition de l’Intelligence Artificielle :
Larousse :
Ensemble de théories et de techniques mises en œuvre en vue de réaliser des machines capables de simuler l’intelligence humaine.
L’internaute :
Imitation de l’intelligence humaine à l’aide de procédés informatiques.
Remarque :
C’est une imitation, cela simule l’intelligence. On est loin de la véritable intelligence similaire aux animaux voir aux hommes

1.1.2. Historique de l’Intelligence Artificielle :
1940 – Pendant la Seconde Guerre mondiale, le cryptologue Alan Turing développe une machine capable de déchiffrer le code d’Enigma, la machine de chiffrement des communications allemandes. On le considère comme le père de l’informatique moderne et de l’intelligence artificielle
1950 – Alan Turing va se demander si une machine peut penser. Il va développer une proposition de test permettant de vérifier si une machine est capable d’imiter la conversation humaine (Test de Turing)
1955 – Utilisation de transistor permettant la création de circuits imprimés
1960 – Arthur Samuel développe un jeu de dames avec une IA auto-apprenante qui a battu un champion américain
1970 – Chute des investissements dues à l’optimisme trop grand des chercheurs ayant sous-évalué les difficultés empêchant l’atteinte des résultats promis
1980 – Naissance du concept de machine learning, les programmeurs apprennent au système quoi faire et les corrigent si besoin
1990 – Le logiciel d’IBM DeepBlue bat le champion du monde d’échec
2000 – Naissance du concept de deep learning, divise la compréhension globale en différentes couches permettant de distinguer des caractéristiques. Ces dernières une fois associées permettent de répondre à des problématiques plus complexes
2010 et 2020 – Développement de la technologie avec l’accroissement du big data et du cloud permettant le déploiement de plus de puissance de calcul. Le logiciel de Google AlphaGo bat le champion du monde jeu de go
Remarque :
L’IA n’est pas une technologie récente, elle est seulement limitée par les capacités de son temps.
L’IA va exploser grâce aux nouvelles technologies de récolte de données et de calculs.

1.2. A quoi ça sert ?
Dans cette seconde partie nous allons voir à quoi sert l’IA.

1.2.1. Les deux types d’interactions :
Base de données :
L’agent va récupérer des données, les traiter et renvoyer des résultats
L’environnement :
L’agent va récupérer l’état de l’environnement, déterminer une action à exécuter dans ce dernier et obtenir une récompense en fonction du résultat de l’action.
Remarque :
Dans un cas l’IA va donner une information, dans l’autre elle va commander un environnement (ex: jeux vidéo, machines…).
En base de données on traite des informations fixes, en environnement en traite des informations en temps réel (plus lent pour l’apprentissage)

1.2.2. Les environnements de démonstrations :
Base de données :
Pour les exemples avec base de données on va se servir d’images de chiens et de chats
L’environnement :
Pour les exemples avec environnement on va se servir d’un petit labyrinthe

1.2.3. Prédire, Classifier et Contrôler :
Prédire :
Pour chaque élément de la Bdd (ex: chaque image), on fait une prédiction pour chaque résultat possible
Classifier :
On classe chaque élément de la Bdd (ex: chaque image) dans les différents résultats. Revient à restituer les résultats ayant les prédictions les plus importantes
Contrôler :
Pour chaque état de l’environnement (séquentielle, périodique, temporelle…), on détermine l’action à exécuter. Revient à restituer l’action ayant la prédiction la plus importante.

2. Les réseaux de neurones
Quel est la définition d’un réseau de neurones, son rapport avec l’IA et comment ça marche ?

2.1. Qu’elle rapport avec l’IA ?
Dans cette partie nous allons voir le lien entre les réseaux de neurones et l’IA.

2.1.1. Intelligence artificielle, Machine Learning et Deep Learning ?
Intelligence Artificielle :
Conception de machine et de programmes capable de simuler l’intelligence artificielle
Basé sur des algorithmes programmables
Machine Learning :
Conception de programme capable d’apprendre sans avoir été explicitement programmé
Dérivé de l’IA, il intègre les statistiques
Deep Learning :
Conception de réseaux de neurones profonds permettant d’apprendre des notions complexes
Dérivé du DL, il intègre la neuroscience

2.1.2. Pourquoi le Machine Learning ?
Exemple du bébé :
Comment un bébé apprend-il à marcher ?
– Le bébé rampe par terre
– Il se lève et tombe
– Puis se lève et fait quelques pas jusqu’à ses parents
– Avec l’entrainement il marche de plus en plus et tombe de moins en moins
– Enfin il finit par courir
Explication :
On n’apprend pas la physique, la répartition des masses et la gravité à un bébé pour qu’il sache comment marcher
Il a fini par savoir comment réagir pour contrôler son corps à force d’entrainement
Remarque :
Le ML est similaire, on ne code plus en dur mais on laisse le système apprendre
Cela permet une meilleure adaptabilité aux variations du système et, en général, de meilleurs résultats (car le système s’optimise)

2.2. Qu’est-ce qu’un réseau de neurones ?
Dans cette seconde partie nous allons voir ce qu’est concrètement un réseau de neurones.

2.2.1. Le perceptron :
Un neurone :
Le perceptron est un réseau de neurones composé d’un neurone seul
– Il est composé de plusieurs entrées représentant les données provenant du système et d’une sortie
– La sortie se calcule en effectuant la somme pondérée des entrées par les poids associés
L’apprentissage :
L’apprentissage d’un neurone se fait en faisant évoluer ses poids afin de trouver en sortie le résultat le plus juste possible en fonction des entrées données
Lien avec la neuroscience :
Ce principe est repris du fonctionnement des neurones dans nos cerveaux, avec les dendrites représentant les entrées, le noyau pour faire le calcul et l’axone pour restituer le résultat à différentes branches qui se connecteront aux neurones suivants

2.2.2. Un réseau de neurones à une couche :
Les entrées :
Reprenant l’exemple du labyrinthe. On récupère de ce dernier la position sous forme de deux informations, x et y
Notre réseau aura ainsi 2entrées
Les sorties :
On peut effectuer 4 actions différentes, aller en haut, en bas, à droite et à gauche
Notre réseau aura ainsi 4 sortis
Les couches cachées :
Entre la couche d’entrée et la couche de sortie on aura différentes couches cachées (ici une seule couche de 5 neurones)
Plus le réseau est complexe, plus il pourra apprendre des environnements complexes, mais s’il l’ait trop, il va sur-apprendre et perdre en efficacité et justesse
La fonction d’activation :
Chaque neurone de sortie va avoir en résultat la probabilité d’être la meilleure action à exécuter
Une fonction d’activation (ici Softmax) va permettre de choisir en fonction de ces probabilités l’action la plus optimale

2.2.3. Un réseau de neurones à convolution :
La convolution :
La convolution permet d’appliquer des filtres sur les images afin d’en sortir des images plus petites permettant de détecter des features
Plus on applique de convolution, plus le réseau va être capable de détecter des features précis
Le pooling :
Le pooling permet de diminuer la taille des images et donc de réduire la consommation en calcul
Il part du principe que la position des paternes n’a pas d’importance, il supprime donc cette information
Et il permet de généraliser les informations et donc d’éviter que le réseau apprenne par cœur les images
Entrée du réseau :
On aplatit l’image pour n’avoir qu’un seul vecteur en entrée du réseau de neurones

2.3. Comment ça marche ?
Dans la troisième partie nous allons voir comment fonctionne les réseaux de neurones.

2.3.1. Apprentissage supervisé :
L’apprentissage :
On aide l’IA à comprendre ce que l’on cherche à obtenir :
– On lui donne des données brutes auxquelles on associe le résultat attendu (la cible)
– L’IA donne une prédiction
– Elle compare la prédiction avec la cible
– Puis se corrige elle-même
Remarque :
Les données brutes doivent être traitées initialement par un analyste
Il faut un grand nombre de données brutes pour apprendre
L’IA ne pourra pas être plus performante que l’analyste qui lui a fourni les données sources

2.3.2. Apprentissage non supervisé :
L’apprentissage :
On laisse l’IA apprendre par elle-même :
– On donne à l’IA beaucoup de données brutes (sans cibles)
– L’IA détermine le nombre de classes et trie les données
– On analyse les classes données, on les tests pour savoir leurs correspondances…
Remarque :
On n’a aucune idée à l’avance des résultats proposés par l’IA
Idéalement on devrait avoir deux classes, une de chiens et une de chats, mais on pourrait avoir d’autres classes en fonction des features déterminer par l’IA
On peut découvrir des résultats que l’on n’arrive pas à comprendre, l’IA cherche les features cachés

2.3.3. Apprentissage par renforcement :
L’apprentissage :
On laisse l’IA essayer :
– On envoie à l’IA les données de son environnement
– L’IA fait un choix selon les actions possibles
– L’action est effectuée dans l’environnement
– L’environnement renvoie une récompense en fonction du nouvel état
– La correction se fait en fonction de la récompense
Remarque :
La rétroaction est continue, plus on essaye et plus on explore l’environnement
L’apprentissage est continu, même s’il faut faire attention à certains paramètres
C’est ce type d’apprentissage qui est utilisé pour les jeux et chez l’homme

3. Exemples d’IA et conclusion
Quelques exemples d’IA et conclusion sur les points clefs et l’évolution à venir de la technologie.

3.1. Quelques exemples
Dans cette partie nous allons voir quelques exemples d’utilisations.

3.1.1. Vérifier si un pneu est conforme (Prédire)
Les données :
On prend en image un pneu à l’aide de différents capteurs de type vision
Puis on entre ces dernières dans un réseau de neurones entrainés
Les résultats :
On obtient en résultat la probabilité que le pneu soit conforme
– Si la probabilité est inférieure à un certain seuil, le pneu part en correction
– Si elle est supérieure à un certain seuil, le pneu est bon
– Et si la probabilité est entre ces deux seuils, on envoie le pneu vers un opérateur qui apportera son expertise
Remarque :
On n’aura jamais une probabilité de 100%, mais un réseau de neurones correctement entrainé donne généralement de meilleurs résultats qu’un humain
L’expertise de l’opérateur donne la cible que l’IA aurait dû atteindre. Enregistrées avec l’image du pneu qui était incertaine, ces dernières peuvent être réutilisé lors d’un nouvel entrainement du réseau de neurones afin d’entrainer l’IA à reconnaitre ces cas de figures les prochaines fois
Des échantillons peuvent être prélevés après le passage de l’IA pour vérifier manuellement la fiabilité de cette dernière dans le temps

3.1.2. Reconnaitre un défaut sur un pneu (Classifier)
Les données :
On reprend l’image du pneu effectué à l’aide de différents capteurs de type vision
Puis on entre ces dernières dans un réseau de neurones entrainés
Les résultats :
On obtient en résultat les probabilités que le pneu ait chacun des défauts référencés
Cela permet de classer le pneu en fonction des différents résultats obtenus

3.1.3. Commander une machine (Contrôle)
Les données :
En entrée de l’IA il y a la / les mesure(s) effectuée(s) sur la machine ou le produit
Les résultats :
On obtient en résultat une commande à exécuter sur la machine permettant de faire l’action la plus optimale possible
L’action :
La commande est envoyée à la machine pour effectuer l’action
On détermine le résultat de l’action effectué avec des mesures
Remarque :
Beaucoup de systèmes étant complexes, il faut généralement un réseau de neurones complexe (Deep Learning) pour le comprendre ainsi qu’une phase d’entrainement importante
Pour pallier cela, il est possible de développer une IA algorithmique calculant de façon logique le résultat voulu (régulation PID, Grafcet, calcul, algorithmes adaptatifs…)

3.2. L’évolution de l’IA dans le futur
Dans cette seconde partie nous allons voir les prévisions de l’IA pour le futur.

3.2.1. Evolution du chiffre d’affaires prévisionnel :
Analyse :
On peut voir sur ces deux courbes que la croissance prévisionnelle est très forte
Le plus gros investisseur est l’Amérique, suivi de l’Asie (Chine et Corée du sud) puis de l’Europe
Tous les secteurs d’activité vont être touchés par l’intégration de cette technologie
Remarque :
À noter qu’en 2016 on s’attendait à atteindre les 11,1 milliards de bénéfices en 2024. On devrait dépasser cette valeur cette année (en 2019, date de création de cette présentation). Cela montre l’évolution rapide du marché

3.2.2. Répartition géographique des bénéfices économiques pour 2030 :
Analyse :
On peut voir sur cette carte que presque la moitié des bénéfices économique apporté par l’IA devrait se retrouver en Chine avec 7 000 milliards de dollars
En deuxième position se trouvent les Etats-Unis avec 3,7 et en troisième l’Europe du Nord avec 1,8
Remarque :
En 2018 on a passé la barre des 1 200 milliards de bénéfices économiques, en 2030 en dépassera la barre des 15 700 milliards
La société de stratégie Roland Berger a estimé que si l’Europe prenait le tournant de l’IA, nous pourrions faire + 1 250 milliards de bénéfice d’ici 2030, mais que si nous échouions nous perdrions 605 milliards notamment du fait de notre perte de compétitivité face à la concurrence

3.3. A retenir
Dans cette troisième partie nous allons conclure avec quelques points importants à retenir.

3.3.1. Prédire, Classifier et Contrôler :
- L’intelligence artificielle est puissante mais pour la mettre en œuvre il va falloir développer les compétences des équipes
- Elle nécessite une grande quantité de données pour l’apprentissage
- Et d’avoir un réseau de neurones correctement configuré pour atteindre les objectifs voulus
- Pour cela il faut tester différents réseaux de neurones afin de valider le plus performant
- Il faut faire attention que le réseau généralise suffisamment le système pour détecter correctement les features importantes sans surapprendre
- La création des réseaux de neurones est simplifiée par des bibliothèques

4. Exemples d’IA en simulation
Exemples d’IA en simulation permettant d’expliquer le fonctionnement de façon simple et intuitif.
Pour avoir le détail de la présentation, je vous invite à aller regarder la vidéo YouTube afin de pouvoir voir les 2 simulations, les différents tests que nous faisons, les réponses des IA…

4.1. Berkeley IA
Description :
Développé par l’Université de Berkeley, cette application simple permet de simuler un agent devant s’évader d’un labyrinthe sur le même principe que l’exemple introduit dans la présentation.
Cette petite intelligence artificielle reprendre parfaitement l’exemple de la présentation. Elle permet de mettre en évidence l’importance des paramètres de l’IA pour son apprentissage.
Lien de téléchargement :
http://ai.berkeley.edu/home.html

4.2. Playground Tensorflow
Description :
Développé par Google, cette application permet de simuler un réseau de neurones et de l’appliquer à quelques cas pratiques basique.
Cette petite application reprend l’explication du fonctionnement des réseaux de neurones et peut être rapproché du principe de classifier.
Lien de téléchargement :
https://playground.tensorflow.org/
