Wrap ditt sinn rundt nevrale nettverk

November 30, 2022 0 By nditv

Kunstig intelligens spiller en stadig økende funksjon i livene til siviliserte nasjoner, selv om de fleste borgere mest sannsynlig ikke gjenkjenner det. Det er nå vanlig å snakke med en datamaskin når du ringer en bedrift. Facebook slutter å være skremmende presis på å anerkjenne ansikter i opplastede bilder. Fysisk interaksjon med kloke telefoner er å ende opp med å være en ting fra fortiden … Med Apples Siri, så vel som Google Tale, er det sakte imidlertid sikkert å være enklere å bare snakke med telefonen, så vel som å fortelle det hva du skal gjøre enn å skrive eller berøre det et ikon. Prøv dette hvis du ikke har før – hvis du har en Android-telefon, sier “OK ​​Google”, fulgte med “Lumos”. Det er magisk!

Annonser for produkter vi tenker på å vises på våre sosiale nettverkskontoer som om noe leser våre tanker. Virkeligheten er at noe leser våre tanker … selv om det er vanskelig å klemme seg nøyaktig hva det er noe. En annonse kan vises for noe vi vil ha, selv om vi aldri skjønte at vi ønsket det før vi ser det. Dette er ikke tilfeldig, men stammer fra en AI-algoritme.

I hjertet av mange av disse AI-applikasjonene ligger en prosess som forstår som dyp læring. Det har vært mye snakk om dyp oppdagelse i det siste, ikke bare her på Hackaday, men rundt interwebs. I tillegg til de fleste ting som er knyttet til AI, kan det være litt utfordrende, så vel som vanskelig å forstå uten en sterk bakgrunn i datavitenskap.

Hvis du er kjent med mine kvanteteori-artikler, forstår du at jeg liker å ta utfordrende emner, strippe komplikasjonen det aller beste jeg kan, så vel som forklare det i en metode som alle kan forstå. Det er målet med denne artikkelen å bruke en lignende tilnærming til dette konseptet med dyp læring. Hvis nevrale nettverk gjør deg krysseøyet, så vel som maskinoppdaging gir deg mareritt, sjekket ut på. Du vil se at “dyp læring” virker som et skremmende emne, men er virkelig bare en $ 20-term som brukes til å forklare noe hvis underbandinger er ganske enkle.

Maskinlæring

Når vi programmerer en maskin for å utføre en oppgave, komponerer vi instruksjonene så vel som maskinen utfører dem. For eksempel LED på … LED OFF … Det er ikke krav til at maskinen skal forstå det forventede resultatet etter at det har fullført instruksjonene. Det er ingen grunn til at maskinen skal forstå om lysdioden er på eller av. Det gjør bare det du fortalte det å gjøre. Med maskinlæring er denne prosessen vendt. Vi forteller maskinen resultatet vi vil ha, så vel som maskinen “lærer” instruksjonene for å komme dit. Det er en rekke metoder for å gjøre dette, men la oss fokusere på et enkelt eksempel:

Tidlig nevrale nettverk fra mit
Hvis jeg skulle be deg om å lage litt robot som kan veilede seg til et mål, ville en enkel metode for å gjøre dette være å sette roboten, så vel som målet på et XY-kartesisk fly, så vel som deretter programmet roboten til å gå Så mange enheter på X-aksen, så vel som så så mange enheter på Y-aksen. Denne enkle teknikken har roboten bare ta ut instruksjoner, uten å virkelig forstå hvor målet er. Det fungerer bare når du forstår koordinatene for utgangspunktet og målet. Hvis enten endres, vil denne tilnærmingen ikke fungere.

Maskinvarme gjør at vi kan tilby med å endre koordinater. Vi forteller at roboten vår skal oppdage målet, så vel som la det finne ut, eller lære, sine egne retninger for å komme dit. En metode for å gjøre dette er at roboten oppdager avstanden til målet, så vel som deretter bevege seg i en tilfeldig retning. Kjør avstanden, flytt tilbake til hvor den startet, så vel som å registrere avstandsmåling. Gjenta denne prosessen vil gi oss en rekke avstandsmålinger etter å ha flyttet fra en fast koordinat. Etter at x mengde målinger tas, vil roboten bevege seg i retningen der avstanden til målet er kortest, så vel som gjenta sekvensen. Dette vil til slutt gjøre det mulig for det å nå målet. Kort sagt, roboten bruker bare prøving og feil for å “lære” nøyaktig hvordan du kommer til målet. Se, dette er ikke så vanskelig tross alt!

Denne “læringen av prøve-og-feil” -konseptet kan representeres abstrakt i noe som vi alle har hørt om – et nevralt nettverk.

Neurale nettverk for dummies

