глоссарий

Average pooling

Average pooling

Среднее объединение, или average pooling, — операция в свёрточных нейросетях, уменьшающая пространственный размер карты признаков: каждый блок значений заменяется одним числом — средним арифметическим. Из квадратика чисел вытягивается одна средняя величина, что сжимает изображение, но сохраняет его суть.

Зачем это нужно? Во-первых, уменьшение размерности сокращает вычисления и память при работе с большими изображениями. Во-вторых, усреднение делает модель устойчивее к мелким сдвигам и шуму: если объект сместился на пару пикселей, средние по блокам почти не меняются. Это помогает избегать переобучения на случайные детали и улучшает обобщение.

Интуитивно это похоже на взгляд через матовое стекло: мелкие детали исчезают, но крупные формы становятся явными. Average pooling проходит по карте признаков скользящим окном, например 2×2, и для каждого окна выдаёт одно усреднённое число. Если рядом с тёмными пикселями был яркий, на выходе получится сероватое пятно. Сеть сохраняет общую интенсивность, но теряет точное расположение деталей — для многих задач это полезно.

Конкретный пример: при распознавании кошек после свёрточных слоёв карта признаков показывает, где находятся уши. Если кошка повернула голову, эти пиксели сдвигаются. Average pooling усредняет активации по небольшой области, и признак «есть уши» остаётся высоким независимо от позиции. Классификатор уверенно говорит «кошка», даже если изображение слегка обрезано или объект не в центре.

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