Основы ИИ
Что такое CNN (сверточные нейронные сети)?
Сверточная нейронная сеть (CNN) — это архитектура нейронных сетей, использующая обученные фильтры на локальных областях входных данных. CNN стали фундаментальными для современной компьютерного зрения, потому что они могут обнаруживать шаблоны независимо от того, где они появляются, и переиспользовать одни и те же параметры по всему изображению.
CNN не преобразует изображение из ненумерической формы в числовую — изображение уже поступает в виде тензора пиксельных значений. Ее цель — преобразовать этот тензор в карты признаков, полезные для классификации, обнаружения, сегментации или другой задачи.
Ключевые выводы
- Свертка комбинирует локальные входные значения с обученным ядром, создавая карту признаков.
- Шаг (stride), дополнение (padding), дилатация и пулинг управляют пространственным разрешением и рецептивным полем.
- Разделение весов делает CNN более эффективными по количеству параметров, чем полностью связная сеть, работающая с сырыми пикселями.
- Vision transformers предоставляют альтернативу, но CNN остаются мощными для эффективных систем с ограниченными данными.

Как работает свертка
Ядро — это небольшая решётка обучаемых весов. На каждой позиции CNN умножает значения ядра на соответствующие входные значения, суммирует результаты и обычно добавляет смещение. Повторяя это по всему входу, получаем карту признаков.
Для цветного изображения ядро охватывает все входные каналы. Слой использует несколько ядер, создавая несколько выходных каналов. Во время обучения обратное распространение ошибки вычисляет градиенты для этих весов ядра; операция свертки не создает новый фиксированный набор весов для каждого изображения.
Шаг, дополнение и дилатация
- Stride управляет тем, насколько далеко перемещается ядро. Шаг, больший единицы, уменьшает пространственное разрешение.
- Padding добавляет значения вокруг входа, чтобы информация о границе могла быть обработана и размер выхода контролировался.
- Dilation раздвигает элементы ядра, расширяя рецептивное поле без пропорционального увеличения количества параметров.
Рецептивное поле (receptive field) — это область исходного входа, способная влиять на единицу. Сложение нескольких сверточных слоёв расширяет его, позволяя более поздним признакам объединять информацию из более широких областей.
Активация, нормализация и пулинг
Сверточные слои обычно сопровождаются нелинейными активациями и нормализацией. Пулинг суммирует локальные области с помощью операции, такой как максимум или среднее. Обученные сверточные операции со шагом также могут выполнять понижение дискретизации.
Пулинг не обязателен. Многие современные сети используют глобальный средний пулинг ближе к выходу вместо выравнивания большой карты признаков в полностью связный слой. Это уменьшает количество параметров и позволяет сети агрегировать пространственные доказательства.
Современная архитектура CNN
Типичная модель компьютерного зрения содержит ствол, последовательность блоков признаков, стадии понижения дискретизации и головку задачи. Оставшиеся (резидуальные) соединения позволяют блоку изучать модификацию своего входа и обеспечивают прямой путь для информации и градиентов. Успех резидуальных сетей сделал практичным обучение гораздо более глубоких CNN.
Головки классификации генерируют оценки классов. Головки обнаружения предсказывают категории и ограничивающие рамки. Архитектуры сегментации добавляют пути декодера, восстанавливающие пространственные детали. Та же основа CNN может быть переиспользована с помощью переноса обучения.
Чему обучаются слои CNN
Обычно визуализируют ранние фильтры, реагирующие на края или текстуры, и более поздние представления, коррелирующие с частями или объектами. Это полезная интуиция, но не строгий закон. Признаки зависят от задачи, архитектуры, данных, цели и процесса обучения, и некоторые единицы комбинируют информацию, которая не укладывается в понятие, понятное человеку.
CNN против vision transformers
Vision transformers разбивают изображения на патчи и используют механизм внимания для моделирования взаимосвязей между ними. Они могут эффективно масштабироваться при наличии больших наборов данных для предобучения. CNN внедряют локальность и предположения о трансляции непосредственно в архитектуру, что может делать их более эффективными и экономными по данным в небольших условиях.
Во многих практических системах комбинируются свертка и внимание. Выбор архитектуры зависит от точности, задержки, памяти, обучающих данных, аппаратного обеспечения и условий эксплуатации — а не от того, какая семейство новее.
Ограничения и практические соображения
CNN могут быть чувствительны к сдвигу распределения, враждебным возмущениям, фоновым сокращениям и предвзятым обучающим данным. Они не обладают полной инвариантностью к положению, вращению, масштабу или точке зрения. Аугментация и выбор архитектуры могут повысить устойчивость, но не гарантируют её.
Для внедрения измеряйте сквозную задержку, потребление памяти, пропускную способность и поведение подгрупп. Квантование и обрезка могут снизить затраты, особенно для edge AI, однако сжатые модели необходимо повторно валидировать.
Свертка, рецептивные поля и современные блоки CNN
Сверточный слой перемещает обученные ядра по сетке, разделяя веса между позициями. Размер ядра, шаг, дилатация и дополнение определяют форму выхода и рецептивное поле. Ранние слои часто реагируют на локальные края или текстуры; более глубокие слои комбинируют информацию из более обширных областей, хотя обученные представления не обязаны точно соответствовать человеческим понятиям. Пулинг или сверточные операции со шагом уменьшают пространственное разрешение. Каналы несут карты признаков, а групповые и глубинно-разделяемые свертки заменяют кросс-канальное смешивание на меньшие вычисления. Оставшиеся соединения упрощают оптимизацию очень глубоких сетей.
Для высоты и ширины входа дополнение управляет обработкой границ, а шаг — выборкой. Агрессивное понижение дискретизации может стирать мелкие объекты; нулевое дополнение может создавать артефакты по краям; дилатация расширяет контекст без роста параметров, но может приводить к «решетчатости». Нормализация пакетов (batch normalization) зависит от статистики обучения, тогда как альтернативы могут работать лучше при небольших размерах пакетов. Современные архитектуры комбинируют узкие места, многомасштабные признаки, внимание или инвертированные резидуалы. Выбирайте архитектуру, учитывая разрешение задачи, пропускную способность памяти, задержку и целевое оборудование, а не только точность классификации изображений.
Обучение, интерпретация и внедрение
Используйте аугментации, сохраняющие метки и отражающие реальные вариации, а также разбивайте данные по субъекту или сцене перед аугментацией. Перенос обучения распространён: замените головку задачи, обучите её, затем осторожно разморозьте основу. Оценивайте производительность по классам, калибровку, устойчивость к размытию, сжатию, освещению, масштабу, обрезке и враждебным возмущениям. Методы визуализации, такие как карты признаков и карты важности, могут выявлять «кратчайшие пути», но они чувствительны к методу и базовой линии. Подтверждайте подозрения с помощью контрафактических изображений, тестов окклюзии или изменений набора данных.
Экспортированные CNN могут быть объединены, квантизированы или скомпилированы для GPU, NPU, браузера или микроконтроллера. Проверяйте развернутый граф, включая предобработку и постобработку, на целевых устройствах. Измеряйте сквозную задержку, потребление памяти, энергию и тепловое поведение; декодирование входа может доминировать в небольшой модели. Мониторьте статистику камеры и изображений, распределение выходов и зафиксированные ошибки. Подписанные артефакты модели, защищённые каналы обновления и плавный отказ датчиков являются частью проектирования производства. CNN кодируют полезную локальную предвзятость, но они не понимают объекты или причинные сцены автоматически.
Практический пример: развертывание CNN на инспекционной камере
CNN классифицирует поверхностные дефекты на основе высокоразрешающих линейных сканирующих изображений. Инженеры разбивают изображения на плитки с перекрытием, чтобы мелкие дефекты сохранялись при понижении дискретизации, сохраняют координаты для проверки и валидируют аугментации против реальных оптических вариаций. Сравниваются резидуальная CNN и более лёгкая модель с глубинной сверткой при одинаковой полноте. Тесты включают дефекты по краям, блики, сжатие, движение, партии материалов и замену камер, при этом независимые производственные партии отложены для финальной оценки.
Компиляция объединяет и квантизирует модель для периферийного ускорителя, однако развернутый граф сравнивается с эталоном на чувствительных случаях дефектов. Декодирование, разбиение на плитки, инференс и объединение измеряются сквозным способом. Система помечает мертвые пиксели и дрейф экспозиции отдельно от дефектов продукта. Операторы могут проверять исходные плитки и переопределять результаты. Изменения модели и камеры вводятся постепенно, и линия сохраняет безопасную процедуру ручной проверки, когда визуальный конвейер недоступен.
Доказательства реализации и готовность к эксплуатации
Производственное решение требует большего, чем успешная демонстрация. Определите целевых пользователей, рабочую среду, входные и выходные данные, зависимости, владельца и последствия каждого важного сбоя. Установите воспроизводимую базовую линию и версионированный набор оценок перед настройкой. Тестируйте обычные случаи, граничные условия, некорректный или отсутствующий ввод, сдвиг распределения, отказ зависимостей, неправильное использование и группы или среды, которые могут быть недостаточно обслужены. Измеряйте качество задачи вместе с калибровкой или неопределённостью, задержкой, пропускной способностью, стоимостью ресурсов, доступностью, конфиденциальностью и безопасностью. Записывайте каждое преобразование и порог, чтобы независимый рецензент мог воспроизвести результат и отличить доказательства от привлекательного прототипа.
Перед запуском назначьте ответственных за выпуск, исключения, изменения, откат и вывод из эксплуатации. Используйте поэтапный развертывание, сохраняйте безопасный резерв и проверяйте мониторинг с преднамеренно введёнными сбоями. Оперативная телеметрия должна показывать качество входных данных, поведение выходов, версию модели или правила, состояние зависимостей, человеческие вмешательства и подтверждённые результаты без сбора лишних конфиденциальных данных. Определите пороги оповещений и ответственного за реакцию, затем проверяйте реальные доказательства после внедрения, а не полагайтесь на офлайн‑производительность. Переоценивайте систему при изменении источников данных, пользователей, моделей, поставщиков, политик, оборудования или целей. Поддерживаемая система также требует документального восстановления, обучения на инцидентах, процедур удаления и хранения, а также чёткой точки, в которой её следует отключить или заменить.
Часто задаваемые вопросы
Нужен ли CNN всегда пулинг?
Нет. CNN может выполнять понижение дискретизации с помощью сверточных операций со шагом и сохранять разрешение для плотного предсказания. Пулинг — лишь один из инструментов проектирования, а не обязательное требование.
Являются ли фильтры CNN ручной разработкой?
В обученной CNN значения ядра обычно изучаются из данных. Это отличается от классических фильтров компьютерного зрения, коэффициенты которых заранее выбираются для операций, таких как обнаружение краёв.












