Explore como a aprendizagem semi-supervisionada combina dados rotulados e não rotulados para aumentar a precisão do modelo. Aprenda a implementar fluxos de trabalho SSL usando Ultralytics .
A aprendizagem semi-supervisionada (SSL) é um paradigma estratégico na aprendizagem automática (ML) que funciona como uma ponte entre dois métodos de treino tradicionais. Enquanto a aprendizagem supervisionada depende inteiramente de conjuntos de dados totalmente anotados e a aprendizagem não supervisionada tenta encontrar padrões nos dados sem quaisquer etiquetas, a SSL funciona combinando uma pequena quantidade de dados etiquetados com um conjunto significativamente maior de dados não etiquetados. Esta abordagem é particularmente valiosa em cenários reais de visão computacional (CV), onde a recolha de imagens brutas — como imagens de vídeo de câmaras de segurança ou satélites — é relativamente barata, mas o processo de rotulagem de dados por especialistas humanos é caro, lento e demanda muito trabalho. Ao utilizar eficazmente a estrutura oculta nos exemplos não rotulados, o SSL pode melhorar significativamente a precisão e a generalização do modelo sem exigir um orçamento exaustivo para anotações.
O objetivo principal do SSL é propagar as informações encontradas no pequeno conjunto de exemplos rotulados para o conjunto maior não rotulado. Isso permite que a rede neural aprenda limites de decisão que passam por regiões de baixa densidade dos dados, resultando em uma classificação ou detecção mais robusta.
Duas técnicas populares impulsionam a maioria dos fluxos de trabalho semi-supervisionados:
Python a seguir demonstra um fluxo de trabalho simples de pseudo-rotulagem usando o ultralytics . Aqui, treinamos um modelo YOLO26 em um pequeno conjunto de dados e, em seguida, usamo-lo para gerar rótulos para um diretório de imagens não rotuladas.
from ultralytics import YOLO
# Load the latest YOLO26 model
model = YOLO("yolo26n.pt")
# Train initially on a small available labeled dataset
model.train(data="coco8.yaml", epochs=10)
# Run inference on unlabeled data to generate pseudo-labels
# Setting save_txt=True saves the detections as text files for future training
results = model.predict(source="./unlabeled_images", save_txt=True, conf=0.85)
A aprendizagem semi-supervisionada está a transformar indústrias onde os dados são abundantes, mas a experiência é escassa.
Para implementar soluções de IA de forma eficaz, é fundamental compreender como o SSL difere de estratégias semelhantes:
À medida que os modelos de deep learning (DL) crescem em tamanho, a eficiência do uso de dados torna-se fundamental. Frameworks modernos como PyTorch e TensorFlow fornecem o backend computacional para esses loops de treinamento avançados . Além disso, ferramentas como a Ultralytics estão a simplificar o ciclo de vida da gestão de conjuntos de dados. Ao utilizar recursos como a anotação automática, as equipas podem implementar fluxos de trabalho semissupervisionados com mais facilidade, transformando rapidamente dados brutos em pesos de modelos prontos para produção . Essa evolução no MLOps garante que a barreira à entrada para a criação de sistemas de visão de alta precisão continue a diminuir.