Crie modelos de classificação de imagens de alto desempenho usando Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.

Crie modelos de classificação de imagens de alto desempenho usando o Amazon SageMaker JumpStart

A classificação de imagens é uma técnica de aprendizado de máquina (ML) baseada em visão computacional que permite classificar imagens. Alguns exemplos bem conhecidos de classificação de imagens incluem classificação de dígitos manuscritos, classificação de imagens médicas e reconhecimento facial. A classificação de imagens é uma técnica útil com vários aplicativos de negócios, mas construir um bom modelo de classificação de imagens não é trivial.

Várias considerações podem desempenhar um papel ao avaliar um modelo de ML. Além da precisão do modelo, outras métricas potenciais de importância são o tempo de treinamento do modelo e o tempo de inferência. Dada a natureza iterativa do desenvolvimento do modelo de ML, tempos de treinamento mais rápidos permitem que os cientistas de dados testem rapidamente várias hipóteses. Uma inferência mais rápida pode ser crítica em aplicativos em tempo real.

JumpStart do Amazon SageMaker fornece ajuste fino e implantação com um clique de uma ampla variedade de modelos pré-treinados em tarefas populares de ML, bem como uma seleção de soluções de ponta a ponta que resolvem problemas comuns de negócios. Esses recursos eliminam o trabalho pesado de cada etapa do processo de ML, facilitando o desenvolvimento de modelos de alta qualidade e reduzindo o tempo de implantação. APIs JumpStart permitem que você implante e ajuste programaticamente uma vasta seleção de modelos pré-treinados com suporte do JumpStart em seus próprios conjuntos de dados.

Você pode treinar e ajustar gradualmente os modelos de ML oferecidos no JumpStart antes da implantação. No momento da redação deste artigo, 87 modelos de classificação de imagens baseados em aprendizado profundo estão disponíveis no JumpStart.

Mas qual modelo lhe dará os melhores resultados? Nesta postagem, apresentamos uma metodologia para executar facilmente vários modelos e comparar suas saídas em três dimensões de interesse: precisão do modelo, tempo de treinamento e tempo de inferência.

Visão geral da solução

O JumpStart permite que você treine, ajuste e implemente modelos a partir do console JumpStart usando sua interface do usuário ou com sua API. Nesta postagem, usamos a rota da API e apresentamos um notebook com vários scripts auxiliares. Você pode executar este notebook e obter resultados para fácil comparação desses modelos uns com os outros e, em seguida, escolher um modelo que melhor se adapte às suas necessidades de negócios em termos de precisão do modelo, tempo de treinamento e tempo de inferência.

A conjunto de dados público usado neste post consiste em quase 55,000 imagens de folhas de plantas doentes e saudáveis ​​coletadas sob condições controladas, com rótulos de classe variando de 0 a 38. Este conjunto de dados é dividido em conjuntos de dados de treinamento e validação, com aproximadamente 44,000 imagens em treinamento e 11,000 imagens em validação. A seguir estão algumas imagens de amostra.

Para este exercício, selecionamos modelos de duas estruturas — PyTorch e TensorFlow — oferecidas pela JumpStart. Os 15 algoritmos de modelo a seguir cobrem uma ampla variedade de arquiteturas de redes neurais populares dessas estruturas:

  • 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

Usamos o modelo tensorflow-ic-imagenet-inception-v3-classification-4-FT como uma base contra a qual os resultados de outros modelos são comparados. Este modelo básico foi escolhido arbitrariamente.

O código usado para executar esta comparação está disponível no AWS Samples Repo GitHub.

Resultados

Nesta seção, apresentamos os resultados dessas 15 execuções. Para todas essas execuções, os hiperparâmetros usados ​​foram épocas = 5, taxa de aprendizado = 0.001, tamanho do lote = 16.

Precisão do modelo, tempo de treinamento e tempo de inferência do modelo tensorflow-ic-imagenet-inception-v3-classification-4-FT foram tomados como base, e os resultados de todos os outros modelos são apresentados em relação a este modelo base. Nossa intenção aqui não é mostrar qual modelo é o melhor, mas mostrar como, por meio da API JumpStart, você pode comparar os resultados de vários modelos e, em seguida, escolher um modelo que melhor se adapte ao seu caso de uso.

