Convolutional Neural Network (CNN)
Исследуй, как сверточные нейронные сети (CNN) питают современное компьютерное зрение. Узнай о слоях, приложениях и о том, как запускать Ultralytics YOLO26 для ИИ реального времени.
Свёрточная нейронная сеть (CNN) — это специализированная архитектура глубокого обучения, предназначенная для обработки данных с сеточной топологией, в первую очередь цифровых изображений. Вдохновленные биологической структурой зрительной коры, CNN обладают уникальной способностью сохранять пространственные взаимосвязи во входных данных. В отличие от традиционных нейронных сетей, которые преобразуют изображение в плоский длинный список чисел, CNN анализируют небольшие перекрывающиеся области изображения, чтобы автоматически изучать иерархии признаков — от простых границ и текстур до сложных форм и объектов. Эта способность делает их основополагающей технологией современных систем компьютерного зрения (CV).
Как работают сверточные нейронные сети#
Сила CNN заключается в способности сжимать сложное изображение до формы, которую проще обрабатывать, не теряя при этом признаки, критически важные для получения точного прогноза. Это достигается с помощью конвейера из различных слоев, которые преобразуют входной объем в выходной класс или значение:
- Слой свёртки: Это ключевой строительный блок. Он использует набор обучаемых фильтров (или ядер), которые перемещаются по входному изображению подобно лучу фонарика. В каждой позиции фильтр выполняет математическую операцию, называемую свёрткой, создавая карту признаков, которая выделяет определенные паттерны, такие как горизонтальные линии или цветовые градиенты.
- Функция активации: После свёртки к выходным данным применяется нелинейная функция. Наиболее распространенным выбором является ReLU (выпрямленный линейный блок), который преобразует отрицательные значения пикселей в ноль. Это привносит нелинейность, позволяя сети изучать сложные паттерны, выходящие за рамки простых линейных зависимостей.
- Слой субдискретизации: Также известный как пулинг, этот слой уменьшает размерность карт признаков. Такие методы, как макс-пулинг, сохраняют в области только самые важные признаки (наивысшие значения), что снижает вычислительную нагрузку и помогает предотвратить переобучение.
- Полносвязный слой: На финальном этапе обработанные признаки выравниваются и передаются в стандартную нейронную сеть (NN). Этот слой использует высокоуровневые признаки, определенные предыдущими слоями, для выполнения окончательной классификации или прогнозирования, например "кот" или "собака".
Реальные приложения#
CNN преобразили индустрии, автоматизировав визуальные задачи с надчеловеческой точностью.
- Медицинская диагностика: В здравоохранении CNN помогают рентгенологам, выявляя аномалии на медицинских снимках быстрее человеческого глаза. Например, модели глубокого обучения анализируют МРТ и КТ-сканы для обнаружения ранних признаков опухолей или переломов. Исследования, посвященные ИИ в радиологии, подчеркивают, как эти инструменты повышают стабильность и скорость диагностики.
- Автономные системы: Беспилотные автомобили во многом полагаются на CNN для восприятия окружающей среды. Такие модели, как YOLO26, используют эффективные бэкбоны CNN для выполнения обнаружения объектов в реальном времени, распознавая пешеходов, дорожные знаки и другие транспортные средства для принятия мгновенных решений за рулем.
CNN против Vision Transformers (ViT)#
Хотя CNN долгое время оставались стандартом для задач компьютерного зрения, появилась новая архитектура под названием Визуальный трансформер (ViT).
- CNN обрабатывают изображения с использованием локальных признаков и высокоэффективны на небольших наборах данных благодаря своему «индуктивному смещению» (они предполагают, что соседние пиксели связаны). Они превосходят аналоги в сценариях, требующих инференса в реальном времени на периферийных устройствах.
- ViT разбивают изображения на патчи и обрабатывают их с использованием механизмов глобального самовнимания. Это позволяет им улавливать долгосрочные зависимости во всем изображении, но обычно требует огромных наборов данных и больших вычислительных мощностей для эффективного обучения.
Пример реализации#
Современные библиотеки делают использование моделей на базе CNN простым и понятным. Пакет ultralytics предоставляет доступ к передовым моделям, таким как YOLO26, которые отличаются высокооптимизированными архитектурами CNN для быстрого инференса.
Следующий пример демонстрирует, как загрузить предобученную модель CNN и выполнить предсказание:
from ultralytics import YOLO
# Load a YOLO26 model, which uses an advanced CNN architecture
model = YOLO("yolo26n.pt")
# Run inference on an image to identify objects
results = model("https://ultralytics.com/images/bus.jpg")
# Display the prediction results
results[0].show()Инструменты для разработки#
Разработка CNN поддерживается надежной экосистемой инструментов с открытым исходным кодом. Инженеры обычно используют такие фреймворки, как PyTorch или TensorFlow, для создания кастомных архитектур. Эти библиотеки предоставляют низкоуровневые тензорные операции, необходимые для свёртки и обратного распространения ошибки.
Для команд, стремящихся оптимизировать жизненный цикл проектов компьютерного зрения — от сбора данных до развертывания — платформа Ultralytics предлагает комплексное решение. Она упрощает сложные рабочие процессы, позволяя разработчикам сосредоточиться на применении CNN для решения бизнес-задач, а не на управлении инфраструктурой. Кроме того, модели можно экспортировать в такие форматы, как ONNX или TensorRT, для высокопроизводительного развертывания на периферийных устройствах.






