Vil du vide, hvordan Deep Learning fungerer? Her er en hurtig guide til alle.

Kunstig intelligens (AI) og maskinindlæring (ML) er nogle af de hotteste emner lige nu.

Udtrykket “AI” kastes afslappet hver dag. Du hører håbefulde udviklere sige, at de vil lære AI. Du hører også ledere sige, at de vil implementere AI i deres tjenester. Men ganske ofte forstår mange af disse mennesker ikke, hvad AI er.

Når du har læst denne artikel, vil du forstå det grundlæggende i AI og ML. Endnu vigtigere vil du forstå, hvordan Deep Learning, den mest populære type ML, fungerer.

Denne guide er beregnet til alle, så ingen avanceret matematik vil være involveret.

Baggrund

Det første skridt mod at forstå, hvordan dyb læring fungerer, er at forstå forskellene mellem vigtige udtryk.

Kunstig intelligens vs maskinindlæring

Kunstig intelligens er replikering af menneskelig intelligens i computere.

Da AI-forskning først startede, forsøgte forskere at replikere menneskelig intelligens til specifikke opgaver - som at spille et spil.

De indførte et stort antal regler, som computeren havde brug for at respektere. Computeren havde en specifik liste over mulige handlinger og tog beslutninger baseret på disse regler.

Machine Learning henviser til maskinens evne til at lære ved hjælp af store datasæt i stedet for hårdkodede regler.

ML tillader computere at lære af sig selv. Denne type læring udnytter processorkraften på moderne computere, som let kan behandle store datasæt.

Overvåget læring vs ikke-overvåget læring

Supervised Learning indebærer brug af mærkede datasæt, der har input og forventede output.

Når du træner en AI ved hjælp af overvåget læring, giver du den en input og fortæller den forventede output.

Hvis output genereret af AI er forkert, vil det justere sine beregninger igen. Denne proces udføres iterativt over datasættet, indtil AI ikke laver flere fejl.

Et eksempel på overvåget læring er en vejrforudsigende AI. Det lærer at forudsige vejr ved hjælp af historiske data. Disse træningsdata har input (tryk, fugtighed, vindhastighed) og output (temperatur).

Uovervåget læring er opgaven med maskinindlæring ved hjælp af datasæt uden nogen specificeret struktur.

Når du træner en AI ved hjælp af ikke-overvåget læring, lader du AI foretage logiske klassifikationer af dataene.

Et eksempel på ikke-overvåget læring er en adfærdsprognende AI for et e-handelswebsted. Det lærer ikke ved hjælp af et mærket datasæt af input og output.

I stedet opretter den sin egen klassificering af inputdataene. Det fortæller dig, hvilken type brugere der mest sandsynligt køber forskellige produkter.

Hvordan fungerer Deep Learning nu?

Du er nu parat til at forstå, hvad Deep Learning er, og hvordan det fungerer.

Deep Learning er en maskinlæringsmetode . Det giver os mulighed for at træne en AI til at forudsige output, givet et sæt input. Både overvåget og ikke-overvåget læring kan bruges til at træne AI.

Vi lærer, hvordan dyb læring fungerer ved at opbygge en hypotetisk prisestimering af flybilletpriser . Vi træner det ved hjælp af en overvåget læringsmetode.

Vi ønsker, at vores prisestimator for flybillet forudsiger prisen ved hjælp af følgende input (vi ekskluderer returbilletter for enkelheds skyld):

  • Origin lufthavn
  • Destination lufthavn
  • Afgangsdato
  • Flyselskab

Neurale netværk

Lad os se inde i hjernen i vores AI.

Ligesom dyr har vores estimator AIs hjerne neuroner. De er repræsenteret af cirkler. Disse neuroner er indbyrdes forbundne.

Neuroner er grupperet i tre forskellige typer lag:

  1. Input Layer
  2. Skjulte lag
  3. Outputlag

Den inputlaget modtager inputdata. I vores tilfælde har vi fire neuroner i inputlaget: Origin Airport, Destination Airport, Afrejsedato og Airline. Inputlaget sender indgangene til det første skjulte lag.

De skjulte lag udfører matematiske beregninger på vores input. En af udfordringerne med at skabe neurale netværk er at beslutte antallet af skjulte lag samt antallet af neuroner for hvert lag.

Dybden ” i dyb læring henviser til at have mere end et skjult lag.

Den output lag returnerer uddata. I vores tilfælde giver det os forudsigelsen af ​​prisen.

Så hvordan beregner det prisforudsigelsen?

Det er her, magien ved dyb læring begynder.

Hver forbindelse mellem neuroner er forbundet med en vægt . Denne vægt dikterer vigtigheden af ​​inputværdien. De indledende vægte indstilles tilfældigt.

Når man forudsiger prisen på en flybillet, er afgangsdatoen en af ​​de tungere faktorer. Derfor vil afgangsdatoen for neuronforbindelser have en stor vægt.

Hver neuron har en aktiveringsfunktion. Disse funktioner er svære at forstå uden matematisk begrundelse.

Kort sagt, et af dets formål er at "standardisere" output fra neuronen.

Når et sæt inputdata er passeret gennem alle lagene i det neurale netværk, returnerer det outputdataene gennem outputlaget.

Intet kompliceret, ikke?

Uddannelse af det neurale netværk

Træning af AI er den sværeste del af Deep Learning. Hvorfor?

  1. Du har brug for et stort datasæt .
  2. Du har brug for en stor mængde beregningskraft .

For vores prisestimator for flybillet er vi nødt til at finde historiske data om billetpriser. Og på grund af den store mængde mulige lufthavne og afgangsdatokombinationer har vi brug for en meget stor liste over billetpriser.

For at træne AI er vi nødt til at give det input fra vores datasæt og sammenligne dets output med output fra datasættet. Da AI stadig er utrænet, vil dens output være forkert.

Når vi først har gennemgået hele datasættet, kan vi oprette en funktion, der viser os, hvor forkert AI's output var fra de reelle output. Denne funktion kaldes omkostningsfunktionen.

Ideelt set ønsker vi, at vores omkostningsfunktion skal være nul. Det er da vores AI's output er de samme som datasættets output.

Hvordan kan vi reducere omkostningsfunktionen?

Vi ændrer vægten mellem neuroner. Vi kunne tilfældigt ændre dem, indtil vores omkostningsfunktion er lav, men det er ikke særlig effektivt.

I stedet bruger vi en teknik kaldet Gradient Descent.

Gradient Descent er en teknik, der giver os mulighed for at finde et minimum af en funktion. I vores tilfælde er vi på udkig efter minimumsomkostningsfunktionen.

Det fungerer ved at ændre vægten i små intervaller efter hver datasæt iteration . Ved at beregne den afledte (eller gradient) af omkostningsfunktionen til et bestemt sæt vægt kan vi se i hvilken retning minimumet er.

For at minimere omkostningsfunktionen skal du gentage dit datasæt mange gange. Dette er grunden til, at du har brug for en stor mængde beregningskraft.

Opdatering af vægte ved hjælp af gradientnedstigning sker automatisk . Det er magien ved Deep Learning!

Når vi først har trænet vores prisbilleder AI til flybillet, kan vi bruge den til at forudsige fremtidige priser.

Hvor kan jeg lære mere?

Der er mange andre typer neurale netværk: Konvolutionsneurale netværk til computersyn og tilbagevendende neurale netværk til naturlig sprogbehandling.

Hvis du vil lære det tekniske aspekt af Deep Learning, foreslår jeg at tage et online kursus.

I øjeblikket er Andrew Ngs Deep Learning Specialization et af de bedste kurser for Deep Learning. Hvis du ikke er interesseret i at få et certifikat, behøver du ikke betale for kurset. Du kan revidere det gratis i stedet.

Hvis du har spørgsmål eller ønsker mere tekniske forklaringer på begreberne, så spørg nedenfor!

Sammenfattende ...

  • Deep Learning bruger et neuralt netværk til at efterligne dyreintelligens.
  • Der er tre typer lag af neuroner i et neuralt netværk: InputLag, skjulte lag og outputlag.
  • Forbindelser mellem neuroner er forbundet med en vægt, der dikterer vigtigheden af ​​inputværdien.
  • Neuroner anvender en aktiveringsfunktion på dataene for at "standardisere" det output, der kommer ud af neuronen.
  • For at træne et neuralt netværk har du brug for et stort datasæt.
  • Iterering gennem datasættet og sammenligning af output giver en omkostningsfunktion, der indikerer, hvor meget AI er slukket fra de reelle output.
  • Efter hver iteration gennem datasættet justeres vægten mellem neuroner ved hjælp af Gradient Descent for at reducere omkostningsfunktionen.

Hvis du nød denne artikel, bedes du give mig nogle klapper, så flere mennesker ser det. Tak!

Du kan også tjekke min erfaring med, hvordan jeg fik min praktik hos Shopify!

For flere opdateringer, følg mig på Twitter.