A palavra importante não é padrões. É úteis. Um conjunto de dados contém inúmeras regularidades. Um sistema de aprendizado de máquina precisa de uma tarefa definida e de uma forma de avaliar quais regularidades ajudam nessa tarefa.

A ideia básica

Imagine criar um filtro de spam.

Com a programação comum baseada em regras, você poderia escrever instruções como "marque uma mensagem como spam se ela contiver esta frase e tiver mais de três links". Os spammers mudam sua forma de escrever, mensagens legítimas às vezes correspondem às regras, e a lista de regras fica difícil de manter.

Com aprendizado de máquina, você fornece exemplos analisados de e-mails de spam e legítimos. Também escolhe um tipo de modelo e uma pontuação para avaliar seus erros. Um algoritmo de aprendizado então ajusta o modelo para que suas saídas correspondam melhor aos exemplos analisados.

O resultado ainda é software. A diferença está na origem de parte de seu comportamento. Um programador escreve o procedimento de aprendizado e seus limites; o treinamento determina muitas das configurações dentro desses limites.

Por isso, a frase conhecida "sem ser explicitamente programado" pode induzir ao erro. O sistema é programado, mas sua regra completa de decisão não é escrita caso a caso.

O que significa aprender

Uma forma útil de reconhecer um problema de aprendizado de máquina é identificar quatro elementos:

  1. Uma tarefa. O que o sistema deve fazer? Exemplos incluem classificar um e-mail, estimar um prazo de entrega, agrupar clientes semelhantes ou escolher uma ação.
  2. Experiência. Com base em quais informações ele pode aprender? Podem ser exemplos rotulados, observações não rotuladas, interações passadas ou recompensas obtidas por tentativa e erro.
  3. Uma medida de sucesso. O que torna um resultado melhor que outro? Pode ser o erro de previsão, a qualidade de um agrupamento ou a recompensa acumulada.
  4. Um modelo com partes ajustáveis. Qual é o conjunto de regras possíveis que o processo de aprendizado pode explorar?

O aprendizado acontece quando a experiência altera essas partes ajustáveis de uma forma que melhora a medida escolhida. O resultado treinado é chamado de modelo. Usar esse modelo em um caso novo é diferente de treiná-lo.

Essa separação é importante. A maioria dos modelos implantados não aprende automaticamente com cada nova solicitação. Suas configurações aprendidas permanecem fixas até que alguém execute outro processo de treinamento ou atualização.

Como funciona o aprendizado de máquina

Os detalhes variam, mas um projeto típico segue este ciclo:

  1. Defina a tarefa e o resultado do mundo real que importa.
  2. Colete e prepare exemplos que representem as condições nas quais o modelo será usado.
  3. Escolha como as entradas serão representadas e quais formas de modelo são permitidas.
  4. Defina um objetivo: uma forma numérica de pontuar modelos candidatos.
  5. Execute um algoritmo de aprendizado que procure configurações com uma pontuação de objetivo melhor.
  6. Use dados separados para tomar decisões e um conjunto de teste intocado para estimar o desempenho em casos novos.
  7. Implante o modelo treinado, monitore seu comportamento e treine-o novamente ou substitua-o quando os dados ou requisitos mudarem.

Veja o fluxo:

historical examples + a success measure
                  |
                  v
          learning algorithm
          adjusts model settings
                  |
                  v
            trained model  <----- held-out examples test generalization
                  |
             new input
                  |
                  v
       prediction, decision, or output

O algoritmo de aprendizado e o modelo treinado não são a mesma coisa. O algoritmo é o processo de ajuste. O modelo é o resultado ajustado que lida com novas entradas.

Para muitos modelos supervisionados, o ajuste consiste em correções repetidas. O modelo faz previsões sobre exemplos de treinamento. Uma função de perda transforma seus erros em um número. Um método de otimização altera as configurações do modelo para reduzir essa perda. Repetir esse processo pode melhorar o desempenho no treinamento.

Uma perda menor no treinamento não é o objetivo final. Um modelo pode memorizar detalhes de seus exemplos de treinamento e falhar em casos novos. Isso é sobreajuste. O aprendizado de máquina tem sucesso quando o modelo generaliza: ele tem bom desempenho em casos novos e relevantes, provenientes das condições para as quais foi concebido.

Por isso, os dados de avaliação precisam ser mantidos fora do treinamento. Se os exemplos de teste influenciarem a seleção de atributos, o pré-processamento ou escolhas repetidas de modelos, haverá vazamento de informações através dessa separação. A pontuação resultante pode parecer melhor que o desempenho real do modelo.

Exemplo prático: um filtro de spam

Suponha que você tenha 1.000 e-mails analisados por pessoas: 500 spams e 500 legítimos.

Você separa 200 e-mails antes de tomar decisões de modelagem. Esse é o conjunto de teste. Os 800 restantes são o material de treinamento. Para cada mensagem, o sistema pode representar sinais como as palavras que ela contém, o número de links e se o remetente já apareceu antes.

No início, as configurações ajustáveis do modelo não são úteis. Durante o treinamento, o sistema de aprendizado prevê um rótulo para cada exemplo de treinamento, mede os erros e altera as configurações. Uma frase associada a muitas mensagens de spam pode ganhar influência. Um remetente conhecido pode direcionar a pontuação para e-mail legítimo. Essas são associações aprendidas, não regras universais.

Após o treinamento e a seleção do modelo, você avalia o modelo final uma única vez nas 200 mensagens intocadas. Imagine que ele obtenha estes resultados:

  • 90 mensagens de spam bloqueadas corretamente
  • 94 mensagens legítimas permitidas corretamente
  • 10 mensagens de spam não detectadas
  • 6 mensagens legítimas bloqueadas incorretamente

