Fundamentos de IA
O que é Aprendizado de Poucas Oportunidades?
O aprendizado de poucas oportunidades refere-se a uma variedade de algoritmos e técnicas usados para desenvolver um modelo de IA usando uma quantidade muito pequena de dados de treinamento. O aprendizado de poucas oportunidades visa permitir que um modelo de IA reconheça e classifique novos dados após ser exposto a poucos exemplos de treinamento. O treinamento de poucas oportunidades contrasta com os métodos tradicionais de treinamento de modelos de aprendizado de máquina, onde uma grande quantidade de dados de treinamento é normalmente usada. O aprendizado de poucas oportunidades é usado principalmente em visão computacional.
Para desenvolver uma melhor intuição sobre o aprendizado de poucas oportunidades, vamos examinar o conceito em mais detalhes. Vamos examinar as motivações e conceitos por trás do aprendizado de poucas oportunidades, explorar alguns tipos diferentes de aprendizado de poucas oportunidades e cobrir alguns modelos usados no aprendizado de poucas oportunidades em um nível alto. Finalmente, vamos examinar algumas aplicações para o aprendizado de poucas oportunidades.
O que é Aprendizado de Poucas Oportunidades?
“Aprendizado de poucas oportunidades” descreve a prática de treinar um modelo de aprendizado de máquina com uma quantidade mínima de dados. Normalmente, os modelos de aprendizado de máquina são treinados em grandes volumes de dados, quanto mais, melhor. No entanto, o aprendizado de poucas oportunidades é um conceito importante de aprendizado de máquina por várias razões.
Uma razão para usar o aprendizado de poucas oportunidades é que pode reduzir drasticamente a quantidade de dados necessários para treinar um modelo de aprendizado de máquina, o que reduz o tempo necessário para rotular grandes conjuntos de dados. Da mesma forma, o aprendizado de poucas oportunidades reduz a necessidade de adicionar recursos específicos para várias tarefas ao usar um conjunto de dados comum para criar diferentes amostras. O aprendizado de poucas oportunidades pode idealmente tornar os modelos mais robustos e capazes de reconhecer objetos com base em menos dados, criando modelos mais gerais em vez de modelos altamente especializados que são a norma.
O aprendizado de poucas oportunidades é mais comumente usado no campo da visão computacional, pois a natureza dos problemas de visão computacional exige grandes volumes de dados ou um modelo flexível.
Sub-Categorias
A frase “aprendizado de poucas oportunidades” é apenas um tipo de aprendizado que usa muito poucos exemplos de treinamento. Como você está usando apenas “poucos” exemplos de treinamento, existem subcategorias de aprendizado de poucas oportunidades que também envolvem treinamento com uma quantidade mínima de dados. “Aprendizado de uma única oportunidade” é outro tipo de treinamento de modelo que envolve ensinar um modelo a reconhecer um objeto após ver apenas uma imagem desse objeto. As táticas gerais usadas em aprendizado de uma única oportunidade e aprendizado de poucas oportunidades são as mesmas. Esteja ciente de que o termo “aprendizado de poucas oportunidades” pode ser usado como um termo genérico para descrever qualquer situação em que um modelo está sendo treinado com muito poucos dados.
Abordagens para o Aprendizado de Poucas Oportunidades
A maioria das abordagens de aprendizado de poucas oportunidades se encaixa em uma das três categorias: abordagens de nível de dados, abordagens de nível de parâmetro e abordagens baseadas em métricas.
Abordagens de Nível de Dados
As abordagens de nível de dados para o aprendizado de poucas oportunidades são muito simples em conceito. Para treinar um modelo quando você não tem dados de treinamento suficientes, você pode simplesmente obter mais dados de treinamento. Existem várias técnicas que um cientista de dados pode usar para aumentar a quantidade de dados de treinamento que ele tem.
Dados de treinamento semelhantes podem apoiar os dados de treinamento exatos que você está treinando um classificador. Por exemplo, se você estiver treinando um classificador para reconhecer tipos específicos de cães, mas não tiver muitas imagens da espécie específica que você está tentando classificar, você poderia incluir muitas imagens de cães que ajudariam o classificador a determinar as características gerais que compõem um cão.
Aumento de dados pode criar mais dados de treinamento para um classificador. Isso normalmente envolve aplicar transformações aos dados de treinamento existentes, como girar imagens existentes para que o classificador examine as imagens de diferentes ângulos. GANs também podem ser usados para gerar novos exemplos de treinamento com base no que aprendem com os poucos exemplos autênticos de dados de treinamento que você tem.
Abordagens de Nível de Parâmetro
Meta-aprendizado
Uma abordagem de nível de parâmetro para o aprendizado de poucas oportunidades envolve o uso de uma técnica chamada “meta-aprendizado”. O meta-aprendizado envolve ensinar um modelo a aprender quais recursos são importantes em uma tarefa de aprendizado de máquina. Isso pode ser feito criando um método para regular como o espaço de parâmetros de um modelo é explorado.
O meta-aprendizado usa dois modelos diferentes: um modelo de professor e um modelo de aluno. O modelo de professor aprende a encapsular o espaço de parâmetros, enquanto o algoritmo de aluno aprende a reconhecer e classificar os itens reais no conjunto de dados. Em outras palavras, o modelo de professor aprende a otimizar um modelo, enquanto o modelo de aluno aprende a classificar. As saídas do modelo de professor são usadas para treinar o modelo de aluno, mostrando ao modelo de aluno como negociar o grande espaço de parâmetros que resulta de muito poucos dados de treinamento. Daí o “meta” no meta-aprendizado.
Um dos principais problemas com os modelos de aprendizado de poucas oportunidades é que eles podem facilmente sobreajustar os dados de treinamento, pois frequentemente têm espaços de alta dimensionalidade. Limitar o espaço de parâmetros de um modelo resolve esse problema, e embora possa ser feito aplicando técnicas de regularização e selecionando as funções de perda adequadas, o uso de um algoritmo de professor pode melhorar significativamente o desempenho de um modelo de aprendizado de poucas oportunidades.
Um modelo de classificador de aprendizado de poucas oportunidades (o modelo de aluno) tentará generalizar com base nos poucos dados de treinamento que ele recebe, e sua precisão pode melhorar com um modelo de professor para direcioná-lo através do grande espaço de parâmetros de alta dimensionalidade. Essa arquitetura geral é referida como um “aprendizado de meta-gradiente”.
O processo completo de treinamento de um aprendizado de meta-gradiente é o seguinte:
- Criar o modelo de base (modelo de professor)
- Treinar o modelo de base no conjunto de suporte
- Fazer o modelo de base retornar previsões para o conjunto de consulta
- Treinar o modelo de meta-aprendizado (modelo de aluno) na perda derivada do erro de classificação
Variações no Meta-aprendizado
Meta-aprendizado Agnóstico ao Modelo é um método usado para aumentar a técnica básica de meta-aprendizado de gradiente que cobrimos acima.
Como cobrimos acima, um aprendizado de meta-gradiente usa a experiência prévia adquirida por um modelo de professor para ajustar finamente a si mesmo e fornecer previsões mais precisas para uma pequena quantidade de dados de treinamento. No entanto, começar com parâmetros inicializados aleatoriamente significa que o modelo ainda pode potencialmente sobreajustar os dados. Para evitar isso, um “aprendizado de meta-agnóstico ao modelo” é criado limitando a influência do modelo de professor/modelo de base. Em vez de treinar o modelo de aluno diretamente na perda para as previsões feitas pelo modelo de professor, o modelo de aluno é treinado na perda para as suas próprias previsões.
Para cada episódio de treinamento de um aprendizado de meta-agnóstico ao modelo:
- Uma cópia do modelo de meta-aprendizado atual é criada.
- A cópia é treinada com a ajuda do modelo de base/modelo de professor.
- A cópia retorna previsões para os dados de treinamento.
- A perda computada é usada para atualizar o modelo de meta-aprendizado.
Aprendizado de Métricas
As abordagens de aprendizado de métricas para projetar um modelo de aprendizado de poucas oportunidades normalmente envolvem o uso de métricas de distância básicas para fazer comparações entre amostras em um conjunto de dados. Algoritmos de aprendizado de métricas, como a distância do cosseno, são usados para classificar amostras de consulta com base em sua semelhança com as amostras de suporte. Para um classificador de imagens, isso significaria apenas classificar imagens com base na semelhança de características superficiais. Após selecionar e transformar um conjunto de suporte de imagens em um vetor de incorporação, o mesmo é feito com o conjunto de consulta e, em seguida, os valores para os dois vetores são comparados, com o classificador selecionando a classe que tem os valores mais próximos do conjunto de consulta vetorializado.
Uma solução de métrica mais avançada é a “rede prototípica”. Redes prototípicas agrupam pontos de dados juntos, combinando modelos de agrupamento com a classificação baseada em métricas descrita acima. Como no agrupamento K-means, centros de cluster são computados para as classes no conjunto de suporte e no conjunto de consulta. Uma métrica de distância euclidiana é aplicada para determinar a diferença entre os conjuntos de consulta e os centros do conjunto de suporte, atribuindo o conjunto de consulta à classe do conjunto de suporte que está mais próxima.
A maioria das outras abordagens de aprendizado de poucas oportunidades são apenas variações das técnicas básicas cobertas acima.
Aplicações para o Aprendizado de Poucas Oportunidades
O aprendizado de poucas oportunidades tem aplicações em muitos subcampos diferentes da ciência de dados, como visão computacional, processamento de linguagem natural, robótica, saúde e processamento de sinais.
As aplicações para o aprendizado de poucas oportunidades no espaço de visão computacional incluem reconhecimento de caracteres eficiente, classificação de imagens, reconhecimento de objetos, rastreamento de objetos, previsão de movimento e localização de ações. As aplicações de processamento de linguagem natural para o aprendizado de poucas oportunidades incluem tradução, conclusão de frases, classificação de intenção do usuário, análise de sentimento e classificação de texto multi-rótulo. O aprendizado de poucas oportunidades pode ser usado no campo da robótica para ajudar os robôs a aprender sobre tarefas a partir de apenas algumas demonstrações, permitindo que os robôs aprendam a realizar ações, se movam e naveguem pelo mundo ao seu redor. A descoberta de medicamentos de poucas oportunidades é uma área emergente de saúde de IA. Finalmente, o aprendizado de poucas oportunidades tem aplicações para o processamento de sinais acústicos, que é o processo de analisar dados de som, permitindo que os sistemas de IA clonem vozes com base em apenas algumas amostras de usuário ou conversão de voz de um usuário para outro.












