Почему ручные признаки уступили нейросетям
Десятилетиями инженеры вручную придумывали, какие признаки выделять из картинки. Нейросети научились находить их сами — и это всё изменило.
Ручной признак (hand-crafted feature) — характеристика изображения (граница, угол, гистограмма градиентов), которую инженер придумал и запрограммировал заранее.
Как выглядел классический пайплайн
До эпохи глубокого обучения распознавание строилось так:
- Инженер вручную проектирует детектор признаков: границы (Собель), углы (SIFT/ORB), гистограммы градиентов (HOG).
- Эти признаки превращают картинку в вектор чисел.
- Поверх вектора обучают классификатор (например, SVM): «такой набор признаков → это лицо».
Подход работал и дал, например, неплохие детекторы лиц и пешеходов. Но у него был фундаментальный потолок.
Где он упёрся в стену
- Признаки придумывает человек. Под каждую новую задачу (распознать породу собаки, болезнь на снимке) инженер заново ломал голову, какие признаки важны. Это медленно и не масштабируется.
- Мир сложнее любых правил. Объект меняется от ракурса, света, фона, частичного перекрытия. Выписать признаки, устойчивые ко всему этому, почти невозможно — всегда находится случай, который рушит схему.
- Признаки не специфичны под задачу. HOG хорош «вообще», но не заточен именно под вашу. Оптимального набора руками не подобрать.
Что изменили нейросети
В 2012 году свёрточная сеть AlexNet с огромным отрывом выиграла соревнование ImageNet — и подход сменился радикально. Ключевая идея: не придумывать признаки, а учить их. Свёрточная нейросеть сама подбирает ядра свёрток так, чтобы лучше всего решать задачу. Признаки перестали быть выбором инженера и стали результатом обучения на данных.
| Классический CV | Глубокое обучение |
| Признаки придумывает инженер | Признаки сеть выучивает сама |
| Под каждую задачу — заново | Учим на данных конкретной задачи |
| Упирается в воображение человека | Масштабируется данными и вычислениями |
| Прозрачно, но ограниченно | Мощно, но менее интерпретируемо |
Почему это сработало именно тогда
Идея обучаемых признаков была не нова, но «выстрелила» в 2010-х благодаря совпадению трёх факторов:
- Данные: появились огромные размеченные наборы (ImageNet — миллионы картинок).
- Вычисления: видеокарты (GPU) сделали обучение больших сетей реальным.
- Алгоритмы: накопились приёмы (ReLU, dropout, нормализация), позволившие обучать глубокие сети.
Важная оговорка: классический CV не «умер». Свёртка, границы, морфология, ключевые точки живут внутри пайплайнов и помогают понимать, что делают нейросети. Но «тяжёлую» работу распознавания теперь делают обучаемые признаки. Об этом — следующий раздел.
Итог
- Классический CV опирался на признаки, придуманные инженером (Собель, SIFT, HOG).
- Потолок: человек не может выписать признаки, устойчивые ко всему многообразию мира.
- CNN учат признаки сами из данных — масштабируются данными и вычислениями.
- Перелом — AlexNet 2012; помогли данные (ImageNet), GPU и новые приёмы обучения.