Ele classificou corretamente 184 das 200 mensagens, portanto sua acurácia nesse teste ilustrativo foi de 92%.

Esse número não encerra a análise. Bloquear seis e-mails legítimos pode ser mais custoso que deixar passar dez mensagens de spam. Você poderia alterar o limiar de decisão para bloquear menos mensagens legítimas, aceitando que mais spams passem. A compensação adequada depende da tarefa, não apenas dos dados.

Agora chega um novo e-mail, que recebe uma pontuação de spam de 0,82. Produzir essa pontuação é usar o modelo treinado. O modelo não necessariamente aprende com o e-mail. Se as pessoas analisarem novas mensagens posteriormente, essas análises poderão se tornar experiência para uma futura execução de treinamento.

O resultado de 92% também é condicional. Ele estima o desempenho futuro somente se o conjunto de teste for grande o bastante e se assemelhar aos e-mails futuros. Uma mudança na linguagem, nos remetentes ou nos ataques pode tornar o modelo de ontem menos útil.

Principais formas de os modelos receberem um sinal de aprendizado

As categorias de aprendizado de máquina se sobrepõem, mas três configurações amplas de aprendizado são úteis:

  • Aprendizado supervisionado usa exemplos associados às respostas desejadas, como e-mails rotulados como spam ou legítimos.
  • Aprendizado não supervisionado não recebe uma resposta fornecida para cada exemplo; em vez disso, otimiza um objetivo que revela uma estrutura, como o agrupamento de itens semelhantes.
  • Aprendizado por reforço usa recompensas ou penalidades decorrentes de ações realizadas em um ambiente, geralmente quando uma ação afeta o que acontecerá em seguida.

Outros rótulos descrevem combinações ou dimensões diferentes. O aprendizado semissupervisionado combina exemplos rotulados e não rotulados. O aprendizado autos supervisionado constrói alvos de treinamento a partir dos próprios dados. Modelos generativos aprendem a produzir novas amostras, mas podem ser treinados com mais de uma configuração de aprendizado.

As categorias são ferramentas para descrever um sistema, não uma divisão rígida que todas as fontes usam da mesma forma.

Por que o aprendizado de máquina é importante

O aprendizado de máquina é útil quando o comportamento desejado é mais fácil de demonstrar ou medir do que de expressar como um conjunto completo de regras.

É mais fácil rotular exemplos de fala do que escrever todas as regras que relacionam ondas sonoras a palavras. É mais fácil registrar tempos de viagem do que codificar manualmente todas as interações entre trânsito, clima, obras na estrada e horário do dia. É possível coletar exemplos de transações fraudulentas e legítimas mesmo quando nenhuma lista de verificação curta as separa de forma clara.

O aprendizado não elimina o trabalho humano. Ele muda esse trabalho. As pessoas decidem o que prever, quais dados são representados, quais erros importam e se a saída é segura o suficiente para ser usada. Elas também mantêm o software ao redor do modelo e monitoram o que acontece após a implantação.

O aprendizado de máquina não é adequado quando as regras comuns são claras, estáveis e fáceis de verificar. Um cálculo de imposto com regras legais explícitas não deve se tornar um palpite estatístico apenas porque o aprendizado de máquina está disponível.

Equívocos comuns

Um modelo aprende como uma pessoa

"Aprendizado" descreve uma mudança mensurável decorrente da experiência. Isso não implica consciência, compreensão ou um processo de aprendizado humano. Um modelo pode se tornar mais preciso em uma tarefa específica sem saber o que suas entradas significam.

Os dados ensinam tudo ao modelo

Os dados, por si só, não escolhem a tarefa, o objetivo, a representação ou os erros aceitáveis. Todo sistema de aprendizado contém pressupostos sobre quais padrões pode encontrar e preferir. Essas escolhas moldam o resultado.

Um bom desempenho no treinamento significa que o modelo funciona

Um modelo pode memorizar seu material de treinamento. O desempenho em dados devidamente separados e representativos é um teste melhor para saber se ele aprendeu algo reutilizável.

Mais dados sempre resolvem o problema

Mais dados relevantes e bem medidos podem ajudar. Mais dados duplicados, enviesados, rotulados incorretamente, desatualizados ou irrelevantes podem reforçar o comportamento errado. Cobertura e qualidade importam tanto quanto quantidade.

Previsões explicam causas

Um modelo pode descobrir que dois sinais variam juntos e usar um para prever o outro. Isso não demonstra que alterar um fará o outro mudar. Afirmações causais geralmente exigem pressupostos mais fortes ou experimentos controlados.

IA e aprendizado de máquina são intercambiáveis

O aprendizado de máquina é uma forma importante de criar sistemas de IA, mas regras, busca, planejamento e outras técnicas também podem produzir comportamentos descritos como IA. Um produto moderno pode combinar modelos aprendidos com uma quantidade significativa de software que não envolve aprendizado.

Como o aprendizado de máquina se encaixa em um sistema de IA

O aprendizado de máquina é o processo que produz ou atualiza um modelo aprendido. O modelo é um componente. Um aplicativo acrescenta ao seu redor coleta de dados, interfaces, regras de negócio, verificações de segurança, armazenamento e monitoramento.

Uma rede neural é um possível projeto de modelo, não outro nome para aprendizado de máquina. O treinamento é a etapa em que um processo de aprendizado ajusta um modelo. A inferência é a etapa em que o modelo treinado lida com novas entradas. Manter essas partes separadas facilita a avaliação das afirmações sobre o produto.

Próximos passos

Leia O que é uma rede neural? para conhecer um tipo amplamente usado de modelo de aprendizado de máquina. Depois, leia O que é treinamento em IA? para entender o processo de ajuste e O que é inferência em IA? para saber o que acontece quando um modelo treinado é usado.