Przejdź do treści
Strona główna " IT ir technologijos " Neuronų tinklų technologia

Neuronų tinklų technologia

Kas tie neuronų tinklai ir kodėl visi apie juos kalba

Jei pastaruoju metu sekate technologijų naujienas, tikriausiai pastebėjote, kad dirbtinio intelekto tema tiesiog sprogsta. ChatGPT rašo esė, DALL-E kuria paveikslus, o automobiliai vis labiau artėja prie savarankiško vairavimo. Visa tai veikia dėl technologijos, vadinamos neuronų tinklais. Bet kas tai per dalykas ir kaip jis iš tikrųjų veikia?

Neuronų tinklai – tai kompiuterinės sistemos, kurios bando imituoti žmogaus smegenų veikimą. Na, bent jau labai supaprastintą jų versiją. Mūsų galvose yra maždaug 86 milijardai neuronų, kurie nuolat keičiasi signalais ir taip leidžia mums mąstyti, mokytis, atpažinti veidus ar net skaityti šį tekstą. Dirbtiniai neuronų tinklai veikia panašiai – jie susideda iš dirbtinių neuronų (mazgų), kurie perduoda informaciją vienas kitam ir palaipsniui “mokosi” atlikti sudėtingas užduotis.

Skirtumas nuo įprastų kompiuterinių programų yra esminis. Tradicinėje programavime žmogus nurodo kompiuteriui tikslias instrukcijas: “jei vartotojas paspaudžia šį mygtuką, daryk tai”. Neuronų tinkluose mes nesakome kompiuteriui, kaip atlikti užduotį – mes jam parodome tūkstančius ar milijonus pavyzdžių, ir jis pats išmoksta atpažinti šablonus bei dėsningumus.

Kaip visa tai prasidėjo

Idėja kurti mašinas, kurios galėtų mokytis kaip žmonės, nėra nauja. Dar 1943 metais mokslininkas Warren McCulloch ir matematikos Walter Pitts sukūrė pirmąjį matematinį neuronų modelį. Tai buvo teorinis darbas, kuris parodė, kad dirbtiniai neuronai gali atlikti loginius skaičiavimus.

Tikrasis proveržis įvyko 1958 metais, kai Frankas Rosenblatt sukūrė “Perceptron” – pirmąjį veikiantį neuronų tinklą. Tai buvo paprasta sistema, kuri galėjo atpažinti paprastas geometrines formas. Rosenblatt buvo toks entuziastingas dėl savo išradimo, kad spaudai pareiškė, jog netrukus mašinos galės “vaikščioti, kalbėti, matyti, rašyti, reprodukuotis ir suvokti savo egzistavimą”. Na, jis šiek tiek perskubėjo su prognozėmis.

Po pradinės euforijos sekė nusivylimas. Paaiškėjo, kad paprasti neuronų tinklai gali išspręsti tik labai ribotą problemų ratą. Prasidėjo tai, kas vėliau buvo pavadinta “dirbtinio intelekto žiema” – laikotarpis, kai finansavimas sumažėjo, o daugelis mokslininkų perėjo prie kitų sričių.

Situacija pradėjo keistis 1980-aisiais, kai buvo ištobulintas “atgalinio sklidimo” (backpropagation) algoritmas. Tai metodas, leidžiantis treniruoti sudėtingesnius, daugiasluoksnius neuronų tinklus. Bet tikroji revoliucija prasidėjo tik XXI amžiuje, kai atsirado pakankamai galingi kompiuteriai ir didžiuliai duomenų kiekiai, reikalingi šiems tinklams treniruoti.

Kaip neuronų tinklas iš tikrųjų veikia

Įsivaizduokite, kad norite sukurti programą, kuri atpažintų nuotraukose kates. Tradicinis programavimas čia nepadės – kaip aprašyti katę kompiuteriui? Turi keturias kojas? Bet taip pat ir šunys. Turi ūsus? Ne visos katės nuotraukose jie matosi. Turi smailias ausis? Vėlgi, ne visada.

