Scopri come l'apprendimento ensemble migliora la precisione e riduce il sovradattamento. Impara a combinare più modelli come Ultralytics per ottenere risultati superiori nella visione artificiale.
L'apprendimento ensemble è una strategia robusta nel machine learning (ML) in cui più modelli indipendenti, spesso denominati "weak learners" (apprenditori deboli), vengono combinati per produrre un unico output predittivo . La premessa fondamentale è che un gruppo di modelli può spesso raggiungere una maggiore accuratezza e una migliore generalizzazione rispetto a qualsiasi singolo modello che agisce da solo. Aggregando le previsioni di diversi algoritmi, i metodi ensemble riducono efficacemente il rischio di overfitting dei dati di addestramento, attenuano gli errori casuali e migliorano la stabilità complessiva del sistema. Questo approccio è analogo al consultare un gruppo di esperti piuttosto che affidarsi all' opinione di un singolo individuo per prendere una decisione critica.
L'efficacia dei metodi di ensemble risiede nella loro capacità di manipolare il compromesso tra bias e varianza. I singoli modelli possono soffrire di elevata varianza (sensibilità al rumore) o elevato bias (eccessiva semplificazione). L'ensemble mitiga questi problemi attraverso tecniche specifiche:
Nel campo della visione artificiale (CV), gli insiemi sono spesso utilizzati per massimizzare le prestazioni nelle competizioni e nelle applicazioni critiche per la sicurezza. Per il rilevamento di oggetti, ciò comporta spesso l'esecuzione di più modelli, come diverse versioni di YOLO26, sulla stessa immagine. I riquadri di delimitazione risultanti vengono quindi uniti utilizzando tecniche come la soppressione non massima (NMS) o la fusione ponderata dei riquadri (WBF) per ricavare le posizioni più probabili degli oggetti.
I metodi ensemble sono onnipresenti nei settori in cui l'affidabilità predittiva è fondamentale.
È possibile simulare un ensemble di inferenza di base caricando più modelli addestrati e generando previsioni per lo stesso input. La Ultralytics consente di addestrare facilmente queste varianti . L'esempio seguente mostra il caricamento di due diversi Ultralytics YOLO (YOLO26n e YOLO26s) per verificare i rilevamenti su un'immagine.
from ultralytics import YOLO
# Load two distinct YOLO26 model variants
# 'n' (nano) is faster, 's' (small) is more accurate
model_nano = YOLO("yolo26n.pt")
model_small = YOLO("yolo26s.pt")
# Define the image source
source = "https://ultralytics.com/images/bus.jpg"
# Run inference with both models
results_n = model_nano(source)
results_s = model_small(source)
# Compare the number of objects detected by each model
print(f"Nano Model Found: {len(results_n[0].boxes)} objects")
print(f"Small Model Found: {len(results_s[0].boxes)} objects")
È importante distinguere l'apprendimento ensemble dall' aumento dei dati.
Mentre l'aumento dei dati aiuta un singolo modello ad apprendere meglio, l'apprendimento di insieme aiuta più modelli a verificare reciprocamente i propri risultati. Entrambe le strategie sono spesso utilizzate insieme per ottenere risultati all'avanguardia in compiti come la segmentazione delle istanze e la stima della posa.