A standard convolutional layer is oddly egalitarian. It stacks dozens — sometimes hundreds — of feature detectors, then treats every single one with the same respect. A channel that has learned to spot diagonal edges gets the same vote as one that detects blue sky pixels. A channel firing on fur texture in a cat photo is broadcast forward with the same weight as one activated by background noise. That uniformity is the weakness. Not every channel matters equally for every image, and deep networks have historically lacked a mechanism to say so.

Squeeze-and-Excitation, introduced by Hu and colleagues, fixes this with a remarkably small addition. It attaches a learnable gating mechanism to any convolution block so the network can dynamically recalibrate how much each channel contributes, and it does this fresh for every input. The extra cost is trivial — roughly 2.5 percent more parameters when bolted onto ResNet-50 — but the gain in representational power is substantial enough that SE blocks helped win ILSVRC 2017 and now sit inside production architectures like MobileNetV3 and EfficientNet.

The idea is simple enough to build from scratch in three stages.

Squeeze: Giving the Network a Wide-Angle Lens

Convolution is local by design. A 3×3 kernel slides across the image and only ever sees its immediate neighborhood. Stack enough layers and the receptive field grows, yet no single operation looks at an entire feature map in one glance. That means a channel might be strongly activated across the whole spatial extent of a dog or a car, but the next layer never receives an explicit summary saying, “This detector fired everywhere.”

The squeeze step closes that gap with global average pooling. For each channel, every value in the H×W spatial grid is averaged down to a single number. If you have 512 channels, you now have 512 scalars. Each scalar encodes the global presence of whatever that channel has learned to detect — be it a wheel rim, a strip of grass, or a patch of skin tone. It is a channel-wise summary of the whole scene.

This matters because context changes meaning. A horizontal-line detector is useful in one image because it identifies a horizon, and useless in another because it is picking up noise in a forest canopy. Without spatial aggregation, the network lacks a clean signal to make that distinction.

Excite: A Bottleneck That Forces Cooperation

Once the squeeze step has produced a vector of global channel descriptors, the excite step learns what to do with them. This is a tiny two-layer MLP. It takes the vector, compresses it down to a bottleneck, and then expands it back to the original channel dimension.

Typical implementations use a reduction ratio of 16. If the input has 512 channels, the first linear layer projects the 512 scalars down to 32, a ReLU sits in between, and the second layer maps the 32 back up to 512. That compression is intentional. It works like a funnel: the network cannot simply pass the original values through unchanged. It must learn a compressed, shared representation of how channels relate to one another. The bottleneck forces cross-channel dependencies to emerge. The model might learn, for instance, that when a “bark texture” channel is strong, a “tree trunk” contour channel should also be emphasized, while a “water reflection” channel should be muted.

The final activation here is crucial, and it is a common place where intuition slips. Many people instinctively reach for softmax, because it feels like attention should be a probability distribution. Softmax would force all channels to compete against each other until their weights sum to one. If one channel goes up, others must come down. That is exactly wrong for this task. A photograph of a sunset may need both an orange-glow channel and a cloud-texture channel operating at full strength simultaneously. The gates should act like independent dimmer switches, not a zero-sum budget.

Sigmoid solves this. It squashes each scalar to a value between zero and one, but every channel is free to move independently. The model can turn any subset up, leave others neutral, and suppress the rest, all without artificial competition.

Scale: Apply the Gates and Move On

Последний шаг кажется почти незначительным, и в этом заключается его элегантность. Каждая исходная карта признаков умножается на соответствующее значение гейта с сигмоидальной активацией. Если значение гейта близко к единице, канал проходит без изменений. Если значение близко к нулю, вся карта признаков приглушается, постепенно затихая. Результат передается на следующий слой сети.

Поскольку это чистое умножение по пространственным картам, оно добавляет минимальные вычислительные затраты при инференсе. Основная нагрузка ложится на глобальный пулинг и две небольшие проекции, которые ничтожно малы по сравнению с окружающими свертками 3×3.

Почему эта архитектура сохраняет актуальность

Помимо изящной математики, Squeeze-and-Excitation остается востребованной, потому что она учитывает инженерные ограничения.

Низкая стоимость параметров. Добавление блоков SE в ResNet-50 увеличивает количество параметров всего примерно на 2,5 процента. Слои MLP малы и не раздувают модель. В эпоху, когда прирост точности часто достигается за счет удвоения размера модели, SE предлагает редкую возможность получить преимущество практически бесплатно.

Модульность. SE — это не новая архитектура бэкбона, требующая перепроектирования всего конвейера. Это готовый модуль, который можно просто вставить. Вы можете добавить его после любого сверточного блока в ResNet, DenseNet или пользовательских стеках, не переписывая окружающую логику. Такая гибкость способствовала быстрому внедрению: сначала в исследованиях, а затем и в сетях, оптимизированных для мобильных устройств.

Адаптивность к входным данным. В отличие от статических весов каналов, которые обучаются и замораживаются, гейты SE вычисляются «на лету» при каждом прямом проходе. Если подать в сеть изображение плоского, безликого неба, соответствующие каналы останутся приглушенными. Если показать оживленную улицу с пешеходами, знаками и автомобилями, гейты перенастроятся, чтобы усилить детекторы, важные именно для этого изображения. Одна и та же сеть подстраивает свою чувствительность под каждую сцену.

От победителя соревнований до повседневного использования

Блоки SE заняли первое место на ILSVRC 2017, но их настоящее признание пришло позже. Их включили в MobileNetV3, где они помогают облегченным моделям показывать результаты выше своего класса, не истощая заряд мобильного аккумулятора. Они также используются в методе составного масштабирования EfficientNet, доказывая, что внимание к каналам (channel attention) — это не роскошь для мощных серверов, а практический инструмент для эффективного проектирования.

Если вы хотите увидеть, как мало кода для этого требуется, в живом демо блоку дается построчный разбор:

And if you are building alongside a community: https://t.me/GyaanSetuAi

Главный вывод

Для улучшения моделей компьютерного зрения не всегда нужны более глубокие стеки или широкие фильтры. Иногда им просто нужно мгновение, чтобы понять, какие каналы действительно важны для изображения перед ними. Squeeze-and-Excitation дает им это мгновение, используя лишь усреднение через пулинг, сжатый MLP и сигмоидальный гейт. В результате получается сеть, которая перестает выкрикивать каждый признак с одинаковой громкостью, а вместо этого учится шептать, акцентировать или заставлять замолчать каждый канал именно тогда, когда того требует сцена.