Сверточная нейронная сеть (CNN)
Узнайте, как сверточные нейронные сети (CNN) совершают революцию в компьютерном зрении, поддерживая ИИ в здравоохранении, самоуправляемых автомобилях и многом другом.
Сверточная нейронная сеть (CNN) — это специализированный тип нейронной сети (NN), которая очень эффективна для обработки данных с сетчатой топологией, таких как изображения. Вдохновленные зрительной корой головного мозга человека, CNN автоматически и адаптивно изучают пространственные иерархии признаков из входных данных. Это делает их основополагающей архитектурой для большинства современных задач компьютерного зрения (CV), где они достигли самых современных результатов во всем, от классификации изображений до обнаружения объектов.
Как работают CNN
В отличие от стандартной нейронной сети, где каждый нейрон одного слоя связан с каждым нейроном следующего, в CNN используется специальная математическая операция, называемая сверткой. Это позволяет сети изучать признаки в локальном рецептивном поле, сохраняя пространственные отношения между пикселями.
Типичная архитектура CNN состоит из нескольких ключевых слоев:
- Сверточный слой: Это основной строительный блок, где фильтр или ядро скользит по входному изображению для создания карт признаков. Эти карты выделяют такие закономерности, как края, углы и текстуры. Размер этих фильтров и закономерности, которые они обнаруживают, изучаются во время обучения модели.
- Слой активации: После каждой свертки применяется функция активации, такая как ReLU, чтобы ввести нелинейность, позволяющую модели изучать более сложные закономерности.
- Слой пулинга (понижающей дискретизации): Этот слой уменьшает пространственные размеры (ширину и высоту) карт признаков, что снижает вычислительную нагрузку и помогает сделать обнаруженные признаки более устойчивыми к изменениям положения и ориентации. Классическая статья по этой теме - ImageNet Classification with Deep Convolutional Neural Networks.
- Полносвязный слой: После нескольких сверточных слоев и слоев пулинга высокоуровневые признаки сглаживаются и передаются в полносвязный слой, который выполняет классификацию на основе изученных признаков.
CNN в сравнении с другими архитектурами
CNN — это тип модели глубокого обучения, но они значительно отличаются от других архитектур.
- Нейронные сети (NNs): Стандартная NN обрабатывает входные данные как плоский вектор, теряя всю пространственную информацию. CNN сохраняют эту информацию, что делает их идеальными для анализа изображений.
- Vision Transformers (ViTs): В отличие от CNN, которые имеют сильное индуктивное смещение для пространственной локальности, ViTs рассматривать изображение как последовательность патчей и использовать self-attention (механизм самовнимания) механизм для изучения глобальных взаимосвязей. ViT часто требуют больше данных для обучения, но могут преуспеть в задачах, где важен контекст дальнего действия. Многие современные модели, такие как RT-DETRиспользовать гибридный подход, сочетающий CNN
backbone на основе Transformer-архитектуры detection head.
Применение в реальном мире
CNN являются движущей силой бесчисленных реальных приложений:
- Детекция объектов: Модели семейства Ultralytics YOLO, такие как YOLOv8 и YOLO11, используют CNN backbones для идентификации и определения местоположения объектов на изображениях и видео с замечательной скоростью и точностью. Эта технология имеет решающее значение для всего, от ИИ в автомобильных системах до управления запасами на основе ИИ.
- Анализ медицинских изображений: В здравоохранении CNN помогают радиологам, анализируя медицинские снимки (рентгеновские снимки, МРТ, КТ) для обнаружения опухолей, переломов и других аномалий. Это приложение помогает повысить скорость и согласованность диагностики, как подчеркивается в исследованиях таких учреждений, как Национальные институты здоровья (NIH). Вы можете изучить анализ медицинских изображений с помощью Ultralytics для получения дополнительной информации.
- Сегментация изображений: Для задач, требующих понимания на уровне пикселей, таких как в автономных транспортных средствах, которым необходимо отличать дорогу от пешехода, архитектуры на основе CNN, такие как U-Net, широко используются для сегментации изображений.
Инструменты и фреймворки
Разработка и развертывание CNN поддерживается мощными инструментами и фреймворками: