Mobilenet V1 ja VGG  16 erinevusMasinõppe tuvastuse mudelitest

MobileNet V1 ja VGG16 on mõlemad konvolutsioonilised neuronaalsed võrgud (CNN), mis on spetsiaalselt loodud pilditöötluse ja visuaalse tunnustamise ülesannete jaoks. Need kaks mudelit erinevad aga oma arhitektuuri poolest.

MobileNet V1 on loodud selleks, et saavutada tasakaal jõudluse ja efektiivsuse vahel, kasutades sügavuslikult eraldatud konvolutsioone, mis vähendavad parameetrite ja arvutuste arvu, samal ajal jättes alles hea jõudluse. MobileNet V1 on spetsiaalselt disainitud mobiilseadmete jaoks, mis on piiratud andmemahtude ja arvutusjõududega.

VGG16, teisest küljest, on loodud tipptasemel jõudluse saavutamiseks, kasutades sügavat arhitektuuri, mis sisaldab palju filtreid ja kaalude kogu. See tähendab, et VGG16 võtab rohkem andmemahtu ja arvutusjõudu, kuid see suudab ka saavutada paremaid tulemusi pilditöötluse ja visuaalse tunnustamise ülesannetes.

Lühidalt, MobileNet V1 ja VGG16 erinevad oma arhitektuuri poolest, mille tõttu MobileNet V1 on efektiivsem, kuid VGG16 suudab saavutada paremaid tulemusi.

Mobilenet V2 ja Mobilenet V2 LITE erinevus

MobileNet V2 Lite on variant MobileNet V2-st, mis on spetsiaalselt optimiseeritud madala jõudlusega seadmetele, nagu näiteks IoT-seadmed ja mobiiltelefonid, mis ei saa täielikku MobileNet V2 töötlemiseks vajalikku jõudlust pakkuda. MobileNet V2 Lite kasutab sarnast arhitektuuri nagu MobileNet V2, kuid sellel on vähem filtreid ja väiksemad kaalud, mis vähendab selle vajadust andmemahtu ja arvutusjõudu järele. See tähendab, et MobileNet V2 Lite on võrreldes MobileNet V2-ga väiksem ja kiirem, kuid selle tulemused võivad olla madalamad.

Mobilenet V1 ja mobilenet V2 erinevus

MobileNet on konvolutsiooniline neuronaalne võrk (CNN), mille eesmärk on saavutada tasakaal jõudluse ja efektiivsuse vahel, et seda saaks kasutada erinevates rakendustes, sealhulgas mobiilseadmetes. MobileNeti on kahte tüüpi: MobileNet V1 ja MobileNet V2.

MobileNet V1 arendati välja lihtsustatud arhitektuuri abil, mis kasutab sügavuslikult eraldatud konvolutsioone, et vähendada parameetrite ja arvutuste arvu, samal ajal jättes alles hea jõudluse. MobileNet V2 parandab V1 arhitektuuri, kasutades pöördresiduaale ja lineaarseid kitsendusi, mis võimaldavad õppida sisendiandmete esitamiseks tõhusamaid ja tõhusamaid esitusi. MobileNet V2 kasutab ka ImageNeti andmestiku kõrgemat resolutsiooni mudeli treenimiseks, mis võib aidata sel paremini toime tulla erinevate ülesannetega.

Lühidalt, MobileNet V2 on MobileNet V1 uuem ja parandatud versioon, millel on efektiivsem ja tõhusam arhitektuur, mis suudab saavutada paremaid tulemusi erinevatel ülesannetel.

VGG 16 vs VGG 16 BN

VGG16 ja VGG16 batch normalization (BN) on VGG16 konvolutsioonilise neuronaalsete võrkude (CNN) variatsioonid, mis on loodud pildiklassifikatsiooni ülesannete jaoks.

Peamine erinevus VGG16 ja VGG16 BN vahel on BN-kihtide lisamine viimasesse mudelisse. Batch normalization on tehnika, mis normaliseerib kihti aktivatsioone ühe andmekogumi sees. See aitab stabiliseerida treeninguprotsessi ja parandada mudeli üldistamist vähendades sisemist kovariatsioonikõverat, mis viitab kihti aktivatsioonide jaotuse muutusele mudeli parameetrite värskendamise tõttu.

