Crea modelli di classificazione delle immagini ad alte prestazioni utilizzando Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Crea modelli di classificazione delle immagini ad alte prestazioni utilizzando Amazon SageMaker JumpStart

La classificazione delle immagini è una tecnica di machine learning (ML) basata sulla visione artificiale che consente di classificare le immagini. Alcuni esempi ben noti di classificazione delle immagini includono la classificazione delle cifre scritte a mano, la classificazione delle immagini mediche e il riconoscimento facciale. La classificazione delle immagini è una tecnica utile con diverse applicazioni aziendali, ma la creazione di un buon modello di classificazione delle immagini non è banale.

Diverse considerazioni possono svolgere un ruolo nella valutazione di un modello ML. Oltre all'accuratezza del modello, altre potenziali metriche importanti sono il tempo di addestramento del modello e il tempo di inferenza. Data la natura iterativa dello sviluppo del modello ML, tempi di addestramento più rapidi consentono ai data scientist di testare rapidamente varie ipotesi. Un'inferenza più rapida può essere fondamentale nelle applicazioni in tempo reale.

JumpStart di Amazon SageMaker fornisce la messa a punto e l'implementazione con un clic di un'ampia varietà di modelli pre-addestrati per le attività di machine learning più comuni, nonché una selezione di soluzioni end-to-end che risolvono problemi aziendali comuni. Queste funzionalità eliminano il lavoro gravoso da ogni fase del processo di machine learning, semplificando lo sviluppo di modelli di alta qualità e riducendo i tempi di implementazione. API JumpStart consentono di implementare e perfezionare in modo programmatico un'ampia selezione di modelli pre-addestrati supportati da JumpStart sui propri set di dati.

Puoi addestrare e mettere a punto in modo incrementale i modelli ML offerti in JumpStart prima della distribuzione. Al momento in cui scriviamo, in JumpStart sono disponibili 87 modelli di classificazione delle immagini basati sul deep learning.

Ma quale modello ti darà i migliori risultati? In questo post, presentiamo una metodologia per eseguire facilmente più modelli e confrontare i loro risultati su tre dimensioni di interesse: accuratezza del modello, tempo di addestramento e tempo di inferenza.

Panoramica della soluzione

JumpStart ti consente di addestrare, mettere a punto e distribuire i modelli dalla console JumpStart utilizzando la sua interfaccia utente o con la sua API. In questo post, utilizziamo il percorso API e presentiamo un notebook con vari script helper. Puoi eseguire questo notebook e ottenere risultati per un facile confronto di questi modelli tra loro, quindi scegliere un modello che meglio si adatta alle tue esigenze aziendali in termini di accuratezza del modello, tempo di addestramento e tempo di inferenza.

I set di dati pubblico utilizzato in questo post è costituito da quasi 55,000 immagini di foglie di piante malate e sane raccolte in condizioni controllate, con etichette di classe che vanno da 0 a 38. Questo set di dati è suddiviso in set di dati di addestramento e di convalida, con circa 44,000 immagini in fase di addestramento e 11,000 in fase di convalida. Di seguito sono riportate alcune immagini di esempio.

Per questo esercizio, abbiamo selezionato modelli da due framework, PyTorch e TensorFlow, offerti da JumpStart. I seguenti 15 algoritmi modello coprono un'ampia gamma di architetture di reti neurali popolari da questi framework:

  • 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

Usiamo il modello tensorflow-ic-imagenet-inception-v3-classification-4-FT come base rispetto alla quale confrontare i risultati di altri modelli. Questo modello base è stato scelto arbitrariamente.

Il codice utilizzato per eseguire questo confronto è disponibile su Repo GitHub di esempi AWS.

Risultati

In questa sezione, presentiamo i risultati di queste 15 esecuzioni. Per tutte queste esecuzioni, gli iperparametri utilizzati erano epoche = 5, tasso di apprendimento = 0.001, dimensione batch = 16.

Precisione del modello, tempo di addestramento e tempo di inferenza dal modello tensorflow-ic-imagenet-inception-v3-classification-4-FT sono stati presi come base e i risultati di tutti gli altri modelli sono presentati rispetto a questo modello base. La nostra intenzione qui non è mostrare quale modello è il migliore, ma piuttosto mostrare come, attraverso l'API JumpStart, puoi confrontare i risultati di vari modelli e quindi scegliere un modello che meglio si adatta al tuo caso d'uso.

