Мегаобучалка Главная | О нас | Обратная связь


Метод адаптивного скользящего среднего градиентов



2018-07-06 1297 Обсуждений (0)
Метод адаптивного скользящего среднего градиентов 0.00 из 5.00 0 оценок




Метод адаптивного скользящего среднего градиентов [50] (RMSprop – от англ. «root mean square propagation») отличается от метода Adagrad лишь тем, что масштабирующий член gt вычисляется не как кумулятивная сумма, а как экспоненциальное скользящее среднее, что показано в выражениях (18) и (19) для перерасчета весовых коэффициентов.

 

(18)  
(19)

 

В таком случае масштабирующий член gt является оценкой второго момента градиента , а скорость обучения не уменьшается со временем.

Метод адаптивного шага обучения

Метод адаптивного шага обучения (Adadelta) [51] так же, как и RMSprop, содержит масштабирующий член gt, однако помимо этого метод, аналогично стохастическому градиентному спуску с инерцией, рассчитывает скользящее среднее xt по υt, но при пересчете этой величины использует квадрат текущего шага:

 

(20)  
  (21)  
  (22)  
(23)

 

Метод адаптивной инерции

Метод адаптивной инерции или Adam [52] сочетает в себе свойства методов Adagrad, Adadelta, RMSprop, но имеет свои особенности: оценка первого момента в этом методе рассчитывается как скользящее среднее, а также из-за нулевых начальных значений первого и второго моментов используется коррекция, чтобы результирующие оценки не были смещены к нулю. Способ перерасчета представлен выражениями:

 

  (24)  
  (25)  
  (26)  
  (27)  
(28)

 

где γ1, γ2, η – заданные гиперпараметры, и также m0 = g0 = 0.

Метод адаптивной инерции является инвариантным к масштабированию градиентов.

Особенности современных нейросетевых методов

Рассмотрим подробнее современные глубокие свёрточные нейронные сети для обнаружения объектов и выделим их ключевые особенности. В подразделе 1.6 уже были описаны наиболее известные алгоритмы – Faster R-CNN, YOLO, SSD, YOLOv2, а также был приведен график (рисунок 29), демонстрирующий быстродействие и точность работы этих методов. По графику видно, что Faster R-CNN имеет слишком низкую скорость работы (менее 15 кадров в секунду), а YOLO – слишком низкую точность (менее 65 %). Поэтому рассмотрим методы SSD и YOLOv2, а также работу [22], в которой была представлена система для обнаружения дорожных знаков Китая, представляющая собой модифицированный метод YOLOv2.

SSD

Метод SSD (Single shot multibox detector) основан на сверточной сети прямого распространения (Feed-forward convolutional network), которая создает конечный набор ограничивающих прямоугольных рамок (далее - рамок) и количественные оценки присутствия в этих рамках объектов различных классов, после чего производится подавление немаксимумов («Non-maximum supression») [5] для получения окончательных предсказаний. Структура сети показана на рисунке 37 и может быть разделена на четыре функциональных части:

1) вход сети (блок 1). Принимает трехканальное (цветное) изображение размером 300х300;

2) базовая сеть (блоки 2 - 4). Часть, основанная на стандартной архитектуре, используемой для классификации изображений, в данном случае это VGG-16 [53]. Блок 2 полностью повторяет соответствующую часть стека сверток VGG-16, блоки 3 и 4, являясь сверточными слоями выполняют функции полносвязных слоёв VGG-16, не считая выходного;

3) слои дополнительных признаков (блоки 4 - 8). Это сверточные слои и слой подвыборки, которые образуют карты признаков различного разрешения для обнаружения объектов различного масштаба;

4) далее выполняются операции слияния выходов различных слоёв и подавления немаксимумов для получения выхода сети (блоки 9, 10).

 

Рисунок 37 – Архитектура глубокой сверточной нейронной сети SSD

