Kas yra neuroninis tinklas
Ko reikia šiam kursui. Mokėti Python pagrindus (kintamieji, funkcijos, ciklai) ir turėti bazinę matematinę nuovoką (kas yra funkcija, ką reiškia „daugiau" ar „mažiau"). Įrodymų ir sudėtingos matematikos nereikės — sunkias vietas išsiaiškinsim palaipsniui.
Neuroninis tinklas skamba grėsmingai, bet pati idėja paprasta. Pradėkim nuo vieno neurono.
Neuronas gauna kelis įėjimus (skaičius), kiekvieną padaugina iš savo svorio (irgi skaičiaus), viską sudeda ir grąžina vieną išėjimą. Tiek. Svoriai lemia, į ką neuronas „kreipia dėmesį".
įėjimai → ×svoriai → suma → išėjimas
(0.2, 0.9, 0.1) → 0.74
Vienas neuronas menkas. Bet sujunk tūkstančius jų į sluoksnius — ir gauni tinklą, gebantį atpažinti katę nuotraukoje ar ranka rašytą skaičių.
Kaip jis tampa protingas? Mokosi iš pavyzdžių. Nerašai taisyklių „katė turi ūsus ir smailias ausis". Vietoj to parodai tinklui tūkstančius nuotraukų su teisingais atsakymais, o jis pats derina svorius, kol pradeda spėti teisingai. Tas svorių derinimo procesas ir vadinamas mokymu (training).
Tavo projektas — vaizdų klasifikatorius. Visą kursą kursi tinklą, kuris atpažįsta tavo pasirinktas kategorijas (paskutiniame žingsnyje jas išsirinksi — kaip nori: šunų veislės, augalai, žaidimų personažai, tavo pomėgis).
Ir svarbiausia — tikslumo naratyvas. Iš pradžių tavo modelis spės beveik atsitiktinai. Kiekviena pamoka tą tikslumo skaičių didins: pridedi sluoksnius — auga, pridedi tinkamą architektūrą — šokteli, panaudoji jau apmokytą tinklą — dar labiau. Visą kursą stebėsi vieną skaičių, kylantį nuo „spėlioja" iki „veikia".