AI-For-Beginners/translations/ru/lessons/4-ComputerVision/07-ConvNets
localizeflow[bot] 7a7aeb92a1 chore(i18n): sync translations with latest source changes (chunk 1/1, 203 changes) 2026-01-30 01:10:04 +00:00
..
lab chore(i18n): sync translations with latest source changes (chunk 1/1, 203 changes) 2026-01-30 01:10:04 +00:00
CNN_Architectures.md chore(i18n): sync translations with latest source changes (chunk 1/1, 203 changes) 2026-01-30 01:10:04 +00:00
ConvNetsPyTorch.ipynb Fallback snapshot commit due to git add failure 2026-01-15 11:32:25 +00:00
ConvNetsTF.ipynb Fallback snapshot commit due to git add failure 2026-01-15 11:32:25 +00:00
README.md chore(i18n): sync translations with latest source changes (chunk 1/1, 203 changes) 2026-01-30 01:10:04 +00:00

README.md

Свёрточные нейронные сети

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

Тест перед лекцией

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

Для извлечения шаблонов мы будем использовать понятие свёрточных фильтров. Как вы знаете, изображение представлено в виде двумерной матрицы или трёхмерного тензора с глубиной цвета. Применение фильтра означает, что мы берём относительно небольшую матрицу ядра фильтра и для каждого пикселя исходного изображения вычисляем взвешенное среднее с соседними точками. Это можно представить как небольшое окно, скользящее по всему изображению и усредняющее все пиксели в соответствии с весами в матрице ядра фильтра.

Фильтр вертикальных краёв Фильтр горизонтальных краёв

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Слои ImageNet

Пирамида ImageNet

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

Наиболее известные архитектуры CNN

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