Início
topics
aprendizado autossupervisionado
Publicado: 5 de dezembro de 2023
Colaboradores: Dave Bergmann
O aprendizado autossupervisionado é uma técnica de aprendizado de máquina que usa o aprendizado não supervisionado para tarefas que, convencionalmente, exigem aprendizado supervisionado. Em vez de depender de conjuntos de dados rotulados para sinais de supervisão, os modelos autossupervisionados geram rótulos implícitos a partir de dados não estruturados.
O aprendizado autossupervisionado (SSL) é particularmente útil em campos como visão computacional e processamento de linguagem natural (PNL), que exigem grandes quantidades de dados rotulados para treinar modelos de inteligência artificial (IA) de última geração. Como esses conjuntos de dados rotulados exigem anotações demoradas feitas por especialistas humanos, a coleta de dados suficientes pode ser proibitivamente difícil. As abordagens autossupervisionadas podem ser mais econômicas e menos demoradas, pois substituem parte ou toda a necessidade de rotular manualmente os dados de treinamento.
Para treinar um modelo de deep learning para tarefas que exijem precisão, como classificação ou regressão, é preciso poder comparar as previsões de saída do modelo para um determinado input com as previsões "corretas" para esse input, geralmente chamadas de verdade absoluta. Normalmente, os dados de treinamento rotulados manualmente servem como essa verdade absoluta: como esse método requer intervenção humana direta, ele é chamado de aprendizado "supervisionado". No aprendizado autossupervisionado, as tarefas são projetadas de forma que a "verdade absoluta" possa ser inferida a partir de dados não rotulados.
No SSL, as tarefas se enquadram em duas categorias: tarefas pré-texto e tarefas posteriores. Em uma tarefa de pretexto, o SSL é usado para treinar um sistema de IA para aprender representações significativas de dados não estruturados. Essas representações aprendidas podem ser usadas posteriormente como input em uma tarefa posterior, como uma tarefa de aprendizado supervisionado ou uma tarefa de aprendizado por reforço. A reutilização de um modelo pré-treinado em uma nova tarefa é chamada de "aprendizagem por transferência".
O aprendizado autossupervisionado é usado no treinamento de um conjunto diversificado de arquiteturas sofisticadas de deep learning para uma variedade de tarefas, desde grandes modelos de linguagem baseados em transformadores (LLMs), como BERT e GPT, até modelos de síntese de imagens, como autoencodificadores variacionais (VAEs), redes adversárias generativas (GANs) e modelos de visão computacional, como SimCLR e Momentum Contrast (MoCo).
Um estúdio empresarial de última geração para desenvolvedores de IA treinarem, validarem, ajustarem e implementarem modelos de IA.
Embora o aprendizado autossupervisionado seja tecnicamente um subconjunto do aprendizado não supervisionada (já que não requer um conjunto de dados rotulados), ele está intimamente relacionado ao aprendizado supervisionado , pois otimiza o desempenho em relação a uma verdade absoluta.
Essa combinação imperfeita dos dois paradigmas convencionais de aprendizado de máquina fez com que as várias técnicas agora chamadas coletivamente de "aprendizado autossupervisionado" recebessem sua própria categorização.
A criação do termo é frequentemente atribuída a Yann LeCun, cientista da computação ganhador do Prêmio Turing e figura-chave no advento do deep learning,1 que declarou ser necessário separar o SSL do aprendizado verdadeiramente não supervisionado (que ele chamou de "um termo carregado e confuso").2 O nome (e o conceito formal) pode ter sua origem em um artigo de 2007 de Raina, et al, intitulado "Self-taught learning: Transfer learning from unlabeled data".3 Algumas estruturas de aprendizado de máquina agora consideradas SSL, como os codificadores automáticos, são anteriores à existência do termo em si em vários anos.
O aprendizado autossupervisionado é um subconjunto do aprendizado não supervisionado: todas as técnicas de aprendizado autossupervisionado são aprendizados não supervisionados, mas a maior parte do aprendizado não supervisionado não implica em autossupervisão.
Nem o aprendizado não supervisionado nem o autossupervisionado usam rótulos no processo de treinamento: ambos os métodos aprendem correlações e padrões intrínsecos nos dados não rotulados, em vez de correlações impostas externamente a partir de conjuntos de dados anotados. Além desse foco compartilhado em dados não rotulados, as diferenças entre o aprendizado autossupervisionado e o não supervisionado refletem amplamente as diferenças entre o aprendizado não supervisionado e o supervisionado.
Os problemas que usam o aprendizado não supervisionado convencional não medem os resultados em relação a nenhuma verdade absoluta pré-conhecida. Por exemplo, um modelo de associação não supervisionado poderia alimentar um mecanismo de recomendação de comércio eletrônico, aprendendo quais produtos são frequentemente comprados juntos. A utilidade do modelo não é derivada da replicação de previsões humanas, mas da descoberta de correlações não aparentes para observadores humanos.
O aprendizado autossupervisionado mede os resultados em relação a uma verdade absoluta, embora seja implicitamente derivado de dados de treinamento não rotulados. Assim como os modelos supervisionados, os modelos autossupervisionados são otimizados usando uma função de perda: um algoritmo que mede a divergência ("perda") entre a verdade absoluta e as previsões do modelo. Durante o treinamento, os modelos autossupervisionados usam o gradiente decrescente durante a retropropagação para ajustar os pesos do modelo de forma a minimizar a perda (e, assim, aumentar a precisão).
Devido a essa diferença fundamental, os dois métodos se concentram em casos de uso diferentes: os modelos não supervisionados são usados para tarefas como agrupamento, detecção de anomalias e redução de dimensionalidade, que não exigem uma função de perda, enquanto os modelos autossupervisionados são usados para tarefas de classificação e regressão típicas do aprendizado supervisionado.
Embora o aprendizado supervisionado e o autossupervisionado sejam amplamente usados para os mesmos tipos de tarefas e ambos exijam uma verdade absoluta para otimizar o desempenho por meio de uma função de perda, os modelos autossupervisionados são treinados com dados não rotulados, enquanto o aprendizado supervisionado requer um conjunto de dados rotulados para treinamento.
Os conjuntos de dados rotulados são altamente eficazes no treinamento de modelo: a anotação de dados de treinamento permite que um modelo aprenda diretamente os principais recursos e correlações que essas anotações refletem. Ao minimizar a divergência entre as previsões do modelo e as "previsões" anotadas à mão por especialistas humanos durante o treinamento, os modelos supervisionados aprendem a fazer inferências corretas sobre novos dados de input (não rotulados).
Embora a abordagem supervisionada de última geração possa produzir uma alta precisão, a anotação de grandes quantidades de treinamento costuma ser um gargalo no processo de pesquisa. Por exemplo, em tarefas de visão computacional como a segmentação de instâncias que requerem previsões específicas por pixel, a anotação dos dados de treinamento deve ser feita no nível do pixel. É um processo caro e demorado, e limita tanto a quantidade de dados de treinamento disponíveis quanto a capacidade da maioria das empresas e pesquisadores de obtê-los.
Por outro lado, os modelos autossupervisionados usam várias técnicas para obter sinais de supervisão a partir da estrutura dos próprios dados de input, evitando totalmente os rótulos. Por exemplo, ocultando (ou “mascarando”) aleatoriamente partes de uma frase e encarregando um modelo autosupervisionado de prever as palavras ocultas, usando a frase original (sem rótulo) como verdade absoluta.
Diferentemente do aprendizado autossupervisionado, que não envolve dados rotulados por humanos, o aprendizado semissupervisionado usa dados rotulados e não rotulados para treinar os modelos. Por exemplo, um modelo semissupervisionado pode usar uma pequena quantidade de pontos de dados rotulados para inferir rótulos para o restante de um conjunto de dados de treinamento não rotulados e, em seguida, usar todo o conjunto de dados para aprendizado supervisionado. Embora suas motivações sejam semelhantes, pois ambas as abordagens contornam a necessidade de um grande conjunto de dados rotulados no aprendizado supervisionado, suas respectivas metodologias são diferentes.
As tarefas de aprendizado autossupervisionado são projetadas de forma que uma função de perda possa usar dados de input não rotulados como verdade absoluta. Isso permite que o modelo aprenda representações precisas e significativas dos dados de input sem rótulos ou anotações.
O objetivo do aprendizado autossupervisionado é minimizar ou substituir completamente a necessidade de dados rotulados. Embora os dados rotulados sejam relativamente escassos e caros, os dados não rotulados são abundantes e relativamente baratos. Basicamente, as tarefas de pré-texto produzem "pseudo-rótulos" a partir de dados não rotulados. O termo "pré-texto" implica que a tarefa de treinamento não é (necessariamente) útil por si só: ela é útil somente porque ensina representações de dados de modelos que são úteis para os propósitos das tarefas posteriores. As tarefas de pré-texto também são, portanto, muitas vezes chamadas de aprendizado de representação.
Os modelos pré-treinados com SSL geralmente são ajustados para suas tarefas específicas posteriores: esse ajuste fino geralmente envolve aprendizado supervisionado real (embora com uma fração dos dados rotulados necessários para treinar um modelo apenas com aprendizado supervisionado).
Embora a disciplina de SSL seja diversa tanto em termos de metodologia quanto de casos de uso, os modelos treinados com SSL usam uma (ou ambas) das duas técnicas de aprendizado de máquina: aprendizado autopreditivo e aprendizado contrastivo.
Também conhecido como aprendizado autossupervisionado autoassociativo, os métodos de autopredição treinam um modelo para prever parte de uma amostra de dados individual, com informações sobre suas outras partes. Os modelos treinados com esses métodos são, em geral, modelos generativos, e não discriminativos.
Yann LeCun caracterizou os métodos autossupervisionados como uma prática estruturada de "preencher os espaços em branco". Em linhas gerais, ele descreveu o processo de aprendizado de representações significativas a partir da estrutura subjacente de dados não rotulados em termos simples: "finja que há uma parte do input que você não conhece e preveja isso." 4 Por exemplo:
Os sistemas autossupervisionados criados com base nessas filosofias geralmente empregam determinadas arquiteturas de modelos e técnicas de treinamento.
Codificadores automáticos
Um codificador automático é uma rede neural treinada para comprimir (ou codificar) dados de input e, em seguida, reconstruir (ou decodificar) o input original usando essa representação comprimida. Eles são treinados para minimizar o erro de reconstrução, usando o próprio input original como verdade absoluta.
Embora as arquiteturas de codificadores automáticos variem, elas normalmente introduzem alguma forma de gargalo: à medida que os dados atravessam a rede do codificador, a capacidade de dados de cada camada é progressivamente reduzida. Isso força a rede a aprender apenas os padrões mais importantes ocultos nos dados do input – chamados de variáveis latentes ou espaço latente – para que a rede do decodificador possa reconstruir com precisão o input original, apesar de agora ter menos informações.
As modificações nessa estrutura básica permitem que os codificadores automáticos aprendam recursos e funções úteis.
Autoregressão
Os modelos autorregressivos usam o comportamento passado para prever o comportamento futuro. Eles trabalham com a lógica de que qualquer dado com uma ordem sequencial inata – como linguagem, áudio ou vídeo – pode ser modelado com regressão.
Os algoritmos de autorregressão modelam dados de séries temporais, usando os valores das etapas de tempo anteriores para prever o valor da etapa de tempo seguinte. Enquanto nos algoritmos de regressão convencionais, como os usados para regressão linear, as variáveis independentes são usadas para prever um valor-alvo (ou variável dependente), na autorregressão as variáveis independente e dependente são basicamente a mesma coisa: ela é chamada de autorregressão porque a regressão é realizada na própria variável.
A autorregressão é usada de forma proeminente em modelos de linguagem causal, como as famílias GPT, LLaMa e Claude de LLMs que se destacam em tarefas como geração de texto e resposta a perguntas. No pré-treinamento, os modelos de linguagem recebem o início de frases de amostra extraídas de dados de treinamento não rotulados e têm a tarefa de prever a próxima palavra, com a próxima palavra "real" da frase de amostra servindo como verdade absoluta.
Mascaramento
Outro método de aprendizado autossupervisionado envolve o mascaramento de determinadas partes de uma amostra de dados não rotulada e a tarefa de modelos de prever ou reconstruir as informações ausentes. As funções de perda usam o input original (pré-mascaramento) como verdade absoluta. Por exemplo, os codificadores automáticos mascarados são como uma inversão dos codificadores de áudio de redução de ruído: eles aprendem a prever e a restaurar informações ausentes, em vez de remover informações estranhas.
O mascaramento também é usado no treinamento de modelos de linguagem mascarados: palavras aleatórias são omitidas das frases de amostra e os modelos são treinados para preenchê-las. Embora os modelos de linguagem mascarada, como o BERT (e os muitos modelos criados a partir de sua arquitetura, como o BART e o RoBERTa), geralmente sejam menos hábeis na geração de texto do que os modelos autorregressivos, eles têm a vantagem de serem bidirecionais: podem prever não apenas a próxima palavra, mas também palavras anteriores ou palavras encontradas posteriormente em uma sequência. Isso os torna adequados para tarefas que exigem uma forte compreensão contextual, como tradução, resumo e pesquisa.
Previsão de relacionamento inato
A previsão de relacionamento inato treina um modelo para manter sua compreensão de uma amostra de dados depois que ela é de alguma forma transformada. Por exemplo, girar uma imagem de input e solicitar a um modelo que preveja o grau de alteração e a direção da rotação em relação à imagem original.5
Os métodos de aprendizado autossupervisionado contrastivo fornecem modelos com várias amostras de dados e os encarregam de prever a relação entre eles. Os modelos treinados com esses métodos geralmente são modelos discriminativos, e não generativos.
Os modelos contrastivos geralmente funcionam com pares de dados-dados para treinamento, enquanto os modelos autoassociativos funcionam com pares de dados-rótulos (em que o rótulo é autogerado a partir dos dados). Usando esses pares de dados-dados, os métodos contrastivos treinam modelos para distinguir entre coisas semelhantes e diferentes.
Esses pares são frequentemente criados por meio de aumento de dados: aplicação de diferentes tipos de transformação ou perturbações em dados não rotulados para criar novas instâncias ou visualizações aumentadas. Por exemplo, as técnicas comuns de aumento de dados de imagem incluem rotação, corte aleatório, inversão, ruído, filtragem e colorizações. O aumento de dados aumenta a variabilidade dos dados e expõe o modelo a diferentes perspectivas, o que ajuda a garantir que o modelo aprenda a capturar representações semânticas dinâmicas e significativas.
Discriminação de instância
Os modelos baseados em discriminação de instância enquadram o treinamento como uma série de tarefas de classificação binária: usando uma amostra de dados como alvo (ou "âncora"), outras amostras de dados são determinadas como "positivas" (correspondentes) ou "negativas" (não correspondentes).
Na visão computacional, esses métodos, como o SimCLR ou o MoCo, normalmente começam com um lote de imagens brutas não rotuladas e aplicam uma combinação aleatória de transformações para gerar pares (ou conjuntos) de amostras de imagens aumentadas. Cada uma dessas imagens aumentadas é então codificada em uma representação vetorial, e uma função de perda contrastiva é usada para minimizar a diferença nas representações vetoriais entre correspondências positivas – pares de imagens aumentadas derivadas da mesma imagem original – e maximizar a diferença entre correspondências negativas.
Sendo assim, os métodos de discriminação de instância treinam modelos para aprender representações de diferentes categorias que, graças a aumentos de dados aleatórios, são capazes de lidar com variações triviais (como a cor, a perspectiva ou as partes visíveis de uma imagem específica). Assim, essas representações se generalizam muito bem para tarefas posteriores.
Aprendizado não contrastivo
De forma um tanto contraintuitiva, o "aprendizado não contrastivo" se refere a um método intimamente relacionado ao aprendizado contrastivo (em vez de, como se poderia supor, ser um apanhado geral dos métodos que não são de aprendizado contrastivo). Os modelos são treinados usando apenas pares positivos, aprendendo a minimizar a diferença entre suas representações - portanto, não contrastivos.
Em comparação com o aprendizado contrastivo, a abordagem não contrastiva é relativamente simples: como ela opera somente em amostras positivas, ela usa lotes menores durante o treinamento e não precisa de um banco de memória para armazenar amostras negativas. Isso economiza memória e custo computacional durante o pré-treinamento.
Modelos não contrastivos, como o Bootstrap Your Own Latent (BYOL)6 e Barlow Twins7, alcançaram resultados competitivos com os resultados contrastivos e puramente supervisionados.
Aprendizado multimodal
Dados alguns pontos de dados de diferentes tipos – modalidades – os métodos contrastivos podem aprender a mapear entre essas modalidades. Por exemplo, o Contrastive Language-Image Pre-training (CLIP) treina conjuntamente um codificador de imagem e um codificador de texto para prever qual legenda combina com qual imagem, usando milhões de pares não rotulados (imagem, texto) prontamente disponíveis coletados da internet. Após o pré-treinamento, o processamento de linguagem natural (NLP) é usado para fazer referência aos conceitos visuais aprendidos no treinamento (ou mesmo para descrever novos conceitos visuais), tornando os modelos treinados pelo CLIP altamente úteis para uma ampla gama de aplicações de aprendizado por transferência.
O aprendizado contrastivo também tem sido usado para aprender alinhamentos entre vídeo e texto,8 vídeo e áudio,9 e fala e texto.10
O aprendizado autossupervisionado tem sido usado para pré-treinar modelos de inteligência artificial para uma ampla gama de tarefas e disciplinas.
Saiba mais sobre como o aprendizado autossupervisionado se encaixa no mundo mais amplo do aprendizado de máquina.
Saiba mais sobre qual tipo de modelo de aprendizado de máquina é melhor para você: aprendizado supervisionado ou não supervisionado?
Saiba como funciona o aprendizado supervisionado e como ele pode ser usado para criar modelos de aprendizado de máquina altamente precisos para uma variedade de tarefas.
Saiba como funciona o aprendizado não supervisionado e como ele pode ser usado para explorar e agrupar dados para uma variedade de casos de uso.
Todos os links levam para fora do site ibm.com
1 "Fathers of the Deep Learning Revolution Receive ACM A.M. Turing Award," Association for Computing Machinery, 27 de março de 2019
2 Facebook, Yann LeCun, 30 de abril 2019
3 "Self-taught learning: transfer learning from unlabeled data," Proceedings of the 24th international conference on machine learning, 20 de junho de 2007
4 Lecture: Energy based models and self-supervised learning, YouTube, uploaded 2020
5 "Learning to see by moving," arXiv, 14 de setembro de 2015
6 "Bootstrap Your Own Latent: A New Approach to Self-Supervised Learning," arXiv, 10 de setembro de 2020
7 "Barlow Twins: Self-Supervised Learning via Redunancy Reduction," arXiv, 14 de junho de 2021
8 "VideoCLIP: Contrastive Pre-Training for Zero-shot Video-Text Understanding," arXiv, 1 de outubro de 2021
9 "Active Contrasting Learning of Audio-Visual Video Representations," Proceedings of the International Conference on Learning Representations, 2021
10 "Cross-modal Contrastive Learning for Speech Translation," arXiv, 5 de maio de 2022
11 "Understanding searches better than ever before," Google, 25 de outubro de 2019
12 "End-to-End Query Term Weighting," Google, 2023
13 "WaveNet: A Generative Model for Raw Audio," arXiv, 19 de setembro de 2016
14 "Wave2vec: State-of-the-art speech recognition through self-supervision," Meta, 19 de setembro de 2019
15 "Self-supervised learning for medical image classification: a systematic review and implementation guidelines," Nature, 26 de abril de 2023
16 "Momentum Contrast for Unsupervised Visual Representation Learning," arXiv, 13 de novembro de 2019 (revisado pela última vez em 23 de março de 2020)
17 "Deep Projective Rotation Estimation through Relative Supervision," arXiv, 21 de novembro de 2022
18 "Orienting Novel 3D Objects Using Self-Supervised Learning of Rotation Transforms," arXiv, 29 de maio de 2021
19 "Masked Motion Encoding for Self-Supervised Video Representation Learning," The Computer Vision Foundation, Oct 2022
20 "High-Resolution Image Synthesis with Latent Diffusion Models," arXiv, 20 de dezembro de 2021 (revisado pela última vez em 13 de abril de 2022)
21 "DALL-E: Creating images from text," OpenAI, 5 de janeiro de 2021