Viena no mākslīgā intelekta centrālajām tehnoloģijām ir neironu tīkli.
Kādā intervijā Deitonas universitātes datorzinātņu profesors Tam Nguyen izskaidro, kā darbojas neironu tīkli – programmas, kurās virkne algoritmu mēģina simulēt cilvēka smadzenes.
Neironu tīklu piemēri, kas pazīstami lielākajai daļai cilvēku
Ir daudz neironu tīklu lietojumu. Viens izplatīts piemērs ir viedtālruņa kameras spēja atpazīt sejas.
Pašbraucošās jeb autopilota automašīnas ir aprīkotas ar vairākām kamerām, kas mēģina atpazīt citus transportlīdzekļus, ceļa zīmes un gājējus, izmantojot neironu tīklus, un attiecīgi veic pagriezienu vai pielāgo ātrumu.
Neironu tīkli atrodas arī aiz dažādiem teksta ieteikumiem, kurus redzat, rakstot ziņojumus vai e-pastus, un pat tiešsaistē pieejamajos tulkošanas rīkos.
Vai neironu tīklam ir nepieciešamas iepriekšējas zināšanas par kaut ko, lai tas varētu to klasificēt vai atpazīt?
Jā, tāpēc neironu tīklu apmācībā ir jāizmanto lielie dati (angļu: Big Data). Tie strādā, jo ir apmācīti par milzīgu datu daudzumu, lai pēc tam atpazītu, klasificētu un paredzētu dažādas lietas.
Piemēram, autopilota automašīnām būtu jāaplūko miljoniem attēlu un video par visām lietām, kuras var atrasties uz ielas un tai ir jāpaskaidro, kas katra no šīm lietām ir.
Noklikšķinot uz gājēju pāreju attēliem, lai pārlādējot internetu, pierādītu, ka neesat robots, to arī var izmantot, lai palīdzētu apmācīt neironu tīklu.
Tikai redzot miljoniem gājēju pāreju no visiem iespējamajiem leņķiem un apgaismojuma apstākļiem, autopilots var tās atpazīt, pārvietojoties reālajā dzīvē.
Sarežģītāki neironu tīkli faktiski spēj mācīt paši sevi. Zemāk ievietotajā videoklipā tīklam tiek dots uzdevums nokļūt no punkta A uz punktu B, un var redzēt, ka tas mēģina to paveikt visdažādākajos veidos, līdz tiek atrasts tāds veids, kas darbību paveic vislabāk.
Daži neironu tīkli var sadarboties savā starpā, lai radītu kaut ko jaunu. Šajā piemērā apskatījām programmu, kurā tīkli izveido virtuālas sejas, kas nepieder reāliem cilvēkiem.
Viens tīkls mēģina izveidot seju, bet otrs mēģina spriest, vai tā ir īsta vai viltota. Jaunas sejas tiek nepārtraukti ģenerētas tik ilgi, līdz otrs nevar pateikt, ka radītā seja ir viltota.
Cilvēki izmanto arī lielo datu priekšrocības. Persona var uztvert aptuveni 30 kadrus sekundē, kas nozīmē 1800 attēlus minūtē un vairāk nekā 600 miljonus attēlu gadā.
Tāpēc mums vajadzētu dot neironu tīkliem līdzīgu iespēju iegūt lielos datus savai apmācībai.
Kā darbojas pamata neironu tīkli?
Neironu tīkls ir mākslīgo neironu tīkls, kas ieprogrammēts programmatūrā. Tas mēģina simulēt cilvēka smadzenes, tāpēc tajā ir daudz “neironu” slāņu tāpat kā mūsu smadzenēs.
Pirmais neironu slānis saņems ievadi, piemēram, attēlus, video, skaņu, tekstu utt. Šie ievades dati iet cauri visiem pārējiem slāņiem, jo viena slāņa izeja tiek ievadīta nākamajā slānī.
Par piemēru ņemsim neironu tīklu, kas ir apmācīts atpazīt suņus un kaķus. Pirmais neironu slānis sadalīs šo attēlu gaišās un tumšās zonās.
Šie dati tiks ievadīti nākamajā slānī, lai atpazītu kontūras. Pēc tam nākamais slānis mēģinātu atpazīt formas, ko veido malu kombinācija.
Dati pēc tam izietu cauri vairākiem līdzīgiem slāņiem, lai beigu beigās atpazītu, vai attēls, kuru jūs parādījāt, ir suns vai kaķis. Un tas viss būtu atkarīgs no datiem, ar kuriem neironu tīkls ir apmācīts.
Šie tīkli var būt neticami sarežģīti un sastāvēt no miljoniem parametru, lai klasificētu un atpazītu saņemto ievadi.
Kāpēc mēs aizvien biežāk sastopamies ar dažādiem jauniem neironu tīklu pielietojumiem?
Patiesībā neironu tīkli tika izgudroti jau sen, 1943. gadā, kad Vorens Makkaloks (Warren McCulloch) un Valters Pits (Walter Pitts) izveidoja neironu tīklu skaitļošanas modeli, kura pamatā bija algoritmi.
Tad šī ideja pārdzīvoja ilgu “ziemas guļu”, jo neironu tīklu izveidei nepieciešamie milzīgie skaitļošanas resursi vēl neeksistēja.
Pēdējā laikā šī ideja ir uzņēmusi vērienīgus apgriezienus, pateicoties uzlabotiem skaitļošanas resursiem, piemēram, grafiskajām apstrādes vienībām (GPU).
Tās ir mikroshēmas, kuras tiek izmantotas grafikas apstrādei videospēlēs, taču izrādās, ka tās ir lieliski piemērotas, lai saspiestu arī datus, kas nepieciešami neironu tīklu darbināšanai. Tāpēc mēs tagad piedzīvojam strauju neironu tīklu attīstīšanos.