Диссертация (1137108), страница 7
Текст из файла (страница 7)
Таким образом обеспечивается реализация полносвёрточности (размер входа может быть произвольным) в задачахклассификации с фиксированной размерностью выхода.Обобщением операции глобального пулинга является пространственный пирамидальныйпулинг (spatial pyramid pooling) [92]. Эта операция проводит пулинг входа к пространственномуразмеру 1 × 1 (как в глобальном пулинге), 2 × 2, . . .
, 2k × 2k . Полученные тензоры преобразуютсяв векторы длины S, 4S, . . . , 22k S и конкатенируются.27Локальная нормализация откликаСлой локальной нормализации отклика (local response normalization, LRN) [11] позволяетупростить оптимизацию свёрточной нейронной сети за счёт «соревнования» между каналами: высокое абсолютное значение в одном из каналов в какой-либо пространственной позиции понижаетзначения в других каналах в этой позиции. Данная операция применяется ко всем пространственным позициям независимо. Слой LRN обычно используется после применения функции активации.Формально для входа U ∈ RX×Y ×S выход слоя LRN есть тензор размера V ∈ RX×Y ×S ,определяемый какVxys = Uxys / k + αβmin(X,x+⌊ n⌋)2∑2 Uxyi,(1.57)⌋)i=max(1,x−⌊ n2где рекомендуемые значения гиперпараметров k = 2, n = 5, α = 10−4 , β = 0,75 [11].Батч-нормализацияСлой батч-нормализации (batch normalization) [93] существенно ускоряет сходимость нейронных сетей, позволяя использовать намного большую длину шага в методе градиентной оптимизации.
Заметим, что батч-нормализация может использоваться как для полносвязных, таки для свёрточных сетей. В отличие от слоя LRN, который нормализует значения каналов однойпространственной позиции одного изображения, слой батч-нормализации нормализует значениядля каждого канала по всем пространственным позициям всех изображений. Будем рассматривать минибатч из M векторов длины S, то есть входную матрицу U ∈ RM ×S . Выход слоя батчнормализации имеет те же размерности, V ∈ RM ×S .
Случай трёхмерных тензоров сводится кданному путём рассмотрения всех пространственных позиций всех объектов в минибатче как различных объектов в минибатче. Таким образом, U, V ∈ RM XY ×S , где X и Y –– ширина и высотавходного тензора, соответственно.На этапе обучения в слое батч-нормализации для каждого из S каналов подсчитывается эмпирическое среднее и дисперсия, после чего всего величины в этом канале нормируются:M1 ∑Umi ,µi =M m=1σi2 =i = 1, . . .
, SM1 ∑(Umi − µi )2 ,M m=1Umi − µi+ βi ,Vобучение,mi = γi √δ + σi2i = 1, . . . , S(1.58)(1.59)(1.60)28где δ > 0 –– константа, обеспечивающая численную устойчивость (рекомендуемое значение δ =10−8 ). Параметры γ ∈ RS и β ∈ RS настраиваются градиентным спуском вместе с прочими параметрами модели.
Их введение позволяет получить на выходе эмпирические мат. ожидание идисперсию, отличные от нуля и единицы, соответственно. Важно, что обратное распространениеошибки выполняется также через переменные µi и σi2 . К примеру, за счёт этого градиент функциипотерь по входу U не может указывать в направлении, меняющим среднее значение U .На этапе обучения дополнительно поддерживаются экспоненциально сглаженные средниевеличин мат. ожидания µ и дисперсии σ 2 .
Обозначим их µ̂ и σˆ2 , соответственно. Поскольку на этапе теста введение зависимостей между элементами минибатча привело бы к недетерминированному поведению модели (в зависимости от других объектов минибатча менялся бы ответ текущегообъекта).
Поэтому при тестирования вместо эмпирических оценок на мат. ожидание и дисперсиюиспользуются их оценки, сохранённые с обучения:Umi − µ̂iVтест,mi = γi √+ βi .2ˆδ+σ i(1.61)Заметим, что операция батч-нормализации вносит зависимости между различными объектами минибатча на этапе обучения, что может быть нежелательно. Пути решения данной трудности рассматриваются в работе [94]. Также были предложены другие варианты нормализации,в частности, нормализация слоёв (layer normalization) [95], которая проводит аналогичную нормировку по признакам каждого объекта, однако эти альтернативы пока не превзошли результатыбатч-нормализации для СНС.1.1.8Примеры свёрточных архитектурРассмотрим теперь ряд свёрточных нейросетей, предложенных в последние годы.
Основной прогресс в развитии свёрточных архитектур был достигнут благодаря ежегодному конкурсуImageNet Large Scale Visual Recognition Challenge (ILSVRC) [96; 97]. В данном конкурсе присутствует множество задач, в том числе детекция объектов на изображениях и видео, семантическаясегментация и пр. Однако самой популярной задачей для разработки новых архитектур свёрточных нейронных сетей остаётся классификация изображений, во многом из-за простоты формулировки. Далее будем называть её задачей классификации ImageNet. Дана размеченная обучающая выборка, содержащая приблизительно 1,2 миллиона цветных изображений из 1000 взаимоисключающих классов.
Изображения взяты из интернета и имеют различное разрешение. Примерыклассов –– морской лев, угорь, электрогитара, подушка, черепичная крыша, кукуруза. Также данавалидационная выборка из 50 тысяч изображений, для которых известны правильные метки классов, и тестовая выборка –– 100 тысяч изображений без меток классов. Требуется построить нейронную сеть, которая предсказывает пять наиболее вероятных классов для каждого из тестовыхизображений.
В ходе конкурса полученные предсказания загружаются в систему, автоматически29(%)28,192015-525,7725105016,4211,746,663,57 2,992010 2011 2012 2013 2014 2015 2016Рисунок 1.2 — Топ-5 ошибка лучшего решения конкурса ImageNet [97] по годам. Начиная с 2012года все победившие решения основаны на свёрточных нейронных сетях. Ошибка человека наэтой задаче –– 5,1%.оценивающую качество решений.
Вне конкурса обычно указываются величины метрик качествана валидационной выборке. Метриками качества являются:– Точность (accuracy), доля объектов, для которых наиболее вероятный из предсказанныхклассов является верным. Величина (1 − точность) называется top-1 ошибкой (top-1 error).– Полнота@5 (recall@5), доля объектов, для которых среди пяти наиболее вероятных классов присутствует истинный. Величина (1 − полнота@5) называется top-5 ошибкой (top-5error).Свёрточная нейронная сеть AlexNet [11], предложенная в 2012 году Крижевским, Суцкевером и Хинтоном, стала первой нейросетевой архитектурой, победившей в конкурсе ImageNet [97].Победа была одержана с огромным отрывом: топ-5 ошибка ансамбля моделей AlexNet составила16,4%, а второе место досталось команде ISI, использовавшей классические методы компьютерного зрения (вектора Фишера), с топ-5 ошибкой 26,2%.
Для сравнения, победившее в 2010 годурешение имело топ-5 ошибку 28,2%. В последующие годы все лучшие решения конкурса были основаны на свёрточных нейронных сетях. Более того, прогресс не остановился: победившее в 2016году решение имело топ-5 ошибку в 3% [6], рис. 1.2. По некоторым оценкам [97], топ-5 ошибкачеловека на этой задаче составляет 5,1%. Можно сказать, что в данной задаче нейронные сетипревзошли возможности человека.Стандартными элементами решения задачи классификации ImageNet при помощи свёрточной нейронной сети являются:– Приведение обучающих изображений к одному размеру, как правило, равному 224 × 224пикселей.
Это позволяет объединить набор изображений в минибатч.– Построение свёрточной нейронной сети, принимающей на вход изображение и возвращающей дискретное вероятностное распределение на 1000 классов.– Настройка параметров свёрточной нейронной сети путём максимизации логправдоподобия правильных классов для обучающих изображений стохастическим градиентным методом оптимизации по минибатчам. Все рассматриваемые далее сети обучаются при помощи стохастического градиентного спуска с моментом.30Важным аспектом обучения свёрточных нейросетей, в том числе и для этой задачи, являетсяборьба с переобучением.
Действительно, обучающая выборка содержит порядка миллиона изображений, тогда как рассматриваемые нейронные сети содержат порядка ста миллионов параметров.Для решения проблемы переобучения используется ряд стандартных приёмов:– Расширение выборки данных (data augmentation). Например, обучающее изображениеприводится к размеру 256×256, после чего из него вырезается случайный квадрат размера224 × 224 [11]. Другими популярными техниками расширения выборки данных являетсяварьирование цветовой палитры изображений и масштабирование исходных изображений.– Регуляризация весов нейронной сети. Почти всегда регуляризуются лишь веса полносвязных и свёрточных слоёв, а прочие параметры, включая смещения слоёв, не регуляризуются.
Стандартным видом регуляризации является L2 -регуляризация (L2 regularization,weight decay), также известная как регуляризация по Тихонову [98]. Если обозначить веса⃗ , то регуляризованный функционал имеет следующиймодели, «вытянутые в вектор» за Wвид:⃗||W∑ˆ = J(θ) + λJ(θ)Wi2 ,(1.62)i=1где λ > 0 –– коэффициент регуляризации, гиперпараметр модели. В работе [11] отмечается, что использование L2 -регуляризации уменьшает не только тестовую, но и обучающуюошибку.– После полносвязных слоёв (как правило, кроме последнего) применяется слой дропаута.Увеличение вероятности дропаута ζ усиливает эффект регуляризации, но замедляет сходимость процесса обучения.AlexNetСеть AlexNet [11] состоит из 5 свёрточных слоёв и 3 полносвязных слоёв, суммарно содержащих 60 миллионов параметров.