Сверточные нейронные сети: полное руководство для начинающих в 2022 году
Опубликовано: 2021-01-05Быстрый поиск в Google по слову «наука о данных» однозначно покажет любому, как
популярной область стала в последние пять лет. Наряду с наукой о данных искусственные
интеллект, машинное обучение и глубокое обучение также пользуются популярностью в
области информатики. Последнее, что будет добавлено в этот список, — сверточная нейронная сеть.
сетей — инновация из области компьютерного зрения.
Оглавление
С чего все началось?
Нейронные сети стали настоящим хитом в 2012 году, когда Алекс Крижевский выиграл
Конкурс ImageNet в том же году. Это соревнование сродни компьютерной олимпиаде.
зрение, и когда Алекс использовал их, ошибка классификации снизилась с 26% до 15%.
Это был Безошибочный Лазерный Луч Надежды, который компании и компьютер
нужны ученые. С тех пор такие компании, как Instagram, Facebook, Pinterest и др.
с энтузиазмом внедрили нейронные сети, чтобы обеспечить лучший опыт для
их аудитория. Читайте: Учебник по нейронной сети.
Биологическая связь сверточных нейронных сетей также поможет сделать ее
фундамент чистый. В 1962 году Хьюбел и Визель показали, что разные нейроны в
зрительная кора активировалась только тогда, когда присутствовали определенные зрительные сигналы. Вместе эти
нейроны имели столбчатую структуру и при возбуждении коллективно производили визуальные
восприятие.
Например, некоторые нейроны срабатывали только тогда, когда они были открыты горизонтальным краям.
Другие стреляли при наличии вертикальных или диагональных ребер. Таким образом, разные нейроны
реагировали на различные визуальные компоненты и позволяли нам видеть.
Что такое сверточная нейронная сеть?
Сверточная нейронная сеть, также называемая CNN или ConvNet, представляет собой систему глубокого обучения.
алгоритм. Он берет входное изображение, присваивает веса/смещения компонентам изображения.
изображение, а затем классифицирует все изображение. При достаточном обучении ConvNets
способность к обучению фильтров/классификации и требуемая предварительная обработка ниже, чем
по сравнению с другими алгоритмами. Прочтите о различиях между глубоким обучением и нейронными сетями.

Что мы в конечном итоге хотим, чтобы сверточная нейронная сеть делала, так это различала
между изображениями и правильно их классифицировать. Он способен захватывать как временное, так и
пространственные зависимости из-за применения соответствующих фильтров.
Основы того, как это работает
Изображение становится массивом в зависимости от разрешения и размера изображения.
Каждая запись в массиве будет состоять из числа от 0 до 255 (если используется система RGB).
использовал). Это число будет представлять интенсивность пикселя в этой точке.
Взяв все эти числа в качестве входных данных, компьютер выдаст число. Это число
будет означать вероятность принадлежности изображения к определенному классу (например, дом,
дорога, автобус, собака, кошка и т.д.)
Структура CNN
Глядя на изображение выше, вы можете подумать, что в сверточной модели много слоев.
нейронной сети, но на самом деле основных всего 3. Это включает:
1. Сверточный слой
2. Слой объединения
3. Полносвязный слой
Давайте углубимся в каждый из них.

Сверточный слой
Это основной слой сверточной нейронной сети. Его параметры
состоит из набора фильтров. Эти фильтры маленькие, но они охватывают всю глубину
объем ввода.
Основная задача, выполняемая на сверточном слое, — извлечение высокоуровневых
Особенности. Первый (как показано на изображении выше) отвечает за извлечение
функции уровня, такие как цвет, края и т. д. Последующие сверточные слои удаляют
функции высокого уровня, что приводит к полному пониманию/прочтению изображения.
Слой объединения
Этот слой предназначен для уменьшения пространственного размера представления изображения. Таким образом, это
также помогает уменьшить объем вычислений и обработки в нейронной сети.
Кроме того, он также извлекает доминирующие функции, которые позиционно и вращательно
инвариант.
Один тип объединения выполняется с помощью операции Max. Эта операция выбирает
максимальное значение от каждого кластера нейронов на предыдущем уровне. Другой тип объединения
это средний пул, который возвращает среднее значение из кластера.
Поскольку максимальное объединение также действует как подавитель шума, оно работает лучше, чем среднее.
объединение.
Как показано на изображении выше, в дополнение к
сверточные слои. Чем больше этих слоев, тем больше низкоуровневых функций.
будет извлечен. Однако затрачиваемая вычислительная мощность также увеличится.
Теперь, когда изображение прошло через все свертки и объединение
слои, извлечение признаков завершено. Настало время для классификации изображения. Полносвязный слой выполняет эту задачу.
Полносвязные слои (FCL)
Как и последний слой, слой FC представляет собой просто нейронную сеть с прямой связью. Вход в
полносвязный слой — это сглаженный результат последнего объединения/свертки
слой. Сглаживание означает, что трехмерная матрица или массив развернуты в вектор.

Для каждого слоя FC происходит определенный математический расчет. После того, как вектор прошел через все полносвязные слои, в последнем слое используется функция активации softmax. Это используется для вычисления вероятности входа, принадлежащего конкретной задаче.
Таким образом, конечным результатом являются разные вероятности того, что входное изображение принадлежит разным классам.
Процесс повторяется для разных типов изображений и отдельных изображений внутри этих типов. Это обучает сеть и учит ее различать собаку и кошку, розу и подсолнух.
Забрать
Базовая технология сверточных нейронных сетей постоянно совершенствуется. Сети тщательно обучены, чтобы выводить точные вероятности. Можно справедливо сказать: в области компьютерного зрения CNN сами по себе являются революцией.
Вы можете ознакомиться с нашим дипломом PG в области машинного обучения и искусственного интеллекта , который включает практические семинары, индивидуального отраслевого наставника, 12 тематических исследований и заданий, статус выпускника IIIT-B и многое другое.