Artikkelen bestÄr av to deler:
- En kort beskrivelse av noen arkitekturer for nettverk som oppdager objekter i bilder og segmentering av bilder, med de mest forstÄelige ressurslenkene for meg. Jeg har forsÞkt Ä velge video forklaringer, helst pÄ russisk.
- Den andre delen handler om Ä forstÄ retningen for utvikling av arkitekturer for nevrale nettverk. Og teknologiene basert pÄ dem.

Figur 1 â Ă forstĂ„ arkitekturer av nevrale nettverk er ikke enkelt
Alt begynte med at jeg lagde to demonstrasjonsapplikasjoner for klassifisering og oppdagelse av objekter pÄ Android-telefonen:
- , der data behandles pÄ serveren og overfÞres til telefonen. Klassifisering av bilder (image classification) av tre typer bjÞrner: brun, svart og kosebamse.
- , der data behandles pÄ selve telefonen. Oppdagelse av objekter (object detection) av tre typer: hasselnÞtt, fiken og dadler.
Det er en forskjell mellom oppgaver for klassifisering av bilder, oppdagelse av objekter i bilder og . Derfor oppstod det et behov for Ä finne ut hvilke arkitekturer for nevrale nettverk som oppdager objekter i bilder og hvilke som kan segmentere. Jeg fant fÞlgende eksempler pÄ arkitekturer med de mest forstÄelige ressurslenkene for meg:
- En serie arkitekturer basert pÄ R-CNN (Regions with Convolution Neural Networks features): R-CNN, Fast R-CNN, , . For Ä oppdage objekter i bilder ved hjelp av Region Proposal Network (RPN) fremheves begrensede regioner (bounding boxes). I utgangspunktet ble en tregere mekanisme, Selective Search, brukt i stedet for RPN. Deretter leveres de begrensede regionene inn i en vanlig nevrale nettverk for klassifisering. Arkitekturen til R-CNN har eksplisitte 'for'-lÞkker som itererer over de begrensede regionene, med totalt opptil 2000 kjÞringer gjennom det interne nettverket AlexNet. PÄ grunn av de eksplisitte 'for'-lÞkene reduseres hastigheten pÄ bildebehandlingen. Antallet eksplisitte lÞkker, kjÞringer gjennom det interne nevrale nettverket, reduseres for hver ny versjon av arkitekturen, og det gjÞres ogsÄ dusinvis av andre endringer for Ä Þke hastigheten og for Ä erstatte oppgaven med oppdagelse av objekter med segmentering av objekter i Mask R-CNN.
- (You Only Look OYOLO â den fĂžrste nevrale nettverket som gjenkjente objekter i sanntid pĂ„ mobile enheter. Den karakteristiske funksjonen: gjenkjenning av objekter pĂ„ Ă©n runde (det er nok Ă„ se Ă©n gang). Det vil si at arkitekturen til YOLO ikke har Ă„penbare «for»-lĂžkker, noe som gjĂžr at nettverket fungerer raskt. For eksempel, slik det finnes i NumPy under matriseoperasjoner, finnes det heller ikke Ă„penbare «for»-lĂžkker. Som i NumPy, som blir implementert pĂ„ lavere nivĂ„er gjennom programmeringssprĂ„ket C. YOLO bruker et rutenett med forhĂ„ndsdefinerte vinduer. For Ă„ unngĂ„ at det samme objektet blir oppdaget flere ganger, brukes et overlappingskoeffisient (IoU, Iinterseksjon ounion). Denne arkitekturen fungerer over et bredt spekter og har hĂžy Urobusthet Single
- (SShot MultiBox Sdetektor) â de mest vellykkede «hackene» fra YOLO-arkitekturen (for eksempel non-maximum suppression) brukes, og nye legges til for Ă„ gjĂžre nevrale nettverket raskere og mer nĂžyaktig. Den karakteristiske funksjonen: gjenkjenning av objekter pĂ„ Ă©n runde ved hjelp av et spesifisert rutenett med vinduer (default box) pĂ„ bilde-pyramider. Bilde-pyramiden er kodet i konvolusjonelle tensorer ved sekvensielle konvolusjons- og pooling-operasjoner (under max-pooling reduseres romlig dimensjon). PĂ„ denne mĂ„ten kan bĂ„de store og smĂ„ objekter bli gjenkjent pĂ„ Ă©n runde av nettverket. DMobileSSD (
- NetV2 +Mobile) â en kombinasjon av to arkitekturer av nevrale nettverk. Det fĂžrste nettverket SSDMobileNetV2 . Det andre nettverket SSD bestemmer plasseringen av objekter pĂ„ bildet. SqueezeNet
- DeepLab
- (Semantic Image Segmentation with Deep Convolutional Nets) â segmentering av objekter pĂ„ bilder. Den karakteristiske funksjonen ved arkitekturen er sparsommelig (dilated convolution) konvolusjon, som opprettholder romlig opplĂžsning. Deretter fĂžlger en post-prosessering av resultater ved hjelp av en grafisk probabilistisk modell (conditional random field), noe som gjĂžr det mulig Ă„ fjerne smĂ„ stĂžy i segmenteringen og forbedre kvaliteten pĂ„ det segmenterte bildet. Bak det imponerende navnet «grafisk probabilistisk modell» skjuler det seg et vanlig Gauss-filter, som er approksimert over fem punkter.
- PrÞvde Ä forstÄ oppsettet (Single-Shot Refinement Neural Network for Object Detection), men skjÞnte lite.
- SÄ sÄ jeg pÄ hvordan «oppmerksomhet»-teknologien fungerer (attention): , , . Den karakteristiske funksjonen ved arkitekturen «oppmerksomhet» er automatisk fremheving av omrÄder med Þkt oppmerksomhet pÄ bildet (RoI, Regions of Interest) ved hjelp av et nevralt nettverk kalt Attention Unit. OmrÄder med Þkt oppmerksomhet ligner pÄ begrensede omrÄder (bounding boxes), men i motsetning til dem er de ikke fastlÄst pÄ bildet og kan ha uskarpe grenser. Deretter trekker vi ut trekk (features) fra omrÄdene med Þkt oppmerksomhet, som «mates» inn i rekurserende nevrale nettverk med arkitekturer . Rekurserende nevrale nettverk kan analysere forholdet mellom trekk i sekvenser. Rekurserende nevrale nettverk ble opprinnelig brukt for oversettelser av tekst til andre sprÄk, og nÄ ogsÄ for Ä oversette og .
Etter hvert som jeg studerte disse arkitekturene forstod jeg at jeg ikke forsto noe.. Og det er ikke det at mitt nevrale nettverk har problemer med oppmerksomhetsmekanismen. Opprettelsen av alle disse arkitekturene ligner pĂ„ et stort hackathon, der forfatterne konkurrerer i hacking. Hack (hack) â en rask lĂžsning pĂ„ et vanskelig programvareproblem. SĂ„ mellom alle disse arkitekturene er det ingen synlig eller forstĂ„elig logisk sammenheng. Alt som forener dem er et sett av de mest vellykkede hackene, som de lĂ„ner fra hverandre, pluss en felles (tilbakepropagering av feil, backpropagation). Det er ikke ! Det er uklart hva som skal endres og hvordan man skal optimalisere de eksisterende prestasjonene.
Som resultat av mangel pÄ logisk sammenheng mellom hackene, er de ekstremt vanskelige Ä huske og bruke i praksis. Dette er fragmentert kunnskap. I beste fall huskes noen interessante og overraskende punkter, men det meste av det som er forstÄtt og ikke forstÄtt forsvinner fra hukommelsen allerede etter noen dager. Det ville vÊre bra om man etter en uke i det minste husker navnet pÄ arkitekturen. Og for dette ble det brukt flere timer og til og med dager av arbeidstiden pÄ Ä lese artikler og se oppsummeringsvideoer!

Figur 2 â
De fleste forfattere av vitenskapelige artikler, etter min personlige mening, gjĂžr alt de kan for Ă„ sikre at selv denne fragmenterte kunnskapen ikke blir forstĂ„tt av leseren. Men gerundialte fraser i ti linjers setninger med formler som er 'plukket fra luften' â dette er et tema for en egen artikkel (problem ).
Av denne grunn oppstod det et behov for Ä systematisere informasjon om nevrale nettverk og dermed Þke kvaliteten pÄ forstÄelsen og hukommelsen. Derfor ble hovedtemaet for analysen av enkelte teknologier og arkitekturer innen kunstige nevrale nettverk fÞlgende oppgave: finne ut hvor dette hele er pÄ vei, ikke hvordan en bestemt nevralnettverksstruktur fungerer isolert.
Hvor alt dette er pÄ vei. Hovedresultater:
- Antallet oppstart i machine learning-omrÄdet de siste to Ärene . En mulig Ärsak: 'nevrale nettverk har sluttet Ä vÊre noe nytt'.
- Hver person kan lage et fungerende nevralnettverk for Ä lÞse en enkel oppgave. For dette tar man en ferdig modell fra 'dyrehagen av modeller' (model zoo) og trener det siste laget i nevralnettverket () pÄ eksisterende data fra eller fra i gratis .
- Store produsenter av nevralnettverk har begynt Ă„ opprette 'modellsamlinger' (model zoo). Ved hjelp av dem kan man raskt lage en kommersiell applikasjon: TF Hub MMDetection Detectron chainer-modelzoo Nevrale nettverk som opererer i .
- sanntid (real-time) pÄ mobile enheter. Fra 10 til 50 bilder per sekund. Bruken av nevrale nettverk i telefoner (TF Lite), i nettlesere (TF.js) og i
- husgerÄd Internet Iof Things). Spesielt i telefoner som allerede stÞtter nevrale nettverk pÄ maskinvare-nivÄ (neuroakseleratorer). of Tspesielt pÄ telefoner som allerede stÞtter nevrale nettverk pÄ maskinvare-nivÄ (nevroakseleratorer).
- «Hvert apparaat, klĂŠr og kanskje til og med mat vil ha IP-v6 adresse og kommunisere med hverandre» â .
- Veksten i antallet publikasjoner om maskinlÊring har begynt (dobling hvert andre Är) siden 2015. Det er tydelig at vi trenger nevrale nettverk for analyse av artikler.
- FĂžlgende teknologier blir stadig mer populĂŠre:
- PyTorch â populariteten vokser raskt og ser ut til Ă„ overgĂ„ TensorFlow.
- Automatisk hyperparameter-tuning AutoML â populariteten vokser jevnt.
- Gradvis reduksjon av nÞyaktighet og Þkning av beregningseffektivitet: , algoritmer , upresise (tilnÊrmede) beregninger, kvantisering (nÄr vektene til det nevrale nettverket konverteres til hele tall og kvantiseres), nevrale akseleratorer.
- Translation og .
- Opprette , nÄ allerede i sanntid.
- Essensen av DL er Ă„ ha mye data, men Ă„ samle og annotere dem er ikke enkelt. Derfor utvikles automatisering av annotering () for nevrale nettverk ved hjelp av nevrale nettverk.
- Med nevrale nettverk ble datavitenskap plutselig en eksperimentell vitenskap og det oppstod .
- IT-penger og populariteten til nevrale nettverk oppstod samtidig som beregningene ble en markedsverdi. Ăkonomien gĂ„r fra gull-valuta til gull-valuta-beregning. Se min artikkel om og Ă„rsaken til IT-penger.
Gradvis dukker det opp en ny (MaskinlÊring & Dyp lÊring), som er basert pÄ Ä se programmet som en samling av trente nevrale nettverksmodeller.

Figur 3 â ML/DL som en ny programmeringsmetodikk
Imidlertid har det fortsatt ikke oppstÄtt «teorien om nevrale nettverk», innen rammene av hvilken man kan tenke og arbeide systematisk. Det som nÄ kalles «teori» er faktisk eksperimentelle, heuristiske algoritmer.
Lenker til mine og andre ressurser:
- Nyhetsbrev om Data Science. Hovedsakelig om bildebehandling. De som Ăžnsker Ă„ motta det, kan sende e-post (foobar167<ruff-ruff>gmail<dot>com). Lenker til artikler og videoer sendes ut etter hvert som materialet samles.
- Generell , som jeg har fullfĂžrt og som jeg Ăžnsker Ă„ ta.
- , som man bĂžr begynne Ă„ studere nevrale nettverk med. I tillegg et hefte .
- , der kvar ein og annan interessant for seg.
- Mykje nyttig har vist seg Ä vera videokanalar for analyse av vitskapelege artiklar innen Data Science. Finn, abonner pÄ dei, og del lenkene med kollegaene dine, og meg ogsÄ. Eksempler:
- og med steg-for-steg instruksjonar og opent kildekode.
Takk for oppmerksomheten!
Kilde: habr.com
