Глоссарий

Конволют

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

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

Узнай больше

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

Как работает конволюция

Представь, что ты скользишь маленькой лупой (ядром) по большему изображению (входу). В каждой позиции лупа фокусируется на небольшом участке изображения. Операция свертки вычисляет взвешенную сумму значений пикселей в пределах этого участка, используя веса, заданные ядром. Это одно вычисленное значение становится одним пикселем в выходной карте признаков. Ядро систематически скользит по всему входному изображению, шаг за шагом (определяется параметром под названием "stride"), создавая полную карту признаков. Разные ядра предназначены для обнаружения разных особенностей; например, одно ядро может обнаруживать горизонтальные края, а другое - углы. Используя несколько ядер в одном слое, CNN может извлекать богатый набор признаков из входных данных. Ты можешь изучить визуальные объяснения этого процесса на таких ресурсах, как заметки по CNN на курсе Stanford CS231n.

Основные компоненты конволюции

  • Входные данные: Обычно это многоканальное изображение (например, RGB-каналы) или выходная карта признаков, полученная на предыдущем слое.
  • Ядро (фильтр): Небольшая матрица весов, определяющая признак, который нужно обнаружить. Эти веса узнаются в процессе обучения модели.
  • Карта признаков: Выход операции свертки, представляющий наличие и пространственное расположение обнаруженных признаков.
  • Stride (шаг): Количество пикселей, на которое ядро сдвигает входной сигнал на каждом шаге.
  • Паддинг: Добавление пикселей (обычно нулей) по границе входного изображения для управления пространственными размерами выходной карты признаков.

Приложения конволюции

Конволюционные слои необходимы во многих современных приложениях ИИ:

1. Обнаружение объектов

При обнаружении объектов CNN используют свертки для идентификации объектов и их расположения на изображении с помощью ограничительных блоков. Такие модели, как Ultralytics YOLO в значительной степени опираются на конволюционные слои для извлечения признаков в разных масштабах, что позволяет эффективно обнаруживать различные объекты. Это очень важно для таких приложений, как автономные автомобили, где обнаружение пешеходов, машин и дорожных знаков в режиме реального времени жизненно необходимо для обеспечения безопасности. Узнай больше о решениях AI в автомобильной промышленности.

2. Анализ медицинских изображений

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

Конволюция в сравнении со смежными понятиями

Конверсия часто используется наряду с другими операциями и концепциями в нейронных сетях:

  • Пулинг: В то время как свертка извлекает признаки, слои объединения (например, Max Pooling или Average Pooling) уменьшают пространственные размеры (downsample) карты признаков. Это помогает снизить вычислительную нагрузку и делает представление признаков более устойчивым к небольшим пространственным вариациям. Пулинг суммирует признаки в регионе, тогда как свертка извлекает их. Более подробную информацию можно найти в ресурсах, рассказывающих о пулинговых слоях в CNN.
  • Извлечение признаков: Это более широкий термин, обозначающий процесс преобразования исходных данных в числовые характеристики, пригодные для машинного обучения. Конволюция - это специфическая, высокоэффективная техника для автоматического извлечения признаков из данных, похожих на сетку, в частности в CNN.
  • Полностью связанные слои: В отличие от конволюционных слоев, которые применяют ядра локально и разделяют веса, полностью связанные слои соединяют каждый нейрон из предыдущего слоя с каждым нейроном в текущем слое. Обычно они появляются в конце архитектуры CNN, чтобы выполнять классификацию или регрессию на основе высокоуровневых признаков, извлеченных конволюционными и объединяющими слоями. Узнай больше об основах нейронных сетей (НС).

Понимание свертки - ключ к пониманию того, как многие современные модели ИИ, включая те, что доступны через Ultralytics HUB, интерпретируют визуальную информацию. Такие фреймворки, как PyTorch и TensorFlow обеспечивают эффективную реализацию операций свертки. Такие библиотеки, как OpenCV, также используют свертку для традиционных задач обработки изображений, таких как размытие и повышение резкости.

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