Machine Learning: Fundamentos da IA
Machine learning é um dos pilares da inteligência artificial e representa a forma como ensinamos as máquinas a imitar comportamentos humanos a partir de dados. Neste artigo, você vai entender de onde vem o conceito, como um modelo aprende e onde o Azure entra nessa história.
Fundamentos da inteligência artificial
Esta publicação faz parte de uma série de artigos sobre os fundamentos da inteligência artificial. Confira abaixo a série completa, na ordem sugerida de leitura.
- Parte 1: O que é inteligência artificial
- Parte 2: Machine learning (você está aqui)
- Parte 3: Computer vision
- Parte 4: Natural language processing
- Parte 5: Document intelligence
- Parte 6: Knowledge mining
- Parte 7: Generative AI
Se você chegou direto aqui, vale começar pela primeira parte. Afinal, ela apresenta o vocabulário que o restante da série usa o tempo todo.
O que é machine learning
Em uma definição direta, machine learning, ou aprendizado de máquina, é a área da IA que cria sistemas capazes de aprender padrões a partir de exemplos. Em vez de escrever cada regra à mão, você entrega dados ao algoritmo e ele descobre as regras sozinho.
Pense em um filtro de spam tradicional. Nesse caso, um programador precisaria listar cada palavra suspeita, cada remetente duvidoso e cada formato estranho de mensagem.
Com machine learning, a lógica muda completamente. Você fornece milhares de e-mails já marcados como spam ou não spam, e o algoritmo aprende quais características separam um grupo do outro.
Por isso, o machine learning brilha justamente nos problemas em que as regras são difíceis de escrever, mas os exemplos são fáceis de coletar. Reconhecer rostos, prever vendas e identificar fraudes são casos clássicos.
Machine learning e inteligência artificial
É comum ver os dois termos usados como sinônimos, mas eles não significam a mesma coisa. A inteligência artificial é o campo amplo, enquanto o machine learning é uma das abordagens dentro dele.
Na prática, porém, a ligação entre os dois é muito forte. Segundo o módulo de fundamentos do Microsoft Learn, o machine learning é a base da maioria das soluções modernas de inteligência artificial.
Em outras palavras, visão computacional, processamento de linguagem natural e IA generativa dependem, de alguma forma, de modelos treinados com dados. Por esse motivo, entender machine learning ajuda a entender todo o restante da série.
A história do machine learning
Machine learning não é um termo novo. Pelo contrário, as raízes da área remontam à década de 1950, quando os primeiros pesquisadores começaram a estudar computadores que melhoravam com a experiência.
Um nome central desse período é Arthur Samuel, pesquisador da IBM. Ele cunhou o termo machine learning em 1959, no artigo "Some studies in machine learning using the game of checkers".
Nesse trabalho, Samuel descreveu um programa que jogava damas e melhorava a cada partida. Ou seja, o programa não seguia apenas regras fixas, porque ajustava a própria estratégia com base nos resultados anteriores.
Desde então, a área combina matemática, estatística e ciência da computação. Contudo, o grande salto veio décadas depois, quando o volume de dados e o poder de processamento finalmente acompanharam as ideias.
Hoje, a maioria das IAs modernas tem o machine learning como base. Assim, um conceito com mais de meio século continua no centro das tecnologias mais recentes.
Como funciona o machine learning
A resposta mais curta e objetiva é: com dados, muitos dados. Atualmente, praticamente tudo o que fazemos gera alguma informação.
Mensagens de texto, fotos e postagens em redes sociais trafegam dados o tempo todo. Consequentemente, alguma empresa armazena boa parte dessas informações.
Indo além, sensores, câmeras de segurança e coletas de campo alimentam enormes bancos de dados. É um ciclo sem fim, e cada novo dado pode virar matéria prima para um modelo.
Nesse cenário, o cientista de dados usa esses dados para treinar um modelo de aprendizado de máquina, o machine learning model. Depois, a aplicação usa esse modelo para fazer previsões e inferências com base nas relações que ele encontrou.
Em resumo, os modelos de machine learning tentam capturar os relacionamentos que existem entre os dados. Quanto melhor essa captura, mais confiáveis ficam as previsões.
Treinamento e inferência
O ciclo de vida de um modelo tem duas fases principais. A primeira é o treinamento, e a segunda é a inferência.
De acordo com o Microsoft Learn, um modelo é um software que encapsula uma função capaz de calcular um valor de saída a partir de valores de entrada. O processo de definir essa função recebe o nome de treinamento.
Depois que a função existe, você pode usá-la para prever novos valores. Esse uso, por sua vez, recebe o nome de inferência.
Em ambientes como o Azure, a inferência também aparece com o nome de scoring. Ela pode acontecer em tempo real, por meio de um endpoint, ou em lote, sobre grandes volumes de dados.
Features, labels e a função do modelo
Os dados de treinamento trazem observações do passado. Em geral, cada observação inclui as características observadas, chamadas de features, e o valor que você quer prever, chamado de label.
Na notação matemática, as features costumam aparecer como x e o label como y. Como uma observação quase sempre tem vários valores, x vira um vetor, como [x1, x2, x3].
Em seguida, um algoritmo analisa os dados e tenta encontrar a relação entre as features e o label. O resultado desse processo é o modelo, que encapsula uma função f, de forma que y = f(x).
Por fim, na inferência, você informa novos valores de features e recebe a previsão do label. Como esse valor vem de um cálculo, e não de uma observação real, a notação usa ŷ, lido como "y chapéu".
Por exemplo, em um cenário de vendas de sorvete, temperatura, chuva e vento seriam as features. Já a quantidade de sorvetes vendidos em cada dia seria o label.
Um exemplo de machine learning na prática
Imagine que você quer catalogar diferentes tipos de flores. Nesse caso, você pode treinar uma máquina para fazer isso seguindo os passos da animação abaixo.
- Primeiro, um time de botânicos e cientistas coleta dados sobre amostras de flores.
- Depois, o time cataloga cada amostra com a espécie correta.
- Em seguida, um algoritmo processa o catálogo e encontra a relação entre as características das amostras e as espécies.
- Então, o resultado do algoritmo fica encapsulado em um modelo.
- Por fim, quando surgem novas flores, o modelo consegue identificar a espécie correta.
Repare que, nesse exemplo de machine learning, ninguém escreveu uma regra como "pétala maior que três centímetros indica a espécie A". O algoritmo descobriu essas fronteiras sozinho, a partir dos exemplos catalogados.
Além disso, a qualidade do catálogo define a qualidade do modelo. Se os botânicos rotularem amostras de forma errada, o modelo também vai aprender errado.
Tipos de machine learning
Existem vários tipos de machine learning, e cada um atende a um tipo de pergunta. Para aprofundar, o artigo sobre tipos de machine learning no Azure detalha cada categoria com exemplos.
Aprendizado supervisionado
No aprendizado supervisionado, os dados de treinamento trazem tanto as features quanto os labels. Assim, o modelo aprende a relação entre eles para prever labels desconhecidos no futuro.
A regressão é um tipo supervisionado que prevê valores numéricos, como o preço de uma casa ou as vendas do mês. Já a classificação prevê categorias.
A classificação binária escolhe entre duas classes, como spam ou não spam. Por outro lado, a classificação multiclasse escolhe entre três ou mais classes, como as espécies de flores do exemplo anterior.
Aprendizado não supervisionado
No aprendizado não supervisionado, os dados não têm labels. Em vez de prever um valor conhecido, o modelo procura estruturas escondidas nos próprios dados.
O exemplo mais comum é o clustering, que agrupa itens semelhantes. Por exemplo, uma loja pode agrupar clientes com hábitos de compra parecidos sem saber de antemão quais grupos existem.
Machine learning no Microsoft Azure
O Microsoft Azure oferece recursos de machine learning por meio de um serviço chamado Azure Machine Learning. Esse serviço funciona como uma plataforma completa para criar, gerenciar e publicar modelos de aprendizado de máquina.
Segundo a documentação oficial do Azure Machine Learning, a plataforma atende do experimento rápido até a operação em escala. Além disso, ela permite compartilhar notebooks, dados, ambientes e recursos de computação entre o time.
Azure Machine Learning Studio
Toda essa gestão pode acontecer pelo Azure Machine Learning Studio, uma interface web que não exige instalar nada. A ferramenta reúne recursos para pessoas com diferentes níveis de experiência:
- Automated machine learning: cria modelos de forma rápida e eficiente, mesmo para quem não tem experiência no assunto.
- Azure Machine Learning designer: interface gráfica para desenvolver soluções de machine learning sem escrever código, arrastando dados e componentes.
- Visualização de métricas: analisa e otimiza seus experimentos por meio de gráficos e dados de execução.
- Notebooks: permite escrever e executar código no servidor com Jupyter Notebooks integrados ao estúdio.
Dessa forma, a mesma plataforma serve tanto para quem prefere uma experiência sem código quanto para quem quer controle total via Python.
Automated machine learning
O Automated ML, ou AutoML, merece destaque porque reduz bastante a barreira de entrada. Durante o treinamento, o Azure cria vários pipelines em paralelo, testando algoritmos e parâmetros diferentes para você.
Cada tentativa gera um modelo com uma pontuação de treinamento. Então, o serviço ordena os resultados pela métrica que você escolheu e indica o modelo que melhor se ajusta aos seus dados.
O AutoML atende a cenários de classificação, regressão, previsão de séries temporais, visão computacional e processamento de linguagem natural. Para ver isso na prática, o artigo sobre machine learning com o Microsoft Azure mostra um modelo de previsão de cancelamento de clientes criado sem código.
Do modelo para a aplicação
Treinar o modelo é só metade do caminho. Afinal, o valor aparece quando uma aplicação consegue consumir as previsões.
Para isso, o Azure Machine Learning publica modelos em endpoints gerenciados. Assim, sua aplicação envia os dados de entrada via HTTPS e recebe a previsão em tempo quase real.
Também existem os endpoints de lote, que processam grandes volumes de dados de forma assíncrona. Nesse caso, os resultados ficam armazenados para análises posteriores.
Por que desenvolvedores devem aprender machine learning
Você não precisa virar cientista de dados para tirar proveito do machine learning. No entanto, entender os conceitos básicos muda a forma como você enxerga certos problemas.
Primeiro, você passa a reconhecer quando um problema pede regras e quando pede um modelo. Depois, consegue conversar com o time de dados usando o mesmo vocabulário.
Além disso, plataformas como o Azure Machine Learning expõem os modelos como APIs comuns. Ou seja, consumir uma previsão vira uma chamada HTTP como qualquer outra no seu código.
Se você quiser revisar os conceitos que sustentam tudo isso, o artigo sobre conceitos fundamentais de inteligência artificial é um bom complemento.
Conclusão
O aprendizado de máquina é um dos pilares da inteligência artificial e a base de muitas IAs modernas. Ainda assim, trata-se de um conceito com raízes na década de 1950.
A ideia central do machine learning é imitar comportamentos humanos por meio de modelos treinados com dados. Para isso, o modelo aprende a relação entre features e labels e, depois, aplica essa relação a dados novos.
No Azure, o Azure Machine Learning reúne todo esse ciclo em uma única plataforma, do AutoML aos endpoints. Na próxima parte da série, você vai ver como a visão computacional aplica esses conceitos a imagens.
- Anterior: Parte 1, introdução à IA
- Próximo: Parte 3, computer vision
FAQ
Machine learning e inteligência artificial são a mesma coisa?
Não. A inteligência artificial é o campo amplo, e o machine learning é uma das abordagens dentro dele, hoje a base da maioria das soluções modernas.
Quem criou o termo machine learning?
Arthur Samuel, pesquisador da IBM, cunhou o termo em 1959, em um estudo sobre um programa que aprendia a jogar damas.
Qual a diferença entre treinamento e inferência?
O treinamento define a função do modelo a partir de dados históricos. A inferência usa essa função para prever valores em dados novos.
Preciso saber programar para usar machine learning no Azure?
Não necessariamente. O Automated ML e o designer do Azure Machine Learning Studio permitem criar modelos sem escrever código.
O que são features e labels?
Features são as características observadas em cada exemplo. O label é o valor que o modelo precisa aprender a prever.