Créez des modèles de classification d'images très performants à l'aide d'Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Créez des modèles de classification d'images hautement performants à l'aide d'Amazon SageMaker JumpStart

La classification des images est une technique d'apprentissage automatique (ML) basée sur la vision par ordinateur qui vous permet de classer les images. Certains exemples bien connus de classification d'images incluent la classification des chiffres manuscrits, la classification des images médicales et la reconnaissance faciale. La classification d'images est une technique utile avec plusieurs applications métier, mais la création d'un bon modèle de classification d'images n'est pas anodine.

Plusieurs considérations peuvent jouer un rôle lors de l'évaluation d'un modèle ML. Au-delà de la précision du modèle, d'autres mesures potentielles importantes sont le temps de formation du modèle et le temps d'inférence. Compte tenu de la nature itérative du développement de modèles ML, des temps de formation plus rapides permettent aux data scientists de tester rapidement diverses hypothèses. Une inférence plus rapide peut être essentielle dans les applications en temps réel.

Amazon SageMaker JumpStart fournit un réglage fin et un déploiement en un clic d'une grande variété de modèles pré-formés pour les tâches ML courantes, ainsi qu'une sélection de solutions de bout en bout qui résolvent les problèmes commerciaux courants. Ces fonctionnalités simplifient chaque étape du processus de ML, ce qui facilite le développement de modèles de haute qualité et réduit le temps de déploiement. API JumpStart vous permettent de déployer et d'affiner par programmation une vaste sélection de modèles pré-formés pris en charge par JumpStart sur vos propres ensembles de données.

Vous pouvez former et régler de manière incrémentielle les modèles ML proposés dans JumpStart avant le déploiement. Au moment de la rédaction, 87 modèles de classification d'images basés sur l'apprentissage en profondeur sont disponibles dans JumpStart.

Mais quel modèle vous donnera les meilleurs résultats ? Dans cet article, nous présentons une méthodologie permettant d'exécuter facilement plusieurs modèles et de comparer leurs résultats sur trois dimensions d'intérêt : la précision du modèle, le temps d'apprentissage et le temps d'inférence.

Vue d'ensemble de la solution

JumpStart vous permet de former, d'ajuster et de déployer des modèles à partir de la console JumpStart à l'aide de son interface utilisateur ou de son API. Dans cet article, nous utilisons la route API et présentons un bloc-notes avec divers scripts d'assistance. Vous pouvez exécuter ce bloc-notes et obtenir des résultats pour une comparaison facile de ces modèles entre eux, puis choisir un modèle qui répond le mieux aux besoins de votre entreprise en termes de précision du modèle, de temps de formation et de temps d'inférence.

Les ensemble de données public utilisé dans cet article consiste en près de 55,000 0 images de feuilles de plantes malades et saines collectées dans des conditions contrôlées, avec des étiquettes de classe allant de 38 à 44,000. Cet ensemble de données est divisé en ensembles de données d'apprentissage et de validation, avec environ 11,000 XNUMX images en cours d'apprentissage et XNUMX XNUMX images en cours de validation. Voici quelques exemples d'images.

Pour cet exercice, nous avons sélectionné des modèles de deux frameworks (PyTorch et TensorFlow) proposés par JumpStart. Les 15 algorithmes modèles suivants couvrent un large éventail d'architectures de réseaux neuronaux populaires à partir de ces cadres :

  • pytorch-ic-alexnet-FT
  • pytorch-ic-densenet121-FT
  • pytorch-ic-densenet201-FT
  • pytorch-ic-googlenet-FT
  • pytorch-ic-mobilenet-v2-FT
  • pytorch-ic-resnet152-FT
  • pytorch-ic-resnet34-FT
  • tensorflow-ic-bit-s-r101x1-ilsvrc2012-classification-1-FT
  • tensorflow-ic-imagenet-inception-resnet-v2-classification 4-FT
  • tensorflow-ic-imagenet-inception-v3-classification-4-FT
  • tensorflow-ic-imagenet-mobilenet-v2-050-224-classification-4-FT
  • tensorflow-ic-imagenet-mobilenet-v2-075-224-classification-4-FT
  • tensorflow-ic-imagenet-mobilenet-v2-140-224-classification-4-FT
  • tensorflow-ic-imagenet-resnet-v2-152-classification-4-FT
  • tensorflow-ic-tf2-preview-mobilenet-v2-classification-4-FT

Nous utilisons le modèle tensorflow-ic-imagenet-inception-v3-classification-4-FT comme base de comparaison des résultats d'autres modèles. Ce modèle de base a été choisi arbitrairement.

Le code utilisé pour exécuter cette comparaison est disponible sur le Dépôt AWS Samples GitHub.

Résultats

Dans cette section, nous présentons les résultats de ces 15 exécutions. Pour toutes ces exécutions, les hyperparamètres utilisés étaient époques = 5, taux d'apprentissage = 0.001, taille de lot = 16.

Précision du modèle, temps de formation et temps d'inférence à partir du modèle tensorflow-ic-imagenet-inception-v3-classification-4-FT ont été pris comme base, et les résultats de tous les autres modèles sont présentés par rapport à ce modèle de base. Notre intention ici n'est pas de montrer quel modèle est le meilleur, mais plutôt de montrer comment, grâce à l'API JumpStart, vous pouvez comparer les résultats de différents modèles, puis choisir un modèle qui correspond le mieux à votre cas d'utilisation.

La capture d'écran suivante met en évidence le modèle de base par rapport auquel tous les autres modèles ont été comparés.

Créez des modèles de classification d'images très performants à l'aide d'Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Le graphique suivant montre une vue détaillée de la précision relative par rapport au temps de formation relatif. Les modèles PyTorch sont codés par couleur en rouge et les modèles TensorFlow en bleu.

Créez des modèles de classification d'images très performants à l'aide d'Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Les modèles mis en évidence par une ellipse verte dans le graphique précédent semblent avoir une bonne combinaison de précision relative et de temps d'apprentissage relatif faible. Le tableau suivant fournit plus de détails sur ces trois modèles.

Nom du modèle Précision relative Temps de formation relatif
tensorflow-ic-imagenet-mobilenet-v2-050-224-classification-4-FT 1.01 0.74
tensorflow-ic-imagenet-mobilenet-v2-140-224-classification-4-FT 1.02 0.74
tensorflow-ic-bit-s-r101x1-ilsvrc2012-classification-1-FT 1.04 1.16

Le graphique suivant compare la précision relative par rapport au temps d'inférence relatif. Les modèles PyTorch sont codés par couleur en rouge et les modèles TensorFlow en bleu.

Créez des modèles de classification d'images très performants à l'aide d'Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Le tableau suivant fournit des détails sur les trois modèles de l'ellipse verte.

Nom du modèle Précision relative Temps d'inférence relatif
tensorflow-ic-imagenet-mobilenet-v2-050-224-classification-4-FT 1.01 0.94
tensorflow-ic-imagenet-mobilenet-v2-140-224-classification-4-FT 1.02 0.90
tensorflow-ic-bit-s-r101x1-ilsvrc2012-classification-1-FT 1.04 1.43

Les deux diagrammes démontrent clairement que certains algorithmes du modèle ont obtenu de meilleurs résultats que d'autres sur les trois dimensions qui ont été sélectionnées. La flexibilité offerte par cet exercice peut vous aider à choisir le bon algorithme, et en utilisant le bloc-notes fourni, vous pouvez facilement exécuter ce type d'expérience sur l'un des 87 modèles disponibles.

Conclusion

Dans cet article, nous avons montré comment utiliser JumpStart pour créer des modèles de classification d'images hautement performants sur plusieurs dimensions d'intérêt, telles que la précision du modèle, le temps de formation et la latence d'inférence. Nous avons également fourni le code pour exécuter cet exercice sur votre propre ensemble de données ; vous pouvez choisir tous les modèles qui vous intéressent parmi les 87 modèles actuellement disponibles pour la classification des images dans le hub de modèles JumpStart. Nous vous encourageons à l'essayer dès aujourd'hui.

Pour plus de détails sur JumpStart, reportez-vous à SageMaker JumpStart.


À propos des auteurs

Créez des modèles de classification d'images très performants à l'aide d'Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Recherche verticale. Aï.Dr Raju Penmatcha est architecte de solutions spécialisées en IA/ML dans les plateformes d'IA chez AWS. Il a obtenu son doctorat à l'Université de Stanford. Il travaille en étroite collaboration sur la suite de services low/no-code de SageMaker, qui aide les clients à créer et déployer facilement des modèles et des solutions d'apprentissage automatique. Lorsqu'il n'aide pas les clients, il aime voyager dans de nouveaux endroits.

Créez des modèles de classification d'images très performants à l'aide d'Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Recherche verticale. Aï.Dr Ashish Khetan est un scientifique appliqué senior avec les algorithmes intégrés d'Amazon SageMaker et aide à développer des algorithmes d'apprentissage automatique. Il a obtenu son doctorat à l'Université de l'Illinois à Urbana-Champaign. Il est un chercheur actif en apprentissage automatique et en inférence statistique, et a publié de nombreux articles dans les conférences NeurIPS, ICML, ICLR, JMLR, ACL et EMNLP.

Horodatage:

Plus de Apprentissage automatique AWS