O que são algoritmos de aprendizado de máquina?

Autora

Dave Bergmann

Senior Staff Writer, AI Models

IBM Think

O que são algoritmos de aprendizado de máquina?

Um algoritmo de aprendizado de máquina é o procedimento e a lógica matemática pelos quais uma "máquina" [um sistema de inteligência artificial (IA)] aprende a identificar padrões em dados de treinamento e a aplicar esse reconhecimento de padrões para fazer previsões precisas sobre novos dados. Os algoritmos de aprendizado de máquina são os blocos de construção fundamentais da IA moderna e da ciência de dados, desde modelos de regressão linear simples até técnicas de deep learning de ponta.

Os termos "algoritmo" e "modelo" são frequentemente usados de forma intercambiável, mas representam conceitos distintos (embora relacionados). Algoritmo é um termo genérico para um processo passo a passo, geralmente descrito em linguagem matemática ou pseudocódigo, para executar alguma função ou propósito. No contexto da inteligência artificial, um modelo de IA é qualquer programa que recebe dados de entrada e gera uma previsão ou decisão sem maior intervenção humana.

Um algoritmo de aprendizado de máquina é um conjunto definido de etapas usadas para treinar um modelo de aprendizado de máquina para que ele possa fazer previsões úteis em seu caso de uso do mundo real. Abrange não apenas a maneira como o modelo mapeia um ponto de dados de entrada para sua saída correspondente, mas também o processo de otimização das previsões do modelo para "ajustar" um conjunto de dados de treinamento de exemplos relevantes. É um algoritmo que possibilita que uma máquina aprenda com os dados.

Em termos simples, o resultado da aplicação de um algoritmo de aprendizado de máquina a um conjunto de dados é um modelo treinado. O "treinamento" pode ser entendido como um processo iterativo de atualização dos parâmetros do modelo (os aspectos ajustáveis da lógica matemática que o modelo usa para fazer previsões ou decisões sobre dados de entrada) de uma maneira que produza saídas mais úteis.

Embora existam algoritmos de aprendizado de máquina (ML) projetados explicitamente para treinar modelos para executar uma única tarefa específica, isso é uma exceção, não uma regra. De modo geral, cada algoritmo de ML tem qualidades matemáticas ou práticas específicas que são úteis para determinados tipos de tarefas (ou certos tipos ou quantidades de dados). Em muitos casos, a mesma técnica de aprendizado de máquina pode ser usada para treinar modelos para várias tarefas (embora semelhantes). Por outro lado, quase sempre há vários algoritmos de ML adequados para treinar um modelo para uma determinada tarefa.

O benefício central dos algoritmos de ML é que eles possibilitam que os modelos de IA aprendam implicitamente com a experiência. Isso contrasta com as técnicas de IA "clássicas" ou "baseadas em regras", que exigem que um cientista de dados, especialista no assunto ou engenheiro de ML programe manual e explicitamente a lógica de tomada de decisão do modelo. Nas últimas décadas, os sistemas de aprendizado de máquina emergiram como o modo dominante de inteligência artificial e análise de dados em relação à IA baseada em regras porque, entre outras razões, o aprendizado de máquina baseado em dados implícito é inerentemente mais flexível, escalável e acessível.

Dito isso, é essencial observar que ajustar um modelo aos seus dados de treinamento é apenas um meio para um fim. A premissa fundamental do aprendizado de máquina é que, se você otimizar o desempenho de um modelo em amostras de tarefas que se assemelham adequadamente aos problemas do mundo real para os quais ele será usado, o modelo treinado também terá um bom desempenho em novos dados que não viu no treinamento. O objetivo final do aprendizado de máquina é a generalização, a tradução do desempenho dos dados de treinamento para dados novos e não vistos. Um foco míope no treinamento em si mesmo corre o risco de overfitting, um fenômeno no qual o conhecimento de um modelo é tão completamente adaptado aos padrões em seus dados de treinamento que não pode generalizar, produzindo um modelo que se destaca no treinamento, mas falha em cenários do mundo real.

Treinar um modelo de aprendizado de máquina útil, portanto, envolve não apenas selecionar e configurar um tipo apropriado de algoritmo de ML, mas também a seleção adequada dos dados de treinamento e validação cuidadosa do desempenho pós-treinamento.

As mais recentes tendências em IA, trazidas a você por especialistas

Receba insights selecionados sobre as notícias mais importantes (e intrigantes) sobre IA. Inscreva-se no nosso boletim informativo semanal Think. Consulte a Declaração de privacidade da IBM.

Agradecemos a você! Você se inscreveu.

Sua assinatura será entregue em inglês. Você encontrará um link para cancelar a assinatura em cada boletim informativo. Você pode gerenciar suas assinaturas ou cancelar a assinatura aqui. Consulte nossa Declaração de privacidade da IBM para obter mais informações.

Tipos de algoritmos de aprendizado de máquina

Os algoritmos de aprendizado de máquina podem ser classificados em três categorias fundamentais: aprendizado supervisionado, aprendizado não supervisionado ou aprendizado por reforço. Cada um desses paradigmas de aprendizado é diferenciado principalmente por seus objetivos distintos, os tipos de tarefas de treinamento que esses objetivos envolvem e as técnicas usadas para otimizar o desempenho nessas tarefas.

  • Os algoritmos de aprendizado supervisionado treinam um modelo para prever a saída "correta" para uma determinada entrada: em outras palavras, para aprender o relacionamento entre variáveis independentes (as funcionalidades dos dados de entrada) e variáveis dependentes (a saída, ou "alvo"). Eles são usados para treinar modelos para tarefas que exigem algum grau de precisão em relação a alguma "verdade absoluta" conhecida, como classificação ou regressão. Essa verdade absoluta normalmente (mas nem sempre) vem na forma de dados rotulados: dados que foram anotados para fornecer contexto ao modelo — por exemplo, um conjunto de dados que contém rotulados [input, output] rotulados.

  • Os algoritmos de aprendizado não supervisionado treinam um modelo para discernir padrões intrínsecos, dependências e correlações em conjuntos de dados não rotulados. Ao contrário do aprendizado supervisionado, o aprendizado não supervisionado não implica a existência de nenhuma verdade absoluta externa em relação à qual suas saídas devam ser comparadas.

  • Os algoritmos de aprendizado por reforço (RL) treinam um modelo, por meio de tentativa e erro, para avaliar seu ambiente e adotar uma ação que dará a maior recompensa. O aprendizado por reforço é adequado para cenários que não implicam a existência de nenhuma verdade absoluta, mas implicam ações "boas" (a serem recompensadas) e ações "más" (a serem penalizadas). Enquanto o objetivo dos algoritmos de aprendizado supervisionado é otimizar os parâmetros de uma forma que minimize o erro, o objetivo dos algoritmos de aprendizado por reforço é otimizar os parâmetros do modelo de uma forma que maximize a recompensa.

Embora não existam algoritmos de ML que não se encaixem em nenhum desses três paradigmas, existem alguns métodos de aprendizado cuja categorização é relativamente ambígua. Por exemplo, o aprendizado semissupervisionado combina aprendizado supervisionado e não supervisionado; o aprendizado autossupervisionado manipula dados de entrada e projeta tarefas de treinamento de forma a permitir o aprendizado supervisionado com dados não rotulados.

Um modelo pode ser treinado com mais de um tipo de algoritmo de aprendizado de máquina. Por exemplo, grandes modelos de linguagem (LLMs) normalmente passam por seu treinamento inicial ("pré-treinamento") por meio de aprendizado autossupervisionado, mas recebem ajuste fino por meio de algoritmos de aprendizado supervisionado convencional e algoritmos de aprendizado por reforço. Da mesma forma, algoritmos de aprendizado conjunto implicam a agregação de vários modelos em um único modelo "final".

Os algoritmos de aprendizado de máquina não são únicos: cada algoritmo tem vários hiperparâmetros que devem ser configurados para melhor adequar um modelo ao cenário específico e ao conjunto de dados nos quais eles devem operar. Para uma analogia, considere a pizza: um "algoritmo" básico para fazer uma pizza poderia ser definido como colocar molho de tomate sobre uma massa circular, colocar queijo muçarela sobre o molho e assá-lo no forno, mas há um número quase infinito de maneiras específicas para que esse "algoritmo" possa ser configurado para acomodar gostos, ingredientes, orçamentos ou restrições específicas.

Mixture of Experts | 28 de agosto, episódio 70

Decodificando a IA: resumo semanal das notícias

Participe do nosso renomado painel de engenheiros, pesquisadores, líderes de produtos e outros enquanto filtram as informações sobre IA para trazerem a você as mais recentes notícias e insights sobre IA.

Algoritmos de aprendizado supervisionado

O objetivo formal de qualquer algoritmo de aprendizado de máquina supervisionado é otimizar os parâmetros do modelo de forma a minimizar a saída de uma função de perda que mede a divergência ("perda") entre a saída prevista de um modelo para cada entrada e a saída de verdade absoluta para cada uma dessas entradas.

No aprendizado supervisionado convencional, essa verdade absoluta é fornecida por dados rotulados. Por exemplo, treinar um modelo que detecta e-mails de spam normalmente exige que um anotador humano avalie manualmente um corpus de e-mails de exemplo e rotule cada um como "SPAM" ou "NÃO SPAM". O objetivo de treinar o modelo é ajustar os parâmetros do modelo até que as previsões de saída do modelo para um determinado e-mail se alinhem consistentemente com a forma como o ser humano rotulou esse e-mail. Como esse método envolve supervisão humana direta do que a máquina aprende, ele é chamado de aprendizado "supervisionado". O aprendizado supervisionado, por sua vez, é frequentemente definido simplesmente como um aprendizado de máquina que usa dados rotulados.

Mas algumas instâncias (particularmente no deep learning moderno) exigem conjuntos de dados tão grandes e pontos de dados tão complexos que obter dados de treinamento rotulados suficientes se torna proibitivamente demorado e trabalhoso. O aprendizado autossupervisionado, desenvolvido em grande parte para lidar com esses cenários, desenvolve tarefas de treinamento de forma que um rótulo (ou "pseudo-rótulo") possa ser inferido a partir de dados não rotulados. Isso sobrecarrega a definição convencional de aprendizado supervisionado como exigência de dados rotulados. Algoritmos de aprendizado supervisionado são, portanto, melhores e mais amplamente definidos como métodos de aprendizado de máquina que envolvem alguma verdade absoluta (ou "sinal de supervisão") para otimizar e alguma função de perda que compara as saídas do modelo com a verdade absoluta.

Algoritmos de aprendizado supervisionado são usados para treinar um modelo para tarefas de classificação, tarefas de regressão ou ambas.

  • A classificação implica previsões discretas, como a categoria específica à qual um ponto de dados pertence. As tarefas de classificação são binárias ("sim" ou "não", "aprovar" ou "rejeitar", "spam" ou "não spam") ou multiclasse. Alguns algoritmos de classificação são adequados apenas para classificação binária, mas qualquer classificador multiclassespode realizar a classificação binária.

  • A   regressão é usada para prever valores contínuos, como quantidades, preços, duração ou temperatura. Eles são usados em análises de séries temporais, forecasting, preços e previsões de probabilidade, entre muitos outros casos de uso.

Muitos algoritmos de aprendizado supervisionado podem ser usados para treinar modelos para regressão ou classificação. Por exemplo, um modelo poderia usar a regressão para prever a probabilidade de que um determinado ponto de dados pertença a cada categoria potencial, e, em seguida, produzir a categoria com a maior probabilidade.

Algoritmos de regressão comuns

  • A regressão linear está entre os algoritmos de aprendizado de máquina básicos amplamente utilizados. Os algoritmos de regressão linear calculam uma saída (variável dependente) como uma combinação ponderada de uma ou mais variáveis de entrada (variáveis independentes). Ao aprender o peso ideal para cada variável de entrada, o algoritmo produz a "linha de melhor ajuste" para os pontos de dados vistos no treinamento. Existe uma ampla gama de variantes e extensões de regressão linear que usam lógica semelhante para modelar relações mais matematicamente variadas entre variáveis dependentes e independentes, como regressão polinomial (que modela relações não lineares e curvas) ou regressão quantílica (que modela relações em pontos específicos na distribuição de um conjunto de dados).

  • Os algoritmos de árvores de decisão chegam às previsões de resultados finais por meio de uma sequência ramificada de decisões "if-then-else", que podem ser visualizadas como um diagrama semelhante ao de uma árvore. Podem ser utilizados para regressão e classificação. Ao contrário da maioria dos algoritmos de aprendizado supervisionado, o objetivo do algoritmo não é otimizar sua produção minimizando uma única função de perda global, mas sim otimizar o poder preditivo de cada nó da árvore.

  • Os modelos de espaço de estado (SSMs) modelam sistemas dinâmicos e dados sequenciais por meio de duas equações inter-relacionadas: uma, a equação de estado, descreve a dinâmica interna ("estado") de um sistema que não é diretamente observável; a outra, a equação de saída, descreve como essas dinâmicas internas se relacionam com os resultados observáveis, ou seja, com as saídas do sistema. Eles são usados em diversas áreas, desde engenharia elétrica até forecasting e processamento de linguagem natural (NLP).

Algoritmos de classificação comuns

  • Os classificadores Naïve Bayes operam na lógica do Teorema de Bayes, que é essencialmente uma formulação matemática da ideia de que informações de eventos posteriores (como um resultado) podem ser usadas para atualizar a compreensão de eventos anteriores (como entradas). Em outras palavras, o modelo aprende a importância relativa de uma determinada variável de entrada com base em quão fortemente ela se correlaciona com resultados específicos. Sua suposição epônima "ingênua (naive)" é que todas as funcionalidades que contribuem para uma classificação são independentes umas das outras. Essa simplificação torna o algoritmo rápido e eficaz para tarefas simples, como detecção de spam.

  • A regressão logística adapta o algoritmo de regressão linear para resolver problemas de classificação binária alimentando a soma ponderada das funcionalidades de entrada em uma função sigmoide, que esmaga qualquer entrada com um valor entre 0 e 1. O valor resultante pode ser interpretado como a probabilidade de um determinado evento (neste caso, uma classificação específica) ocorrer.

  • Os algoritmos de k-vizinhos mais próximos (KNN) classificam os pontos de dados com base em sua proximidade no espaço de embedding vetorial de outros pontos de dados já classificados (ou seja, rotulados), com a suposição de que pontos de dados semelhantes podem ser encontrados próximos uns dos outros. O k refere-se a quantos pontos de dados vizinhos são levados em consideração: por exemplo, em um algoritmo KNN onde k = 5, o ponto de dados de entrada será comparado com seus cinco vizinhos mais próximos e classificado de acordo com qualquer categoria mais representada entre esses cinco pontos de dados vizinhos.

  • As máquinas de vetores de suporte (SVMs) são modelos poderosos que realizam ostensivamente a classificação binária, mas também podem ser adaptadas para problemas de classificação multiclasses. O objetivo de um algoritmo SVM não é aprender diretamente a categorizar pontos de dados: em vez disso, seu objetivo é aprender a boundary de decisão ideal para separar duas categorias de pontos de dados rotulados para, em seguida, classificar novos pontos de dados com base em qual lado da boundary eles caírem. O algoritmo SVM define essa boundary como o hiperplano que maximiza a margem (ou lacuna) entre pontos de dados de classes opostas, um conceito semelhante à suposição de baixa densidade no aprendizado semissupervisionado. Logicamente, os únicos pontos de dados que podem dar suporte ao cálculo desse hiperplano são os pontos de dados de cada classe que estão mais próximos da boundary. As embeddings de vetores desses pontos de dados adjacentes da boundary são, portanto, chamadas de vetores de suporte.