Lo screenshot seguente evidenzia il modello base rispetto al quale sono stati confrontati tutti gli altri modelli.

Crea modelli di classificazione delle immagini ad alte prestazioni utilizzando Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Il grafico seguente mostra una visualizzazione dettagliata dell'accuratezza relativa rispetto al tempo di addestramento relativo. I modelli PyTorch sono codificati a colori in rosso e i modelli TensorFlow in blu.

Crea modelli di classificazione delle immagini ad alte prestazioni utilizzando Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

I modelli evidenziati con un'ellisse verde nel grafico precedente sembrano avere una buona combinazione di accuratezza relativa e tempo di addestramento relativo basso. La tabella seguente fornisce maggiori dettagli su questi tre modelli.

Nome del modello Precisione relativa Tempo di allenamento relativo
tensorflow-ic-imagenet-mobilenet-v2-050-224-classificazione-4-FT 1.01 0.74
tensorflow-ic-imagenet-mobilenet-v2-140-224-classificazione-4-FT 1.02 0.74
tensorflow-ic-bit-s-r101x1-ilsvrc2012-classificazione-1-FT 1.04 1.16

Il grafico seguente confronta l'accuratezza relativa rispetto al tempo di inferenza relativo. I modelli PyTorch sono codificati a colori in rosso e i modelli TensorFlow in blu.

Crea modelli di classificazione delle immagini ad alte prestazioni utilizzando Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

La tabella seguente fornisce dettagli sui tre modelli nell'ellisse verde.

Nome del modello Precisione relativa Tempo di inferenza relativo
tensorflow-ic-imagenet-mobilenet-v2-050-224-classificazione-4-FT 1.01 0.94
tensorflow-ic-imagenet-mobilenet-v2-140-224-classificazione-4-FT 1.02 0.90
tensorflow-ic-bit-s-r101x1-ilsvrc2012-classificazione-1-FT 1.04 1.43

I due grafici dimostrano chiaramente che alcuni algoritmi del modello hanno funzionato meglio di altri sulle tre dimensioni selezionate. La flessibilità offerta da questo esercizio può aiutarti a scegliere l'algoritmo giusto e, utilizzando il taccuino fornito, puoi facilmente eseguire questo tipo di esperimento su uno qualsiasi degli 87 modelli disponibili.

Conclusione

In questo post, abbiamo mostrato come utilizzare JumpStart per creare modelli di classificazione delle immagini ad alte prestazioni su più dimensioni di interesse, come l'accuratezza del modello, il tempo di addestramento e la latenza dell'inferenza. Abbiamo anche fornito il codice per eseguire questo esercizio sul tuo set di dati; puoi scegliere qualsiasi modello di interesse tra gli 87 modelli attualmente disponibili per la classificazione delle immagini nell'hub del modello JumpStart. Ti invitiamo a provarlo oggi.

Per ulteriori dettagli su JumpStart, fare riferimento a SageMaker JumpStart.


Informazioni sugli autori

Crea modelli di classificazione delle immagini ad alte prestazioni utilizzando Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.Il dottor Raju Penmatcha è AI/ML Specialist Solutions Architect in piattaforme AI presso AWS. Ha conseguito il dottorato di ricerca presso la Stanford University. Lavora a stretto contatto sulla suite di servizi low/no-code in SageMaker, che aiuta i clienti a creare e distribuire facilmente modelli e soluzioni di machine learning. Quando non aiuta i clienti, gli piace viaggiare in posti nuovi.

Crea modelli di classificazione delle immagini ad alte prestazioni utilizzando Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.Dottor Ashish Khetan è un Senior Applied Scientist con algoritmi integrati di Amazon SageMaker e aiuta a sviluppare algoritmi di machine learning. Ha conseguito il dottorato di ricerca presso l'Università dell'Illinois Urbana-Champaign. È un ricercatore attivo nell'apprendimento automatico e nell'inferenza statistica e ha pubblicato numerosi articoli nelle conferenze NeurIPS, ICML, ICLR, JMLR, ACL e EMNLP.

Timestamp:

Di più da Apprendimento automatico di AWS