Сводка
Из этого модуля вы узнали, как работают сверточные нейронные сети и как они могут захватывать закономерности в 2D-изображениях.
Вот краткий обзор ключевых понятий, которые мы рассмотрели:
- Данные изображения в виде тензоров: представление изображений в виде многомерных массивов (H×W для серого масштабирования, H×W×3 для цвета) и нормализация значений пикселей.
- Плотные нейронные сети: создание однослойных и многослойных полносвязных сетей для классификации изображений, включая такие понятия, как softmax, one-hot кодирование, функции потерь и оптимизаторы.
- Переобучение: распознавание того, когда модель слишком хорошо подстраивается под обучающие данные, но не может обобщать, и стратегии для его предотвращения.
- Сверточная нейронная сеть (CNN): использование сверточных фильтров для извлечения пространственных шаблонов, слоев подвыборки для уменьшения размерности и пирамидальных архитектур, объединяющих несколько сверточных слоев.
- Трансферное обучение: Использование предварительно обученных моделей, таких как VGG-16, для извлечения признаков и создания классификаторов для кастомных задач с меньшим количеством данных и меньшими затратами времени на обучение.
На самом деле, CNN также можно использовать для поиска шаблонов в 1-мерных сигналах (таких как звуковые волны или временные ряды), а также в многомерных структурах (например, события в видео, где некоторые шаблоны повторяются в кадрах). Кроме того, сети CNN являются простыми основными блоками для решения более сложных задач компьютерного зрения, таких как генерация изображений. Генеративные состязательные сети (GAN) и диффузионные модели (такие как Stable Diffusion и DALL·E) используются для создания изображений, где диффузионные модели представляют текущее состояние техники. Аналогичным образом, CNN используются для обнаружения объектов, сегментации экземпляров и т. д.