Algoritmos de aprendizado autossupervisionado

O objetivo dos algoritmos de aprendizado autossupervisionado é realizar o aprendizado supervisionado sem a necessidade de dados rotulados por meio da criação de tarefas que utilizam a estrutura dos próprios dados não rotulados para sinais de supervisão. As técnicas de aprendizado autossupervisionado geralmente se enquadram em um dos dois subconjuntos: autoprevisão ou aprendizado contrastivo.

Autoprevisão

Os algoritmos de autoprevisão treinam um modelo para prever um aspecto de um ponto de dados quando recebem outras informações sobre esse ponto de dados. Yann LeCun articulou o objetivo de tais métodos em termos simples: "finja que há uma parte da entrada que você não conhece e preveja isso." 1 Por exemplo:

  • Prever qualquer parte do input a partir de qualquer outra parte
  • Prever o futuro com base no passado
  • Prever o mascarado a partir do visível
  • Prever qualquer parte oculta a partir de todas as partes disponíveis

Os modelos treinados com autoprevisão são normalmente generativos, não discriminativos. Exemplos proeminentes de modelos de aprendizado de máquina treinados usando algoritmos de autoprevisão incluem autocodificadores e grandes modelos de linguagem (LLMs):

  • Os autocodificadores têm a tarefa de reconstruir a entrada original depois de compactá-la para somente suas variáveis latentes. A entrada original serve como verdade absoluta.

  • Os LLMs autorregressivos (os modelos de geração de texto que ganharam fama após o lançamento do ChatGPT) são encarregados de prever iterativamente o próximo token em uma sequência, dados apenas os tokens anteriores nessa sequência. Para cada previsão, o próximo token real na sequência serve como verdade absoluta.

Aprendizado contrastivo

Os algoritmos de aprendizado contrastivo fornecem modelos com várias amostras de dados e os encarregam de prever o quanto eles são diferentes (ou semelhantes). Pares de pontos de dados são frequentemente criados por meio de aumento de dados: transformação ou perturbação de dados não rotulados para criar novas instâncias ou visualizações aumentadas. Por exemplo, as técnicas comuns de aumento de dados de imagens incluem rotação, corte aleatório, inversão, ruído, filtragem e colorizações.

O aprendizado contrastivo é usado de forma proeminente no treinamento de modelos de computer vision: por exemplo, pode ajudar um modelo a aprender a reconhecer o mesmo objeto quando visto de ângulos diferentes. Também é essencial no treinamento de IA multimodal: por exemplo, pode ajudar um modelo a aprender a "traduzir" embeddings de vetores de uma modalidade de dados (como texto) para outra (como fala ou imagens).

Algoritmos de aprendizado não supervisionado

O aprendizado de máquina não supervisionado é usado para ensinar modelos a descobrir padrões intrínsecos, correlações e estrutura em dados não rotulados. Diferentemente do aprendizado supervisionado, que envolve a existência de respostas “corretas” que o modelo deve aprender a produzir, ou o aprendizado por reforço, que envolve um espectro de ações “boas” e “ruins” que um modelo pode realizar, o aprendizado não supervisionado é mais útil em cenários em que a saída ideal não é conhecida com antecedência.

Esses objetivos não são regidos por nenhuma verdade absoluta predefinida ou estrutura de recompensa — portanto, "não supervisionados". Portanto, algoritmos de aprendizado não supervisionado não envolvem funções de perda, pois suas tarefas não implicam uma saída ideal conhecida em relação à qual medir e otimizar. O sucesso do processo de aprendizado é governado principalmente pelo ajuste manual de hiperparâmetros, em vez de por meio de algoritmos que otimizam os parâmetros internos do modelo.

Existem três subconjuntos fundamentais de algoritmos de aprendizado não supervisionado: algoritmos de agrupamento, algoritmos de associação e algoritmos de redução de dimensionalidade.

