One Shot Aprendendo com Redes Siamesas em PyTorch

Exemplo de aprendizagem One Shot. Fonte

Esta é a Parte 1 de um artigo de duas partes. Você pode ler a parte 2 aqui

D eep redes neurais são o algoritmo ir para algoritmo quando se trata de classificação de imagem. Isto é em parte porque eles podem ter um número arbitrariamente grande de parâmetros treináveis. No entanto, isso ocorre com o custo de exigir uma grande quantidade de dados, que por vezes não está disponível. Discutirei One Shot Learning, que visa mitigar esse problema e como implementar uma rede neural capaz de usá-lo, no PyTorch.

Este artigo assume alguma familiaridade com as redes neurais .

Como este artigo está estruturado

Este é um artigo de duas partes. Passo pela teoria na Parte 1 , e a implementação PyTorch da teoria na Parte 2 .

Este artigo leva pistas deste documento .

Classificação padrão versus classificação de tiro único

A classificação padrão é o que quase todos os modelos de classificação usam. A entrada é alimentada em uma série de camadas e, no final, as probabilidades de classe são exibidas. Se você quer prever cachorros de gatos, você treina o modelo em imagens de cachorros / gatos similares (mas não iguais) que você esperaria durante o tempo de predição. Naturalmente, isso exige que você tenha um conjunto de dados que seja semelhante ao que você esperaria uma vez que você use o modelo para a previsão.

Os modelos One Shot Classification , por outro lado, requer que você tenha apenas um exemplo de treinamento de cada classe em que você deseja prever. O modelo ainda é treinado em várias instâncias, mas eles só precisam estar no domínio similar ao seu exemplo de treinamento.

Um bom exemplo seria o reconhecimento facial. Você treinaria um modelo de classificação One Shot em um conjunto de dados que contenha vários ângulos, iluminação, etc. de algumas pessoas. Então, se você quiser reconhecer se uma pessoa X está em uma imagem, você tira uma única foto dessa pessoa e, em seguida, peça ao modelo se essa pessoa estiver nessa imagem ( nota, o modelo não foi treinado usando nenhuma imagem de pessoa X ).

Como seres humanos, podemos reconhecer uma pessoa por seu rosto apenas encontrando-os uma vez, e é desejável pelos computadores porque muitas vezes os dados são no mínimo.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *