Vengrijos nuostolių funkcija ir kryžminės entropijos nuostoliai
Vengrijos nuostolių funkcija ir kryžminės entropijos praradimo funkcija mašininio mokymosi srityje atlieka skirtingas funkcijas. Vengrijos nuostolių funkcija geriausiai veikia nustatyto prognozavimo uždaviniuose, tokiuose kaip objektų aptikimas, o kryžminės entropijos praradimo funkcija išlieka pirmenybe klasifikavimo problemoms spręsti. Jų stipriųjų pusių supratimas padeda specialistams pasirinkti tinkamą įrankį darbui atlikti.
Akcentai
Hungarian Loss leidžia atlikti tikrąją aibių prognozę su permutacijos invariantiškumu, o Cross-Entropy reikalauja fiksuotų išvesties struktūrų.
„Cross-Entropy“ jau dešimtmečius plačiai naudojama ir turi integruotą karkaso palaikymą visose pagrindinėse mašininio mokymosi bibliotekose.
„Hungarian Loss“ palaiko šiuolaikinius ištisinius aptikimo modelius, tokius kaip DETR, todėl nereikia rankiniu būdu kurti papildomo apdorojimo veiksmų.
Priskyrimu pagrįsta nuostolių funkcija, skirta aibių prognozavimo užduotims, derinant prognozes su faktine tiesa naudojant optimalų dvipusį atitikimą.
Carion ir kt. pristatė 2020 m. kaip DETR objektų aptikimo modelio dalį.
Naudoja vengrišką algoritmą, kad rastų optimalų „vienas su vienu“ priskyrimą tarp prognozuojamų ir pagrindinės tiesos objektų.
Sujungia kelis nuostolių komponentus, paprastai klasifikaciją ir ribojančios dėžės regresiją, į vieną suderintą nuostolį.
Leidžia aptikti objektus nuo galo iki galo, nereikalaujant rankomis suprojektuotų komponentų, tokių kaip nemaksimalus slopinimas.
Permutacijos invariantas, tai reiškia, kad prognozių tvarka neturi įtakos apskaičiuotam nuostoliui.
Kas yra Kryžminės entropijos praradimas?
Plačiai naudojama nuostolių funkcija, matuojanti skirtumą tarp numatytų tikimybių skirstinių ir tikrųjų etikečių.
Turi šaknis informacijos teorijoje, kurią iš pradžių sukūrė Claude'as Shannonas 1948 m.
Po išpopuliarėjimo devintajame ir dešimtajame dešimtmečiuose tapo neuroninių tinklų mokymo pagrindu.
Dvejetainė kryžminė entropija sprendžia dviejų klasių problemas, o kategorinė kryžminė entropija – kelių klasių problemas.
Išskirtinai gerai veikia su „softmax“ išvestimis klasifikavimo užduotims gilaus mokymosi modeliuose.
Išlieka viena iš dažniausiai naudojamų nuostolių funkcijų šiuolaikinėse mašininio mokymosi sistemose, tokiose kaip „PyTorch“ ir „TensorFlow“.
Palyginimo lentelė
Funkcija
Vengrijos nuostolių funkcija
Kryžminės entropijos praradimas
Pagrindinis naudojimo atvejis
Nustatyti numatymą (objektų aptikimas, kelių etikečių užduotys)
Klasifikacija (dvejetainė ir daugiaklasė)
Įvedimo metai
2020 m. (DETR dokumentas)
1948 m. (informacijos teorijos kilmė)
Pagrindinis mechanizmas
Optimalus dvipusis atitikimas naudojant vengrų algoritmą
Tikimybių pasiskirstymo palyginimas naudojant logaritminę tikimybę
Permutacijos invariantiškumas
Taip, iš esmės permutacijos invariantiškas
Ne, priklauso nuo fiksuotų etikečių pozicijų
Tvarko kintamus išėjimus
Taip, suderina kintamą skaičių prognozių su pagrindine tiesa
Ne, reikalingi fiksuoti išvesties matmenys
Skaičiavimo sudėtingumas
Didesnis dėl atitikimo algoritmo pridėtinių sąnaudų
Žemesni, paprasti logaritminiai skaičiavimai
Treniruočių stabilumas
Iš pradžių konverguoti gali būti lėčiau
Paprastai stabilus ir gerai suprantamas
Sistemų palaikymas
Paprastai reikalingas individualus diegimas
Integruota į visas pagrindines mašininio mokymosi sistemas
Išsamus palyginimas
Pagrindinė paskirtis ir dizaino filosofija
„Hungarian Loss“ buvo specialiai sukurtas rinkinių prognozavimo problemoms, kai modelis pateikia prognozių rinkinį, kurį reikia suderinti su pagrindinės tiesos objektais. Kita vertus, „Cross-Entropy Loss“ buvo sukurtas klasifikavimo užduotims, kai kiekvienas įvesties duomenis susieja su fiksuotu galimų kategorijų rinkiniu. Esminis skirtumas yra tas, kaip jie traktuoja rezultatus: „Hungarian Loss“ prognozes traktuoja kaip netvarkingą rinkinį, o „Cross-Entropy“ daro prielaidą apie struktūrizuotą, nuo pozicijos priklausomą rezultatą.
Atitikimo ir priskyrimo strategija
Vengriškas algoritmas yra „Hungarian Loss“ pagrindas. Jis sprendžia priskyrimo problemą rasdamas mažiausios kainos atitikmenį tarp prognozių ir pagrindinės tiesos. Tai užtikrina, kad kiekvienas pagrindinės tiesos objektas atitiktų tik vieną prognozę. Kryžminė entropija taiko visiškai kitokį metodą, tiesiog palygindama kiekvienos klasės numatomą tikimybę su teisinga etikete be jokio atitikimo žingsnio. Tai padaro kryžminę entropiją paprastą, tačiau apriboja ją problemomis su fiksuotomis išvesties struktūromis.
Našumas šiuolaikinėse programose
„Hungarian Loss“ pasižymi objektų aptikimo sistemose, tokiose kaip DETR, kur ji įgalino visapusišką mokymą nuo pradžios iki galo be inkarinių dėžių ar nemaksimalaus slopinimo. „Cross-Entropy“ išlieka dominuojančia vaizdų klasifikavime, kalbų modeliavime ir bet kokiose užduotyse su aiškiais kategoriniais rezultatais. Daugelio klasių problemoms su žinomu kategorijų skaičiumi „Cross-Entropy“ paprastai yra greičiau apmokoma ir lengviau įgyvendinama. „Hungarian Loss“ reikalauja daugiau skaičiavimų kiekvienam žingsniui, tačiau atveria galimybes, kurių „Cross-Entropy“ tiesiog negali apdoroti.
Praktinio įgyvendinimo aspektai
Norint įdiegti „Hungarian Loss“ nuo nulio, reikia užkoduoti arba importuoti vengrišką algoritmą, o tai padidina projektų sudėtingumą. „Cross-Entropy“ yra prieinama kaip vienos eilutės funkcijos iškvietimas praktiškai kiekvienoje gilaus mokymosi bibliotekoje. Tačiau papildomas „Hungarian Loss“ sudėtingumas atsiperka, kai dirbama su kintamo ilgio prognozėmis arba kai reikia permutacijos invariantiškumo. Daugumai klasifikavimo užduočių „Cross-Entropy“ paprastumas ir patikimumas daro jį praktiškai numatytuoju pasirinkimu.
Mokymo dinamika ir konvergencija
Modeliams, apmokytiems naudojant „Hungarian Loss“, dažnai reikia daugiau epochų, kad konverguotų, nes atitikimo žingsnis padidina gradiento srauto sudėtingumą. „Cross-Entropy“ suteikia sklandesnes, labiau nuspėjamas mokymo kreives, kurias specialistai turi dešimtmečių derinimo patirties. Nepaisant to, kai „Hungarian Loss“ modeliai konverguoja, jie dažnai pasiekia konkurencingus arba geresnius rezultatus aptikimo etalonuose. Pasirinkimas tarp jų dažnai priklauso nuo to, ar jūsų užduočiai reikalinga nustatyta prognozė, ar standartinė klasifikacija.
Privalumai ir trūkumai
Vengrijos nuostolių funkcija
Privalumai
+Permutacijos invariantinis atitikimas
+Tvarko kintamus išėjimus
+Įgalina visapusišką mokymą
+Pašalina NMS papildomą apdorojimą
+Vieningas kelių užduočių praradimas
Pasirinkta
−Didesnės skaičiavimo išlaidos
−Lėtesnė konvergencija
−Sudėtingas įgyvendinimas
−Ribotas sistemos palaikymas
Kryžminės entropijos praradimas
Privalumai
+Paprasta įgyvendinti
+Greita konvergencija
+Universalios sistemos palaikymas
+Gerai suprantamas elgesys
+Skaičiavimo požiūriu efektyvus
Pasirinkta
−Fiksuoti išvesties matmenys
−Nėra permutacijos invariantiškumo
−Apribota klasifikacija
−Sunku nuspėti nustatytą laiką
Dažni klaidingi įsitikinimai
Mitas
Vengriški nuostoliai ir kryžminės entropijos nuostoliai gali būti vartojami pakaitomis bet kuriai užduočiai.
Realybė
Šios nuostolių funkcijos atlieka iš esmės skirtingus tikslus. „Hungarian Loss“ skirta aibių prognozavimui, kai rezultatai turi būti suderinti su faktiniais duomenimis, o „Cross-Entropy“ – klasifikavimui su fiksuotos kategorijos rezultatais. Neteisingos funkcijos naudojimas lemia prastą našumą arba mokymo klaidas.
Mitas
Vengriškas praradimas visada yra tikslesnis nei kryžminės entropijos praradimas.
Realybė
Tikslumas visiškai priklauso nuo užduoties. Klasifikavimo problemoms spręsti kryžminės entropijos metodas dažnai duoda vienodai gerus arba geresnius rezultatus su trumpesniu mokymo laiku. „Hungarian Loss“ metodas veikia geriau tik nustatytų prognozavimo scenarijuose, kur jo atitikimo galimybė suteikia realų pranašumą.
Mitas
Kryžminio entropijos praradimo metodas yra pasenęs ir jį pakeitė naujesnės alternatyvos.
Realybė
Kryžminė entropija išlieka viena iš plačiausiai naudojamų nuostolių funkcijų giliajame mokymesi. Ji palaiko pažangiausius kalbos modelius, vaizdų klasifikatorius ir daugybę gamybos sistemų. Dėl savo paprastumo ir efektyvumo ji išliko aktuali, nepaisant naujesnių nuostolių funkcijų kūrimo.
Mitas
Vengrų kalbos praradimui reikalingas diferencijuojamasis vengrų kalbos algoritmas.
Realybė
Pats vengriškas algoritmas nėra diferencijuojamas, tačiau jis taikomas atitikimo žingsniui prieš apskaičiuojant nuostolius. Gradientai teka tik per suderintas prognozes, to pakanka atgaliniam sklidimui. Atitikimas traktuojamas kaip diskretus priskyrimo uždavinys, atskiras nuo gradiento skaičiavimo.
Mitas
Norėdami naudoti vengrų kalbos praradimą, turite patys įdiegti vengrų kalbos algoritmą.
Realybė
Efektyvios vengrų algoritmo implementacijos egzistuoja tokiose bibliotekose kaip „SciPy“ ir gali būti iškviečiamos tiesiogiai. Daugelis atvirojo kodo DETR ir panašių modelių implementacijų teikia paruoštą naudoti vengrų kalbos „Loss“ kodą, kurį praktikai gali pritaikyti savo projektams.
Dažnai užduodami klausimai
Kuo pagrindinis skirtumas tarp vengriškų nuostolių ir kryžminės entropijos nuostolių?
Pagrindinis skirtumas yra jų paskirtis ir mechanizmas. „Hungarian Loss“ naudoja optimalų atitikimą, kad susietų prognozes su faktine tiesa aibių prognozavimo užduotyse, todėl jis yra permutacijos invariantiškas. „Cross-Entropy Loss“ lygina numatytas tikimybes su tikromis etiketėmis klasifikavimo užduotims, darant prielaidą, kad išvesties struktūra yra fiksuota. Jie sprendžia iš esmės skirtingas mašininio mokymosi problemas.
Kada turėčiau naudoti vengrišką nuostolį vietoj kryžminės entropijos nuostolių?
Naudokite „Hungarian Loss“, kai jūsų užduotis apima objektų rinkinio prognozavimą, pvz., objektų aptikimą, egzempliorių segmentavimą arba kelių objektų sekimą. Šios užduotys reikalauja suderinti kintamą skaičių prognozių su pagrindine tiesa. Standartinei klasifikacijai su fiksuotu klasių skaičiumi kryžminė entropija išlieka geresnis ir paprastesnis pasirinkimas.
Ar vengrų kalbos praradimas naudojamas tik DETR sistemoje?
Nors DETR išpopuliarino vengrų kalbos praradimo metodą 2020 m., nuo to laiko jis buvo pritaikytas įvairiuose kituose modeliuose ir užduotyse. Tyrėjai jį pritaikė daugiaetikečių klasifikavimui, pozų vertinimui ir kitoms rinkinių prognozavimo problemoms. Pagrindinė vengrų kalbos atitikimo koncepcija tapo vertingu įrankiu, neapsiribojančiu vien objektų aptikimu.
Ar galiu derinti vengrų nuostolius su kryžminės entropijos nuostoliais?
Taip, tai iš tikrųjų yra įprasta praktika. DETR ir panašiuose modeliuose „Hungarian Loss“ sujungia klasifikavimo komponentą (iš esmės kryžminę entropiją) su ribojančios dėžės regresijos komponentu. „Hungarian Loss“ algoritmas suderina prognozes su faktine tiesa, tada kryžminė entropija apskaičiuojama pagal suderintas klasifikavimo prognozes.
Kodėl „Hungarian Loss“ treniruotis užtrunka ilgiau?
„Hungarian Loss“ reikalauja išspręsti priskyrimo problemą kiekvienam mokymo etapui, o tai padidina skaičiavimo krūvį. Be to, atitikimo žingsnis sukuria sudėtingesnį nuostolių aplinką, kuri gali sulėtinti konvergenciją. Modeliams, naudojantiems „Hungarian Loss“, dažnai reikia daugiau mokymo epochų, kad būtų pasiektas optimalus našumas, palyginti su paprastesniais klasifikavimo nuostoliais.
Ar kryžminės entropijos praradimas veikia su neuroniniais tinklais?
Be abejo. Kryžminės entropijos nuostoliai yra viena iš dažniausiai naudojamų nuostolių funkcijų neuroniniams tinklams mokyti, ypač klasifikavimo užduotims. Ji natūraliai dera su „softmax“ aktyvavimu išvesties sluoksnyje ir suteikia stiprius gradientus, kurie padeda tinklams efektyviai mokytis įvairiose architektūrose.
Kas yra permutacijos invariantiškumas ir kodėl jis svarbus?
Permutacijos invariantiškumas reiškia, kad nuostolių vertė nekinta priklausomai nuo prognozių eiliškumo. Aibinių prognozavimo užduočių atveju modelis neturėtų būti baudžiamas už objektų išvedimą kita tvarka nei pagrindinė tiesa. Hungarian Loss ši savybė suteikiama natūraliai, o Cross-Entropy – ne, nes ji daro prielaidą, kad kiekviena klasė turi fiksuotas pozicijas.
Kaip įdiegti „Hungarian Loss“ „PyTorch“?
Hungarian Loss galite įdiegti naudodami vengrišką algoritmą iš „SciPy“ kartu su „PyTorch“ tenzoriais. Keletas atvirojo kodo įgyvendinimo variantų yra „GitHub“, įskaitant oficialią DETR saugyklą. Pagrindiniai žingsniai apima sąnaudų matricų skaičiavimą, vengriško algoritmo paleidimą optimaliems priskyrimams rasti ir nuostolių skaičiavimą tik sutapusioms poroms.
Ar kryžminės entropijos praradimas tinka daugiaklasėms problemoms?
Taip, kategorinė kryžminė entropija yra specialiai sukurta daugiaklasei klasifikacijai. Ji veikia su „softmax“ išvestimis, kad vienu metu apskaičiuotų nuostolius keliose klasėse. Dvejetainėms problemoms spręsti naudojama dvejetainė kryžminė entropija, kuri apdoroja dviejų klasių scenarijus su sigmoidine aktyvacija.
Kokios yra kryžminio entropijos praradimo alternatyvos klasifikavimui?
Yra keletas alternatyvų, įskaitant židinio nuostolius nesubalansuotiems duomenų rinkiniams, etikečių išlyginimo kryžminę entropiją geresniam apibendrinimui ir vyrių nuostolius atraminių vektorių mašinoms. Kiekvienas iš jų turi specifinių privalumų, tačiau kryžminė entropija išlieka numatytuoju pasirinkimu daugumai klasifikavimo užduočių dėl savo paprastumo ir efektyvumo.
Nuosprendis
Dirbdami su nustatyto prognozavimo užduotimis, tokiomis kaip objektų aptikimas, kelių objektų sekimas ar bet kokia kita problema, kuriai reikalingas permutacijos požiūriu invariantiškas atitikimas tarp prognozių ir pagrindinės tiesos, rinkitės „Hungarian Loss“. Tradicinėms klasifikavimo problemoms, kalbų modeliavimui ir scenarijams, kur svarbiausias yra paprastumas ir greita konvergacija, rinkitės „Cross-Entropy Loss“. Abi nuostolių funkcijos yra vertingi įrankiai, o jų skirtingų privalumų supratimas padės pritaikyti tinkamą konkrečiam mašininio mokymosi iššūkiui.