предисловие:
Семейство MobileNet представляет собой семейство облегченных сетей с тремя версиями.В этой статье MobileNet v1 предлагает эффективную сетевую архитектуру и набор из двух гиперпараметров, которые позволяют разработчику модели применять ее в соответствии с ограничениями проблемы.Выберите модель правильного размера. для создания очень маленьких моделей с малой задержкой, которые могут легко соответствовать конструктивным требованиям мобильных и встроенных приложений машинного зрения.
Обратите внимание и обновляйте две статьи о компьютерном зрении каждый день
01 Depthwise Separable Convolution
Глубоко отделимые свертки разлагают стандартные свертки на глубинные свертки и свертки 1x1 точки. Глубинные свертки применяют один фильтр к каждому входному каналу, а точечные свертки объединяют выходные данные глубоких сверток с весами.Эффект этого разложения заключается в значительном сокращении вычислений и размера модели.
Например, если карта объектов DfxDfx M генерирует карту объектов Dfx Dfx N.
Ядро нормальной свертки (как показано на рисунке 1) имеет размер Dk × Dk × M × N. Его расчетная величина составляет Dk·Dk·M·N·DF·DF.
Глубинная свертка в глубинно отделимой свертке (как показано на рисунке 2) имеет размеры Dk × Dk × M. Здесь M представляет собой M-е ядро свертки (количество каналов каждого ядра свертки равно 1) для M-го канала, а его расчетная величина равна Dk·Dk·M·Df·Df. Размер точечной свертки (как показано на рисунке 3) равен 1 x 1 x M x N, а ее вычисление равно M · N · Df · Df. Таким образом, вычисление свертки, отделимой по глубине, равно Dk·Dk·M·Df·Df + M·N·Df·Df .
Отношение вычислительных усилий свертки с глубинным разделением и стандартной свертки составляет
Из этого видно, что MobileNet использует разделяемые по глубине свертки 3x3 для уменьшения объема вычислений в 8-9 раз, при этом точность снижается лишь немного. детали следующим образом:
02 Network Structure and Training
За исключением того, что первый слой является стандартной сверткой и в конце добавляется полносвязный слой, остальные состоят из отделимых по глубине сверток. Слои BN и ReLU добавляются после каждого слоя, кроме последнего полносвязного слоя. Всего 28 этажей.
Его полная структурная схема выглядит следующим образом:
На свертку точек 1x1 приходится 94% вычислений, а на параметры — 75%. Кроме того, полносвязный слой имеет наибольшее количество параметров.Параметры и расчеты различных типов слоев следующие:
Эта разделимая по глубине свертка делает больше, чем просто уменьшает объем вычислений. Для неструктурированных разреженных матриц, хотя объем вычислений меньше, чем для плотных матриц, потому что плотные матрицы используют общую функцию умножения матриц (GEMM) внизу для оптимизации (эта оптимизация находится в памяти. Выполните im2col для первоначального переупорядочения сверток, за которым следует вычисления умножения матриц), поэтому вычисления с плотной матрицей выполняются быстрее. Здесь свертка 1x1 в свертке с разделением по глубине не нуждается в переупорядочивании im2col, а матричная операция может быть использована напрямую.Что касается части свертки глубины, то количество параметров и вычислений очень мало, и ее можно вычислить в соответствии с оптимизацией нормальной свертки. Следовательно, свертка с отделимой по глубине также чрезвычайно быстра.
Кроме того, MobileNet использует меньше методов регуляризации и увеличения данных, чем более крупные модели, потому что модели MobileNet малы и не должны беспокоиться о переоснащении. Кроме того, MobileNet использует структуру Inception_v2, но не требует сглаживания меток, а также может уменьшать искажения изображения, вызванные кадрированием изображений из-за ограничений по размеру. Наконец, у него очень мало параметров, поэтому ему не нужна регуляризация L2 для уменьшения веса.
03 Width Multiplier: Thinner Models
Несмотря на то, что приведенная выше структура достаточно мала, для многих приложений требуются модели меньшего размера. Здесь гиперпараметр ɑ используется для уменьшения количества ядер свертки по глубине и количества точечных сверток. Следовательно, его расчетная величина принимает вид: Dk · Dk · ɑM · Df · Df + ɑM · ɑN · Df · Df, где ɑ∈(0, 1], здесь соответственно 1, 0,75, 0,5, 0,25. При ɑ=1 Структура MobileNet выше. Сеть MobileNet, в которой используется гиперпараметр ɑ, называется сокращенной сетью MobileNet. Согласно приведенной выше формуле объем вычислений и количество параметров уменьшается примерно на a^2.
04 Resolution Multiplier: Reduced Representation
Второй гиперпараметр P используется для уменьшения пространственного разрешения. Использование такое же, как ɑ. Таким образом, расчетная сумма принимает вид: Dk · Dk · ɑM · pDf · pDf + ɑM · ɑN · pDf · pDf
Здесь p∈(0, 1]. Таким образом, пространственное разрешение становится равным 224, 192, 160 или 128. Объем вычислений уменьшается примерно примерно. Количество параметров не уменьшается.
05 Experiments
MobileNet_v2 из серии MobileNet
MobileNet_v3 из серии MobileNet
Эта статья взята из серии интерпретаций моделей Технического руководства CV для общедоступных аккаунтов.
Добро пожаловать в техническое руководство CV для общедоступной учетной записи, в котором основное внимание уделяется техническому обзору компьютерного зрения, отслеживанию новейших технологий и интерпретации классических статей.