Junior — Senior
Ինչպե՞ս է MobileNet v2-ը տարբերվում v1-ից (invert residuals)։
sobes.tech AI
Պատասխան AI-ից
MobileNet v2 հիմնականում տարբեր է v1-ից՝ հիմնականում ներդնելով "invert residuals" և "linear bottlenecks" հասկացությունները:
MobileNet v1-ում օգտագործվում էին սովորական մնացորդային կապեր և խորապես բաժանվող կոնվոլյուցիաներ, ինչը արդեն նվազեցնում էր հաշվարկային բարդությունը: MobileNet v2-ում ճարտարապետությունը կառուցված է այնպես, որ՝
- հիմնական բլոկը "invert residual block" է՝ սկզբում լայնացնում է ալիքների քանակը 1x1 կոնվոլյուցիայի միջոցով (pointwise convolution), ապա խոր կոնվոլյուցիա, և վերջում վերականգնում է փոքր թվով ալիքներ:
- մնացորդային կապերը կիրառվում են ոչ ընդլայնված հատկությունների տարածության վրա, այլ սեղմված (քնքշ) տարածության վրա, ինչը նվազեցնում է պարամետրերի քանակը և բարձրացնում արդյունավետությունը:
- օգտագործվում է գծային նեղություն (վերջին շերտը չունի ReLU ակտիվացում), որպեսզի խուսափել տեղեկատվության կորուստից հատկությունների սեղմման ժամանակ:
Այս ամենը թույլ է տալիս MobileNet v2-ին լինել ավելի արդյունավետ և ճշգրիտ նույն կամ ավելի քիչ հաշվարկային ռեսուրսներով՝ համեմատած v1-ի հետ:
Սպառման կառուցվածքի պարզեցված օրինակ՝
# Պսևդո կոդ
մուտք -> 1x1 կոնվոլյուցիա (լայնացում, ReLU6) -> խոր կոնվոլյուցիա (ReLU6) -> 1x1 կոնվոլյուցիա (պրոյեկցիա, գծային) -> մնացորդային գումարում (եթե չափերը համընկնում են)