One-Shot Learning
Explore a Aprendizagem One-Shot em IA. Saiba como classificar objetos a partir de uma única imagem utilizando o Ultralytics YOLO26 e redes siamesas para uma visão computacional eficiente.
A aprendizagem com um único exemplo é uma técnica especializada de classificação em aprendizagem automática (ML), concebida para aprender informações sobre categorias de objetos a partir de um único exemplo de treino. Ao contrário dos algoritmos tradicionais de aprendizagem profunda (DL), que exigem enormes conjuntos de dados com milhares de imagens anotadas para generalizarem de forma eficaz, a aprendizagem com um único exemplo imita a capacidade cognitiva humana de compreender instantaneamente um novo conceito. Por exemplo, uma pessoa consegue normalmente reconhecer uma determinada ave exótica depois de a ver apenas uma vez; esta metodologia tenta replicar essa eficiência em sistemas de inteligência artificial (AI). É particularmente valiosa em cenários onde a anotação de dados é dispendiosa, os dados são escassos ou é necessário adicionar novas categorias dinamicamente sem voltar a treinar o modelo inteiro.
Mecanismos por detrás do conceito#
O princípio central da aprendizagem One-Shot consiste em mudar o objetivo da classificação padrão para a avaliação de similaridade. Em vez de treinar uma rede neural (NN) para produzir um rótulo de classe específico (por exemplo, "cão" ou "gato"), o modelo aprende uma função de distância. Uma arquitetura frequentemente utilizada para este fim é a rede neural siamesa, composta por duas sub-redes idênticas que partilham os mesmos pesos do modelo.
Durante a operação, a rede realiza a extração de características para converter as imagens de entrada em vetores numéricos compactos conhecidos como embeddings. Em seguida, o sistema compara o embedding de uma nova imagem de consulta com o embedding do único "exemplo" de referência. Se a distância matemática — frequentemente calculada utilizando a distância euclidiana ou a similaridade do cosseno — for inferior a um determinado limiar, determina-se que as imagens pertencem à mesma classe. Isto permite ao modelo verificar identidades ou classificar objetos com base na sua proximidade no espaço de características aprendido.
O código Python seguinte demonstra como extrair embeddings e calcular a similaridade utilizando um modelo de classificação YOLO26 do pacote ultralytics.
import numpy as np
from ultralytics import YOLO
# Load a pre-trained YOLO26 classification model for feature extraction
model = YOLO("yolo26n-cls.pt")
# Extract embeddings for a reference 'shot' and a query image
# The embed() method returns the feature vector directly
shot_vec = model.embed("reference_img.jpg")[0]
query_vec = model.embed("query_img.jpg")[0]
# Calculate similarity (higher dot product implies greater similarity)
similarity = np.dot(shot_vec, query_vec) / (np.linalg.norm(shot_vec) * np.linalg.norm(query_vec))
print(f"Similarity Score: {similarity:.4f}")Diferenciação entre paradigmas relacionados#
É importante distinguir a aprendizagem One-Shot de outras técnicas de aprendizagem eficientes em termos de dados, uma vez que resolvem problemas semelhantes sob diferentes restrições:
- Aprendizagem Few-Shot (FSL): Esta é a categoria mais abrangente que inclui a aprendizagem One-Shot. Na FSL, é fornecido ao modelo um pequeno "conjunto de suporte" de exemplos, normalmente entre duas e cinco imagens por classe. A aprendizagem One-Shot é simplesmente o caso extremo em que o tamanho do conjunto de suporte é exatamente um.
- Aprendizagem Zero-Shot (ZSL): A ZSL lida com o reconhecimento de categorias que o modelo nunca viu visualmente. Em vez de uma imagem de referência, a ZSL baseia-se em atributos semânticos ou descrições textuais (por exemplo, identificar uma "zebra" associando características visuais à descrição textual "cavalo listrado") através do processamento de linguagem natural (NLP).
- Aprendizagem por transferência: Consiste em utilizar um modelo pré-treinado numa base de dados de grandes dimensões, como a ImageNet, e ajustá-lo a uma nova tarefa. Embora a aprendizagem por transferência potencie os extratores de características utilizados na aprendizagem One-Shot, a aprendizagem por transferência padrão normalmente requer mais do que um exemplo para atualizar os pesos eficazmente sem sobreajuste.
Aplicações no mundo real#
A aprendizagem One-Shot desbloqueou capacidades em setores onde é impraticável recolher grandes quantidades de dados de treino.
Reconhecimento facial e segurança#
A aplicação mais comum da aprendizagem One-Shot encontra-se na segurança biométrica. Ao configurar o Face ID num smartphone ou ao inscrever-se num sistema de acesso de funcionários, o dispositivo capta uma única representação matemática do rosto do utilizador. Durante a utilização diária, o sistema de reconhecimento facial compara a transmissão da câmara em tempo real com este "exemplo único" armazenado para verificar a identidade. Isto depende de técnicas robustas de embeddings, como as abordadas na investigação FaceNet fundamental, para garantir que alterações na iluminação ou no ângulo não comprometem a correspondência de similaridade.
Controlo de Qualidade Industrial#
Na AI na indústria, é difícil criar um conjunto de dados equilibrado de peças "defeituosas", porque os defeitos são raros e inconsistentes. A aprendizagem One-Shot permite que os sistemas de visão computacional (CV) aprendam a representação de uma única peça de referência "perfeita". Qualquer item na linha de montagem cujo embedding esteja significativamente distante desta referência é sinalizado para deteção de anomalias. Isto permite uma garantia de qualidade imediata sem a necessidade de milhares de imagens de peças danificadas, que podem ser geridas e implementadas através da Ultralytics Platform.
Desafios e Perspetivas Futuras#
Embora poderosa, a aprendizagem One-Shot é suscetível ao ruído; se a única imagem de referência estiver desfocada, obstruída ou não for representativa, a capacidade do modelo para reconhecer essa classe degrada-se significativamente. Os investigadores recorrem frequentemente à meta-aprendizagem, ou "aprender a aprender", para melhorar a estabilidade e a generalização do modelo. À medida que as arquiteturas evoluem, modelos mais recentes como o YOLO26 incorporam extratores de características mais robustos, que tornam a inferência one-shot mais rápida e precisa, abrindo caminho a dispositivos de IA de periferia mais adaptáveis e inteligentes.









