Модель DenseNet
В архитектуре DenseNet [1] используются два типа блоков - плотные блоки (dense blocks) и переходные блоки (transition blocks).
В плотном блоке каждый следующий слой использует информацию со всех предшествующих слоёв плотного блока, как показано на рисунке:
Математически выход каждого слоя зависит от выходов всех предшествующих слоёв:
что реализуется тем, что входом для -го слоя является конкатенация выходов всех предыдущих слоёв.
Такая архитектура позволяет улучить обработку объектов за счёт переиспользования информации, полученной на предыдущих слоях.
Поскольку в плотном слое число каналов растёт линейно с ростом числа слоёв, в промежуточные узлы архитектуры вставляются переходные блоки (transition blocks), задача которых состоит в том, чтобы
-
уменьшить число каналов, используя поточечные свёртки размера 1x1;
-
уменьшить пространственное разрешение, используя пулинг.
Таким образом, обработка изображения состоит из последовательного применения плотных и переходных блоков, как показано ниже для случая трёх блоков каждого типа:
Архитектура DenseNet показала лучшее качество на датасетах CIFAR [2] и SVHN [3], чем ResNet, и сравнимое с ней качество на датасете ImageNet [4] при меньшем числе параметров [1].