Daugiasluoksnis neuroninis tinklas: klasifikatorius, apibrėžimas, architektūra, mokymas, pavyzdžiai

Dirbtinio neuroninio tinklo (DNT) pagrindas yra informacijos apdorojimo struktūra, imituojanti kai kuriuos gyvųjų organizmų smegenyse vykstančius procesus. Neuroninis tinklas sudaromas iš daugelio tarpusavyje sujungtų labai paprastų skaičiavimo elementų - dirbtinių neuronų. Šie elementai, sujungti įvairaus stiprumo jungtimis, yra apytikslis biologinių neuronų modelis. Dirbtiniu neuroniniu tinklu siekiama emuliuoti kai kurias biologinių sistemų savybes, pvz., gebėjimą mokytis, prisitaikyti ir adaptuotis.

Dirbtinio neuroninio tinklo matematinį modelį 1943 m. sukūrė Warrenas Sturgisas McCullochas ir Walteris Harryʼis Pittsas. 1949 m. buvo sukurtas neuroninio tinklo mokymo metodas, o 1958 m. išrastas perceptronas - dirbtinė apmokoma neuroninė sistema, modeliuojanti atpažinimo procesą. Dirbtiniai neuroniniai tinklai yra tam tikros struktūros matematinės funkcijos, kurios naudojamos kaip funkcijų aproksimatoriai. Dirbtinis neuronas - biologinio neurono abstrakcija, pagrindinis dirbtinių neuroninių tinklų komponentas.

Apibrėžimas ir pagrindai

Dirbtinis neuronas turi keletą įėjimo signalų (x0, x1, x2, …, xn), su jais susietus svorius (w0, w1, w2, …, wn) ir vieną išėjimo vertę (y). Dažniausiai išėjimo reikšmė skaičiuojama sudedant įėjimo verčių ir atitinkamų svorių sandaugas, ir pritaikant aktyvacijos funkciją. Aktyvacijos funkcija yra būtina, nes be jos visas tinklas paprastėja į tiesinę regresiją. Toks tinklas negali išmokti daugelio užduočių.

Netiesiškumo įvedimas vyksta per aktyvacijos funkcijas: žingsninė, ReLU, sigmoidinė, hiperbolinė tangento, minkštojo maksimumo funkcijos. Dirbtinėje struktūroje neuronai dažnai grupuojami į sluoksnius: įvesties sluoksnį, paslėptus (neuronų) sluoksnius ir išvesties sluoksnį. Prieš duomenų apdorojimą dažnai atliekamas pirminis jų apdorojimas (normalizavimas, centravimas). Po to paeiliui apskaičiuojamos paslėptųjų sluoksnių išėjimo vertės, galiausiai - išvesties sluoksnio išėjimo vertės.

Architektūra

Ryšiai (arba svoriai) - tai kiekvienas ryšys tarp sluoksnių, kurio svorių derinimas leidžia tinklui įgyti gebėjimą modeliuoti sudėtingas funkcijas. Neuroniniai tinklai gali būti sklidantys (priešingas sklidimas - forward pass) ir atgaliniai (backpropagation) - naudojami mokymui. Jei signalai sklinda iš kiekvieno neurono įvesties per visus paslėptus elementus ir pasiekia išvesties neuronus, toks tinklas vadinamas tiesioginio sklidimo tinklu. Jei tinklas yra rekuverentas su atgalinėmis jungtimis iš vėlesniųjų neuronų į ankstesniuosius, jis gali būti nestabilus ir turi sudėtingą dinamiką.

Paslėptų sluoksnių skaičius ir jų dydis dažnai nustatomi eksperimentiniu būdu; praktikoje dažniausiai naudojamas vienas paslėptų sluoksnių sluoksnis. Išvesties sluoksnis generuoja galutinį modelio rezultatą, kuris gali būti skaičiuojamas kaip klasių tikimybių vektorius, reguojantis į klasifikavimo užduotį.

Mokymas

