Глубокое обучение
Оригинальное название: deep learning
Коротко
Раздел машинного обучения, в котором многослойные нейронные сети сами извлекают признаки из сырых данных — пикселей, звука, текста — без ручного описания правил.
Что такое «Глубокое обучение»
Слово «глубокое» относится к числу слоёв. Ранние нейронные сети имели один-два скрытых слоя, современные — десятки и сотни. Каждый слой преобразует результат предыдущего: при распознавании изображений первые слои реагируют на края и пятна, следующие — на формы, последние — на целые объекты. Никто не программирует эти признаки вручную, сеть подбирает их сама в ходе обучения.
Идеи многослойных сетей известны десятилетиями, но практический прорыв случился в 2010-х. Совпали три условия: большие размеченные наборы данных, графические процессоры для параллельных вычислений и улучшенные методы обучения. Показательный момент — победа свёрточной сети AlexNet в конкурсе ImageNet в 2012 году. В 2017 году появилась архитектура «трансформер», на которой построены современные языковые модели.
Как обучается сеть
У сети миллионы или миллиарды числовых параметров — весов. Обучение повторяет цикл: прогнать пример через сеть, сравнить ответ с правильным, посчитать ошибку и немного сдвинуть веса в сторону её уменьшения. Направление сдвига находят методом обратного распространения ошибки, а сам шаг делает градиентный спуск. После миллионов таких шагов сеть начинает верно отвечать и на примерах, которых не видела.
Пример модели на PyTorch
import torch.nn as nn
model = nn.Sequential( # цифры на картинках 28×28 пикселей
nn.Flatten(),
nn.Linear(28 * 28, 256), nn.ReLU(),
nn.Linear(256, 64), nn.ReLU(),
nn.Linear(64, 10), # 10 выходов — по одному на цифру
)
Это небольшая полносвязная сеть: три слоя с весами и функции активации между ними. Модели для фото или текста устроены сложнее, но принцип тот же — слои, веса и обучение на примерах.
Чем отличается от классического машинного обучения
В классических методах, например в логистической регрессии или градиентном бустинге, человек сам готовит признаки: для оценки заявки — сумму, регион, источник. Такие модели хорошо работают на табличных данных и быстро обучаются. Глубокое обучение выигрывает там, где признаки трудно описать словами: изображения, речь, свободный текст. Цена — большие объёмы данных, дорогое оборудование и сложность в объяснении, почему модель приняла решение. Это одно из направлений искусственного интеллекта, а не его синоним.

