3 / 4 📖 Teorija
Kaip tinklas mokosi
Grįžkim prie svarbiausio klausimo: kaip tinklas iš „spėlioja atsitiktinai" tampa „veikia"? Idėja paprasta ir kartojasi vėl ir vėl:
- Spėja. Tinklas paima pavyzdį (nuotrauką) ir pateikia atsakymą — iš pradžių beveik atsitiktinį.
- Palygina. Palyginam spėjimą su teisingu atsakymu. Kiek suklysta? Tą klaidos dydį matuoja nuostolis (loss).
- Pasitaiso. Tinklas šiek tiek pakoreguoja savo svorius ta kryptimi, kuri mažina klaidą. Kryptį nurodo gradientai.
- Kartoja. Tą patį per tūkstančius pavyzdžių, daug kartų. Vienas pilnas perėjimas per visus duomenis — epocha (epoch).
spėja → palygina (nuostolis) → pasitaiso (gradientai) → kartoja (epochos)
▲ │
└──────────────────────────────────────────────────────────┘
Su kiekvienu ratu spėjimai vidutiniškai gerėja, o tikslumo skaičius kyla. Tai ir yra „mokymasis" — jokios magijos, tik daug mažų pataisymų.
Nesijaudink dėl žodžių „nuostolis", „gradientai", „epochos" — čia tik supažindinam. Kiekvieną iš jų atskiromis pamokomis išsiaiškinsim iš lėto ir su kodu. Šiandien užtenka pajusti bendrą ritmą: spėk → palygink → pasitaisyk → kartok.
Kitoje pamokoje pradedam nuo pamato, ant kurio visa tai stovi: tensoriai — PyTorch duomenų struktūra, kuria vaizdas paverčiamas skaičiais, o tinklas — skaičiavimais.