Глубокое обучение

Оригинальное название: 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 выходов — по одному на цифру
)

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

Чем отличается от классического машинного обучения

В классических методах, например в логистической регрессии или градиентном бустинге, человек сам готовит признаки: для оценки заявки — сумму, регион, источник. Такие модели хорошо работают на табличных данных и быстро обучаются. Глубокое обучение выигрывает там, где признаки трудно описать словами: изображения, речь, свободный текст. Цена — большие объёмы данных, дорогое оборудование и сложность в объяснении, почему модель приняла решение. Это одно из направлений искусственного интеллекта, а не его синоним.

Обновлено:

Все термины раздела «Backend»

Что будем искать? Например,Продвижение