Сети автомагистралей, вдохновленные LSTM, с использованием функции шлюза, более 1000 слоев.

В этом рассказе вкратце рассматривается Highway Networks. Это работа 2015 года. В этот момент обнаруживаются трудности с оптимизацией очень глубокой нейронной сети. Тем не менее, почему так сложно оптимизировать глубокую сеть, остается открытым вопросом. (Конечно, позже это, вероятно, связано с проблемой исчезновения градиента.) Вдохновленные Long Short-Term Memory (LSTM), авторы тем самым используют стробирующую функцию для адаптивного преобразования или обхода сигнала, чтобы сеть могла работать глубже. Также можно оптимизировать глубокую сеть с более чем 1000 слоями. Я предпочитаю представить эту статью, чтобы представить функцию стробирования.

Первоначально Highway Networks был представлен на семинаре ICML Deep Learning Workshop 2015 и опубликован как технический отчет arXiv за 2015 год, содержащий более 600 ссылок. А позже он расширяется и публикуется в 2015 NIPS с более чем 500 цитированием. (Сик-Хо Цанг @ средний)

Контур

  1. Автомобильные сети
  2. Результаты
  3. Анализы

1. Автомобильные сети

1.1. Обычная сеть

  • Прежде чем говорить о сетях автомагистралей, давайте начнем с простой сети, которая состоит из L слоев, где l -й слой (без символа для слоя):

  • где x - ввод, WH - вес, H - функция преобразования, за которой следует функция активации и y это выход. И для i -го блока:

  • Мы вычисляем yi и передаем его следующему слою.

1.2. Сеть автомагистралей

  • В сети автомагистралей введены два нелинейных преобразования T и C:

  • где T - ворота преобразования, а C - ворота переноса.
  • В частности, C = 1 - T:

  • У нас могут быть следующие условия для определенных значений T:

  • Когда T = 0, мы передаем ввод как вывод напрямую, что создает информационную магистраль. Вот почему это называется Highway Network !!!
  • Когда T = 1, мы используем нелинейно активированный преобразованный вход в качестве выхода.
  • Здесь, в отличие от i -го устройства в простой сети, авторы вводят концепцию блока. Для i -го блока существует состояние блока Hi (x) , и и преобразование выходного затвора Ti (x). И соответствующий блок вывода yi:

  • который связан со следующим слоем.
  • Формально T (x) - сигмовидная функция:

  • Если мы помним, сигмоидальная функция ограничивает вывод от 0 до 1. Когда на входе слишком маленькое значение, оно становится 0. Когда на входе слишком большое значение, оно становится 1. Следовательно, изучая WT и bT, сеть может адаптивно передавать H (x) или просто передавать x на следующий уровень .
  • Автор утверждает, что это помогает иметь простую схему инициализации для WT, которая не зависит от природы H.
  • bT может быть инициализирован отрицательным значением (например, -1, -3 и т. д.), так что изначально сеть будет смещена в сторону поведения переноса.
  • Вышеупомянутая идея вдохновлена ​​LSTM, как упоминали авторы. (LSTM - очень известный модуль, который в основном используется в обработке естественного языка (NLP))
  • И Стохастический градиентный спуск (SGD) не остановился для сетей с более чем 1000 слоями. Однако точных результатов пока нет.

2. Результаты

2.1. MNIST

  • Первый слой - это полностью связанный простой слой, за которым следуют 9, 19, 49 или 99 полностью связанных слоев равнины или шоссе. Наконец, сетевой вывод создается слоем softmax.
  • Все сети тонкие: на каждом уровне 50 блоков для магистральных сетей и 71 блок для простых сетей, что дает примерно одинаковое количество параметров (5000) на уровень.

  • Как показано выше, ошибки, получаемые в Highway Networks, всегда меньше, чем в Plain Network.

  • 10-уровневые сверточные магистральные сети в MNIST обучаются с использованием двух архитектур, каждая из которых имеет 9 сверточных слоев, за которыми следует вывод softmax. Количество фильтровых карт (ширина) было установлено равным 16 и 32 для всех слоев.
  • По сравнению с Maxout и DSN, Highway Networks получили аналогичную точность, но с гораздо меньшим количеством параметров. (Если интересно, посетите мой обзор NoC для очень краткого знакомства с Maxout.)