Algoritmos de agrupamento

Os algoritmos de agrupamento dividem pontos de dados não rotulados em "clusters", ou agrupamentos, com base em sua proximidade ou semelhança entre si, para tarefas como segmentação de mercado. Eles também podem ser usados como modelos preditivos para detecção de anomalias, ao aprender os clusters para os quais todos os pontos de dados devem ser classificados e identificando quando um valor discrepante não se encaixa perfeitamente em nenhum desses clusters.

  • Os algoritmos de cluster k-means particionam dados em k clusters em um determinado ponto de dados, que será atribuído ao cluster cujo centro (centroide) está mais próximo. O processo começa com uma colocação inicial de k centroides, que geralmente é aleatório (mas também pode ser determinado por regras específicas). Cada ponto de dados é atribuído ao cluster do centroide mais próximo. Cada centroide é, então, realocado para a posição que representa a média (mean) de todos os pontos de dados que acabaram de ser atribuídos a ele; os pontos de dados são novamente agrupados de acordo com o centroide mais próximo, e a posição de cada centroide é novamente ajustada. Esse processo se repete iterativamente até que a localização do centroide de cada cluster tenha se estabilizado.
  • Os modelos de mistura gaussiana (GMMs) são um algoritmo de agrupamento "suave". Um GMM pressupõe que um conjunto de dados é uma mistura de múltiplas distribuições gaussianas (ou seja, clássicas "normais" ou "curvas de Bell"), e prevê a probabilidade de que um determinado ponto de dados pertença a cada um desses clusters normalmente distribuídos. O algoritmo GMM foi projetado para aprender os parâmetros de cada distribuição gaussiana (especificamente, a média, a variância e o peso de cada distribuição) que melhor se adaptam ao conjunto de dados de treinamento.
  • O DBSCAN (Density-Based Spatial Clustering Applications with Noise) cria clusters a partir de pontos de dados que são cuidadosamente empacotados juntos. Em vez de agrupar todos os pontos de dados em clusters, ele marca os pontos de dados localizados sozinhos em regiões de baixa densidade como valores discrepantes. Ele identifica áreas como densas o suficiente para pertencer a um cluster com base no fato de um certo número de pontos de dados vizinhos estar localizado dentro de um raio especificado. Ao contrário do k-means, o DBSCAN pode encontrar clusters de formatos arbitrários e não exige que o número de clusters seja especificado de antemão.

Algoritmos de associação

  • Os algoritmos de associação identificam correlações entre variáveis em grandes conjuntos de dados. Eles são usados de forma proeminente em tarefas como análise de carrinhos de compras ou mecanismos de recomendação de produtos: por exemplo, um serviço de comércio eletrônico pode usar algoritmos de associação para identificar quais itens são frequentemente comprados combinados uns com os outros e usar essas informações para promover dinamicamente itens relacionados em seu inventário.

  • O algoritmoa priori é um método de associação clássico. O algoritmo faz múltiplas passagens pelo conjunto de dados usando uma abordagem "bottom-up", explorando a frequência de combinações progressivamente maiores de itens individuais e combinações de pruning que aparecem com pouca frequência. O princípio a priori sustenta que, se um agrupamento maior de itens for considerado frequente, qualquer subconjunto desse agrupamento também deve ser frequente; por outro lado, se um agrupamento menor de itens for considerado infrequente, então qualquer superconjunto incluindo esse agrupamento menor também deve ser infrequente. Embora seja simples e altamente adaptável, o algoritmo a priori pode passar a ter um uso intenso de memória e se tornar computacionalmente caro.

  • A contagem dinâmica de conjuntos de itens (DIC) é um método de associação mais eficiente em termos de computação, embora opere por meio de uma lógica semelhante à do algoritmo a priori clássico. Em vez de explorar todo o conjunto de dados a cada passagem, ele começa com apenas um subconjunto do banco de dados e, periodicamente, adiciona novos itens, expandindo "dinamicamente" seu foco.

Outros algoritmos de associação notáveis incluem o CHARM (abreviação de Closed Association Rule Mining — os autores do artigo CHARM observam que "o H é gratuito")2 e o CARMA (Continuous Association Rule Mining Algorithm).3

Algoritmos de redução de dimensionalidade

Os algoritmos de redução de dimensionalidade são projetados para receber um ponto de dados e produzir uma representação mais eficiente desse ponto de dados. Mais especificamente, eles foram projetados para aprender um mapeamento de pontos de dados de alta dimensão para um espaço onde possam ser descritos com precisão usando menos funcionalidades: em outras palavras, para reduzir o número de dimensões necessárias para representar os dados de forma eficaz.

