Tai labai supaprastintas paaiškinimas, pagrįstas G. Hintono ir bendraautorių straipsniu, nuo kurio visa tai prasidėjo. Ką G. Hintonas galėtų pasakyti, jei turėtų laiko tokiam paaiškinimui?
„DI sistema turi dalių, kurios šiek tiek primena sujungtus neuronus, perduodamos signalus iš įvesties į išvestį. Kad DI sistema ką nors išmoktų, ji turi pakeisti koeficientus, kurie atspindi ryšio tarp dviejų sujungtų neuronų stiprumą. Tarkime, norime, kad DI išmoktų atpažinti ranka rašytą „1“. Prieš mokymąsi koeficientai yra atsitiktiniai. Kai informacija praeina per neuronus, DI pateikia tikimybę, kad jam duotas skaičius yra „1“, ir tikimybes, kad tai kažkas kita.
Tarkime, jis pateikia tik 6 procentų tikimybę, kad tai yra „1“. Labai svarbus skaičius yra skirtumas tarp teisingo atsakymo, apskaičiuoto taip, kad jis turėtų būti 100 procentų, ir DI pateikto atsakymo: 6 procentai. Pavadinkime šį skirtumą delta.“
Šis skirtumas, 100 – 6 lygus 94, turėtų būti sumažintas iki nulio. Tam DI grįžta atgal ir suteikia stiprumo koeficientams nedidelius pakeitimus, bandydamas sumažinti šį skirtumą. Šio proceso su daugeliu neuronų greitis taip pat svarbus, todėl kompiuteris apskaičiuoja grafike su delta priklausomybe nuo koeficiento dydžio kreivės nuolydį ir pasirenka kelią, kuriame nuolydis yra stačiausias, todėl nusileidimo greitis yra didžiausias. Mokymosi procesas kartojamas tol, kol sistema pateikia pakankamai gerą tikimybę, t.y. rado „1“, tarkime, su 99,9 procento tikimybe, kad tai yra „1“.
Svarbiausias straipsnio atradimas buvo tas, kad turint pakankamai sudėtingą DI sistemą su pakankamai neuronų, procesas neužstringa lokaliuose minimumuose, dažniausiai pasiekdamas realų minimumą.
Ar tai tiesa?”
Koks galėtų būti mano atsakymas į G. Hintono paaiškinimą?
„Taip, tai puikus ir tikslus supaprastintas dirbtinių neuroninių tinklų mokymosi paaiškinimas, daugiausia pagrįstas atgalinio sklidimo algoritmu, kurį išpopuliarino Geoffrey Hintonas, Davidas Rumelhartas ir Ronaldas Williamsas jų svarbiame 1986 m. straipsnyje.
Štai jūsų paaiškinimo teisingumo priežasčių analizė su kai kuriais techniniais niuansais, kad jis būtų išsamesnis:
1. Struktūra (neuronai ir svoriai)
Jūsų teiginys: „...dalys, kurios šiek tiek primena sujungtus neuronus, perduodamos signalus... keičia koeficientus, kurie atspindi ryšio stiprumą.“
Kodėl tai teisinga: dirbtiniai neuronai priima įvestis, padaugina jas iš svorių (koeficientų arba ryšio stiprumo), susumuoja ir perduoda per aktyvinimo funkciją į kitą sluoksnį.
Pagrindinė įžvalga: mokymasis iš tiesų yra tik šių svorių atnaujinimo procesas, siekiant susieti įvestis (pikselių vertes tam “1”) su teisinga išvestimi.
2. Mokymosi procesas (perdavimas pirmyn ir atgal)
Jūsų teiginys: „...prieš tai, kai mokymosis prasideda, koeficientai yra atsitiktiniai... DI pateikia tikimybę... skirtumą tarp teisingo atsakymo... ir DI pateikto atsakymo: 6 procentai.“ Pavadinkime šį skirtumą delta.“
Kodėl tai teisinga: Tai yra prižiūrimo mokymosi pagrindas.
Tiesioginis perdavimas: Įvedami duomenys, atsitiktiniai svoriai sukuria atsitiktinę išvestį (6 % patikimumas, kad ji yra 1).
Nuostolių funkcija (Delta): Jūsų minėtas „skirtumas“ vadinamas nuostolių funkcija (arba sąnaudų funkcija). Ji matuoja, kaip blogai dirbtinis intelektas (DI) spėlioja, dažnai apskaičiuodamas skirtumą tarp norimos išvesties (100 % arba 1) ir numatytos išvesties.
3. Optimizavimas (stačiausias nuolydis)
Jūsų teiginys: „...DI grįžta atgal ir suteikia stiprumo koeficientams nedidelius pakeitimus... apskaičiuoja nuolydį... jei jis stačiausias, tai nusileidimo greitis yra didžiausias.“
Kodėl tai teisinga: Tai yra gradientinis nusileidimas kartu su atgaliniu sklidimu.
Atgalinis sklidimas: Algoritmas apskaičiuoja, kiek kiekvienas svoris prisidėjo prie paklaidos (deltos), grįždamas atgal nuo išvesties iki įvesties.
Stačiausias nuolydis: Jis apskaičiuoja paklaidos funkcijos gradientą (nuolydį). Norėdamas sumažinti paklaidą, dirbtinis intelektas keičia svorius priešinga nuolydžio kryptimi, veikdamas kaip kamuolys, riedantis nuo kalvos į žemiausią tašką.
4. Vietiniai minimumai ir realusis minimumas
Jūsų teiginys: „...turint pakankamai sudėtingą dirbtinio intelekto sistemą su pakankamai neuronų, procesas neužstringa vietiniuose minimumuose ir dažniausiai pasiekia realų minimumą.“
Kodėl tai teisinga: Ilgą laiką buvo baiminamasi, kad neuroniniai tinklai užstrigs „vietiniuose minimumuose“ – mažuose, negiliuose klaidų grafiko slėniuose, kurie nėra žemiausias galimas taškas.
Hintono įžvalga / šiuolaikinis supratimas: Daugiamatėse erdvėse (didelėje sistemoje su milijonais jungčių) tikri vietiniai minimumai yra reti. Vietoj to, tinklas susiduria su „balno taškais“ – sritimis, kuriose paviršius yra plokščias, bet ne minimumas – arba daugeliu vietinių minimumų, kurie iš tikrųjų yra labai arti bendro optimalaus „globalaus“ minimumo. Taigi, sudėtinga sistema paprastai gali rasti labai gerą sprendimą.
Santrauka
Jūsų paaiškinimas nepriekaištingai aprašo gradientinį nusileidimą atgalinio sklidimo būdu tiesioginio ryšio neuroniniame tinkle paprastais žodžiais.
Tai yra šiuolaikinio gilaus mokymosi pagrindas, leidžiantis sistemoms mokytis iš duomenų, o ne būti programuojamoms.“
Komentarų nėra:
Rašyti komentarą