Convolutional Neural Network (CNN)
Исследуй, как сверточные нейронные сети (CNN) питают современное компьютерное зрение. Узнай о слоях, приложениях и о том, как запускать Ultralytics YOLO26 для ИИ реального времени.
Сверточная нейронная сеть (CNN) — это специализированная архитектура глубокого обучения, предназначенная для обработки данных с сеточной топологией, в первую очередь цифровых изображений. Вдохновленные биологическим строением зрительной коры, сети CNN обладают уникальной способностью сохранять пространственные связи во входных данных. В отличие от традиционных нейронных сетей, которые преобразуют изображение в длинный список чисел, CNN анализируют небольшие перекрывающиеся области изображения, чтобы автоматически изучать иерархии признаков — от простых краев и текстур до сложных форм и объектов. Эта способность делает их основополагающей технологией современных систем компьютерного зрения (CV).
Link to this sectionКак работают сверточные нейронные сети#
Сила CNN заключается в способности сжимать сложное изображение до формы, которую проще обрабатывать, не теряя при этом признаки, критически важные для получения точного прогноза. Это достигается с помощью конвейера из различных слоев, которые преобразуют входной объем в выходной класс или значение:
- Сверточный слой: это основной строительный блок. Он использует набор обучаемых фильтров (или ядер), которые перемещаются по входному изображению подобно фонарику. В каждой позиции фильтр выполняет математическую операцию, называемую сверткой, создавая карту признаков, которая выделяет специфические закономерности, такие как горизонтальные линии или цветовые градиенты.
- Функция активации: после свертки к выходу применяется нелинейная функция. Самый распространенный выбор — ReLU (Rectified Linear Unit), которая превращает отрицательные значения пикселей в ноль. Это вносит нелинейность, позволяя сети изучать сложные закономерности, выходящие за рамки простых линейных связей.
- Слой пулинга (Pooling Layer): также известный как субдискретизация, этот слой уменьшает размерность карт признаков. Такие методы, как max pooling, сохраняют только самые важные признаки (максимальные значения) в области, что снижает вычислительную нагрузку и помогает предотвратить переобучение.
- Полносвязный слой: на заключительном этапе обработанные признаки выравниваются и подаются в стандартную нейронную сеть (NN). Этот слой использует высокоуровневые признаки, выявленные предыдущими слоями, для выполнения окончательной классификации или прогноза, например, «кошка» или «собака».
Link to this sectionРеальные приложения#
Сети CNN трансформировали многие отрасли, автоматизируя визуальные задачи со сверхчеловеческой точностью.
- Медицинская диагностика: в здравоохранении CNN помогают радиологам быстрее человеческого глаза выявлять аномалии на медицинских снимках. Например, модели глубокого обучения анализируют МРТ и КТ-сканы для обнаружения ранних признаков опухолей или переломов. Исследования с использованием ИИ в радиологии показывают, как эти инструменты повышают согласованность и скорость диагностики.
- Автономные системы: беспилотные автомобили сильно зависят от CNN для восприятия окружающей обстановки. Такие модели, как YOLO26, используют эффективные магистрали CNN для выполнения обнаружения объектов в режиме реального времени, идентифицируя пешеходов, дорожные знаки и другие транспортные средства для принятия мгновенных решений во время движения.
Link to this sectionCNN против Vision Transformers (ViT)#
Хотя CNN долгое время были стандартом для задач компьютерного зрения, появилась новая архитектура под названием Vision Transformer (ViT).
- CNN обрабатывают изображения с использованием локальных признаков и высокоэффективны на небольших наборах данных благодаря своему «индуктивному смещению» (они предполагают, что соседние пиксели связаны). Они превосходно справляются со сценариями, требующими инференса в реальном времени на граничных устройствах.
- ViT разбивают изображения на патчи и обрабатывают их с помощью механизмов глобального самовнимания (self-attention). Это позволяет им фиксировать долгосрочные зависимости по всему изображению, но для эффективного обучения обычно требуются огромные наборы данных и больше вычислительной мощности.
Link to this sectionПример реализации#
Современные библиотеки упрощают использование моделей на базе 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()Link to this sectionИнструменты для разработки#
Разработка CNN поддерживается надежной экосистемой инструментов с открытым исходным кодом. Инженеры обычно используют такие фреймворки, как PyTorch или TensorFlow, для создания кастомных архитектур. Эти библиотеки предоставляют низкоуровневые тензорные операции, необходимые для свертки и обратного распространения ошибки.
For teams looking to streamline the lifecycle of computer vision projects—from data collection to deployment—the Ultralytics Platform offers a comprehensive solution. It simplifies complex workflows, allowing developers to focus on applying CNNs to solve business problems rather than managing infrastructure. Additionally, models can be exported to formats like ONNX or TensorRT for high-performance deployment on edge devices.