Mokymas yra dvejopas: su mokytoju (prižiūrimas mokymas) ir be mokytojo (neprižiūmas mokymas arba savimokos). Prižiūriojo mokymo atveju žinomos įėjimo ir atitinkamos išvesties vertės (užduoties vertės). Mokymo metu minimizuojama klaidos funkcija: dažnai naudojama suminės kvadratinės klaidos funkcija E(w) = ½ ∑k=1N∑j=1Q(yjk(x,w)−djk)², kur w - svorių vektorius, N - mokymo duomenų skaičius, Q - išvesties neurono skaičius, yjk - išėjimo signalas, djk - užduoties vertė. Mokymo metu svoriai keičiami taip, kad E(w) mažėtų.

Savimokos atveju tinklas pats nustato savo būseną. Informacija apie sprendžiamą užduotį kaupiama neuronų svorių vertėse. Mokymo metu naudojamas pasirinktas duomenų rinkinys (duomenų imtis). Apmokytų tinklų svoriai paprastai yra fiksuoti; jie leidžia tinklui pradėti prognozuoti ir tobulinti modelį.

Praktiškai apie architektūras

Istoriškai pirmi neuroniniai tinklai buvo vienos sluoksnio perceptronai. Tokie tinklai geba atlikti tik linijinį atskyrimą arba panašias užduotis. Vėliau įvyko plėtra į daugiasluoksnius tinklus, kurie gali atlikti sudėtingesnes užduotis klasifikacijoje, regresijoje ir kt. Vieno paslėpto sluoksnio tinklai dažnai yra pakankami daugeliui problemų, tačiau sudėtingesnėms užduotims reikalingi keli paslėpti sluoksniai ir pažangios architektūros (pavyzdžiui, konvoliuciniai, rekurrentiniai tinklai, transformeriai).

Dirbtiniai neuroniniai tinklai naudojami įvairiose srityse: signalų atpažinimui, duomenų klasifikavimui, laikinių eilių prognozavimui, bioinformatikoje - nukleotidų ir amino rūgščių sekų fragmentų paieškai, bei daugelyje kitų sričių, kur svarbu įgyti gebėjimą mokytis iš duomenų.

Pavyzdžiai

Praktiniai pavyzdžiai galėtų būti vaizdų klasifikavimas (atpažinimas, ar paveikslas turi tam tikrą objektą), teksto analizė (tema, nuotaika), laikinių eilių prognozavimas (finansų rinkos, meteorologija). Per pastaruosius metus daugiausia dėmesio skiriama giliesiems tinklams, kurie dėl daugybės sluoksnių gali mokytis sudėtingų reprezentacijų ir modelių. Pavyzdžiui, konvoliuciniai tinklai dažnai naudojami vaizdų klasifikavimui, kai ReLU aktyvacija ir softmax išvesties sluoksnis padeda sukurti tikimybių pasiskirstymą klasėms.

Dirbtinio neuroninio tinklo mokymas reikalauja tinkamų duomenų paruošimo, normalizavimo, tikslaus architektūros pasirinkimo, tinkamos optimizacijos algoritmo (pvz., gradiento nusileidimo), reguliavimo priemonių ir patikros duomenų rinkinio. Taip pat svarbu vertinimo metrikos - tikslumas, precizija, recall, F1-rezultatai priklausomai nuo užduoties.

Trumpa palyginamoji santrauka

  • Malonė: daugiasluoksnis tinklas gali išmokti sudėtingesnes funkcijas nei vieno sluoksnio tinklai.
  • Architektūros įvairovė: nuo paprastų daugiasluoksnių perceptronų iki konvoliucinių, rekurrentinių ir transformer pagrindu veikiančių modelių.
  • Mokymas: prižiūris mokymas su tiksliniais duomenimis arba be jų (savimokos).
  • Aktyvacijos funkcijos: ReLU, sigmoid, tanh, softmax ir kt., kurių pasirinkimas priklauso nuo užduoties tipo.
  • Svoriai ir ryšiai: sluoksnių mazgų ryšiai su svoriais - pagrindinis learning signalas.
Dirbtinio neuroninio tinklo architektūros schema

Neuroninių tinklų paaiškinimas per 5 minutes

Dirbtinio neuroninio tinklo konstrukcijos ir mokymo principai teikia didžiulį potencialą įvairiose srityse: nuo vaizdų ir kalbos apdorojimo iki mokslinių tyrimų ir pramoninių procesų optimizavimo.

tags: #daugiasluoksnis #neuroninis #tinklas #klasifikatorius