Guia do AutoML para iniciantes

Introdução

Este guia para iniciantes é uma introdução ao AutoML. Para entender as principais diferenças entre o AutoML e o treinamento personalizado, consulte Como escolher um método de treinamento.

Imagine:

  • Você é técnico de um time de futebol.
  • Você faz parte do departamento de marketing de um varejista digital.
  • Você está trabalhando em um projeto arquitetônico que identifica tipos de edifícios.
  • Sua empresa disponibiliza um formulário de contato no site.

O trabalho de selecionar vídeos, imagens, textos e tabelas manualmente é uma tarefa tediosa e demorada. Não seria mais fácil ensinar um computador a identificar e sinalizar automaticamente o conteúdo?

Image

Você trabalha em um conselho de preservação arquitetônica que está tentando identificar bairros que tenham um estilo consistente na cidade. Você tem centenas de milhares de snapshots de casas para filtrar, o que é um processo tedioso e propenso a erros ao tentar categorizar todas essas imagens manualmente. Um estagiário rotulou algumas centenas deles há alguns meses, e ninguém mexeu neles desde então. Seria tão útil se você pudesse ensinar seu computador a fazer isso por você!
Introdução

Tabular

Você trabalha no departamento de marketing de um varejista digital. Você e sua equipe estão criando um programa de e-mail personalizado com base nos perfis dos clientes. Você criou os perfis e os e-mails de marketing prontos para uso. Agora você precisa criar um sistema que agrupe os clientes em cada perfil com base nas preferências de compras e no comportamento de gastos, mesmo no caso de clientes novos. Para maximizar o engajamento do cliente, você também quer prever os hábitos de consumo para otimizar quando enviar e-mails.
Introdução ao formato tabular

Como sua empresa é um varejista digital, você tem dados sobre os clientes e as compras que eles fizeram. Mas e quanto aos clientes novos? É possível calcular esses valores dos clientes atuais com longos históricos de compras usando as abordagens tradicionais. No entanto, essa abordagem não funciona quando aplicada a clientes com poucos dados históricos. E se fosse possível criar um sistema capaz de prever esses valores e acelerar a entrega de programas de marketing personalizados aos clientes?

Felizmente, o machine learning e a Vertex AI estão bem posicionados para resolver esses problemas.

Texto

Sua empresa disponibiliza um formulário de contato no site. Todos os dias, você recebe muitas mensagens pelo formulário, muitas delas podem ser resolvidas de alguma forma, mas todas são recebidas juntas, o que pode fazer com que alguém se perca facilmente nelas, já que funcionários diferentes lidam com tipos de mensagens diferentes. Seria ótimo se um sistema automatizado pudesse categorizá-las para que a pessoa certa visse os comentários certos.
Introdução

Você precisará de um sistema para analisar os comentários e decidir se representam reclamações, elogios a serviços prestados, uma tentativa de saber mais sobre a empresa, o agendamento de um compromisso ou uma ação em busca de estabelecer uma relação.

Vídeo

Você tem uma grande biblioteca de vídeos de jogos que quer usar para análise. No entanto, há centenas de horas de vídeo para analisar. Assistir a todos os vídeos e marcar manualmente os segmentos para destacar cada ação é um trabalho tedioso e demorado. E você precisará repetir essa tarefa em todas as temporadas. Agora imagine um modelo de computador que pode identificar e sinalizar automaticamente essas ações para você sempre que aparecerem em um vídeo.

Veja alguns cenários específicos de objetivos.

  • Reconhecimento de ação: encontre ações como fazer um gol, causar uma falta, cobrar um pênalti. Útil para treinadores que estudam os pontos fortes e fracos da equipe.
    ações de gol, falta, cobrança de pênalti
  • Classificação: classifique cada cena do vídeo como primeiro/segundo tempo, visualização do jogo, visualização do público, visualização do treinador etc. Útil para treinadores que buscam apenas as cenas que os interessam.
  • Rastreamento de objetos: rastreie a bola ou os jogadores. Útil para treinadores para receber estatísticas dos jogadores, como mapa de calor no campo, passadas bem-sucedidas etc.

Neste guia, mostramos como a Vertex AI funciona para conjuntos de dados e modelos do AutoML e ilustramos os tipos de problemas que a Vertex AI foi projetada para resolver.

Uma observação sobre imparcialidade

Um princípio fundamental que sustenta os produtos de ML do Google é o machine learning centrado na pessoa, uma abordagem que enfatiza práticas responsáveis de IA, incluindo a imparcialidade. O objetivo da imparcialidade no ML é entender e evitar o tratamento injusto ou preconceituoso de pessoas em relação à raça, renda, orientação sexual, religião, gênero e outras características historicamente associadas à discriminação e marginalização, quando e onde se manifestam em sistemas algorítmicos ou na tomada de decisões auxiliada por algoritmos. Saiba mais

Por que a Vertex AI é a ferramenta certa para esse problema?

A programação clássica requer que um programador especifique instruções detalhadas que serão seguidas pelo computador. Mas considere o caso de uso na identificação de ações específicas em jogos de futebol. Há muita variação de cor, ângulo, resolução e iluminação que exigiriam a codificação de muitas regras para ensinar uma máquina a tomar a decisão correta. É difícil imaginar por onde você começaria. Ou o caso em que os comentários dos clientes, que usam uma estrutura e um vocabulário amplos e variados, são muito diversos para serem capturados por um simples conjunto de regras. Se você tentar criar filtros manuais, perceberá rapidamente que não foi possível categorizar a grande maioria dos comentários dos clientes. Você precisa de um sistema que generalize uma grande variedade de comentários. Em um cenário em que uma sequência de regras específicas se amplia exponencialmente, você precisa de um sistema que aprenda a partir de exemplos.

Felizmente, o aprendizado de máquina está propício para resolver esses problemas.

Como a Vertex AI funciona?

representação gráfica de uma rede neural simples A Vertex AI envolve tarefas de aprendizado supervisionadas para conseguir um resultado pretendido. As especificidades dos algoritmos e dos métodos de treinamento mudam com base no tipo de dados e no caso de uso. Há muitas subcategorias diferentes de machine learning. Em cada uma delas, há diferentes soluções para problemas distintos, e o trabalho é feito dentro de restrições específicas.



Image

Você treina, testa e valida o modelo de machine learning com exemplos de imagens que são anotados com rótulos para classificação ou com rótulos e caixas delimitadoras para detecção de objetos. Com o aprendizado supervisionado, é possível treinar um modelo para reconhecer os padrões e o conteúdo que queremos nas imagens.

Tabular

Você treina um modelo de machine learning com dados de exemplo. A Vertex AI usa dados em tabela (estruturados) para treinar um modelo de machine learning para fazer previsões sobre novos dados. O modelo aprenderá a prever uma coluna do conjunto de dados, chamada de objetivo. Um determinado número das demais colunas de dados servem de entradas, chamadas de recursos, que o modelo usará para aprender padrões. É possível usar os mesmos atributos de entrada para criar vários tipos de modelos. Basta alterar a coluna de destino e as opções de treinamento. No exemplo de marketing de e-mail, isso significa que é possível criar modelos com os mesmos atributos de entrada, mas com previsões de destino diferentes. Um modelo pode prever o perfil de um cliente (um objetivo categórico), outro pode prever o gasto mensal (um objetivo numérico) e o outro pode prever a demanda diária dos produtos nos próximos três meses (série) de valores numéricos).
como a tabela automl funciona

Texto

Com a Vertex AI, você realiza a aprendizagem supervisionada. Isso envolve o treinamento de um computador para reconhecer padrões de dados rotulados. Com o aprendizado supervisionado, é possível treinar um modelo do AutoML para reconhecer o conteúdo de seu interesse.

Vídeo

Você treina, testa e valida o modelo de machine learning com vídeos já rotulados. Com um modelo treinado, é possível inserir novos vídeos no modelo, que gera segmentos de vídeo com rótulos. Um segmento de vídeo define o ajuste do horário de início e término em um vídeo. O segmento pode ser o vídeo inteiro, o segmento de tempo definido pelo usuário, a captura de vídeo detectada automaticamente ou apenas um carimbo de data/hora no caso em que o horário de início é o mesmo que o horário de término. O rótulo é uma "resposta" prevista no modelo. Por exemplo, nos casos de uso de futebol mencionados acima, para cada novo vídeo de futebol, dependendo do tipo de modelo:

  • um modelo treinado de reconhecimento de ação gera ajustes de tempo no vídeo com rótulos que descrevem cenas de ação como "gol", "falta" e assim por diante.
  • um modelo treinado de classificação gera segmentos de cena com rótulos definidos pelo usuário automaticamente, como "visualização do jogo", "visualização do público" etc.
  • Um modelo de rastreamento de objetos treinado acompanha as bolas de futebol ou os jogadores por meio de caixas delimitadoras nos frames em que os objetos aparecem.