2.2. CIFAR-10 и CIFAR-100

  • Fitnet не может оптимизировать сети напрямую, когда сети глубокие. Требуется двухэтапная подготовка.
  • Используя функцию стробирования, Highway может напрямую оптимизировать глубокие сети. В частности, шоссе B обеспечивает высочайшую точность с 19 слоями.
  • Хотя автомагистраль C уступает автомагистрали B, ее все же можно оптимизировать напрямую из-за наличия стробирующей функции.

  • Здесь полностью связанный слой, использованный в сетях в предыдущем эксперименте, заменен сверточным слоем с принимающим полем размера один и глобальным средним слоем объединения.
  • Highway Network может обеспечить сопоставимую производительность с CIFAR-10 и высочайшую точность с CIFAR-100.

3. Анализ

  • На приведенном выше рисунке показаны смещение, средняя активность по всем обучающим выборкам и активность по одной случайной выборке для каждого элемента преобразования соответственно. Выходные данные блока для одного и того же образца отображаются в последнем столбце.
  • Для сети CIFAR-100 смещения увеличиваются с глубиной, образуя градиент. Сильные отрицательные смещения на малых глубинах используются не для закрытия ворот, а для того, чтобы сделать их более избирательными. Это делает активность ворот преобразования для единственного примера (столбец 3) очень разреженной.
  • Для случая CIFAR-100 большинство ворот преобразования активны в среднем, в то время как они проявляют очень избирательную активность для единственного примера. Это означает, что для каждой выборки только несколько блоков выполняют преобразование, но разные блоки используются разными выборками.

  • Для цифр 0 и 7 MNIST заметны существенные различия в пределах первых 15 уровней.
  • Для номеров классов CIFAR 0 и 1 различия более редки и распространяются по всем слоям.

  • Под повреждением подразумевается вручную установить все ворота преобразования слоя на 0, заставляя его просто копировать свои входные данные. Как показано выше, для каждого уровня сеть оценивается на полном обучающем наборе с закрытыми воротами этого уровня.
  • Для MNIST (слева) видно, что ошибка значительно возрастает, если какой-либо из начальных слоев удален, но слои 15–45, похоже, практически не влияют на конечную производительность. . Около 60% слоев не учатся вносить вклад в окончательный результат, вероятно, потому, что MNIST - это простой набор данных, не требующий большой глубины.
  • Хотя CIFAR-10 представляет собой относительно сложный набор данных, ошибка возрастает более значительно.

Посмотрев на сеть автомагистралей, мы можем узнать о функции стробирования с использованием сигмоида. Надеюсь, что в будущем я смогу просмотреть рекуррентные сети автомагистралей.

использованная литература

[2015] [arXiv]
Магистральные сети

[2015] [NIPS]
Обучение очень глубоких сетей

Мои предыдущие обзоры

Классификация изображений
[LeNet] [AlexNet] [ZFNet] [VGGNet] [SPPNet] [PReLU-Net] [STN] [DeepImage] [GoogLeNet / Inception-v1] [BN-Inception / Inception-v2] [Inception-v3] [Inception-v4] [Xception] [MobileNetV1] [ ResNet] [Pre-Activation ResNet] [RiR] [RoR] [Stochastic Depth] [WRN] [FractalNet] [Trimps-Soushen] [PolyNet] [ResNeXt] [DenseNet] [PyramidNet]

Обнаружение объектов
[OverFeat] [R-CNN] [Fast R-CNN] [Faster R-CNN] [DeepID-Net] [ R-FCN ] [ ION ] [ MultiPathNet ] [ NoC ] [ G-RMI ] [ TDM ] [ SSD ] [ DSSD ] [ YOLOv1 ] [ YOLOv2 / YOLO9000 ] [ YOLOv3 ] [ FPN ] [ RetinaNet ] [ DCN ]

Семантическая сегментация
[FCN] [DeconvNet] [DeepLabv1 & DeepLabv2] [SegNet] [ParseNet] [DilatedNet] [PSPNet] [DeepLabv3]

Биомедицинская сегментация изображений
[CUMedVision1] [CUMedVision2 / DCAN] [U-Net] [CFS-FCN] [U-Net + ResNet]

Сегментация экземпляра
[DeepMask] [SharpMask] [MultiPathNet] [MNC] [InstanceFCN] [FCIS]

Суперразрешение
[SRCNN] [FSRCNN] [VDSR] [ESPCN] [RED-Net] [DRCN] [DRRN] [LapSRN & MS-LapSRN]