Помощь в написании студенческих работ
Антистрессовый сервис

Арихитектура CNN. 
Обзор современного состояния области компьютерного зрения

РефератПомощь в написанииУзнать стоимостьмоей работы

CNN строится из последовательности свёрточных и субдискретизирующих слоёв. Чередование слоёв позволяет составлять карты признаков из карт признаков, что на практике означает способность распознавания сложных иерархий признаков. После прохождения нескольких слоев карта признаков вырождается в вектор или скаляр. На первом слое ядро свёртки проходит по одному исходному изображению. На внутренних… Читать ещё >

Арихитектура CNN. Обзор современного состояния области компьютерного зрения (реферат, курсовая, диплом, контрольная)

В CNN в операции свёртки используется ограниченная матрица весов небольшого размера — ядро свёртки, которое двигают по всему обрабатываемому слою (в самом начале — непосредственно по входному изображению). Т. е. для различных нейронов выходного слоя используются общие веса [37], в отличие от классической нейронной сети, в которой каждый нейрон выходного слоя связан с каждым нейроном входного слоя (на первом слое: с каждым пикселем изображения). Таким образом, количество настраиваемых коэффициентов уменьшается в разы, возрастает скорость обучения и работы сети. Также, это позволяет избежать попиксельного запоминания примеров, и обеспечивает инвариантность к смещению [39].

Ядро свёртки строится таким образом, чтобы графически кодировать конкретный признак — например, наличие на изображении наклонной линии под определенным углом. Следующий слой (слой свёртки), получившийся в результате операции свёртки, представляет собой карту признаков (feature map). Она показывает наличие и координаты данного типа линий в обрабатываемом слое. Таким образом, каждая карта признаков, по сути, фильтрует предыдущий слой на наличие в нём «своего» признака — различных типов линий, дуг, кругов, пятен и так далее. Ядер свёртки в CNN целая гамма, кодирующая всевозможные линии и дуги под разными углами. Эти ядра свёртки формируются самостоятельно путём обучения сети, например, классическим методом распространения ошибки. Проход каждым набором весов формирует свой собственный экземпляр карты признаков, делая нейронную сеть многомерной (на одном слое присутствует много независимых карт). При переборе слоя матрицей весов её передвигают обычно не на полный шаг (размер этой матрицы), а на небольшое расстояние, чтобы не пропустить искомый признак [37].

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

В упрощённом виде этот слой описывается как [44]:

Арихитектура CNN. Обзор современного состояния области компьютерного зрения.
Арихитектура CNN. Обзор современного состояния области компьютерного зрения.
Арихитектура CNN. Обзор современного состояния области компьютерного зрения.
Арихитектура CNN. Обзор современного состояния области компьютерного зрения.
Арихитектура CNN. Обзор современного состояния области компьютерного зрения.

где — выходго слоя; - функция активации; - коэффициент сдвига; - ядро свёртки. Символом * обозначена операция свёртки. За счёт краевых эффектов размер исходных матриц уменьшается.

Арихитектура CNN. Обзор современного состояния области компьютерного зрения.

Каждая операция свёртки уменьшает размер карты признаков [39]. На примере выше (см. рисунок 44) на входное изображение 32×32 первая операция свёртки дала 6 карт признаков размером 28×28. После выполнения операции свёртки сеть теряет часть информации о точном положении найденного признака, сохраняя информацию о взаимном расположении различных признаков [38].

Свёрточный слой имеет несколько ядер свёртки. Для выполнения последующих свёрточных слоёв карты признаков этого слоя суммируются [44]:

Арихитектура CNN. Обзор современного состояния области компьютерного зрения.
Арихитектура CNN. Обзор современного состояния области компьютерного зрения.
Арихитектура CNN. Обзор современного состояния области компьютерного зрения.
Арихитектура CNN. Обзор современного состояния области компьютерного зрения.
Арихитектура CNN. Обзор современного состояния области компьютерного зрения.

где — карта признаков (выходго слоя), — функция активации, — коэффициент сдвига для карты признаков нам слое, — ядро свёртки номер , — карты признаков предыдущего слоя.

Арихитектура CNN. Обзор современного состояния области компьютерного зрения.

Одной из особенностей слоёв свёртки является тот факт, что при сдвиге входного изображения значения карт признаков будут сдвинуты на ту же самую величину, за счёт чего свёрточные сети обладают инвариантностью к сдвигам и незначительным искажениям входного сигнала [39, 40].

Операция субдискретизации (или операция подвыборки, subsampling) выполняет уменьшение размерности сформированных карт признаков. В данной архитектуре сети считается, что информация о факте наличия искомого признака важнее точного знания его координат, поэтому из нескольких соседних нейронов карты признаков выбирается максимальный и принимается за один нейрон карты признаков меньшей размерности (подвыборка может проводиться и другими методами) [37].