VGG16 BN puhul lisatakse batch normalization kiht peale mõnede VGG16 originaalmudeli konvolutsioonikihtide ja täielikult ühendatud kihtide. See võib aidata parandada mudeli jõudlust ja stabiilsust treenimise ja ennustamise ajal.

Lühidalt, peamine erinevus VGG16 ja VGG16 BN vahel on BN-kihtide lisamine viimasesse mudelisse, mis võib aidata parandada selle jõudlust ja stabiilsust.

SSD 300 ja SSD 512 erinevus

SSD300 ja SSD512 on mõlemad single shot detection (SSD) mudelid, mis on spetsiaalselt loodud objektituvastuse ülesannete jaoks. SSD mudelid kasutavad ühte kaadrit täieliku objektituvastuse sooritamiseks, mis võimaldab neil olla kiired ja efektiivsed.

Peamine erinevus SSD300 ja SSD512 vahel on mudelite suurus ja jõudlus. SSD300 on väiksem ja kiirem mudel, millel on 300×300 pixlit suurused sisendandmed, samas kui SSD512 on suurem ja aeglasem mudel, millel on 512×512 pixlit suurused sisendandmed. Tänu suurematele sisendandmetele suudab SSD512 tavaliselt saavutada paremaid tulemusi objektituvastuse ülesannetes, kuid see võtab ka rohkem andmemahtu ja arvutusjõudu.

Tensorflow vs Pytorch

TensorFlow ja PyTorch on mõlemad populaarsed tarkvararaamistikud, mida kasutatakse masinõppe ja tehisintellekti arendamiseks. Mõlemad raamistikud pakuvad tööriistu mudelite konstrueerimiseks, treenimiseks ja järelevalveks, kuid neil on ka mõningaid olulisi erinevusi.

Üks suur erinevus on see, et TensorFlow on mõeldud eelkõige graafikpõhistele arvutustele ja see kasutab static computing graafikut. See tähendab, et enne mudeli treenimist peab kasutaja määrama täielikult selle graafiku, mille abil arvutused teostatakse. PyTorch aga kasutab dynamic computing graafikut, mis tähendab, et graafik koostatakse reaalajas ja seda saab ajalooliselt jälgida. See võimaldab PyTorchil olla paindlikum ja lihtsam kasutada, eriti prototüüpimise ajal.

Teine oluline erinevus on see, et TensorFlow on Google’i poolt arendatud ja see on üsna laialdaselt kasutusel, samas kui PyTorch on Facebooki poolt arendatud ja on populaarne teadusringkondades ja start-up’ides.

Mõlemad raamistikud võimaldavad treenida SSD (Single Shot Detection) mudelit, kuid PyTorch võib olla lihtsam kasutada selle mudeli arendamiseks ja täiustamiseks, kuna see pakub paindlikumat graafikut ja on suhteliselt lihtsam õppida. TensorFlow võib olla sobivam suurema skaala ja professionaalsemates rakendustes, kus vajalik on täpsem jälgimine ja kontroll.

Batch size valimine

Õige batch size valimine treenimisel on oluline, kuna see mõjutab treenimise kiirust ja täpsust. Liiga väike batch size võib treenimist aeglustada, kuid liiga suur batch size võib põhjustada üleajamist ja halvemat täpsust.

Õige batch size valimiseks MobileNet SSD mudeli treenimisel võiksite järgida järgmist protsessi:

  1. Alustage väikese batch size-ga, näiteks 8 või 16, ja treenige mudel sellel.
  2. Jälgige treenimise kiirust ja täpsust. Kui treenimine on liiga aeglane või täpsus ei parane, suurendage batch size-i järk-järgult näiteks 32 või 64-ni.
  3. Jätkake batch size-i suurendamist, kuni treenimise kiirus on aktsepteeritav ja täpsus paraneb.
  4. Kui täpsus hakkab langema või treenimine muutub liiga aeglaseks, lõpetage batch size-i suurendamine ja jääge sellele batch size-ile, mis tõi parima täpsuse.

