O aprendizado de máquina é o subconjunto da inteligência artificial (IA) concentrado em algoritmos que podem "aprender" os padrões dos dados de treinamento e, posteriormente, fazer inferências precisas sobre novos dados. Essa capacidade de reconhecimento de padrões permite que os modelos de aprendizado de máquina tomem decisões ou façam previsões sem instruções explícitas e codificadas.
O aprendizado de máquina passou a dominar o campo da IA: ele fornece a base da maioria dos sistemas de IA modernos, desde modelos de forecasting até veículos autônomos, grandes modelos de linguagem (LLMs) e outras ferramentas de IA generativa .
A premissa central do aprendizado de máquina (ML) é que, se você otimizar o desempenho de um modelo em um conjunto de dados de tarefas que se assemelha adequadamente aos problemas do mundo real para os quais ele será usado, por meio de um processo chamado treinamento do modelo, o modelo pode fazer previsões precisas sobre os novos dados que ele vê no seu caso de uso final.
O treinamento em si é simplesmente um meio para um fim: a generalização, a tradução de um forte desempenho em dados de treinamento em resultados úteis em cenários do mundo real, é o objetivo fundamental do aprendizado de máquina. Basicamente, um modelo treinado aplica padrões aprendidos nos dados de treinamento para inferir a saída correta de uma tarefa do mundo real: a implementação de um modelo de IA , portanto, é chamada de inferência de IA.
O deep learning, o subconjunto do aprendizado de máquina orientado por grandes (ou melhor, "profundas") redes neurais artificiais, surgiu nas últimas décadas como a arquitetura de modelo de IA de última geração em quase todos os domínios em que a IA é usada. Ao contrário dos algoritmos explicitamente definidos do aprendizado de máquina tradicional, o deep learning depende de "redes" distribuídas de operações matemáticas que fornecem uma capacidade incomparável de aprender as nuances intrincadas de dados muito complexos. Como o deep learning exige grandes quantidades de dados e recursos computacionais, seu advento coincidiu com a importância cada vez maior do "big data" e das unidades de processamento gráfico (GPUs).
A disciplina do aprendizado de máquina está intimamente ligada à da ciência de dados. De certa forma, o aprendizado de máquina pode ser entendido como uma coleção de algoritmos e técnicas para automatizar a análise de dados e (ainda mais importante) aplicar os aprendizados dessa análise à execução autônoma de tarefas relevantes.
A origem do termo (embora não o conceito central em si) é frequentemente atribuída ao artigo de Arthur L. Samuel de 1959 no IBM Journal, “Some Studies in Machine Learning Using the Game of Checkers.” Na introdução do artigo, Samuel articula de forma clara o resultado ideal do aprendizado de máquina: "um computador pode ser programado para aprender a jogar um jogo de damas melhor do que o que pode ser jogado pela pessoa que escreveu o programa".1
Embora "aprendizado de máquina" e "inteligência artificial" sejam frequentemente usados de forma intercambiável, eles não são exatamente sinônimos. Resumindo: todo aprendizado de máquina é IA, mas nem toda IA é aprendizado de máquina.
No imaginário popular, "IA" é geralmente associada à ficção científica, geralmente por meio de representações do que é mais adequadamente chamado de inteligência artificial geral (AGI), como HAL 9000 em 2001: Uma Odisseia no Espaço ou Ava em Ex Machina — ou, mais recentemente, com a IA generativa . Mas "inteligência artificial" é um termo abrangente para qualquer programa que possa usar informações para tomar decisões ou previsões sem envolvimento humano ativo.
Os sistemas de IA mais básicos são uma série de declarações "if-then-else", com regras e lógica programadas explicitamente por um cientista de dados. No nível mais simples, até mesmo um termostato rudimentar é um sistema de IA baseado em regras: quando programado com regras simples como
e
o termostato é capaz de tomar decisões autônomas sem intervenção humana adicional. Em um nível mais complexo, uma grande e intrincada árvore de decisão baseada em regras programada por especialistas médicos pode analisar sintomas, circunstâncias e comorbidades para ajudar no diagnóstico ou prognóstico.2
Ao contrário dos sistemas especializados, a lógica pela qual um modelo de aprendizado de máquina opera não é explicitamente programada — é aprendida por meio da experiência. Considere um programa que filtra spam de e-mail: a IA baseada em regras exige que um cientista de dados defina manualmente critérios precisos e universais para spam; o aprendizado de máquina requer apenas a seleção de um algoritmo apropriado e um conjunto de dados adequado de amostras de e-mails. No treinamento, o modelo vê exemplos de e-mails e prevê quais são spam; o erro das previsões é calculado, e o algoritmo é ajustado para reduzir o erro; esse processo é repetido até que o modelo seja preciso. O modelo de ML recém-treinado aprendeu a identificar spam implicitamente .
À medida que as tarefas que um sistema de IA deve realizar ficam mais complexas, os modelos baseados em regras tornam-se cada vez mais frágeis: muitas vezes é impossível definir explicitamente todos os padrões e variáveis que um modelo deve considerar. Os sistemas de aprendizado de máquina emergiram como o modo dominante de inteligência artificial porque os padrões de aprendizado implícitos dos próprios dados são inerentemente mais flexíveis, escaláveis e acessíveis.
O aprendizado de máquina funciona por meio da lógica matemática. As funcionalidades relevantes (ou "recursos") de cada ponto de dados devem, portanto, ser expressas numericamente , de modo que os próprios dados possam ser alimentados em um algoritmo matemático que "aprenderá" a mapear uma determinada entrada para a saída desejada.
Os pontos de dados no aprendizado de máquina geralmente são representados em forma vetorial, na qual cada elemento (ou dimensão) da embedding de vetores de um ponto de dados corresponde ao seu valor numérico para uma funcionalidade específica. Para modalidades de dados que são inerentemente numéricas, como dados financeiros ou coordenadas geoespaciais, isso é relativamente simples. Mas muitas modalidades de dados, como texto, imagens, dados de gráficos de redes sociais ou comportamentos de usuários de aplicativos, não são inerentemente numéricas e, portanto, exigem uma engenharia de funcionalidades menos imediatamente intuitiva a ser expressa de uma maneira pronta para ML.
O processo (muitas vezes manual) de escolher quais aspectos dos dados usar em algoritmos de aprendizado de máquina é chamado de seleção de funcionalidades. As técnicas de extração de funcionalidades refinam os dados até suas dimensões mais relevantes e significativas. Ambos são subconjuntos da engenharia de funcionalidades, a disciplina mais ampla de pré-processamento de dados brutos para uso no aprendizado de máquina. Uma distinção notável do deep learning é que ele normalmente opera com dados brutos e automatiza grande parte do processo de engenharia de funcionalidades (ou pelo menos o processo de extração de funcionalidades). Isso torna o deep learning mais escalável, embora menos interpretável, do que o aprendizado de máquina tradicional.
Para um exemplo prático, considere um algoritmo de regressão linear simples para prever os preços de venda de casas com base em uma combinação ponderada de três variáveis: metragem quadrada, idade da casa e número de quartos. Cada casa é representada como um embedding de vetores com três dimensões:
O algoritmo é uma função matemática direta:
Preço = (A * metragem quadrada) + (B * número de quartos) – (C *Idade) + Preço base
Aqui, , and são os parâmetros do modelo: ajustá-los ajustará o quanto o modelo pondera cada variável. O objetivo do aprendizado de máquina é encontrar os valores ideais para esses parâmetros do modelo: em outras palavras, os valores dos parâmetros que resultam na função geral produzindo os resultados mais precisos. Embora a maioria das instâncias do mundo real de aprendizado de máquina envolva algoritmos mais complexos, com um número maior de variáveis de entrada, o princípio permanece o mesmo: otimizar os parâmetros ajustáveis do algoritmo para produzir maior precisão.
Todos os métodos de aprendizado de máquina podem ser categorizados como um dos três paradigmas distintos do aprendizado: aprendizado supervisionado, aprendizado não supervisionado ou aprendizado por reforço, com base na natureza de seus objetivos de treinamento e (muitas vezes, mas nem sempre) pelo tipo de dados de treinamento que implicam.
O processo de treinamento de ponta a ponta para um determinado modelo pode envolver (e, muitas vezes, envolve) abordagens híbridas que aproveitam mais de um desses paradigmas de aprendizado. Por exemplo, o aprendizado não supervisionado é frequentemente usado para pré-processar dados para uso em aprendizado supervisionado ou por reforço. Os grandes modelos de linguagem (LLMs) normalmente passam por treinamento inicial (pré-treinamento) e ajuste fino por meio de variantes de aprendizado supervisionado, seguidos de mais ajuste fino por meio de técnicas de RL, como aprendizado por reforço com feedback humano (RLHF).
Em uma prática semelhante, mas distinta, vários métodos de aprendizado em conjunto agregam as saídas de vários algoritmos.
Os algoritmos de aprendizado supervisionado treinam modelos para tarefas que exigem precisão, como classificação ou regressão. O aprendizado de máquina supervisionado alimenta modelos de deep learning de última geração e uma ampla gama de modelos de ML tradicionais ainda amplamente empregados em vários setores.
Para serem medidas e otimizadas quanto à precisão, as saídas de um modelo devem ser comparadas com uma verdade absoluta: a saída ideal ou "correta" para qualquer entrada. No aprendizado supervisionado convencional, essa verdade absoluta é fornecida por dados rotulados. Um modelo de detecção de spam de e-mail é treinado em um conjunto de dados de e-mails que foram rotulados como
Essencial para o aprendizado supervisionado é o uso de uma função de perda que mede a divergência ("perda") entre a saída do modelo e a verdade absoluta em um lote de entradas de treinamento. O objetivo do aprendizado supervisionado é definido matematicamente como minimizar a saída de uma função de perda. Depois que a perda é calculada, vários algoritmos de otimização (a maioria dos quais envolve o cálculo da(s) derivada(s) da função de perda) são usados para identificar ajustes de parâmetros que reduzirão a perda.
Como esse processo tradicionalmente exige um human-in-the-loop para apresentar informações absolutas na forma de anotações de dados, ele é chamado de aprendizado "supervisionado". Dessa forma, o uso de dados rotulados foi historicamente considerado a característica definitiva do aprendizado supervisionado. Mas, no nível mais fundamental, a principal característica do aprendizado supervisionado é a existência de alguma verdade absoluta e o objetivo de treinamento de minimizar a saída da função de perda que mede a divergência dela.
Para acomodar uma noção mais versátil do aprendizado supervisionado, a terminologia moderna de ML usa "supervisão" ou "sinais de supervisão" para se referir genericamente a qualquer fonte de verdade absoluta.
A rotulação de dados pode se tornar proibitivamente cara e demorada para tarefas complexas e grandes conjuntos de dados. O aprendizado autossupervisionado envolve treinamento em tarefas nas quais um sinal de supervisão é obtido diretamente de dados não rotulados — portanto, "auto" supervisionado.
Por exemplo, os autocodificadores são treinados para compactar (ou codificar) os dados de entrada e, em seguida, reconstruir (ou decodificar) a entrada original usando essa representação compactada. Seu objetivo de treinamento é minimizar o erro de reconstrução, usando a própria entrada original como verdade absoluta. O aprendizado autossupervisionado também é o principal método de treinamento para LLMs: os modelos recebem amostras de texto com determinadas palavras ocultas ou mascaradas e têm a tarefa de prever as palavras que faltam.
O aprendizado autossupervisionado é frequentemente associado ao aprendizado por transferência, pois pode fornecer modelos de base com amplos recursos que receberão, então, ajuste fino para tarefas mais específicas.
Enquanto o aprendizado autossupervisionado é essencialmente um aprendizado supervisionado em dados não rotulados, os métodos de aprendizado semissupervisionado usam tanto dados rotulados quanto dados não rotulados. Em termos gerais, o aprendizado semissupervisionado compreende técnicas que usam informações dos dados rotulados disponíveis para fazer suposições sobre os pontos de dados não rotulados, de modo que estes possam ser incorporados aos fluxos de trabalho de aprendizado supervisionado.
Algoritmos de aprendizado de máquina não supervisionado discernem padrões intrínsecos em dados não rotulados, como similaridades, correlações ou agrupamentos potenciais. Eles são mais úteis em cenários em que esses padrões não são necessariamente aparentes para observadores humanos. Como o aprendizado não supervisionado não pressupõe a preexistência de uma saída "correta" conhecida, ele não exige sinais de supervisão ou funções de perda convencionais — portanto, "não supervisionado".
A maioria dos métodos de aprendizado não supervisionado executa uma das seguintes funções:
Como o nome sugere, os algoritmos de aprendizado não supervisionado podem ser, de forma geral, vistos como "otimizando a si mesmos". Por exemplo, esta animação demonstra como um algoritmo de agrupamento k-means otimiza iterativamente o centroide de cada cluster isoladamente. O desafio de treinar modelos não supervisionados, portanto, concentra-se no pré-processamento eficaz de dados e no ajuste adequado de hiperparâmetros que influenciam o processo de aprendizado, mas que não podem ser aprendidos, como a taxa de aprendizado ou o número de clusters.
Enquanto o aprendizado supervisionado treina modelos otimizando-os para corresponder a exemplares ideais e os algoritmos de aprendizado não supervisionado se ajustam a um conjunto de dados, os modelos de aprendizado por reforço são treinados holisticamente por meio de tentativa e erro. Eles são usados de forma proeminente em robótica, videogames, modelos de raciocínio e outros casos de uso em que o espaço de soluções e abordagens possíveis é particularmente grande, aberto ou difícil de definir. Na literatura de RL, um sistema de IA é frequentemente chamado de "agente".
Em vez dos pares independentes de dados de entrada-saída usados no aprendizado supervisionado, o aprendizado por reforço (RL) opera em tuplas de dados estado-ação-recompensa interdependentes. Em vez de minimizar o erro, o objetivo do aprendizado por reforço é otimizar os parâmetros para maximizar a recompensa.
Um framework matemático para aprendizado por reforço é construído principalmente com base nos seguintes componentes:
Em métodos de RL baseados em políticas , como a otimização de políticas proximais (PPO), o modelo aprende uma política diretamente. Em métodos baseados em valor , como o Q-learning, o agente aprende uma função de valor que calcula uma pontuação para o quão “bom” é cada estado e, em seguida, escolhe ações que levam a estados de valor mais alto. Considere um labirinto: um agente baseado em políticas pode aprender "nesse canto, vire à esquerda", enquanto um agente baseado em valores aprende uma pontuação para cada posição e simplesmente se move para uma posição adjacente com uma pontuação melhor. Abordagens híbridas, como métodos ator-crítico, aprendem uma função de valor que é, então, usada para otimizar uma política.
No aprendizado por reforço profundo, a política é representada como uma rede neural.
O deep learning emprega redes neurais artificiais com muitas camadas (portanto, "profundas") em vez dos algoritmos explicitamente projetados do aprendizado de máquina tradicional. Embora as redes neurais tenham sido introduzidas no início da história do aprendizado de máquina, foi somente no final dos anos 2000 e início dos anos 2010, possibilitada em parte pelos avanços nas GPUs, que elas se tornaram dominantes na maioria dos subcampos da IA.
Vagamente inspiradas no cérebro humano, as redes neurais compreendem camadas interconectadas de "neurônios" (ou nós), cada um dos quais realiza sua própria operação matemática (chamada "ativação"). A produção da ativação de cada nó serve como entrada para cada um dos nós da camada seguinte e assim por diante até a camada final, onde a saída final da rede é calculada. Crucialmente, as funções de ativação realizadas em cada nó são não lineares, permitindo às redes neurais modelar padrões e dependências complexos.
Cada conexão entre dois neurônios recebe um peso único: um multiplicador que aumenta ou diminui a contribuição de um neurônio para um neurônio na camada seguinte. Esses pesos, juntamente com termos de viés únicos adicionados à função de ativação de cada neurônio, são os parâmetros a serem otimizados por meio de aprendizado de máquina.
O algoritmo de retropropagação permite o cálculo de como cada nó individual contribui para a saída geral da função de perda, permitindo que até mesmo milhões ou bilhões de pesos do modelo sejam otimizados individualmente por meio de algoritmos de gradiente descendente . Devido ao volume e à granularidade das atualizações necessárias para alcançar os resultados ideais, o deep learning requer grandes quantidades de dados e recursos computacionais em comparação com o ML tradicional.
Essa estrutura distribuída proporciona aos modelos de deep learning seu incrível poder e versatilidade. Imagine dados de treinamento como pontos de dados espalhados em um gráfico bidimensional. Essencialmente, o aprendizado de máquina tradicional visa encontrar uma única curva que passa por cada um desses pontos de dados; o deep learning junta um número arbitrário de linhas menores e ajustáveis individualmente para formar a forma desejada. As redes neurais são aproximadores universais: foi teoricamente comprovado que, para qualquer função, existe um arranjo de redes neurais que pode reproduzi-la.3, 4
Dito isso, só porque algo é teoricamente possível não significa que seja na prática alcançável por meio dos métodos de treinamento existentes. Por muitos anos, o desempenho adequado em determinadas tarefas permaneceu fora de alcance, mesmo para modelos de deep learning, mas, com o tempo, modificações na arquitetura padrão de redes neurais liberaram novos recursos para modelos de ML.
As redes neurais convolucionais (CNNs) adicionam camadas convolucionais às redes neurais. Em matemática, uma convolução é uma operação em que uma função modifica (ou convolui) a forma de outra. Nas CNNs, as camadas convolucionais são utilizadas para extrair funcionalidades importantes dos dados aplicando “filtros” ponderados. As CNNs são principalmente associadas a modelos de computer vision e dados de imagens, mas têm vários outros casos de uso importantes.
As redes neurais recorrentes (RNNs) são projetadas para trabalhar com dados sequenciais. Enquanto as redes neurais convencionais mapeiam uma única entrada para uma única saída, as RNNs mapeiam uma sequência de entradas para uma saída operando em um loop recorrente no qual a produção para uma determinada etapa na sequência de entrada serve como entrada para o cálculo da etapa seguinte: . Na verdade, isso cria uma "memória" interna chamada de estado oculto, que permite que as RNNs entendam o contexto e a ordem.
Os modelos de transformadores, introduzidos pela primeira vez em 2017, são os grandes responsáveis pelo advento dos LLMs e outros pilares da IA generativa, alcançando resultados de última geração na maioria dos subdomínios do aprendizado de máquina. Como as RNNs, os transformadores são projetados para dados sequenciais, mas soluções alternativas inteligentes permitiram que a maioria das modalidades de dados fossem processadas por transformadores. A força única dos modelos de transformadores vem de seu mecanismo de atenção inovador, que permite que os modelos se concentrem seletivamente nas partes dos dados de entrada mais relevantes em um momento específico em uma sequência.
Os modelos Mamba são uma arquitetura de redes neurais relativamente nova, introduzida pela primeira vez em 2023, com base em uma variação única de modelos de espaço de estado (SSMs). Assim como os transformadores, os modelos Manba fornecem um meio inovador de priorizar seletivamente as informações mais relevantes em um determinado momento. O Manba surgiu recentemente como um concorrente da arquitetura de transformação, especialmente para LLMs.
A maioria das aplicações de aprendizado de máquina se enquadra em uma ou mais das categorias, que são definidas principalmente por seus casos de uso e pelas modalidades de dados sobre as quais operam.
A computer vision é o subdomínio da IA relacionado a dados de imagens, dados de vídeos e outras modalidades de dados que exigem um modelo ou máquina para "ver", desde diagnósticos de saúde até reconhecimento facial e carros autônomos. Subcampos notáveis de computer vision incluem classificação de imagens, detecção de objetos, segmentação de imagens e reconhecimento óptico de caracteres (OCR).
O campo do processamento de linguagem natural (NLP) abrange uma ampla gama de tarefas relativas a texto, fala e outros dados de linguagem. Subdomínios notáveis do NLP incluem chatbots, reconhecimento de fala, tradução de idiomas, análise de sentimento, geração de texto, sumarização e agentes de IA. No NLP moderno, grandes modelos de linguagem continuam avançando como tecnologia de ponta em um ritmo sem precedentes.
Os modelos de séries temporais são aplicações de detecção de anomalias, análise de mercado e tarefas de previsão ou reconhecimento de padrões relacionados. Eles usam aprendizado de máquina em dados históricos para uma variedade de casos de uso de forecasting.
Modelos de difusão, autocodificadores variacionais (VAEs) e redes adversárias generativas (GANs) podem ser usados para gerar imagens originais que aplicam padrões de pixels aprendidos com dados de treinamento.
As operações de aprendizado de máquina (MLOps) são um conjunto de práticas para implementar uma abordagem de linha de montagem para criar, implementar e manter modelos de aprendizado de máquina.
A seleção cuidadosa e o pré-processamento dos dados de treinamento, bem como a seleção do modelo apropriado, são etapas cruciais no pipeline do MLOps. Uma validação pós-treinamento cuidadosa, desde o projeto de conjuntos de dados de benchmark até a priorização de métricas de desempenho específicas, é necessária para garantir que um modelo generalize bem (e não esteja apenas overfitting os dados de treinamento).
Após a implementação, os modelos devem ser monitorados quanto ao desvio do modelo, problemas de eficiência de inferência e outros desenvolvimentos adversos. Uma prática bem definida de governança do modelo é essencial para a eficácia contínua, especialmente em setores regulamentados ou em rápida mudança.
Existem várias ferramentas, bibliotecas e frameworks de código aberto para construir, treinar e testar projetos de aprendizado de máquina. Embora essas bibliotecas ofereçam uma variedade de módulos e abstrações pré-configuradas para simplificar o processo de criação de modelos e fluxos de trabalho baseados em ML, os profissionais precisarão se familiarizar com as linguagens de programação comumente usadas (especialmente Python) para fazer uso completo delas.
Bibliotecas de código aberto proeminentes, especialmente para construir modelos de deep learning, incluem PyTorch, TensorFlow, Keras e a biblioteca Hugging Face Transformers.
Bibliotecas e toolkits de aprendizado de máquina de código aberto notáveis focados em ML tradicional incluem Pandas, Scikit-learn, XGBoost, Matplotlib, SciPy e NumPy, entre muitos outros.
A própria IBM mantém e atualiza uma biblioteca significativa de tutoriais para iniciantes e profissionais avançados de ML.
Treine, valide, ajuste e implemente recursos de IA generativa, modelos de base e recursos de aprendizado de máquina com o IBM watsonx.ai, um estúdio empresarial de última geração para construtores de IA. Crie aplicações de IA em uma fração do tempo com uma fração dos dados.
Use a IA a serviço de sua empresa com a experiência e o portfólio de soluções líder do setor da IBM à sua disposição.
Reinvente os fluxos de trabalho e operações críticos adicionando IA para maximizar experiências, tomadas de decisão em tempo real e valor de negócios.
Todos os links levam para fora do site ibm.com
1. "Some Studies in Machine Learning Using the Game of Checkers," IBM Journal (accessed through MIT), 3 de julho de 1959
2. "Using Decision Trees as an Expert System for Clinical Decision Support for COVID-19," Interactive Journal of Medical Research, Vol 12, 30 de janeiro de 2023
3. "Kolmogorov's Mapping Neural Network Existence Theorem," Proceedings of the IEEE First International Conference on Neural Networks (accessed through University of Waterloo), 1987
4. "Multilayer Feedforward Networks with a Non-Polynomial Activation Function Can Approximate Any Function," Center for Research on Information Systems (New York University), março de 1992