AI-modeller och plattformar

SEER: En genombrott inom självständig datorseende

mm
Lägg till Unite.AI bland dina föredragna källor på Google
SEER Framework for Self Supervised Learning

I det senaste decenniet har artificiell intelligens (AI) och maskinlärning (ML) gjort enorma framsteg. Idag är de mer exakta, effektiva och kapabla än någonsin tidigare. Moderna AI- och ML-modeller kan sömlöst och exakt känna igen objekt i bilder eller videofiler. Dessutom kan de generera text och tal som motsvarar mänsklig intelligens.

AI- och ML-modellerna i dag är starkt beroende av utbildning på märkta dataset som lär dem att tolka en block av text, identifiera objekt i en bild eller videoram, och många andra uppgifter.

Trots deras förmågor är AI- och ML-modellerna inte perfekta, och forskare arbetar för att bygga modeller som kan lära sig från den information de får, och inte nödvändigtvis förlita sig på märkta eller annoterade data. Detta tillvägagångssätt kallas självständig lärande, och det är en av de mest effektiva metoderna för att bygga ML- och AI-modeller som har “allmänna kunskaper” eller bakgrundskunskap för att lösa problem som ligger utanför förmågan hos AI-modellerna i dag.

Självständig lärande har redan visat sina resultat inom naturlig språkbehandling, eftersom det har möjliggjort utvecklare att träna stora modeller som kan arbeta med en enorm mängd data, och har lett till flera genombrott inom områden som naturlig språkinferens, maskinöversättning och frågesvar.

SEER-modellen från Facebook (META ) AI syftar till att maximera förmågan hos självständig lärande inom området datorseende. SEER eller Självständigt Övervakat är en självständig datorseende-lärandemodell som har över en miljard parametrar, och den kan hitta mönster eller lära sig även från en slumpmässig grupp av bilder som finns på internet utan korrekt annotering eller märkning.

Behovet av självständig lärande inom datorseende

Dataannotering eller datamärkning är en förbearbetningsfas i utvecklingen av maskinlärnings- och artificiell intelligensmodeller. Dataannoteringsprocessen identifierar rådata som bilder eller videoramar, och sedan lägger till märkning på datat för att specificera sammanhanget för datat för modellen. Dessa märkningar tillåter modellen att göra exakta förutsägelser på datat.

En av de största utmaningarna som utvecklare står inför när de arbetar med datorseendemodeller är att hitta högkvalitativa annoterade data. Datorseende-modeller i dag förlitar sig på dessa märkta eller annoterade dataset för att lära sig mönstren som tillåter dem att känna igen objekt i bilden.

Dataannotering och dess användning i datorseendemodellen ställer följande utmaningar:

Hantering av konsekvent datasetkvalitet

Den största utmaningen för utvecklare är att få tillgång till högkvalitativa dataset konsekvent, eftersom högkvalitativa dataset med korrekt märkning och tydliga bilder resulterar i bättre lärande och exakta modeller. Men att få tillgång till högkvalitativa dataset konsekvent har sina egna utmaningar.

Arbetsstyrkehantering

Dataannotering kommer ofta med arbetsstyrkehanteringsproblem, främst eftersom en stor mängd arbetare krävs för att bearbeta och märka stora mängder ostrukturerade och oannoterade data, samtidigt som man säkerställer kvalitet. Därför är det viktigt för utvecklare att hitta en balans mellan kvalitet och kvantitet när det gäller dataannotering.

Ekonomiska begränsningar

Den största utmaningen är de ekonomiska begränsningarna som följer med dataannoteringsprocessen, och oftast är dataannoteringskostnaden en betydande del av den totala projektets kostnad.

Som du kan se är dataannotering en stor utmaning i utvecklingen av avancerade datorseendemodeller, särskilt när det gäller att utveckla komplexa modeller som hanterar stora mängder träningsdata. Det är därför datorseendeindustrin behöver självständig lärande för att utveckla komplexa och avancerade datorseendemodeller som kan hantera uppgifter som ligger utanför förmågan hos nuvarande modeller.