Tuleb märkida, et õige batch size sõltub otseselt teie süsteemi jõudlusest ja mudeli keerukusest, nii et te peate võib-olla proovima erinevaid batch size-e, et leida parima tulemuse. Lisaks on soovitatav kasutada katse- ja veaga katsemeetodit, et leida õige batch size.

Workers arvu valimine

Jah, workers arvut ehk nn töötajate arvu mõju treenimisele sõltub sellest, kuidas treenimist paraleelselt jagatakse. Kui kasutate rohkem töötajaid, saate treenimist kiirendada, kuna arvutuste jagamine töötajate vahel võimaldab neil paralleelselt töötada. Samas tuleb arvestada, et liiga paljude töötajate kasutamine võib põhjustada üleajamist ja halvemat täpsust.

MobileNet SSD mudeli treenimisel võib töötajate arv mõjutada treenimise kiirust ja täpsust, kuid see sõltub otseselt teie süsteemi jõudlusest ja mudeli keerukusest. Seetõttu on soovitatav katsetada erinevaid töötajate arvusid ja leida see, mis tõi parima tulemuse. Tuleb märkida, et töötajate arvu suurendamine ei pruugi alati treenimist kiirendada, kuna on olemas teatud piir, mille järel töötajate lisamine ei mõjuta enam treenimise kiirust.

Milline eeltreenitud mudel valida?

Eeltreenitud mudelite valimisel tuleks arvestada mitmeid tegureid, sealhulgas:

  1. Mudeli üldine täpsus: Eeltreenitud mudel peaks olema täpne, et saaksite sellel põhinevat uut mudelit luua.
  2. Sobivus teie andmetega: Valige mudel, mis on treenitud sarnase andmestiku peal ja millel on head tulemused sarnaste andmetega töötamisel.
  3. Mudeli suurus: Mõtle, kui suur mudel saate kasutada ja milline on teie süsteemi jõudlus. Mõnikord võib väiksem mudel anda sarnase või isegi parema tulemuse, kuid tuleb arvestada, et see võib olla täpsem vaid siis, kui teie andmestik on sarnane mudeli treenimiseks kasutatud andmestikuga.
  4. Mudeli täpsuse ja kiiruse optimaalne tasakaal: Valige mudel, mis pakub hea täpsuse ja kiiruse tasakaalu. Mõnikord võib suurem ja täpsem mudel olla aeglasem, samas kui väiksem ja kiirem mudel võib olla vähem täpne.

Lisaks võiksite uurida mudeli dokumentatsiooni ja teiste kasutajate arvamusi, et saada rohkem teavet selle töötamise kohta erinevates rakendustes. Samuti võite proovida erinevaid eeltreenitud mudeliteid ja võrrelda nende tulemusi, et leida see, mis töötab teie rakenduse jaoks parimalt.

Kuidas optimiseerida SSD mobilenet ONNX mudelit?

ONNX (Open Neural Network Exchange) on standard, mis võimaldab erinevate tarkvararaamistike vahelise masinõppe mudelite vahetamise. Seetõttu on ONNX mudelite optimiseerimise peamiseks eesmärgiks mudeli failisuuruse vähendamine ja töötlemiskiiruse parandamine, et see oleks võimalikult efektiivne erinevates rakendustes ja platvormides.

Siin on mõned näpunäited, kuidas optimiseerida SSD MobileNet ONNX mudelit:

  1. Kasutage mudeli komprimimise tehnikaid: Näiteks võite kasutada pruneerimist või kvantiseerimist, et vähendada mudeli failisuurust ja parandada töötlemiskiirust.
  2. Kasutage mudeli ümberkujundamist: ONNX mudeli ümberkujundamisel võite muuta selle struktuuri, et parandada töötlemiskiirust või vähendada failisuurust.
  3. Kasutage ONNX optimaatorit: ONNX optimaator on tööriist, mis aitab parandada mudeli töötlemiskiirust ja vähendada selle failisuurust.
  4. Kasutage ONNX runtime: ONNX runtime on tööriist, mis võimaldab teil ONNX mudelit kiiremini töödelda, kasutades selleks optimaalselt spetsialiseeritud kiipi.

