Haldusteave
Ametinimetus | Õpetus: Süvaõppe alus |
Kestus | 180 min (60 min juhendaja kohta) |
Moodul | B |
Õppetunni liik | Õpetus |
Keskendumine | Tehniline – sügav õpe |
Teema | Edasi- ja tagasipropageerimine |
Võtmesõnad
edasi-tagasi paljundamine, tagasipropageerimine, hüperparameetri häälestamine,
Õpieesmärgid
- õpilane mõistab edasi levimise kontseptsiooni
- õpilane saab vaadata, kuidas saada tagasi paljundamine
- õpilane saab taotleda backpropagation
- õpilane õpib hüperparameetrite häälestamise viisi
Eeldatav ettevalmistamine
Õppeüritused, mis tuleb lõpetada enne
Kohustuslik õpilastele
- John D Kelleher ja Brain McNamee. (2018), Machine Learning for Predictive Data Analytics, MIT Press.
- Michael Nielsen. (2015), Neural Networks and Deep Learning, 1. Meelekindluse ajakirjandus, San Francisco CA USA.
- Charu C. Aggarwal. (2018), Neural Networks and Deep Learning, 1. Springer
- Antonio Gulli, Sujit Pal. Süvaõpe Keras, Packt, [ISBN: 9781787128422].
Valikuline õpilastele
- Maatriksite korrutus
- Alustan Numpyga
- Teadmised lineaarsest ja logistilisest regressioonist
Viited ja taust õpilastele
Puudub.
Soovitatav õpetajatele
Puudub.
Õppematerjalid
Puudub.
Juhised õpetajatele
See õppeüritus koosneb kolmest õpetuste komplektist, mis hõlmavad põhilisi süvaõppe teemasid. See õpetusseeria sisaldab ülevaadet edasiliikumisest, backpropagation’i tuletamist ja koodi kasutamist, et anda õpilastele ülevaade sellest, mida iga parameeter teeb ja kuidas see võib mõjutada neurovõrgu õppimist ja lähenemist:
- Edasilevitamine: Pliiatsi ja paberi näited ning python näited, kasutades Numpyt (põhialuste jaoks) ja Keras’t, millel on kõrgetasemeline moodul (mis kasutab Tensorflow 2.X).
- Tagasipaljundamise tuletamine ja rakendamine: Pliiatsi ja paberi näited ning python näited, kasutades Numpyt (põhialuste jaoks) ja Keras’t, millel on kõrgetasemeline moodul (mis kasutab Tensorflow 2.X).
- Hüperparameetri häälestamine: Kerase näited, mis toovad esile näitlikud diagnostilised krundid, mis põhinevad konkreetsete hüperparameetrite muutmise mõjul (kasutades HCAIMi näidisandmekogumit eetilise tehisintellekti õpetamiseks (loendusandmestik).
Saatelehed (vastavalt loengutele)
- Sigmoidi kasutamine välimises kihis ja mikro-, väike- ja keskmise suurusega ettevõtete (MSE) kasutamine kadumisfunktsioonina.
- Piikide piirangutega valiti ainsuslik lähenemine/topoloogia/probleemikontekst. Tavaliselt alustatakse regressiooniga edasiliikumise jaoks (kus MSE on kaotusfunktsioon) ja tagasipropageerimise tuletamiseks (seega lineaarse aktiveerimise funktsioon väljundkihis, kus see vähendab tagasipropageerimisfunktsiooni tuletamise keerukust), siis liikus tavaliselt binaarne klassifitseerimisfunktsioon, kus sigmoid väljundkihis ja binaarne rist-entropy kadu funktsioon. Ajapiirangutega kasutab see loengute komplekt kolme erinevat varjatud aktiveerimisfunktsiooni, kuid kasutab regressiooniprobleemi konteksti. Et lisada sigmoidi aktiveerimisfunktsiooni keerukus väljundkihis, regressiooniprobleem, mida kasutati selle komplekti kahes esimeses loengus, põhineb probleeminäidis normaliseeritud sihtväärtusel (0–1, mis põhineb protsentuaalsel probleemil 0–100 %), seega kasutatakse sigmoid aktiveerimisfunktsioonina väljundkihis. See lähenemine võimaldab õpilastel kergesti migreeruda regressiooni ja binaarse klassifitseerimise probleemide vahel, muutes lihtsalt kaotuse funktsiooni, kui tegemist on binaarse klassifitseerimisprobleemiga või kui kasutatakse normaliseerimata regressiooniprobleemi, eemaldab õpilane lihtsalt välimise kihi aktiveerimise funktsiooni.
- Põhikomponendid on rakendus, kasutades kõrgetasemelist raamatukogu, antud juhul KERAS TensorFlow 2.X teegi kaudu.
- Pliiats ja paber on valikulised ja neid kasutatakse ainult edasi- ja tagasiliikumise tuletamise ja rakendamise näitamiseks (kasutades loengu slaidide näiteid).
- Pythoni koodi ilma kõrgetasemelisi teeke kasutamata kasutatakse selleks, et näidata, kui lihtne on närvivõrk (kasutades loengu slaidide näiteid). See võimaldab ka arutleda numbriliste/maatriksite kiire korrutamise üle ja tutvustada, miks me kasutame GPU-sid/TPU-sid valikulise elemendina.
- Keras ja TensorFlow 2.X kasutatakse ja kasutatakse kõigi tulevaste näidete puhul.
Juhend 1 – edasiulatuv paljundamine
Õpetaja juhised
- See õpetus tutvustab õpilastele kunstliku närvivõrgu edasilevimise põhialuseid. See juhendaja koosneb edasi pass kasutades pliiats ja paber, kasutades Python ainult Numpy teek (maatriksite manipuleerimiseks) ja seejärel kasutades KERAS.. See põhineb põhimõttelisel arusaamal sellest, millised aktiveerimisfunktsioonid kehtivad konkreetsetes probleemsetes kontekstides ja kuidas aktiveerimisfunktsioonid erinevad arvutusliku keerukuse ja rakenduse poolest pliiatsist ja paberist, koodi nullist, kasutades Numpyt ja seejärel kasutades kõrgetasemelist moodulit -> Keras.
- Õpilastele esitatakse kolm probleemi:
- Probleem 1: (Näide 1 loengust -> pilt selle WIKI RHS-ist) ja palus läbida edasiliikumise, kasutades järgmisi parameetreid (20 minutit).
- Sigmoid aktiveerimise funktsioon peidetud kiht
- Sigmoid aktiveerimise funktsioon väliskihi jaoks
- Mikro- ja väikeettevõtete kahjumi funktsioon
- Probleem 2: (Loengu 1. näide), õpilastel palutakse (sõltuvalt eelnevast kodeerimiskogemusest) arendada närvivõrk nullist, kasutades ainult Numpy moodulit, ning probleemi 1 kaalud ja aktiveerimisfunktsioonid (mis on samad kui 1. näide loengust (20 minutit).
- Probleem 3: (Näide 1 loengust ja kasutades sama näidet, kuid juhuslikke kaalusid), palutakse õpilastel (sõltuvalt eelnevast kodeerimiskogemusest) arendada närvivõrk, kasutades Tensorflow 2.X moodulit koos ehitatava Kerase mooduliga, kaalud ja aktiveerimisfunktsioonid 1. probleemist ning seejärel juhuslike kaalude kasutamine (mis on samad kui loengu 1. näide: 20 minutit).
- Probleem 1: (Näide 1 loengust -> pilt selle WIKI RHS-ist) ja palus läbida edasiliikumise, kasutades järgmisi parameetreid (20 minutit).
- Nende kolme probleemi alameesmärgid on õpilaste harjumine süvaõppe põhimõistete (aktiveerimisfunktsioonid, topoloogia ja kaotuse funktsioonid) struktuuri ja rakendamisega.
Aeg: 60 minutit
Kestus (Min) | Kirjeldus |
---|---|
20 | Probleem 1: Pliiatsi ja paberi edasipääs (näide loengust) |
20 | Probleem 2: Närvivõrgu arendamine nullist, kasutades Numpyt (näide loengust) |
10 | Probleem 3: Närvivõrgu arendamine Kerase kasutamisel (näide seatud kaalude ja juhuslike kaaludega loengust) |
10 | Kokkuvõte edasiliikumise protsessist |
Juhend 2 – Tuletamine ja tagasilevimise rakendamine
Õpetaja juhised
- See õpetus tutvustab õpilastele kunstliku närvivõrgu backpropagation õppealgoritmi põhialuseid. See õpetus koosneb tagasipropageerimisalgoritmi tuletamisest pliiatsi ja paberi abil, seejärel tagasipropageerimisalgoritmi rakendamisest kolme erineva varjatud kihi aktiveerimisfunktsiooni jaoks (Sigmoid, Tan H ja ReLu), kasutades Pythoni ainult Numpy teegiga (maatriksite manipuleerimiseks) ja seejärel KERAS.. See põhineb fundamentaalsel arusaamisel erinevatest aktiveerimisfunktsioonidest, kui närvivõrk õpib ja kuidas aktiveerimisfunktsioonid erinevad arvutusliku keerukuse ja rakenduse poolest pliiatsist ja paberist kuni nullist kodeerimiseni, kasutades Numpyt ja seejärel kasutades kõrgetasemelist moodulit -> Keras.
- Märkus: Topoloogia on sama mis loeng 1/Tutorial 1, kuid kaalud ja sisendid on erinevad, võite muidugi kasutada samu kaalusid.
- Õpilastele esitatakse neli probleemi (esimene on vabatahtlik või täiendav materjal):
- Probleem 1: Tagasipropageerimisalgoritmi tuletamisel (kasutades Sigmoidi funktsiooni sise- ja välimiseks aktiveerimisfunktsiooniks ja MSE-d kui kaotusfunktsiooni), palutakse õpilastel tuletada tagasipropageerimisvalem (20 minutit).
- Probleem 2: Õpilased rakendavad kolme aktiveerimisfunktsiooni ühe kaaluvärskenduse (SGD backpropagation) jaoks, kasutades pliiatsit ja paberit (20 minutit):
- Sigmoid (peidetud kiht), Sigmoid (Outer Layer) ja MSE
- Tan H (peidetud kiht), Sigmoid (Outer Layer) ja MSE
- ReLU (peidetud kiht), Sigmoid (Outer Layer) ja MSE
- Probleem 3: Õpilastel palutakse (sõltuvalt eelnevast kodeerimiskogemusest) arendada närvivõrk nullist, kasutades ainult Numpy moodulit, ning kaalud ja aktiveerimisfunktsioonid, kus on võimalus valida ühest varjatud kihi aktiveerimisfunktsioonist, et uuendada kaalusid SGD-ga (20 minutit).
- Probleem 4: Õpilastel palutakse (sõltuvalt eelnevast kodeerimiskogemusest) arendada närvivõrk, kasutades Tensorflow 2.X moodulit koos ehitatava Kerase mooduliga ning kaalude ja aktiveerimisfunktsioonidega ning seejärel kasutades juhuslikke kaalusid ühe või mitme kaaluvärskenduse lõpuleviimiseks. Palun mitte, kuna Keras kasutab kerget erinevat MSE kaotust, Kerase näites väheneb kadu kiiremini.
- Keras MSE = kadu = ruut(y_true – y_pred)
- Õpetus MSE = kadu = (ruut(y_true – y_pred))*0,5
- Nende kolme probleemi alameesmärgid on, et õpilased mõistaksid tagasipropageerimisalgoritmi, rakendaksid seda nii, et hüpermeetri häälestamiseks saavad õpilased paremini mõista hüperparameetrite mõju.
Aeg: 60 minutit
Kestus (Min) | Kirjeldus |
---|---|
20 (valikuline) | Probleem 1: Tagasipropageerimisvalemi tuletamine Sigmoidi funktsiooni abil sisemise ja välimise aktiveerimisfunktsiooni jaoks ning mikro-, väike- ja kergrelvade funktsioonina (vabatahtlik) |
20 | Probleem 2: Õpilased rakendavad kolme aktiveerimisfunktsiooni ühe kaaluvärskenduse (SGD backpropagation) jaoks, kasutades pliiatsit ja paberit (20 minutit): |
20 | Probleem 3: Õpilased arendavad närvivõrgu nullist, kasutades ainult Numpy moodulit, kus kasutaja saab valida mis tahes kolmest peidetud kihi aktiveerimisfunktsioonist, kus kood saab ette valmistada backpropagationi |
10 | Probleem 4: Õpilased kasutavad Tensorflow 2.X moodulit koos ehitatava Kerase mooduliga, eelvormige backpropagation, kasutades SGD-d. |
10 | Kokkuvõte edasiliikumise protsessist |
Juhend 3 – Hüperparameetri häälestamine
Õpetaja juhised
- See õpetus tutvustab õpilastele hüperparameetri tunning põhialuseid kunstliku närvivõrgu jaoks. See õpetus koosneb mitmest hüperparameetrist ja seejärel hindamisest, kasutades samu mudeleid nagu loeng (lektor 3). See õpetus keskendub hüperparameetrite süstemaatilisele muutmisele ja diagnostiliste kruntide hindamisele (kasutades kadu – kuid seda saab täpsuse huvides hõlpsasti muuta, kuna see on klassifitseerimisprobleem), kasutades loendusandmestikku. Selle juhendaja lõpus (sammult näited) eeldatakse, et õpilased täidavad praktilise õigluse täiendava hindamisega (tuginedes alakogumi tulemuslikkuse hindamisele).
- Märkused:
- Andmekogumis toimub eeltöötlemine (lisatud sülearvutisse), kuid see on minimaalne, et andmestik töötaks ANNiga. See ei ole kõikehõlmav ega sisalda ühtegi hindamist (erapooletus/õiglus).
- Me kasutame diagnostilised graafikud, et hinnata mõju hüperparameeter tunning ja eriti keskenduda kaotus, kus tuleb märkida, et moodul, mida me kasutame joonistada kadu on matplotlib.pyplot, seega telg on skaleeritud. See võib tähendada, et koolituse või katseandmete kadumise võrdlemisel ei pruugi olulised erinevused olla märkimisväärsed või vastupidi.
- Esitatakse mõned tellingute vabadused, näiteks Epochsi kasutamine kõigepealt (peaaegu seadustamistehnikana), säilitades samas partii suuruse konstantsena.
- Selgete näidete esitamiseks (st ülepaigaldamine) võib olla lisatud mõned täiendavad tweaks teistele hüperparameetritele, et anda näidete jaoks selged diagnostilised graafikud.
- Kui on kindlaks tehtud mõistlik võimsus ja sügavus, on nii see kui ka muud hüperparameetrid lukustatud, et võimaluse korral näiteid järgida.
- Lõpuks, mõned rakud võivad võtta aega, et treenida, isegi GPU juurdepääsu.
- Õpilased esitatakse mitu sammu juhendaja:
- Etapp: Täiskasvanute loenduse andmekogumi mõned põhilised eeltöötlused
- Etapp: Võimsus ja sügavus tunning (sealhulgas järgmised näited):
- Ühtlustumine puudub
- Alasobivus
- Ülepaigaldamine
- Lähenemine
- Etapp: Epohhid (üle ja koolitusel, kuid ei tutvusta seda kui ametlikku seadustamistehnikat)
- Etapp: Aktiveerimisfunktsioonid (seoses jõudlusega – koolitusaeg ja mõnel juhul kadumine)
- Etapp: Õpitulemused (sealhulgas järgmised näited):
- SGD Vanilla
- SGD õppekiiruse langusega
- SGD hoogsalt
- Kohanemisvõimelised õppemäärad:
- RMSProp
- AdaGrad
- Adam
- Nende viie osa alameesmärgid on anda õpilastele näiteid ja kogemusi tunningi hüperparameetrite kohta ja hinnata mõju diagnostiliste kruntide abil.
Aeg: 60 minutit
Kestus (Min) | Kirjeldus |
---|---|
5 | Andmete eeltöötlemine |
10 | Võimsus ja sügavus tunning (paigaldise all ja kohal) |
10 | Epohhid (koolitusel ja koolitusel) |
10 | Partii suurused (müra summutamiseks) |
10 | Aktiveerimisfunktsioonid (ja nende mõju jõudlusele – aeg ja täpsus) |
10 | Õppekiirused (vanilla, LR Decay, Momentum, adaptiivne) |
5 | Võtke kokku mõned põhilised hüperparameetrid (ReLu, Aadam) ja teiste tunning (võimsus ja sügavus). |
Tunnustused
Keith Quille (TU Dublin, Tallaght Campus) http://keithquille.com
Inimkeskse tehisintellekti magistriprogrammi kaasfinantseeris Euroopa Liidu Ühendamise Rahastu toetusega CEF-TC-2020–1 „Digioskused 2020“-EU-IA-0068.