Mākslīgais neironu tīkls

Vikipēdijas lapa
Jump to navigation Jump to search

Mākslīgais neironu tīkls, MNT (angļu: artificial neural network, ANN) ir datorsistēma, kas veidota, iedvesmojoties no neironu tīkla, kāds ir dzīvnieku smadzenēs. Mākslīgais neironu tīkls pats par sevi nav algoritms, bet gan daudzu dažādu mašīnmācīšanās algoritmu ietvars, kur kopdarbā tiek apstrādāti sarežģīti ievades dati.[1] Šādas sistēmas "iemācās" veikt uzdevumus pēc apmācības piemēriem; parasti netiekot programmētas ar uzdevumam specifiskiem noteikumiem.

Mākslīgais neironu tīkls ir savstarpēji saistītu mezglu grupa, kas līdzinās plašam neironu tīklam smadzenēs. Šeit katrs apļveida mezgls apzīmē mākslīgo neironu, un bulta apzīmē savienojumu no viena mākslīgā neirona izejas uz cita ieeju

Piemēram, attēlu atpazīšanā MNT var iemācīties identificēt attēlus, kas satur kaķus, analizējot piemēra attēlus, kas manuāli apzīmēti kā "ir kaķis" vai "nav kaķa", un, izmantojot apmācības rezultātus, spētu identificēt kaķus citos attēlos ar augstu varbūtību. Mākslīgie neironu tīkli to dara bez jebkādām iepriekšējām zināšanām par kaķiem, piemēram, par to, ka tiem ir kažoks, aste, ūsas un kaķiem līdzīgas sejas. Tā vietā tie automātiski ģenerē identificējošās pazīmes no mācību materiāla, ko tie apstrādā.

Mākslīgo neironu tīklu pamatā ir savienotu vienību jeb mezglu, sauktu par mākslīgajiem neironiem, kopums, kas vienkāršoti modelē neironus bioloģiskajās smadzenēs. Katrs savienojums, līdzīgi kā dzīvnieku smadzeņu sinapses, var pārraidīt signālu no viena neirona uz citu. Mākslīgais neirons, kas saņem signālu, var to apstrādāt un pēc tam nodot signālu papildu mākslīgajiem neironiem, kas tam pievienoti.

MNT vispārējās realizācijās signāls savienojumā starp mākslīgajiem neironiem ir reāls skaitlis, un katra mākslīgā neirona izvade tiek aprēķināta pēc kādas nelineāras funkcijas no tā ievades summas. Savienojumus starp mākslīgajiem neironiem sauc par "šķautnēm" (edges). Mākslīgajiem neironiem un šķautnēm parasti ir svars, kas piemērojas, mācoties. Svars palielina vai samazina signāla stiprumu savienojumā. Mākslīgajiem neironiem var būt tāds slieksnis, ka signāls tiek nosūtīts tikai tad, ja kopsummas signāls šķērso šo slieksni. Parasti mākslīgie neironi tiek sakopoti slāņos. Dažādi slāņi var veikt dažāda veida transformācijas ar to ievadēm. Signāli pārvietojas no pirmā slāņa (ievades slāņa) uz pēdējo slāni (izvades slāni), iespējams, pēc tam caur slāņiem var pārvietoties vairākas reizes.

Mākslīgo neironu tīklu pieejas sākotnējais mērķis bija atrisināt problēmas tādā pašā veidā, kā to darītu cilvēka smadzenes. Laika gaitā tomēr uzmanība tika pievērsta konkrētu uzdevumu veikšanai, novirzoties no bioloģijas. Mākslīgie nervu tīkli tiek izmantoti dažādos uzdevumos, tostarp datorredze, runas atpazīšana, mašīntulkošana, sociālo tīklu filtrēšana, galda un datorspēļu spēlēšana un medicīniskā diagnostika.

Modeļi[labot šo sadaļu | labot pirmkodu]

Komponenti[labot šo sadaļu | labot pirmkodu]

Neironi[labot šo sadaļu | labot pirmkodu]

Neirons ar apzīmējumu , kas saņem ievadi no priekšgājēju neironiem, sastāv no šādiem komponentiem:

  • aktivizācija , neirona stāvoklis, atkarībā no diskrēta laika parametra,
  • iespējams, slieksnis , kas paliek nemainīgs, ja vien to nemaina mācīšanas funkcija,
  • aktivizācijas funkcija , kas aprēķina jauno aktivizāciju dotajā laikā no , un tīkla ievade , kas rada attiecību
,
  • izvades funkcija , aprēķina izvadi no aktivizācijas
.

Bieži izvades funkcija ir tikai identiskā funkcija.

Ievades neironam nav priekšteča, bet tas kalpo kā visa tīkla ievades saskarne. Līdzīgi izvades neironam nav pēcteča un tādējādi kalpo kā visa tīkla izvades saskarne.

Savienojumi, svari un nobīdes[labot šo sadaļu | labot pirmkodu]

