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

Сверточная нейронная сеть (CNN) — это особый вид нейронной сети, который значительно уменьшает количество параметров в глубокой нейронной сети со многими единицами без потери качества модели. CNN нашли применение в обработке изображений и текста, где они превзошли многие ранее установленные эталоны. Это одна из основных категорий для распознавания изображений, классификации изображений, обнаружения объектов. , распознавание лиц и т. д.

CNN принимает в качестве входных данных тензоры формы (image_height, image_width,
image_channels) (не включая пакетное измерение).

Содержание классической сверточной нейронной сети:

1.Сверточный слой.

2.Операция активации после каждого сверточного слоя.

3. Слой пула, особенно слой максимального пула, а также другие в зависимости от требований.

4. Окончательно полностью подключенный слой.

Операция свертки

В математике (в частности, в функциональном анализе) свертка – это математическая операция над двумя функциями (f и g), которая дает третью функцию, выражающую изменение формы одной из них под действием другой. Термин свертка относится как к функции результата, так и к процессу ее вычисления.

Фундаментальное различие между плотно связанным слоем и слоем свертки заключается в следующем: плотные слои изучают глобальные закономерности в своем входном пространстве объектов, тогда как сверточные слои изучают локальные закономерности: в случае изображений, паттернов, найденных в небольших 2D-окнах входных данных.

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

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

Как работает CNN?

Изображение изменяется до оптимального размера и подается на вход сверточному слою.

Давайте рассмотрим вход как массив значений пикселей 32x32x3.

2. Существует фильтр, или нейрон, или ядро, которое накладывается на некоторые пиксели входного изображения в зависимости от размеров ядра.

Пусть размеры ядра фильтра будут 5х5х3.

3. Ядро фактически скользит по входному изображению, таким образом, оно умножает значения в фильтре на исходные значения пикселей изображения (иначе вычисляя поэлементное умножение).

Умножения суммируются, образуя одно число для этого конкретного рецептивного поля, и, следовательно, для скольжения ядра в общей сложности 784 числа отображаются в массив 28x28, известный как карта признаков.

**Теперь, если мы рассмотрим два ядра одного размера, то полученная карта признаков первого слоя будет (28x28x2).

Перспектива высокого уровня

• Возьмем для понимания ядро ​​размером (7x7x3). Каждое из ядер считается идентификатором функции, поэтому скажем, что наш фильтр будет детектором кривой.

  • Исходное изображение и визуализация ядра на изображении.

Сумма полученного значения умножения равна = 4*(50*30)+(20*30) = 6600 (большое число)

  • Теперь, когда ядро ​​перемещается в другую часть изображения.

Сумма сгенерированного значения умножения = 0 (маленькое число).

Вывод

Я надеюсь, что смог немного прояснить это для вас CNN, я буду загружать гораздо больше объяснений алгоритмов, потому что почему бы и нет :)

Спасибо, что дочитали до конца, надеюсь, вы смогли понять.

Вы можете связаться со мной по адресу:

Github, LinkedIn, Захра Эльхамрауи, Upwork