30  Další zdroje a literatura

Tato příloha obsahuje doporučené zdroje pro další studium témat z knihy.

30.1 Online kurzy

30.1.1 Základy matematiky a programování

  • Khan Academy (https://www.khanacademy.org)
    • Bezplatné kurzy matematiky od základů po pokročilá témata
    • Interaktivní cvičení s okamžitou zpětnou vazbou
    • K dispozici i v češtině
  • 3Blue1Brown (https://www.3blue1brown.com)
    • Vynikající vizuální vysvětlení matematických konceptů
    • Série “Essence of Linear Algebra” a “Essence of Calculus”
    • YouTube kanál s animovanými videi
  • MIT OpenCourseWare (https://ocw.mit.edu)
    • Bezplatné materiály z MIT kurzů
    • 18.06 Linear Algebra (Gilbert Strang)
    • 18.01 Single Variable Calculus

30.1.2 Strojové učení

  • Fast.ai (https://www.fast.ai)
    • Praktický přístup “top-down”
    • Kurz “Practical Deep Learning for Coders”
    • Vlastní knihovna fastai postavená na PyTorch
  • Coursera - Machine Learning (Andrew Ng)
    • Klasický úvod do strojového učení
    • Nová verze s Pythonem a TensorFlow
    • Certifikát po dokončení
  • Deep Learning Specialization (deeplearning.ai)
    • Pět kurzů pokrývajících hluboké učení
    • Od základů po sekvenční modely
    • Andrew Ng a tým
  • Stanford CS231n (https://cs231n.stanford.edu)
    • Konvoluční neuronové sítě pro počítačové vidění
    • Přednášky a materiály zdarma online
  • Stanford CS224n (https://web.stanford.edu/class/cs224n/)
    • Zpracování přirozeného jazyka s hlubokým učením
    • Transformery a jazykové modely

30.1.3 Matematika pro ML

  • Mathematics for Machine Learning (https://mml-book.github.io)
    • Bezplatná online kniha
    • Lineární algebra, pravděpodobnost, optimalizace
    • Kurz na Coursera
  • The Matrix Calculus You Need For Deep Learning
    • Článek od Terrence Parr a Jeremy Howard
    • Praktický přístup k maticovým derivacím

30.2 Knihy

30.2.1 Matematika

  • “Linear Algebra and Its Applications” - Gilbert Strang
    • Klasická učebnice lineární algebry
    • Srozumitelný výklad s aplikacemi
  • “Calculus” - James Stewart
    • Komprehenzivní učebnice diferenciálního a integrálního počtu
    • Mnoho příkladů a cvičení
  • “Introduction to Probability” - Blitzstein & Hwang
    • Moderní přístup k pravděpodobnosti
    • Bezplatná online verze

30.2.2 Strojové učení a hluboké učení

  • “Deep Learning” - Goodfellow, Bengio, Courville
    • “Bible” hlubokého učení
    • Bezplatně online: https://www.deeplearningbook.org
    • Matematicky důkladný přístup
  • “Pattern Recognition and Machine Learning” - Christopher Bishop
    • Klasická učebnice ML
    • Bayesovský přístup
  • “Hands-On Machine Learning” - Aurélien Géron
    • Praktický průvodce s Scikit-learn a TensorFlow/Keras
    • Vhodné pro začátečníky
  • “Dive into Deep Learning” - Aston Zhang et al.
    • Interaktivní kniha s kódem
    • Bezplatně: https://d2l.ai
    • Verze pro PyTorch, TensorFlow, MXNet
  • “Neural Networks and Deep Learning” - Michael Nielsen
    • Bezplatná online kniha
    • Vynikající úvod s vizualizacemi
    • http://neuralnetworksanddeeplearning.com

30.2.3 Transformery a NLP

  • “Natural Language Processing with Transformers” - Tunstall et al.
    • Praktický průvodce s Hugging Face
    • Moderní NLP techniky
  • “Speech and Language Processing” - Jurafsky & Martin
    • Klasická učebnice NLP
    • Bezplatná online verze 3. vydání

30.3 Dokumentace a tutoriály

30.3.1 Python

  • Oficiální Python dokumentace (https://docs.python.org)
  • Real Python (https://realpython.com) - tutoriály a články
  • Python Tutor (https://pythontutor.com) - vizualizace kódu

30.3.2 NumPy

  • Oficiální dokumentace (https://numpy.org/doc/)
  • NumPy User Guide - kompletní průvodce
  • 100 NumPy Exercises - praktická cvičení

30.3.3 PyTorch

  • Oficiální tutoriály (https://pytorch.org/tutorials/)
  • PyTorch dokumentace (https://pytorch.org/docs/)
  • PyTorch Lightning - zjednodušení trénování

30.3.4 Hugging Face

  • Transformers dokumentace (https://huggingface.co/docs/transformers/)
  • Hugging Face Course (https://huggingface.co/course/)
  • Model Hub - předtrénované modely

30.4 Vědecké články

30.4.1 Základní články

  • “Attention Is All You Need” (Vaswani et al., 2017)
    • Původní článek o architektuře Transformer
    • https://arxiv.org/abs/1706.03762
  • “BERT: Pre-training of Deep Bidirectional Transformers” (Devlin et al., 2018)
    • Bidirectional encoder representations
    • https://arxiv.org/abs/1810.04805
  • “Language Models are Unsupervised Multitask Learners” (GPT-2)
    • OpenAI GPT-2 paper
    • https://openai.com/research/better-language-models
  • “Language Models are Few-Shot Learners” (GPT-3)
    • Brown et al., 2020
    • https://arxiv.org/abs/2005.14165
  • “Deep Residual Learning for Image Recognition” (He et al., 2015)
    • ResNet a skip connections
    • https://arxiv.org/abs/1512.03385
  • “Adam: A Method for Stochastic Optimization” (Kingma & Ba, 2014)
    • Adam optimizer
    • https://arxiv.org/abs/1412.6980
  • “Dropout: A Simple Way to Prevent Neural Networks from Overfitting” (Srivastava et al., 2014)
    • Regularizace pomocí dropout
    • https://jmlr.org/papers/v15/srivastava14a.html

30.4.2 Kde hledat články

  • arXiv (https://arxiv.org) - preprint server
  • Papers With Code (https://paperswithcode.com) - články s implementacemi
  • Google Scholar (https://scholar.google.com) - vyhledávač článků
  • Semantic Scholar (https://www.semanticscholar.org) - AI-powered vyhledávání

30.5 Nástroje a prostředí

30.5.1 Vývojová prostředí

  • VS Code (https://code.visualstudio.com)
    • Bezplatný editor s Python podporou
    • Jupyter notebook integrace
  • JupyterLab (https://jupyter.org)
    • Interaktivní výpočetní prostředí
    • Ideální pro experimentování
  • Google Colab (https://colab.research.google.com)
    • Bezplatné Jupyter notebooky v prohlížeči
    • GPU zdarma (s omezeními)
  • Kaggle Notebooks (https://www.kaggle.com)
    • Bezplatné notebooky s GPU/TPU
    • Přístup k datasetům a soutěžím

30.5.2 Vizualizace

  • TensorBoard - vizualizace trénování
  • Weights & Biases (https://wandb.ai) - experiment tracking
  • Matplotlib a Seaborn - grafy
  • Plotly - interaktivní vizualizace

30.5.3 Správa experimentů

  • MLflow (https://mlflow.org) - správa ML lifecycle
  • DVC (https://dvc.org) - verzování dat a modelů
  • Hydra (https://hydra.cc) - konfigurace experimentů

30.6 Komunity a fóra

30.6.1 Diskuzní fóra

  • Stack Overflow - programátorské otázky
  • Cross Validated (stats.stackexchange.com) - statistika a ML
  • Reddit:
    • r/MachineLearning - výzkum a novinky
    • r/learnmachinelearning - učení se ML
    • r/deeplearning - hluboké učení

30.6.2 Sociální sítě

  • Twitter/X - ML komunita, výzkumníci
  • LinkedIn - profesní síť
  • Discord - servery pro ML komunity (Hugging Face, fast.ai, atd.)

30.6.3 Blogy

  • Distill.pub - interaktivní ML články
  • The Gradient - ML eseje a analýzy
  • Lil’Log (Lilian Weng) - vynikající přehledy ML témat
  • Jay Alammar - vizuální vysvětlení transformerů
  • Andrej Karpathy - blog o deep learning

30.7 České zdroje

30.7.1 Univerzitní kurzy

  • ČVUT FEL - kurzy strojového učení a umělé inteligence
  • MFF UK - matematické základy, datová věda
  • VUT FIT - strojové učení, neuronové sítě

30.7.2 Knihy v češtině

  • “Úvod do umělé inteligence” - Mařík, Štěpánková, Lažanský
  • “Neuronové sítě” - Jiří Šíma, Roman Neruda

30.7.3 Komunity

  • PyData Prague - meetupy o datové vědě
  • Prague ML Meetup - setkání o strojovém učení
  • Czech AI - česká AI komunita

30.8 Doporučený studijní plán

30.8.1 Začátečníci (0-3 měsíce)

  1. Projít tuto knihu
  2. Khan Academy - doplnění matematiky
  3. Python tutoriály (Real Python)
  4. Coursera ML kurz (Andrew Ng)

30.8.2 Pokročilí začátečníci (3-6 měsíců)

  1. Fast.ai kurz
  2. Hands-On Machine Learning (kniha)
  3. PyTorch tutoriály
  4. Kaggle soutěže (začátečnické)

30.8.3 Středně pokročilí (6-12 měsíců)

  1. Deep Learning book (Goodfellow)
  2. Stanford CS231n nebo CS224n
  3. Implementace modelů od nuly
  4. Čtení vědeckých článků

30.8.4 Pokročilí (1+ rok)

  1. Aktuální výzkum na arXiv
  2. Reprodukce článků
  3. Vlastní experimenty
  4. Příspěvky do open source

30.9 Závěrečné poznámky

Strojové učení je rychle se vyvíjející obor. Doporučujeme:

  1. Pravidelně sledovat novinky - arXiv, Twitter, blogy
  2. Praktikovat - implementovat, experimentovat, soutěžit
  3. Budovat projekty - portfolio na GitHubu
  4. Zapojit se do komunity - meetupy, diskuze, open source

Hodně štěstí na vaší cestě do světa strojového učení!