Введение в сверточные нейронные сети

Сверточные нейронные сети, также известные как CNN или ConvNet, подпадают под категорию искусственных нейронных сетей, используемых для обработки и визуализации изображений. Искусственный интеллект использует глубокое обучение для выполнения этой задачи. Нейронные сети - это аппаратное или программное обеспечение, запрограммированное как нейроны в человеческом мозге. Традиционная нейронная сеть принимает только изображения с уменьшенным разрешением в качестве входных данных. CNN решает эту проблему, размещая их нейроны как лобную долю человеческого мозга. Предварительная обработка на CNN очень меньше по сравнению с другими алгоритмами. Свертка, линейная математическая операция используется на CNN. Он использует свертку вместо общего умножения матриц в одном из своих слоев.

Слои в сверточных нейронных сетях

Ниже приведены слои сверточных нейронных сетей:

1. Входной слой изображения

Входной слой дает входные данные (в основном изображения), и выполняется нормализация. Размер ввода должен быть указан здесь.

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

В этом слое выполняется свертка, и изображение делится на персептроны (алгоритм), создаются локальные поля, что приводит к сжатию персептронов для отображения карт в виде матрицы с размером mx n.

3. Слой нелинейности

Здесь карты характеристик взяты в качестве входных данных, а карты активации приведены в качестве выходных с помощью функции активации. Функция активации обычно реализуется как сигмоидная или гиперболическая касательная функции.

4. Уровень выпрямления

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

5. Выпрямленные линейные единицы (ReLU)

ReLU объединяет нелинейные и ректификационные слои на CNN. Это делает пороговую операцию, где отрицательные значения конвертируются в ноль. Однако ReLU не меняет размер ввода.

6. Объединение слоя

Слой пула также называется слоем понижающей дискретизации, так как он отвечает за уменьшение размера карт активации. Фильтр и шаг одинаковой длины применяются к входному объему. Этот слой игнорирует менее значимые данные, поэтому распознавание изображения выполняется в меньшем представлении. Этот слой уменьшает переоснащение. Поскольку количество параметров уменьшается с использованием уровня пула, стоимость также уменьшается. Входные данные делятся на прямоугольные области пула, и рассчитывается либо максимальное, либо среднее значение, которое, следовательно, возвращает максимальное или среднее значение. Макс Пулинг является популярным.

7. Dropout Layer

Этот слой случайным образом обнуляет входной слой с заданной вероятностью. Больше результатов в разных элементах сбрасывается после этой операции. Этот слой также помогает уменьшить переоснащение. Это делает сеть избыточной. На этом уровне обучения не происходит. Эта операция проводится только во время тренировки.

8. Полностью связанный слой

Карты активации, являющиеся выходом предыдущих слоев, превращаются в класс вероятностного распределения в этом слое. Слой FC умножает входные данные на матрицу весов и добавляет вектор смещения.

9. Выходной слой

За слоем ФК следуют софтмакс и классификационные слои. Функция softmax применяется к входу. Уровень классификации вычисляет функцию кросс-энтропии и потерь для задач классификации.

10. Регрессионный слой

Половина квадрата ошибки вычисляется в этом слое. Этот слой должен следовать за слоем FC.

Архитектура сверточной нейронной сети

Ниже представлена ​​архитектура сверточных нейронных сетей:

1. LeNet

LeNet был представлен для оптического и распознавания символов в документах в 1998 году. Он небольшой и идеально подходит для работы в процессоре. LeNet маленький и его легко понять. Это построено на трех основных идеях: локальные рецептивные поля, общие веса и пространственная подвыборка. Сеть показывает лучшее внутреннее представление необработанных изображений. Он имеет три сверточных слоя, два пула, один полностью связанный слой и один выходной слой. За одним сверточным слоем сразу последовал объединяющий слой. Все слои описаны выше.

2. AlexNet

AlexNet была разработана в 2012 году. Эта архитектура популяризировала CNN в области компьютерного зрения. Он имеет пять сверточных и три полностью связанных слоя, где ReLU применяется после каждого слоя. Он использует преимущества обоих слоев, так как сверточный слой имеет мало параметров и длительных вычислений, а для полностью связного слоя - наоборот. Перенастройка была значительно уменьшена за счет увеличения объема данных и отсева. AlexNet был глубже, более крупные и сверточные слои не разделены объединяющим слоем по сравнению с LeNet.

3. ZF Net

ZF Net была разработана в 2013 году и представляла собой модифицированную версию AlexNet. Размер среднего сверточного слоя был расширен, и шаг первого сверточного слоя и размер фильтра были уменьшены. Он просто признал недостатки AlexNet и разработал превосходящий. Все слои такие же, как у AlexNet. ZF Net настраивает параметры слоя, такие как размер фильтра или шаг AlexNet, что позволяет уменьшить частоту появления ошибок.

4. GoogLeNet

Эта архитектура была разработана в 2014 году. Начальный уровень является основной концепцией. Этот слой покрывает большую область, но отмечает небольшую информацию об изображении. Для повышения производительности в GoogLeNet используются девять начальных модулей. Поскольку начальный уровень склонен к переобучению, здесь используется больше нелинейностей и меньше параметров. Максимальный уровень пула используется для объединения выходных данных предыдущего слоя. Эта архитектура имеет 22 слоя, а параметры в 12 раз меньше. Это точнее, чем AlexNet, тоже быстрее. Уровень ошибок сравнительно ниже. Средний объединяющий слой используется в конце вместо полностью связанного слоя. Вычисления уменьшены, глубина и ширина увеличены. Многие начальные модули подключены, чтобы углубиться в архитектуру. GoogLeNet превзошел все остальные архитектуры, разработанные до 2014 года. Для этой архитектуры доступно несколько последующих версий.

5. VGG Net

Это было улучшение по сравнению с ZFNet и впоследствии по сравнению с AlexNet. Он имеет 16 слоев с 3 × 3 сверточными слоями, 2 × 2 объединяющими слоями и полностью связанными слоями. Эта архитектура принимает простейшую структуру сети, но имеет большинство параметров.

6. ResNet

Архитектура остаточной сети была разработана в 2015 году. Она использует пакетную нормализацию и пропускает использование слоев FC. Эта архитектура использует 152 слоя и использует пропускаемые соединения. В настоящее время ResNet в основном используется во всех алгоритмах глубокого обучения.

Вывод

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

Рекомендуемая статья

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

  1. Классификация нейронной сети
  2. Машинное обучение против нейронной сети
  3. Обзор нейросетевых алгоритмов
  4. Рекуррентные нейронные сети (RNN)
  5. Внедрение нейронных сетей
  6. Лучшие 6 Сравнений между CNN против RNN