A redução de dimensionalidade é frequentemente realizada como uma etapa de pré-processamento de dados, ajudando a reduzir a complexidade e o ruído nos dados para melhorar as previsões ou diminuir as demandas computacionais. É também uma etapa essencial na modelagem do espaço latente de um conjunto de dados: uma representação comprimida (de baixa dimensão) dos dados que retém apenas o subconjunto de funcionalidades mais relevantes para a tarefa em questão. Outros casos de uso comuns de redução de dimensionalidade incluem compactação de dados e visualização de dados.

  • A análise de componentes principais (PCA) simplifica conjuntos de dados complexos ao resumir as variáveis originais dos dados (muitas das quais estão frequentemente correlacionadas entre si e, portanto, um tanto redundantes) como um subconjunto menor de variáveis não correlacionadas, cada uma das quais sendo uma combinação linear das variáveis originais. Mais especificamente, o algoritmo prioriza os componentes principais dos dados: as combinações lineares de variáveis que possuem a maior variância em comparação com outras combinações lineares.

  • O embedding de vizinhos estocásticos distribuídos em t (t-SNE) é um algoritmo de redução de dimensionalidade não linear comumente utilizado para fins de visualização de dados. É usado quase exclusivamente para representar dados em duas ou três dimensões, com o objetivo principal de garantir que os pontos de dados próximos uns dos outros no espaço de alta dimensão permaneçam próximos no novo espaço de menor dimensão.

  • Os autocodificadores são um tipo de arquitetura de rede neural de codificadores-decodificadores treinada por meio do que pode mais comumente ser considerado um algoritmo de aprendizado autossupervisionado (em que seu objetivo é minimizar uma função de perda), mas, ainda assim, realizam redução de dimensionalidade de dados não rotulados, nesse caso modelando seu espaço latente. O codificador é composto por uma série de camadas progressivamente menores, forçando os dados de entrada a passarem por um "gargalo" que "espreme" os dados em dimensões cada vez menores antes de chegarem ao decodificador. O decodificador, que compreende uma série de camadas progressivamente maiores, é, então, encarregado de reconstruir os dados originais usando essa representação comprimida, com o objetivo de minimizar a perda de reconstrução. Isso força o codificador a aprender a extrair e transmitir somente as informações mais propícias à reconstrução precisa da entrada original.

Algoritmos de aprendizado semissupervisionado

O aprendizado semissupervisionadao que geralmente é empregado para os mesmos casos de uso que os métodos de aprendizado supervisionado, distingue-se por técnicas para incorporar dados não rotulados no treinamento do modelo juntamente com um subconjunto de dados rotulados. São especialmente úteis em situações em que obter dados rotulados suficientes é proibitivamente difícil ou caro, mas dados relevantes não rotulados são relativamente fáceis de adquirir.

Os exemplos não rotulados usados no aprendizado semissupervisionado devem ser relevantes para a tarefa que o modelo está sendo treinado para executar. Por exemplo, ao treinar um classificador de imagens para diferenciar entre imagens de gatos e cães, a inclusão de imagens não rotuladas de gatos e cães ajudará no treinamento, mas imagens de cavalos e motocicletas não. Essa condição informa uma série de suposições sobre como os pontos de dados se relacionam uns com os outros, que fornecem a lógica formal dos métodos semissupervisionados.

Os algoritmos de aprendizado semissupervisionadaosão geralmente categorizados como transdutivos, indutivos ou inerentemente autossupervisionados.

  • Os métodos transdutivos se concentram na classificação dos pontos de dados não rotulados disponíveis durante o treinamento para que possam ser posteriormente aplicados a algoritmos convencionais de aprendizado supervisionado. A propagação de rótulos, por exemplo, é um método baseado em gráficos que infere "pseudo-rótulos" para dados não rotulados ao "propagar" rótulos conhecidos para o ponto de dados localizado em nós vizinhos do gráfico.

  • Os métodos indutivos visam construir um modelo generalizável que possa classificar tanto os dados não rotulados presentes durante o treinamento, bem como quaisquer novos pontos de dados não vistos. No autotreinamento, um modelo é primeiro treinado com aprendizado supervisionado convencional em um pequeno conjunto de dados rotulado; o modelo é, então, encarregado de fazer previsões probabilísticas sobre pontos de dados não rotulados; somente previsões acima de um certo limite de confiança são aceitas. O cotreinamento estende o autotreinamento com o aprendizado colaborativo, treinando diferentes tipos de aprendizes básicos em diferentes funcionalidades dos dados. Os métodos cluster-then-label executam agrupamento não supervisionado em todos os pontos de dados disponíveis e, em seguida, atribuem rótulos a cada cluster com base em qual rótulo é mais frequentemente representado dentro desse cluster.

  • Alguns algoritmos, como redes de escadas4 ou máquinas de vetores de suporte semissupervisionado (S3VMs)5 são inerentemente projetados para aprendizado semissupervisionado (enquanto métodos transdutivos e indutivos adaptam ou adicionam etapas extras a algoritmos supervisionados convencionais).

Algoritmos de aprendizado por reforço

Os algoritmos de aprendizado por reforço (RL) são adequados para tarefas em que não há uma saída (ou ação) “correta” singular, mas há saídas “boas”. 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. No jargão do RL, a entidade que está sendo treinada é geralmente chamada de "agente".