Tuleb märkida, et optimiseerimine sõltub otseselt teie rakenduse nõuetest ja mudeli keerukusest, nii et võib-olla peate katsetama erinevaid lähenemisviise, et leida see, mis teie mudelile parim tulemus annab.

ONNX optimaator

ONNX optimaator on tööriist, mis aitab parandada ONNX masinõppe mudelite töötlemiskiirust ja vähendada nende failisuurust. Optimisaator töötab, võttes ONNX mudeli ja aplikeerides sellele erinevaid optimiseerimisstrateegiaid, näiteks pruneerimist, kvantiseerimist ja ümberkujundamist. Need optimiseerimisstrateegiad aitavad vähendada mudeli seoste arvu ja parandada selle töötlemiskiirust, ilma et see mõjutaks oluliselt mudeli täpsust.

ONNX optimaatorit saab kasutada järgmiste sammude abil:

  1. Laadige ONNX optimaator tarkvararaamistikku.
  2. Laadige ONNX mudel ja looge selle kohta objekt.
  3. Määrake optimiseerimisstrateegiad, mida soovite rakendada.
  4. Käivitage optimaator objekti optimiseerimiseks.
  5. Salvestage optimiseeritud mudel faili või kasutage seda jätkata töötlemisel.

CPU ja GPU kasutamine treenimisel

GPU (Graphics Processing Unit) ja CPU (Central Processing Unit) on arvutusseadmeid, mis töötavad erinevatel viisidel ja millel on erinevad jõudlused. Neid kasutatakse sageli masinõppe mudelite treenimisel ja nende valik sõltub mudeli treenimise eesmärgist ja vajadustest.

GPU on spetsiaalselt loodud graafikate ja arvutuste tegemiseks kiiremini ja efektiivsemalt. CPU on aga universaalne arvutusseade, millel on suurem jõudlus mitmete erinevate tööde tegemiseks.

SSD MobileNet on objektituvastuse mudel, mis on mõeldud piltidel objektide tuvastamiseks ja tähistamiseks. Mudeli treenimine võib võtta aega, sõltuvalt andmestiku suurusest ja mudeli keerukusest. Kui treenite mudelit GPU-l, siis võib see olla kiirem kui CPU-l treenimine, sest GPU on spetsiaalselt loodud graafikate ja arvutuste tegemiseks kiiremini ja efektiivsemalt.

Erinevus GPU ja CPU kasutamisel mudeli treenimise kiiruses võib olla suur sõltuvalt mudeli tüübist ja seadme jõudlusest. Täpsema hinnangu saamiseks võiksite kasutada mõnda benchmark testi, mis võimaldab võrrelda GPU ja CPU jõudlust erinevates masinõppe ülesannetes.

Treenimisel kasutatavad parameetrid: patch size ning number of workers

Partii suurus ja töötajate arv on parameetrid, mida kasutatakse masinõppemudelite väljaõppe ja järelduste tegemisel. Need parameetrid määratakse koolitus- või järeldusprotsessi eesmärkide ja andmestiku suuruse alusel.

Partii suurus on parameeter, mis määrab arvutuse ajal korraga töödeldavate andmepunktide arvu. Partii suurus võib mõjutada mudelitreeningu kiirust ja täpsust, kuid see võib mõjutada ka mälukasutust. Suurem partii suurus võib tähendada kiiremat koolitust, kuid see võib ka vähendada täpsust. Väiksem partii suurus võib tähendada aeglasemat treeningut, kuid see võib anda täpsemaid tulemusi.

Töötajate arv on parameeter, mis määrab koolituseks või järelduste tegemiseks kasutatavate protsessorite arvu. Töötajate arv võib mõjutada mudeli kiirust ja täpsust, kuid see võib mõjutada ka mälukasutust. Suurem töötajate arv võib tähendada kiiremat väljaõpet või järelduste tegemist, kuid see võib ka vähendada täpsust. Väiksem arv töötajaid võib tähendada aeglasemat koolitust või järelduste tegemist, kuid see võib anda täpsemaid tulemusi.

Üldjuhul ei ole koolituse ja järelduste tegemisel vaja kasutada sama partii suurust ja töötajate arvu. Nende parameetrite optimaalsed väärtused sõltuvad mudeli ja andmestiku konkreetsetest eesmärkidest ja omadustest. Tavaliselt on hea mõte katsetada erinevaid väärtusi, et leida kombinatsioon, mis annab parima tulemuse.