Выходы со слоев блоков 2 и 4 - 8, являющиеся картами признаков и подвергающиеся слиянию, показаны стрелками, входящими в блок 9. При операции слияния формируются гипотезы возможного расположения объектов для каждой рамки по умолчанию. Всего для каждого класса объектов определено 8732 рамки по умолчанию. Каждая гипотеза является вектором длины С+4, где С — число классов, и содержит численные значения степени принадлежности части изображения, ограниченной рамкой, каждому из классов, и 4 численных значения, определяющих изменение положения и размеров рамки. Затем производится подавление немаксимумов, после чего формируется выход — список значений (класс, степень достоверности принадлежности объекта к классу, xmin, ymin, xmax, ymax), где (xmin, ymin) — координаты левого верхнего угла рамки, (xmax, ymax) — координаты правого нижнего угла рамки.

Метод SSD обладает следующими ключевыми особенностями:

1) обнаружение объектов различного масштаба.

К базовой сети последовательно добавляется несколько сверточных слоев различного размера, которые позволяют получить карты признаков различного разрешения и, соответственно, прогнозировать объекты в различном масштабе (в отличие от, например, YOLO, которая получает лишь одну карту признаков);

2) сверточные предсказатели для обнаружения.

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

3) ограничивающие рамки по умолчанию.

Набор рамок по умолчанию связан с картами признаков различного разрешения, описанных в пункте 1), т.е. каждой ячейке карты признаков соответствует рамка из набора по умолчанию. Для каждой ячейки карты признаков определяются оценки принадлежности к классам объектов, а также 4 смещения рамки по умолчанию относительно её исходного положения.

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

YOLOv2

Модель нейронной сети архитектуры YOLOv2 (рисунок 38) может содержать различное количество сверточных блоков в начале сети, состоящих из комбинаций слоёв свертки и подвыборки и выделяющих признаки объектов, (розовые блоки на рисунок 38), однако все они в итоге оканчиваются сверточным слоем с функцией активации softmax, выполняющим роль детектора (бирюзовые блоки на рисунок 38), т.е. трансформирующим карты признаков в численные значения, определяющие обнаружения объектов – прямоугольные рамки. Все полученные таким образом значения затем проходят через пороговую фильтрацию и подавление немаксимумов, чтобы отсечь повторяющиеся предсказания и предсказания с недостаточно высокой уверенностью.

Большое количество нейросетевых алгоритмов для обнаружения объектов используют подобный подход, однако одно из характерных отличий YOLOv2 заключается в способе выбора областей интереса. Обычно для этого применяется скользящее окно одного или разных масштабов, разбиение сеткой на фрагменты или набор заранее определенных рамок различных размеров. Архитектура YOLOv2 построена таким образом, что изображение условно разбивается на ячейки 32х32 пикселя, и сеть получает предсказания для таких ячеек. Для каждой ячейки предсказывается набор из N рамок разных размеров. ББББББББ

Рисунок 38 – Схема модели YOLOv2 Full (слева) и Tiny (справа)

Авторы модели экспериментально подобрали наиболее оптимальное значение N=5. Интересен также и способ подбора размеров рамок - они зависят от данных. Набор данных, использующихся для обучения или тестирования сети, разбивают на N кластеров с помощью алгоритма k-средних. Таким образом, если имеется множество мелких объектов, то в наборе будут рамки с малыми размерами, если имеется множество вытянутых объектов – то набор будет содержать соответствующие рамки. Это позволяет сделать работу нейронной сети быстрой и точной.

Также для улучшения обнаружения объектов различного масштаба архитектура полной версии Full YOLOv2 предусматривает, подобно архитектуре SSD, совмещение карт признаков, полученных с последнего слоя выделения признаков и содержащих признаки наиболее крупных, комплексных объектов, и карт признаков со слоя из средней части сети, содержащих признаки более простых и мелких объектов.

Кроме того, разработчики архитектуры выяснили, что добавление слоёв нормализации батча улучшает производительность сети, поэтому после каждого слоя свертки в архитектуре YOLOv2 идет слой нормализации батча. Используемые функции активации после сверточных слоёв – полулинейная «с утечкой» (leaky ReLU).

Модификация YOLOv2

