Связаны ли остаточные сети с повышением градиента?

11

Недавно мы увидели появление остаточной нейронной сети, в которой каждый уровень состоит из вычислительного модуля и ярлыка соединения, которое сохраняет входные данные для уровня, такие как выходные данные i-го уровня: Сеть позволяет извлекать остаточные элементы и обеспечивает более глубокую глубину, в то же время будучи более устойчивой к исчезающей проблеме градиента, достигая современного уровня производительности.y i + 1 = c i + y ici

Yя+1знак равнося+Yя

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

Я знаю, что они похожи, но не одинаковы - одно существенное отличие, которое я заметил, заключается в том, что повышение градиента выполняет оптимизацию на аддитивном члене, тогда как остаточная сеть оптимизирует всю сеть.

Я не видел, чтобы он и другие отмечали это как часть их мотивации в оригинальной статье . Поэтому мне было интересно, что вы думаете об этой теме, и попросить вас поделиться интересными ресурсами, которые у вас есть.

Спасибо.

rhadar
источник

Ответы:

7

Потенциально более новая статья, в которой предпринимается попытка обратиться к ней от команды Langford и Shapire: последовательное изучение блоков Deep ResNet с использованием теории повышения

Интересующие части (см. Раздел 3):

Ключевое отличие состоит в том, что повышение - это совокупность оценочных гипотез, тогда как ResNet - это совокупность оценочных представлений признаков . Чтобы решить эту проблему, мы вводим вспомогательный линейный классификатор поверх каждого остаточного блока, чтобы построить модуль гипотезы . Формально модуль гипотезы определяется какt=0Tft(gt(x))wto t ( x ) : = w T t g t ( x ) R

ot(x):=wtTgt(x)R

...

(где)ot(x)=t=0t1wtTft(gt(x))

В статье более подробно рассматривается создание слабого классификатора модуля и его интеграция с их алгоритмом BoostResNet .ht(x)


Добавив немного больше деталей к этому ответу, все алгоритмы повышения могут быть записаны в некоторой форме [1] (стр. 5, 180, 185 ...):

FT(x):=t=0Tαtht(x)

Где - слабая гипотеза для некоторого выбора . Обратите внимание, что разные алгоритмы повышения будут давать и по-разному.httthαtαtчасT

Например, AdaBoost [1] (стр. 5.) использует для минимизации взвешенной ошибки с помощьючасTεTαTзнак равно12журнал1-εTεT

С другой стороны, в настройке повышения градиента [1] (стр. 190.) который максимизирует и выбран (как скорость обучения и т. д.)часTL(FT-1(Икс))часTαT>0

Где, как и в [2] в соответствии с леммой 3.2, показано, что выходное значение глубины ResNet равно что эквивалентноTF(Икс)

F(Икс)αΣTзнак равно0TчасT(Икс)

это завершает отношения между бустингом и реснетом. В статье [2] предлагается добавить вспомогательный линейный слой, чтобы получить его в виде , что приводит к их алгоритму BoostResNet и некоторым обсуждениям по этому поводу.FT(Икс)знак равноΣTзнак равно0TαTчасT(Икс)

[1] Роберт Э. Шапире и Йоав Фрейнд. 2012. Повышение: основы и алгоритмы. MIT Press. стр. 5, 180, 189
[2] Фуронг Хуанг, Джордан Эш, Джон Лэнгфорд, Роберт Шапир: Последовательное изучение блоков Deep ResNet с использованием теории повышения, ICML 2018

chappers
источник
4

Отвечая на мой собственный вопрос: я нашел заметную статью, которая исследует и доказывает, что Deep Residual Networks действительно является ансамблем мелких сетей.

ДРУГОЕ РЕДАКТИРОВАТЬ, после понимания этой проблемы, еще немного: я смотрю на Реснетс как на способ научиться «Усилению возможностей». Остаточное соединение выполняет усиление, но не на цель, а на выходные элементы следующего уровня. Таким образом, они на самом деле связаны, но это не классическое повышение градиента, а фактически «усиление градиента».

rhadar
источник