Neural arkitektur sökning (NAS) har en stor inverkan genom att automatiskt utforma effektiva neurala nätverk arkitekturer. Den oöverkomliga beräkningsefterfrågan för konventionella NAS-algoritmer (t.ex. 10 4 GPU timmar) gör det svårt att direkt söka arkitekturer på storskaliga uppgifter (t.ex. AvbildaNet). Differentierbara NAS-enheter kan minska kostnaden för GPU-timmar genom en kontinuerlig representation av nätverksarkitekturen, men drabbas av problemet med hög GPU-minnesförbrukning (växa linjärt w.r.t. kandidat inställd storlek). Som ett resultat, de behöver för att använda proxy uppgifter, såsom utbildning på en mindre datauppsättning, eller lärande med bara några block, eller träning bara för några epoker. Dessa arkitekturer optimerade på proxyuppgifter är inte garanterade att vara optimal på måluppgift. I det här dokumentet presenterar vi Proxyless-NAS som direkt kan lära sig arkitekturerna för storskaliga måluppgifter och hårdvaruplattformar. Vi tar itu med problemet med hög minnesförbrukning för olika NAS-enheter och minskar beräkningskostnaden (GPU-timmar och GPU-minne) till samma nivå av regelbunden träning samtidigt som vi fortfarande tillåter en stor kandidatuppsättning. Experiment på CIFAR-10 och ImageNet visar effektiviteten av direktion och specialisering. På CIFAR-10, vår modell uppnår 2,08% testfel med endast 5,7M parametrar, bättre än den tidigare state-of-the-art arkitektur AmoebaNet-B, samtidigt som du använder 6× färre parametrar. På ImageNet uppnår vår modell 3,1% bättre topp-1 noggrannhet än MobileNetV2, samtidigt som den är 1,2× snabbare med uppmätt GPU latency. Vi tillämpar även ProxylessNAS för specialiserade neurala arkitekturer för hårdvara med direkta hårdvarumått (t.ex. latency) och ge insikter för effektiv CNN arkitekturdesign. 1 1 Förskolade modeller och utvärderingskod ges ut på https://github.com/MIT-HAN-LAB/ProxylessNAS. Figur 1: ProxylessNAS optimerar direkt neurala nätverksarkitekturer på måluppgift och hårdvara. Dra nytta av den direkta och specialisering, kan ProxylessNAS uppnå anmärkningsvärt bättre resultat än tidigare proxy-baserade metoder. Proxy (figur 1 ). Vi tar också bort begränsningen av upprepade block i tidigare NAS-enheter Liu et al., 2018c) och låter alla block läras och specificeras. För att uppnå detta minskar vi beräkningskostnaden (GPU-timmar och GPU-minne) för arkitektursökning till samma nivå av regelbunden utbildning på följande sätt. GPU timvis, inspirerad av nya verk (Liu et al., 2018c; Bender et al., 2018) formulerar vi NAS som en process för beskärning av sökvägar. Specifikt tränar vi direkt ett överparameteriserat nätverk som innehåller alla kandidatbanor ( Figur 2). Under utbildningen introducerar vi uttryckligen arkitekturparametrar för att lära oss vilka vägar som är överflödiga, medan dessa redundanta vägar beskärs i slutet av utbildningen för att få en kompakt optimerad arkitektur. På så sätt behöver vi bara träna ett enda nätverk utan meta-controller (eller hypernätverk) under arkitektursökningen. Men naivt med alla kandidatvägar leder till GPU-minnesexplosion (Liu et al., 2018c; Bender et al., 2018), eftersom minnesförbrukningen växer linjärt w.r.t. Antalet val. Således, GPU minne-wise, vi binarize arkitekturparametrarna (1 eller 0) och tvinga bara en väg för att vara aktiv vid körtid, vilket minskar det nödvändiga minnet till samma nivå av utbildning en kompakt modell. Vi föreslår en lutningsbaserad metod för att träna dessa binariserade parametrar baserat på Bina-ryConnect (Courbariaux et al., 2015). Dessutom, för att hantera icke-differentiable hårdvarumål (med latency som exempel) för att lära specialiserade nätverksarkitekturer på målhårdvara, modellerar vi nätverk latency som en kontinuerlig funktion och optimerar den som regularization förlust. Dessutom presenterar vi även en REINFORCE-baserad (Williams, 1992) algoritm som en alternativ strategi för att hantera hårdvarumått. I våra experiment på CIFAR-10 och ImageNet, dra nytta av den direkta och specialisering, vår metod kan uppnå starka empiriska resultat. På CIFAR-10 når vår modell 2,08% testfel med endast 5,7M parametrar. På ImageNet uppnår vår modell 75,1% topp-1 noggrannhet som är 3,1% högre än MobileNetV2 (Sandler et al., 2018) samtidigt som den är 1,2× snabbare. Våra bidrag kan sammanfattas på följande sätt: • ProxylessNAS är den första NAS-algoritmen som direkt lär sig arkitekturer på den storskaliga datauppsättningen (t.ex. ImageNet) utan någon proxy medan fortfarande tillåter en stor kandidat ställa och ta bort begränsningen av upprepa block. Det utvidgade effektivt sökområdet och uppnådde bättre prestanda. • Vi tillhandahåller ett nytt sökvägsperspektiv för NAS-enheten, vilket visar en nära anslutning mellan NAS-enheten och modellkomprimering (Han et al., 2016). Vi sparar minnesförbrukningen i en storleksordning genom att använda bana-nivå binarization. • Vi föreslår en ny gradientbaserad metod (latensregleringsförlust) för hantering av hårdvarumål (t.ex. latency) (t.ex. "latency") och "latency" (t.ex. "latency" (t.ex. "latency") (t.ex. "latency" eller "latency" (t.ex. latency). Med tanke på olika hårdvaruplattformar: CPU/GPU/FPGA/TPU/NPU, ProxylessNAS möjliggör hårdvarumedveten neural nätverk specialisering som är exakt optimerad för målhårdvaran. Till vår bästa kunskap är det första arbetet med att studera specialiserade neurala nätverksarkitekturer för olika maskinvaruarkitekturer. • Omfattande experiment visade fördelen med direktionen egendom och specialisering egenskapen ProxylessNAS. Det uppnådde state-of-the-art noggrannhet prestanda på CIFAR-10 och ImageNet under latency begränsningar på olika hårdvaruplattformar (GPU, CPU och mobiltelefon). Vi analyserar också insikterna i effektiva CNN-modeller specialiserade på olika hårdvaruplattformar och ökar medvetenheten om att specialiserad neural nätverksarkitektur behövs på olika hårdvaruarkitekturer för effektiv inferens.
ProxylessNAS REF minskar minnesförbrukningen genom att anta en strategi för att släppa vägen.
ProxylessNAS: Direct Neural Architecture Search on Target Task and Hardware
{'venue': 'ArXiv', 'journal': 'ArXiv', 'mag_field_of_study': ['Mathematics', 'Computer Science']}