Развитие ResNet
Успех сети ResNet [1] породил интерес к развитию этой архитектуры. Перечислим основные работы по улучшению и обобщению этой архитектуры.
Stochastic depth
В [1] показано, что каждый остаточный блок вносит относительно небольшое изменение во входной сигнал. Исключение отдельных блоков не привносит такого катастрофического изменения качества прогнозов, как в случае обычных свёрточных сетей. Поэтому становится возможной дополнительная регуляризация ResNet сетей, названная стохастической глубиной (stochastic depth, [2]) и основанная на регуляризации DropOut, но в которой включаются/исключаются не отдельные нейроны, а целые нелинейные трансформации остаточных блоков (residual blocks). Такая регуляризация
-
позволяет гибко настраивать сложность ResNet, варьируя вероятность исключения каждого блока;
-
увеличивает точность прогнозирования за счёт регуляризации;
-
ускорить обучение, поскольку на каждом обучающем минибатче проход осуществляется не по всей сети, а по её случайной части; на тесте же используется полная версия глубокой сети.
Магистральные сети
Магистральные сети (highway networks, [3]) обобщают ResNet. Напомним, что в классическом остаточном блоке ResNet сигнал идёт через нелинейное преобразование и тождественную связь, а результаты потом суммируются:
Получается, что оба вида обработки сигн ала участвуют на равных, хотя остаётся возможность усилить нелинейное преобразование, задав ему более высокие веса.
В магистральных сетях предлагается управлять тем, какая часть сигнала проходит через нелинейное преобразование, а какая - через тождественную связь за счёт использования отдельной настраиваемой функции вентиля (gate) :
где - операция поэлементного перемножения, поэтому должны иметь одинаковую размерность.
Xception и ResNeXt
Модель Xception [4] использует архитектуру аналогичную ResNet, но внутри каждого остаточного блока вместо обычных свёрток используются поканальные сепарабельные свёртки (depthwise separable convolution).
Модель ResNeXt [5] также построена на базе ResNet, но вместо обычных свёрток использует групповые.
Обе идеи позволили повысить точность, производительность и уменьшить число настраиваемых параметров по сравнению с базовой архитектурой ResNet на датасете ImageNet.