Введение: когда машина обыгрывает чемпиона мира

В 2016 году программа AlphaGo сыграла серию партий против девятидановского профессионала Ли Седоля — одного из сильнейших игроков в го в истории — и выиграла со счётом 4:1. До этого го считался неподъёмной задачей для компьютеров: простые правила игры порождают экспоненциальное количество позиций на доске, несравнимо больше, чем в шахматах.

Что позволило машине достичь этого? Ответ — глубокое обучение (deep learning). Глубокие нейронные сети (DNN) — это класс моделей машинного обучения, вдохновлённых структурой человеческого мозга. Они состоят из множества слоёв взаимосвязанных нейронов, способных обнаруживать сложные паттерны в данных. DNN произвели революцию в распознавании изображений, обработке естественного языка и речи.

Эта статья — структурированный обзор ключевых идей глубокого обучения, основанный на знаменитой работе Лилиан Вэн «An Overview of Deep Learning for Curious People». Вэн ведёт технический блог Lil’Log с 2017 года — изначально как личный дневник заметок о машинном обучении, который со временем стал одним из самых авторитетных образовательных ресурсов в сообществе.


1. Что такое глубокое обучение и почему «глубокое»?

Машинное обучение — это набор техник, позволяющих компьютерам учиться на данных и опыте, а не следовать жёстко запрограммированным правилам. Глубокое обучение — подраздел ML, где «глубина» означает количество слоёв в нейронной сети.

«Мелкие» и «глубокие» обучающиеся системы различаются глубиной своих путей передачи сигнала ошибки — цепочек причинно-следственных связей между действиями и эффектами.

Shallow и deep learners различаются глубиной credit assignment paths — цепочек потенциально обучаемых причинно-следственных связей между действиями и результатами.

Практически это означает: чем больше слоёв, тем более абстрактные признаки способна извлекать сеть. Первые слои распознают края и текстуры, средние — формы и объекты, последние — семантические понятия.

ℹ Ключевое отличие от классического ML
В классическом ML инженеры вручную создают признаки (feature engineering). В глубоком обучении сеть сама обнаруживает нужные признаки из сырых данных — будь то пиксели, звук или текст.

Биологическая аналогия

Идея восходит к модели перцептрона Розенблатта (1958), вдохновлённой нейронами мозга. Современный искусственный нейрон:

  1. Принимает входные сигналы x₁, x₂, …, xₙ
  2. Взвешивает их: z = w₁x₁ + w₂x₂ + … + b
  3. Пропускает через функцию активации: a = f(z)
  4. Передаёт результат следующему слою
import numpy as np

def neuron(inputs, weights, bias, activation='relu'):
    z = np.dot(weights, inputs) + bias
    if activation == 'relu':
        return np.maximum(0, z)  # ReLU: f(z) = max(0, z)
    elif activation == 'sigmoid':
        return 1 / (1 + np.exp(-z))
    return z

2. Ключевые концепции: от данных до весов

Обучение с учителем и обратное распространение ошибки

Матричное исчисление и градиентная оптимизация — критически важны для обучения и тонкой настройки нейронных сетей. Алгоритм backpropagation (обратное распространение ошибки) — сердце всего процесса обучения:

  1. Делаем прямой проход (forward pass): предсказываем выход
  2. Считаем ошибку (loss): насколько предсказание отличается от правды
  3. Делаем обратный проход (backward pass): вычисляем градиенты
  4. Обновляем веса: w ← w − η · ∇L

Многослойные feed-forward сети описываются через свою архитектуру, процесс обучения и алгоритм backpropagation.

Проблемы оптимизации

Ключевые сложности оптимизации нейронных сетей включают насыщение функций активации, затухание и взрыв градиентов, а также инициализацию весов.

⚠ Проблема затухающих градиентов
При большом числе слоёв градиент ошибки, распространяясь назад, может стать ничтожно малым. Веса первых слоёв почти не обновляются — сеть «не учится». Решения: функции активации ReLU, нормализация батчей (Batch Normalization), остаточные соединения (ResNet).

Функции активации: сравнение

ФункцияФормулаДиапазонПроблема
Sigmoid1/(1+e⁻ˣ)(0, 1)Затухание градиентов
Tanh(eˣ−e⁻ˣ)/(eˣ+e⁻ˣ)(−1, 1)Затухание градиентов
ReLUmax(0, x)[0, ∞)«Мёртвые» нейроны
Leaky ReLUmax(0.01x, x)(−∞, ∞)
GELUx·Φ(x)(−∞, ∞)Сложнее вычислять

3. Архитектуры: CNN, RNN и Transformer

Разные задачи требуют разных архитектур. Три парадигмы доминировали в истории deep learning.


graph TD
    A[Входные данные] --> B{Тип данных?}
    B -->|Изображения| C[CNN\nСвёрточные сети]
    B -->|Последовательности| D[RNN / LSTM\nРекуррентные сети]
    B -->|Текст / Мультимодаль| E[Transformer\nАттенция]
    C --> F[Классификация\nДетекция объектов]
    D --> G[Перевод\nГенерация текста]
    E --> H[LLM: GPT, Gemini\nVision: ViT]

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

CNN идеальны для изображений. Вместо того чтобы соединять каждый нейрон с каждым пикселем, свёрточный слой применяет небольшие фильтры (kernels), скользящие по изображению. Это даёт:

  • Трансляционная инвариантность: кот в углу = кот в центре
  • Иерархия признаков: края → текстуры → части объекта → объект
  • Экономия параметров: один фильтр для всего изображения

Архитектурная эволюция CNN: LeNet (1998) → AlexNet (2012) → VGG → ResNet → EfficientNet.

import torch.nn as nn

class SimpleCNN(nn.Module):
    def __init__(self):
        super().__init__()
        self.conv1 = nn.Conv2d(3, 32, kernel_size=3, padding=1)
        self.pool  = nn.MaxPool2d(2, 2)
        self.fc    = nn.Linear(32 * 16 * 16, 10)

    def forward(self, x):
        x = self.pool(nn.functional.relu(self.conv1(x)))
        x = x.view(-1, 32 * 16 * 16)
        return self.fc(x)

Рекуррентные нейронные сети (RNN / LSTM)

Для последовательностей — текста, речи, временных рядов — нужна память о прошлом. RNN передаёт скрытое состояние h от шага к шагу. Проблема: затухание на длинных последовательностях.

LSTM (Long Short-Term Memory) решает это через механизм «ворот» (gates): forget gate, input gate, output gate. Сеть учится, что помнить, а что забывать.

Transformer: революция аттенции

Среди ключевых архитектур нейронных сетей выделяют Feedforward NN, Convolutional NN, Recurrent NN и Transformers.

Transformer (Vaswani et al., 2017) заменил рекуррентность механизмом Self-Attention: каждый токен может «смотреть» на все остальные токены сразу. Это дало:

  • Параллельное обучение (в отличие от последовательного RNN)
  • Захват дальних зависимостей в тексте
  • Масштабируемость до миллиардов параметров

Именно Transformer лежит в основе GPT-4, Gemini, Claude и всех современных LLM.


4. Масштабирование и законы масштаба

Один из самых важных эмпирических результатов последних лет — законы масштаба (scaling laws).

Scaling laws — одно из наиболее критических эмпирических открытий в глубоком обучении. Суть проста: потери при обучении L предсказуемо снижаются по мере увеличения размера модели N, объёма данных D и вычислительных ресурсов C — по степенному закону.

Можно рассматривать законы масштаба как фреймворк для описания взаимосвязи между вычислениями, потерями, размером модели и данными — по сути, это вопрос об оптимальном распределении вычислительных ресурсов между N и D.

💡 Закон Чинчиллы
Исследование DeepMind (2022) показало: большинство моделей были недообучены на данных. Оптимальная стратегия — балансировать размер модели и объём обучающих данных в соотношении ~1:20 токенов на параметр. Llama 3, Mistral и другие open-source модели спроектированы с учётом этого.

Почему «больше» работает?

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


5. Обучение без учителя, генеративные модели и агенты

Обучение без учителя

Помимо глубокого обучения с учителем (включая историю backpropagation), активно развиваются обучение без учителя, обучение с подкреплением и эволюционные методы.

Ключевые методы:

  • Автоэнкодеры: сжимают данные в латентное пространство и восстанавливают их
  • VAE (Variational Autoencoders): добавляют вероятностный смысл к латентному пространству
  • GAN (Generative Adversarial Networks): генератор vs. дискриминатор в игре с нулевой суммой
  • Диффузионные модели: постепенное «зашумление» и обучение обращать этот процесс

Обучение с подкреплением (RL)

RL лежит в основе AlphaGo, ChatGPT (RLHF) и роботики. AlphaGo победил лучшего человека в игре го. Расширенный алгоритм AlphaGo Zero затем победил AlphaGo со счётом 100:0 — без обучения с учителем на человеческих знаниях.

LLM-агенты: новый рубеж

Потенциал LLM выходит далеко за рамки генерации текстов: модель можно рассматривать как мощный универсальный решатель задач. В системе LLM-агентов языковая модель выступает «мозгом», дополненным ключевыми компонентами: планированием, памятью и инструментами.

📝 Пример: RLHF в ChatGPT
  1. Модель генерирует несколько ответов на вопрос
  2. Люди-разметчики ранжируют ответы по качеству
  3. Обучается reward model, предсказывающая предпочтения
  4. PPO (алгоритм RL) оптимизирует языковую модель под reward model
  5. Результат: ответы, соответствующие ожиданиям человека

Заключение: почему глубокое обучение изменило всё

Нейронные сети и глубокое обучение стали центральными как для AI как академической дисциплины, так и для индустрии. За десятилетие прошли путь от игры в го до генерации кода, изображений, видео и решения задач, которые казались неподъёмными.

Ключевые выводы:

  • Глубина = абстракция: чем больше слоёв, тем сложнее признаки
  • Архитектура имеет значение: CNN для пространства, RNN для времени, Transformer для всего
  • Масштаб работает: больше данных + больше параметров + больше вычислений → лучше результат
  • RL замыкает петлю: от обучения с учителем к автономным агентам

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

💡 С чего начать изучение?
  • Курс: MIT 6.S191 (бесплатно, YouTube)
  • Книга: Deep Learning — Goodfellow, Bengio, Courville (бесплатно онлайн)
  • Блог: Lil’Log — Lilian Weng (lilianweng.github.io)
  • Практика: PyTorch tutorials + Kaggle соревнования
  • Фреймворк: начните с PyTorch — он стал стандартом в исследованиях