Dirbtinių neuroninių tinklų vizualaus redaktoriaus sukūrimas
Baigiamasis bakalauro darbas
TURINYS
SANTRAUKA 4
SUMMARY 5
1. ĮVADAS 6
2. ANALITINĖ DALIS 7
2.1. Dirbtiniai neuroniniai tinklai 7
2.1.1. Daugiasluoksnio perceptronas 7
2.1.2. Modelio mokymas 8
2.1.3. Modelio tikslumo įvertinimas 9
2.2. Konvoliuciniai neuroniniai tinklai 10
2.2.1. Konvoliucijos sluoksnis 10
2.2.2. Sujungimo sluoksnis 11
2.2.3. Pilnai sujungtas sluoksnis 11
2.3. Duomenų paruošimas 12
2.3.1. Skaitinių duomenų paruošimas 12
2.3.2. Vaizdų paruošimas 12
2.4. Egzistuojantys DNT vizualizavimo ir redagavimo įrankiai 13
2.5. Programavimo įrankiai 16
3. METODINĖ DALIS 17
3.1. Programos vizija 17
3.2. Reikalavimai 18
3.3. Programos struktūra 19
3.4. Programos veikimas 20
3.5. Programavimo įrankių taikymas 21
3.6. Programoje naudojami duomenys ir parametrai 22
4. ĮGYVENDINIMO DALIS 23
4.1. Programos kūrimas 23
4.2. Duomenų paruošimas 23
4.3. Mokymo įgyvendinimas 24
4.4. Daugiasluoksnio perceptrono modelio kūrimas 24
4.4.1. Modelio kūrimo langas 24
4.4.2. Duomenų peržiūros langas 25
4.4.3. Rezultatų peržiūros langas 26
4.5. Konvoliucinio neuroninio tinklo kūrimas 26
4.5.1. Modelio kūrimo langas 27
4.5.2. Vaizdų peržiūros langas 27
4.6. Kitos programos funkcijos 28
4.7. Našumas ir trūkumai 29
4.8. Naudojimo rekomendacijos 30
5. REZULTATAI IR APIBENDRINIMAS 31
5.1. Išvados 31
LITERATŪRA 32
1. ĮVADAS
Sparčiai plečiantis dirbtinio intelekto taikymui ir mašininio mokymosi algoritmų panaudos
galimybėms, vis daugiau dėmesio skiriama dirbtiniams neuroniniams tinklams ir giliajam
mokymuisi. Jų populiarumas lemia didelį susidomėjimą šių algoritmų veikimu ir taikymu
sprendžiant praktinius uždavinius. Tačiau neretai šia sritimi pradedantiems domėtis asmenims
sunku perprasti neuroninių tinklų veikimą, nes tai dažniausiai reikalauja papildomų matematikos
ir programavimo žinių. Ši problema iš dalies sprendžiama neuroninių tinklų architektūras bei
mokymo procesus atvaizduojant diagramomis. Tai supaprastina sudėtingų modelių
interpretavimą, todėl padeda lengviau įsisavinti jų veikimo principus. Neuroninius tinklus
galima pateikti įvairaus pobūdžio vizualizacijomis ir pritaikyti jas specifinėms auditorijoms [1].
Visgi koncentruojantis į šių konceptų aiškinimą edukaciniais tikslais, siekiama atkreipti dėmesį į
kuriamų modelių architektūrų sandarą bei naudojamų hiperparametrų įtaką modelio mokymo
procesui. Siekiant mokymąsi padaryti lankstesnį ir labiau prieinamą visiems, planuojama sukurti
realiuoju laiku grįžtamąjį ryšį teikiančią programą, kuri suteiktų galimybę grafinėje naudotojo
sąsajoje eksperimentiškai modeliuoti nesudėtingų architektūrų neuroninių tinklų modelius.
Šiame darbe orientuojamasi į giliųjų neuroninių tinklų architektūrų atvaizdavimą ir
galimybę jas redaguoti interaktyviais metodais. Siekiant naudotojus supažindinti su neuroninių
tinklų veikimo pagrindais, kuriama sistema leis grafinėje sąsajoje konstruoti standartinius
daugiasluoksnio perceptrono architektūros neuroninius tinklus. Taip pat bus suteikiama
galimybė kurti ir šiuo metu labiausiai paplitusius, dažniausiai vaizdų klasifikavimo uždavinių
sprendimui naudojamus, konvoliucinius neuroninius tinklus.
Tad pagrindinis šio darbo tikslas – sukurti edukacinės paskirties dirbtinių neuroninių
tinklų vizualaus redaktoriaus programą, kuria būtų galima kurti ir apmokyti daugiasluoksnio
perceptrono ir konvoliucinių neuroninių tinklų architektūros modelius. Pilnai šios programos
realizacijai taip pat būtina naudotojus supažindinti ir su pagrindinėmis modelių mokymo
idėjomis, mokymui naudojamais duomenimis bei gautų rezultatų interpretavimu. Todėl šiam
darbui įgyvendinti sprendžiami šie uždaviniai:
1.Ištirti egzistuojančius neuroninių tinklų vizualizavimo ir redagavimo programų sprendimus.
2.Sukurti naujo neuroninių tinklų redaktoriaus aprašą, detalizuojant programos
atliekamas funkcijas ir veikimo principus bei pagrindžiant programai kurti
pasirinktus programavimo įrankius.
3.Remiantis aprašu, įgyvendinti programą, kuria neuroninių tinklų architektūra būtų
kuriama interaktyviai.
4.Programos naudojimui paruošti įvairių duomenų rinkinių, kuriais būtų apmokomi
programa sukurti neuroninių tinklų modeliai.
5.Įgyvendinti neuroninių tinklų mokymo procesą ir pateikti mokymo eigos bei
sukurto modelio rezultatus.
6.Išplėsti programos funkcionalumą, pridedant galimybę konstruoti ir apmokyti
konvoliucinius neuroninius tinklus.
Baigiamąjį darbą sudaro 6 dalys: įvadas, analitinė dalis, metodinė dalis, įgyvendinimo
dalis, rezultatai ir apibendrinimas bei literatūros sąrašas.
Mūsų mokslo darbų bazėje yra daugybė įvairių mokslo darbų, todėl tikrai atrasi sau tinkamą!