Толковый словарь по нейросетям и искусственному интеллекту
Свёртка
Категория термина
Свёртка (Convolution) — это математическая операция, которая применяется к двум функциям и возвращает третью, отражающую степень их совпадения при сдвиге одной из них. В контексте нейронных сетей, особенно свёрточных нейронных сетей (CNN), свёртка используется для выделения признаков из входных данных (например, изображения, звука или временных рядов).
В машинном обучении свёртка применяется не как чисто математическая операция, а как обучаемый фильтр, который скользит по входным данным и извлекает значимые паттерны, такие как края, текстуры, формы и структуры.
⚙️ Как это работает:
- Фильтр (ядро свёртки) — небольшая обучаемая матрица (например, 3×3), которая перемещается по входным данным.
- Страйд (stride) — шаг сдвига фильтра при перемещении по данным.
- Padding (дополнение) — добавление нулей по краям входа, чтобы сохранить размер выхода или избежать потерь информации.
- Feature Map (карта признаков) — результат применения свёртки к входу.
Формально, операция для одного канала изображения:
🧠 Применение:
| Область | Примеры |
|---|---|
| Компьютерное зрение | Распознавание объектов, классификация изображений, сегментация |
| Обработка сигналов | Анализ аудио, фильтрация |
| NLP (через Conv1D) | Классификация текстов, извлечение признаков из последовательностей |
| Медицина | Анализ рентгеновских снимков, МРТ, КТ |
| Генеративные модели | GAN, VAE используют свёртки в архитектуре энкодеров и декодеров |
🔍 Интуитивный пример:
Представьте, что фильтр 3×3 — это лупа, скользящая по фотографии. В каждой позиции она «смотрит» на небольшой фрагмент изображения и «выдаёт» число, отражающее наличие определённого признака, например, вертикального края.
📦 Связанные понятия:
- CNN (Convolutional Neural Network) — архитектура, основанная на использовании свёрток.
- Pooling (пулинг) — операция понижения размерности после свёртки.
- Transpose Convolution (обратная свёртка) — используется для увеличения размерности, например в генерации изображений.
- Depthwise и Pointwise Convolution — разновидности для оптимизации (например, в MobileNet).
- Dilated Convolution — «растянутая» свёртка, увеличивающая поле зрения без потери разрешения.
🧩 Заключение:
Свёртка — фундаментальная операция, лежащая в основе большинства современных моделей компьютерного зрения и многих других задач, связанных с извлечением признаков. Благодаря своей способности эффективно выявлять локальные зависимости, свёртка позволяет моделям обучаться сложным паттернам при минимальном количестве параметров по сравнению с полносвязными слоями.