Kunstige neurale netværk (ANN) i maskinlæring – Data Science Central
On september 24, 2021 by adminKunstige neurale netværk – Introduktion
Kunstige neurale netværk (ANN) eller neurale netværk er beregningsalgoritmer.
Det har til formål at simulere opførslen af biologiske systemer, der består af “neuroner”. ANN’er er beregningsmodeller, der er inspireret af dyrs centrale nervesystemer. Den er i stand til maskinindlæring samt mønstergenkendelse. De præsenteres som systemer af indbyrdes forbundne “neuroner”, der kan beregne værdier ud fra input.
Et neuralt netværk er en orienteret graf. Det består af knuder, som i den biologiske analogi repræsenterer neuroner, der er forbundet ved hjælp af buer. Det svarer til dendritter og synapser. Hver bue forbundet med en vægt, mens der ved hver knude. Anvend de værdier, der modtages som input af knuden, og definér Aktiveringsfunktion langs de indgående buer, justeret af buernes vægte.
Et neuralt netværk er en maskinlæringsalgoritme baseret på modellen af en menneskelig neuron. Den menneskelige hjerne består af millioner af neuroner. Den sender og behandler signaler i form af elektriske og kemiske signaler. Disse neuroner er forbundet med en særlig struktur, der kaldes synapser. Synapserne gør det muligt for neuronerne at sende signaler videre. Ud fra et stort antal simulerede neuroner dannes der neurale netværk.
Et kunstigt neuralt netværk er en teknik til informationsbehandling. Det fungerer på samme måde som den måde, hvorpå den menneskelige hjerne behandler information. ANN omfatter et stort antal forbundne behandlingsenheder, der arbejder sammen om at behandle information. De genererer også meningsfulde resultater ud fra det.
Vi kan anvende neurale netværk ikke kun til klassificering. Det kan også anvendes til regression af kontinuerlige målattributter.
Neurale netværk finder stor anvendelse i data mining, der anvendes i sektorer. For eksempel økonomi, kriminalteknik osv. og til mønstergenkendelse. Det kan også anvendes til dataklassificering i en stor mængde data efter omhyggelig træning.
Et neuralt netværk kan indeholde følgende 3 lag:
- Indgangslag – Aktiviteten af indgangsenhederne repræsenterer den rå information, der kan tilføres netværket.
- Skjult lag – Til at bestemme aktiviteten af hver skjult enhed. Aktiviteten af indgangsenhederne og vægtene på forbindelserne mellem indgangsenhederne og de skjulte enheder. Der kan være et eller flere skjulte lag.
- Udgangslag – Udgangsenhedernes adfærd afhænger af de skjulte enheders aktivitet og vægtene mellem de skjulte enheder og udgangsenhederne.
Kunstige neurale netværkslag
Det kunstige neurale netværk er typisk organiseret i lag. Lagene består af mange indbyrdes forbundne “knuder”, som indeholder en “aktiveringsfunktion”. Et neuralt netværk kan indeholde følgende 3 lag:
a. Indgangslag
Indgangslagets formål er at modtage værdierne af de forklarende attributter for hver observation som input. Normalt er antallet af inputknuder i et inputlag lig med antallet af forklarende variabler. ‘inputlaget’ præsenterer mønstrene for netværket, som kommunikerer til et eller flere ‘skjulte lag’.
Inputlagets knuder er passive, hvilket betyder, at de ikke ændrer dataene. De modtager en enkelt værdi på deres input og duplikerer værdien til deres mange outputs. Fra indgangslaget duplikeres hver værdi og sendes til alle de skjulte knuder.
b. Skjulte lag
De skjulte lag anvender givne transformationer på inputværdierne inde i netværket. I dette er indgående buer, der går fra andre skjulte knuder eller fra inputknuder, forbundet til hver enkelt knude. Det forbinder med udgående buer til udgangsknuder eller til andre skjulte knuder. I det skjulte lag foregår den egentlige behandling via et system af vægtede “forbindelser”. Der kan være et eller flere skjulte lag. De værdier, der kommer ind i en skjult knude, multipliceres med vægte, et sæt forudbestemte tal, der er gemt i programmet. De vægtede indgange lægges derefter sammen for at give et enkelt tal.
c. Udgangslag
De skjulte lag forbindes derefter med et “udgangslag”. Udgangslaget modtager forbindelser fra skjulte lag eller fra indgangslaget. Det returnerer en udgangsværdi, der svarer til forudsigelsen af responsvariablen. I klassifikationsproblemer er der normalt kun én udgangsknude. De aktive knuder i outputlaget kombinerer og ændrer dataene for at frembringe outputværdierne.
Den evne, som det neurale netværk har til at levere nyttig datamanipulation, ligger i det korrekte valg af vægtene. Dette er forskelligt fra konventionel informationsbehandling.
Strukturen af et neuralt netværk
Strukturen af et neuralt netværk kaldes også for dets “arkitektur” eller “topologi”. Den består af antallet af lag, Elementære enheder. Den består også af Interconchangend Vægtjusteringsmekanisme. Valget af strukturen er afgørende for de resultater, der vil blive opnået. Det er den mest kritiske del af implementeringen af et neuralt netværk.
Den enkleste struktur er den, hvor enhederne fordeler sig på to lag: Et indgangslag og et udgangslag. Hver enhed i indgangslaget har et enkelt input og et enkelt output, som er lig med input. Udgangsenheden har alle enhederne i indgangslaget forbundet med dens indgang med en kombinationsfunktion og en overførselsfunktion. Der kan være mere end én udgangsenhed. I dette tilfælde er den resulterende model en lineær eller logistisk regression, afhængigt af, om overførselsfunktionen er lineær eller logistisk. Netværkets vægte er regressionskoefficienter.
Gennem tilføjelse af 1 eller flere skjulte lag mellem input- og outputlagene og enheder i dette lag øges det neurale netværks forudsigelseskraft. Men antallet af skjulte lag bør være så lille som muligt. Dette sikrer, at det neurale netværk ikke lagrer alle oplysninger fra læringssættet, men kan generalisere dem for at undgå overtilpasning.
Overfitting kan forekomme. Det sker, når vægtene får systemet til at lære detaljerne i læringssættet i stedet for at opdage strukturer. Dette sker, når størrelsen af læringssættet er for lille i forhold til modellens kompleksitet.
Det skjulte lag er til stede eller ej, og netværkets outputlag kan undertiden have mange enheder, når der er mange klasser, der skal forudsiges.
For- og ulemper ved neurale netværk
Lad os se få fordele og ulemper ved neurale netværk:
- Nurale netværk klarer sig godt med lineære og ikke-lineære data, men en almindelig kritik af neurale netværk, især inden for robotteknologi, er, at de kræver en stor mangfoldighed af træning for at kunne fungere i den virkelige verden. Dette skyldes, at enhver læringsmaskine har brug for tilstrækkeligt mange repræsentative eksempler for at fange den underliggende struktur, der gør det muligt for den at generalisere til nye tilfælde.
- Neurale netværk fungerer, selv om en eller få enheder ikke reagerer på netværket, men for at implementere store og effektive neurale softwarenetværk skal der afsættes mange behandlings- og lagerressourcer. Mens hjernen har hardware, der er skræddersyet til at behandle signaler gennem en graf af neuroner, kan simulering af selv den mest forenklede form på Von Neumann-teknologi tvinge en designer af neurale netværk til at udfylde millioner af databaselinjer for sine forbindelser – hvilket kan opbruge store mængder computerhukommelse og harddiskplads.
- Neurale netværk lærer af de analyserede data og kræver ikke omprogrammering, men de betegnes som “black box”-modeller og giver meget lidt indsigt i, hvad disse modeller virkelig gør. Brugeren skal blot fodre den med input og se den træne og afvente output.
Slutning
ANN’er betragtes som simple matematiske modeller, der kan forbedre eksisterende dataanalyseteknologier. Selv om den ikke kan sammenlignes med den menneskelige hjernes kraft, er den stadig den grundlæggende byggesten i den kunstige intelligens.
Skriv et svar