Диссертация (1137108), страница 15
Текст из файла (страница 15)
Вероятности подсчитываются полносвёрточно, благодаря чему методприменим к изображениям произвольного разрешения. Метод переходит в адаптивное времявычислений, если все веса свёрточного слоя с ядром размера 3 × 3 равны нулю.66ноль. Как только все позиции становятся неактивными, выполнение блока может быть полностьюпрекращено. Стоимость вычислений усредняется по пространственным позициям, что делает еёсравнимой со стоимостью вычислений метода адаптивного времени вычислений.
Детальное описание приведено в алгоритме 3.2.Алгоритм 3.2 Пространственно-адаптивное время вычислений для одного блока остаточных модулейВход: вход ∈ RX×Y ×SВход: число остаточных модулей в блоке LВход: 0 < ε < 1▷ вход и выход имеют разные размеры′′Выход: выход ∈ RX ×Y ×TВыход: стоимость вычислений ρ1: U ′ = выход2: Ω = {1, . . . , X} × {1, . .
. , Y }3: для всех (x,y) ∈ Ω4:ax,y = истина▷ Флаг активной позиции5:cx,y = 0▷ Кумулятивная вероятность остановки6:Rx,y = 1▷ Величина остатка7:выходx,y = 0▷ Выход блока8:ρx,y = 0▷ Стоимость вычислений для позиции9: конец цикла10: для l = 1 . . . L11:если не ax,y ∀(x,y) ∈ Ω тогда12:прервать цикл13:конец условия14:для всех (x,y) ∈ Ω15:если ax,y тогда16:Ux,y = (F l (U ′ ))x,y17:иначе′18:Ux,y = Ux,y19:конец условия20:конец цикла21:для всех (x,y) ∈ Ω22:если не ax,y тогда23:перейти к следующей итерации цикла24:конец условия67Алгоритм 3.2 Пространственно-адаптивное время вычислений для одного блока остаточных модулей (продолжение)25:если l < L тогда26:hx,y = H l (U )x,y27:иначе28:hx,y = 129:конец условия30:cx,y += hx,y31:ρx,y += 132:если cx,y < 1 − ε тогда33:выходx,y += hx,y · Ux,y34:Rx,y −= hx,y35:иначе36:выходx,y += Rx,y · Ux,y37:ρx,y += Rx,y38:ax,y = ложь39:конец условия40:конец цикла41:U′ = U42: конеццикла∑(x,y)∈Ω ρx,y43: ρ =HW44: вернуть выход, ρОпределение 23.
Вероятности остановки метода ПАВВ определяются какhl = H l (U ) ∈ [0; 1]X×Y ,f l ∗ U )x,y + W l pool(U ) + bl ),(H l (U ))x,y = σ((W(3.23)(3.24)где ∗ обозначает свёртку с ядром размера 3 × 3 и одним выходным каналом, а pool –– глобальныйпулинг с операцией усреднения.См.
иллюстрацию на рис. 3.6. Пространственные размерности тензора вероятностей остановок совпадают с пространственными размерностями тензора выхода остаточного модуля U . Благодаря этому, предлагаемый метод является полносвёрточным и может быть применён к входнымизображениям любого размера.Теорема 5. Метод ПАВВ является обобщением метода АВВ.
Другими словами, по любому блокуметода АВВ можно получить блок метода ПАВВ, имеющий для любого входа равный выход иравную стоимостью вычислений.Доказательство. Построим по блоку метода АВВ эквивалентный блок метода ПАВВ. Параметрыфункций F l (ul ), l = 1, . .
. ,L в блоке ПАВВ возьмём равными соответствующим параметрам из68АВВ. Для каждого остаточного модуля выберем в выражении для вероятности остановки методаПАВВ веса свёртки нулевыми, а параметры W l и bl равными соответствующим параметрами изАВВ:f l ∗ U )xy + W l pool(U ) + bl ) = σ(W l pool(U ) + bl ).(H l (U ))xy = σ((W(3.25)Итак, в полученной матрице вероятностей остановки значения во всех позициях совпадают.Отсюда следует, что остановочное распределение и стоимость вычислений во всех позициях будутсовпадать друг с другом и с соответствующими значениями из метода АВВ. Таким образом, выходблока ПАВВ совпадёт с выходом блока АВВ.
Поскольку в методе ПАВВ стоимость вычисленийусредняется по пространственным координатам, её величина будет равна стоимости вычисленийметода АВВ.Метод ПАВВ требует подсчёта остаточной функции f (U ) лишь в активных пространственных позициях. Такая операция может быть эффективно реализована при помощи перфорированного свёрточного слоя, описанного в главе 2, в котором пропущенные значения заменяются наноль вместо замены значением ближайшего соседа.
Вспомним, что остаточная функция состоитиз последовательность из трёх свёрточных с ядрами размера 1 × 1, 3 × 3 и 1 × 1, соответственно.Первый свёрточный слой должен быть вычислен во множестве позиций, получаемых морфологическим размытием при помощи ядра размера 3×3 множества активных позиций. Второй и третийслои требуется вычислить лишь в активных позициях.Опишем альтернативный подход, не требующий использования перфорированного свёрточного слоя. Предположим, что карта вероятностей остановки hl разбита на квадратные группы размера k × k, причём внутри каждой группы значения совпадают.
Этого можно добиться, к примеру, с помощью операции пулинга с ядром размера k × k и шагом k, применённой к hl , послечего следует увеличение пространственной размерности в k раз при помощи интерполяции методом ближайшего соседа. В результате такого преобразования у всех позиций в одной группебудет одинаковое значение флага активности. Теперь остаточный модуль требуется применитьлишь к активным группам, используя обычный свёрточный слой.
Однако при этом возникают избыточные вычисления из-за перекрытий значений в первом свёрточном слое с ядром размера 1×1.Чтобы уменьшить эти вычисления, а также сократить число вызовов операций свёрточного слоя,размер группы k должен быть достаточно большим. Таким образом, данный подход может бытьрекомендован для обработки изображений в высоком разрешении.3.3 Обзор литературыБольшинство работ по повышению вычислительной эффективности глубинных СНС используют статические методы, то есть не зависящие от конкретного обрабатываемого объекта.К ним относятся разложения свёрточного ядра [125] и прореживание соединений [147].
Многиеиз этих методов стали частью стандартных глубинных архитектур. Так, модели Inception [148] иResNet [12; 70] используют разложенные свёрточные ядра.69В последнее время в нескольких работах рассматривалась задача варьирования объёма вычислений в компьютерном зрении. Так, в задаче детекции объектов применяются каскады классификаторов [149; 150] для быстрого пропуска «простых» негативных предложных прямоугольников. Сети с динамической пропускной способностью (Dynamic Capacity Networks) [138] используют одинаковый объём вычислений для всех изображений, а также применяют эвристику, пригодную лишь для задачи классификации изображений. Перфорированные свёрточные нейронныесети (глава 2) варьируют количество вычислений между пространственными позициями, но немежду изображениями.
Работа [22] предлагает выбирать объём вычислений в полносвязных слоях сети при помощи метода REINFORCE, который существенно затрудняет обучение сети.Наиболее похожим на предлагаемый является метод ветвящихся сетей (BranchyNet) [151].Отметим, что он пригоден лишь для задачи классификации. Его идея заключается в добавленииклассификационных ветвей к промежуточным слоям сети. Как только энтропия промежуточныхклассификаций становится ниже некоторого порога, вычисление сети прерывается. Наши предварительные эксперименты с аналогичной процедурой, основанной на методе адаптивного временивычислений, который применяется для выбора числа блоков в сети, показали, что такой подходработает хуже, чем использование меньшего числа модулей в блоке.3.4 ЭкспериментыВначале применим предложенные методы к задаче классификации изображений на выборкеданных ImageNet [96].
Будет показано, что метод ПАВВ достигает лучшего соотношения междучислом операций и точностью, чем метод АВВ, за счёт направления вычислений на важные частиизображения. Также метод ПАВВ улучшает точность на изображениях с высоким разрешениемпо сравнению с моделью остаточных сетей. Далее метод ПАВВ используется для извлечения признаков в модели детекции объектов Faster R-CNN [30] на выборке данных COCO [143]. Предлагаемый метод существенно улучшает соотношение между вычислениями и точностью, по сравнению с базовой моделью остаточной сети.
В конце показывается, что карты стоимости вычисленийпредлагаемого метода хорошо коррелируют с позициями фиксации глаз человека. Для этого карты стоимости вычислений моделей ПАВВ, обученных на ImageNet и COCO, применяются какмодель визуальной заметности на выборке данных cat2000 [152] без дополнительного обученияна ней. Исходный код доступен по адресу https://github.com/mfigurnov/sact.703.4.1 Классификация изображений (выборка ImageNet)Сначала обучим модели остаточной сети ResNet-50 и ResNet-101 при помощи асинхронногостохастического градиентного спуска с моментом.
Опишем детали процедуры обучения и тестирования.Параметры оптимизации. Для обучения используется асинхронный стохастический градиентный спуск с величиной момента 0,9, запускаемый на 50 вычислительных узлах. Размер батчасоставляет 32, коэффициент L2 -регуляризации весов λ = 0,0001. Обучение останавливается послесходимости (150 − 160 полных проходов по обучающей выборке). Коэффициент обучения изначально выставляется равным 0,05 и уменьшается в десять раз после каждых 30 проходов по выборке.
Используемые параметры батч-нормализации: δ = 10−5 , экспоненциальное сглаживание скоэффициентом 0,997. Параметры сети инициализируются при помощи инициализатора, масштабирующей дисперсию (1.22).Аугментация данных. Используется процедура аугментации данных сети Inception v31 , которая включает отражения по горизонтали, а также изменения масштаба, соотношения сторон ицветовой палитры изображения. Для части изображений в выборке ImageNet имеется рамка объекта. В таких случаях на этапе обучения вырезается часть изображения, задаваемая искажённойрамкой объекта. На этапе теста вырезается один центральный регион изображения, составляющий87,5% площади исходного изображения, и его разрешение меняется на целевое.Полученные модели достигают результатов, близких к авторской реализации2 . Так, при валидации на изображениях размера 224 × 224 авторская реализация ResNet-101 имеет точность76,4% и полноту@5 92,9%, тогда как наша реализация достигает 76% и 93,1%, соответственно.