Почему ручные признаки уступили нейросетям

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

Ручной признак (hand-crafted feature) — характеристика изображения (граница, угол, гистограмма градиентов), которую инженер придумал и запрограммировал заранее.

Как выглядел классический пайплайн

До эпохи глубокого обучения распознавание строилось так:

  1. Инженер вручную проектирует детектор признаков: границы (Собель), углы (SIFT/ORB), гистограммы градиентов (HOG).
  2. Эти признаки превращают картинку в вектор чисел.
  3. Поверх вектора обучают классификатор (например, SVM): «такой набор признаков → это лицо».

Подход работал и дал, например, неплохие детекторы лиц и пешеходов. Но у него был фундаментальный потолок.

Где он упёрся в стену

  • Признаки придумывает человек. Под каждую новую задачу (распознать породу собаки, болезнь на снимке) инженер заново ломал голову, какие признаки важны. Это медленно и не масштабируется.
  • Мир сложнее любых правил. Объект меняется от ракурса, света, фона, частичного перекрытия. Выписать признаки, устойчивые ко всему этому, почти невозможно — всегда находится случай, который рушит схему.
  • Признаки не специфичны под задачу. HOG хорош «вообще», но не заточен именно под вашу. Оптимального набора руками не подобрать.

Что изменили нейросети

В 2012 году свёрточная сеть AlexNet с огромным отрывом выиграла соревнование ImageNet — и подход сменился радикально. Ключевая идея: не придумывать признаки, а учить их. Свёрточная нейросеть сама подбирает ядра свёрток так, чтобы лучше всего решать задачу. Признаки перестали быть выбором инженера и стали результатом обучения на данных.

Классический CVГлубокое обучение
Признаки придумывает инженерПризнаки сеть выучивает сама
Под каждую задачу — зановоУчим на данных конкретной задачи
Упирается в воображение человекаМасштабируется данными и вычислениями
Прозрачно, но ограниченноМощно, но менее интерпретируемо

Почему это сработало именно тогда

Идея обучаемых признаков была не нова, но «выстрелила» в 2010-х благодаря совпадению трёх факторов:

  • Данные: появились огромные размеченные наборы (ImageNet — миллионы картинок).
  • Вычисления: видеокарты (GPU) сделали обучение больших сетей реальным.
  • Алгоритмы: накопились приёмы (ReLU, dropout, нормализация), позволившие обучать глубокие сети.

Важная оговорка: классический CV не «умер». Свёртка, границы, морфология, ключевые точки живут внутри пайплайнов и помогают понимать, что делают нейросети. Но «тяжёлую» работу распознавания теперь делают обучаемые признаки. Об этом — следующий раздел.

Итог

  • Классический CV опирался на признаки, придуманные инженером (Собель, SIFT, HOG).
  • Потолок: человек не может выписать признаки, устойчивые ко всему многообразию мира.
  • CNN учат признаки сами из данных — масштабируются данными и вычислениями.
  • Перелом — AlexNet 2012; помогли данные (ImageNet), GPU и новые приёмы обучения.
Проверьте себя
1. В чём главное ограничение ручных признаков (hand-crafted features)?
AОни слишком быстро вычисляются
BИх придумывает человек, и невозможно выписать признаки, устойчивые ко всему многообразию ракурсов, света и фонов
CОни работают только на цветных картинках
DОни требуют GPU
2. Чем подход CNN принципиально отличается от классического пайплайна?
ACNN не использует свёртку
BCNN не придумывает признаки заранее, а выучивает их из данных под конкретную задачу
CCNN работает без обучения
DCNN не нужны размеченные данные
3. Какое сочетание факторов позволило глубокому обучению «выстрелить» в 2010-х?
AТолько новые языки программирования
BБольшие размеченные данные (ImageNet), мощные GPU и новые приёмы обучения
CОтказ от свёрток
DПереход на чёрно-белые изображения
Поддержать проект