Neuronų tinklas šią problemą sprendžia kitaip. Jūs jam parodote dešimtis tūkstančių nuotraukų su katėmis ir dešimtis tūkstančių be jų. Tinklas susideda iš kelių sluoksnių:

Įvesties sluoksnis – čia patenka pradiniai duomenys, pavyzdžiui, nuotraukos pikseliai. Kiekvienas pikselis tampa atskirų skaičių rinkiniu, aprašančiu spalvą ir intensyvumą.

Paslėpti sluoksniai – čia vyksta visa magija. Šie sluoksniai susideda iš dirbtinių neuronų, kurie analizuoja duomenis. Pirmieji sluoksniai gali atpažinti paprastas formas – linijas, kampus. Gilesni sluoksniai pradeda atpažinti sudėtingesnius šablonus – akis, ausis, uodegą. Dar gilesni sluoksniai sujungia visa tai į holistinį “katės” supratimą.

Išvesties sluoksnis – čia gaunamas galutinis atsakymas: “taip, tai katė” arba “ne, tai ne katė”.

Kiekvienas dirbtinis neuronas gauna informaciją iš ankstesnio sluoksnio neuronų, atlieka su ja matematinius veiksmus ir perduoda rezultatą toliau. Kiekvienas ryšys tarp neuronų turi “svorį” – skaičių, kuris parodo, kiek svarbi ta konkreti informacija. Mokymosi metu šie svoriai nuolat koreguojami.

Mokymosi procesas arba kaip mašina supranta savo klaidas

Įsivaizduokite, kad mokote vaiką atpažinti vaisius. Parodote obuolį ir sakote “tai obuolys”. Vaikas įsimena. Paskui parodote pomidorą, ir vaikas sako “obuolys!” – nes jis raudonas ir apvalus. Jūs paaiškinate, kad ne, tai pomidoras. Vaikas koreguoja savo supratimą.

Neuronų tinklai mokosi panašiai, tik daug greičiau ir su milijonais pavyzdžių. Procesas vyksta taip:

Pirmiausia tinklas gauna pradinius, atsitiktinius svorius. Jis nieko nemoka ir spėlioja atsitiktinai. Parodote jam katės nuotrauką, o jis atsako “tai šuo” arba “tai automobilis” – visiškai neteisingai.

Tada įvyksta svarbiausias dalykas – tinklas apskaičiuoja, kokia didelė buvo jo klaida. Jei jis turėjo atsakyti “katė” su 100% tikimybe, o atsakė tik su 5%, klaida yra milžiniška. Šis klaidų skaičiavimas vyksta naudojant specialias matematines funkcijas, vadinamas nuostolių funkcijomis.

Po to prasideda “atgalinis sklidimas”. Tinklas tarsi eina atgal per visus savo sluoksnius ir klausia: “kurie svoriai labiausiai prisidėjo prie šios klaidos?” Ir tada jis šiek tiek pakoreguoja tuos svorius – sumažina vienus, padidina kitus.

Šis procesas kartojamas milijonus kartų su skirtingais pavyzdžiais. Palaipsniui klaidos mažėja, o tinklas tampa vis tikslesnis. Tai tarsi skulptoriaus darbas – iš chaotiško akmenų gabalo palaipsniui išryškėja forma.

Kodėl dabar viskas taip greitai vystosi

Jei neuronų tinklų teorija egzistuoja jau dešimtmečius, kodėl tik dabar matome tokį sprogimą? Atsakymas glūdi trijose pagrindinėse priežastyse.

Skaičiavimo galia – šiuolaikiniai grafiniai procesoriai (GPU), iš pradžių sukurti kompiuteriniams žaidimams, pasirodė idealiai tinkantys neuronų tinklų mokymui. Jie gali atlikti tūkstančius paprastų matematinių operacijų vienu metu, o būtent to ir reikia neuronų tinklams. Tai, kas anksčiau užtrukdavo mėnesius, dabar užtrunka valandas.