Fluxo de trabalho da Vertex AI

A Vertex AI usa um fluxo de trabalho de machine learning padrão:

  1. Coleta de dados: determine os dados necessários para treinar e testar o modelo com base no resultado pretendido.
  2. Preparação dos dados: verifique se os dados estão formatados e rotulados corretamente.
  3. Treinamento: defina os parâmetros e crie o modelo.
  4. Avaliação: analise as métricas do modelo.
  5. Implantação e previsão: disponibilize o modelo para uso.

Mas, antes de começar a coleta dos dados, você precisa pensar no problema que está tentando resolver. Isso informará seus requisitos de dados.

Preparação de dados

Avaliar o caso de uso

Comece com seu problema: qual é o resultado que você quer alcançar?

Image

Ao definir o conjunto de dados, sempre comece pelo caso de uso. Comece perguntando:

  • Que resultado você está tentando alcançar?
  • Que tipos de categorias ou objetos você precisa reconhecer para alcançar esse resultado?
  • Pessoas são capazes de reconhecer essas categorias? A Vertex AI consegue processar uma maior magnitude de categorias do que as pessoas conseguem memorizar e atribuir a qualquer momento. Se uma pessoa não consegue reconhecer uma determinada categoria, a Vertex AI também terá dificuldades em fazer isso.
  • Que exemplos refletem com mais precisão o tipo e o intervalo de dados que seu sistema verá e tentará classificar?

Tabular

Que tipo de dados estão na coluna de objetivo? Qual a quantidade de dados a que você tem acesso? Dependendo das suas respostas, a Vertex AI criará o modelo necessário para solucionar o caso de uso:

  • Um modelo de classificação binária prevê um resultado binário, ou seja, que tenha uma entre duas classes. Esse tipo de modelo é adequado para perguntas com resposta “sim” ou “não”. Por exemplo, para prever se um cliente estaria disposto (ou não) a adquirir uma assinatura. Em circunstâncias iguais, um problema de classificação binária requer menos dados do que outros tipos de modelo.
  • Um modelo de classificação multiclasse prevê um resultado que tenha uma entre três ou mais classes distintas. Esse tipo de modelo é adequado para categorizações. No exemplo do varejista, convém criar um modelo de classificação multiclasse para segmentar os clientes em perfis diferentes.
  • Um modelo de previsão prevê uma sequência de valores. Por exemplo, como varejista, você pode prever a demanda diária dos seus produtos nos próximos três meses para poder estoque adequadamente nos estoques com antecedência.
  • Um modelo de regressão prevê um resultado com valor contínuo. Para o exemplo de varejo, é conveniente criar um modelo de regressão para prever quanto um cliente gastará no próximo mês.

Texto

Ao definir o conjunto de dados, sempre comece pelo caso de uso. Comece perguntando:

  • Que resultado você está tentando alcançar?
  • Que tipos de categorias você precisa reconhecer para alcançar esse resultado?
  • Pessoas são capazes de reconhecer essas categorias? A Vertex AI suporta mais categorias do que as pessoas podem memorizar e atribuir a qualquer momento. No entanto, se uma pessoa não conseguir reconhecer uma determinada categoria, a Vertex AI também terá dificuldades em fazer isso.
  • Que exemplos refletem com mais precisão o tipo e o intervalo de dados que seu sistema classificará?

Vídeo

Dependendo do resultado que você está tentando alcançar, selecione o objetivo de modelo apropriado:

  • Para detectar momentos de ação em um vídeo, como a identificação de um gol, uma falta feita ou uma cobrança de pênalti, use o objetivo de reconhecimento de ação.
  • Para classificar as cenas de TV nas categorias comercial, notícias, programas de TV etc., use o objetivo de classificação.
  • Para localizar e rastrear objetos em um vídeo, use o objetivo de rastreamento de objetos.

Consulte Como preparar dados de vídeo para mais informações sobre as práticas recomendadas ao preparar conjuntos de dados para objetivos de reconhecimento de ação, classificação e rastreamento de objetos.

Coletar dados

Depois de estabelecer o caso de uso, você precisará coletar dados para criar o modelo pretendido.

Image

coletar dados suficientes Depois de determinar quais dados serão necessários, encontre uma maneira de rastreá-los. Para começar, considere todos os dados que sua organização coleta. Talvez você já esteja coletando os dados relevantes necessários para treinar um modelo. Caso não tenha esses dados, é possível consegui-los manualmente ou contar com um provedor terceirizado.

Incluir exemplos rotulados suficientes em cada categoria

incluir dados suficientes O mínimo necessário para o treinamento da Vertex AI é 100 exemplos de imagens por categoria/rótulo para classificação. A probabilidade de um rótulo ser reconhecido corretamente aumenta com o número de exemplos de alta qualidade para cada um. Em geral, quanto mais dados rotulados você incluir no processo de treinamento, melhor será o modelo. Segmente pelo menos 1.000 exemplos por rótulo.

Distribuir exemplos igualmente entre categorias

É importante capturar quantidades similares de exemplos de treinamento para cada categoria. Mesmo que você tenha muitos dados para um único rótulo, é melhor ter uma distribuição igual para cada um deles. Para entender isso, imagine se 80% das imagens que você usar para construir um modelo forem fotos de casas unifamiliares em estilo moderno. Com uma distribuição tão desequilibrada de rótulos, é muito provável que o modelo aprenda a sempre dizer que uma foto representa uma casa unifamiliar moderna, em vez de tentar prever um rótulo muito menos comum. É como elaborar um teste de múltipla escolha em que a maioria das respostas corretas é "C". Se a pessoa que for respondê-lo tiver experiência com testes, logo perceberá que pode responder "C" todas as vezes sem nem ler a pergunta.
distribuir uniformemente

Sabemos que nem sempre é possível conseguir um número similar de exemplos para cada rótulo. Pode ser mais difícil conseguir exemplos imparciais e de alta qualidade para algumas categorias. Nessas circunstâncias, há uma regra básica a ser seguida: o rótulo com o menor número de exemplos precisa ter pelo menos 10% dos exemplos do rótulo com o maior número de exemplos. Portanto, se o maior rótulo tiver 10.000 exemplos, o menor rótulo precisa ter pelo menos 1.000 exemplos.

Capturar a variação no espaço do problema

Por motivos semelhantes, tente garantir que os dados capturem a variedade e a diversidade do espaço do seu problema. Quanto mais ampla for a seleção do processo de treinamento do modelo, mais rapidamente ele será generalizado para novos exemplos. Por exemplo, se você estiver tentando classificar fotos de aparelhos eletrônicos de um consumidor em categorias, quanto maior a variedade de aparelhos eletrônicos a que o modelo estiver exposto no treinamento, mais chances ele terá de distinguir entre um novo modelo de tablet, telefone ou laptop, mesmo que nunca tenha visto esse modelo específico antes.
capturar variações

Relacionar dados à saída pretendida do modelo

relacionar dados à saída pretendida
Encontre imagens visualmente semelhantes às que você pretende usar para fazer previsões. Se você estiver tentando classificar imagens de casas tiradas no inverno e com neve, provavelmente não conseguirá um ótimo desempenho de um modelo treinado apenas com imagens de casas em dias ensolarados, mesmo que você as tenha marcado com as classes do seu interesse, porque a iluminação e o cenário podem ser diferentes o suficiente para afetar o desempenho. O ideal é que seus exemplos de treinamento sejam dados do mundo real, extraídos do mesmo conjunto de dados que você pretende usar o modelo para classificar.

Tabular

conjunto de teste Depois de estabelecer o caso de uso, será necessário coletar dados para treinar o modelo. A definição da origem de dados e a preparação são etapas fundamentais para a criação de um modelo de machine learning. Os dados disponíveis informam o tipo de problema que você pode resolver. Qual a quantidade de dados que você tem disponível? Seus dados são relevantes para as perguntas que você está tentando responder? Ao coletar seus dados, lembre-se das considerações a seguir.

Selecionar atributos relevantes

Um atributo é uma entrada usada no treinamento do modelo. Os atributos são os elementos usados pelo modelo para identificar padrões para fazer previsões. Portanto, eles precisam ser relevantes para o problema. Por exemplo, para criar um modelo que prevê se uma transação com cartão de crédito é fraudulenta ou não, será necessário criar um conjunto de dados que contenha detalhes da transação, como comprador, vendedor, valor, itens comprados, data e hora. Outros atributos possivelmente úteis são as informações históricas sobre o comprador e o vendedor e com que frequência houve fraudes na compra do item em questão. Que outros atributos talvez sejam relevantes?

Lembrando do uso de caso dos e-mails de marketing do varejista na introdução, estas são algumas colunas de atributo que provavelmente serão necessárias:

  • Lista de itens comprados (incluindo marcas, categorias, preços e descontos)
  • Número de itens comprados (último dia, semana, mês e ano)
  • Soma do valor gasto (último dia, semana, mês e ano)
  • Para cada item, número total vendido por dia
  • Para cada item, total em estoque a cada dia
  • Se você está fazendo uma promoção por um dia específico
  • Perfil demográfico conhecido do comprador

