Cheatsheet

Нейронные сети и глубокое обучениеall topics on one page

5 modules
15 articles
0 definitions
4 formulas
Contents
1

Основы нейронных сетей

Перцептроны, многослойные сети и алгоритм обратного распространения

Перцептрон и многослойные нейронные сети

Формальный нейрон и перцептрон → Функции активации → Многослойная сеть (MLP) → Инициализация весов → Численный пример

Нейронные сети вдохновлены биологией, но давно стали самостоятельной математической областью. Перцептрон Розенблатта (1957) — простейший формальный нейрон, который уже обнаруживает основной принцип: линейное преобразование + нелинейная активация. Многослойные сети (MLP) из таких нейронов оказалис...

Биологическая мотивация: Нейрон мозга получает сигналы через дендриты, суммирует их в теле клетки и «стреляет» (спайк) только при превышении порога. Перцептрон моделирует это: взвешенная сумма входов + пороговая функция активации.

Перцептрон: y = sign(wᵀx + b) = sign(Σᵢ wᵢxᵢ + b), где x ∈ ℝⁿ — входной вектор, w ∈ ℝⁿ — веса, b — порог (bias), sign — знаковая функция (±1). Геометрически: w и b задают гиперплоскость wᵀx + b = 0 в ℝⁿ. Перцептрон разделяет пространство на два полупространства.

Теорема сходимости перцептрона (Rosenblatt, 1957): Если классы линейно разделимы, алгоритм обновления wₜ₊₁ = wₜ + yᵢxᵢ (при ошибке на (xᵢ, yᵢ)) сходится за конечное число шагов. Верхняя граница итераций: (R/γ)², где R = max||xᵢ|| — радиус, γ — маржа разделения.

Свёрточные нейронные сети (CNN)

Операция свёртки → Pooling и архитектура CNN → Эволюция архитектур → Специализированные архитектуры → Численный пример

  • Sharing весов: один фильтр применяется ко всему изображению → инвариантность к сдвигу
  • Локальность: каждый нейрон «смотрит» на локальный патч → локальные признаки
  • Иерархия: начальные слои — края, цвет; глубокие — объекты, семантика

Обработка изображений стала прорывным применением нейронных сетей. Свёрточные сети (CNN, LeCun et al., 1989) используют локальную структуру изображений: признаки (края, текстуры) локальны и инвариантны к сдвигу. CNN произвели революцию в компьютерном зрении, победив людей на ImageNet в 2012 году.

Полносвязная сеть для изображения 224×224×3: первый слой имел бы 224×224×3 = 150528 входов. При 1000 нейронах: 150M параметров — нерационально, не масштабируется.

Свёртка 2D: Ядро (фильтр) K ∈ ℝ^{f×f×C_in} «скользит» по входному изображению X ∈ ℝ^{H×W×C_in}:

(X * K)[i,j] = Σ_{m=0}^{f-1} Σ_{n=0}^{f-1} Σ_{c=0}^{C_in-1} X[i+m, j+n, c] · K[m, n, c] + b

Регуляризация и предотвращение переобучения

Bias-Variance Tradeoff → L2 регуляризация (Weight Decay) → L1 регуляризация (LASSO) → Dropout (Srivastava et al., 2014) → Batch Normalization (Ioffe & Szegedy, 2015) → Data Augmentation → Ранняя остановка (Early Stopping) → Численный пример

  • Без регуляризации: train acc 99%, test acc 88% (переобучение 11%)
  • + L2 (λ=1e-4): test acc 91%
  • + Dropout(p=0.5 перед FC): test acc 91.5%
  • + Data augmentation (flip+crop): test acc 93.2%
  • + Mixup (α=1.0): test acc 94.1%
  • Все вместе: test acc 95.3%

Нейронные сети с миллионами параметров могут «запомнить» обучающую выборку полностью — переобучиться. Разрыв между train и test ошибкой — главный враг на практике. Регуляризация — набор техник, снижающих переобучение без потери выразительности модели.

Простая модель: высокое смещение, низкая дисперсия. Сложная модель (DNN): низкое смещение (может аппроксимировать всё), но высокая дисперсия (чувствительна к данным).

Double descent: При современных переопараметризованных сетях классический U-трейдоф нарушается — при числе параметров ≫ n ошибка снова уменьшается.

