глоссарий

Stride

Stride

Stride (по-русски «шаг») в свёрточных нейросетях — это дистанция, на которую окно фильтра сдвигается по входному изображению или карте признаков за одно действие. Если шаг равен единице, фильтр проходит каждую точку; если двум — пропускает каждую вторую. Это на первый взгляд скромный параметр, но именно он управляет размером карты признаков и объёмом вычислений.

Зачем это важно? Свёртка — это сканирование картинки маленьким детектором. Stride задаёт частоту снятия показаний. Большой шаг делает карту признаков компактнее, снижает нагрузку на память и ускоряет обучение, но может потерять мелкие детали. Малый шаг сохраняет больше информации, но требует больше ресурсов. Баланс между ними определяет, насколько точно сеть видит объекты и насколько быстро она работает.

Интуитивно это похоже на чтение текста с закладкой-пальцем. Stride — то, сколько букв вы перескакиваете между остановками. Читая через букву, вы мчитесь по строке, но рискуете пропустить важные слова. Читая каждую букву, не упустите ничего, зато потратите время. В свёртке роль пальца играет маленький фильтр-детектор, а stride задаёт плотность его «взглядов».

Прикладной пример: в задаче распознавания лиц stride = 2 на первом слое уменьшает карту признаков изображения 224×224 до 112×112 — в четыре раза меньше по площади. Такая экономия позволяет быстро обработать большое фото и выделить крупные черты: глаза, нос, овал лица. Мелкие морщины при этом могут потеряться, но для идентификации человека они не нужны.

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