Em vez de um sinal de supervisão e tarefas explicitamente definidas, eles vinculam um sinal de recompensa ,que permite aos modelos aprender de forma holística por meio de tentativa e erro. Esse sinal de recompensa pode vir de uma função de recompensa, de um modelo de recompensa treinado separadamente ou de um sistema de recompensa baseado em regras.

Os algoritmos de RL otimizam uma política. Em termos matemáticos, uma política ( π ) é uma função que recebe um estado ( s ) como entrada e retorna uma ação ( a ): π(s)→a. O objetivo de um algoritmo de RL é aprender a política que executa a ação que obterá a recompensa máxima para um determinado estado.

Os algoritmos de RL podem ser baseados em valor ou em políticas. Nos algoritmos baseados em políticas, um modelo aprende diretamente uma política ideal. Nos algoritmos baseados em valor, o agente aprende uma função de valor que calcula uma pontuação para o quanto cada estado é “bom”, normalmente com base no potencial de recompensa para ações que podem ser extraídas desse estado e, em seguida, escolhe ações que levam a resultados de maior valor . As abordagens híbridas aprendem uma função de valor que, por sua vez, é usada para otimizar uma política.

Algoritmos de reforço notáveis incluem:

  • O Q-learning, derivado de métodos baseados em valor

  • Otimização de políticas proximais (PPO),  um método baseado em políticas usado com destaque no aprendizado por reforço com feedback humano (RLHF)
    Ator-crítico e derivados, como ator-crítico de vantagem (A2C), que usam um híbrido de métodos baseados em valores e políticas

  • REINFORCE (abreviação de REward Increment = Nonnegative Factor × Offset Reinforcement × Characteristic Eligibility), um método seminal baseado em políticas

Algoritmos de aprendizado colaborativo

O aprendizado colaborativo refere-se a técnicas que combinam vários algoritmos de aprendizado de máquina (geralmente chamados de “aprendizes” nesse contexto) para alcançar um desempenho mais preciso ou mais confiável do que seria possível por meio de qualquer um de seus algoritmos constituintes sozinho.

Os algoritmos de aprendizado colaborativo normalmente utilizam técnicas de boosting, stacking ou bagging.

Impulsionamento

Os algoritmos de reforço criam modelos sequencialmente, onde cada novo modelo subsequente é treinado para corrigir os erros do modelo anterior. A progressão de aprendizes inicialmente "fracos" eventualmente culmina em um único aprendiz "forte" altamente preciso.

  • O boosting adaptativo (AdaBoost) dá mais peso às instâncias originalmente classificadas de forma incorreta pelo modelo anterior, garantindo que as atualizações do modelo subsequente priorizem a melhoria do desempenho nesses exemplos de treinamento. A previsão final é determinada pela maioria ponderada de votos, com os modelos posteriores e mais precisos tendo mais influência sobre a saída final.

  • O boosting de gradiente concentra-se nos erros cometidos por aprendizes anteriores, em vez de nos pontos de dados nos quais os modelos anteriores falharam. Mais especificamente, ele treina cada modelo para corrigir, ou seja, prever, os erros cometidos pelo modelo anterior em um determinado ponto de dados. Ao agregar as previsões de cada modelo subsequente, a colaboração pode, em última análise, fazer engenharia reversa da saída correta para o ponto de dados original. O XGBoost (abreviação de eXtreme Gradient Boosting) é uma biblioteca de aprendizado de máquina de código aberto para implementação eficiente de boosting de gradiente.

Bagging

Os algoritmos de bagging, também conhecidos como agregação de bootstrap, treinam vários modelos em paralelo em diferentes subconjuntos amostrados aleatoriamente do conjunto de dados de treinamento e, em seguida, combinam as previsões por meio de votação (em problemas de classificação) ou média (em problemas de regressão). Essa abordagem é altamente eficaz na redução da variância e na prevenção do overfitting.

O algoritmo random forest, por exemplo, usa bagging para construir colaborações de modelos de árvores de decisão não correlacionados.

Empilhamento

Algoritmos de stacking combinam previsões de vários aprendizes de base (cada um dos quais geralmente se especializa em um tipo específico de previsão) e, depois, treinam um "meta-modelo" final nas saídas desses modelos de base para aprender a melhor forma de combinar suas previsões para uma saída final mais precisa e robusta.

Na técnica relacionada de destilação de conhecimento, o modelo final é treinado não apenas nas previsões das saídas finais ("objetivos difíceis") dos aprendizes-base, mas também em suas saídas intermediárias ("logits" ou "objetivos fáceis"), na tentativa de replicar seus "processos de pensamento".

Algoritmos de deep learning

