Sobes.tech
Middle

Szükséges-e a valósághoz közeli mintavétel vagy az osztályok egyenlő aránya a YOLO tanítása során ritka objektumok felismeréséhez?

sobes.tech MI

Válasz az MI-től

A YOLO ritkák objektumok felismerésének tanításakor fontos figyelembe venni az osztályok kiegyensúlyozottságát, de a megközelítés a feladattól és az adatoktól függ. Ha a valós eloszláshoz közeli mintavételt alkalmazunk (azaz természetes egyensúlytalansággal), a modell rosszul tanulhat a ritka osztályok felismerésében a példák hiánya miatt.

Ezért gyakran alkalmaznak kiegyensúlyozási technikákat, például az egyenlő számú példát tartalmazó mintavételt minden osztályhoz vagy adatnövelési módszerek (data augmentation) használatát a ritka osztályok esetében. Ez segít a modellnek jobban kiemelni a ritka objektumokat.

Azonban a túlzott mesterséges kiegyensúlyozás túlillesztéshez vezethet a ritka osztályokon, és rontja az általános teljesítményt.

Optimális megközelítés az, hogy a valódi eloszlást figyelembe véve kombináljuk az osztálykiegyensúlyozást, például súlyozott veszteségfüggvények vagy fókuszveszteség (focal loss) alkalmazásával, amely csökkenti a gyakran előforduló osztályok hatását, és a ritka osztályokra helyezi a hangsúlyt.

Példa súlyozott mintavétel használatára:

# Pseudokód példa az osztályok kiegyensúlyozására
from torch.utils.data import WeightedRandomSampler

class_sample_counts = [1000, 100, 50]  # példák száma osztályonként
weights = 1. / torch.tensor(class_sample_counts, dtype=torch.float)
samples_weight = weights[labels]
sampler = WeightedRandomSampler(samples_weight, num_samples=len(samples_weight), replacement=True)

# A sampler használata DataLoader-ben