Med det sagt finns det redan många självständiga lärandemodeller som har presterat bra i en kontrollerad miljö, och främst på ImageNet-datasetet. Även om dessa modeller kan göra ett bra jobb, uppfyller de inte den primära förutsättningen för självständig lärande inom datorseende: att lära sig från valfri obegränsad dataset eller slumpmässig bild, och inte bara från ett väldefinierat dataset. När det implementeras idealiskt kan självständig lärande hjälpa till att utveckla mer exakta och kapabla datorseendemodeller som är kostnadseffektiva och livskraftiga.

SEER eller Självständigt Övervakat Modell: En introduktion

De senaste trenderna inom AI- och ML-industrin har indikerat att modellförträningsmetoder som semi-övervakad, svag övervakad och självständig lärande kan förbättra prestandan för de flesta djupa lärandemodeller för nedströmsuppgifter.

Det finns två nyckelfaktorer som har bidragit till den betydande förbättringen av prestanda för dessa djupa lärandemodeller.

Förträning på stora dataset

Förträning på stora dataset resulterar vanligtvis i bättre exakthet och prestanda, eftersom det utsätter modellen för en stor mängd data. Stora dataset tillåter modellerna att förstå mönstren i datat bättre, och slutligen resulterar det i att modellen presterar bättre i verkliga scenarier.

Några av de bäst presterande modellerna, som GPT-3-modellen och Wav2vec 2.0-modellen, är tränade på stora dataset. GPT-3-språkmodellen använder ett förträningsdataset med över 300 miljarder ord, medan Wav2vec 2.0-modellen för taligenkänning använder ett dataset med över 53 000 timmar av ljuddata.

Modeller med stor kapacitet

Modeller med ett stort antal parametrar ger ofta exakta resultat, eftersom ett stort antal parametrar tillåter modellen att fokusera på de objekt i datat som är nödvändiga, snarare än att fokusera på störningar eller brus i datat.

Utvecklare i det förflutna har försökt att träna självständiga lärandemodeller på icke-märkta eller ocurerade dataset, men med mindre dataset som innehöll bara några miljoner bilder. Kan självständiga lärandemodeller ge hög exakthet när de tränas på en stor mängd oannoterade och ocurerade data? Det är precis den frågan som SEER-modellen syftar till att besvara.

SEER-modellen är ett djupt lärande-ramverk som syftar till att registrera bilder som finns på internet, oberoende av curerade eller märkta dataset. SEER-ramverket tillåter utvecklare att träna stora och komplexa ML-modeller på slumpmässiga data utan övervakning, d.v.s. modellen analyserar datat och lär sig mönstren eller informationen på egen hand utan någon manuell inmatning.

Det ultimata målet med SEER-modellen är att hjälpa till att utveckla strategier för förträningsprocessen som använder ocurerade data för att leverera toppklassprestanda i överföringslärande. Dessutom syftar SEER-modellen till att skapa system som kan lära sig kontinuerligt från en aldrig sinande ström av data på ett självständigt sätt.

SEER-ramverket tränar högkapacitetsmodeller på miljarder slumpmässiga och ocurerade bilder som extraheras från internet. Modellerna som tränas på dessa bilder förlitar sig inte på bildmetadata eller märkning för att träna modellen eller filtrera datat. På senare tid har självständig lärande visat stor potential som träningsmodeller på ocurerade data har gett bättre resultat jämfört med förtränade modeller för nedströmsuppgifter.

SEER-ramverk och RegNet: Vad är sambandet?

För att analysera SEER-modellen fokuserar den på RegNet-arkitekturen med över 700 miljoner parametrar som stämmer överens med SEER:s mål om självständig lärande på ocurerade data av två primära skäl:

  1. De erbjuder en perfekt balans mellan prestanda och effektivitet.
  2. De är mycket flexibla och kan skalas för ett antal parametrar.

SEER-ramverk: Tidigare arbete från olika områden

SEER-ramverket syftar till att utforska gränserna för att träna stora modellarkitekturer på ocurerade eller oannoterade dataset med hjälp av självständig lärande, och modellen söker inspiration från tidigare arbete inom området.

Osövervakad förträning av visuella funktioner

Självständig lärande har implementerats inom datorseende under en tid med metoder som använder autoencoders, instansnivådiskriminering eller kluster. På senare tid har metoder som använder kontrastivt lärande indikerat att förträning av modeller med osövervakat lärande för nedströmsuppgifter kan prestera bättre än en övervakad lärandeansats.

Den viktigaste slutsatsen från osövervakat lärande av visuella funktioner är att så länge du tränar på filtrerat data, behövs inte övervakade märkningar. SEER-modellen syftar till att undersöka om modellen kan lära sig exakta representationer när stora modellarkitekturer tränas på en stor mängd ocurerade, oannoterade och slumpmässiga bilder.

Lärande av visuella funktioner i stor skala

Tidigare modeller har gynnats av förträning av modellerna på stora märkta dataset med svag övervakning, övervakning och semi-övervakning på miljontals filtrerade bilder. Dessutom har modellanalse indikerat att förträning av modellen på miljarder bilder ofta resulterar i bättre exakthet jämfört med att träna modellen från scratch.

Dessutom kräver träningsmodeller på stor skala vanligtvis datafiltreringssteg för att göra bilderna överensstämmelse med målkoncepten. Dessa filtreringssteg antingen använder förutsägelser från en förtränad klassificerare eller använder hashtags som ofta är syskon till ImageNet-klasserna. SEER-modellen fungerar annorlunda, eftersom den syftar till att lära sig funktioner i vilken slumpmässig bild som helst, och därför är träningsdatat för SEER-modellen inte curerat för att matcha en fördefinierad uppsättning funktioner eller koncept.

Skalning av arkitekturer för bildigenkänning

Modeller gynnas vanligtvis av att träna stora arkitekturer på bättre kvalitetsvisuella funktioner. Det är viktigt att träna stora arkitekturer när förträning på ett stort dataset är viktigt, eftersom en modell med begränsad kapacitet ofta undertränar. Det har ännu större betydelse när förträning sker tillsammans med kontrastivt lärande, eftersom modellen i sådana fall måste lära sig att diskriminera mellan datatinstanser för att lära sig bättre visuella representationer.

Men för bildigenkänning kräver skalning av arkitektur mycket mer än bara att ändra modellens djup och bredd, och för att bygga en skalbar modell med högre kapacitet krävs en stor mängd litteratur. SEER-modellen visar fördelarna med att använda RegNets-familjen av modeller för att distribuera självständig lärande i stor skala.

SEER: Metoder och komponenter som används

SEER-ramverket använder en mängd olika metoder och komponenter för att förträna modellen för att lära sig visuella representationer. Några av de viktigaste metoderna och komponenterna som används av SEER-ramverket är: RegNet och SwAV. Låt oss diskutera metoderna och komponenterna som används i SEER-ramverket kort.

Självständig förträning med SwAV

SEER-ramverket förtränas med SwAV, en online-självständig lärandeansats. SwAV är en online-klustermetod som används för att träna convnets-ramverk utan annoteringar. SwAV-ramverket fungerar genom att träna en inbäddning som producerar klusteruppdelningar konsekvent mellan olika vyer av samma bild. Systemet lär sig sedan semantiska representationer genom att gräva kluster som är invarianta för dataförstärkningar.

I praktiken jämför SwAV-ramverket funktionerna för de olika vyerna av en bild genom att använda deras oberoende klusteruppdelningar. Om dessa uppdelningar fångar samma eller liknande funktioner, är det möjligt att förutsäga uppdelningen av en bild genom att använda funktionen för en annan vy.

SEER-modellen använder en uppsättning K kluster, och varje kluster är associerat med en lärd d-dimensionell vektor vk. För en batch av B bilder, omvandlas varje bild i till två olika vyer: xi1 , och xi2. Vyerna featuriseras sedan med hjälp av en convnet, och det resulterar i två uppsättningar funktioner: (f11, …, fB2), och (f12, … , fB2). Varje funktionssats tilldelas sedan oberoende till klusterprototyper med hjälp av en Optimal Transport-lösare.

Optimal Transport-lösaren säkerställer att funktionerna delas jämnt över klustren, och det hjälper till att undvika triviala lösningar där alla representationer mappas till en enda prototyp. Den resulterande tilldelningen byts sedan mellan två uppsättningar: klusteruppdelningen yi1 för vy xi1 behöver förutsägas med hjälp av funktionen fi2 för vy xi2, och vice versa.

Prototypvikterna och convneten tränas sedan för att minimera förlusten för alla exempel. Klusterförutsägelsens förlust l är i princip den korsentropi mellan en softmax av dotprodukten av f och klusteruppdelning.

RegNetY: En skalbar modellfamilj

