Ultralytics YOLO27: Entre na lista de espera.
Licenciar o YOLO
Voltar ao glossário da Ultralytics

Model Ensemble

Um ensemble de modelos combina previsões de vários modelos em uma única saída mais precisa e robusta. Abrange votação, cálculo de médias, fusão de caixas e compensações.

Um conjunto de modelos combina as previsões de vários modelos treinados numa única saída, por votação, média ou combinação aprendida, para que os erros dos modelos individuais se anulem. Quando os modelos cometem erros diferentes, o conjunto é mais preciso e robusto do que o seu melhor elemento, razão pela qual os conjuntos dominam as competições de aprendizagem automática: o Netflix Prize foi ganho em 2009 por uma equipa que combinou as previsões de muitos modelos, e a solução de aprendizagem profunda que venceu o desafio ImageNet de 2012 calculou a média das previsões de sete redes convolucionais, alcançando um erro top-5 de 15,3%. O custo é computacional: cada elemento é executado para cada entrada, pelo que o uso de memória e a latência de inferência aumentam com a dimensão do conjunto.

Como funcionam os conjuntos de modelos#

Um conjunto só é útil quando os seus elementos cometem erros diferentes. A média das saídas de modelos cujos erros são independentes reduz a variância da previsão combinada, enquanto os modelos que falham nas mesmas entradas pouco beneficiam da combinação. O bagging cria esta diversidade ao treinar cada elemento numa reamostragem aleatória dos dados de treino, como numa floresta aleatória de árvores de decisão; o boosting treina cada novo elemento para corrigir os erros dos anteriores, como no XGBoost e no LightGBM. Os conjuntos profundos treinam cópias de uma rede neuronal com diferentes sementes aleatórias, e a dispersão das previsões também mede a incerteza do modelo. Combinar arquiteturas diferentes, como uma rede neuronal convolucional e um transformador de visão, proporciona elementos com diferentes enviesamentos indutivos e erros menos correlacionados.

A regra de combinação depende das saídas dos elementos:

Os modelos de elevada variância, como as árvores de decisão sem poda, são os que mais beneficiam. Este exemplo do scikit-learn treina cinco árvores que diferem apenas na semente aleatória e calcula a média das probabilidades previstas:

import numpy as np
from sklearn.datasets import load_digits
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier

X, y = load_digits(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.5, random_state=0)

# Five decision trees that differ only in their random seed, which changes the features each split considers
trees = [DecisionTreeClassifier(max_features="sqrt", random_state=seed) for seed in range(5)]
for tree in trees:
    tree.fit(X_train, y_train)
print("Single trees:", ", ".join(f"{tree.score(X_test, y_test):.3f}" for tree in trees))

# Ensemble: average the predicted class probabilities and pick the most likely class
probabilities = np.mean([tree.predict_proba(X_test) for tree in trees], axis=0)
accuracy = (probabilities.argmax(axis=1) == y_test).mean()
print(f"Ensemble of 5: {accuracy:.3f}")

Nas 899 imagens de dígitos reservadas para teste, as árvores individuais obtêm pontuações entre 0.736 e 0.805, e o conjunto das cinco alcança 0.901, acima de qualquer elemento individual, porque cada árvore erra em imagens diferentes.

Combinação de detetores de objetos#

Os conjuntos de deteção de objetos também têm de combinar caixas: vários modelos costumam detetar o mesmo objeto em posições ligeiramente diferentes. O método mais simples reúne as caixas de todos os modelos e aplica a supressão não máxima (NMS), que mantém a caixa com maior confiança em cada grupo de sobreposição. A fusão ponderada de caixas calcula, em alternativa, a média das coordenadas das caixas sobrepostas, ponderada pela confiança, para que cada modelo contribua para a posição final. O Ultralytics YOLO26 integra uma abordagem semelhante na previsão: com augment=True, o detetor é executado na imagem à escala original, a 83% e a 67%, com a cópia a 83% invertida da esquerda para a direita, e combina os três conjuntos de caixas com NMS. Este exemplo combina dois modelos YOLO26 de tamanhos diferentes da mesma forma:

import torch
from torchvision.ops import batched_nms
from ultralytics import YOLO

# Two YOLO26 models of different sizes make different mistakes
models = [YOLO("yolo26n.pt"), YOLO("yolo26s.pt")]
results = [model("https://ultralytics.com/images/bus.jpg")[0] for model in models]

# Pool the boxes from both models
boxes = torch.cat([result.boxes.xyxy for result in results])
scores = torch.cat([result.boxes.conf for result in results])
classes = torch.cat([result.boxes.cls for result in results])

# Keep the highest-scoring box in each overlapping group of the same class
keep = batched_nms(boxes, scores, classes, iou_threshold=0.5)
print(f"{len(boxes)} boxes from both models, {len(keep)} after fusion")

