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

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

Ручной признак (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Большие размеченные данные (ImageNet), мощные GPU и новые приёмы обучения
BТолько новые языки программирования
CОтказ от свёрток
DПереход на чёрно-белые изображения