Présentation de Custom Vision
Nous allons utiliser le service Azure AI Custom Vision pour créer un modèle Machine Learning. Découvrons comment fonctionne Custom Vision. Vous verrez ensuite le processus de création d’un modèle de bout en bout, de l’idée de départ au modèle totalement fonctionnel.
L’apprentissage automatique - De quoi s’agit-il ?
Vous avez probablement déjà entendu parler d’intelligence artificielle, de Machine Learning ou de Deep Learning. Nous allons définir les termes et ainsi comprendre en quoi ils sont différents.
Intelligence artificielle (IA) : L’IA est le processus de programmation d’un ordinateur pour imiter l’intelligence humaine. L’IA comprend le machine learning. L’idée de l’IA est d’utiliser une machine pour reproduire l’intelligence humaine, mais l’IA offre de nombreuses techniques différentes. La technique sur laquelle ce module se concentre est le machine learning.
Machine Learning : Le machine learning est un composant de l’IA. Le Machine Learning utilise des techniques pour former des machines à partir d’une expérience. Considérez l’expérience comme un jeu de données, avec des réponses correctes et incorrectes déjà fournies. Dans le machine learning, l’ordinateur utilise les réponses fournies pour améliorer la façon dont il effectue des tâches spécifiques. Le champ de machine learning comprend également le deep learning.
Deep learning : Le Deep Learning est une partie du Machine Learning basé sur des réseaux neuronaux artificiels. Le processus d’apprentissage est profond (deep), car les réseaux neuronaux artificiels se composent de plusieurs couches : couches d’entrée, de sortie et masquée. Chaque couche contient des unités qui transforment les données d’entrée en informations que la couche suivante peut utiliser pour une tâche prédictive spécifique. La structure de réseau neuronal permet à une machine d’apprendre par le biais de son propre traitement de données.
Lorsque nous générons un modèle, nous essayons de reproduire l’intelligence humaine. Nous utilisons des données comme « expérience » pour entraîner un modèle afin d’apprendre une tâche ou une fonction spécifique.
Qu’est-ce que l’apprentissage de transfert ?
Azure AI Custom Vision utilise l’apprentissage de transfert. L’apprentissage de transfert est la possibilité d’utiliser des connaissances préalables pour mieux résoudre le problème qui se pose. En tant qu’êtres humains, nous adoptons en permanence cette approche pour résoudre un problème. Nous sommes en train de découvrir de nouvelles façons d’effectuer cette opération avec les ordinateurs également.
Dans le service Custom Vision d’Azure, l’apprentissage de transfert consiste à ajouter une couche composée d’un modèle préentraîné au réseau neuronal. Le modèle entraîné nous donne une longueur d’avance quand nous entraînons de nouvelles données. L’apprentissage commence par un domaine de connaissances générales. De nouvelles couches sont ajoutées au réseau neuronal pour résoudre un problème spécifique. Ici, le problème que nous souhaitons résoudre est le mode d’identification des oiseaux. En commençant par un modèle préentraîné, nous obtenons de meilleurs résultats, sans ajouter de grandes quantités de données.
Création d’un modèle Machine Learning
Pour mieux comprendre le processus de génération d’un modèle Machine Learning, voici une vue d’ensemble pas à pas du processus. Nous compléterons ce processus pour créer un modèle Machine Learning.
Poser une question pointue. Notre question est : pouvons-nous identifier l’espèce d’un oiseau à partir d’une image d’oiseau, pour aider à documenter les tendances et les modèles des habitudes des oiseaux ?
Préparer les données Comme nous disposons d’un jeu de données d’images d’oiseaux de Cornell Lab qui est propre et préparé, cette étape est déjà prise en charge. Si vous avez créé un modèle différent, vous devez rechercher et préparer des données pour l’entraînement de votre modèle. Vous souhaiterez peut-être rechercher des données qui vous aideront à répondre à la question pointue qui vous intéresse.
Sélection d'un algorithme Le service Custom Vision dans Azure utilisant un réseau neuronal convolutif, nous n’avons pas à nous soucier de cette étape. Un réseau neuronal convolutif est un type de deep learning couramment utilisé pour analyser des images. Le fait que l’algorithme soit déjà créé nous fait gagner beaucoup de temps !
Sélectionner un modèle candidat. Le service Custom Vision fournit des graphes et des données utiles pour nous aider à déterminer si notre modèle fonctionne suffisamment bien pour répondre de manière satisfaisante à notre question. Lorsque nous estimons que le modèle est assez performant, nous passons à l’étape suivante : le test.
Tester le modèle avec des données jamais vues (nouvelles). Il est important de tester notre modèle en ajoutant de nouvelles données. Nous allons effectuer une recherche sur Internet et trouver des images de test pour voir comment le modèle se comporte avec des données avec lesquelles il n’a pas été entraîné. Nous aborderons plus loin dans le module la raison pour laquelle cette méthode de test est importante.
Déployer le modèle. Custom Vision nous fournit quelques options au moment de déployer notre modèle. Nous pouvons effectuer le déploiement sur un point de terminaison pour intégrer le modèle, ou nous pouvons télécharger le modèle. Si vous téléchargez le modèle, vous avez le choix entre plusieurs formats pour déployer de la manière qui convient le mieux à votre projet. Dans ce module, nous aborderons l’utilisation de l’option de déploiement rapide disponible dans le portail Custom Vision.
Commençons à créer notre modèle !