AI-For-Beginners/translations/ru/lessons/4-ComputerVision/07-ConvNets
Pikachú 5d34bc4eb8 Add support documentation and translations for various lessons 2025-02-12 16:09:04 +00:00
..
lab Add support documentation and translations for various lessons 2025-02-12 16:09:04 +00:00
CNN_Architectures.md Add support documentation and translations for various lessons 2025-02-12 16:09:04 +00:00
README.md Add support documentation and translations for various lessons 2025-02-12 16:09:04 +00:00

README.md

Сверточные Нейронные Сети

Мы уже видели, что нейронные сети довольно хорошо справляются с обработкой изображений, и даже однослойный перцептрон способен распознавать рукописные цифры из набора данных MNIST с разумной точностью. Однако набор данных MNIST очень специфичен, и все цифры центрированы внутри изображения, что упрощает задачу.

Викторина перед лекцией

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

Чтобы извлечь шаблоны, мы будем использовать понятие сверточных фильтров. Как вы знаете, изображение представлено в виде 2D-матрицы или 3D-тензора с глубиной цвета. Применение фильтра означает, что мы берем относительно маленькую матрицу ядра фильтра, и для каждого пикселя в оригинальном изображении мы вычисляем взвешенное среднее с соседними точками. Мы можем рассматривать это как маленькое окно, скользящее по всему изображению и усредняющее все пиксели в соответствии с весами в матрице ядра фильтра.

Фильтр вертикального края Фильтр горизонтального края

Изображение Дмитрия Сошникова

Например, если мы применим 3x3 фильтры вертикального и горизонтального краев к цифрам MNIST, мы можем получить акценты (например, высокие значения) там, где находятся вертикальные и горизонтальные края в нашем оригинальном изображении. Таким образом, эти два фильтра могут быть использованы для "поиска" краев. Аналогично, мы можем разработать различные фильтры для поиска других низкоуровневых шаблонов.

Изображение Фильтров Люнга-Малика

Тем не менее, хотя мы можем вручную разрабатывать фильтры для извлечения некоторых шаблонов, мы также можем сконструировать сеть таким образом, чтобы она автоматически обучалась находить шаблоны. Это одна из основных идей, лежащих в основе CNN.

Основные идеи CNN

Работа CNN основана на следующих важных идеях:

  • Сверточные фильтры могут извлекать шаблоны
  • Мы можем спроектировать сеть таким образом, чтобы фильтры обучались автоматически
  • Мы можем использовать тот же подход для поиска шаблонов в высокоуровневых признаках, а не только в оригинальном изображении. Таким образом, извлечение признаков CNN работает на иерархии признаков, начиная с низкоуровневых комбинаций пикселей и заканчивая более высокоуровневыми комбинациями частей изображения.

Иерархическое извлечение признаков

Изображение из статьи Хислопа-Линча, основанной на их исследовании

✍️ Упражнения: Сверточные Нейронные Сети

Давайте продолжим исследовать, как работают сверточные нейронные сети и как мы можем достичь обучаемых фильтров, пройдя соответствующие блокноты:

Пирамидальная Архитектура

Большинство CNN, используемых для обработки изображений, следуют так называемой пирамидальной архитектуре. Первый сверточный слой, применяемый к оригинальным изображениям, обычно имеет относительно небольшое количество фильтров (8-16), которые соответствуют различным комбинациям пикселей, таким как горизонтальные/вертикальные линии штрихов. На следующем уровне мы уменьшаем пространственное измерение сети и увеличиваем количество фильтров, что соответствует большему количеству возможных комбинаций простых признаков. С каждым слоем, по мере продвижения к финальному классификатору, пространственные размеры изображения уменьшаются, а количество фильтров увеличивается.

В качестве примера давайте посмотрим на архитектуру VGG-16, сети, которая достигла 92.7% точности в топ-5 классификации ImageNet в 2014 году:

Слои ImageNet

Пирамида ImageNet

Изображение из Researchgate

Наилучшие Известные Архитектуры CNN

Продолжайте изучение наилучших известных архитектур CNN

Отказ от ответственности:
Этот документ был переведен с использованием услуг машинного перевода на основе ИИ. Хотя мы стремимся к точности, пожалуйста, имейте в виду, что автоматические переводы могут содержать ошибки или неточности. Оригинальный документ на его родном языке следует считать авторитетным источником. Для критически важной информации рекомендуется профессиональный человеческий перевод. Мы не несем ответственности за любые недоразумения или неправильные интерпретации, возникающие в результате использования этого перевода.