Перейти к основному содержимому

Модель DenseNet

В архитектуре DenseNet [1] используются два блока - плотный блок (dense block) и переходный блок (transition block).

В плотном блоке каждый следующий слой использует информацию со всех предшествующих слоёв плотного блока, как показано на рисунке:

Математически выход каждого слоя ii зависит от выходов всех предшествующих слоёв:

xi=Hi([x0,x1,...xi1]),x_i=H_i([x_0,x_1,...x_{i-1}]),

что реализуется тем, что входом для ii-го слоя является конкатенация выходов всех предыдущих слоёв.

Такая архитектура позволяет добавлять меньше каналов на каждом слое (экономя на числе параметров) и лучше обрабатывать ранее полученные признаки, поскольку информация, уже полученная на предшествующих слоях, эффективнее переиспользуется, поступая не в преобразованном виде (как в традиционных свёрточных сетях и ResNet), а в исходном виде.

Поскольку в плотном слое число каналов растёт линейно с ростом числа слоёв, в промежуточные узлы архитектуры вставляются переходные блоки (transition blocks), задача которых состоит в том, чтобы

Таким образом, обработка изображения состоит из последовательного применения плотных и переходных блоков, как показано ниже для случая 3х блоков каждого типа:

Архитектура DenseNet показала лучшее качество на датасетах CIFAR и SVHN, чем ResNet, и сравнимое с ней качество на датасете ImageNet при меньшем числе параметров [1].

Литература

  1. Huang G. et al. Densely connected convolutional networks //Proceedings of the IEEE conference on computer vision and pattern recognition. – 2017. – С. 4700-4708.