Глубокое обучение
До глубокого обучения многие задачи требовали много ручной работы инженера: вручную выделять признаки картинки, придумывать формулы для звука. Глубокие нейросети научились находить такие признаки сами, прямо из сырых данных.
Почему сейчас, а не раньше
- Доступные большие наборы данных — без них глубокие сети не учатся.
- Дешёвые видеокарты и TPU, на которых можно тренировать сети с миллиардами параметров.
- Архитектурные открытия последних 10–15 лет: свёрточные сети, рекуррентные сети, трансформеры.
Где особенно сильно работает
- Распознавание и генерация изображений и видео.
- Распознавание и синтез речи.
- Понимание и генерация текста — современные LLM это глубокие сети.
- Биоинформатика, химия — например, предсказание структуры белков.
Когда применять и когда нет
Применять
- Данные сложные и неструктурированные: картинки, текст, звук, видео
- Простые модели уже не дают нужного качества
- Есть доступ к достаточным данным и вычислительным мощностям
Не применять
- Таблица из ста строк — глубокая сеть тут не даст ничего сверх линейной модели
- Нужна интерпретируемость каждого решения (например, в кредитном скоринге) — обычное дерево объясняется проще нейросети
- Очень ограничены вычислительные ресурсы продакшна
Примеры применения
Команда, которая пять лет назад писала свой свёрточный детектор объектов для системы видеоаналитики, сегодня берёт готовую предобученную сеть и дообучает её на нескольких сотнях своих кадров. Это занимает не месяцы, а дни и даёт качество, которого раньше было трудно добиться даже большим R&D-проектом.
Часто задаваемые вопросы
Классическое ML обычно работает с таблицами признаков, придуманных человеком. Глубокое обучение опирается на нейросети с большим числом слоёв и само учится выделять признаки из сырых данных — пикселей, символов, амплитуд звука. Поэтому оно особенно сильно в задачах с неструктурированными данными.
Обучение глубокой нейросети — это огромное количество одинаковых операций над матрицами. Видеокарты (GPU) и тензорные процессоры (TPU) делают такие операции в сотни раз быстрее обычного CPU. Без них тренировка современной большой модели заняла бы годы вместо дней.