CPU ja GPU kasutamine ning mudeli täpsus

CPU (keskprotsessori) või graafikaprotsessori (Graphics Processing Unit) kasutamine masinõppemudeli koostamiseks võib mõjutada koolitusprotsessi kiirust ja tõhusust, kuid üldiselt ei mõjuta see oluliselt lõpliku mudeli kvaliteeti. Mudeli kvaliteedi määravad tavaliselt andmestiku omadused, mudeli arhitektuuri valik ja treeningu käigus kasutatavad hüperparameetrid.

Sellegipoolest võib GPU kasutamine protsessori kasutamisega võrreldes sageli treeningprotsessi oluliselt kiirendada, eriti suurte ja keerukate mudelite puhul. See võimaldab teil mudelit kiiremini koolitada ja potentsiaalselt parandada mudeli kvaliteeti, võimaldades teil treenida kauem või kasutada rohkem andmeid. Treeningu kiiruse erinevus sõltub aga konkreetsest kasutatavast GPU-st ja CPU-st ning mudeli ja andmestiku omadustest.

Mis väiksem batch size on parem?

Masinõppes on partii suurus hüperparameeter, mis määrab arvutuse ajal korraga töödeldavate andmepunktide arvu. Partii suurus võib mõjutada mudeli koolituse ja järelduste kiirust ja täpsust.

Väiksema partii kasutamine treeningu ajal võib sageli kaasa tuua parema mudeli jõudluse, eriti objektide tuvastamise ülesannete puhul. Selle põhjuseks on asjaolu, et väiksem partii suurus võimaldab mudelil andmemuutustele paremini reageerida ja aitab mudelil uutele andmetele paremini üldistada. Väga väikese partii kasutamine võib aga põhjustada ka aeglasemat treeningut ja suuremat mälukasutust.

MobileNeti puhul võib väiksem partii suurus kaasa tuua parema objekti tuvastamise jõudluse, kuna see võimaldab mudelil andmemuudatustele paremini reageerida ja aitab mudelil paremini üldistada uute andmete suhtes. Optimaalne partii suurus sõltub aga andmestiku ja mudeli spetsiifilistest omadustest ning parima väärtuse leidmiseks võib osutuda vajalikuks katsetada erinevaid partii suurusi.

Väärib märkimist, et partii suurus on vaid üks paljudest teguritest, mis võivad mudeli jõudlust mõjutada, ja üldiselt on mudeli jõudluse parandamisel hea mõte arvestada ka muude teguritega, nagu mudeli arhitektuur ja hüperparameetrid.

Kas väiksem workersite arv on parem?

Masinõppes on töötajate arv hüperparameeter, mis määrab koolituseks või järelduste tegemiseks kasutatavate protsessorite arvu. Töötajate arv võib mõjutada mudeli kiirust ja täpsust, kuid see võib mõjutada ka mälukasutust.

Väiksema arvu töötajate kasutamine koolituse ajal võib sageli kaasa tuua mudeli parema jõudluse, eriti objektide tuvastamise ülesannete puhul. Selle põhjuseks on asjaolu, et väiksem arv töötajaid võimaldab mudelil andmemuudatustele paremini reageerida ja aitab mudelil uutele andmetele paremini üldistada. Väga väikese arvu töötajate kasutamine võib aga kaasa tuua ka aeglasema väljaõppe ja ei pruugi olla tõhus, kui andmestik on väga suur.

MobileNeti puhul võib väiksem arv töötajaid kaasa tuua parema objekti tuvastamise jõudluse, kuna see võimaldab mudelil andmemuudatustele paremini reageerida ja aitab mudelil paremini üldistada uutele andmetele. Optimaalne töötajate arv sõltub aga andmestiku ja mudeli spetsiifilistest omadustest ning parima väärtuse leidmiseks võib osutuda vajalikuks katsetada erinevaid väärtusi.

Hüperparameetrid

Siin on mõned näited hüperparameetritest, mida saab MobileNeti mudeli treenimisel reguleerida:

Sisend suurus: Sisendpiltide suuruse saab määrata hüperparameetrina. MobileNet on loodud töötama mitmesuguste sisendsuurustega, kuid optimaalne suurus sõltub konkreetsest andmekogumist ja ülesandest.

Sügavuse kordaja: sügavuse kordaja hüperparameeter juhib filtrite arvu MobileNeti mudeli igas kihis. Suurema sügavuse kordaja tulemuseks on sügavam ja keerulisem mudel, kuid see võib suurendada ka ülepaigutamise ohtu.

Laiuse kordaja: laiuse kordaja hüperparameeter juhib kanalite arvu MobileNeti mudeli igas kihis. Suurema laiuse kordaja tulemuseks on laiem ja keerukam mudel, kuid see võib suurendada ka ülepaigutamise ohtu.

Partii suurus: partii suuruse hüperparameeter määrab arvutuse ajal korraga töödeldavate andmepunktide arvu. Suurem partii suurus võib kaasa tuua kiirema väljaõppe, kuid see võib ka vähendada täpsust. Väiksem partii suurus võib kaasa tuua aeglasema treeningu, kuid see võib anda täpsemaid tulemusi.

Epohhide arv: perioodide arvu hüperparameeter määrab, mitu korda mudelit kogu andmestikul treenitakse. Suurem epohhide arv võib kaasa tuua parema mudeli jõudluse, kuid see võib suurendada ka ülepaigutamise ohtu.

MobileNeti mudeli treenimisel saab reguleerida palju muid hüperparameetreid ning optimaalsed väärtused sõltuvad andmestiku ja ülesande spetsiifilistest omadustest.

Sügavuse kordaja ehk depth multiplier

MobileNet v1 puhul on sügavuse kordaja hüperparameeter, mis juhib filtrite arvu mudeli igas kihis. Sügavuse kordaja on skaleerimistegur, mida rakendatakse igas kihis olevate filtrite arvule ja mis määrab mudeli üldise sügavuse või keerukuse.

Suurema sügavuse kordaja tulemuseks on sügavam ja keerulisem mudel, mis võib kaasa tuua parema ülesande täitmise. Kuid see võib suurendada ka ülepaigutamise ohtu, mis on siis, kui mudel toimib treeningandmete puhul hästi, kuid uute andmete puhul halvasti.

Sügavuse kordaja võib võtta mis tahes väärtuse vahemikus 0 kuni 1, 1-le lähedasemad väärtused annavad sügavama ja keerukama mudeli ning 0-le lähedasemad väärtused madalama ja lihtsama mudeli. Sügavuskordaja optimaalne väärtus sõltub andmestiku ja ülesande spetsiifilistest omadustest.

Väärib märkimist, et sügavuse kordaja on vaid üks paljudest hüperparameetritest, mida saab MobileNet v1 mudeli treenimisel reguleerida, ning nende hüperparameetrite optimaalsed väärtused sõltuvad andmestiku ja ülesande spetsiifilistest omadustest.

Kuidas valida parim sügavuskordaja?

Väiksema sügavuse kordaja väärtuse tulemuseks on väiksem, kiirem ja väiksema täpsusega mudel, suurem väärtus aga suurema, aeglasema ja suurema täpsusega mudeli.

Oma kasutusjuhtumi jaoks parima sügavuskordaja valimiseks peate tasakaalustama mudeli suuruse, kiiruse ja täpsuse vahelist kompromissi. Levinud tehnika on alustada sügavuse kordaja väiksemast väärtusest ja seda järk-järgult suurendada, kuni saavutate vastuvõetava täpsustaseme. Andmete jaoks parima sügavuse kordaja leidmiseks võite kasutada ka ristvalideerimist või muid mudelivaliku tehnikaid.

Keskmine kadu

Keskmine kadu SSD MobileNeti mudeli treenimisel viitab mudeli keskmisele veale treeningandmetes. Teisisõnu, see mõõdab, kui hästi suudab mudel treeningandmete põhjal ennustusi teha.

Masinõppes on kadu funktsioon, mida kasutatakse mudeli vea mõõtmiseks. Mudeli treenimisel on eesmärk minimeerida kadu, et mudel teeks tõelistele väärtustele võimalikult lähedased ennustused. SSD MobileNeti puhul kasutatakse kadufunktsiooni, et mõõta mudeli ennustuste viga piirdekasti koordinaatidel ja klassisildidel.

Keskmine kadu arvutatakse kõigi treeningnäidete kaotuse väärtuste keskmisena. See on kasulik mõõdik, mida treeningu ajal jälgida, sest see võib anda ülevaate mudeli õppimise tasemest. Kui keskmine kahjum aja jooksul väheneb, tähendab see, et mudel paraneb ja teeb täpsemaid prognoose. Teisest küljest, kui keskmine kadu ei vähene või suureneb, võib see tähendada, et mudel ei õpi tõhusalt ja seda võib olla vaja kohandada (nt muutes õppimiskiirust või kohandades mudeli arhitektuuri).

Keskmine treeningkadu on mudeli vea mõõt treeningandmetel. See arvutatakse kõigi koolitusnäidete kaotuse väärtuste keskmisena. Väiksem keskmine treeningkaotus tähendab, et mudel prognoosib treeninguandmeid täpsemini.

Kui keskmine treeningkaotus on 2,1 versus 0,5, näitab madalam keskmine kaotus 0,5, et mudel toimib treeningandmete põhjal paremini kui mudel, mille keskmine kadu on 2,1. See võib potentsiaalselt tähendada, et väiksema kaoga mudel suudab paremini üldistada uutele, nähtamatutele andmetele. Siiski on oluline märkida, et väike keskmine treeningkaotus ei taga tingimata head jõudlust uute andmete põhjal. Mudeli jõudlust on alati hea hinnata eraldi testikomplektis, et saada täpsem hinnang selle toimivusele.

MobileNet SSD puhul kasutatakse kadufunktsiooni, et mõõta mudeli ennustuste viga piirdekasti koordinaatidel ja klasside siltidel. Oletame näiteks, et me õpetame MobileNet SSD mudelit piltidelt objekte tuvastama. Mudel võtab sisendpildi ja väljastab ennustatud piirdekastide ja klassisiltide komplekti. Kaofunktsiooni kasutatakse prognoositud piirdekastide ja klassisiltide võrdlemiseks tegelike väärtustega ning kaoväärtuse arvutamiseks. Seejärel arvutatakse keskmine kadu, võttes kõigi nende kaoväärtuste keskmised kogu treeningu andmestiku kohta.

Väiksem keskmine kadu näitab, et mudel prognoosib treeninguandmeid täpsemini, samas kui suurem keskmine kadu tähendab, et mudel teeb vähem täpseid ennustusi. Oluline on jälgida keskmist kaotust koolituse ajal, et näha, kui hästi mudel õpib, ja tuvastada võimalikud probleemid, mis võivad selle toimivust mõjutada.

Keskmine kadu MobileNet SSD mudelis ei ole protsent. See on väärtus, mille arvutab välja kadufunktsioon, mis mõõdab mudeli ennustuste viga piirdekasti koordinaatidel ja klassisiltide puhul.

Masinõppes kasutatakse kadufunktsiooni, et mõõta erinevust mudeli ennustatud väljundi ja tegeliku väljundi vahel. Kahju väljendatakse tavaliselt iga treeningnäite puhul ühe skalaarväärtusena ja keskmine kahjum arvutatakse kõigi treeningnäidete kaoväärtuste keskmisena.

Kahjuväärtuse ühikud sõltuvad konkreetsest kasutatavast kahjufunktsioonist. Näiteks regressiooniülesannetes kasutatav keskmise ruudu veakao funktsioon (MSE) toodab tavaliselt kahjuväärtusi ühikutega, mis on väljundmuutujate ühikute ruudud. MobileNet SSD puhul võib kadufunktsioon kasutada MSE-d või mõnda muud funktsiooni, näiteks ristentroopia kadu, mis tekitab erinevate ühikutega kaduväärtusi.

Oluline on märkida, et kahju väärtus ei ole otseselt tõlgendatav protsendiveana. See on lihtsalt mudeli ennustuste vea mõõt ja seda kasutatakse koolitusprotsessi juhtimiseks ja mudeli parameetrite optimeerimiseks.