Incluir dados suficientes

incluir dados suficientes Em geral, quanto mais exemplos de treinamento houver, melhor serão os resultados. A quantidade necessária de dados de exemplo também aumenta ou diminui conforme a complexidade do problema que você quer solucionar. Não é necessário reunir muitos dados para ter um modelo de classificação binária preciso, em comparação à quantidade exigida por um modelo multiclasses, porque é menos complicado prever uma classe entre duas do que entre várias.

Não há uma fórmula perfeita. No entanto, há valores mínimos recomendados para os dados de exemplo:

  • Problema de classificação: 50 linhas x o número de recursos
  • Problema de previsão:
    • 5.000 linhas x o número de atributos
    • 10 valores exclusivos na coluna de identificador de série temporal x o número de atributos
  • Problema de regressão: 200 x o número de atributos

Capturar variações

É necessário que o conjunto de dados capture a diversidade do espaço do problema. Quanto mais exemplos diversos um modelo vê durante o treinamento, mais rápido ele pode generalizar para exemplos novos ou menos comuns. Imagine se o modelo de varejo fosse treinado usando apenas dados de compras no período de inverno. Ele seria capaz de prever satisfatoriamente as preferências de vestuário ou os comportamentos de consumo no verão?

Texto

coletar dados suficientes Depois de determinar quais dados são necessários, encontre uma maneira de rastreá-los. Para começar, considere todos os dados que sua organização coleta. Você pode descobrir que já está coletando os dados necessários para treinar um modelo. Se você não tiver os dados de que precisa, é possível reuni-los manualmente ou terceirizar essa tarefa.

Incluir exemplos rotulados suficientes em cada categoria

incluir dados suficientes A probabilidade de um rótulo ser reconhecido corretamente aumenta com o número de exemplos de alta qualidade para cada um. Em geral, quanto mais dados rotulados você trouxer para o processo de treinamento, melhor será o modelo. O número de amostras necessárias também varia com o grau de consistência nos dados que você quer prever e com o nível de precisão desejado. É possível usar menos exemplos para conjuntos de dados consistentes ou para ter 80% de precisão em vez de 97%. Treine um modelo e avalie os resultados. Adicione mais exemplos e treine novamente até atingir as metas de precisão, o que pode exigir que centenas ou até milhares de exemplos por rótulo. Para mais informações sobre requisitos e recomendações de dados, consulte Como preparar dados de treinamento de texto para modelos do AutoML

Distribuir exemplos igualmente entre categorias

É importante capturar uma quantidade semelhante de exemplos de treinamento para cada categoria. Mesmo que você tenha muitos dados para um único rótulo, é melhor ter uma distribuição igual para cada um deles. Para entender o motivo, imagine que 80% dos comentários dos clientes usados para criar o modelo são solicitações de orçamento. Com uma distribuição de rótulos tão desigual, o modelo provavelmente aprenderá que um comentário de cliente é sempre uma solicitação de orçamento, em vez de tentar prever um rótulo muito menos comum. É como elaborar um teste de múltipla escolha em que a maioria das respostas corretas é "C". Se a pessoa que for respondê-lo tiver experiência com testes, logo descobrirá que pode responder "C" todas as vezes sem nem ler a pergunta.
distribuir uniformemente

Nem sempre é possível conseguir um número similar de exemplos para cada rótulo. Pode ser mais difícil conseguir exemplos imparciais e de alta qualidade para algumas categorias. Nessas circunstâncias, o rótulo com o menor número de exemplos precisa ter pelo menos 10% dos exemplos do rótulo com o maior número de exemplos. Portanto, se o maior rótulo tiver 10.000 exemplos, o menor rótulo precisa ter pelo menos 1.000 exemplos.

Capturar a variação no espaço do problema

Por motivos semelhantes, tente fazer com que os dados capturem a variedade e a diversidade do espaço do problema. Se você fornece um conjunto mais amplo de exemplos, a capacidade do modelo de generalizar dados novos é maior. Imagine que você esteja tentando classificar artigos sobre produtos eletrônicos de consumo em tópicos. Quanto mais nomes de marca e especificações técnicas você fornecer, mais fácil será para o modelo descobrir o tópico de um artigo, mesmo que seja sobre uma marca que não estava no conjunto de treinamento. Também é possível incluir um rótulo "none_of_the_above" para os documentos que não correspondem a nenhum dos rótulos definidos. Isso melhora ainda mais o desempenho do modelo.
capturar variações

Relacionar dados à saída pretendida do modelo

relacionar dados à saída pretendida
Encontre exemplos de texto semelhantes aos que você está tentando prever. Se o objetivo for classificar postagens em mídias sociais sobre vidro soprado, é pouco provável conseguir um bom desempenho com um modelo treinado em sites de informação sobre esse assunto, já que o vocabulário e o estilo podem ser muito diferentes. O ideal é que seus exemplos de treinamento sejam dados do mundo real, extraídos do mesmo conjunto de dados que você pretende usar o modelo para classificar.

Vídeo

coletar dados suficientes Depois de estabelecer o caso de uso, você precisará coletar dados de vídeo para criar o modelo pretendido. Os dados coletados para o treinamento informam os tipos de problemas que podem ser resolvidos. Quantos vídeos você pode usar? Os vídeos contêm exemplos suficientes de previsão do modelo? Ao coletar seus dados de vídeo, lembre-se das considerações a seguir.

Inclua vídeos suficientes

incluir dados suficientes Geralmente, quanto mais vídeos de treinamento no conjunto de dados, melhor o resultado. O número de vídeos recomendados também é determinado pela complexidade do problema que você está tentando resolver. Por exemplo, no caso de classificação, você precisará de menos dados de vídeo para um problema de classificação binária (previsão de uma classe de dois) do que um problema de vários rótulos (previsão de uma ou mais classes de muitas).

A complexidade de o que você quer fazer também determina a quantidade de dados de vídeo que você precisa. Considere o caso de uso do futebol para a classificação, que está criando um modelo para distinguir as cenas de ações, em vez de treinar um modelo capaz de classificar estilos diferentes. Por exemplo, para distinguir entre nado de peito, borboleta, nado de costas etc., você precisará de mais dados de treinamento para identificar os diferentes estilos de nado para ajudar o modelo a aprender a identificar cada tipo com precisão. Consulte Como preparar dados de vídeo para orientação para entender as necessidades mínimas de dados de vídeo para reconhecimento de ações, classificação e rastreamento de objetos.

Talvez a quantidade de dados de vídeo necessária seja maior do que a atual. É possível conseguir mais vídeos por intermédio de um fornecedor terceirizado. Por exemplo, é possível comprar ou receber mais vídeos de beija-flores se não houver o suficiente para o modelo identificador de ação.

Distribua vídeos igualmente entre as classes

Forneça um número similar de exemplos de treinamento para cada classe. O motivo é simples: imagine que 80% do conjunto de dados de treinamento sejam vídeos de futebol de chutes ao gol, mas apenas 20% deles retratem faltas ou cobranças de pênalti. Com uma distribuição tão desigual de classes, é mais provável que o modelo preveja que uma determinada ação é um gol. Isso é parecido com criar um teste de múltipla escolha em que 80% das respostas corretas são “C”: o modelo mais aprimorado descobrirá rapidamente que “C” é um bom palpite na maioria das vezes.
distribuir vídeos igualmente

Talvez não seja possível fornecer um número igual de vídeos para cada classe. Os exemplos imparciais e de alta qualidade também podem ser complicados em algumas classes. Basta seguir uma proporção de 1:10: se a maior classe tiver 10.000 vídeos, a menor terá pelo menos 1.000.

Capture variações

Os dados de vídeo precisam capturar a diversidade do espaço do seu problema. Quanto mais exemplos diversos um modelo vê durante o treinamento, mais rápido ele pode generalizar para exemplos novos ou menos comuns. Pense no modelo de classificação de ações de futebol: você precisa incluir vídeos com vários ângulos de filmagem, horários de dia e à noite e muitas jogadas. Expor o modelo a dados variados melhora a capacidade dele de distinguir uma ação da outra.

Relacione os dados ao resultado pretendido

relacionar dados à saída pretendida Encontre vídeos de treinamento que sejam visualmente semelhantes aos que você planeja inserir no modelo de previsão. Por exemplo, se todos os vídeos de treinamento foram filmados no inverno ou à noite, os padrões de iluminação e cor nesses ambientes afetarão o modelo. Se você usá-lo para testar vídeos filmados no verão ou à luz do dia, talvez não receba previsões precisas.

Considere estes outros fatores: resolução do vídeo, quadros por segundo do vídeo, ângulo de filmagem, plano de fundo.


Preparar os dados

Image