Neurale nettverk får navnet sitt fra massen av nevroner i nogginen din. Mens det generelle nettverket er absurd kompleks, er driften av en enkelt neuron enkel. Det er en celle med en rekke innganger, så vel som en enkelt utgang, med kjemiske elektriske signaler som gir IO. Angi om utgangen bestemmes av antall aktive innganger, samt utholdenhet av disse inngangene. Hvis det er tilstrekkelige aktive innganger, vil en terskel bli krysset, så vel som utgangen vil endte med å være aktiv. Hver utgang fra en neuron virker som inngangen til en ekstra neuron, som produserer nettverket.

PercePtron Diagram Via Nøyaktig hvordan å trene en Neuarl NETwork i Python av Prateek Joshi
Gjenskaping av en neuron (og derfor et nevralt nettverk) i silisium bør det også være enkelt. Du har en rekke innganger i en summering thingy. Legg inn inngangene, så vel som om de overgår en bestemt terskel, utdata en. Ellers utdata en null. Bingo! Mens dette lar oss sorta etterligne en neuron, er det dessverre ikke ekstremt nyttig. For å gjøre vår silisium neuron verdt å lagre i flashminne, krever vi å gjøre inngangene, så vel som utganger mindre binær … Vi krever at de gir dem styrker, eller den mer vanlige tittelen: Vekter.

På slutten av 1940-tallet oppfunnet en fyr ved navnet på Frank Rosenblatt denne tingen kalt en PercePtron. PercePtron er akkurat som vår silisium neuron som vi forklarte i forrige avsnitt, med noen få unntak. Det viktigste er at inngangene har vekter. Med introduksjon av vekter samt litt tilbakemelding får vi en mest fascinerende evne … evnen til å lære.

Kilde via kdnuggets.
Spol tilbake til vår bitrobot som lærer nøyaktig hvordan du kommer til målet. Vi ga roboten et resultat, så vel som at det komponerer sine egne retninger for å oppdage nøyaktig hvordan man skal oppnå det resultatet av en prøve- og feilprosess for tilfeldige bevegelser, samt avstandsmålinger i et XY-koordinatsystem. Konseptet med en PercePtron er en abstraksjon av denne prosessen. Utgangen fra den kunstige neuron er vårt utfall. Vi vil at nevronen skal gi oss et forventet resultat for et bestemt sett med innganger. Vi oppnår dette ved å ha neuronet forandre vektene på inngangene til den oppnår det resultatet vi ønsker.

Justering av vekter gjøres av en prosess som heter Back Propagation, som er en type tilbakemelding. Så du har et sett med innganger, et sett med vekter, så vel som et utfall. Vi bestemmer nøyaktig hvor langt resultatet er fra hvor vi vil ha det, så vel som å bruke forskjellen (kjent som feil) for å endre vektene som benytter en matematisk ide forstått som gradient anstendig. Denne “vektjusterings” -prosessen kalles ofte trening, men er ikke noe mer enn en prøve-og-feilprosess, akkurat som med vår bitrobot.

Dyp læring

Dyp oppdagelse ser ut til å ha flere definisjoner enn IOT i disse dager. Men den enkleste, mest rett foran en jeg kan oppdage er et nevralt nettverk med ett eller flere lag mellom inngangen, så vel som utgang så vel som brukt for å løse komplekse problemer. I utgangspunktet er dyp oppdagelse bare et komplekst nevralt nettverk som brukes til å gjøre ting som virkelig er vanskelig for tradisjonelle datamaskiner å gjøre.

Dyp oppdage diagram via en dummys guide til dyp oppdagelse av Kun Chen
Lagene i mellom inngangen og utgangen kalles skjulte lag, så vel som betydelig øke kompleksiteten til nonuralnettet. Hvert lag har et bestemt formål, så vel som arrangeres i et hierarki. For eksempel, hvis vi hadde en dyp oppdagende neural web trent for å bestemme en feline i et bilde, kan det aller første laget se etter bestemte linjesegmenter, så vel som buer. Andre lag høyere i hierarkiet vil se på utgangen av det aller første laget, samt prøve å bestemme mer komplekse former, som sirkler eller trekanter. even higher layers will look for objects, like eyes or whiskers. For a more detailed explanation of hierarchical classification techniques, be sure to inspect out my articles on invariant representations.

The actual output of a layer is not understood precisely since it is trained via a trial-and-error process. two similar Deep discovering neural networks trained with the exact same picture will create different outputs from its hidden layers. This brings up some uncomfortable issues, as MIT is discovering out.

Now when you hear somebody talk about machine learning, neural networks, as well as deep learning, you should have at least a vague concept of what it is and, more importantly, exactly how it works. Neural Networks appear to be the next huge thing, although they have been around for a long time now. inspect out [Steven Dufresne’s] article on what has altered over the years, as well as jump into his tutorial on utilizing TensorFlow to try your hand at machine learning.