Hvad er et neuralt netværk? Introduktion til kunstige neurale netværk



Denne blog om hvad der er et neuralt netværk vil introducere dig til de grundlæggende begreber i neurale netværk og hvordan de kan løse komplekse datadrevne problemer.

Med fremskridt inden for maskinindlæring, har taget en høj vej. Deep Learning anses for at være den mest avancerede teknologi bygget til at løse komplekse problemer, der bruger massive datasæt. Denne blog om hvad der er et neuralt netværk vil introducere dig til de grundlæggende begreber i neurale netværk og hvordan de kan løse komplekse datadrevne problemer.

For at få indgående kendskab til kunstig intelligens og dyb læring kan du tilmelde dig live af Edureka med support døgnet rundt og adgang til hele livet.





Her er en liste over emner, der vil blive dækket af dette Blog:

  1. Hvad er et neuralt netværk?
  2. Hvad er dyb læring?
  3. Forskellen mellem AI, ML og, DL
  4. Behov for dyb læring
  5. Deep Learning brugssag
  6. Hvordan neurale netværk fungerer?
  7. Neurale netværk forklaret med eksempel

Enkel definition af et neuralt netværk

Modelleret i overensstemmelse med den menneskelige hjerne, a Neural Network blev bygget for at efterligne funktionaliteten i en menneskelig hjerne . Den menneskelige hjerne er et neuralt netværk, der består af flere neuroner, ligesom et kunstigt neuralt netværk (ANN) består af flere perceptroner (forklaret senere).



Neuralt netværk - Hvad er et neuralt netværk - Edureka

Et neuralt netværk består af tre vigtige lag:

  • Indgangslag: Som navnet antyder, accepterer dette lag alle de input, der leveres af programmøren.
  • Skjult lag: Mellem input og output lag er et sæt lag kendt som Skjulte lag. I dette lag udføres beregninger, som resulterer i output.
  • Outputlag: Indgangene gennemgår en række transformationer via det skjulte lag, som til sidst resulterer i det output, der leveres via dette lag.

Før vi går i dybden med, hvordan et neuralt netværk fungerer, lad os forstå, hvad Deep Learning er.



Hvad er dyb læring?

Deep Learning er et avanceret felt inden for maskinindlæring, der bruger begreberne neurale netværk til at løse stærkt beregningsmæssige brugssager, der involverer analyse af flerdimensionelle data. Det automatiserer processen med funktionsextraktion og sørger for, at der er behov for meget minimal menneskelig indgriben.

Så hvad er egentlig Deep Learning?

Deep Learning er en avanceret underfelt af maskinlæring, der bruger algoritmer inspireret af hjernens struktur og funktion kaldet kunstige neurale netværk.

Forskellen mellem AI, ML og DL (kunstig intelligens vs maskinindlæring vs dyb læring)

Folk har ofte en tendens til at tænke det , og Dyb læring er de samme, da de har almindelige applikationer. For eksempel er Siri en applikation af AI, Machine learning og Deep learning.

linket liste i c-program

Så hvordan er disse teknologier relateret?

  • Kunstig intelligens er videnskaben om at få maskiner til at efterligne menneskers opførsel.
  • Maskinelæring er en delmængde af kunstig intelligens (AI), der fokuserer på at få maskiner til at træffe beslutninger ved at give dem data.
  • Dyb læring er en delmængde af Machine Learning, der bruger begrebet neurale netværk til at løse komplekse problemer.

For at opsummere AI, er Machine Learning og Deep Learning sammenkoblede felter. Maskinindlæring og dyb læring hjælper kunstig intelligens ved at tilvejebringe et sæt algoritmer og neurale netværk, der skal løses datadrevne problemer.

Nu hvor du er fortrolig med det grundlæggende, så lad os forstå, hvad der førte til behovet for dyb læring.

Behov for dyb læring: Begrænsninger i traditionelle maskinlæringsalgoritmer og -teknikker

Machine Learning var et stort gennembrud i den tekniske verden, det førte til automatisering af monotone og tidskrævende opgaver, det hjalp med at løse komplekse problemer og tage smartere beslutninger. Der var dog et par ulemper ved maskinindlæring, der førte til fremkomsten af ​​Deep Learning.

Her er nogle begrænsninger ved maskinindlæring:

  1. Kan ikke behandle data med høj dimension: Machine Learning kan kun behandle små dimensioner af data, der indeholder et lille sæt variabler. Hvis du vil analysere data, der indeholder 100'ere variabler, kan Machine Learning ikke bruges.
  2. Funktionsteknik er manuel: Overvej en brugssag, hvor du har 100 forudsigelsesvariabler, og du kun skal indsnævre de væsentlige. For at gøre dette skal du manuelt studere forholdet mellem hver af variablerne og finde ud af, hvilke der er vigtige for at forudsige output. Denne opgave er ekstremt kedelig og tidskrævende for en udvikler.
  3. Ikke ideel til udførelse af objektdetektering og billedbehandling: Da objektdetektering kræver højdimensionelle data, kan Machine Learning ikke bruges til at behandle billeddatasæt, det er kun ideelt til datasæt med et begrænset antal funktioner.

Før vi kommer i dybden af Neurale netværk, lad os overveje en brugssag fra den virkelige verden, hvor Deep Learning implementeres.

Deep Learning Use Case / applikationer

Vidste du, at PayPal behandler over 235 milliarder dollars i betalinger fra fire milliarder transaktioner fra sine mere end 170 millioner kunder? Det bruger denne enorme mængde data til at identificere mulige falske aktiviteter blandt andre grunde.

stak og bunke i java

Ved hjælp af Deep Learning-algoritmer udvindede PayPal data fra deres kundes indkøbshistorie ud over at gennemgå mønstre for sandsynlig svig, der er gemt i sine databaser for at forudsige, om en bestemt transaktion er svigagtig eller ej.

Virksomheden har været afhængig af Deep Learning & Machine Learning-teknologi i omkring 10 år. Oprindeligt brugte overvågningsteamet for bedrageri enkle, lineære modeller. Men gennem årene skiftede virksomheden til en mere avanceret maskinindlæringsteknologi kaldet Deep Learning.

Fraud risk manager og Data Scientist hos PayPal, Ke Wang, citeret:

”Hvad vi nyder af mere moderne, avanceret maskinindlæring er dens evne til at forbruge meget mere data, håndtere lag og lag af abstraktion og være i stand til at 'se' ting, som en enklere teknologi ikke ville være i stand til at se, selv mennesker måske ikke være i stand til at se. ”

En simpel lineær model er i stand til at forbruge omkring 20 variabler. Men med Deep Learning-teknologi kan man køre tusindvis af datapunkter. Derfor ved at implementere Deep Learning-teknologi, PayPal kan endelig analysere millioner af transaktioner for at identificere bedrageri aktivitet.

Lad os nu gå i dybden med et neuralt netværk og forstå, hvordan de fungerer.

Hvordan fungerer et neuralt netværk?

For at forstå neurale netværk er vi nødt til at nedbryde det og forstå den mest basale enhed i et neuralt netværk, dvs. en Perceptron.

Hvad er en perceptron?

En Perceptron er et neuralt netværk i et enkelt lag, der bruges til at klassificere lineære data. Den har 4 vigtige komponenter:

  1. Indgange
  2. Vægte og bias
  3. Summation-funktion
  4. Aktivering eller transformation Funktion

Den grundlæggende logik bag en Perceptron er som følger:

Indgangene (x) modtaget fra inputlaget ganges med deres tildelte vægte w. De gangede værdier tilføjes derefter for at danne den vægtede sum. Den vægtede sum af indgangene og deres respektive vægte påføres derefter en relevant aktiveringsfunktion. Aktiveringsfunktionen kortlægger input til det respektive output.

Vægte og bias i dyb læring

Hvorfor skal vi tildele vægte til hver input?

Når en inputvariabel er tilført til netværket, tildeles en tilfældigt valgt værdi som vægten af ​​denne input. Vægten af ​​hvert inputdatapunkt angiver, hvor vigtigt dette input er for at forudsige resultatet.

Bias-parameteren giver dig derimod mulighed for at justere aktiveringens funktionskurve på en sådan måde, at der opnås en præcis output.

Summation-funktion

Når indgangene er tildelt en vis vægt, tages produktet af den respektive input og vægt. Tilføjelse af alle disse produkter giver os den vægtede sum. Dette gøres ved hjælp af summeringsfunktionen.

Aktiveringsfunktion

Hovedformålet med aktiveringsfunktionerne er at kortlægge den vægtede sum til output. Aktiveringsfunktioner såsom tanh, ReLU, sigmoid og så videre er eksempler på transformationsfunktioner.

For at lære mere om Perceptrons funktioner kan du gennemgå dette Blog.

Før vi afslut denne blog, lad os tage et simpelt eksempel for at forstå, hvordan et neuralt netværk fungerer.

java-kode for at oprette forbindelse til mysql

Neurale netværk forklaret med et eksempel

Overvej et scenarie, hvor du skal opbygge et kunstigt neuralt netværk (ANN), der klassificerer billeder i to klasser:

  • Klasse A: Indeholder billeder af ikke-syge blade
  • Klasse B: Indeholder billeder af syge blade

Så hvordan opretter du et neuralt netværk, der klassificerer bladene i syge og ikke-syge afgrøder?

Processen begynder altid med at behandle og transformere input på en sådan måde, at det let kan behandles. I vores tilfælde vil hvert bladbillede blive opdelt i pixels afhængigt af billedets dimension.

For eksempel, hvis billedet er sammensat af 30 x 30 pixels, vil det samlede antal pixels være 900. Disse pixels er repræsenteret som matricer, som derefter føres ind i inputlaget i det neurale netværk.

Ligesom hvordan vores hjerner har neuroner, der hjælper med at opbygge og forbinde tanker, har en ANN perceptroner, der accepterer input og behandler dem ved at videregive dem fra inputlaget til det skjulte og endelig outputlaget.

Når input sendes fra inputlaget til det skjulte lag, tildeles hver input en initial tilfældig vægt. Indgangene ganges derefter med deres tilsvarende vægte, og deres sum sendes som input til det næste skjulte lag.

Her tildeles en perceptron en numerisk værdi kaldet bias, som er knyttet til vægten af ​​hvert input. Yderligere passeres hver perceptron gennem aktivering eller en transformationsfunktion, der bestemmer, om en bestemt perceptron bliver aktiveret eller ej.

En aktiveret perceptron bruges til at overføre data til det næste lag. På denne måde formeres dataene (fremadformering) gennem det neurale netværk, indtil perceptronerne når outputlaget.

Ved outputlaget udledes en sandsynlighed, der bestemmer, om dataene hører til klasse A eller klasse B.

Det lyder simpelt, ikke? Konceptet bag neurale netværk er udelukkende baseret på den menneskelige hjernes funktion. Du har brug for dybtgående viden om forskellige matematiske begreber og algoritmer. Her er en liste over blogs for at komme i gang:

  1. Hvad er dyb læring? Kom godt i gang med dyb læring
  2. Deep Learning with Python: Beginners Guide to Deep Learning

Hvis du fandt denne blog relevant, skal du tjekke af Edureka, et pålideligt online læringsfirma med et netværk på mere end 250.000 tilfredse elever spredt over hele kloden. Edureka Deep Learning with TensorFlow-certificeringskursus hjælper elever med at blive ekspert i træning og optimering af grundlæggende og konvolutionelle neurale netværk ved hjælp af realtidsprojekter og opgaver sammen med begreber som SoftMax-funktion, Auto-encoder Neural Networks, Restricted Boltzmann Machine (RBM).