ebooksgratis.com

See also ebooksgratis.com: no banners, no cookies, totally FREE.

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
Neuraal netwerk - Wikipedia

Neuraal netwerk

Uit Wikipedia, de vrije encyclopedie

Een neuraal netwerk , vroeger neuronaal netwerk genoemd, is een groep van verbonden neuronen (zenuwcellen). De twee belangrijkste vormen zijn biologische neurale netwerken, in het bijzonder het menselijk brein, en kunstmatige neurale netwerken. Dit artikel gaat in meer algemene zin in op de relatie tussen beide begrippen.

Inhoud

[bewerk] Biologische en kunstmatige neurale netwerken

Biologische neurale netwerken zijn opgebouwd uit werkelijk bestaande zenuwcellen die in het zenuwstelsel en hersenen met elkaar zijn verbonden door middel van synapsen. In de neurowetenschap kunnen deze netwerken corresponderen met kleine groepjes neuronen met een specifieke functie, of grotere gebieden in de hersenen met een meer algemene functie. Kunstmatige neurale netwerken zijn opgebouwd uit kunstmatige eenheden of 'neuronen' die door middel van een computerprogramma de eigenschappen van echte biologische neuronen nabootsen. Kunstmatige neurale netwerken kunnen voor twee doeleinden worden toegepast: om meer inzicht te krijgen in biologische neurale netwerken, of om problemen op het terein van kunstmatige intelligentie op te lossen. In het tweede geval is het dus niet per se de bedoeling een echt biologisch systeem te beschrijven.

[bewerk] Achtergrond

Neurale netwerken zijn ontworpen naar analogie van het biologische brein, m.a.w. het zijn zeer uitgebreide en onderling verbonden netwerken van neuronen. Kunstmatige neurale netwerken zijn toe te passen in computersystemen. Een kunstmatig neuraal netwerk bestaat uit verscheidene (eventueel door software gesimuleerde) meestal zeer eenvoudige processoren (neuronen) met een hoge mate van onderlinge connectie waarover simpele scalaire berichten verzonden worden. De interactie tussen de diverse onderling verbonden processoren waaruit het netwerk bestaat is bovendien adaptief, zodat verbindingen tussen andere processoren in het neurale netwerk kunnen ontstaan, kunnen worden versterkt, verzwakt of weer verbroken kunnen worden. Dit betekent dat een neuraal netwerk te 'trainen' is.

[bewerk] Vergelijking met het neuron

Een enkelvoudige processor uit het kunstmatige neurale netwerk valt te vergelijken met zijn biologische tegenhanger, het neuron. Een dergelijk neuron in het lichaam kan wel tienduizenden verschillende verbindingen met andere neuronen hebben, en de neuronen kunnen signalen genereren, afhankelijk van de ontvangen signalen, naar andere neuronen. Deze signalen bestaan uit de aanwezigheid of afwezigheid van een elektrische potentiaal en zijn van een korte duur (in de orde van 1 milliseconde). De manier waarop dit in een biologisch neuron gebeurt is zeer overzichtelijk: als de totale stimulatie van het neuron (de som van activerende en remmende impulsen die het via synapsen ontvangt van andere neuronen) een bepaalde drempelwaarde overschrijdt, 'vuurt' het neuron, dwz het ondergaat een depolarisatiegebeurtenis (zie hiervoor ook neuron). Deze depolarisatie vindt dan via de uitgaande verbindingen van het neuron zijn weg naar alle andere neuronen waarmee het neuron via zijn eigen uitgaande uitlopers weer verbonden is. Verbindingen tussen neuronen zijn, door de structuur van de synaps, eenrichtingverkeer: een uitloper kan een andere zenuwcel stimuleren (of remmen) maar niet zelf worden gestimuleerd of geremd door het vuren van het neuron dat het heeft beïnvloed, hoewel het vurende neuron wel zelf weer uitlopers kan hebben die een invloed hebben op de cel waardoor het tot vuren werd aangezet. Doorgaans worden neurale netwerken softwarematig gesimuleerd, waarmee deze op de gewone computer ontwikkeld en getest kunnen worden. Werkt een bepaalde architectuur van een neuraal netwerk goed dan kan een geweldige versnelling van de berekeningen worden bereikt door deze in hardware uit te voeren.

[bewerk] Onderdelen van een neuraal netwerk

Een neuraal netwerk met drie lagen
Een neuraal netwerk met drie lagen

Een neuraal netwerk kan bestaan uit een arbitrair aantal gesimuleerde neuronen (om van een netwerk te kunnen spreken is er natuurlijk wel altijd meer dan een neuron nodig). Deze neuronen kunnen in principe op alle denkbare manieren met elkaar worden verbonden, ieder neuron kan desnoods een connectie hebben met alle andere. Niettemin zijn er in de praktijk verschillende organisatievormen die voor bepaalde toepassingen beter blijken te voldoen dan andere. Een typisch neuraal netwerk bestaat uit drie lagen neuronen, een ingangslaag, een tussenlaag en een uitgangslaag. Het aantal ingangsneuronen is gelijk aan het aantal ingangsvariabelen, het aantal uitgangsneuronen wordt bepaald door het aantal gewenste uitgangsposities. Voorbeeld is patroonherkenning voor de letters van het alfabet, de ingangslaag zal hier bijvoorbeeld 256 neuronen hebben (voor 16 x 16 pixels), het aantal uitgangsneuronen zal 26 zijn, of 36 als ook cijfers herkend moeten worden. Het aantal neuronen in de tussenlaag ligt hier ergens tussenin en wordt door experimenteren bepaald. Het is ook mogelijk meer dan 1 tussenlaag te maken maar de organisatie in lagen is meestal vrij succesvol.

