Forskjellen mellom maskinlæring og dyp læring
Hovedforskjellen mellom maskinlæring og dyp læring
De viktigste forskjellene mellom Machine Learning og Deep Learning er:
- Machine Learning gir utmerket ytelse på et lite/middels datasett, mens Deep Learning gir utmerket ytelse på et stort datasett
- ML fungerer på en low-end maskin, mens DL krever kraftig maskin, gjerne med GPU.
- Machine Learning-utførelsestid fra noen minutter til timer, mens Deep Learning tar opptil uker.
- Med maskinlæring trenger du færre data for å trene algoritmen enn dyp læring. Dyplæring krever et omfattende og mangfoldig sett med data for å identifisere den underliggende strukturen.
Hva er AI?
AI (kunstig intelligens) er en gren av informatikk der maskiner er programmert og gitt en kognitiv evne til å tenke og etterligne handlinger som mennesker og dyr. Referansen for AI er menneskelig intelligens angående resonnement, tale, læring, visjon og problemløsning, som er langt unna i fremtiden.
AI har tre forskjellige nivåer
1) Smal AI: En kunstig intelligens sies å være smal når maskinen kan utføre en spesifikk oppgave bedre enn et menneske. Den nåværende forskningen av AI er her nå
2) Generell AI: En kunstig intelligens når den generelle tilstanden når den kan utføre en hvilken som helst intellektuell oppgave med samme nøyaktighetsnivå som et menneske ville gjort
3) Aktiv AI: En AI er aktiv når den kan slå mennesker i mange oppgaver
Tidlige AI-systemer brukte mønstertilpasning og ekspert systemer.
Hva er maskinlæring (ML)?
ML (Maskinlæring) er en type AI der en datamaskin er opplært til å automatisere oppgaver som er uttømmende eller umulige for mennesker. Det er det beste verktøyet for å analysere, forstå og identifisere mønstre i data basert på studiet av datamaskinalgoritmer. Maskinlæring kan ta beslutninger med minimal menneskelig innblanding.
Sammenligning Kunstig intelligens vs maskinlæring, maskinlæring bruker data for å mate en algoritme som kan forstå forholdet mellom input og output. Når maskinen er ferdig med å lære, kan den forutsi verdien eller klassen til et nytt datapunkt.
Hva er Deep Learning (DL)?
Deep learning er en dataprogramvare som etterligner nettverket av nevroner i en hjerne. Det er en undergruppe av maskinlæring og kalles dyp læring fordi den benytter seg av dype nevrale nettverk. Maskinen bruker forskjellige lag for å lære av dataene. Dybden av modellen er representert ved antall lag i modellen. Dyplæring er den nye toppmoderne innen kunstig intelligens. I dyp læring gjøres læringsfasen gjennom et nevralt nettverk. Et nevralt nettverk er en arkitektur der lagene er stablet oppå hverandre
Forskjellen mellom maskinlæring og dyp læring
Nedenfor er en nøkkelforskjell mellom Deep Learning vs Machine Learning
Parameter | Maskinlæring | Dyp læring |
---|---|---|
Dataavhengigheter | Utmerket ytelse på et lite/middels datasett | Utmerket ytelse på et stort datasett |
Maskinvareavhengigheter | Arbeid på en lavend maskin. | Krever kraftig maskin, helst med GPU: DL utfører en betydelig mengde matrisemultiplikasjon |
Funksjonsteknikk | Trenger å forstå funksjonene som representerer dataene | Du trenger ikke å forstå den beste funksjonen som representerer dataene |
Gjennomføringstid | Fra få minutter til timer | Opptil uker. Neural Network trenger å beregne et betydelig antall vekter |
interpretability | Noen algoritmer er enkle å tolke (logistikk, beslutningstre), noen er nesten umulige (SVM, XGBoost) | Vanskelig til umulig |
Når skal man bruke ML eller DL?
I tabellen nedenfor oppsummerer vi forskjellen mellom maskinlæring og dyp læring med eksempler.
Parameter | Maskinlæring | Dyp læring |
---|---|---|
Opplæringsdatasett | Liten | Stor |
Velg funksjoner | Ja | Nei |
Antall algoritmer | Mange | Few |
Trenings tid | Kort | Lang |
Med maskinlæring trenger du færre data for å trene algoritmen enn dyp læring. Dyplæring krever et omfattende og mangfoldig sett med data for å identifisere den underliggende strukturen. Dessuten gir maskinlæring en raskere trent modell. Mest avansert dyplæringsarkitektur kan ta dager til en uke å trene. Fordelen med dyp læring fremfor maskinlæring er at den er svært nøyaktig. Du trenger ikke å forstå hvilke funksjoner som er den beste representasjonen av dataene; det nevrale nettverket lærte å velge kritiske funksjoner. I maskinlæring må du selv velge hvilke funksjoner som skal inkluderes i modellen.
Maskinlæringsprosess
Tenk deg at du er ment å bygge et program som gjenkjenner objekter. For å trene modellen bruker du en klassifikator. En klassifikator bruker egenskapene til et objekt for å prøve å identifisere klassen det tilhører.
I eksemplet vil klassifikatoren bli opplært til å oppdage om bildet er en:
- Sykkel
- Båt
- Bil
- Plane
De fire objektene ovenfor er klassen klassifisereren må gjenkjenne. For å konstruere en klassifikator, må du ha noen data som input og tilordne en etikett til den. Algoritmen vil ta disse dataene, finne et mønster og deretter klassifisere det i den tilsvarende klassen.
Denne oppgaven kalles veiledet læring. I overvåket læring inkluderer treningsdataene du mater til algoritmen en etikett.
Trening av en algoritme krever å følge noen få standardtrinn:
- Samle inn dataene
- Tren klassifisereren
- Lag spådommer
Det første trinnet er nødvendig, å velge riktig data vil gjøre algoritmen til suksess eller fiasko. Dataene du velger for å trene modellen kalles en funksjonen. I objekteksemplet er funksjonene pikslene til bildene.
Hvert bilde er en rad i dataene mens hver piksel er en kolonne. Hvis bildet ditt har en størrelse på 28×28, inneholder datasettet 784 kolonner (28×28). På bildet nedenfor har hvert bilde blitt transformert til en funksjonsvektor. Etiketten forteller datamaskinen hvilket objekt som er på bildet.
Målet er å bruke disse treningsdataene til å klassifisere typen objekt. Det første trinnet består av å lage funksjonskolonner. Deretter involverer det andre trinnet å velge en algoritme for å trene modellen. Når treningen er ferdig, vil modellen forutsi hvilket bilde som tilsvarer hvilket objekt.
Etter det er det enkelt å bruke modellen til å forutsi nye bilder. For hvert nytt bilde som mates inn i modellen, vil maskinen forutsi klassen den tilhører. For eksempel går et helt nytt bilde uten etikett gjennom modellen. For et menneske er det trivielt å visualisere bildet som en bil. Maskinen bruker sin tidligere kunnskap til å forutsi også bildet er en bil.
Dyp læringsprosess
I dyp læring gjøres læringsfasen gjennom et nevralt nettverk. Et nevralt nettverk er en arkitektur der lagene er stablet oppå hverandre.
Tenk på det samme bildeeksemplet ovenfor. Treningssettet vil bli matet til et nevralt nettverk
Hver inngang går inn i et nevron og multipliseres med en vekt. Resultatet av multiplikasjonen flyter til neste lag og blir input. Denne prosessen gjentas for hvert lag i nettverket. Det siste laget heter utdatalaget; den gir en faktisk verdi for regresjonsoppgaven og en sannsynlighet for hver klasse for klassifiseringsoppgaven. Det nevrale nettverket bruker en matematisk algoritme for å oppdatere vektene til alle nevronene. Det nevrale nettverket er ferdig trent når verdien av vektene gir en utgang nær virkeligheten. For eksempel kan et godt trent nevralt nettverk gjenkjenne objektet på et bilde med høyere nøyaktighet enn det tradisjonelle nevrale nettet.
Automatiser funksjonsutvinning ved hjelp av DL
Et datasett kan inneholde et dusin til hundrevis av funksjoner. Systemet vil lære av relevansen til disse funksjonene. Imidlertid er ikke alle funksjoner meningsfulle for algoritmen. En avgjørende del av maskinlæring er å finne et relevant sett med funksjoner for å få systemet til å lære noe.
En måte å utføre denne delen i maskinlæring er å bruke funksjonsekstraksjon. Funksjonsutvinning kombinerer eksisterende funksjoner for å lage et mer relevant sett med funksjoner. Det kan gjøres med PCA, T-SNE eller andre dimensjonsreduksjonsalgoritmer.
For eksempel, en bildebehandling, må utøveren trekke ut funksjonen manuelt i bildet som øyne, nese, lepper og så videre. Disse ekstraherte funksjonene er feed til klassifiseringsmodellen.
Dyplæring løser dette problemet, spesielt for et konvolusjonelt nevralt nettverk. Det første laget av et nevralt nettverk vil lære små detaljer fra bildet; de neste lagene vil kombinere den tidligere kunnskapen for å lage mer kompleks informasjon. I det konvolusjonelle nevrale nettverket gjøres funksjonsutvinningen ved bruk av filteret. Nettverket bruker et filter på bildet for å se om det er samsvar, dvs. formen på funksjonen er identisk med en del av bildet. Hvis det er en match, vil nettverket bruke dette filteret. Prosessen med funksjonsutvinning gjøres derfor automatisk.
Oppsummering
Kunstig intelligens er å formidle en kognitiv evne til en maskin. Ved å sammenligne AI vs Machine Learning brukte tidlige AI-systemer mønstertilpasning og ekspertsystemer.
Tanken bak maskinlæring er at maskinen kan lære uten menneskelig innblanding. Maskinen må finne en måte å lære å løse en oppgave gitt dataene.
Dyplæring er gjennombruddet innen kunstig intelligens. Når det er nok data å trene på, oppnår dyp læring imponerende resultater, spesielt for bildegjenkjenning og tekstoversettelse. Hovedårsaken er at funksjonsutvinningen gjøres automatisk i de forskjellige lagene i nettverket.