Att skala modellkapacitet och data kräver arkitekturer som är effektiva inte bara i termer av minne, utan också i termer av runtime och RegNets-ramverket är en familj av modeller som är utformade specifikt för detta syfte.

RegNet-familjen av arkitekturer definieras av ett designutrymme av convnets med 4 faser, där varje fas innehåller en serie identiska block medan man säkerställer att blockets struktur förblir fast, främst den residuala flaskhalsen.

SEER-ramverket fokuserar på RegNetY-arkitekturen och lägger till en Squeeze-and-Excitation till den standardmässiga RegNets-arkitekturen i ett försök att förbättra deras prestanda. Dessutom har RegNetY-modellen 5 parametrar som hjälper till att söka efter bra instanser med ett fast antal FLOPs som förbrukar rimliga resurser. SEER-modellen syftar till att förbättra sina resultat genom att implementera RegNetY-arkitekturen direkt på sin självständiga förträning.

RegNetY 256GF-arkitekturen: SEER-modellen fokuserar främst på RegNetY 256GF-arkitekturen i RegNetY-familjen, och dess parametrar använder skalningsregeln för RegNets-arkitekturen. Parametrarna beskrivs som följer.

RegNetY 256GF-arkitekturen har 4 faser med fasbredder (528, 1056, 2904, 7392) och fasdjup (2,7,17,1) som adderar upp till över 696 miljoner parametrar. När modellen tränas på 512 V100 32GB NVIDIA -GPU:er, tar varje iteration cirka 6125 ms för en batchstorlek på 8 704 bilder. Träning av modellen på ett dataset med över en miljard bilder, med en batchstorlek på 8 704 bilder på över 512 GPU:er, kräver 114 890 iterationer, och träningen varar i cirka 8 dagar.

Optimering och träning i stor skala

SEER-modellen föreslår flera justeringar för att träna självständiga metoder och anpassa dessa metoder till en stor skala. Dessa metoder är:

  1. Lärande hastighetsplan.
  2. Minskning av minneskonsumtion per GPU.
  3. Optimering av träningshastighet.
  4. Förträning av data i stor skala.

Låt oss diskutera dem kort.

Lärande hastighetsplan

SEER-modellen undersöker möjligheten att använda två lärande hastighetsplaner: kosinusbågs lärande hastighetsplan och fast lärande hastighetsplan.

Kosinusbågs lärande schemat används för att jämföra olika modeller rättvist, eftersom det anpassar sig till antalet uppdateringar. Men kosinusbågs lärande schemat anpassar sig inte till stor skalasträning, främst eftersom det väger bilderna olika baserat på när de ses under träning, och det använder också kompletta uppdateringar för schemaläggning.

Det fasta lärande schemat håller lärande hastigheten fast tills förlusten inte är icke-minskande, och sedan delas lärande hastigheten med 2. Analys visar att det fasta lärande schemat fungerar bättre, eftersom det har utrymme för att göra träningen mer flexibel. Men eftersom modellen bara tränar på 1 miljard bilder, använder den kosinusbågs lärande hastighetsplanen för att träna sin största modell, RegNet 256GF.

Minskning av minneskonsumtion per GPU

Modellen syftar också till att minska mängden GPU som behövs under träningsperioden genom att använda blandad precision och gradvis checkpointing. Modellen använder NVIDIA Apex Librarys O1-optimieringsnivå för att utföra operationer som konvolutioner och GEMMs i 16-bitars flyttalsprecision. Modellen använder också PyTorchs gradient checkpointing-implementering som handlar om att utbyta beräkningar för minne.

Dessutom kastar modellen bort alla mellanliggande aktiveringar som görs under framåtriktad passering, och under bakåtriktad passering, återberäknar den dessa aktiveringar.

Optimering av träningshastighet

Att använda blandad precision för att optimera minnesanvändning har ytterligare fördelar, eftersom acceleratorer tar till vara på den minskade storleken på FP16 genom att öka genomströmningen när jämfört med FP32. Det hjälper till att påskynda träningsperioden genom att förbättra minnes-bandbreddsflaskan.

SEER-modellen synkroniserar också BatchNorm-lagret över GPU:er för att skapa processgrupper istället för att använda global synkronisering, som vanligtvis tar mer tid. Slutligen förutser dataladdern som används i SEER-modellen fler träningsbatcher, vilket leder till en större mängd data som genomströmmas när jämfört med PyTorchs dataladdare.