[bewerk] Functioneren

Ieder neuron uit een bepaalde laag heeft verbinding met alle neuronen uit de laag ervoor. Iedere verbinding heeft een bepaalde overdrachtsfunctie, de som van alle ingangswaarden maal hun overdrachtsfunctie bepaalt de waarde van het neuron zelf. De overdrachtsfunctie geeft het 'gewicht' van de connectie aan, hoe sterk het signaal via die connectie aankomt bij het doelneuron, en kan positief (stimulerend) of negatief (remmend) zijn. Netwerken kunnen verschillende functies hebben. Zij kunnen gebruikt worden om informatie (bijvoorbeeld kennis) op te slaan, of om de opgeslagen informatie te transformeren of te veranderen. In het eerst geval spreekt men wel van een representatie, en in het tweede geval van een computatie. In netwerken opgeslagen informatie of kennis kan ook worden aangeleerd. Het 'trainen' van het netwerk gebeurt door het aanbieden van ingangswaarden met hun bijbehorende gewenste uitgangswaarden, en dan steeds door terugrekenen de overdrachtsfuncties bij te stellen. Meestal worden de overdrachtsfuncties geleidelijk bijgesteld, en bestaat een 'trainingssessie' uit vele (duizenden) iteraties. In het bovenstaand voorbeeld zal per letter een paar honderd voorbeelden aangeboden worden, of zoveel als nodig is. Een tweede stap in het leerproces is het aanbieden van nieuwe patronen en het controleren van het resultaat dat dat oplevert. Op die manier kan bepaald worden in hoeverre het netwerk 'volleerd' is, en hoe betrouwbaar de resultaten zijn. Uiteindelijk is voor ieder paar neuronen (A,B) in het netwerk een overdrachtsfunctie gedefinieerd, in het eenvoudigste geval een simpele coëfficiënt, die aangeeft hoe het vuren van A invloed heeft op B. Coëfficiënten worden vaak genormeerd (dat wil zeggen dat gezorgd wordt dat ze in het hele netwerk ergens tussen -1 en 1 liggen.) Het is mogelijk een neuraal netwerk te 'óvertrainen', waarbij het op de bekende trainingsinput zeer goed reageert maar niet meer in staat is nieuwe inputs correct te categoriseren. Voor een goede werking van een netwerk dat blijvend lerend geconfigureerd is het soms nodig het net een poosje in vrijloop te zetten om dit effect tegen te gaan - de analogie met het 'dromen' van het menselijke brein heeft zich aan vele onderzoekers opgedrongen.

Echte (biologische) neuronen zijn verbonden in een 3-dimensionaal patroon. Een reëel brein zal echter een orde van grootte complexer zijn dan om het even welk kunstmatig neuraal netwerk tot op heden.

[bewerk] Soorten neurale netwerken


[bewerk] Toepassingen

[bewerk] Handschriftherkenning

PDA's en tablet-pc's waarbij informatie middels handschriftherkenning ingevoerd kan worden.

Neurale netwerken blinken uit in het interpreteren van niet-eenduidige informatie, zoals een handschrift. Een handschrift zal in ieder geval overeenkomsten vertonen, maar er zullen altijd subtiele afwijkingen optreden. De manier waarop een kunstmatig neuraal netwerk werkt, is uitermate geschikt voor dit soort taken. Vanwege deze eigenschappen worden kunstmatige neurale netwerken ook toegepast bij spraakherkenning.

[bewerk] Virtuele sensoren

In de procesindustrie zijn er eigenschappen van het te maken product die niet 'real-time' tijdens de productie gemeten kunnen worden. De hardheid of melt-index van een plastic kan bijvoorbeeld alleen achteraf in een laboratorium worden bepaald, maar dan is het te laat om het proces nog bij te regelen, en zal het gemaakte plastic niet verkocht kunnen worden. Om nu vooraf toch een idee te krijgen van deze parameters kan een neuraal netwerk gebruikt worden dat als ingangen alle parameters heeft die wel gemeten kunnen worden, zoals drukken, temperaturen en hoeveelheden van de in de reactie gebruikte stoffen. Dit netwerk wordt getraind met gegevens uit de archieven van het laboratorium en kan, als het goed werkt, tijdens de productie al een voorspelling van de gewenste eigenschappen doen.

[bewerk] Muis en trackball

Een andere vorm van invoerapparaten waarbij deze techniek aangewend wordt zijn de trackball en de muis. Hierbij wordt door middel van optische herkenning een beeld opgebouwd van respectievelijk het tafeloppervlak, of het oppervlak van de trackball, waarna door middel van berekeningen door een kunstmatig neuraal netwerk van de positie van de waargenomen vlekken en oneffenheden in de tijd de beweging van de muis c.q. trackball geïnterpoleerd kan worden.

[bewerk] Kunstmatige intelligentie

Een ander toepassingsgebied van neurale netwerken is in de kunstmatige intelligentie, hierbij worden deze netwerken softwarematig geëmuleerd. Er zijn bijvoorbeeld beslissingsmodellen voor de interpretatie van schommelingen in beurskoersen, op basis waarvan voorspellingen kunnen worden gedaan van toekomstige beurskoersen. Een probleem bij de toepassing van neurale netwerken in de praktijk is het feit dat het werkt via het Black Box-principe; een neuraal netwerk is niet in staat een uitleg te geven van de reden voor de gegeven uitvoer. De 'kennis' van het getrainde netwerk bestaat uit de exacte configuratie van een groot aantal coëfficiënten waaraan verder niet zoveel waar te nemen is.


aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -