Deep Learning Tutorial for begyndere: Neural Network Basics

โšก Smart opsummering

Deep Learning er en gren af โ€‹โ€‹maskinlรฆring, der er bygget pรฅ kunstige neurale netvรฆrk, der stabler mange skjulte lag, sรฅ hvert lag lรฆrer en mere omfattende funktion af dataene end laget fรธr det.

  • ๐Ÿ”˜ Lagdelt arkitektur: Et inputlag, to eller flere skjulte lag og et outputlag skaber et netvรฆrksdybde.
  • โ˜‘๏ธ Signal styrke: Vรฆgt, bias og aktiveringsfunktion bestemmer, hvad hver neuron sender til det nรฆste lag.
  • โœ… Tofaset slรธjfe: En ikke-lineรฆr transformation producerer en model, som derefter forbedres af en derivatbaseret metode, hvilket gentages, indtil nรธjagtigheden er acceptabel.
  • ๐Ÿงช Fire arkitekturer: Feed-forward-netvรฆrk, tilbagevendende netvรฆrk, konvolutionelle netvรฆrk og forstรฆrkningslรฆringsagenter.
  • ๐Ÿ› ๏ธ Hvor det betaler sig: Kreditvurdering inden for finans, kandidatscreening inden for HR, sentimentanalyse i callcenters inden for marketing.
  • ๐Ÿ‡ง๐Ÿ‡ท De reelle grรฆnser: Omkostninger ved mรฆrkning, appetit pรฅ enorme datasรฆt og modeller, der modstรฅr en letforstรฅelig forklaring.

Deep Learning Tutorial for begyndere: Neural Network Basics

Hvad er Deep Learning?

Deep Learning er computersoftware, der efterligner netvรฆrket af neuroner i en hjerne. Det er en delmรฆngde af machine learning baseret pรฅ kunstige neurale netvรฆrk med reprรฆsentationslรฆring. Det kaldes dyb lรฆring, fordi det bruger dybe neurale netvรฆrk. Denne lรฆring kan overvรฅget, delvist overvรฅget eller uden opsyn.

Deep learning-algoritmer er konstrueret med forbundne lag, som diagrammet nedenfor viser.

  • Det fรธrste lag kaldes Input Layer
  • Det sidste lag kaldes Output Layer
  • Alle lag derimellem kaldes skjulte lag. Ordet dyb betyder, at netvรฆrket forbinder neuroner pรฅ tvรฆrs af mere end to lag.
Diagram over et dybt neuralt netvรฆrk, der viser et inputlag, to skjulte lag af neuroner og et outputlag
Inputlag, skjulte lag og outputlag, med forbindelser mellem individuelle neuroner

Hvert skjult lag er sammensat af neuroner. Neuronerne er forbundet med hinanden. En neuron bearbejder det modtagede inputsignal og sender derefter resultatet videre til laget ovenover. Styrken af โ€‹โ€‹det signal, der sendes til en neuron i det nรฆste lag, afhรฆnger af vรฆgten, biasen og aktiveringsfunktionen.

Netvรฆrket forbruger store mรฆngder inputdata og opererer pรฅ dem gennem flere lag, sรฅ netvรฆrket kan lรฆre stadig mere komplekse funktioner i dataene pรฅ hvert lag.

Dyb lรฆringsproces

Et dybt neuralt netvรฆrk giver den nyeste prรฆcision i mange opgaver, lige fra objektdetektion til talegenkendelse. Sรฅdanne netvรฆrk kan lรฆre automatisk, uden foruddefineret viden, der eksplicit er kodet af programmรธrerne. I praksis gennemgรฅr et dybt lรฆringsprojekt fem faser:

  • Forstรฅ problemet
  • Identificer dataene
  • Vรฆlg en algoritme til dyb lรฆring
  • Trรฆn modellen
  • Test modellen
Femtrins dybdegรฅende lรฆringsproces fra forstรฅelse af problemet til test af modellen

De fem faser i et deep learning-projekt, fra problemdefinition til testning

