AI-For-Beginners/translations/et/lessons/3-NeuralNetworks/04-OwnFramework
localizeflow[bot] 22b9d24a81 chore(i18n): sync translations with latest source changes (chunk 1/1, 201 changes) 2026-01-30 02:58:31 +00:00
..
lab chore(i18n): sync translations with latest source changes (chunk 1/1, 201 changes) 2026-01-30 02:58:31 +00:00
OwnFramework.ipynb Fallback snapshot commit due to git add failure 2026-01-15 12:40:29 +00:00
README.md chore(i18n): sync translations with latest source changes (chunk 1/1, 201 changes) 2026-01-30 02:58:31 +00:00

README.md

Sissejuhatus tehisnärvivõrkudesse. Mitmekihiline perceptron

Eelmises osas õppisite tundma kõige lihtsamat tehisnärvivõrgu mudelit ühekihilist perceptronit, mis on lineaarne kahe klassi klassifitseerimise mudel.

Selles osas laiendame seda mudelit paindlikumaks raamistikuks, mis võimaldab:

  • teha mitme klassi klassifikatsiooni lisaks kahe klassi klassifikatsioonile
  • lahendada regressiooniprobleeme lisaks klassifikatsioonile
  • eristada klasse, mis ei ole lineaarselt eristatavad

Samuti arendame välja oma modulaarse raamistiku Pythonis, mis võimaldab meil luua erinevaid tehisnärvivõrgu arhitektuure.

Eelloengu viktoriin

Masinõppe formaliseerimine

Alustame masinõppe probleemi formaliseerimisest. Oletame, et meil on treeningandmestik X koos siltidega Y, ja peame looma mudeli f, mis teeb kõige täpsemaid ennustusi. Ennustuste kvaliteeti mõõdetakse kaofunktsiooni abil. Sageli kasutatakse järgmisi kaofunktsioone:

  • Regressiooniprobleemi puhul, kui peame ennustama arvu, saame kasutada absoluutset vigai|f(x(i))-y(i)| või ruutvigai(f(x(i))-y(i))2
  • Klassifikatsiooni puhul kasutame 0-1 kaotust (mis sisuliselt on sama mis mudeli täpsus) või logistilist kaotust.

Ühekihilise perceptroni puhul oli funktsioon f defineeritud kui lineaarne funktsioon f(x)=wx+b (kus w on kaalude maatriks, x on sisendite tunnuste vektor ja b on nihkevektor). Erinevate tehisnärvivõrgu arhitektuuride puhul võib see funktsioon olla keerukama kujuga.

Klassifikatsiooni puhul on sageli soovitav saada võrgu väljundina klasside tõenäosused. Arvude teisendamiseks tõenäosusteks (nt väljundi normaliseerimiseks) kasutame sageli softmax funktsiooni σ, ja funktsioon f muutub f(x)=σ(wx+b)

Ülaltoodud f definitsioonis nimetatakse w ja b parameetriteks θ=⟨w,b⟩. Arvestades andmestikku ⟨X,Y⟩, saame arvutada kogu andmestiku vea parameetrite θ funktsioonina.

Tehisnärvivõrgu treenimise eesmärk on minimeerida viga, muutes parameetreid θ

Gradientlanguse optimeerimine

On olemas tuntud funktsiooni optimeerimise meetod, mida nimetatakse gradientlanguseks. Idee seisneb selles, et saame arvutada kaofunktsiooni tuletise (mitmemõõtmelisel juhul nimetatakse seda gradientiks) parameetrite suhtes ja muuta parameetreid nii, et viga väheneks. Seda saab formaliseerida järgmiselt:

  • Algväärtusta parameetrid juhuslike väärtustega w(0), b(0)
  • Korda järgmist sammu mitu korda:
    • w(i+1) = w(i)-η∂ℒ/∂w
    • b(i+1) = b(i)-η∂ℒ/∂b

Treeningu ajal peaksid optimeerimissammud olema arvutatud kogu andmestikku arvestades (pidage meeles, et kaotus arvutatakse kõigi treeningnäidete summa põhjal). Kuid reaalses elus võtame andmestikust väikeseid osi, mida nimetatakse minipartiideks, ja arvutame gradientid andmealamkogumi põhjal. Kuna alamkogum valitakse iga kord juhuslikult, nimetatakse sellist meetodit stohhastiliseks gradientlanguseks (SGD).

Mitmekihilised perceptronid ja tagasilevik

Ühekihiline võrk, nagu me eespool nägime, suudab klassifitseerida lineaarselt eristatavaid klasse. Rikkama mudeli loomiseks saame kombineerida mitu võrgu kihti. Matemaatiliselt tähendaks see, et funktsioon f oleks keerukama kujuga ja arvutataks mitmes etapis:

  • z1=w1x+b1
  • z2=w2α(z1)+b2
  • f = σ(z2)

Siin α on mittelineaarne aktivatsioonifunktsioon, σ on softmax funktsioon ja parameetrid θ=<w1,b1,w2,b2>.

Gradientlanguse algoritm jääb samaks, kuid gradientide arvutamine muutub keerulisemaks. Arvestades ahel-diferentseerimise reeglit, saame tuletised arvutada järgmiselt:

  • ∂ℒ/∂w2 = (∂ℒ/∂σ)(∂σ/∂z2)(∂z2/∂w2)
  • ∂ℒ/∂w1 = (∂ℒ/∂σ)(∂σ/∂z2)(∂z2/∂α)(∂α/∂z1)(∂z1/∂w1)

Ahel-diferentseerimise reeglit kasutatakse kaofunktsiooni tuletiste arvutamiseks parameetrite suhtes.

Pange tähele, et kõigi nende avaldiste vasakpoolne osa on sama, ja seega saame tuletised tõhusalt arvutada, alustades kaofunktsioonist ja liikudes "tagasi" läbi arvutusgraafi. Seetõttu nimetatakse mitmekihilise perceptroni treenimise meetodit tagasilevikuks ehk 'backprop'.

arvutusgraaf

TODO: pildi viide

Katame tagasileviku palju detailsemalt meie näidisnotebookis.

Kokkuvõte

Selles õppetunnis ehitasime oma tehisnärvivõrgu raamistiku ja kasutasime seda lihtsa kahemõõtmelise klassifikatsiooniprobleemi lahendamiseks.

🚀 Väljakutse

Kaasaolevas notebookis rakendate oma raamistiku mitmekihiliste perceptronite loomiseks ja treenimiseks. Näete üksikasjalikult, kuidas kaasaegsed tehisnärvivõrgud töötavad.

Jätkake OwnFramework notebookiga ja töötage see läbi.

Järelloengu viktoriin

Ülevaade ja iseseisev õppimine

Tagasilevik on tehisintellekti ja masinõppe valdkonnas levinud algoritm, mida tasub täpsemalt uurida.

Ülesanne

Selles praktikumis palutakse teil kasutada selles õppetunnis loodud raamistikku MNIST käsitsi kirjutatud numbrite klassifikatsiooni lahendamiseks.


Lahtiütlus:
See dokument on tõlgitud, kasutades AI tõlketeenust Co-op Translator. Kuigi püüame tagada täpsust, palun arvestage, et automaatsed tõlked võivad sisaldada vigu või ebatäpsusi. Algne dokument selle algkeeles tuleks lugeda autoriteetseks allikaks. Olulise teabe puhul on soovitatav kasutada professionaalset inimtõlget. Me ei vastuta selle tõlke kasutamisest tulenevate arusaamatuste või valede tõlgenduste eest.