O deep learning é um subconjunto do aprendizado de máquina definido pelo uso de redes neurais artificiais de várias camadas, normalmente treinadas por meio de aprendizado supervisionado em dados rotulados ou (como é frequentemente o caso de modelos de IA generativa em particular) por meio de aprendizado autossupervisionado em dados não rotulados. No aprendizado por reforço profundo, uma rede neural profunda serve como política de um agente de RL. O deep learning impulsionou a maioria dos avanços de última geração em inteligência artificial desde o início da década de 2010. Entre seus pontos fortes mais importantes está a capacidade de automatizar o processo de engenharia de funcionalidades, que é muitas vezes manual no aprendizado de máquina tradicional.

Ao contrário dos algoritmos explicitamente definidos do aprendizado de máquina "tradicional", os modelos de deep learning compreendem muitas camadas interconectadas de “neurônios” (ou “nós”), onde cada uma realiza uma operação matemática (chamada “função de ativação”). A entrada para a função de ativação de cada neurônio é uma combinação ponderada das saídas das funções de ativação de cada um dos neurônios da camada anterior. Os neurônios na camada final calculam a saída final do modelo. 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. Embora as redes neurais na IA moderna sejam mais comumente associadas ao deep learning de ponta, as redes neurais "não profundas", como as máquinas de Boltzmann restritas, são usadas há décadas.

É a estrutura distribuída de algoritmos de deep learning que proporciona seu incrível poder e versatilidade. Imagine dados de treinamento como pontos de dados espalhados em um gráfico bidimensional, e o objetivo do treinamento de modelo é encontrar uma linha que passe por cada um desses pontos de dados. Enquanto os algoritmos tradicionais de aprendizado de máquina tentam esse feito com uma única função matemática que produz uma única linha (ou curva), os algoritmos de deep learning podem juntar um número arbitrário de linhas menores e ajustáveis individualmente para formar a forma desejada. As redes neurais profundas são aproximadores universais: foi provado teoricamente que, para qualquer função, existe um arranjo de rede neural que pode reproduzi-la.6

Arquiteturas versus algoritmos

  • No contexto de deep learning, tipos de modelos específicos são frequentemente chamados de "arquiteturas", um conceito relacionado, mas distinto de algoritmos.

  • Uma arquitetura de rede neural refere-se ao seu layout: o número e o tamanho das camadas; o uso de camadas especializadas; a escolha de funções de ativação. A mesma arquitetura de rede neural muitas vezes pode ser treinada para executar um dos vários tipos de tarefas ou processar uma das várias modalidades de dados.

  • Um algoritmo de deep learning abrange não apenas a arquitetura de rede neural usada para um modelo, mas a tarefa que ele está sendo treinado para executar e as etapas adotadas para otimizá-lo para essa tarefa.

Considere os autocodificadores: em termos de arquitetura, um autocodificador é um modelo de codificador-decodificador, em que sua rede de codificadores tem funcionalidades progressivamente menores, enquanto sua rede de decodificadores tem funcionalidades progressivamente maiores. Mas um autocodificador é apenas um dos muitos modelos de codificador-decodificador: por exemplo, os modelos desegmentação de imagens têm uma arquitetura muito semelhante, na qual camadas convolucionais menores progressivas reduzem a amostra de dados para isolar e segmentar características principais, seguidas por camadas progressivamente maiores que aumentam a amostra dos dados (segmentados) de volta ao seu tamanho original.

O que torna um autocodificador um autocodificador não é (apenas) sua arquitetura, mas o algoritmo usado para treiná-lo: um autocodificador é encarregado de reconstruir a entrada original e otimizado por meio do treinamento de modelo para minimizar uma função que mede a perda de reconstrução (frequentemente modificada por termos de regularização). Um modelo que tem uma arquitetura idêntica, mas é treinado para executar uma tarefa diferente e otimizado para um objetivo diferente, não é um autocodificador.

Soluções relacionadas
IBM watsonx.ai

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.

Conheça o watsonx.ai
Soluções de inteligência artificial

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.

Explore as soluções de IA
Consultoria e serviços em IA

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.

Explore os serviços de IA
Dê o próximo passo

Obtenha acesso completo aos recursos que abrangem o ciclo de vida do desenvolvimento da IA. Produza soluções poderosas de IA com interfaces fáceis de usar, fluxos de trabalhos e acesso a APIs e SDKs padrão do setor.

Explore o watsonx.ai Agende uma demonstração em tempo real
Notas de rodapé

Todos os links são externos a ibm.com. 
1. “Energy-Based Self-Supervised Learning,” Yann LeCun (acessado pela UCLA), 19 de novembro de 2019
2. “CHARM: An Efficient Algorithm for Closed Itemset Mining,” Proceedings of the 2002 SIAM International Conference on Data Mining
3. “Online Association Rule Mining,” Proceedings of the 1999 ACM SIGMOD International Conference on Management of Data, 1 de junho de 1999
4. “Semi-Supervised Learning with Ladder Networks,” arXiv, 24 de novembro de 2015
5. “Kolmogorov’s Mapping Neural Network Existence Theorem,” Proceedings of the IEEE First International Conference on Neural Networks (acessado pela University of Waterloo)1987
6. “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