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

Модель DenseNet

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

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

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

xi=Hi([x0,x1,...xi1]),\mathbf{x}_i=H_i([\mathbf{x}_0,\mathbf{x}_1,...\mathbf{x}_{i-1}]),

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

Такая архитектура позволяет улучить обработку объектов за счёт переиспользования информации, полученной на предыдущих слоях.

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

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

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

Литература

  1. Huang G. et al. Densely connected convolutional networks //Proceedings of the IEEE conference on computer vision and pattern recognition. – 2017. – С. 4700-4708.
  2. The CIFAR-10 dataset.
  3. The Street View House Numbers (SVHN) Dataset.
  4. The ImageNet dataset.