Sobes.tech
Middle

Արդյո՞ք անհրաժեշտ է իրականությանը մոտ սեմպլինգ կամ դասերի հավասարակշռություն ունենալ YOLO-ով հազվագյուտ օբյեկտների հայտնաբերման ժամանակ։

sobes.tech AI

Պատասխան AI-ից

YOLO-ի ուսուցման ժամանակ՝ հազվագյուտ օբյեկտների հայտնաբերման համար, կարևոր է հաշվի առնել դասերի հավասարակշռությունը, բայց մոտեցումը կախված է խնդրից և տվյալներից։ Եթե օգտագործեք մոտավոր ընտրություն իրական բաշխման մոտ (այսինքն՝ բնական անհավասարակշռությամբ), մոդելը կարող է վատ սովորել հազվագյուտ դասերը ճանաչել, քանի որ օրինակների պակաս կա։

Հետևաբար, հաճախ կիրառվում են հավասարակշռության տեխնիկաներ, օրինակ՝ նույնքան օրինակների ընտրություն յուրաքանչյուր դասի համար կամ տվյալների ընդլայնման մեթոդների օգտագործում՝ հազվագյուտ դասերի համար։ Սա օգնում է մոդելին ավելի լավ տարբերել հազվագյուտ օբյեկտները։

Ավելին, չափազանց մեծ مصنوعական հավասարակշռությունը կարող է հանգեցնել գերապատրաստման և ընդհանուր արդյունավետության նվազման։

Լավագույն մոտեցումը՝ համատեղել դասերի հավասարակշռությունը իրական բաշխման հետ, օրինակ՝ օգտագործելով քաշված կորուստային ֆունկցիաներ կամ focal loss, որոնք նվազեցնում են հաճախ հանդիպող դասերի ազդեցությունը և կենտրոնանում են հազվագյուտների վրա։

Օրինակ՝ քաշված սեմպլինգի օգտագործման օրինակ՝

# Դասերի հավասարակշռության համար псևդոկոդի օրինակ
from torch.utils.data import WeightedRandomSampler

class_sample_counts = [1000, 100, 50]  # յուրաքանչյուր դասի օրինակների քանակը
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)

# Օգտագործել sampler-ը DataLoader-ում