A captura de tela a seguir destaca o modelo base com o qual todos os outros modelos foram comparados.

Crie modelos de classificação de imagens de alto desempenho usando Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.

O gráfico a seguir mostra uma visão detalhada da precisão relativa versus o tempo de treinamento relativo. Os modelos PyTorch são codificados por cores em vermelho e os modelos TensorFlow em azul.

Crie modelos de classificação de imagens de alto desempenho usando Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.

Os modelos destacados com uma elipse verde no gráfico anterior parecem ter uma boa combinação de precisão relativa e baixo tempo de treinamento relativo. A tabela a seguir fornece mais detalhes sobre esses três modelos.

Nome do modelo Precisão Relativa Tempo Relativo de Treinamento
tensorflow-ic-imagenet-mobilenet-v2-050-224-classificação-4-FT 1.01 0.74
tensorflow-ic-imagenet-mobilenet-v2-140-224-classificação-4-FT 1.02 0.74
tensorflow-ic-bit-s-r101x1-ilsvrc2012-classificação-1-FT 1.04 1.16

O gráfico a seguir compara a precisão relativa versus o tempo de inferência relativo. Os modelos PyTorch são codificados por cores em vermelho e os modelos TensorFlow em azul.

Crie modelos de classificação de imagens de alto desempenho usando Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.

A tabela a seguir fornece detalhes sobre os três modelos na elipse verde.

Nome do modelo Precisão Relativa Tempo de Inferência Relativa
tensorflow-ic-imagenet-mobilenet-v2-050-224-classificação-4-FT 1.01 0.94
tensorflow-ic-imagenet-mobilenet-v2-140-224-classificação-4-FT 1.02 0.90
tensorflow-ic-bit-s-r101x1-ilsvrc2012-classificação-1-FT 1.04 1.43

Os dois gráficos demonstram claramente que certos algoritmos de modelo tiveram um desempenho melhor do que outros nas três dimensões que foram selecionadas. A flexibilidade oferecida por este exercício pode ajudá-lo a escolher o algoritmo certo e, usando o bloco de anotações fornecido, você pode executar facilmente esse tipo de experimento em qualquer um dos 87 modelos disponíveis.

Conclusão

Nesta postagem, mostramos como usar o JumpStart para criar modelos de classificação de imagem de alto desempenho em várias dimensões de interesse, como precisão do modelo, tempo de treinamento e latência de inferência. Também fornecemos o código para executar este exercício em seu próprio conjunto de dados; você pode escolher qualquer modelo de interesse entre os 87 modelos atualmente disponíveis para classificação de imagens no hub de modelos JumpStart. Nós encorajamos você a experimentá-lo hoje.

Para obter mais detalhes sobre o JumpStart, consulte SageMaker JumpStart.


Sobre os autores

Crie modelos de classificação de imagens de alto desempenho usando Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.Dr. Raju Penmatcha é arquiteto de soluções especialista em AI/ML em AI Platforms na AWS. Ele recebeu seu PhD da Universidade de Stanford. Ele trabalha de perto no conjunto de serviços de baixo/sem código no SageMaker, que ajuda os clientes a criar e implantar facilmente modelos e soluções de aprendizado de máquina. Quando não está atendendo clientes, gosta de viajar para novos lugares.

Crie modelos de classificação de imagens de alto desempenho usando Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.Dr. é um cientista aplicado sênior com algoritmos integrados do Amazon SageMaker e ajuda a desenvolver algoritmos de aprendizado de máquina. Ele obteve seu PhD pela University of Illinois Urbana-Champaign. Ele é um pesquisador ativo em aprendizado de máquina e inferência estatística e publicou muitos artigos em conferências NeurIPS, ICML, ICLR, JMLR, ACL e EMNLP.

Carimbo de hora:

Mais de Aprendizado de máquina da AWS