Förträning av data i stor skala

SEER-modellen använder över en miljard bilder under förträning, och den överväger en dataladdare som provar slumpmässiga bilder direkt från internet och Instagram. Eftersom SEER-modellen tränar dessa bilder i vild och online, tillämpar den ingen förbearbetning på dessa bilder eller curerar dem med processer som de-duplicering eller hashtag-filtrering.

Det är värt att notera att datasetet inte är statiskt, och bilderna i datasetet uppdateras var tredje månad. Men uppdatering av datasetet påverkar inte modellens prestanda.

SEER-modellens implementering

SEER-modellen förtränar en RegNetY 256GF med SwAV med sex skördar per bild, med varje bild som har en upplösning på 2×224 + 4×96. Under förträningsfasen använder modellen en 3-lagers MLP eller multi-lagers perceptron med projiceringshuvuden med dimensioner 10444×8192, 8192×8192 och 8192×256.

Istället för att använda BatchNorm-lager i huvudet, använder SEER-modellen 16 000 prototyper med temperaturen t inställd på 0,1. Sinkhorn-regleringsparametern är inställd på 0,05, och den utför 10 iterationer av algoritmen. Modellen synkroniserar sedan BatchNorm-statistik över GPU:er och skapar flera processgrupper med storlek 64 för synkronisering.

Dessutom använder modellen en LARS eller lager-vis adaptiv hastighetsjustering, en viktminskning på 10-5, aktiveringskontrollpunkter och O1-blandad precisionsoptimering. Modellen tränas sedan med stokastisk gradientnedstigning med en batchstorlek på 8 192 slumpmässiga bilder distribuerade över 512 NVIDIA-GPU:er, vilket resulterar i 16 bilder per GPU.

Lärande hastigheten ökas linjärt från 0,15 till 9,6 under de första 8 000 träningsuppdateringarna. Efter uppvärmningen följer modellen en kosinussvängande lärande hastighetsplan som minskar till ett slutvärde på 0,0096. Sammanfattningsvis tränar SEER-modellen över en miljard bilder under 122 000 iterationer.

SEER-ramverk: Resultat

Kvaliteten på de funktioner som genereras av den självständiga förträningansatsen studeras och analyseras på en mängd olika benchmark och nedströmsuppgifter. Modellen överväger också en lågskottinställning som ger begränsad tillgång till bilderna och deras märkningar för nedströmsuppgifter.

Fine-tuning av stora förtränade modeller

Det mäts kvaliteten på modeller som förtränats på slumpmässiga data genom att överföra dem till ImageNet-benchmarken för objektklassificering. Resultaten på fine-tuning av stora förtränade modeller bestäms av följande parametrar.

Experimentella inställningar

Modellen förtränar 6 RegNet-arkitekturer med olika kapaciteter, nämligen RegNetY- {8,16,32,64,128,256}GF, på över 1 miljard slumpmässiga och offentliga Instagram-bilder med SwAV. Modellerna förtränas sedan för syftet med bildklassificering på ImageNet som använder över 1,28 miljoner standardträningsbilder med korrekta märkningar och har ett standardvalideringsset med över 50 000 bilder för utvärdering.

Modellen tillämpar sedan samma dataförstärkningsmetoder som i SwAV och förtränar i 35 epocher med SGD-optimera eller stokastisk gradientnedstigning med en batchstorlek på 256 och en lärande hastighet på 0,0125 som minskas med en faktor på 10 efter 30 epocher, momentum på 0,9 och viktminskning på 10-4. Modellen rapporterar topp-1-exakthet på valideringsdatasetet med hjälp av centrumkorrektur på 224×224.

Jämförelse med andra självständiga förträningsansatser

I följande tabell jämförs den största förtränade modellen i RegNetY-256GF med befintliga förtränade modeller som använder den självständiga lärandeansatsen.

Som du kan se, returnerar SEER-modellen en topp-1-exakthet på 84,2% på ImageNet och överträffar SimCLRv2, den bästa befintliga förtränade modellen, med 1%.

Dessutom jämför följande figur SEER-ramverket med modeller av olika kapaciteter. Som du kan se, oavsett modellkapacitet, ger kombinationen av RegNet-ramverket med SwAV exakta resultat under förträning.

SEER-modellen är förtränad på ocurerade och slumpmässiga bilder, och den har RegNet-arkitekturen med SwAV-självständig lärandemetod. SEER-modellen jämförs med SimCLRv2 och ViT-modellerna med olika nätverksarkitekturer. Slutligen förtränas modellen på ImageNet-datasetet, och topp-1-exaktheten rapporteras.

Effekten av modellkapacitet

Modellkapacitet har en betydande effekt på modellens prestanda under förträning, och följande figur jämför den med effekten när man tränar från scratch.

Det kan tydligt ses att topp-1-exaktheten för förtränade modeller är högre än modeller som tränas från scratch, och skillnaden blir större när antalet parametrar ökar. Det är också tydligt att modellkapacitet gynnar både förtränade och tränade modeller, men effekten är större på förtränade modeller när man hanterar ett stort antal parametrar.

En möjlig anledning till att träna en modell från scratch kan överträna när man tränar på ImageNet-datasetet är på grund av den lilla datasetstorleken.

Lågskottinlärning

Lågskottinlärning refererar till utvärdering av SEER-modellens prestanda i en lågskottinställning, d.v.s. med hjälp av endast en bråkdel av den totala datan när man utför nedströmsuppgifter.

Experimentella inställningar

SEER-ramverket använder två dataset för lågskottinlärning, nämligen Places205 och ImageNet. Dessutom antar modellen att den har begränsad tillgång till datasetet under överföringslärande, både i termer av bilder och deras märkningar. Denna begränsade tillgångsinställning skiljer sig från standardinställningarna som används för självständig lärande, där modellen har tillgång till hela datasetet, och endast tillgången till bildmärkningarna är begränsad.

Resultat på Places205-dataset

Följande figur visar effekten av att förträna modellen på olika delar av Places205-datasetet.

Tillvägagångssättet jämförs med att förträna modellen på ImageNet-datasetet under övervakning med samma RegNetY-128 GF-arkitektur. Resultaten från jämförelsen är förvånande, eftersom det kan observeras att det finns en stabil vinst på cirka 2,5% i topp-1-exakthet, oavsett den del av träningsdatan som är tillgänglig för fine-tuning på Places205-datasetet.

Skillnaden som observeras mellan övervakad och självständig förträning kan förklaras med tanke på skillnaden i datans natur, eftersom funktioner som lärs av modellen från slumpmässiga bilder i vild kan vara mer lämpade för att klassificera scener. Dessutom kan en icke-uniform fördelning av underliggande koncept visa sig vara en fördel för förträning på ett obalanserat dataset som Places205.

Resultat på ImageNet

Ovanstående tabell jämför SEER-modellens tillvägagångssätt med självständiga förträningsansatser och semi-övervakade ansatser på lågskottinlärning. Det är värt att notera att alla dessa metoder använder alla 1,2 miljoner bilder i ImageNet-datasetet för förträning, och de begränsar endast tillgången till märkningar. Å andra sidan tillåter SEER-modellens tillvägagångssätt att se endast 1 till 10% av bilderna i datasetet.

Som du kan se, gynnar det faktum att nätverken sett fler bilder från samma fördelning under förträning dessa ansatser avsevärt. Men vad som är imponerande är att även om SEER-modellen bara ser 1 till 10% av ImageNet-datasetet, kan den fortfarande uppnå en topp-1-exakthet på cirka 80%, som bara är något sämre än exaktheten för de ansatser som diskuteras i tabellen ovan.

Effekten av modellkapacitet

Följande figur diskuterar effekten av modellkapacitet på lågskottinlärning: vid 1%, 10% och 100% av ImageNet-datasetet.

Det kan observeras att ökning av modellkapacitet kan förbättra modellens exakthet, särskilt när det gäller att minska tillgången till både bilder och märkningar i datasetet.

Överföring till andra benchmark

För att utvärdera SEER-modellen ytterligare och analysera dess prestanda, överförs de förtränade funktionerna till andra nedströmsuppgifter.

Linjär utvärdering av bildklassificering

Ovanstående tabell jämför funktionerna från SEER:s förtränade RegNetY-256GF och RegNetY128-GF förtränade på ImageNet-datasetet med samma arkitektur med och utan övervakning. För att analysera funktionernas kvalitet, fryser modellen viktorna och använder en linjär klassificerare ovanpå funktionerna med hjälp av träningsuppsättningen för nedströmsuppgifterna. Följande benchmark används för processen: Open-Images (OpIm), iNaturalist (iNat), Places205 (Places) och Pascal VOC (VOC).

