11 Neural Networks
🆕 Գլխի բոլոր դասախոսություններն անցկացված են ([40], [41_1], [41_2], [42], [43], [44], [45])։ Սլայդերը և նշումներով PDF-երը ներքևում են, տեսանյութերը՝ շուտով։
🎲 Random
TBD
📚 Նյութը
Սլայդերը հիմնված են LMU-ի Introduction to Deep Learning դասընթացի սլայդերի վրա՝ մեր լրացումներով։ Սլայդերը ml/11_neural_networks/ պանակում։
[40] Խորը ուսուցում. ներածություն և պատմություն — ինչ է deep learning-ը, համառոտ պատմություն, և ինչ է այն անում այսօր․ ոլորտի և ինդուստրիայի վիճակը, Bun-ի Rust-ով վերագրումը AI գործակալներով, generative մեդիա, ռոբոտներ, AI-ը գիտության մեջ (AlphaFold, Էրդյոշի խնդիրներ, Նավիե-Սթոքսի case study, AlphaEvolve), մարդիկ, և ինչպես շարունակել սովորել։ 🎞️ Սլայդեր · 📝 PDF (նշումներով) · 📺 տեսանյութը՝ շուտով
[41_1] Նեյրոնից՝ ցանց — մեկ նեյրոնը (լոգիստիկ ռեգրեսիան՝ որպես նեյրոն), XOR-ը և ինչու մեկ նեյրոնը բավական չէ, մեկ թաքնված շերտ, ակտիվացիոն ֆունկցիաներ, ինչպես է ReLU-ն «ծալում» տարածությունը։ 🎞️ Սլայդեր · 📝 PDF (նշումներով) · 📺 տեսանյութը՝ շուտով
[41_2] Բազմաշերտ ցանցեր — մատրիցային նշանակումներ և չափերի հետևում, բազմաշերտ ցանցեր, ինչու է խորությունը ավելի արդյունավետ, քան լայնությունը (2081 vs 72,807,417 տիրույթ), բազմադասային դասակարգում և softmax, ունիվերսալ մոտարկման թեորեմը և նրա «մանր տառերը»։ 🎞️ Սլայդեր · 📝 PDF (նշումներով) · 📺 տեսանյութը՝ շուտով
[42] Ցանցի ուսուցում. գրադիենտային իջեցում և backpropagation — էմպիրիկ ռիսկի մինիմիզացիա, gradient descent և SGD, հաշվարկային գրաֆներ, backpropagation-ը քայլ առ քայլ (XOR-ի ձեռքով օրինակը՝ LMU-ի թվաբանական վրիպակի ուղղումով), δ-երի ռեկուրսիան և քեշավորումը, vanishing gradients, softmax-ի գրադիենտը՝ որպես «քաշել-հրել»,
loss.backward()-ը մեկ տողում, ինչու է backprop-ը «leaky abstraction», ինչ է փոխվել սարքավորումներում մինչև 2026, GPU-ի վարձակալություն և փորձերի հետագծում (Weights & Biases)։ 🎞️ Սլայդեր · 📝 PDF (նշումներով) · 📺 տեսանյութը՝ շուտով[43] Ռեգուլյարացիա — weight decay-ը՝ որպես Ridge, early stopping, ուսուցման կորերը կարդալը, ցանցն անգիր է անում պատահական պիտակները (Zhang et al.), double descent և scaling laws, dropout (այդ թվում՝ inverted dropout-ի մասշտաբավորումը PyTorch-ում և ինչու է այն այսօր անջատվում LLM-երի նախապատրաստման ժամանակ), տվյալների ավգմենտացիա և «որ կոճակը երբ» աղյուսակը։ 🎞️ Սլայդեր · 📝 PDF (նշումներով) · 📺 տեսանյութը՝ շուտով
[44] Օպտիմիզացիա (1/2). ինչն է դժվարացնում ուսուցումը և ինչպես ենք արագացնում այն — վատ պայմանավորված Հեսսյան, լոկալ մինիմումներ, թամբակետեր և ժայռեր (gradient clipping), ինչու է SGD-ն այնուամենայնիվ աշխատում, momentum և Nesterov, ուսուցման քայլի ժամանակացույցեր (այդ թվում՝ warmup + cosine), AdaGrad/RMSProp/Adam, Adam-ից AdamW երեք սլայդով (չափված համեմատությամբ), BatchNorm և LayerNorm։ 🎞️ Սլայդեր · 📝 PDF (նշումներով) · 📺 տեսանյութը՝ շուտով
[45] Օպտիմիզացիա (2/2). սկզբնարժեքավորում և ակտիվացիաներ — ինչու է կարևոր սկզբնարժեքավորումը, Glorot-ը և He-ի \(2/m\)-ի արտածումը (և չափումը), ինչ կորուստ պետք է սպասել ուսուցումից առաջ (\(\ln C\)), ակտիվացիոն ֆունկցիաները՝ որպես բանաձևեր (սիգմոիդ, tanh, ReLU-ների ընտանիք, GELU), որ ակտիվացիան երբ, ժամանակակից ցանցերի գերվստահությունը (կալիբրացիա), երկու լուռ սխալ տնայինում և չորս էժան ստուգում՝ երկար ուսուցումից առաջ, գլխի ամփոփում։ 🎞️ Սլայդեր · 📝 PDF (նշումներով) · 📺 տեսանյութը՝ շուտով
Օպտիմիզատորների (SGD, momentum, Adam) մանրամասների համար՝ Optim մոդուլը (09 Optim: Prerequisites and Gradient Descent, 10 Optim: Momentum + First Order Methods)։
Օգտակար նյութեր (դասին ցույց տրվածները):
- TensorFlow Playground — ցանցը սովորում է հենց բրաուզերում. վերցրեք XOR կամ spiral տվյալները, սկսեք 0 թաքնված շերտից, հետո ավելացրեք շերտեր ու նեյրոններ։
- 📺 Neural networks — 3Blue1Brown-ի playlist-ը, կշիռների ամենապարզ վիզուալ ինտուիցիան։
- MLU-Explain: Neural Networks — կարճ, ինտերակտիվ բացատրություն։
- 📺 The spelled-out intro to neural networks and backpropagation: building micrograd — Andrej Karpathy, նեյրոնն ու backpropagation-ը զրոյից Python-ով (📺 Neural Networks: Zero to Hero playlist-ի առաջին տեսանյութը)։
- 📺 Why Deep Learning Works Unreasonably Well [How Models Learn Part 3] — Welch Labs, «ծալելու» և խորության երկրաչափությունը. սլայդերի Welch Labs նկարներն այս տեսանյութից են։
🧪 Գործնական — The Armenian Name Inventor
Instructor-led practical (դասի ընթացքում միասին ենք անցնում). We build a character-level language model — an embedding layer plus the MLP from [41]-[43], nothing else — train it on 689 հայկական ազգանուն scraped from Armenian Wikipedia, and have it invent surnames that do not exist: Ավանիբեկյան, Ղամիրյան, Զոդոյան, Քոլաջյան… This is literally the architecture of the first neural language model (Bengio et al., 2003) — the direct ancestor of every modern LLM, at ~8.5k parameters.
Two tools make their course debut here, both explained from zero inside the notebook:
- PyTorch — tensors,
nn.Module, autograd, and the training loop, introduced at the exact moment each is needed; - Weights & Biases — experiment tracking: named runs, loss curves against a clueless-guessing baseline, tables of generated names per epoch (watch «-յան» get learned in the first epochs), and a one-run hyperparameter comparison with multi-line charts.
Along the way: a bigram baseline and perplexity, early stopping (the val minimum arrives fast), saving the model and loading it back, overfitting as memorization (the net starts reciting real surnames — the same failure that makes LLMs leak training data), the temperature knob (down to greedy T = 0), a UMAP map of the learned character embeddings, and steering generation with a prefix (everyone makes surnames from their own initials).
Notebook: 47_name_inventor_solution.ipynb (download) · view on GitHub
Data prep (already pinned, no internet needed): py_src/fetch_surnames.py → data/surnames_hy.txt
🏡 Տնային
TBD