Az ötlet
Minden neurális háló tanítása ugyanarra az egy kérdésre épül. Ha egy picit megváltoztatom ezt a súlyt, mennyivel változik a hiba. Ez a derivált, és a visszaterjesztés nem más, mint a láncszabály fegyelmezett alkalmazása visszafelé, a hibától a súlyokig. A sorozat első videója ezt úgy tanítja meg, hogy megépít egy miniatűr automatikus deriválót, a micrograd-ot, nagyjából száz sor Pythonban.
A micrograd értékobjektumai megjegyzik, milyen műveletből születtek, és a gráfon visszafelé lépegetve minden csomópont megkapja a maga gradiensét. Amikor ez a kis gépezet a szemünk előtt összeáll, a nagy keretrendszerek rejtélye elpárolog, ugyanezt csinálja a PyTorch is, csak gyorsabban és tenzorokon.
Amit innen hazaviszel
Két maradandó megértés születik itt. Az egyik, hogy a tanulás nem misztikum, hanem sokmillió apró, önző kis igazítás, amit egyetlen közös hibajel vezérel. A másik, hogy a hibák tipikus forrása is láthatóvá válik, az elfelejtett nullázás, az elszálló gradiens. Aki ezt egyszer kézzel megcsinálta, az a keretrendszer hibaüzeneteit is olvasni tudja.
Karpathy tanácsa a sorozatban végig érvényes. Ne másold a kódot, írd. A gépelés lassúsága itt nem veszteség, hanem maga a tanulás.
Források és további olvasnivaló
A tananyag Andrej Karpathy ingyenes Neural Networks: Zero to Hero videósorozatát követi, amelyben minden sor kód a szemünk előtt születik meg. A matematikai háttér felfrissítéséhez a Matematikai alapok az AI-hoz tananyag deriválás leckéi.