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