Sobes.tech
Middle

Kas peaks olema YOLO õppimisel haruldaste objektide tuvastamiseks tehtud proov, mis on lähedane reaalsusele või võrdne klasside tasakaal?

sobes.tech AI

Vastus AI-lt

YOLO harjutamisel haruldaste objektide tuvastamiseks on oluline arvestada klasside tasakaalu, kuid lähenemine sõltub ülesandest ja andmetest. Kui kasutatakse lähedast näidete valikut tegelikule jaotusele (st loodusliku ebavõrdsusega), võib mudel õppida halvasti tuvastama haruldasi klasse, kuna näidete puudus.

Seetõttu rakendatakse sageli tasakaalustamise tehnikaid, näiteks valimi valimine võrdse arvuga näiteid iga klassi jaoks või andmete suurendamise meetodeid haruldaste klasside jaoks. See aitab mudelil paremini eristada haruldasi objekte.

Kuid liigne kunstlik tasakaalustamine võib viia üleõppimiseni haruldastes klassides ja halvendada üldist jõudlust.

Optimaalne lähenemine on kombineerida klasside tasakaalustamine, võttes arvesse tegelikku jaotust, näiteks kasutades kaalutud kaotusi või fokuseeritud kaotust (focal loss), mis vähendab sageli esinevate klasside mõju ja keskendub haruldastele.

Näide kaalutud valimi kasutamisest:

# Näide pseudokoodist klasside tasakaalustamiseks
from torch.utils.data import WeightedRandomSampler

class_sample_counts = [1000, 100, 50]  # iga klassi näidete arv
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)

# Kasutada samplerit DataLoader'is