Архитектура YOLOv2 является одной из лучших архитектур по соотношению качества и скорости работы, однако изначально она была разработана для эффективного обнаружения объектов большого числа классов, т.е. объектов, значительно отличающихся друг от друга цветом, размерами, формой. Дорожные знаки же похожи между собой, имеют небольшие размеры, при этом каждый класс имеет лишь относительно небольшую вариативность на изображениях, связанную с различным освещением, ракурсом съемки и т.п. Поэтому имеет смысл попытка адаптировать архитектуру YOLOv2 под задачу обнаружения дорожных знаков, учитывая их особенности. В работе [22] разработана система обнаружения китайских дорожных знаков и предложены соответствующие модификации архитектуры Full YOLOv2.

Авторы работы решили внести изменения в архитектуру, основываясь на двух особенностях глубоких свёрточных нейронных сетей.

Первая особенность – это иерархическое представление признаков. Согласно проводимым исследованиям [54], при обучении классифицирующей свёрточной нейронной сети веса в свёрточных фильтрах настраиваются так, чтобы в начальных слоях определять простейшие признаки (штрихи, пятна), в последующих – более сложные (простые очертания, фигуры), а в конечных – комплексные признаки целых объектов. Иллюстрация на примере задачи распознавания лиц приведена на рисунке 39.

 

Рисунок 39 – Иерархическое представление признаков в сверточной нейронной сети

 

Вторая особенность – это применение свёрточных фильтров размером 1×1. Несмотря на то, что сама операция свёртки с ядром размером 1×1 является линейной, авторы предположили, что при размещении в нейронной сети последовательности из сверточных слоев с фильтром 1×1 возрастает общая способность сети к интерполированию нелинейных зависимостей.

На рисунке 40 приведены варианты архитектур, предложенные авторами.

Модель А должна была показать, что при понижении числа конечных (верхних) слоёв сети качество работы остается прежним, поскольку они отвечают за различение комплексных объектов, в то время как классы знаков «в целом» выглядят практически одинаково, в отличие от, например, класса «человек» и «автомобиль». Модель B дополнительно должна продемонстрировать влияние последовательностей свёрток 1×1, а модель С – влияние дополнительной связи, объединяющей карты признаков средних и конечных слоёв. Результаты точности и полноты, полученные на этих моделях, приведены на рисунке 41.

 

Рисунок 40 – Модификации архитектуры YOLOv2 в работе [22]

 

 

Рисунок 41 – Точность, полнота и время работы для различных моделей

 

Результаты поделены на три группы по характеру дорожных знаков – обязательные знаки (Mandatory), запрещающие (Prohibitory) и знаки опасности (Danger). Строки P содержат значения точности, т.е. доли верных обнаружений от всех обнаружений сети, строки R – значения полноты, т.е. доли верных обнаружений объектов от общего числа присутствующих объектов. Как можно заметить, наиболее удачной выглядит модель B – при некотором снижении точности для обязательных знаков, она превосходит оригинальную архитектуру YOLOv2 по всем остальным метрикам, при этом имеет в два раза бóльшую скорость работы. Это означает, что при замене цепочек слоев со сверточными фильтрами разных размеров на последовательностей сверточных слоёв с фильтрами размером 1×1 возможно сохранить хорошее качество работы архитектуры и снизить при этом время её работы (как при обучении, так и при выводе), поскольку фильтры размером 1×1 содержат меньше настраиваемых параметров, чем фильтры других размеров и, соответственно, вся нейронная сеть содержит меньшее число весовых коэффициентов.



2018-07-06 1297 Обсуждений (0)
Метод адаптивного скользящего среднего градиентов 0.00 из 5.00 0 оценок









Обсуждение в статье: Метод адаптивного скользящего среднего градиентов

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Модели организации как закрытой, открытой, частично открытой системы: Закрытая система имеет жесткие фиксированные границы, ее действия относительно независимы...
Почему человек чувствует себя несчастным?: Для начала определим, что такое несчастье. Несчастьем мы будем считать психологическое состояние...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (1297)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.011 сек.)