coletar dados suficientes Depois de decidir qual é o ideal para você (uma divisão manual ou automática), é possível adicionar dados à Vertex AI usando um destes métodos:

  • É possível importar dados do seu computador ou do Cloud Storage em um formato disponível (CSV or [JSON Lines](https://jsonlines.org/){: class="external" target="jsonlines" )) com os rótulos e caixas delimitadoras, se necessário. Para mais informações sobre o formato do arquivo de importação, consulte Como preparar os dados de treinamento. Se quiser dividir o conjunto de dados manualmente, especifique as divisões no arquivo de importação CSV ou linhas JSON.
  • Se seus dados não foram anotados, é possível fazer upload de imagens sem rótulo e usar o Console do Google Cloud para aplicar anotações. É possível gerenciar essas anotações em vários conjuntos de anotações para o mesmo conjunto de imagens. Por exemplo, para um único conjunto de imagens, você pode ter um conjunto de anotações com uma caixa delimitadora e informações de rótulo para fazer a detecção de objetos, além de ter outro conjunto de anotações com apenas anotações de rótulo para classificação.

Tabular

coletar dados suficientes Depois de identificar os dados disponíveis, é necessário ter certeza de que eles estão prontos para o treinamento. Se os dados forem enviesados ou tiverem valores errados ou incompletos, isso afetará a qualidade do modelo. Pense nos pontos abaixo antes de começar a treinar um modelo. Saiba mais

Evitar vazamento de dados e distorção entre treinamento e exibição

O vazamento de dados ocorre quando são usados atributos de entrada durante o treinamento que “vazam” informações sobre o objetivo que você quer prever, que não fica disponível quando o modelo é exibido. É possível detectar esse tipo de ocorrência quando um atributo altamente correlacionado com a coluna de objetivo é incluso como um dos atributos de entrada. Por exemplo, imagine que você esteja criando um modelo para prever se um cliente adquirirá uma assinatura no próximo mês e um dos atributos de entrada é um pagamento futuro pela assinatura realizado por esse cliente. Isso pode resultar em um forte desempenho do modelo durante o teste, mas não quando ele for implantado na produção, já que as informações futuras de pagamentos pela assinatura não estarão disponíveis no momento da exibição.

A distorção entre treinamento e exibição ocorre quando os atributos de entrada usados durante o treinamento são diferentes daqueles fornecidos ao modelo durante a exibição, resultando na má qualidade do modelo quando em produção. Por exemplo, criar um modelo para prever as temperaturas a cada hora, mas treiná-lo com dados que contêm apenas temperaturas por semana. Outro exemplo seria sempre fornecer as notas de um aluno nos dados de treinamento ao prever a evasão escolar, mas não fornecer essas informações no momento de exibição.

Entender os dados de treinamento é importante para evitar o vazamento de dados e a distorção entre treinamento e exibição:

  • Antes de usar qualquer dado, verifique se você sabe o que eles significam e se eles servem ou não como atributo.
  • Verifique a correlação na guia "Treinar". Correlações altas precisam ser sinalizadas para revisão.
  • Quanto à distorção entre treinamento e exibição, verifique se foram fornecidos ao modelo apenas atributos de entrada que estão disponíveis exatamente no mesmo formato no momento da exibição.

Limpar dados ausentes, incompletos e inconsistentes

É comum que os dados de exemplo incluam valores ausentes e imprecisos. Reserve um tempo para revisar e, se possível, melhorar a qualidade dos dados antes de usá-los no treinamento. Quanto mais valores ausentes, menos úteis serão os dados para treinar um modelo de machine learning.

  • Verifique seus dados quanto a valores ausentes e corrija-os, se possível, ou deixe o valor em branco se a coluna estiver definida como anulável. A Vertex AI pode cuidar de valores ausentes, mas há mais chances de você conseguir melhores resultados se todos os valores estiverem disponíveis.
  • Para previsão, verifique se o intervalo entre as linhas de treinamento é consistente. A Vertex AI pode cuidar de valores ausentes, mas há mais chances de você conseguir melhores resultados se todas as linhas estiverem disponíveis.
  • Corrija ou exclua erros ou ruídos para limpar os dados. Garanta que os dados sejam consistentes: revise a ortografia, as abreviações e a formatação.

Analisar os dados após a importação

A Vertex AI oferece uma visão geral do conjunto de dados após a importação. Revise o conjunto de dados importado para garantir que cada coluna tenha o tipo de variável correto. A Vertex AI detectará automaticamente o tipo de variável com base nos valores das colunas, mas o melhor é analisar cada uma delas. Além disso, analise em cada coluna a nulidade, que determina se uma coluna pode ter valores ausentes ou NULOS.

Texto

coletar dados suficientes Depois de decidir qual é a opção ideal para você, uma divisão manual ou automática, adicione dados à Vertex AI usando um dos seguintes métodos:

  • É possível importar dados do seu computador ou do Cloud Storage no formato CSV ou [JSON Lines](https://jsonlines.org/){: class="external" target="jsonlines" } in-line, conforme especificado emComo preparar dados de treinamento de dados. Se quiser dividir o conjunto de dados manualmente, especifique as divisões no arquivo CSV ou linhas JSON.
  • Se os dados não tiverem sido rotulados, será possível fazer upload de exemplos de texto não rotulados e usar o console da Vertex AI para aplicar rótulos.

Vídeo

coletar dados suficientes Depois de coletar os vídeos que você quer incluir no conjunto de dados, verifique se os vídeos contêm rótulos associados a segmentos ou caixas delimitadoras de vídeo. Para reconhecimento de ações, o segmento de vídeo é um carimbo de data/hora e, para a classificação, o segmento pode ser uma cena de vídeo, um segmento ou o vídeo inteiro. Para rastreamento de objetos, os rótulos são associados a caixas delimitadoras.

Por que meus vídeos precisam de caixas delimitadoras e rótulos?

Para rastrear um objeto, como um modelo da Vertex AI aprende a identificar padrões? É para isso que os rótulos e caixas delimitadoras são usados durante o treinamento. No exemplo do futebol: cada vídeo de exemplo precisará conter caixas delimitadoras em torno dos objetos que você tem interesse em detectar. Essas caixas também precisam de rótulos como "pessoa" e "bola" atribuídos a elas. Caso contrário, o modelo não saberá o que procurar. Desenhar caixas e atribuir rótulos aos exemplos de vídeos pode demorar. Se necessário, use um serviço de rotulagem para terceirizar o trabalho.

Se os dados ainda não tiverem sido rotulados, você também pode fazer o upload dos vídeos sem rótulo e usar a IU do console para aplicar caixas delimitadoras e rótulos.

Treinar modelo

Image

Pense em como a Vertex AI usa o conjunto de dados ao criar um modelo personalizado

O conjunto de dados contém conjuntos de treinamento, de validação e de teste. Se você não especificar as divisões (consulte Preparar seus dados), a Vertex AI usará automaticamente 80% das imagens para treinamento, 10% para validação e 10% para testes.
treinamento de conjuntos de testes de validação

Conjunto de treinamento

conjunto de treinamento A maior parte dos dados deve estar no conjunto de treinamento. São esses os dados que seu modelo "vê" durante o treinamento e que são usados para aprender os parâmetros do modelo, ou seja, os pesos das conexões entre os nós da rede neural.

Conjunto de validação

conjunto de validação O conjunto de validação, às vezes chamado de conjunto "dev", também é usado durante o processo de treinamento. Depois que os dados são incorporados pelo framework de aprendizado do modelo em cada iteração do processo de treinamento, o framework utiliza o desempenho do modelo no conjunto de validação para ajustar os hiperparâmetros do modelo, que são variáveis que especificam a estrutura dele. Se você tentar usar o conjunto de treinamento para ajustar os hiperparâmetros, o modelo provavelmente enfatizará os dados de treinamento de maneira excessiva e terá dificuldade para generalizar exemplos que não correspondam exatamente a eles. O modelo terá melhor capacidade de generalização se você usar um conjunto de dados relativamente novo para ajustar a estrutura do modelo.

Conjunto de teste

conjunto de teste O conjunto de teste não faz parte do processo de treinamento. Depois que o treinamento do modelo for totalmente concluído, o conjunto de teste será usado como um novo desafio. O desempenho do modelo no conjunto de teste serve para que você tenha uma boa ideia de como será o desempenho do modelo com dados reais.

Divisão manual

divisão manual Também é possível dividir o conjunto de dados por conta própria. A divisão manual de dados é uma boa opção para ter mais controle sobre o processo ou quando houver exemplos específicos que você tem certeza de que quer incluir em determinada parte do ciclo de vida do treinamento do modelo.

 

 

Tabular

Após importar o conjunto de dados, a próxima etapa é treinar um modelo. A Vertex AI gerará um modelo de machine learning confiável com os padrões de treinamento. No entanto, talvez você queira ajustar alguns dos parâmetros de acordo com seu caso de uso.

Selecione o máximo possível de colunas de atributos para o treinamento, mas analise cada uma para garantir que sejam apropriadas. Lembre-se do seguinte ao selecionar os atributos:

  • Não selecione colunas de atributos que vão causar ruídos, como colunas de identificador atribuídas aleatoriamente com um valor exclusivo para cada linha.
  • Certifique-se de entender cada coluna de recursos e os valores correspondentes.
  • Se você pretende criar vários modelos usando um único conjunto de dados, remova as colunas de objetivo que não fazem parte do problema de previsão atual.
  • Lembre-se dos princípios de imparcialidade: você está treinando o modelo com um atributo que poderia resultar em decisões enviesadas ou injustas com relação a grupos marginalizados?

Como a Vertex AI usa o conjunto de dados

O conjunto de dados é dividido em conjuntos de treinamento, validação e teste. A divisão padrão que o Vertex AI aplica depende do tipo de modelo que você está treinando. Também é possível especificar as divisões (as divisões manuais), se necessário. Para mais informações, consulte Sobre divisões de dados para modelos do AutoML. treinamento de conjuntos de testes de validação

Conjunto de treinamento

conjunto de treinamento A maior parte dos dados deve estar no conjunto de treinamento. São esses os dados que seu modelo "vê" durante o treinamento e que são usados para aprender os parâmetros do modelo, ou seja, os pesos das conexões entre os nós da rede neural.

Conjunto de validação

conjunto de validação O conjunto de validação, às vezes chamado de conjunto "dev", também é usado durante o processo de treinamento. Depois que os dados são incorporados pelo framework de aprendizado do modelo em cada iteração do processo de treinamento, o framework utiliza o desempenho do modelo no conjunto de validação para ajustar os hiperparâmetros do modelo, que são variáveis que especificam a estrutura dele. Se você tentar usar o conjunto de treinamento para ajustar os hiperparâmetros, o modelo provavelmente enfatizará os dados de treinamento de maneira excessiva e terá dificuldade para generalizar exemplos que não correspondam exatamente a eles. O modelo terá melhor capacidade de generalização se você usar um conjunto de dados relativamente novo para ajustar a estrutura do modelo.

Conjunto de teste

conjunto de teste O conjunto de teste não faz parte do processo de treinamento. Depois que o treinamento do modelo for totalmente concluído, a Vertex AI usará o conjunto de teste como um novo desafio para seu modelo. O desempenho do modelo no conjunto de teste serve para que você tenha uma boa ideia de como será o desempenho dele com dados reais.

 

Texto

Pense em como a Vertex AI usa o conjunto de dados para criar um modelo personalizado

O conjunto de dados contém conjuntos de treinamento, de validação e de teste. Se você não especificar as divisões, conforme explicado em Preparar seus dados, a Vertex AI usará automaticamente 80% dos documentos de conteúdo para treinamento, 10% para validação e 10% para teste.
treinamento de conjuntos de testes de validação

Conjunto de treinamento

conjunto de treinamento A maior parte dos dados deve estar no conjunto de treinamento. São esses os dados que seu modelo "vê" durante o treinamento e que são usados para aprender os parâmetros do modelo, ou seja, os pesos das conexões entre os nós da rede neural.

Conjunto de validação

conjunto de validação O conjunto de validação, às vezes chamado de conjunto "dev", também é usado durante o processo de treinamento. Depois que os dados são incorporados pelo framework de aprendizado do modelo em cada iteração do processo de treinamento, o framework utiliza o desempenho do modelo no conjunto de validação para ajustar os hiperparâmetros do modelo, que são variáveis que especificam a estrutura dele. Se você tentar usar o conjunto de treinamento para ajustar os hiperparâmetros, o modelo provavelmente enfatizará os dados de treinamento de maneira excessiva e terá dificuldade para generalizar exemplos que não correspondam exatamente a eles. O modelo terá melhor capacidade de generalização se você usar um conjunto de dados relativamente novo para ajustar a estrutura do modelo.

Conjunto de teste

conjunto de teste O conjunto de teste não faz parte do processo de treinamento. Depois que o treinamento do modelo for totalmente concluído, o conjunto de teste será usado como um novo desafio. O desempenho do modelo no conjunto de teste serve para que você tenha uma boa ideia de como será o desempenho do modelo com dados reais.

 

Divisão manual

divisão manual Também é possível dividir o conjunto de dados por conta própria. A divisão manual de dados é uma boa opção para ter mais controle sobre o processo ou quando houver exemplos específicos que você tem certeza de que quer incluir em determinada parte do ciclo de vida do treinamento do modelo.

 

 

Vídeo

Depois que os dados do vídeo de treinamento estiverem prontos, será possível criar um modelo de machine learning. Observe que é possível criar conjuntos de anotações para objetivos de modelo diferentes no mesmo conjunto de dados. Consulte Como criar um conjunto de anotações.

Um dos benefícios da Vertex AI é que os parâmetros padrão orientarão você a um modelo de machine learning confiável. No entanto, talvez você precise ajustar parâmetros dependendo da qualidade dos dados e do resultado pretendido. Exemplo:

  • Tipo de previsão é o nível de granularidade em que os vídeos são processados
  • Frame rate é importante se os rótulos que você quer classificar forem sensíveis a alterações de movimento, como no reconhecimento de ação. Por exemplo, considere corrida e caminhada. Um clipe de caminhada com poucos frames por segundo pode parecer uma corrida. O rastreamento de objetos também é sensível ao frame rate. Basicamente, o objeto rastreado precisa ter sobreposição suficiente entre os frames adjacentes.
  • Resolução para o rastreamento de objetos é mais importante do que para o reconhecimento de ação ou a classificação de vídeo. Quando os objetos forem pequenos, certifique-se de fazer upload de vídeos com maior resolução. O pipeline atual usa 256x256 para treinamento normal ou 512x512 se houver muitos objetos pequenos (com área inferior a 1% da área da imagem) nos dados do usuário. A recomendação é usar vídeos de no mínimo 256 pixels. O uso de vídeos de maior resolução pode não ajudar a melhorar o desempenho do modelo, uma vez que os frames de vídeo são reduzidos para aumentar a velocidade de treinamento e inferência.


Avaliar, testar e implantar seu modelo

Avaliar o modelo

Image

Depois que seu modelo for treinado, você receberá um resumo do desempenho dele. Clique em avaliar ou ver avaliação completa para visualizar uma análise detalhada.

coletar dados suficientes A depuração de um modelo se refere mais à depuração dos dados do que do modelo em si. A qualquer momento, se o modelo começar a agir de maneira inesperada enquanto você estiver avaliando o desempenho antes e depois da produção, volte e verifique os dados para ver como eles podem ser melhorados.

Quais tipos de análise posso executar na Vertex AI?

Na seção de avaliação da Vertex AI, é possível verificar o desempenho do modelo personalizado usando o resultado do modelo em exemplos de teste e métricas comuns de machine learning. Nesta seção, abordaremos o significado de cada um desses conceitos.

  • Saída
  • Limite de pontuação
  • Verdadeiros positivos, verdadeiros negativos, falsos positivos e falsos negativos
  • Precisão e recall
  • Curvas de precisão/recall
  • Precisão média

Como interpretar a saída do modelo?

A Vertex AI extrai exemplos dos dados de teste para apresentar desafios totalmente novos para o modelo. Para cada exemplo, o modelo gera vários números que informam a intensidade com que cada rótulo é associado a esse exemplo. Se o número for alto, o modelo terá certeza de que o rótulo precisa ser aplicado a esse documento.
saída do modelo

Qual é o limite de pontuação?

Podemos converter essas probabilidades em valores binários "on"/"off" definindo um limite de pontuação. Esse limite se refere ao nível de confiança que o modelo precisa ter para atribuir uma categoria a um item de teste. Na IU, o controle deslizante de limite da pontuação é uma ferramenta visual para testar o impacto de diferentes limites para todas as categorias e categorias individuais do conjunto de dados. Se o limite de pontuação for baixo, o modelo classificará mais imagens, mas corre o risco de classificar algumas incorretamente. Se o limite de pontuação for alto, o modelo classificará menos imagens, mas o risco de classificar imagens incorretamente será menor. Para testar, ajuste os limites por categoria na IU. No entanto, ao usar o modelo na produção, é necessário impor os limites que você achou ideais.

pontuação limite

O que são verdadeiros positivos, verdadeiros negativos, falsos positivos e falsos negativos?

Depois de aplicar o limite de pontuação, as previsões feitas pelo modelo serão classificadas em uma destas quatro categorias:
os limites que você achou ideais.

verdadeiros positivos negativos

É possível usar essas categorias para calcular a precisão e o recall, métricas que nos ajudam a avaliar a eficácia do modelo.

O que são precisão e recall?

A precisão e o recall nos ajudam a entender o desempenho do modelo na captura de informações e o quanto ele está deixando de fora. A precisão indica quantos exemplos de teste realmente precisaram ser categorizados com determinado rótulo, dentre todos os que receberam um rótulo. O recall indica, de todos os exemplos de teste que deveriam ter recebido um determinado rótulo, quantos realmente foram rotulados.

precisão recall

É necessário otimizar a precisão ou o recall?

Dependendo do caso de uso, é preciso otimizar a precisão ou o recall. Vamos examinar como tomar essa decisão analisando os dois casos de uso a seguir.

Caso de uso: privacidade em imagens

Imagine que você quer criar um sistema que detecte automaticamente informações confidenciais e desfoque-as.
falso positivo inofensivo
Neste caso, os falsos positivos são elementos que não precisam ser desfocados, mas são, o que pode ser irritante, mas não prejudicial.

falso negativo prejudicial
Neste caso, os falsos negativos são elementos que precisam ser desfocados, mas não são, como um cartão de crédito, o que pode resultar em roubo de identidade.

Neste caso, é melhor otimizar o recall. Essa métrica mede quantos dados estão sendo deixados de fora em todas as previsões feitas. Um modelo de alto recall provavelmente identificará exemplos marginalmente relevantes. Isso é útil para casos em que sua categoria tem dados de treinamento escassos.

Imagine que você quer criar um sistema que encontre o melhor banco de fotos para uma determinada palavra-chave.
falso positivo

Neste caso, um falso positivo seria retornar uma imagem irrelevante. Como o foco do produto é retornar apenas as imagens com melhor correspondência, isso seria uma grande falha.

falso negativo
Neste caso, um falso negativo seria deixar de retornar uma imagem relevante para uma pesquisa de palavra-chave. Como muitos termos de pesquisa têm milhares de fotos com um forte potencial de correspondência, não é um grande problema.

Neste caso, é melhor otimizar a precisão. Essa métrica mede, em todas as previsões feitas, o quanto elas estão corretas. Um modelo de alta precisão provavelmente rotulará apenas os exemplos mais relevantes, o que é útil para casos em que a classe é comum nos dados de treinamento.

Como usar a matriz de confusão?

matriz de confusão

Como interpretar as curvas de precisão/recall?

curvas de precisão recall
Com a ferramenta de limite de pontuação, é possível explorar como o limite de pontuação escolhido afeta a precisão e o recall. À medida que você arrasta o controle deslizante, é possível ver a posição da curva de compensação de recall e precisão, além de entender como esse limite afeta cada um deles individualmente. Para modelos com várias classes, nesses gráficos, o único rótulo usado para calcular as métricas de precisão e recall é o que apresenta melhor pontuação no conjunto de rótulos retornados. Isso pode ajudar você a encontrar um bom equilíbrio de falsos positivos e falsos negativos.

Depois de escolher um limite que pareça aceitável para o modelo como um todo, clique nos rótulos individuais e veja onde esse limite se encaixa na curva de recall e precisão de cada um. Em alguns casos, isso pode significar muitas previsões incorretas para alguns rótulos, o que pode ajudar você a escolher um limite por classe personalizado para esses rótulos. Por exemplo, no conjunto de dados de casas, há um limite de 0,5 com precisão e recall razoáveis para cada tipo de imagem, exceto "Tudor" (talvez por ser uma categoria muito genérica). Nessa categoria, há vários falsos positivos. Nesse caso, você pode decidir usar um limite de 0,8 apenas para "Tudor" quando chamar o classificador de previsões.

O que é precisão média?

Uma métrica útil para a acurácia do modelo é a área sob a curva de recall e precisão. Ela mede o desempenho do seu modelo em todos os limites de pontuação. Na Vertex AI, essa métrica é chamada de precisão média. Quanto mais próximo de 1 essa pontuação for, melhor será o desempenho do modelo no conjunto de testes. Um modelo capaz de adivinhar aleatoriamente cada rótulo teria uma precisão média em torno de 0,5.

Tabular

coletar dados suficientes Após o treinamento do modelo, você receberá um resumo do desempenho dele. As métricas de avaliação são baseadas no desempenho do modelo em relação a uma parte do conjunto de dados (o conjunto de dados de teste). Há algumas métricas e conceitos importantes a serem considerados ao determinar se o modelo está pronto para ser usado em dados reais.

Métricas de classificação

Limite de pontuação

Imagine um modelo de machine learning que prevê se um cliente comprará uma jaqueta no próximo ano. Qual nível de certeza o modelo precisa ter para prever que um determinado cliente comprará uma jaqueta? Nos modelos de classificação, é atribuída a cada previsão uma pontuação de confiança, que é uma avaliação numérica da certeza do modelo de que a classe prevista está correta. O limite de pontuação é o número que determina quando uma determinada pontuação é convertida em uma decisão de “sim” ou “não”, isto é, o valor em que o modelo diz “sim, essa pontuação de confiança é alta o suficiente para concluir que esse cliente comprará um casaco no próximo ano”.
avaliar limites

Se o limite de pontuação for baixo, o modelo correrá o risco de fazer classificações errôneas. Por isso, o limite de pontuação precisa ser baseado em um caso de uso específico.

Resultados da predição

Depois de aplicar o limite de pontuação, as previsões feitas pelo modelo são classificadas em uma de quatro categorias. Para entender essas categorias, imagine novamente o modelo de classificação binária da jaqueta. Nesse exemplo, a classe positiva (o que a modelo está tentando prever) é que o cliente comprará uma jaqueta no próximo ano.

  • Verdadeiro positivo: o modelo prevê corretamente a classe positiva. O modelo previu corretamente que o cliente comprou uma jaqueta.
  • Falso positivo: o modelo prevê incorretamente a classe positiva. O modelo previu que o cliente comprou uma jaqueta, mas ele não comprou.
  • Verdadeiro negativo: o modelo prevê corretamente a classe negativa. O modelo previu corretamente que o cliente não comprou uma jaqueta.
  • Falso negativo: o modelo prevê incorretamente uma classe negativa. O modelo previu que o cliente não comprou uma jaqueta, mas o cliente comprou.

resultados da previsão

Precisão e recall

Com as métricas de precisão e recall, é possível entender o desempenho do modelo na captura de informações e o que ele está deixando de fora. Saiba mais sobre precisão e recall.

  • A precisão é a fração das predições positivas que estava correta. De todas as previsões de que um cliente faria uma compra, qual é a fração de compras de fato realizadas?
  • Recall é a fração de linhas com esse rótulo que o modelo previu corretamente. De todas as compras feitas por clientes que poderiam ter sido identificadas, qual a fração das que foram identificadas de fato?

Dependendo do caso de uso, talvez seja necessário otimizar a precisão ou o recall.

Outras métricas de classificação
  • AUC PR: área sob curva de precisão-recall (PR, na sigla em inglês). Ela varia de zero a um. Um valor maior indica um modelo de melhor qualidade.
  • AUC ROC: área sob a curva de característica de operação do receptor (ROC, na sigla em inglês). Ela varia de zero a um. Um valor maior indica um modelo de melhor qualidade.
  • Precisão: fração de previsões de classificação produzidas pelo modelo que estavam corretas.
  • Perda de registro: entropia cruzada entre as previsões do modelo e os valores desejados. Ela varia de zero a infinito. Um valor menor indica um modelo de melhor qualidade.
  • Pontuação F1: média harmônica de precisão e recall. F1 é uma métrica útil quando você está procurando um equilíbrio entre precisão e recall e a distribuição de classes é desigual.

Métricas de previsão e regressão

Após a criação do modelo, o Vertex AI fornece uma variedade de métricas padrão para análise. Não há uma resposta perfeita sobre como avaliar seu modelo. Considere as métricas de avaliação de acordo com seu tipo de problema e o que você quer alcançar com o modelo. A lista a seguir apresenta uma visão geral de algumas métricas que a AIte AI pode fornecer.

Erro médio absoluto (MAE)

O erro médio absoluto (MAE, na sigla em inglês) é a diferença média absoluta entre os valores de objetivo e previstos. Essa métrica mede a magnitude média dos erros (a diferença entre um valor de objetivo e um valor previsto) em um conjunto de predições. Como essa métrica usa valores absolutos, o MAE não considera a direção da relação nem indica o desempenho abaixo ou acima do esperado. Ao avaliar o MAE, um valor menor indica um modelo de maior qualidade (0 representa um preditor perfeito).

Raiz do erro médio quadrático (REMQ)

A raiz do erro médio quadrático (REMQ) é a raiz quadrada da diferença média ao quadrado entre os valores de objetivo e previstos. A REMQ é mais sensível a outliers do que o MAE. Portanto, se você estiver preocupado com erros grandes, talvez seja mais útil avaliar a REMQ. Assim como no caso do MAE, um valor menor indica um modelo de maior qualidade (0 representa um preditor perfeito).

Raiz do erro médio quadrático e logarítmico (RMSLE)

A raiz do erro quadrático e logarítmico (RMSLE, na sigla em inglês) é a REMQ em escala logarítmica. A RMSLE é mais sensível a erros relativos do que erros absolutos e enfoca mais o desempenho insatisfatório do que o desempenho acima do esperado.

Quantil observado (somente previsão)

Para um quantil de destino determinado, o quantil observado mostra o número real de valores observados abaixo dos valores de previsão de quantil especificados. O quantil observado mostra a distância entre o modelo e o quantil desejado. Uma diferença menor entre os dois valores indica um modelo de qualidade superior.

Perda de pinball em escala (somente previsão)

Mede a qualidade de um modelo em um determinado quantil de destino. Um número menor indica um modelo de qualidade superior. É possível comparar a métrica da perda de pinball em vários quantis para determinar a precisão relativa do seu modelo entre esses quantis diferentes.

Texto

Após treinar o modelo, você receberá um resumo do desempenho. Para ver uma análise detalhada, clique em avaliar ou ver a avaliação completa.

O que considerar antes de avaliar o modelo?

coletar dados suficientes A depuração de um modelo se refere mais à depuração dos dados do que do modelo em si. Se o modelo começar a agir de maneira inesperada durante a avaliação do desempenho antes e depois da produção, será preciso retornar e verificar os dados para ver como o modelo pode ser melhorado.

 

Quais tipos de análise posso executar na Vertex AI?

Na seção de avaliação da Vertex AI, é possível verificar o desempenho do modelo personalizado usando o resultado do modelo com exemplos de teste e métricas comuns de machine learning. Esta seção aborda o significado de cada um dos conceitos a seguir:

  • Saída
  • Limite de pontuação
  • Verdadeiros positivos, verdadeiros negativos, falsos positivos e falsos negativos
  • Precisão e recall
  • Curvas de precisão/recall
  • Precisão média

Como interpretar a saída do modelo?

A Vertex AI extrai exemplos dos dados de teste para apresentar novos desafios para o modelo. Para cada exemplo, o modelo gera vários números que informam a intensidade com que cada rótulo é associado a esse exemplo. Se o número for alto, o modelo terá certeza de que o rótulo precisa ser aplicado a esse documento.
saída do modelo

Qual é o limite de pontuação?

O limite de pontuação permite que a Vertex AI converta probabilidades em valores binários "on"/"off". Esse limite se refere ao nível de confiança que o modelo precisa ter para atribuir uma categoria a um item de teste. O controle deslizante de limite de pontuação no console é uma ferramenta visual para testar o impacto de diferentes limites no conjunto de dados. No exemplo acima, se definirmos o limite de pontuação como 0,8 para todas as categorias, "Ótimo serviço" e "Sugestão" serão atribuídos, mas "Solicitação de informação", não. Se o limite de pontuação for baixo, o modelo classificará mais itens de texto, mas o risco de errar na classificação será maior. Se o limite de pontuação for alto, o modelo classificará menos itens de texto, mas o risco de classificar itens de texto incorretamente será menor. Para testar, ajuste os limites por categoria no console. No entanto, ao usar o modelo na produção, é necessário impor os limites que você achou ideais.
limite de pontuação

O que são verdadeiros positivos, verdadeiros negativos, falsos positivos e falsos negativos?

Depois de aplicar o limite de pontuação, as previsões feitas pelo modelo serão classificadas em uma das quatro categorias a seguir.
resultados da previsão

Use essas categorias para calcular a precisão e o recall, que são métricas que ajudam a avaliar a eficácia do modelo.

O que são precisão e recall?

A precisão e o recall nos ajudam a entender o desempenho do modelo na captura de informações e o quanto ele está deixando de fora. A precisão indica quantos exemplos de teste realmente precisaram ser categorizados com determinado rótulo, dentre todos os que receberam um rótulo. O recall indica, de todos os exemplos de teste que deveriam ter recebido um determinado rótulo, quantos realmente foram rotulados.
precisão recall

É necessário otimizar a precisão ou o recall?

Dependendo do caso de uso, é preciso otimizar a precisão ou o recall. Vamos examinar como tomar essa decisão analisando os dois casos de uso a seguir.

Caso de uso: documentos urgentes

Imagine que você quer criar um sistema que consiga priorizar os documentos que são urgentes dos que não são.
otimizar como urgente

Um falso positivo, neste caso, seria um documento que não é urgente, mas é marcado como tal. O usuário pode dispensá-lo como não urgente e seguir em frente.
otimizar como não urgente

Já um falso negativo seria um documento urgente, mas que o sistema não sinalizou como tal. Isso pode causar problemas!

Nesse caso, é melhor otimizar o recall. Essa métrica mede quantos dados estão sendo deixados de fora em todas as previsões feitas. É provável que um modelo com recall alto rotule exemplos pouco relevantes, o que é útil para casos em que a categoria tem poucos dados de treinamento.

Caso de uso: filtro de spam

Digamos que você queira criar um sistema que filtre automaticamente as mensagens de e-mail que são spam das que não são.
spam

Um falso negativo, neste caso, seria um e-mail de spam que não seja detectado e vá parar na sua caixa de entrada. Normalmente, isso é um pouco irritante.
não é spam

Neste caso, um falso positivo seria um e-mail falsamente marcado como spam e removido da sua caixa de entrada. Se o e-mail era importante, é possível que o usuário seja afetado negativamente.

Nesse caso, é melhor otimizar a precisão. Essa métrica mede, em todas as previsões feitas, o quanto elas estão corretas. Um modelo de alta precisão provavelmente rotulará apenas os exemplos mais relevantes, o que é útil para casos em que a categoria é comum nos dados de treinamento.

Como usar a matriz de confusão?

Podemos comparar o desempenho do modelo em cada rótulo com uma matriz de confusão. Em um modelo ideal, todos os valores na diagonal serão altos, e todos os demais serão baixos. Isso mostra que as categorias desejadas estão sendo identificadas corretamente. Se outros valores forem altos, será um indício de como o modelo está classificando erroneamente os itens de teste.
matriz de confusão

Como interpretar as curvas de precisão/recall?

curvas de precisão recall
Com a ferramenta de limite de pontuação, é possível explorar como o limite de pontuação afeta a precisão e o recall. À medida que você arrasta o controle deslizante, é possível ver a posição da curva de compensação de recall e precisão, além de entender como esse limite afeta cada um deles individualmente. Para modelos com várias classes, nesses gráficos, o único rótulo usado para calcular as métricas de precisão e recall é que apresenta melhor pontuação no conjunto de rótulos retornados. Isso pode ajudar você a encontrar um bom equilíbrio de falsos positivos e falsos negativos.

Depois de escolher um limite que pareça aceitável para o modelo como um todo, clique nos rótulos individuais e veja onde esse limite se encaixa na curva de recall e precisão por rótulo. Em alguns casos, isso pode significar muitas previsões incorretas para alguns rótulos, o que pode ajudar você a escolher um limite por classe personalizado para esses rótulos. Por exemplo, digamos que no conjunto de dados de comentários de clientes você perceba que um limite de 0,5 tem precisão e recall razoáveis para todos os tipos de comentário, exceto "Sugestão", talvez por ser uma categoria muito genérica. Nessa categoria, há vários falsos positivos. Nesse caso, você pode optar por um limite de 0,8 apenas para "Sugestão" quando chamar o classificador de previsões.

O que é precisão média?

Uma métrica útil para a acurácia do modelo é a área sob a curva de recall e precisão. Ela mede o desempenho do seu modelo em todos os limites de pontuação. Na Vertex AI, essa métrica é chamada de precisão média. Quanto mais próximo de 1,0 essa pontuação for, melhor será o desempenho do modelo no conjunto de testes. Um modelo capaz de adivinhar aleatoriamente cada rótulo teria uma precisão média em torno de 0,5.

Vídeo

coletar dados suficientes Após o treinamento do modelo, você recebe um resumo do desempenho dele. As métricas de avaliação são baseadas em como o modelo foi executado em relação a uma parte do conjunto de dados (conjunto de dados de teste). Há algumas métricas e conceitos importantes a serem considerados quando você determina se o modelo está pronto para ser usado com novos dados.

Limite de pontuação

Como um modelo de machine learning sabe quando um gol é realmente um gol? É atribuída a cada previsão uma pontuação de confiança, que é uma avaliação numérica da certeza do modelo de que um determinado segmento de vídeo contém uma classe. O limite de pontuação é o número que determina quando uma certa pontuação é convertida em "sim" ou "não", ou seja, o valor em que o modelo diz "sim, esse número de confiança é alto o suficiente para concluir que o segmento de vídeo contém um gol". pontuação limite

Se o limite de pontuação for baixo, o modelo correrá o risco de rotular incorretamente os segmentos de vídeo. Por isso, o limite de pontuação precisa ser baseado em um caso de uso específico. Imagine um caso de uso médico, como o diagnóstico de câncer. As consequências de uma rotulagem incorreta são piores do que em vídeos esportivos. No diagnóstico de câncer, um limite de pontuação mais alto é apropriado.

Resultados da predição

Depois de aplicar o limite de pontuação, as previsões feitas pelo modelo são classificadas em uma de quatro categorias. Para entendê-las, vamos imaginar que você criou um modelo para detectar se um determinado segmento contém um gol. Nesse exemplo, um gol é a classe positiva (o que o modelo está tentando prever).

  • Verdadeiro positivo: o modelo prevê corretamente a classe positiva. O modelo previu corretamente um gol no segmento de vídeo.
  • Falso positivo: o modelo prevê incorretamente a classe positiva. O modelo previu um gol no segmento, mas não havia um gol.
  • Verdadeiro negativo: o modelo prevê corretamente a classe negativa. O modelo previu corretamente que não havia um gol no segmento.
  • Falso negativo: o modelo prevê incorretamente uma classe negativa. O modelo previu que não havia um gol no segmento, mas havia um gol.
resultados da previsão

Precisão e recall

Com as métricas de precisão e recall, é possível entender o desempenho do modelo na captura de informações e o que ele está deixando de fora. Saiba mais sobre precisão e recall.

  • A precisão é a fração das predições positivas que estava correta. De todas as previsões rotuladas como "gol", qual fração realmente continha um gol?
  • Recall é a fração de todas as previsões positivas que foram realmente identificadas. De todos os gols identificados, qual era a fração?

Dependendo do caso de uso, talvez seja necessário otimizar a precisão ou o recall. Considere os seguintes casos de uso:

Caso de uso: informações particulares em vídeos

Imagine que você está criando um software que detecta automaticamente informações confidenciais em um vídeo e as desfoca. Os resultados falsos podem incluir o seguinte:

  • Um falso positivo identifica algo que não precisa ser desfocado, mas que é censurado. Isso pode ser um incômodo, mas não é algo prejudicial.
    falso positivo inofensivo
  • Um falso negativo não identifica informações que precisam ser censuradas, como o número de um cartão de crédito. Na pior das hipóteses, informações privadas seriam vazadas.
    falso negativo prejudicial

Nesse caso de uso, é essencial otimizar o recall para garantir que o modelo encontre todos os casos relevantes. É mais provável que um modelo otimizado para recall rotule exemplos pouco relevantes e também os incorretos, desfocando mais do que o necessário.

Digamos que você queira criar um software que permita aos usuários pesquisar em uma biblioteca de vídeos com base em uma palavra-chave. Veja os resultados incorretos:

  • Um falso positivo retorna um vídeo irrelevante. Como o sistema está tentando fornecer apenas vídeos relevantes, o software não está realmente fazendo o que foi criado para fazer.
    falso positivo
  • Um falso negativo não retorna um vídeo relevante. Como muitas palavras-chave têm centenas de vídeos, esse problema não é tão ruim quanto retornar um resultado irrelevante.
    falso negativo

Nesse exemplo, é bom otimizar a previsão para garantir que o modelo forneça resultados corretos e altamente relevantes. Um modelo de alta precisão provavelmente rotulará apenas os exemplos mais relevantes, mas pode deixar alguns de fora. Saiba mais sobre as métricas de avaliação de modelos.


Testar o modelo

Image

Para testar o modelo, a Vertex AI usa 10% dos dados automaticamente ou, se você escolher dividir os dados, qualquer porcentagem que você escolheu usar. Na página "Avaliar", você vê o desempenho do modelo nos dados de teste. Se você quiser, há algumas maneiras de verificar a confiança do modelo. A mais fácil é fazer upload de algumas imagens na página "Implantar e testar" e observar os rótulos escolhidos pelo modelo para seus exemplos. Com sorte, eles vão corresponder às suas expectativas. Teste alguns exemplos de cada tipo de imagem que você espera receber.

Se você quiser usar seu modelo em testes automatizados, a página "Implantar e testar" também informa como fazer chamadas para o modelo programaticamente.

Tabular

Avaliar as métricas do modelo significa, antes de mais nada, determinar se o modelo está pronto para ser implantado. No entanto, também é possível testá-lo com dados novos. Faça o upload de novos dados para ver se as previsões do modelo correspondem às suas expectativas. Com base nas métricas de avaliação ou nos testes com dados novos, talvez seja necessário aprimorar mais o desempenho do modelo.

Texto

A Vertex AI usa 10% dos dados automaticamente (ou, se você escolheu a divisão de dados, qualquer porcentagem que você escolheu usar) para testar o modelo, e a página Avaliar informa o desempenho do modelo nesses dados de teste. Se você quiser, há algumas maneiras de verificar a integridade do modelo. Depois de implantar o modelo, insira exemplos de texto na caixa de texto da página Implantar e testar e veja os rótulos escolhidos pelo modelo para os exemplos. Com sorte, eles vão corresponder às suas expectativas. Teste alguns exemplos de cada tipo de comentário que você espera receber.

Se você quiser usar seu modelo em testes automatizados, a página Implantar e testar fornece um exemplo de solicitação de API que mostra como fazer chamadas para o modelo programaticamente.

Se você quiser usar seu modelo em testes automatizados, a página Implantar e testar fornece um exemplo de solicitação de API que mostra como fazer chamadas para o modelo programaticamente.

Na página Previsões em lote, é possível criar uma previsão em lote, que agrupa muitas solicitações de previsão em uma só. Uma previsão em lote é assíncrona, o que significa que o modelo aguardará até que todas as solicitações de previsão sejam processadas antes de retornar os resultados.

Vídeo

Para testar o modelo, o vídeo da Vertex AI usa 20% dos dados automaticamente. Se você escolher a divisão de dados, ela usará a porcentagem que for especificada. A guia "Avaliar" no console mostra o desempenho do modelo nos dados de teste. Se você quiser, há algumas maneiras de verificar a integridade do modelo. Uma delas é fornecer um arquivo CSV com dados de vídeo para teste na guia "Testar e usar" e observar os rótulos que o modelo prevê para os vídeos. Com sorte, eles vão corresponder às suas expectativas.

É possível ajustar o limite de visualização de previsões, além de analisá-las em três escalas temporais: intervalos de um segundo, cenas de câmera de vídeo após a detecção automatizada no limite de captura e segmentos de vídeo inteiros.

Implantar seu modelo

Image

Quando o desempenho for satisfatório para você, estará na hora de usar o modelo. Isso pode significar o uso em escala de produção ou talvez em uma única solicitação de previsão. Dependendo do caso de uso, o modelo poderá ser usado de maneiras diferentes.

Previsão em lote

A previsão em lote é útil para fazer muitas solicitações de previsão de uma só vez. A previsão em lote é assíncrona, o que significa que o modelo aguardará até processar todas as solicitações de previsão antes de retornar um destino [JSON Lines](https://jsonlines.org/){: class="external" target="jsonlines" } com valores de previsão.

Previsão on-line

Implante seu modelo para disponibilizá-lo para pedidos de previsão com uma API REST. A previsão on-line é síncrona (em tempo real), o que significa que ela retornará rapidamente uma previsão. No entanto, ela aceita apenas uma solicitação por chamada de API. A previsão on-line será útil quando o modelo fizer parte de um aplicativo e houver elementos do sistema que dependam do retorno rápido das previsões.

Para evitar cobranças indesejadas, lembre-se de cancelar a implantação do modelo quando ele não estiver em uso.

Tabular

Quando o desempenho for satisfatório para você, estará na hora de usar o modelo. Isso pode significar o uso em escala de produção ou talvez em uma única solicitação de previsão. Dependendo do caso de uso, o modelo poderá ser usado de maneiras diferentes.

Previsão em lote

A previsão em lote é útil para fazer muitas solicitações de previsão de uma só vez. A previsão em lote é assíncrona, o que significa que o modelo aguardará o processamento de todas as solicitações de previsão antes de gerar resultados em um arquivo CSV ou uma Tabela do BigQuery com os valores de previsão.

Previsão on-line

Implante seu modelo para disponibilizá-lo para pedidos de previsão com uma API REST. A previsão on-line é síncrona (em tempo real), o que significa que ela retornará rapidamente uma previsão. No entanto, ela aceita apenas uma solicitação de previsão por chamada de API. A previsão on-line será útil quando o modelo fizer parte de um aplicativo e houver elementos do sistema que dependam do retorno rápido das previsões.

Para evitar cobranças indesejadas, lembre-se de cancelar a implantação do modelo quando ele não estiver em uso.

Vídeo

Quando o desempenho for satisfatório para você, estará na hora de usar o modelo. A Vertex AI usa a previsão em lote, que permite fazer o upload de um arquivo CSV com caminhos de arquivos para vídeos hospedados no Cloud Storage. O modelo processará cada vídeo e previsão de saída em outro arquivo CSV. A previsão em lote é assíncrona, indicando que o modelo processará todas as solicitações de previsão antes de gerar os resultados.