As caixas detetadas por ambos os modelos fundem-se numa só, e os objetos detetados por apenas um modelo mantêm-se após a fusão, o que permite aumentar a revocação com um conjunto de deteção.

Aplicações#

  • Análise de imagens médicas: Os modelos de diagnóstico combinam várias redes para aumentar a sensibilidade, e a discordância entre os elementos assinala casos para análise por um radiologista.
  • Competições e benchmarks: As soluções vencedoras no Kaggle e em tabelas de classificação semelhantes calculam regularmente a média de modelos treinados com arquiteturas, sementes e partições de dados diferentes, pois o ganho de precisão compensa o custo computacional adicional.
  • Veículos autónomos: Os sistemas de perceção combinam modelos com diferentes pontos fortes, como um detetor baseado em câmara e outro baseado em lidar, para que um objeto não detetado por um possa ser detetado pelo outro.
  • Aprendizagem por conjuntos: Sinónimo da técnica em geral. «Conjunto de modelos» costuma designar o grupo combinado de modelos resultante.
  • Fusão de modelos: Calcula a média dos pesos de modelos compatíveis para formar uma única rede, que é executada com o custo de um único modelo.
  • Mistura de especialistas (MoE): Um encaminhador aprendido envia cada entrada apenas para algumas sub-redes especializadas, o que aumenta a capacidade sem executar todos os especialistas para cada entrada.
  • Destilação de conhecimento: Treina um único modelo aluno para imitar um professor, que pode ser um conjunto completo de modelos. O artigo de 2015 sobre destilação de Geoffrey Hinton, Oriol Vinyals e Jeff Dean comprimiu um conjunto de modelos de reconhecimento de voz num único modelo que manteve a maior parte da melhoria do conjunto.

Explore as soluções

Visão computacional no desporto

Visão computacional no desporto

Descubra como o Ultralytics YOLO impulsiona a visão computacional no esporte com rastreamento de jogadores e bolas, análise de desempenho, insights para treinadores e reabilitação de atletas.
Saiba mais
Visão computacional para imagens aéreas

Visão computacional para imagens aéreas

Transforma imagens de drones e aéreas em informações em tempo real para a agricultura, a aquacultura, a conservação e a análise geoespacial com Ultralytics YOLO.
Saiba mais
Visão computacional no setor aeroespacial

Visão computacional no setor aeroespacial

Aplica visão computacional na indústria aeroespacial com Ultralytics YOLO para inspecionar aeronaves, detetar objetos estranhos na pista (FOD), apoiar operações aeroportuárias em terra e detetar defeitos em materiais compósitos.
Saiba mais
Visão computacional na segurança

Visão computacional na segurança

Protege todas as instalações com os modelos Ultralytics YOLO. A IA visual permite monitorizar perímetros, detetar ameaças, reconhecer matrículas e melhorar a segurança no local de trabalho.
Saiba mais
Visão computacional na robótica

Visão computacional na robótica

Potencia máquinas mais inteligentes com os modelos Ultralytics YOLO. A IA visual na robótica permite navegação autónoma, perceção, rastreamento de objetos e controlo em tempo real.
Saiba mais
Visão computacional na logística

Visão computacional na logística

Otimize a logística com os modelos Ultralytics YOLO. A IA de visão permite inspecionar pacotes, fazer triagem, rastrear veículos e monitorar a segurança em tempo real nos armazéns.
Saiba mais
Visão computacional no varejo

Visão computacional no varejo

Reinvente o varejo com os modelos Ultralytics YOLO. A IA de visão permite rastrear o estoque, monitorar prateleiras, gerenciar filas e obter insights mais inteligentes sobre clientes.
Saiba mais
Visão computacional na área da saúde

Visão computacional na área da saúde

Desenvolva soluções de saúde com os modelos Ultralytics YOLO. A IA de visão na área da saúde permite obter imagens médicas mais rapidamente, diagnósticos mais inteligentes e monitoramento de pacientes.
Saiba mais
Visão computacional na manufatura

Visão computacional na manufatura

Otimize a manufatura com modelos Ultralytics YOLO. A IA visual impulsiona o controle de qualidade, a detecção de defeitos, a conformidade com o uso de EPI e a automação da linha de montagem.
Saiba mais
Visão computacional no setor automotivo

Visão computacional no setor automotivo

Aplique visão computacional no setor automotivo com modelos Ultralytics YOLO. A IA visual aumenta a segurança viária, aprimora a assistência ao condutor e viabiliza a automação de veículos para estradas mais inteligentes.
Saiba mais
Visão computacional na agricultura

Visão computacional na agricultura

Leve a IA de visão à agricultura inteligente com os modelos Ultralytics YOLO. Aprimore o monitoramento de plantações, o rastreamento de animais e a agricultura de precisão para obter safras maiores e mais inteligentes.
Saiba mais

Vamos construir juntos o futuro da IA!

Comece sua jornada rumo ao futuro do aprendizado de máquina