Neural arkitektur sökning
Del av en serie om |
maskininlärning och datautvinning |
---|
Neural architecture search (NAS) är en teknik för att automatisera designen av artificiella neurala nätverk (ANN), en flitigt använd modell inom området maskininlärning . NAS har använts för att designa nätverk som är i nivå med eller överträffar handdesignade arkitekturer. Metoder för NAS kan kategoriseras efter sökutrymme, sökstrategi och prestationsuppskattningsstrategi som används:
- Sökutrymmet definierar typ(er) av ANN som kan designas och optimeras .
- Sökstrategin definierar det tillvägagångssätt som används för att utforska sökutrymmet .
- Prestandauppskattningsstrategin utvärderar prestandan för en möjlig ANN utifrån dess design (utan att konstruera och träna den) .
NAS är nära besläktat med hyperparameteroptimering och meta-inlärning och är ett underområde för automatiserad maskininlärning ( AutoML).
Förstärkningsinlärning
Reinforcement learning (RL) kan underbygga en NAS-sökstrategi. Barret Zoph och Quoc Viet Le tillämpade NAS med RL inriktat på datauppsättningen CIFAR-10 och uppnådde en nätverksarkitektur som konkurrerar med den bästa manuellt designade arkitekturen för noggrannhet, med en felfrekvens på 3,65, 0,09 procent bättre och 1,05 gånger snabbare än en relaterad hand -designad modell. På Penn Treebank- datauppsättningen komponerade den modellen en återkommande cell som överträffar LSTM och nådde en testuppsättningsförvirring på 62,4, eller 3,6 perplexitet bättre än det tidigare ledande systemet. På PTB-teckenspråksmodelleringsuppgiften uppnådde den bitar per tecken på 1,214.
Att lära sig en modellarkitektur direkt på en stor datamängd kan vara en lång process. NASNet åtgärdade detta problem genom att överföra ett byggblock utformat för en liten datamängd till en större datamängd. Designen var begränsad till att använda två typer av faltningsceller för att returnera särdragskartor som tjänar två huvudfunktioner när en inmatningskarta lindas: normala celler som returnerar kartor av samma utsträckning (höjd och bredd) och reduktionsceller där den returnerade särdragskartan höjd och bredd reduceras med en faktor två. För reduktionscellen använder den initiala operationen som tillämpas på cellens ingångar ett steg på två (för att minska höjden och bredden). Den inlärda aspekten av designen inkluderade element som vilket eller vilka lägre lager varje högre lager tog som indata, transformationerna som tillämpades på det lagret och att slå samman flera utdata vid varje lager. I det studerade exemplet designades det bästa faltningsskiktet (eller "cellen") för CIFAR-10-datauppsättningen och applicerades sedan på ImageNet- datauppsättningen genom att stapla kopior av denna cell, var och en med sina egna parametrar. Tillvägagångssättet gav en noggrannhet på 82,7 % topp-1 och 96,2 % topp-5. Detta översteg de bästa mänskliga uppfunna arkitekturerna till en kostnad av 9 miljarder färre FLOPS – en minskning med 28 %. Systemet fortsatte att överträffa det manuellt designade alternativet på olika beräkningsnivåer. De bildegenskaper som lärts från bildklassificering kan överföras till andra datorseendeproblem. Till exempel för objektdetektering förbättrade de inlärda cellerna integrerade med Faster-RCNN-ramverket prestandan med 4,0 % på COCO -datauppsättningen.
I den så kallade Efficient Neural Architecture Search (ENAS) upptäcker en styrenhet arkitekturer genom att lära sig att söka efter en optimal subgraf inom en stor graf. Styrenheten tränas med policygradient för att välja en subgraf som maximerar valideringsuppsättningens förväntade belöning. Modellen som motsvarar subgrafen är tränad för att minimera en kanonisk korsentropiförlust . Flera underordnade modeller delar parametrar, ENAS kräver färre GPU-timmar än andra metoder och 1000 gånger mindre än "standard" NAS. På CIFAR-10 uppnådde ENAS-designen ett testfel på 2,89 %, jämförbart med NASNet. På Penn Treebank nådde ENAS-designen testförvirring på 55,8.
Evolution
Ett alternativt tillvägagångssätt till NAS är baserat på evolutionära algoritmer , som har använts av flera grupper. En evolutionär algoritm för neural arkitektursökning utför i allmänhet följande procedur. Först initieras en pool bestående av olika kandidatarkitekturer tillsammans med deras valideringspoäng (fitness). Vid varje steg muteras arkitekturerna i kandidatpoolen (t.ex.: 3x3 faltning istället för en 5x5 faltning). Därefter tränas de nya arkitekturerna från grunden under några epoker och deras valideringspoäng erhålls. Detta följs av att de arkitekturer med lägst poäng i kandidatpoolen ersätts med de bättre, nyare arkitekturerna. Denna procedur upprepas flera gånger och därmed förfinas kandidatpoolen över tiden. Mutationer i samband med utvecklande ANN är operationer som att lägga till eller ta bort ett lager, som inkluderar att ändra typen av ett lager (t.ex. från faltning till pooling), ändra hyperparametrarna för ett lager eller ändra träningshyperparametrarna. På CIFAR-10 och ImageNet presterade evolution och RL jämförbart, medan båda överträffade slumpmässig sökning något .
Bayesiansk optimering
Bayesian Optimization som har visat sig vara en effektiv metod för hyperparameteroptimering kan även appliceras på NAS. I detta sammanhang mappar objektivfunktionen en arkitektur till dess valideringsfel efter att ha tränats under ett antal epoker. Vid varje iteration använder BO ett surrogat för att modellera denna objektiva funktion baserat på tidigare erhållna arkitekturer och deras valideringsfel. Man väljer sedan nästa arkitektur att utvärdera genom att maximera en förvärvsfunktion, såsom förväntad förbättring, vilket ger en balans mellan utforskning och exploatering. Förvärvsfunktionsmaximering och objektiv funktionsutvärdering är ofta beräkningsmässigt dyra för NAS, och gör tillämpningen av BO utmanande i detta sammanhang. Nyligen har BANANAS uppnått lovande resultat i denna riktning genom att introducera en högpresterande instansiering av BO kopplad till en neural prediktor.
Bergsklättring
En annan grupp använde en backklättringsprocedur som tillämpar nätverksmorfismer, följt av korta cosinusglödgningsoptimeringskörningar. Tillvägagångssättet gav konkurrenskraftiga resultat, vilket krävde resurser i samma storleksordning som att träna ett enda nätverk. Till exempel på CIFAR-10 designade och tränade metoden ett nätverk med en felfrekvens under 5 % på 12 timmar på en enda GPU.
Multi-objektiv sökning
Medan de flesta tillvägagångssätt enbart fokuserar på att hitta arkitektur med maximal prediktiv prestanda, är andra mål relevanta för de flesta praktiska tillämpningar, såsom minnesförbrukning, modellstorlek eller slutledningstid (dvs. den tid som krävs för att få en förutsägelse). På grund av det skapade forskare en multi-objektiv sökning.
LEMONADE är en evolutionär algoritm som använde Lamarckism för att effektivt optimera flera mål. I varje generation skapas barnnätverk för att förbättra Pareto-gränsen med avseende på den nuvarande populationen av ANN.
Neural Architect påstås vara en resursmedveten multi-objektiv RL-baserad NAS med nätverksinbäddning och prestandaförutsägelse. Nätverksinbäddning kodar ett befintligt nätverk till en träningsbar inbäddningsvektor. Baserat på inbäddningen genererar ett styrenhetsnätverk transformationer av målnätverket. En multi-objektiv belöningsfunktion tar hänsyn till nätverksnoggrannhet, beräkningsresurs och träningstid. Belöningen förutsägs av flera prestationssimuleringsnätverk som är förtränade eller samtränade med styrenhetsnätverket. Styrnätverket tränas via policygradient. Efter en modifiering utvärderas det resulterande kandidatnätverket av både ett noggrannhetsnätverk och ett träningstidsnätverk. Resultaten kombineras av en belöningsmotor som skickar sin utdata tillbaka till styrenhetens nätverk.
One-shot modeller
RL eller evolution-baserad NAS kräver tusentals GPU-dagars sökning/träning för att uppnå toppmoderna datorseenderesultat som beskrivs i NASNet, mNASNet och MobileNetV3-dokumenten.
För att minska beräkningskostnaderna förlitar sig många nya NAS-metoder på idén om viktdelning. I detta tillvägagångssätt definieras ett enda överparameteriserat supernätverk (även känd som one-shot-modellen). Ett supernätverk är en mycket stor Directed Acyclic Graph (DAG) vars subgrafer är olika kandidatneurala nätverk. I ett supernätverk delas således vikterna mellan ett stort antal olika underarkitekturer som har gemensamma kanter, som var och en betraktas som en väg inom supernätet. Den väsentliga idén är att träna ett supernätverk som spänner över många alternativ för den slutliga designen snarare än att generera och träna tusentals nätverk oberoende. Förutom de inlärda parametrarna lärs en uppsättning arkitekturparametrar in för att visa preferens för en modul framför en annan. Sådana metoder reducerar de erforderliga beräkningsresurserna till endast några få GPU-dagar.
Nyare verk kombinerar ytterligare detta viktdelningsparadigm, med en kontinuerlig avslappning av sökutrymmet, vilket möjliggör användning av gradientbaserade optimeringsmetoder. Dessa tillvägagångssätt kallas generellt för differentierbar NAS och har visat sig vara mycket effektiva för att utforska sökutrymmet för neurala arkitekturer. En av de mest populära algoritmerna bland de gradientbaserade metoderna för NAS är DARTS. Men DARTS möter problem som att prestanda kollapsar på grund av en oundviklig aggregering av överhoppningsanslutningar och dålig generalisering som tacklades av många framtida algoritmer. Metoder som syftar till att robusta DARTS och göra landskapet för valideringsnoggrannhet smidigare genom att introducera en hessisk normbaserad regularisering respektive slumpmässig utjämning/motståndsangrepp. Orsaken till prestandaförsämring analyseras senare ur arkitekturvalsaspekten.
Differentierbar NAS har visat sig ge konkurrenskraftiga resultat med en bråkdel av den söktid som krävs av RL-baserade sökmetoder. Till exempel, FBNet (som är en förkortning för Facebook Berkeley Network) visade att supernätverksbaserad sökning producerar nätverk som överträffar hastighets-noggrannhetsavvägningskurvan för mNASNet och MobileNetV2 på ImageNet-bildklassificeringsdataset. FBNet åstadkommer detta med över 400 gånger kortare söktid än vad som användes för mNASNet. Vidare visade SqueezeNAS att supernätverksbaserad NAS producerar neurala nätverk som överträffar hastighets-noggrannhetsavvägningskurvan för MobileNetV3 på Cityscapes semantiska segmenteringsdataset, och SqueezeNAS använder över 100 gånger mindre söktid än vad som användes i MobileNetV3-författarnas RL-baserade sökning.
Benchmarks för sökning av neural arkitektur
Sökning av neural arkitektur kräver ofta stora beräkningsresurser på grund av dess dyra utbildnings- och utvärderingsfaser. Detta leder ytterligare till ett stort koldioxidavtryck som krävs för utvärderingen av dessa metoder. För att övervinna denna begränsning har NAS-riktmärken introducerats, från vilka man antingen kan fråga eller förutsäga den slutliga prestandan för neurala arkitekturer på några sekunder. Ett NAS-riktmärke definieras som en datauppsättning med en fast tågtestdelning, ett sökutrymme och en fast träningspipeline (hyperparametrar). Det finns i första hand två typer av NAS-riktmärken: ett surrogat-NAS-riktmärke och ett NAS-riktmärke i tabellform. Ett surrogatbenchmark använder en surrogatmodell (t.ex. ett neuralt nätverk) för att förutsäga prestanda för en arkitektur från sökutrymmet. Å andra sidan frågar ett riktmärke i tabellform den faktiska prestandan för en arkitektur som tränats upp till konvergens. Båda dessa riktmärken är frågebara och kan användas för att effektivt simulera många NAS-algoritmer med endast en CPU för att fråga riktmärket istället för att träna en arkitektur från början.