Duomenys – internetas sukaupė neįsivaizduojamą kiekį informacijos. Milijardai nuotraukų, tekstų, vaizdo įrašų. Neuronų tinklai yra “duomenų alkani” – kuo daugiau pavyzdžių jiems parodai, tuo geriau jie mokosi. Anksčiau tokių duomenų kiekių tiesiog nebuvo.

Algoritmai – mokslininkai nuolat tobulina neuronų tinklų architektūras. Atsirado konvoliuciniai neuronų tinklai, puikiai tinkantys vaizdų analizei. Rekurentiniai neuronų tinklai, galintys dirbti su sekomis (pvz., tekstu ar garsu). Transformeriai, kurie šiuo metu yra už didžiųjų kalbos modelių kaip GPT.

Kur visa tai naudojama realiame gyvenime

Neuronų tinklai jau dabar yra visur, net jei to nepastebite. Kai naudojate telefono kamerą ir ji automatiškai sufokusuoja į veidą – tai neuronų tinklai. Kai Netflix rekomenduoja, ką žiūrėti – tai neuronų tinklai. Kai bankas aptinka įtartiną operaciją jūsų sąskaitoje – vėlgi neuronų tinklai.

Medicinos srityje neuronų tinklai analizuoja rentgeno nuotraukas ir kartais randa vėžį ankstyvose stadijose geriau nei patyrę radiologai. Jie gali prognozuoti baltymų struktūras, kas yra milžiniškas proveržis vaistų kūrime. Yra sistemų, kurios iš retinos nuotraukos gali nustatyti ne tik akių ligas, bet ir širdies bei kraujagyslių problemų riziką.

Automobilių pramonėje Tesla ir kiti gamintojai naudoja neuronų tinklus autonominiam vairavimui. Automobilis turi “matyti” kelio ženklus, pėsčiuosius, kitus automobilius ir priimti sprendimus milisekundėmis. Tai neįtikėtinai sudėtinga užduotis, kurią sprendžia kelios dešimtys skirtingų neuronų tinklų, veikiančių kartu.

Kalbos technologijose neuronų tinklai leidžia mums kalbėtis su Siri ar Google Assistant, versti tekstus beveik realiu laiku, generuoti natūraliai skambančią kalbą. Didieji kalbos modeliai kaip GPT-4 gali rašyti esė, programuoti, analizuoti sudėtingus tekstus.

Kūrybinėse srityse neuronų tinklai kuria meną, muziką, dizainą. DALL-E ar Midjourney gali sugeneruoti bet kokį vaizdą pagal tekstinį aprašymą. Yra sistemų, kurios kuria muzikos kūrinius, rašo scenarijus, net sukuria virtualius aktorius.

Problemos ir apribojimai

Nors neuronų tinklai atrodo kaip stebuklinga technologija, jie turi rimtų apribojimų ir problemų, apie kurias svarbu žinoti.

“Juodosios dėžės” problema – neuronų tinklai dažnai negali paaiškinti, kodėl priėmė tam tikrą sprendimą. Jei sistema atmeta jūsų paskolos paraišką ar nustato, kad medicininėje nuotraukoje yra vėžys, ji negali pasakyti “dėl šių konkrečių priežasčių”. Ji tiesiog “žino” pagal milijonus pavyzdžių, kuriuos matė mokymosi metu. Tai kelia problemų, ypač reguliuojamose srityse kaip medicina ar finansai.

Šališkumas – neuronų tinklai mokosi iš duomenų, kuriuos mes jiems pateikiame. Jei tie duomenys atspindi visuomenės šališkumą, tinklas jį perims ir net sustiprins. Buvo atvejų, kai veido atpažinimo sistemos blogiau veikė su tamsesnės odos žmonėmis, nes mokymo duomenyse jų buvo mažiau. Kai įdarbinimo sistemos diskriminavo moteris, nes istoriškai tam tikrose pozicijose jų buvo mažiau.