Tīkls sastāv no savienojumiem, katrs savienojums pārvieto neirona izvadi uz neirona ievadi. Šajā nozīmē ir priekštecis, un ir pēctecis. Katram savienojumam tiek piešķirts svars . Dažreiz ievades vērtību kopējai svērtajai summai tiek pievienota nobīde, kas kalpo par slieksni, lai mainītu aktivizācijas funkciju.[2]

Izplatīšanas funkcija[labot šo sadaļu | labot pirmkodu]

Izplatīšanas funkcija izskaitļo ievadi neironam no priekšteču neironu izvades un parasti ir formā

.

Ja funkcijai tiek pievienota nobīdes vērtība, iepriekšminētā forma mainās uz šādu[3]

, kur ir nobīde.

Mācīšanās noteikums[labot šo sadaļu | labot pirmkodu]

Mācīšanās noteikums ir noteikums vai algoritms, kas maina neironu tīkla parametrus, lai dotā ievade tīklā radītu vēlamo izvadi. Šī mācīšanā apstrādā parasti vērtības, lai mainītu tīkla mainīgo lielumu svarus un sliekšņus.

Neironu tīkli kā funkcijas[labot šo sadaļu | labot pirmkodu]

MNT atkarības grafs
Rekurentā MNT atkarības grafa divi atsevišķi attēlojumi

Neironu tīkla modeļus var skatīt kā vienkāršus matemātiskus modeļus, kas definē funkciju vai sadalījumu virs vai gan gan . Dažkārt modeļi ir cieši saistīti ar daļējiem mācīšanās noteikumiem. Bieži lietojama frāze "MNT modelis" patiesībā ir šādu funkciju klases definīcija (kur klases elementi tiek iegūti ar dažādiem parametriem, savienojuma svariem vai arhitektūras specifikām, piemēram, neironu skaitu vai to savienojamību).

Matemātiski neironu tīkla funkcija ir definēta kā citu funkciju kompozīcija , ko tālāk var sadalīt citās funkcijās. To var ērti attēlot kā tīkla struktūru ar bultiņām, kas attēlo atkarību starp funkcijām. Plaši lietotais kompozīcijas tips ir nelineāri svērta summa, kur , kur (parasti attiecināts kā aktivācijas funkcija[4]) ir kāda iepriekšdefinēta funkcoija, piemēram, Hiperboliskais tangenss, signoīda funkcija, softmax funkcija vai taisngrieža funkcija. Aktivācijas funkcijas svarīga iezīme ir tā, ka, mainoties ievades vērtībām, tā nodrošina vienmērīgu pāreju, t.i., nelielas izmaiņas ievadē rada nelielas izmaiņas izvadē. Šī funkcija attiecas uz funkciju kolekciju vektoru .

Zīmējumā pa labi ir attēlota šāda dekompozīcija ar atkarībām starp mainīgajiem, kas apzīmēti ar bultiņām. Tos var interpretēt divējādi.

Pirmais skats ir funkcionālais skats: ievade ir pārveidota par trīsdimensiju vektoru , kas pēc tam tiek pārveidots par divdimensiju vektoru , kas visbeidzot pārveidots par . Šis skats visbiežāk sastopams optimizācijas kontekstā.

Otrais skats ir varbūtiskais skats: gadījuma mainīgais ir atkarīgs no gadījuma mainīgā , kas ir atkarīgs no , kas ir atkarīgs no gadījuma mainīgā math>\textstyle X</math>. Šis skats visbiežāk sastopams grafu modeļa kontekstā.

Abi skati lielākoties ir līdzvērtīgi. Jebkurā gadījumā šai konkrētajai arhitektūrai atsevišķu slāņu komponenti ir neatkarīgi viens no otra (piemēram, komponenti ir neatkarīgi viens no otra, ņemot vērā to ievades ). Sistēmas realizācijā tas dabiskā veidā dod iespēju īstenot paralēlismu.

Tādus tīklus kā iepriekšējais parasti sauc par apsteidzošajiem, jo to grafs ir virzīts aciklisks grafs. Tīklus ar cikliem parasti sauc par rekurentajiem. Šādi tīkli parasti tiek attēloti tā, kā parādīts attēla augšpusē, kur tiek parādīts kā atkarīgs pats no sevis. Tomēr netieša īslaicīga atkarība netiek parādīta.

Atsauces[labot šo sadaļu | labot pirmkodu]

  1. «Build with AI | DeepAI». DeepAI. Skatīts: 2018-10-06.
  2. Abbod, Maysam F (2007). "Application of Artificial Intelligence to the Management of Urological Cancer". The Journal of Urology 178 (4): 1150–1156. doi:10.1016/j.juro.2007.05.122. PMID 17698099.
  3. DAWSON, CHRISTIAN W (1998). "An artificial neural network approach to rainfall-runoff modelling". Hydrological Sciences Journal 43 (1): 47–66. doi:10.1080/02626669809492102.
  4. «The Machine Learning Dictionary».