Глоссарий

Конволюционная нейронная сеть (CNN)

Узнай, как конволюционные нейронные сети (CNN) революционизируют компьютерное зрение, обеспечивая ИИ в здравоохранении, самодвижущихся автомобилях и многом другом.

Обучай модели YOLO просто
с помощью Ultralytics HUB.

Узнай больше

Конволюционная нейронная сеть (CNN) - это тип модели глубокого обучения, особенно хорошо подходящий для анализа визуальных данных, таких как изображения и видео. В отличие от традиционных нейронных сетей, CNN предназначены для автоматического и адаптивного обучения пространственным иерархиям признаков на основе входных данных. Это достигается за счет слоев, которые выполняют математические операции, такие как свертка, для обнаружения таких паттернов, как края, текстуры и более сложные формы. CNN произвели революцию в области компьютерного зрения (КВ), позволив значительно продвинуться в том, как машины интерпретируют и понимают визуальную информацию.

Основные компоненты и функциональность

CNN состоят из нескольких типов слоев, каждый из которых служит отдельной цели в обработке визуальных данных:

  • Конволюционные слои: Эти слои используют фильтры для сканирования входного изображения и создания карт особенностей, которые выделяют определенные детали. Каждый фильтр отвечает за обнаружение определенной особенности, например вертикального края или кривой. Для более глубокого понимания процесса свертки ты можешь изучить свертку.
  • Пулирующие слои: Обычно они используются после конволюционных слоев, пулинговые слои уменьшают пространственные размеры карт признаков, снижая вычислительную нагрузку и помогая предотвратить перебор. К распространенным типам относятся max pooling и average pooling.
  • Функция активации: Функции активации вносят в сеть нелинейность, позволяя ей обучаться сложным паттернам. Популярными вариантами являются ReLU (Rectified Linear Unit) и ее разновидности, например Leaky ReLU.
  • Полностью подключенные слои: Эти слои соединяют каждый нейрон из предыдущего слоя со следующим, подобно традиционным нейронным сетям. Обычно они располагаются в конце сети и отвечают за составление окончательной классификации или предсказания на основе признаков, извлеченных конволюционными слоями.
  • Выпадающие слои: Эти слои помогают предотвратить чрезмерную подгонку, случайным образом устанавливая долю входных единиц в 0 при каждом обновлении в течение времени обучения, что помогает предотвратить чрезмерную подгонку.

Основные отличия от других нейронных сетей

Хотя все нейронные сети разделяют основную концепцию взаимосвязанных узлов, CNN значительно отличаются от других типов, таких как рекуррентные нейронные сети (RNN) или базовые сети с прямолинейным движением:

  • Пространственная иерархия: CNN отлично справляются с улавливанием пространственных иерархий в данных, что крайне важно для анализа изображений и видео. RNN, с другой стороны, предназначены для работы с последовательными данными, что делает их более подходящими для таких задач, как обработка естественного языка (NLP) и анализ временных рядов.
  • Совместное использование параметров: В CNN фильтры разделяются по всему входному пространству, что значительно сокращает количество параметров по сравнению с полностью связанными сетями. Это не только делает CNN более эффективными, но и помогает им лучше обобщать данные в визуальных задачах.
  • Локальные рецептивные поля: Нейроны в CNN подключены только к локальной области входного сигнала, известной как рецептивное поле, что позволяет им эффективно обнаруживать локальные паттерны. Это контрастирует с полностью подключенными сетями, где каждый нейрон подключен ко всем нейронам в предыдущем слое.

Применение в реальном мире

CNN продемонстрировали замечательные возможности в различных областях. Вот два конкретных примера их применения в реальном мире:

  1. Анализ медицинских изображений: CNN широко используются в здравоохранении для анализа медицинских изображений, таких как рентгеновские снимки, компьютерные и магнитно-резонансные томограммы. Они могут обнаруживать аномалии, классифицировать заболевания и сегментировать органы с высокой точностью. Например, CNN могут определять опухоли, переломы и другие заболевания, помогая врачам в диагностике и планировании лечения. Способность CNN изучать сложные закономерности на изображениях делает их неоценимыми в улучшении результатов лечения пациентов. Подробнее об ИИ в здравоохранении.
  2. Автономные транспортные средства: Самоуправляемые автомобили в значительной степени полагаются на CNN для обнаружения объектов, сегментации изображений и понимания сцены. CNN обрабатывают визуальные данные с камер, чтобы определить пешеходов, другие транспортные средства, дорожные знаки и границы дороги. Эта информация крайне важна для принятия решений о вождении в реальном времени, обеспечивая безопасность и эффективность автономных автомобилей. Узнай больше об ИИ в самодвижущихся автомобилях.

Инструменты и фреймворки

Разработка и развертывание CNN упрощается благодаря различным инструментам и фреймворкам, которые предоставляют готовые слои, алгоритмы оптимизации и аппаратное ускорение:

  • PyTorch: Фреймворк глубокого обучения с открытым исходным кодом, известный своей гибкостью и простотой использования. PyTorch позволяет динамически строить графики вычислений, что делает его популярным среди исследователей и разработчиков.
  • TensorFlow: Разработанный Google, TensorFlow - это еще один широко используемый фреймворк, который поддерживает как исследовательские, так и производственные среды. Он предлагает обширную экосистему инструментов, библиотек и ресурсов сообщества.
  • Keras: Удобная библиотека нейронных сетей, которая может работать поверх TensorFlow или PyTorch. Keras упрощает процесс построения и обучения моделей глубокого обучения.
  • Ultralytics YOLO: Впервые использую "YOLO", Ultralytics YOLO модели - это современные модели обнаружения объектов, которые используют CNN-архитектуры для достижения высокой точности и скорости. Эти модели доступны через Ultralytics HUB, который предоставляет инструменты для обучения, развертывания и эффективного управления моделями.

Разобравшись в тонкостях CNN, пользователи смогут лучше оценить их значение для развития ИИ и машинного обучения. Эти сети продолжают стимулировать инновации во всех отраслях, что делает их краеугольным камнем современных приложений для компьютерного зрения.

Читать полностью