Субдискретизирующие слои (подвыборки) выполняют уменьшения размера входной карты признаков (обычно в 2 раза). Это можно делать различными способами, например, методом выбора максимального элемента (max-pooling). Использование этого слоя позволяет улучшить распознавание образцов с изменённым масштабом (увеличенных или уменьшенных) [44].

Размер ядра свёртки также иногда называется рецептивным полем нейрона [39, 40]. Его ширина и высота должны быть нечётными числами, чтобы обеспечить попадание нейрона слоя свёртки в центр рецептивного поля nЧm [39]. Так, каждый нейрон карты признаков будет получать входные данные от прямоугольной области предыдущего слоя.

Выбираемая область достаточно мала, и множество таких областей на входном изображении пересекаются и накладываются по принципу черепицы. Размеры поля определяют разрешающую способность свёрточной нейронной сети — минимальный размер признака, который данная сеть может регистрировать [38].

Метод выбора максимального элемента (max-pooling) — вся карта признаков разделяется на ячейки 2×2 элемента, из которых выбираются максимальные по значению. Формально слой может быть описан следующим образом [44]:

Арихитектура CNN. Обзор современного состояния области компьютерного зрения.
Арихитектура CNN. Обзор современного состояния области компьютерного зрения.

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

Арихитектура CNN. Обзор современного состояния области компьютерного зрения.

CNN строится из последовательности свёрточных и субдискретизирующих слоёв. Чередование слоёв позволяет составлять карты признаков из карт признаков, что на практике означает способность распознавания сложных иерархий признаков. После прохождения нескольких слоев карта признаков вырождается в вектор или скаляр. На первом слое ядро свёртки проходит по одному исходному изображению. На внутренних слоях одно и то же ядро проходит параллельно по всем картам признаков этого слоя, а результат свёртки суммируется, формируя после прохождения функции активации одну карту признаков следующего слоя, соответствующую этому ядру [37].

Стоит отметить, что существуют решения (см. рисунок 45), не использующие операцию подвыборки (т.е. сеть может быть реализована без использования слоев подвыборки).

Представленной ниже сети достаточно для распознавания рукописных цифр.

Структура свёрточной нейронной сети, имеющей три скрытых слоя и не имеющей субдискретизирующих слоёв [39].

Рисунок 45 — Структура свёрточной нейронной сети, имеющей три скрытых слоя и не имеющей субдискретизирующих слоёв [39].

CNN с тремя парами слоёв свёртки-подвыборки вполне достаточно для точного распознавания лиц людей [38, 41]. Рисунок 46 демонстрирует вид многоуровневой сети, используемой для обнаружения и распознавания выражения лиц [42].

Face Detection by proposed convolutional NN with the results of intermediate feature detection [42].

Рисунок 46 — Face Detection by proposed convolutional NN with the results of intermediate feature detection [42].

Подбор оптимальных для решения задачи размеров «окна» (поля) является одной из проблем построения CNN. С одной стороны, небольшие значения размеров «окна» повышают разрешающую способность сети — мы можем искать небольшие признаки на изображении. С другой стороны, аналогичный признак большего масштаба будет пропущен или принят за совокупность других признаков. Таким образом, CNN плохо работает с изображениями, на которых могут присутствовать одинаковые признаки различного масштаба. Существуют различные способы решения данной проблемы. В одном из них предлагается использовать в одном слое карты признаков с разными размерами окна при одинаковом размере карты признаков. Это позволяет находить признаки разного размера одновременно в первом слое подвыборки, что повышает общее качество распознавания объектов, ускоряет обучение нейросети, способствует уменьшению количества карт признаков в последующих слоях сети, что приводит к уменьшению потребления памяти [38].

На выходе CNN часто дополнительно устанавливают классический персептрон, на вход которому подаются оконченные карты признаков [37]. В ряде источников [38, 39] он также обозначается как полная связь (full connection). Полносвязанные слои, в которых каждый нейрон текущего слоя соединен со всеми нейронами предыдущего, используются как слои классификации [39].

Последний слой — многослойный персептрон (MLP), в общем виде описывается как [44]:

Арихитектура CNN. Обзор современного состояния области компьютерного зрения.
Арихитектура CNN. Обзор современного состояния области компьютерного зрения.

где — выходго слоя, — функция активации, — коэффициент сдвига, — матрица весовых коэффициентов.

Арихитектура CNN. Обзор современного состояния области компьютерного зрения.

Стоит отметить, что в некоторых случаях MLP-слой может быть расположен не только на выходе свёрточной сети, но и являться её частью (чередоваться со слоями свёртки и подвыборки) [46].

Показать весь текст
Заполнить форму текущей работой