For at forstรฅ ideen om dybdegรฅende lรฆring, forestil dig en familie med et spรฆdbarn og forรฆldre. Den lille pige peger pรฅ genstande med sin lillefinger og siger altid ordet 'kat'. Da forรฆldrene er bekymrede for hans uddannelse, bliver de ved med at sige 'Ja, det er en kat' eller 'Nej, det er ikke en kat'. Spรฆdbarnet bliver ved med at pege pรฅ genstande, men bliver mere prรฆcis med 'katte'. Det lille barn ved inderst inde ikke, hvorfor det kan sige, at det er en kat eller ej. Det har simpelthen lรฆrt at organisere de trรฆk, der udgรธr en kat, i et hierarki, ved at se pรฅ kรฆledyret som helhed og derefter fokusere pรฅ detaljer som halen eller snuden, fรธr det beslutter sig.

Et neuralt netvรฆrk fungerer pรฅ stort set samme mรฅde. Hvert lag reprรฆsenterer et dybere niveau af viden, det vil sige et hierarki af viden. Et neuralt netvรฆrk med fire lag vil lรฆre mere komplekse funktioner end et med to lag.

Lรฆringen foregรฅr i to faser:

  • Fรธrste fase: anvende en ikke-lineรฆr transformation af inputtet og oprette en statistisk model som output.
  • Anden fase: forbedring af modellen med en matematisk metode baseret pรฅ derivater, hvilket er hvordan tilbageudbredelse justerer vรฆgtene.

Det neurale netvรฆrk gentager disse to faser hundredvis til tusindvis af gange, indtil det har nรฅet et tรฅleligt nรธjagtighedsniveau. Hver gentagelse af de to faser kaldes en iteration.

For at give et eksempel pรฅ dybdegรฅende lรฆring kan du se animationen nedenfor, hvor modellen prรธver at lรฆre at danse. Efter 10 minutters trรฆning ved modellen ikke, hvordan man danser, og dens output ligner en krusedulle.

Animeret figur bevรฆger sig uregelmรฆssigt efter ti minutters dybdegรฅende lรฆringstrรฆning

Efter 48 timers lรฆring mestrer computeren kunsten at danse, som den anden animation viser.

Animeret figur danser glat efter 48 timers dybdegรฅende lรฆringstrรฆning

Klassificering af neurale netvรฆrk

Netvรฆrk grupperes fรธrst efter antallet af skjulte lag.

Overfladisk neuralt netvรฆrk: Det overfladiske neurale netvรฆrk har kun รฉt skjult lag mellem input og output.

Dyb neural netvรฆrk: Dybe neurale netvรฆrk har mere end รฉt skjult lag. For eksempel tรฆller GoogLeNet-modellen til billedgenkendelse 22 lag.

I dag optrรฆder deep learning i fรธrerlรธse biler, mobiltelefoner Google sรธgemaskine, svindelopsporing og tv.

Typer af dybe lรฆringsnetvรฆrk

Adskillige arkitekturer er blevet standard, hver isรฆr formet af den type data, den hรฅndterer. Diagrammet nedenfor, udgivet af Asimov Institute, kortlรฆgger den bredere familie.

Diagram over neurale netvรฆrksarkitekturer, herunder perceptron, feed forward, RBF, RNN, LSTM, GRU og autoencodere

Et diagram over neurale netvรฆrksarkitekturer, fra den enkelte perceptron til LSTM-, GRU- og autoencoder-varianter

Feed-forward neurale netvรฆrk

Dette er den enkleste type kunstigt neuralt netvรฆrk. Med denne type arkitektur flyder information kun i รฉn retning, fremad. Det betyder, at informationsstrรธmmen starter ved inputlaget, gรฅr til de "skjulte" lag og slutter ved outputlaget. Netvรฆrket har ikke en lรธkke, og information stopper ved outputlaget.

Tilbagevendende neurale netvรฆrk (RNN'er)

An RNN er et flerlags neuralt netvรฆrk, der kan lagre information i kontekstnoder, hvilket gรธr det muligt at lรฆre datasekvenser og udsende et tal eller en anden sekvens. Kort sagt er det et kunstigt neuralt netvรฆrk, hvis forbindelser mellem neuroner omfatter lรธkker. RNN'er er velegnede til at behandle sekvenser af input, fordi outputtet fรธres tilbage til netvรฆrket som hukommelse.

Blokdiagram over tilbagevendende neurale netvรฆrk med outputtet loopet tilbage i netvรฆrket som hukommelse

En RNN sender sit output tilbage til sig selv, hvilket er det, der giver netvรฆrkshukommelsen

Hvis opgaven for eksempel er at forudsige det nรฆste ord i sรฆtningen "Vil du have en ...?", fortsรฆtter netvรฆrket sรฅledes:

  • RNN-neuronerne modtager et signal, der peger pรฅ starten af โ€‹โ€‹sรฆtningen.
  • Netvรฆrket modtager ordet "Do" som input og producerer en vektor af tal. Denne vektor fรธres tilbage til neuronen for at give netvรฆrket en hukommelse. Denne fase hjรฆlper netvรฆrket med at huske, at det modtog "Do", og at det modtog det i fรธrste position.
  • Netvรฆrket fortsรฆtter pรฅ samme mรฅde som de nรฆste ord. Det tager ordet "du" og derefter "รธnsker". Neuronernes tilstand opdateres, nรฅr de modtager hvert ord.
  • Den sidste fase finder sted efter modtagelse af ordet "a". Det neurale netvรฆrk giver en sandsynlighed for hvert engelsk ord, der kan fuldende sรฆtningen. En veluddannet RNN tildeler sandsynligvis en hรธj sandsynlighed til "cafรฉ", "drink", "burger" og lignende ord.

Almindelige anvendelser af RNN

  • Hjรฆlp vรฆrdipapirhandlere med at generere analytiske rapporter
  • Opdag unormaliteter i regnskaber
  • Opdag svigagtige kreditkorttransaktioner
  • Angiv en billedtekst til billeder
  • Strรธm chatbots
  • Standardanvendelserne af RNN forekommer, nรฅr praktikere arbejder med tidsseriedata eller -sekvenser, for eksempel lydoptagelser eller tekst.

Convolutionsneurale netvรฆrk (CNN)

A CNN er et flerlags neuralt netvรฆrk med en unik arkitektur designet til attract stadig mere komplekse funktioner i dataene pรฅ hvert lag for at bestemme outputtet. CNN'er er velegnede til perceptuelle opgaver.

CNN-arkitektur med konvolution, ReLU og pooling af funktionslรฆringsfaser efterfulgt af fladning, fuldt forbundet og softmax-klassificering

Funktionslรฆring via konvolution, ReLU og pooling; klassificering via flatten, fuldt forbundet og softmax

CNN bruges mest, nรฅr der er et ustruktureret datasรฆt, sรฅsom billeder, og praktikere har brug for attract oplysninger fra den.

For eksempel, hvis opgaven er at forudsige en billedtekst:

  • CNN modtager et billede af, lad os sige, en kat. I computertermer er dette billede en samling af pixels, generelt รฉt lag for et grรฅtonebillede og tre lag for et farvebillede.
  • I lรธbet af funktionsindlรฆringsfasen, dvs. de skjulte lag, identificerer netvรฆrket unikke funktioner, for eksempel kattens hale eller รธret.
  • Nรฅr netvรฆrket grundigt har lรฆrt at genkende et billede, kan det angive en sandsynlighed for hver billedklasse, det kender. Betegnelsen med den hรธjeste sandsynlighed bliver netvรฆrkets forudsigelse.

Forstรฆrkningslรฆring

Forstรฆrkning lรฆring er et underfelt af maskinlรฆring, hvor systemer trรฆnes ved at modtage virtuelle "belรธnninger" eller "straffe", hvilket i bund og grund betyder lรฆring ved forsรธg og fejl. Det er et lรฆringsparadigme snarere end en netvรฆrksform, men dets moderne algoritmer er bygget pรฅ dybe netvรฆrk. Google's DeepMind brugte forstรฆrkningslรฆring til at besejre en menneskelig mester i Go. Forstรฆrkningslรฆring bruges ogsรฅ i videospil til at forbedre spiloplevelsen ved at levere smartere bots.

Nogle af de mest berรธmte algoritmer er:

  • Q-lรฆring
  • Dybt Q-netvรฆrk
  • State-Action-Reward-State-Action (SARSA)
  • Deep Deterministic Policy Gradient (DDPG)

Tabellen nedenfor opsummerer, hvornรฅr hver arkitektur passer.

Architecture Data der passer Sรฆrprรฆg Typisk opgave
Feed-forward Tabelinput med fast lรฆngde Ingen lรธkker; informationen bevรฆger sig kun fremad Pointgivning og simpel klassificering
Tilbagevendende (RNN) Sekvenser og tidsserier Kontekstnoder giver det hukommelse Tekstforudsigelse, lyd, prognoser
Konvolutionel (CNN) Gitterlignende ustrukturerede data Konvolution og pooling extract funktioner Billedklassificering og billedtekster
Forstรฆrkning lรฆring Et miljรธ, ikke et datasรฆt Lรฆrer af belรธnninger og straffe Spilagenter, robotteknologi, kontrol

Eksempler pรฅ applikationer til dybdegรฅende lรฆring

Disse arkitekturer er allerede i produktion pรฅ tvรฆrs af meget forskellige brancher:

AI i finans

Den finansielle teknologisektor er allerede begyndt at bruge AI til at spare tid, reducere omkostninger og tilfรธre vรฆrdi. Deep learning รฆndrer lรฅnebranchen gennem mere robust kreditvurdering. Kreditbeslutningstagere kan bruge AI til kreditansรธgninger for at opnรฅ en hurtigere og mere prรฆcis risikovurdering ved hjรฆlp af maskinintelligens til at tage hรธjde for ansรธgernes karakter og kapacitet.

Underwrite er en fintech-virksomhed, der leverer en AI-lรธsning til kreditbeslutningstagere. underwrite.ai bruger AI til at registrere, hvilken ansรธger der er mest tilbรธjelig til at betale et lรฅn tilbage, en tilgang, som virksomheden siger, overgรฅr traditionelle scorecards.

AI i HR

Under Armour, et sportstรธjsfirma, revolutioniserede ansรฆttelser og moderniserede kandidatoplevelsen ved hjรฆlp af AI. Under Armour oplevede en kraftig stigning i interessen tilbage i 2012 og modtog i gennemsnit mere end 30,000 ansรธgninger om mรฅneden. Det tog for lang tid at lรฆse alle disse ansรธgninger og derefter starte screening- og interviewprocessen. Den lange proces med at fรฅ folk ansat og onboardet pรฅvirkede Under Armours evne til at have sine detailbutikker fuldt bemandet, ramped og klar til drift.

Pรฅ det tidspunkt havde Under Armour al den nรธdvendige HR-teknologi pรฅ plads, sรฅsom transaktionelle lรธsninger til sourcing, ansรธgning, traconboarding, men disse vรฆrktรธjer var ikke nok i sig selv. Under Armour valgte HireVue, en AI-leverandรธr af HR-lรธsninger, til bรฅde on-demand og live interviews. Resultaterne var slรฅende: virksomheden rapporterede en reduktion af besรฆttelsestiden med 35 %, samtidig med at kvaliteten af โ€‹โ€‹de ansatte medarbejdere blev forbedret.

AI i marketing

AI er et vรฆrdifuldt vรฆrktรธj til kundeservicestyring og personaliseringsudfordringer. Forbedret talegenkendelse i callcenterstyring og opkaldsrouting, som et resultat af anvendelsen af โ€‹โ€‹AI-teknikker, giver en mere problemfri oplevelse for kunderne.

For eksempel giver deep learning-analyse af lyd systemer mulighed for at vurdere en kundes fรธlelsesmรฆssige tone. Hvis kunden reagerer dรฅrligt pรฅ AI-chatbotten, kan systemet omdirigere samtalen til en rigtig, menneskelig operatรธr, der overtager problemet.

Udover de tre ovenstรฅende eksempler pรฅ deep learning, anvendes AI i vid udstrรฆkning i andre sektorer og brancher.

Hvorfor er Deep Learning vigtigt?

Deep learning er et effektivt vรฆrktรธj til at omdanne forudsigelser til handlingsrettede resultater. Deep learning udmรฆrker sig ved mรธnsteropdagelse og vidensbaseret forudsigelse. Big data er brรฆndstoffet til dybdegรฅende lรฆring. Nรฅr begge dele kombineres, kan en organisation hรธste resultater inden for produktivitet, salg, ledelse og innovation, som tidligere var utilgรฆngelige.

Dyb lรฆring kan ogsรฅ overgรฅ traditionelle metoder. Isรฆr inden for perceptionsproblemer har dybe netvรฆrk i รฅrevis vรฆret de bedste: billedklassificering, talegenkendelse og ansigtsgenkendelse er alle domineret af dybe arkitekturer, hvor ansigtsgenkendelsesmodeller nรฅr tรฆt pรฅ 99 % nรธjagtighed pรฅ standard offentlige benchmarks. Gevinsten kommer fra, at netvรฆrket lรฆrer sine egne funktioner at kende i stedet for at stole pรฅ hรฅndkonstruerede funktioner.

Begrรฆnsninger ved dyb lรฆring

Disse resultater kommer med reelle omkostninger.

Datamรฆrkning

De fleste nuvรฆrende AI-modeller trรฆnes gennem superviseret lรฆring. Det betyder, at mennesker skal mรฆrke og kategorisere de underliggende data, hvilket kan vรฆre en betydelig og fejlbehรฆftet opgave. For eksempel udvikler virksomhederping Selvkรธrende bilteknologier ansรฆtter hundredvis af mennesker til manuelt at annotere timevis af videofeeds fra prototypebiler for at trรฆne disse systemer.

Fรฅ enorme trรฆningsdatasรฆt

Det har vist sig, at deep learning-teknikker som CNN i nogle tilfรฆlde kan imitere viden fra eksperter inden for medicin og andre omrรฅder. Denne bรธlge af maskinlรฆring krรฆver imidlertid trรฆningsdatasรฆt, der ikke kun er mรฆrkede, men ogsรฅ tilstrรฆkkeligt brede og universelle.

Deep learning-metoder krรฆver tusindvis af observationer for at modeller kan blive relativt gode til klassificeringsopgaver, og i nogle tilfรฆlde millioner for at de kan udfรธres pรฅ menneskers niveau. Det er ikke overraskende, at deep learning er mest almindeligt hos gigantiske teknologivirksomheder, der bruger big data til at akkumulere petabytes af eksempler. Denne skala giver dem mulighed for at skabe imponerende og yderst prรฆcise deep learning-modeller.

Forklar et problem

Store og komplekse modeller kan vรฆre svรฆre at forklare med menneskelige termer, for eksempel hvorfor en bestemt beslutning blev truffet. Det er en af โ€‹โ€‹grundene til, at accept af nogle kunstig intelligens vรฆrktรธjer er langsomme i anvendelsesomrรฅder, hvor fortolkelighed er nyttig eller faktisk pรฅkrรฆvet.

Ydermere, efterhรฅnden som anvendelsen af โ€‹โ€‹AI udvides, kan regulatoriske krav ogsรฅ drive behovet for mere forklarlige AI-modeller.

Ofte Stillede Spรธrgsmรฅl

Klassisk machine learning krรฆver funktioner, der er konstrueret i hรฅnden, og fungerer godt pรฅ smรฅ tabeldata. Deep learning lรฆrer funktionerne selv at kende fra rรฅ, ustrukturerede data, men รธnsker langt flere eksempler og beregninger.

Det introducerer ikke-linearitet, sรฅ stablede lag kan modellere buede beslutningsgrรฆnser i stedet for at kollapse til รฉt lineรฆrt trin. ReLU er den sรฆdvanlige standard i skjulte lag; sigmoid og softmax former outputtet.

Bagudbredelse mรฅler, hvor meget hver vรฆgt bidrog til fejlen, og bevรฆger derefter gradienten baglรฆns gennem lagene, sรฅ hver vรฆgt skubbes i den retning, der mindsker tabet. Det er den anden fase i aktion.

En epoch er รฉn fuld gennemgang af trรฆningsdataene. Batchstรธrrelsen er, hvor mange prรธver netvรฆrket ser, fรธr vรฆgte opdateres. Lรฆringshastigheden styrer, hvor stor hver af disse vรฆgtopdateringer er.

Transformers, der blev introduceret i 2017, erstatter gentagelse med opmรฆrksomhed, hvilket lader alle tokens se pรฅ alle andre tokens pรฅ รฉn gang. Fordi det kรธrer parallelt, skalerer de langt bedre end RNN'er og dominerer nu sprog- og visionsarbejde.

Trรฆning er for det meste stor matrixmultiplikation, hvor GPU'er kรธrer parallelt med meget hรธj hukommelsesbรฅndbredde. At flytte en CNN eller transformer fra CPU til en enkelt trรฆnings-GPU giver normalt flere gange sรฅ mange hastighedsforรธgelser.

Neural arkitektursรธgning og AutoML-vรฆrktรธjers prรธveantal, bredder og hyperparametre, og beholder derefter den kandidat, der validerer bedst. De reducerer den manuelle scanning dramatisk, selvom en person stadig sรฆtter mรฅlet og beregningsbudgettet.

GitHub Copilot kladder TensorFlow og PyTorch trรฆningslรธkker fra en kort prompt. Tjek selv inputformerne, tabsfunktionen og seed, da den genererede standardtekst ofte fejler dem.

Opsummer dette indlรฆg med: