Dyplæringsopplæring for nybegynnere: Grunnleggende om nevrale nettverk

⚡ Smart oppsummering

Dyp læring er en gren av maskinlæring bygget på kunstige nevrale nettverk som stabler mange skjulte lag, slik at hvert lag lærer en rikere funksjon i dataene enn laget før det.

  • 🔘 Lagdelt arkitektur: Et input-lag, to eller flere skjulte lag og et output-lag danner et nettverk dypt.
  • ☑️ Signal styrke: Vekt, bias og aktiveringsfunksjon bestemmer hva hver nevron sender til neste lag.
  • Tofase-sløyfe: En ikke-lineær transformasjon produserer en modell, deretter forbedrer en derivatbasert metode den, gjentatt til nøyaktigheten er akseptabel.
  • 🧪 Fire arkitekturer: Forward-feed-nettverk, tilbakevendende nettverk, konvolusjonelle nettverk og forsterkningslæringsagenter.
  • 🛠️ Der det lønner seg: Kredittvurdering innen finans, kandidatscreening innen HR, sentimentanalyse av callsentere innen markedsføring.
  • ⚙️ De virkelige grensene: Merkingskostnader, appetitt for enorme datasett og modeller som motstår enkel forklaring.

Dyplæringsopplæring for nybegynnere: Grunnleggende om nevrale nettverk

Hva er Deep Learning?

Dyp læring er dataprogramvare som etterligner nettverket av nevroner i en hjerne. Det er en delmengde av maskinlæring basert på kunstige nevrale nettverk med representasjonslæring. Det kalles dyp læring fordi det bruker dype nevrale nettverk. Denne læringen kan være overvåket, delvis overvåket eller uten tilsyn.

Dyp læringsalgoritmer er konstruert med tilkoblede lag, som diagrammet nedenfor viser.

  • Det første laget kalles Input Layer
  • Det siste laget kalles Output Layer
  • Alle lagene imellom kalles skjulte lag. Ordet dyp betyr at nettverket forbinder nevroner på tvers av mer enn to lag.
Diagram over dypt nevralt nettverk som viser et inngangslag, to skjulte lag med nevroner og et utgangslag
Inndatalag, skjulte lag og utdatalag, med forbindelser som går mellom individuelle nevroner

Hvert skjulte lag består av nevroner. Nevronene er koblet til hverandre. En nevron behandler inngangssignalet den mottar og forplanter deretter resultatet til laget over. Styrken på signalet som sendes til en nevron i det neste laget avhenger av vekten, biasen og aktiveringsfunksjonen.

Nettverket forbruker store mengder inndata og opererer på dem gjennom flere lag, slik at nettverket kan lære stadig mer komplekse funksjoner i dataene på hvert lag.

Dyp læringsprosess

Et dypt nevralt nettverk gir toppmoderne nøyaktighet i mange oppgaver, fra objektdeteksjon til talegjenkjenning. Slike nettverk kan lære automatisk, uten forhåndsdefinert kunnskap som er eksplisitt kodet av programmererne. I praksis går et dypt læringsprosjekt gjennom fem stadier:

  • Forstå problemet
  • Identifiser dataene
  • Velg en dyp læringsalgoritme
  • Tren modellen
  • Test modellen
Fem-trinns dyp læringsprosess fra å forstå problemet til å teste modellen

De fem stadiene i et dyp læringsprosjekt, fra problemdefinisjon til testing

For å forstå ideen om dyp læring, tenk deg en familie med et spedbarn og foreldre. Smårollingen peker på objekter med lillefingeren og sier alltid ordet «katt». Siden foreldrene er bekymret for utdannelsen hans, fortsetter de å si «Ja, det er en katt» eller «Nei, det er ikke en katt». Spedbarnet fortsetter å peke på objekter, men blir mer nøyaktig med «katter». Det lille barnet vet innerst inne ikke hvorfor det kan si at det er en katt eller ikke. Det har rett og slett lært å organisere trekkene som utgjør en katt i et hierarki, ved å se på kjæledyret som helhet og deretter fokusere på detaljer som halen eller nesen før det bestemmer seg.

Et nevralt nettverk fungerer på omtrent samme måte. Hvert lag representerer et dypere kunnskapsnivå, det vil si et kunnskapshierarki. Et nevralt nettverk med fire lag vil lære mer komplekse funksjoner enn et med to lag.

Læringen foregår i to faser:

  • Første fase: anvende en ikke-lineær transformasjon av inputen og lage en statistisk modell som output.
  • Andre fase: forbedre modellen med en matematisk metode basert på derivater, som er hvordan tilbakemelding justerer vektene.

Det nevrale nettverket gjentar disse to fasene hundrevis til tusenvis av ganger inntil det har nådd et tålelig nøyaktighetsnivå. Hver repetisjon av de to fasene kalles en iterasjon.

For å gi et eksempel på dyp læring, ta en titt på animasjonen nedenfor, der modellen prøver å lære å danse. Etter 10 minutter med trening vet ikke modellen hvordan man danser, og resultatet ser ut som en skribbel.

Animert figur som beveger seg uberegnelig etter ti minutter med dyp læringstrening

Etter 48 timer med læring mestrer datamaskinen kunsten å danse, som den andre animasjonen viser.

Animert figur som danser jevnt etter førtiåtte timer med dyp læringstrening

Klassifisering av nevrale nettverk

Nettverk grupperes først etter antall skjulte lag.

Grunt nevralt nettverk: Det grunne nevrale nettverket har bare ett skjult lag mellom inngangen og utgangen.

Dypt nevralt nettverk: Dype nevrale nettverk har mer enn ett skjult lag. For eksempel teller GoogLeNet-modellen for bildegjenkjenning 22 lag.

I dag dukker dyp læring opp i førerløse biler, mobiltelefoner, Google søkemotor, svindeldeteksjon og TV.

Typer dyplæringsnettverk

Flere arkitekturer har blitt standard, hver formet av typen data den håndterer. Diagrammet nedenfor, publisert av Asimov Institute, kartlegger den bredere familien.

Diagram over nevrale nettverksarkitekturer inkludert perceptron, feed forward, RBF, RNN, LSTM, GRU og autoencodere

Et diagram over nevrale nettverksarkitekturer, fra den enkle perceptronen til LSTM-, GRU- og autoencoder-varianter

Feed-forward nevrale nettverk

Dette er den enkleste typen kunstig nevralt nettverk. Med denne typen arkitektur flyter informasjonen bare i én retning, fremover. Det betyr at informasjonsflyten starter på inngangslaget, går til de «skjulte» lagene og slutter på utgangslaget. Nettverket har ikke en løkke, og informasjonen stopper på utgangslaget.

Tilbakevendende nevrale nettverk (RNN)

An RNN er et flerlags nevralt nettverk som kan lagre informasjon i kontekstnoder, slik at det kan lære datasekvenser og sende ut et tall eller en annen sekvens. Enkelt sagt er det et kunstig nevralt nettverk der forbindelsene mellom nevroner inkluderer løkker. RNN-er er godt egnet til å behandle sekvenser av input, fordi utgangen mates tilbake til nettverket som minne.

Blokkdiagram for tilbakevendende nevrale nettverk med utgangen sløyfet tilbake i nettverket som minne

En RNN sender utdataene sine tilbake til seg selv, som er det som gir nettverksminnet

Hvis for eksempel oppgaven er å forutsi det neste ordet i setningen «Vil du ha en …?», går nettverket frem slik:

  • RNN-nevronene mottar et signal som peker mot starten av setningen.
  • Nettverket mottar ordet «Do» som input og produserer en vektor med tall. Denne vektoren mates tilbake til nevronet for å gi nettverket et minne. Dette stadiet hjelper nettverket med å huske at det mottok «Do» og at det mottok det i første posisjon.
  • Nettverket fortsetter på samme måte som de neste ordene. Det tar ordet «du» og deretter «vil». Nevronenes tilstand oppdateres når de mottar hvert ord.
  • Det siste stadiet skjer etter at ordet «a» er mottatt. Det nevrale nettverket gir en sannsynlighet for hvert engelske ord som kan fullføre setningen. En veltrent RNN tildeler sannsynligvis en høy sannsynlighet til «café», «drink», «burger» og lignende ord.

Vanlige bruk av RNN

  • Hjelp verdipapirhandlere med å generere analytiske rapporter
  • Oppdage avvik i regnskaper
  • Oppdag falske kredittkorttransaksjoner
  • Gi en bildetekst for bilder
  • Power chatbots
  • Standardbruken av RNN skjer når utøvere jobber med tidsseriedata eller -sekvenser, for eksempel lydopptak eller tekst.

Konvolusjonelle nevrale nettverk (CNN)

A CNN er et flerlags nevralt nettverk med en unik arkitektur designet for å ekstracstadig mer komplekse datafunksjoner på hvert lag for å bestemme resultatet. CNN-er er godt egnet til persepsjonsoppgaver.

CNN-arkitektur med konvolusjon, ReLU og pooling av funksjonslæringstrinn etterfulgt av flatning, fullstendig tilkoblet og softmax-klassifisering

Funksjonslæring via konvolusjon, ReLU og pooling; klassifisering via flattening, fully connected og softmax

CNN brukes mest når det finnes et ustrukturert datasett, for eksempel bilder, og utøvere måtract informasjon fra den.

For eksempel, hvis oppgaven er å forutsi en bildetekst:

  • CNN mottar et bilde av, la oss si, en katt. I databehandling er dette bildet en samling piksler, vanligvis ett lag for et gråtonebilde og tre lag for et fargebilde.
  • I løpet av funksjonslæringsfasen, det vil si de skjulte lagene, identifiserer nettverket unike funksjoner, for eksempel kattens hale eller øret.
  • Når nettverket har lært seg grundig hvordan det skal gjenkjenne et bilde, kan det gi en sannsynlighet for hver bildeklasse det kjenner. Etiketten med høyest sannsynlighet blir nettverkets prediksjon.

Forsterkningslæring

Forsterkningslæring er et underfelt av maskinlæring der systemer trenes ved å motta virtuelle «belønninger» eller «straffer», i hovedsak læring ved prøving og feiling. Det er et læringsparadigme snarere enn en nettverksform, men dets moderne algoritmer er bygget på dype nettverk. GoogleDeepMind brukte forsterkningslæring til å slå en menneskelig mester i Go. Forsterkningslæring brukes også i videospill for å forbedre spillopplevelsen ved å tilby smartere roboter.

Noen av de mest kjente algoritmene er:

  • Q-læring
  • Deep Q-nettverk
  • State-Action-Reward-State-Action (SARSA)
  • Deep Deterministic Policy Gradient (DDPG)

Tabellen nedenfor oppsummerer når hver arkitektur passer.

Architecture Data det passer Kjennetegn Typisk oppgave
Mate frem Tabellinndata med fast lengde Ingen løkker; informasjonen beveger seg bare fremover Poengberegning og enkel klassifisering
Gjentakende (RNN) Sekvenser og tidsserier Kontekstnoder gir den minne Tekstprediksjon, lyd, prognoser
Konvolusjonell (CNN) Rutenettlignende ustrukturerte data Konvolusjon og pooling extract-funksjoner Bildeklassifisering og teksting
Forsterkningslæring Et miljø, ikke et datasett Lærer av belønninger og straffer Spillagenter, robotikk, kontroll

Eksempler på dyp læringsapplikasjoner

Disse arkitekturene er allerede i produksjon på tvers av svært forskjellige bransjer:

AI i finans

Finansteknologisektoren har allerede begynt å bruke AI for å spare tid, redusere kostnader og øke verdiskapningen. Dyp læring endrer utlånsbransjen gjennom mer robust kredittscoring. Kredittbeslutningstakere kan bruke AI til kredittsøknader for å oppnå raskere og mer nøyaktig risikovurdering, ved å bruke maskinintelligens til å ta hensyn til søkernes karakter og kapasitet.

Underwrite er et fintech-selskap som tilbyr en AI-løsning for kredittbeslutningstakere. underwrite.ai bruker AI til å oppdage hvilken søker som har størst sannsynlighet for å betale tilbake et lån, en tilnærming selskapet sier overgår tradisjonelle scorekort.

AI i HR

Under Armour, et sportsklærselskap, revolutioniserte ansettelser og moderniserte kandidatopplevelsen ved hjelp av AI. Under Armour møtte en kraftig økning i interessen tilbake i 2012 og mottok i gjennomsnitt mer enn 30 000 søknader i måneden. Det tok for lang tid å lese alle disse søknadene og deretter starte screening- og intervjuprosessen. Den lange prosessen med å få folk ansatt og ombord påvirket Under Armours evne til å ha butikkene sine fullt bemannet, oppgradert og klare til drift.

På den tiden hadde Under Armour all nødvendig HR-teknologi på plass, som transaksjonsløsninger for sourcing, søknad, trackonge og onboarding, men disse verktøyene var ikke nok alene. Under Armour valgte HireVue, en AI-leverandør av HR-løsninger, for både on-demand og live-intervjuer. Resultatene var slående: selskapet rapporterte at de reduserte tiden for å fylle med 35 %, samtidig som de hevet kvaliteten på de ansatte.

AI i markedsføring

AI er et verdifullt verktøy for kundeservicehåndtering og utfordringer knyttet til personalisering. Forbedret talegjenkjenning i kundesenterhåndtering og samtaleruting, som et resultat av bruk av AI-teknikker, gir en mer sømløs opplevelse for kundene.

For eksempel lar dyp læringsanalyse av lyd systemer vurdere en kundes emosjonelle tone. Hvis kunden reagerer dårlig på AI-chatboten, kan systemet omdirigere samtalen til en ekte, menneskelig operatør som tar over problemet.

Bortsett fra de tre eksemplene på dyp læring ovenfor, er AI mye brukt i andre sektorer og bransjer.

Hvorfor er dyp læring viktig?

Dyp læring er et kraftig verktøy for å gjøre spådommer om til handlingsrettede resultater. Dyp læring utmerker seg ved mønsteroppdagelse og kunnskapsbasert prediksjon. Big data er drivstoffet for dyp læring. Når begge deler kombineres, kan en organisasjon høste resultater innen produktivitet, salg, ledelse og innovasjon som tidligere var utenfor rekkevidde.

Dyp læring kan også utkonkurrere tradisjonelle metoder. Spesielt når det gjelder persepsjonsproblemer, har dype nettverk vært de beste i årevis: bildeklassifisering, talegjenkjenning og ansiktsgjenkjenning domineres alle av dype arkitekturer, med ansiktsgjenkjenningsmodeller som når nesten 99 % nøyaktighet på standard offentlige referansetester. Gevinsten kommer fra at nettverket lærer sine egne funksjoner i stedet for å stole på håndkonstruerte.

Begrensninger ved dyp læring

Disse resultatene kommer med reelle kostnader.

Datamerking

De fleste nåværende AI-modeller trenes gjennom veiledet læring. Det betyr at mennesker må merke og kategorisere de underliggende dataene, noe som kan være en betydelig og feilutsatt oppgave. For eksempel utvikler selskaperping Selvkjørende bilteknologier ansetter hundrevis av folk til å manuelt kommentere timevis med videostrømmer fra prototypekjøretøy for å trene disse systemene.

Skaff deg enorme opplæringsdatasett

Det har blitt vist at dyplæringsteknikker som CNN i noen tilfeller kan imitere kunnskapen til eksperter innen medisin og andre felt. Denne bølgen av maskinlæring krever imidlertid treningsdatasett som ikke bare er merket, men også tilstrekkelig brede og universelle.

Dyp læringsmetoder krever tusenvis av observasjoner for at modeller skal bli relativt gode på klassifiseringsoppgaver, og i noen tilfeller millioner for at de skal kunne utføres på menneskelig nivå. Ikke overraskende er dyp læring mest vanlig hos gigantiske teknologiselskaper, som bruker stordata til å samle petabyte med eksempler. Denne skalaen lar dem lage imponerende og svært nøyaktige dyp læringsmodeller.

Forklar et problem

Store og komplekse modeller kan være vanskelige å forklare med menneskelige termer, for eksempel hvorfor en bestemt beslutning ble tatt. Det er én grunn til at aksept av noen kunstig intelligens verktøy er trege i bruksområder der tolkbarhet er nyttig eller faktisk nødvendig.

Videre, ettersom bruken av AI utvides, kan regulatoriske krav også drive behovet for mer forklarbare AI-modeller.

Spørsmål og svar

Klassisk maskinlæring trenger funksjoner som er konstruert for hånd og fungerer bra på små tabelldata. Dyp læring lærer seg funksjoner fra rå ustrukturerte data, men ønsker langt flere eksempler og beregninger.

Den introduserer ikke-linearitet, slik at stablede lag kan modellere buede beslutningsgrenser i stedet for å kollapse til ett lineært trinn. ReLU er den vanlige standarden i skjulte lag; sigmoid og softmax former utdataene.

Tilbakepropagering måler hvor mye hver vekt bidro til feilen, og beveger deretter gradienten bakover gjennom lagene slik at hver vekt dyttes i den retningen som reduserer tapet. Det er den andre fasen i aksjon.

En epoke er én full gjennomgang av treningsdataene. Batchstørrelse er hvor mange prøver nettverket ser før vektene oppdateres. Læringshastigheten styrer hvor store hver av disse vektoppdateringene er.

Transformers, introdusert i 2017, erstatter gjentakelse med oppmerksomhet, og lar alle tokens se på alle andre tokens samtidig. Fordi dette kjører parallelt, skalerer de mye bedre enn RNN-er og dominerer nå språk- og visjonsarbeid.

Trening er for det meste stor matrisemultiplikasjon, som GPU-er kjører parallelt med svært høy minnebåndbredde. Å flytte en CNN eller transformator fra CPU til en enkelt trenings-GPU gir vanligvis flere ganger raskere hastighet.

Søk etter nevral arkitektur og AutoML-verktøy for prøvelag, antall lag, bredder og hyperparametere, og beholder deretter den kandidaten som validerer best. De reduserer den manuelle gjennomsøkingen dramatisk, selv om en person fortsatt setter målet og beregningsbudsjettet.

GitHub Copilot utkast tensorflow og PyTorch-treningsløkker fra en kort prompt. Sjekk input-formene, tapsfunksjonen og frøet selv, fordi den genererte standardteksten ofte gjør disse feil.

Oppsummer dette innlegget med: