Pour créer notre jeu, nous allons commencer par rassembler des données d’entraînement (ce terme sera défini plus loin dans ce projet).
Ces données seront des images de mains reproduisant les signes : pierre, papier et ciseaux. Ces photos seront capturées à l’aide de la Webcam.
Quelques règles pour effectuer un bon entraînement :
- Assure-toi de prendre le maximum de photos possibles.
- Prends les photos sous différents angles de vue de ta webcam.
- Prends les photos à des distances différentes de l’objectif de ta webcam.
Tous ces points permettent d’avoir les différentes représentations possibles de l’objet que l’on veut faire apprendre à notre modèle.
- Dans un premier temps, il est question de construire une machine qui apprendra des photos que tu lui as donné.
- Dans un second temps, tu pourras reconnaître les images prises à travers ta webcam.
- Enfin, tu pourras créer et jouer le jeu de “Pierre-Papier-Ciseau”.
Maintenant, tu vas créer un modèle et l’entraîner.
Avant tout, définissons ce qu’est un modèle, ensuite, nous définirons ce que sont l’apprentissage et l’entraînement d’un modèle.
DEFINITION DE L’APPRENTISSAGE
L’apprentissage est un ensemble de mécanismes menant à l’acquisition de savoir-faire, de savoirs ou de connaissances. Dans notre cas, il s’agit de l’apprentissage automatique. C’est-à-dire faisant intervenir l’utilisation de l’ordinateur.
L’apprentissage automatique est un champ d’étude de l’intelligence artificielle qui se fonde sur des approches mathématiques et statistiques pour donner aux ordinateurs la capacité d’«apprendre » à partir de données, c’est-à-dire d’améliorer leurs performances à résoudre des tâches sans être programmés pour chacune. Plus largement, il concerne la conception, l’analyse, l’optimisation, le développement et l’implémentation de telles méthodes.
L’entraînement quant à lui est le processus par lequel le modèle apprend des données, pour ensuite fournir les prédictions ou les résultats attendus. Tu peux, notamment entraîner un modèle à mieux extraire les règles de tes données en lui fournissant plus de données, ou des données spécifiques.
C’est ainsi que l’on distingue trois sortes d’apprentissages :
- L’apprentissage supervisé : on a déjà connaissance du résultat que l’on veut atteindre.
- L’apprentissage non-supervisé : on veut trouver les relations qui existent entre les données.
- L’apprentissage profond : on utilise une technique spécifique pour extraire de la connaissance des données, qui est issue du fonctionnement du cerveau humain.
Maintenant que tu as une meilleure idée de la signification de l’apprentissage, tu vas maintenant apprendre ce qu’est un modèle.
DEFINITION DE MODELE
Un modèle se définit comme une représentation qui, grâce à ses caractéristiques, à ses qualités, peut servir de référence à l’imitation ou à la reproduction. Pour notre cas, on parle précisément de modèle d’apprentissage automatique.
Un modèle d’apprentissage automatique (ou de “machine Learning” en anglais), est le résultat généré lorsque tu entraînes un algorithme d’apprentissage automatique avec des données. Les données peuvent être, par exemple, les photos que tu as rassemblées dans des dossiers.
Un algorithme d’apprentissage automatique, quant-à-lui, est une suite d’instructions, compréhensible par un ordinateur et mise en place pour apprendre toute seule.
Le modèle est chargé de retenir les règles contenues dans les données et dans certain cas dans le résultat que l’on veut atteindre.
La fin du processus d’apprentissage marque la création du modèle.
Après avoir créé le modèle, tu peux maintenant lui fournir des données en entrée et en attendre des résultats en sortie.
Par exemple, un algorithme prédictif crée un modèle prédictif. Lorsque tu fournis des données au modèle prédictif, en bout de chaîne, tu reçois une prédiction qui est déterminée par les données qui ont servies à former le modèle.
Maintenant que tu connais déjà les termes principaux de l’intelligence artificielle : modèle, apprentissage et entraînement ; on va maintenant passer à la création du jeu “Pierre-Papier-Ciseau”.
Pour se faire, va sur la page d’accueil de Cognimate sur le lien http://cognimates.me/home/ et clique sur le bouton “Train Models“.
Tu retrouveras la page suivante :
Il y a deux catégories identifiées par les boutons “Train Vision” et “Train Text”.
La première catégorie permet de manipuler les images et la seconde catégorie permet de manipuler du texte.
Pour ton cas, tu veux créer un modèle sur des images, donc tu vas choisir le bouton “Train vision”, marqué par le cadre rouge sur la figure précédente. Pour te guider, tu as un “Getting Started Guide” sur lequel tu peux cliquer et observer la démarche à suivre pour créer et entraîner ton modèle.
Pour se faire, tu dois suivre trois grandes étapes.
ETAPE 1 : RECUPERE LES AUTORISATIONS SUR “CLAIRIFAI”
Va sur le lien https://clarifai.com/developer/account/signup et crée ton compte.
Si tu as déjà un compte, va sur le lien https://clarifai.com/developer/account/login entre ton adresse mail et ton mot de passe .
- Accède à ton compte en renseignant tes identifiants, et clique sur “CREATE YOUR NEW APPLICATION”.
- Entre le nom de ton application et clique sur le bouton “ CREATE APP”.
- Clique sur “application name” pour voir les détails de ton application.
- Déroule la section “API Keys” en cliquant sur le menu déroulant “API KEY”.
Voilà comment se présente ta première application qui te produit une série de caractères que l’on appelle clé API.
Tu peux copier la clé de ton API (Application programmable interface) sur la bande “API Keys”, sur la bande rouge ou à l’endroit indiqué par la flèche sur la capture ci-dessous.
ETAPE 2 : CREE TON PREMIER MODELE DE VISION SUR COGNIMATES
- Va sur la page de création du modèle de vision, pour créer un nouveau projet.
La page se présente ainsi:
- Etant donné que tu veux créer un modèle basé sur des images, clique sur le gros bouton ”Train Vision” du cadran gauche.
Renseigne le nom de ton projet et la “Clarifai API Keys” de ton application que tu as créé dans les étapes précédentes.
Maintenant, tu vas renseigner les photos prises avec ta webcam selon les trois catégories.
La catégorie “Pierre”, la catégorie “Papier” et la catégorie, “Ciseau”.
Renseigne le nom de la catégorie, puis clique sur “Add Category”, dans le point 3 du parcours.
Là, tu peux voir comment la catégorie “Pierre” a été formée.
Là tu peux voir comment la catégorie “Papier” a été formée.
Là tu peux voir comment la catégorie “Ciseau” a été formée.
Lorsque tu as fini de renseigner tes images, tu peux maintenant entraîner ton modèle.
Pour ce faire, tu dois cliquer sur le bouton “Train Model”, dans le point 4 du parcours.
Ici, nous sommes à 100 %, ce qui signifie que le processus d’entraînement est terminé.
Tu peux ainsi confirmer la fin du processus d’entraînement en cliquant sur le bouton “DONE”.
COGNIMATES te rappelle le nom de ton modèle et le statut de ton modèle. Dans cet exemple en l’occurrence le modèle est prêt à être utilisé.
Maintenant, tu vas vérifier que ton modèle a bien appris de tes données.
Pour ce faire, tu vas procéder à un test, en prenant une photo quelconque. Ensuite, tu vas la mettre dans un espace réservé à l’accueillir, dans le point 5 du parcours.
Ensuite, pour procéder à la prédiction, clique sur le bouton “Predict”.
Ici, tu as une image test de “Ciseau” prise par la webcam. J’obtiens en sortie la catégorie “ciseau” avec un pourcentage de 99,73 %, ce qui correspond effectivement à sa catégorie par définition.
Ici, tu as une image test de “Pierre” prise par la webcam. J’obtiens en guise de prédiction la catégorie “Pierre” avec un pourcentage de 98,88 %, ce qui correspond effectivement à sa catégorie par définition.
Ici, tu as une image test de “Papier” prise par la webcam. J’obtiens en guise de prédiction la catégorie “Papier” avec un pourcentage de 96,25 %, ce qui correspond effectivement à sa catégorie par définition.
Plus la valeur se rapproche de 100 %, plus le modèle est convaincu de sa prédiction.
Maintenant que nous avons un modèle prêt à l’emploi, tu vas maintenant pouvoir créer ton jeu “Pierre-Papier-Ciseau” sur la plateforme scratch de COGNIMATES.
Pour se faire, tu vas cliquer sur le bouton “GO” du point 6 de la plateforme COGNIMATES.
En cliquant sur ce bouton, il te crée automatiquement, sur l’interface SCRATCH de COGNIMATES, des objets où sont déjà intégrés ta clé API et le nom de ton modèle.