Штраф: L_reg = L + λ/2 · ||θ||² = L + λ/2 · Σᵢ θᵢ². Обновление SGD: θ ← θ − α·∇L − αλθ = θ(1 − αλ) − α·∇L. «Затухание весов» (weight decay): каждый шаг уменьшает веса в (1−αλ) раз — тянет к нулю.

2

Глубокое обучение: теория и практика

Оптимизация, нормализация и продвинутые архитектуры

Обучение глубоких сетей: проблемы и решения

Проблема исчезающего/взрывающегося градиента → Residual Learning → Highway Networks и Gate механизмы → Нормализация внутри слоёв → Transfer Learning и Fine-tuning → Численный пример

Formulas

RMS Norm: x̂ = x/RMS(x), RMS(x) = √(mean(x²)). Быстрее BN (нет центрирования). Используется в LLaMA, Mistral.

Обучение нейронных сетей с десятками слоёв — нетривиальная задача. Исчезающий градиент, взрывающийся градиент, мёртвые нейроны, плохая инициализация — всё это практические проблемы, потребовавшие десятилетий исследований для решения.

Механизм: При backpropagation через L слоёв: ∂L/∂x₀ = (∏ₗ ∂aˡ/∂aˡ⁻¹) · ∂L/∂aᴸ. Каждый множитель ∂aˡ/∂aˡ⁻¹ = Wˡ · diag(σ'(zˡ)). Если собственные значения ||Wˡ · diag(σ'(zˡ))|| < 1 → произведение → 0 экспоненциально. Если > 1 → произведение → ∞.

Sigmoid и tanh: σ'(z) ≤ 0.25 (max при z=0). При L слоях: ||∂L/∂x₀|| ≤ (0.25·max||Wˡ||)^L → 0 если max||Wˡ|| < 4. ReLU устраняет проблему насыщения: σ'(z) = 1 при z>0 → градиент проходит без затухания.

Gradient clipping: при взрывании: ∇ ← ∇ · min(1, τ/||∇||). Ограничиваем норму градиента. Стандарт в RNN/LSTM. PyTorch: torch.nn.utils.clip_grad_norm_(model.parameters(), max_norm=1.0).

Объяснимый AI и анализ представлений

Визуализация признаков CNN → Интерпретируемость через сдвиги признаков → Зондирование (Probing) → Механистическая интерпретируемость → Численный пример

Formulas

Активационные карты: для изображения x визуализируем feature map aˡ[k] (k-й канал l-го слоя). Яркие пиксели = сильная реакция на k-й паттерн.

Нейронные сети — «чёрные ящики»: они выдают предсказания, но не объясняют решений. В высокоответственных областях (медицина, финансы, право) объяснимость — юридическое требование (GDPR Art. 22). Интерпретируемость также помогает отлаживать модели и обнаруживать систематические ошибки.

Что выучила CNN? Можно напрямую изучить фильтры W^{(1)} первого слоя (размерность 3×3×3 или 7×7×3): они напоминают ребра Gabor. Но глубокие слои — многомерные, не интерпретируются напрямую.

Активационные карты: для изображения x визуализируем feature map aˡ[k] (k-й канал l-го слоя). Яркие пиксели = сильная реакция на k-й паттерн.

wₖ = (1/Z)Σᵢⱼ ∂y^c/∂Aᵢⱼᵏ (глобальный average pooling градиентов) L_Grad-CAM = ReLU(Σₖ wₖ Aᵏ)

Графовые нейронные сети

Проблема обучения на графах → Message Passing Framework → Конкретные архитектуры GNN → Graph Transformer → Применения GNN → Численный пример

Многие реальные данные имеют структуру графа: социальные сети (пользователи + связи), молекулы (атомы + связи), дорожная сеть (перекрёстки + дороги), знания (сущности + отношения). Стандартные CNN и MLP игнорируют структуру — GNN сохраняют её.

Граф G = (V, E): n вершин, m рёбер. Каждая вершина v имеет признаки x_v ∈ ℝᵈ. Матрица смежности A ∈ {0,1}^{n×n}. Задача: предсказание метки каждой вершины (node classification), рёбра (link prediction), или всего графа (graph classification).

Главное отличие от обычных данных: нет фиксированного порядка вершин (граф — permutation-equivariant). Размер графа может быть разным. Необходимо учитывать структуру соседства.

Общий принцип GNN — «обмен сообщениями» между соседями. Каждая вершина агрегирует информацию от соседей, обновляет своё представление:

3

Рекуррентные нейронные сети

LSTM, GRU, обработка последовательностей и NLP

RNN, LSTM и GRU: архитектуры для последовательностей

Базовая RNN → LSTM (Long Short-Term Memory, Hochreiter-Schmidhuber, 1997) → GRU (Gated Recurrent Unit, Cho et al., 2014) → Bidirectional RNN и глубокие RNN → Численный пример: Language Model

Formulas

Stacked RNN: Вход для l-го уровня = hₜ^{(l-1)} (выход предыдущего уровня в момент t). 2–4 уровня дают значительный прирост на сложных задачах.

Рекуррентные нейронные сети предназначены для обработки последовательностей — текста, временных рядов, аудио. Они поддерживают «память» через скрытое состояние, передаваемое во времени. LSTM — ключевое изобретение 1997 года, открывшее обучение на длинных зависимостях.

Расшифровка: hₜ — скрытое состояние (память о прошлом), xₜ — вход в момент t, Wₕₕ — матрица «памяти» (связывает hₜ и hₜ₋₁), Wₓₕ — матрица входа, Wₕᵧ — матрица выхода. Одни и те же веса W на каждом шаге (weight sharing во времени).

Backpropagation Through Time (BPTT): Для обучения RNN разворачиваем во времени и применяем chain rule: ∂L/∂Wₕₕ = Σₜ ∂L/∂hₜ · ∂hₜ/∂Wₕₕ. Градиент: ∂hₜ/∂hₛ = Π_{k=s}^{t-1} ∂hₖ₊₁/∂hₖ = Π_{k=s}^{t-1} Wₕₕᵀ diag(tanh'(zₖ)).

Произведение из (t−s) матриц → при ||Wₕₕᵀ diag(tanh'(zₖ))|| < 1: исчезание. При > 1: взрывание. Проблема для длинных последовательностей (T > 20–30).

Эмбеддинги слов и предобученные языковые модели

Проблема представления слов → Word2Vec (Mikolov et al., 2013) → GloVe (Pennington et al., 2014) → Контекстуальные эмбеддинги: ELMo и BERT → Численный пример: аналогии Word2Vec

Прежде чем нейронные сети могут обрабатывать текст, слова должны быть преобразованы в числовые представления. Эволюция от one-hot векторов к Word2Vec, FastText и BERT показывает, как нейронные сети научились «понимать» язык. Это одна из самых революционных траекторий в NLP.

One-hot: слово i → вектор из нулей с единицей на i-й позиции. Размерность = |V| (словарь, 50K–200K). Проблемы: (1) Всё попарное косинусное расстояние = 0 — нет семантической близости. (2) Огромная размерность. (3) Разреженность.

Дистрибуционная гипотеза (Харрис, 1954): слова с похожим контекстом имеют похожие значения. «Банк» и «финансы» часто встречаются в одном контексте → близки. «Кошка» и «собака» близки. Это основа Word2Vec.

Skip-gram: Дано слово wₜ — предсказать окружение wₜ₋₂,...,wₜ₋₁,wₜ₊₁,...,wₜ₊₂ (окно c=2).

Архитектуры для временных рядов и прогнозирование

Специфика временных рядов → Seq2Seq для прогнозирования → N-BEATS (Oreshkin et al., 2020) → PatchTST и трансформеры для рядов → Сравнение с классическими методами → Численный пример

Formulas

Train/test split: Нельзя рандомно перемешивать! Только хронологическое разделение: train = первые 80%, test = последние 20%.

Временные ряды — финансовые данные, IoT-сенсоры, метеонаблюдения, энергопотребление — требуют специализированных архитектур. Нейронные сети конкурируют с классическими методами (ARIMA, ES) и часто превосходят их при достаточном объёме данных.

Ключевые свойства: Автокорреляция (значения зависят от прошлого). Тренд (долгосрочное направление). Сезонность (периодические паттерны: суточная, недельная, годовая). Нестационарность (статистика меняется во времени: среднее, дисперсия).

Препроцессинг: Нормализация: x̂ₜ = (xₜ − μ)/σ. Дифференцирование (устраняет нестационарность): Δxₜ = xₜ − xₜ₋₁. Сезонное дифференцирование: xₜ − xₜ₋ₛ. Log-трансформация: ln(xₜ) — стабилизирует дисперсию при мультипликативной сезонности.

Train/test split: Нельзя рандомно перемешивать! Только хронологическое разделение: train = первые 80%, test = последние 20%.

4

Генеративные модели

GAN, VAE, диффузионные модели и генерация данных

Генеративно-состязательные сети (GAN)

Принцип GAN: игровая постановка → Проблемы обучения GAN → Улучшения: DCGAN, WGAN, StyleGAN → Численный пример

GAN (Goodfellow et al., 2014) — один из наиболее творческих архитектурных паттернов в истории машинного обучения. Ян Лекун назвал их «самой интересной идеей в машинном обучении за последние 20 лет». Они породили целую эпоху синтетических медиа: реалистичные лица, deepfakes, AI-художники.

Два агента: Generator G: z → x̂ (генерирует синтетические данные из шума z). Discriminator D: x → [0,1] (отличает реальные данные от синтетических).

Расшифровка: D максимизирует вероятность правильной классификации реальных (D(x)→1) и фейковых (D(G(z))→0). G минимизирует вероятность, что D обнаружит подделку (D(G(z))→1).

Оптимальное D при фиксированном G: D*(x) = p_data(x)/(p_data(x) + p_G(x)). Подставляя: max_D V = −log(4) + 2·JSD(p_data || p_G). JSD — Jensen-Shannon дивергенция. В равновесии: p_G = p_data → D* = 1/2 → V = −log(4).

Вариационные автоэнкодеры и диффузионные модели

Вариационный автоэнкодер (VAE, Kingma & Welling, 2013) → Диффузионные модели (Ho et al., DDPM, 2020) → Latent Diffusion и Stable Diffusion → Численный пример

VAE и диффузионные модели — альтернативы GAN для генерации данных с принципиально разными математическими основаниями. VAE основан на вариационном байесовском выводе; диффузионные модели — на итеративном денойзинге и связи с диффузионными уравнениями.

Проблема: Хотим обучить генеративную модель p_θ(x) = ∫ p_θ(x|z) p(z) dz, где z — латентный код. Интеграл по всем z неаналитичен (высокоразмерное интегрирование).

Расшифровка двух слагаемых: (1) E[log p_θ(x|z)] — reconstruction loss: насколько хорошо декодер восстанавливает x из z — качество реконструкции. (2) −KL(q_φ(z|x)||p(z)) — KL-дивергенция между апостериором q_φ(z|x) и приором p(z)=N(0,I) — регуляризация, тянет апостериор к стандартному гауссиану.

Архитектура VAE: Encoder: x → (μ_φ(x), log σ²_φ(x)) (параметры апостериора). Sampling: z = μ_φ(x) + σ_φ(x) ⊙ ε, ε ~ N(0,I) (reparameterization trick — делает выборку дифференцируемой). Decoder: z → x̂ (реконструкция).

Применения генеративных моделей в науке и промышленности

Генерация молекул и открытие лекарств → Синтез данных для Privacy-Preserving ML → Text-to-Image и AIGC-революция → Генеративные модели в науке о климате → Численный пример: GAN для синтеза ЭКГ

Генеративные модели вышли далеко за рамки академических задач. Они создают реальную ценность в фармацевтике, материаловедении, синтезе данных, медиапроизводстве и науке о климате.

AlphaFold 2 (DeepMind, 2021): Революционное предсказание 3D-структуры белков по аминокислотной последовательности. Архитектура: Evoformer (трансформер с «pair representation» взаимодействий остатков) + Structure Module (явное 3D позиционирование). Точность: ошибка ≈ 0.96 Å — сопоставима с кристал...

Генеративное открытие молекул: VAE или нормализующие потоки в пространстве SMILES-строк. Молекулы-кандидаты: максимизировать связывание с мишенью, минимизировать токсичность, максимизировать растворимость. Навигация в латентном пространстве молекул. Компания Insilico Medicine: GAN-разработанная м...

Protein design (RFDiffusion, David Baker lab, 2023): Диффузионная модель для дизайна белков de novo. Задаёт желаемую функцию → генерирует структуру → нет аминокислот → инверсное сворачивание (ProteinMPNN) → синтез и тест. 70% дизайнов функционируют в лаборатории (vs 5% у предшественников).

5

Трансформеры и большие языковые модели

Механизм внимания, BERT, GPT и LLM-эра

Механизм внимания и архитектура трансформера

Механизм внимания (Attention) → Multi-Head Attention → Архитектура трансформера → Эффективные альтернативы → Численный пример

Трансформер (Vaswani et al., «Attention Is All You Need», 2017) — революционная архитектура, устранившая рекуррентность в обработке последовательностей. Self-attention позволяет каждому элементу взаимодействовать с любым другим напрямую, без рекуррентных узких мест. Трансформеры сейчас доминируют...

Интуиция: При переводе «The animal didn't cross the street because it was too tired» → нужно понять, что «it» = «animal». RNN «забывает» дальние зависимости. Attention позволяет явно «смотреть» на нужные позиции при генерации каждого токена.

Q (queries) ∈ ℝ^{n×d_k}: «что ищем». K (keys) ∈ ℝ^{m×d_k}: «что предлагают» все позиции. V (values) ∈ ℝ^{m×d_v}: «что берём» из выбранных позиций.

Шаги: (1) QKᵀ ∈ ℝ^{n×m}: скалярные произведения каждой пары запрос-ключ. Элемент [i,j]: насколько позиция j «отвечает» на запрос позиции i. (2) /√d_k: масштабирование предотвращает слишком большие значения при высоком d_k (иначе softmax насыщается). (3) softmax: нормировка в распределение (строки...

Большие языковые модели: возможности и ограничения

Законы масштабирования → Emergent Abilities → RLHF: обучение с подкреплением от человека → Ограничения LLM → Численный пример

GPT-4, Claude, Gemini, LLaMA — большие языковые модели (LLM) стали трансформирующей технологией 2020-х. Понимание их возможностей, механизмов обучения и ограничений — необходимость для каждого специалиста в AI.

Расшифровка: N — число параметров, D — размер датасета в токенах, C — вычислительный бюджет в FLOPs. Loss убывает степенным образом при росте каждого фактора — улучшение предсказуемо и непрерывно. Практический вывод: больше данных + модель + вычисления → лучше.

Закон Хоффмана-Chinchilla (DeepMind, 2022): Оптимальное соотношение при фиксированном C: N∝D — параметры ≈ токены (умноженные на константу ≈ 20). GPT-3 (175B) обучен на 300B токенах → «недообучен». Chinchilla (70B, 1.4T токенов) лучше Gopher (280B, 300B токенов). Стратегия: меньше параметров, бол...

Inference efficiency: LLaMA-3-8B (8B параметров, 15T токенов): 90% производительности GPT-3 при 22× меньше параметров и свободном доступе.

Fine-tuning и применение LLM в специализированных областях

Методы адаптации LLM → Retrieval-Augmented Generation (RAG) → Специализированные LLM → Оценка LLM → Численный пример

  • Rank r=16, alpha=32, target modules=q_proj, v_proj
  • Trainable params: 16.7M (0.21% от 8B)
  • Обучение: 3 эпохи × 50K примеров, A100 40GB, ~6 часов
  • Val loss: 1.82 → 1.31 (28% снижение)
  • NER в договорах (extraсция сторон, дат, сумм): F1 = 0.91 vs 0.74 для базовой LLaMA-3-8B (zero-shot)
  • RAG поверх базы договоров: F1 = 0.86 (хуже fine-tune, но не нужна переобучение)

Универсальные LLM сильны в широком диапазоне задач, но для специализированных областей — медицины, права, финансов, кода — требуется адаптация. Fine-tuning и RAG позволяют создавать доменные эксперты без обучения с нуля.

Full Fine-tuning: обновляем все параметры модели на доменных данных. GPT-3 (175B): стоимость fine-tuning ~$100K. Риск «катастрофического забывания» (catastrophic forgetting) — модель теряет общие знания. Оправдано только при очень специализированных задачах с большим датасетом.

LoRA (Low-Rank Adaptation, Hu et al., 2021): Дообавляем к каждой матрице весов W low-rank обновление: W' = W + BA, где B ∈ ℝ^{d×r}, A ∈ ℝ^{r×k}, r ≪ min(d,k). Обучаем только B и A (0.01–1% параметров). Инициализация: B=0, A~N — сначала нет изменений. При инференсе: W' = W + BA — просто складываем...

QLoRA (Dettmers et al., 2023): LoRA + 4-bit NormalFloat quantization базовой модели. Позволяет fine-tune LLaMA-65B на одной GPU A100 (80GB). «Killer feature» для академических лабораторий.