ai_learning/README.md

98 lines
6.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# AI Learning — полный цикл машинного обучения
Практическая программа на **43 недели по 8–10 часов в неделю**: от математики и
классических алгоритмов до нейросетей, компьютерного зрения, обработки звука,
fine-tuning LLM, API, Docker и мониторинга.
Программа построена не вокруг запоминания библиотек. Для каждого важного метода
нужно ответить на четыре вопроса:
1. Какую задачу и допущения он имеет?
2. Как устроены loss, обучение и регуляризация?
3. По каким метрикам и схеме валидации его сравнивать?
4. Как довести результат до воспроизводимого сервиса?
## Ожидаемый результат
После курса вы сможете:
- исследовать, очищать и визуализировать данные;
- выбирать между линейными моделями, деревьями, бустингом и нейросетями;
- реализовать GD/SGD, логистическую регрессию, дерево, MLP и attention с нуля;
- понимать backpropagation, функции активации, L1/L2 и оптимизаторы;
- обучать CNN, применять transfer learning и fine-tuning;
- транскрибировать речь и извлекать ритмическую структуру музыки;
- создавать по аудио проверяемый черновик карты для osu!;
- собрать генератор изображения рукописного текста;
- обучить маленькую LM и адаптировать open-weight LLM через LoRA;
- упаковать модель в API/Docker и организовать мониторинг.
## Roadmap
| Недели | Модуль | Результат |
|---:|---|---|
| 1 | 00. Среда и Git | Воспроизводимый проект |
| 2–3 | 01. Python и NumPy | Векторные вычисления и тестируемый код |
| 4–5 | 02. Линейная алгебра | Геометрия моделей, SVD и PCA |
| 6–7 | 03. Вероятность и статистика | Неопределённость и эксперименты |
| 8–9 | 04. Оптимизация | GD/SGD, градиенты, L1/L2 |
| 10–11 | 05. Данные и визуализация | EDA и preprocessing без leakage |
| 12–14 | 06. Классический ML | Выбор моделей, метрик и validation |
| 15–16 | 07. Деревья и бустинг | Ансамбли и интерпретация |
| 17 | 08. Unsupervised learning | Кластеры, размерность, аномалии |
| 18–20 | 09. Нейросети | MLP, backprop и PyTorch |
| 21–23 | 10. Computer Vision | CNN и transfer learning |
| 24–26 | 11. Звук, речь и музыка | Транскрибация и черновик карты osu! |
| 27–29 | 12. Рукописный текст | Условная генерация изображений |
| 30–32 | 13. NLP и Transformers | Attention и маленькая LM |
| 33–35 | 14. Fine-tuning LLM | LoRA, evaluation и RAG |
| 36–38 | 15. ML Engineering | Пакет, API и Docker |
| 39–40 | 16. MLOps | Tracking, drift и retraining |
| 41–43 | 17. Capstone | Full-cycle проект в портфолио |
## Как заниматься
1. Откройте [`THEORY_INDEX.md`](THEORY_INDEX.md) и прочитайте офлайн конспекты
выбранного модуля по порядку. Незнакомые термины ищите в
[`GLOSSARY.md`](GLOSSARY.md).
2. Затем откройте `modules/<модуль>/README.md` и переходите к практике.
3. Выполняйте задания из `assignments/` в собственной папке `solution/`.
4. Не смотрите готовую реализацию до первой самостоятельной попытки.
5. Отдельно отметьте чтение теории и сдачу задания в
[`PROGRESS.md`](PROGRESS.md).
6. Напишите в чат: **«Проверь модуль XX, задание YY»**. Я проверю код,
корректность эксперимента, выводы и критерии приёмки.
Данные не нужно искать вслепую: рекомендуемые наборы, способы загрузки и случаи,
когда данные генерируются самостоятельно, перечислены в `DATASETS.md`.
## Режим недели
- 2–3 часа: теория и самостоятельные выводы формул;
- 4–5 часов: код и эксперимент;
- 1 час: тесты, графики и анализ ошибок;
- 1 час: отчёт и исправления после review.
## Важное уточнение о L1/L2/L3
L1 и L2 — нормы и типичные штрафы регуляризации. «L3» математически существует,
но не является стандартным третьим обязательным методом регуляризации в ML.
В курсе рассматриваются L1, L2, Elastic Net, dropout, early stopping и data
augmentation — с объяснением, когда каждый подход уместен.
## Структура
- [`THEORY_INDEX.md`](THEORY_INDEX.md) — маршрут по всем конспектам и их
предпосылкам;
- [`GLOSSARY.md`](GLOSSARY.md) — сквозные определения и ссылки на глоссарии
модулей;
- `modules/` — конспекты, цели и практические задания;
- `common/` — фундаментальные главы, обозначения, шаблоны и чек-листы;
- `requirements/` — группы зависимостей;
- `DATASETS.md` — откуда брать данные для каждого этапа;
- [`PROGRESS.md`](PROGRESS.md) — раздельный учёт теории и практики;
- `SETUP.md` — первый запуск на Windows.
Начните с `SETUP.md`, затем читайте теорию модуля 00 через
[`THEORY_INDEX.md`](THEORY_INDEX.md) и выполняйте его практику.