Detektion och segmentering

Följande figur jämför de förtränade funktionerna på detektion och segmentering, och utvärderar dem.

SEER-ramverket tränar en Mask-RCNN-modell på COCO-benchmarken med förtränade RegNetY-64GF och RegNetY-128GF som byggnadsblock. För både arkitektur och nedströmsuppgifter överträffar SEER:s självständiga förträningansats den övervakade träningen med 1,5 till 2 AP-poäng.

Jämförelse med svag övervakning

De flesta bilderna som finns tillgängliga på internet har vanligtvis en meta-beskrivning eller en alt-text, eller beskrivningar, eller geolokaliseringar som kan ge utdelning under förträning. Tidigare arbete har visat att förutsägelse av en kuraterad eller märkt uppsättning hashtags kan förbättra kvaliteten på de resulterande visuella funktionerna. Men denna ansats kräver filtrering av bilder, och den fungerar bäst endast när en textbaserad metadata finns.

Följande figur jämför förträning av en ResNetXt101-32dx8d-arkitektur tränad på slumpmässiga bilder med samma arkitektur tränad på märkta bilder med hashtags och metadata, och rapporterar topp-1-exaktheten för båda.

Det kan ses att även om SEER-ramverket inte använder metadata under förträning, är dess exakthet jämförbar med modellerna som använder metadata för förträning.

Ablationsstudier

En ablationsstudie utförs för att analysera effekten av en specifik komponent på modellens övergripande prestanda. En ablationsstudie görs genom att ta bort komponenten från modellen och förstå hur modellen presterar. Det ger utvecklare en överblick över effekten av den specifika komponenten på modellens prestanda.

Effekten av modellarkitekturen

Modellarkitekturen har en betydande effekt på modellens prestanda, särskilt när modellen skalas eller specifikationerna för förträningsdatat modifieras.

Följande figur diskuterar effekten av att ändra arkitekturen på kvaliteten på de förtränade funktionerna med linjär utvärdering på ImageNet-datasetet. De förtränade funktionerna kan undersökas direkt i detta fall, eftersom utvärderingen inte gynnar modellen som returnerar hög exakthet när den tränas från scratch på ImageNet-datasetet.

Det kan observeras att för ResNeXts och ResNet-arkitekturerna fungerar funktionerna som erhålls från den sista lagret bättre med de aktuella inställningarna. Å andra sidan överträffar RegNet-arkitekturen de andra arkitekturerna.

Sammanfattningsvis kan det konstateras att ökning av modellkapacitet har en positiv effekt på funktionernas kvalitet, och det finns en logaritmisk vinst i modellens prestanda.

Skalning av förträningsdata

Det finns två primära skäl till varför träningsmodeller på ett större dataset kan förbättra den övergripande kvaliteten på de visuella funktioner som modellen lär sig: fler unika bilder och fler parametrar. Låt oss ta en kort titt på hur dessa skäl påverkar modellens prestanda.

Ökning av antalet unika bilder

Ovanstående figur jämför två olika arkitekturer, RegNet8 och RegNet16, som har samma antal parametrar, men de tränas på olika antal unika bilder. SEER-ramverket tränar modellerna för uppdateringar som motsvarar 1 epoch för 1 miljard bilder eller 32 epocher för 32 unika bilder, och med en enkel halvvågskosinussvängande lärande hastighetsplan.

Det kan observeras att för att en modell ska prestera bra, bör antalet unika bilder som matas in i modellen vara högre. I detta fall presterar modellen bra när den matas med unika bilder som är större än antalet bilder i ImageNet-datasetet.

Fler parametrar

Följande figur visar en modells prestanda när den tränas på en miljard bilder med RegNet-128GF-arkitekturen. Det kan observeras att modellens prestanda ökar stadigt när antalet parametrar ökas.

Självständig datorseende i den verkliga världen

Tills nu har vi diskuterat hur självständig lärande och SEER-modellen för datorseende fungerar i teorin. Nu, låt oss ta en titt på hur självständig datorseende fungerar i verkliga världsscenarier, och varför SEER är framtiden för självständig datorseende.

SEER-modellen motsvarar arbetet som gjorts inom naturlig språkbehandling, där högkvalitativa, toppmoderna modeller använder triljoner dataset och parametrar, kombinerat med triljoner ord av text under förträning av modellen. Prestanda på nedströmsuppgifter ökar vanligtvis med en ökning av antalet indata för modellträning, och samma sak gäller för datorseendeuppgifter.

Men att använda självständig lärande för naturlig språkbehandling skiljer sig från att använda självständig lärande för datorseende. Det är för att när man hanterar text, bryts semantiska koncept vanligtvis ner i diskreta ord, men när man hanterar bilder, måste modellen bestämma vilken pixel som tillhör vilket koncept.

Dessutom har olika bilder olika vyer, och även om flera bilder kan ha samma objekt, kan konceptet variera avsevärt. Till exempel, överväg ett dataset med bilder av en katt. Även om det primära objektet, katten, är gemensamt för alla bilder, kan konceptet variera avsevärt, eftersom katten kan stå stilla i en bild, medan den leker med en boll i nästa, och så vidare. Eftersom bilderna ofta har varierande koncept, är det viktigt för modellen att se en betydande mängd bilder för att förstå skillnaderna runt samma koncept.

Att skala en modell framgångsrikt så att den fungerar effektivt med högdimensionella och komplexa bilddata kräver två komponenter:

  1. En konvolutionsneural nätverksarkitektur eller CNN som är tillräckligt stor för att fånga och lära sig visuella koncept från ett mycket stort bildataset.
  2. En algoritm som kan lära sig mönster från en stor mängd bilder utan märkningar, annoteringar eller metadata.

SEER-modellen syftar till att tillämpa ovanstående komponenter på området datorseende. SEER-modellen syftar till att utnyttja framstegen som gjorts av SwAV, en självständig lärandeansats som använder online-kluster för att gruppera eller para bilder med parallella visuella koncept, och utnyttja dessa likheter för att identifiera mönster bättre.

Med SwAV-arkitekturen kan SEER-modellen göra självständig lärande i datorseende mer effektivt, och minska tränings­tiden med upp till 6 gånger.

Dessutom kräver träningsmodeller på stor skala, i denna skala, över 1 miljard bilder, en modellarkitektur som är effektiv inte bara i termer av minne och körningstid, utan också i termer av exakthet. Det är här RegNet-modellerna kommer in i bilden, eftersom de är konvolutionsneurala nätverksmodeller som kan skala triljoner parametrar och kan optimeras enligt behov för att uppfylla minnesbegränsningar och körningstidsregler.

Slutsats: En självständig framtid

Självständig lärande har varit ett stort diskussionsämne inom AI- och ML-industrin under en tid, eftersom det tillåter AI-modeller att lära sig information direkt från en stor mängd data som finns slumpmässigt på internet, snarare än att förlita sig på noggrant kuraterade och märkta dataset som har som enda syfte att träna AI-modeller.

Självständig lärande är en viktig koncept för framtiden för AI och ML, eftersom det har potentialen att tillåta utvecklare att skapa AI-modeller som anpassar sig väl till verkliga världsscenarier och har flera användningsområden, snarare än att ha ett specifikt syfte, och SEER är en milstolpe i implementeringen av självständig lärande inom datorseendeindustrin.

SEER-modellen tar det första steget i transformationen av datorseendeindustrin och minskar vår beroende av märkta dataset. SEER-modellen syftar till att eliminera behovet av att annotera dataset, vilket kommer att tillåta utvecklare att arbeta med en stor och diversifierad mängd data. Implementeringen av SEER är särskilt användbar för utvecklare som arbetar med modeller som hanterar områden som har begränsade bilder eller metadata, som den medicinska industrin.

Dessutom kommer eliminering av mänskliga annoteringar att tillåta utvecklare att utveckla och distribuera modellen snabbare, vilket kommer att tillåta dem att svara på snabbt föränderliga situationer snabbare och med större exakthet.

Kunal Kejriwal är en backend‑ingenjör som specialiserar sig på Python, PostgreSQL, Redis och molninfrastruktur på GCP och AWS. Med tre års erfarenhet av att bygga och skala produktionssystem skriver han om AI‑infrastruktur, distribuerade system och arkitekturen bakom distribution av maskininlärningsarbetsbelastningar.