Mākslīgais neironu tīkls

Mākslīgais neironu tīkls, MNT (, 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. Šādas sistēmas "iemācās" veikt uzdevumus pēc apmācības piemēriem; parasti netiekot programmētas ar uzdevumam specifiskiem noteikumiem.

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

Komponenti

Neironi 
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 
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.

Izplatīšanas funkcija 
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
  , kur  ir nobīde.

Mācīšanās noteikums 
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 

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) 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  kā 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ā . Š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