Energijos sąnaudos – didelių neuronų tinklų mokymas reikalauja milžiniškų skaičiavimo resursų. Vien GPT-3 mokymas, paskaičiavo mokslininkai, išmetė tiek CO2, kiek penki automobiliai per visą savo gyvavimo ciklą. Tai rimta problema, kai kalbame apie tvarumą.

Duomenų poreikis – neuronų tinklams reikia milžiniškų duomenų kiekių. Tai gerai veikia srityse, kur tokių duomenų yra (nuotraukos, tekstai), bet ką daryti su retomis ligomis, kuriomis serga tik keletas tūkstančių žmonių pasaulyje? Čia neuronų tinklai gali būti ne tokie efektyvūs.

Ateities perspektyvos ir kas laukia toliau

Neuronų tinklų technologija vystosi tokiu greičiu, kad net specialistams sunku prognozuoti, kas bus po penkerių metų. Bet kelios tendencijos jau aiškiai matomos.

Efektyvesni modeliai – mokslininkai dirba su sistemomis, kurios galėtų mokytis iš mažiau pavyzdžių, kaip tai daro žmonės. Vaikas gali išmokti atpažinti katę pamatęs kelias kates, ne milijonus nuotraukų. Tai vadinama “few-shot learning” arba “meta-learning”.

Paaiškinami neuronų tinklai – vis daugiau dėmesio skiriama sistemoms, kurios galėtų paaiškinti savo sprendimus. Tai ypač svarbu medicinos, teisės, finansų srityse, kur sprendimų priežastys turi būti aiškios.

Neuromorfiniai procesoriai – kuriami specialūs lustai, kurie dar labiau imituoja biologinių neuronų veikimą. Jie gali būti daug efektyvesni energijos atžvilgiu nei dabartiniai GPU.

Hibridinės sistemos – vis daugiau mokslininkų mano, kad ateitis priklauso ne tik neuronų tinklams, bet jų kombinacijoms su kitais dirbtinio intelekto metodais. Pavyzdžiui, sujungiant neuronų tinklų gebėjimą atpažinti šablonus su simbolinio AI gebėjimu atlikti loginius samprotavimus.

Ką visa tai reiškia mums visiems

Neuronų tinklų technologija nėra tik dar vienas technologinis triukas – tai fundamentalus poslinkis, kaip mašinos gali mokytis ir spręsti problemas. Skirtingai nei ankstesnės automatizacijos bangos, kurios pakeitė daugiausia fizinį darbą, neuronų tinklai pradeda automatizuoti kognityvinį darbą – atpažinimą, klasifikavimą, net kūrybą.

Tai nereiškia, kad mašinos tuoj pat pakeis žmones visose srityse. Neuronų tinklai yra puikūs tam tikrų užduočių atlikime, bet jiems trūksta bendrojo supratimo, konteksto suvokimo, kūrybiškumo, kuris kyla iš tikros patirties. Jie gali sugeneruoti tekstą, bet nesupranta, ką rašo. Gali atpažinti veidus, bet nejaučia emocijų.

Praktiškai tai reiškia, kad neuronų tinklai greičiausiai taps galingais įrankiais, kurie papildo žmogaus gebėjimus, o ne juos pakeičia. Gydytojas su neuronų tinklų pagalba gali diagnozuoti tiksliau. Dizaineris su AI įrankiais gali dirbti greičiau. Programuotojas su automatinio kodo generatoriumi gali spręsti sudėtingesnes problemas.

Svarbu suprasti šią technologiją bent pagrindais – ne dėl to, kad visi turėtume tapti dirbtinio intelekto specialistais, bet kad galėtume kritiškai vertinti, ką šios sistemos gali ir ko negali, kur jos naudingos ir kur potencialiai pavojingos. Neuronų tinklai jau dabar formuoja, kokią informaciją matome socialiniuose tinkluose, kokius darbus gauname, net kokius sprendimus priima apie mus institucijos. Kuo geriau suprasime šią technologiją, tuo geriau galėsime ją kontroliuoti ir naudoti visuomenės labui.