stringtranslate.com

Остаточная нейронная сеть

Остаточный блок в глубокой остаточной сети. Здесь Остаточное Соединение пропускает два слоя.

Остаточная нейронная сеть (также называемая остаточной сетью или ResNet ) [1] представляет собой модель глубокого обучения, в которой весовые слои изучают остаточные функции со ссылкой на входные данные слоя. Она ведет себя как сеть автомагистралей , ворота которой открываются благодаря сильно положительным весам смещения. [2] Это позволяет легко обучать модели глубокого обучения с десятками или сотнями слоев и достигать большей точности при углублении. Соединения с пропуском идентификаторов, часто называемые «остаточными соединениями», также используются в сетях LSTM 1997 года , [3] моделях трансформаторов (например, BERT , моделях GPT , таких как ChatGPT ), системе AlphaGo Zero , системе AlphaStar и Система AlphaFold .

Остаточные сети были разработаны Каймином Хэ, Сянъюем Чжаном, Шаоцином Реном и Цзянь Сунь, победившими в конкурсе ImageNet 2015 года . [4] [5]

Формулировка

Фон

Модель AlexNet , разработанная в 2012 году для ImageNet, представляла собой восьмислойную сверточную нейронную сеть . Нейронные сети, разработанные в 2014 году группой Visual Geometry Group (VGG) в Оксфордском университете, достигли глубины 19 слоев путем укладки сверточных слоев 3х3. [6] Однако объединение большего количества слоев привело к резкому снижению точности обучения, [7] что называется проблемой «деградации». [1]

Более глубокая сеть не должна приводить к более высоким потерям при обучении, чем ее более мелкий аналог, если эта более глубокая сеть может быть построена с помощью ее более мелкого аналога, состоящего из дополнительных слоев. [1] Если дополнительные уровни могут быть установлены как сопоставления идентификаторов, более глубокая сеть будет представлять ту же функцию, что и более мелкий аналог. Предполагается, что оптимизатор не может выполнить сопоставление идентификаторов для параметризованных слоев.

Остаточное обучение

В модели многослойной нейронной сети рассмотрим подсеть с определенным количеством (например, 2 или 3) сложенных слоев. Обозначим базовую функцию, выполняемую этой подсетью, как , где – входные данные для этой подсети. Идея «Остаточного обучения» повторно параметризует эту подсеть и позволяет слоям параметров представлять остаточную функцию . Выход этой подсети представлен как:

Это также принцип вычислений ячейки LSTM 1997 года [3] , который становится во время обратного распространения ошибки во времени .

Функция часто представляет собой умножение матриц, переплетенное с функциями активации и операциями нормализации (например, пакетной нормализацией или нормализацией слоев).

Эта подсеть называется «остаточным блоком». [1] Глубокая остаточная сеть строится путем объединения серии остаточных блоков.

К операции " " в " " применяется пропускное соединение, которое выполняет сопоставление идентификаторов и соединяет вход остаточного блока с его выходом. В более поздних работах это соединение часто называют «Остаточным соединением». [8]

Распространение сигнала

Введение сопоставлений идентичности облегчает распространение сигнала как в прямом, так и в обратном направлении. [9]

Прямое распространение

Если выход -го остаточного блока является входом для -го остаточного блока (т.е. при условии отсутствия функции активации между блоками), мы имеем: [9]

Применяя эту формулировку рекурсивно, например, мы имеем:

где - индекс любого более позднего остаточного блока (например, последнего блока) и - индекс любого более раннего блока. Эта формулировка предполагает, что всегда существует сигнал, который напрямую передается от более мелкого блока к более глубокому блоку .

Обратное распространение

Формулировка остаточного обучения обеспечивает дополнительное преимущество, позволяя в некоторой степени решить проблему исчезающего градиента . Однако крайне важно признать, что проблема исчезновения градиента не является основной причиной проблемы деградации, поскольку она уже решена с помощью слоев нормализации. Взяв производную относительно указанного выше прямого распространения, мы имеем: [9]

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

Варианты остаточных блоков

Два варианта сверточных остаточных блоков. [1] Слева : базовый блок с двумя сверточными слоями 3x3. Справа : блок «Узкое место» , который имеет сверточный слой 1x1 для уменьшения размеров (например, 1/4), сверточный слой 3x3 и еще один сверточный слой 1x1 для восстановления размеров.

Базовый блок

Базовый блок — это самый простой строительный блок, изученный в оригинальной ResNet. [1] Этот блок состоит из двух последовательных сверточных слоев 3х3 и остаточного соединения. Входные и выходные размеры обоих слоев равны.

Узкий блок

Блок «Узкое место» [1] состоит из трех последовательных сверточных слоев и остаточного соединения. Первый слой в этом блоке представляет собой свертку 1x1 для уменьшения размерности, например, до 1/4 входного измерения; второй слой выполняет свертку 3x3; последний слой — это еще одна свертка 1x1 для восстановления размеров. Все модели ResNet-50, ResNet-101 и ResNet-152 в [1] основаны на блоках узких мест.

Блокировка предварительной активации

Блок невязки предварительной активации [9] применяет функции активации (например, нелинейность и нормализацию) перед применением функции невязки . Формально вычисление остаточного блока предварительной активации можно записать как:

где может быть любая операция активации нелинейности (например, ReLU ) или нормализации (например, LayerNorm). Такая конструкция уменьшает количество неидентичных сопоставлений между остаточными блоками. Этот дизайн использовался для обучения моделей с количеством слоев от 200 до более 1000. [9]

Начиная с GPT-2 , блоки- трансформеры преимущественно реализовывались как блоки предварительной активации. В литературе по моделям Трансформеров это часто называют «предварительной нормализацией». [10]

Трансформаторный блок

Архитектура Transformer , использованная в исходной модели GPT . Блок-трансформер состоит из двух остаточных блоков: многоголового блока внимания и блока многоуровневого персептрона с прямой связью (MLP) .

Блок - трансформер представляет собой набор из двух остаточных блоков. Каждый остаточный блок имеет остаточное соединение.

Первый остаточный блок — это многоголовый блок внимания , который выполняет вычисление (само) внимания, за которым следует линейная проекция.

Второй остаточный блок представляет собой блок многослойного персептрона с прямой связью ( MLP ) . Этот блок аналогичен «обратному» блоку узкого места: он имеет слой линейной проекции (который эквивалентен свертке 1x1 в контексте сверточных нейронных сетей), который увеличивает размерность, и еще одну линейную проекцию, которая уменьшает размерность.

Блок Трансформатора имеет глубину 4 слоев (линейных проекций). Модель GPT-3 имеет 96 блоков-трансформеров (в литературе по трансформерам блок-трансформер часто называют «слоем трансформатора»). Эта модель имеет глубину около 400 слоев проекции, включая слои 96x4 в блоках-трансформерах и несколько дополнительных слоев для внедрения входных данных и прогнозирования выходных данных.

Очень глубокие модели Трансформаторов не могут быть успешно обучены без Остаточных Связей. [11]

Связанных с работой

В 1961 году Фрэнк Розенблатт описал модель трехслойного многослойного перцептрона (MLP) с пропускаемыми соединениями. [12] Модель называлась «системой с перекрестной связью», а пропускные соединения представляли собой формы перекрестных соединений.

В двух книгах, опубликованных в 1994 [13] и 1996 годах, [14] связи «пропущенного уровня» были представлены в моделях MLP с прямой связью: « Общее определение [MLP] допускает более одного скрытого слоя, а также допускает» «соединения пропуска слоев от входа к выходу » (p261 в, [13] p144 в [14] ), «... что позволяет нелинейным блокам нарушать линейную функциональную форму » (p262 в [13] ). Это описание предполагает, что нелинейная MLP работает как функция невязки (возмущения), добавленная к линейной функции.

Зепп Хохрайтер проанализировал проблему исчезающего градиента в 1991 году и объяснил, почему глубокое обучение не работает должным образом. [15] Чтобы решить эту проблему, рекуррентные нейронные сети с длинной краткосрочной памятью (LSTM) [3] имели пропущенные соединения или остаточные соединения с весом 1,0 в каждой ячейке LSTM (так называемая карусель с постоянными ошибками) для вычисления . Во время обратного распространения ошибки во времени это становится вышеупомянутой остаточной формулой для нейронных сетей прямого распространения. Это позволяет обучать очень глубокие рекуррентные нейронные сети в течение очень длительного периода времени. Более поздняя версия LSTM, опубликованная в 2000 году [16], модулирует идентификационные соединения LSTM с помощью так называемых шлюзов забывания, так что их веса не фиксированы на 1,0, но могут быть изучены. В экспериментах ворота забывания инициализировались с положительными весами смещения, [16] таким образом открывались, решая проблему исчезновения градиента.

Сеть автомагистралей в мае 2015 года [2] [17] применяет эти принципы к нейронным сетям прямого распространения . Сообщалось, что это «первая очень глубокая сеть прямой связи с сотнями слоев». [18] Это похоже на LSTM с развернутыми во времени воротами забывания , [16] в то время как более поздние остаточные сети не имеют эквивалента шлюзов забывания и похожи на развернутый исходный LSTM. [3] Если соединения пропуска в сетях автомагистралей «без ворот» или если их ворота остаются открытыми (активация 1.0) благодаря сильным положительным весам смещения, они становятся идентификационными соединениями пропуска в остаточных сетях.

В оригинальной статье «Сеть шоссе» [2] не только были представлены основные принципы очень глубоких сетей прямого распространения, но также были включены экспериментальные результаты с сетями с 20, 50 и 100 слоями, а также упомянуты текущие эксперименты с числом слоев до 900. Сети с 50 или 100 слоями имели меньшую ошибку обучения, чем их простые сетевые аналоги, но не меньшую ошибку обучения, чем их аналог с 20 слоями (в наборе данных MNIST, рисунок 1 в [2] ). Никакого улучшения точности тестирования не наблюдалось в сетях с глубиной более 19 слоев (в наборе данных CIFAR-10; таблица 1 в [2] ). Однако статья ResNet [9] предоставила убедительные экспериментальные доказательства преимуществ проникновения глубже 20 слоев. Он утверждал, что тождественное отображение без модуляции имеет решающее значение, и упомянул, что модуляция в пропускном соединении все еще может приводить к исчезновению сигналов при прямом и обратном распространении (раздел 3 в [9] ). По этой же причине ворота забывания LSTM 2000 года [16] изначально открывались посредством положительных весов смещения: пока ворота открыты, он ведет себя как LSTM 1997 года. Аналогично, сеть Highway Net, ворота которой открываются благодаря сильно положительным весам смещения, ведет себя как ResNet. Пропускные соединения, используемые в современных нейронных сетях (например, Трансформерах ), преимущественно представляют собой тождественные сопоставления.

DenseNets в 2016 году [19] были разработаны как глубокие нейронные сети, которые пытаются соединить каждый уровень с каждым другим слоем. DenseNets подошла к этой цели, используя сопоставления идентификаторов в качестве пропускных соединений. В отличие от ResNets, DenseNets объединяют выходные данные слоев с пропуском соединений путем конкатенации, а не сложения.

Нейронные сети со стохастической глубиной [20] стали возможными благодаря архитектуре остаточной сети. Эта процедура обучения случайным образом удаляет подмножество слоев и позволяет сигналу распространяться через соединение с пропуском идентификаторов. Это эффективный метод регуляризации, также известный как «DropPath», для обучения больших и глубоких моделей, таких как Vision Transformer (ViT).

Биологическое отношение

В оригинальной статье «Остаточная сеть» не утверждалось, что она вдохновлена ​​биологическими системами. Но более поздние исследования связали Остаточные сети с биологически правдоподобными алгоритмами.[21] [22]

Исследование, опубликованное в журнале Science в 2023 году [23] , раскрыло полный коннектом мозга насекомого (личинки плодовой мухи). В ходе этого исследования были обнаружены « многослойные ярлыки », напоминающие пропускные соединения в искусственных нейронных сетях, включая ResNet.

Рекомендации

  1. ^ abcdefgh Хе, Кайминг; Чжан, Сянъюй; Рен, Шаоцин; Сунь, Цзянь (10 декабря 2015 г.). Глубокое остаточное обучение для распознавания изображений . arXiv : 1512.03385 .
  2. ^ abcde Шривастава, Рупеш Кумар; Грефф, Клаус; Шмидхубер, Юрген (3 мая 2015 г.). «Дорожные сети». arXiv : 1505.00387 [cs.LG].
  3. ^ abcd Зепп Хохрейтер ; Юрген Шмидхубер (1997). «Длинная кратковременная память». Нейронные вычисления . 9 (8): 1735–1780. дои : 10.1162/neco.1997.9.8.1735. PMID  9377276. S2CID  1915014.
  4. ^ Дэн, Цзя; Донг, Вэй; Сошер, Ричард; Ли, Ли-Цзя; Ли, Кай; Фей-Фей, Ли (2009). «ImageNet: крупномасштабная иерархическая база данных изображений». ЦВПР .
  5. ^ «Результаты ILSVRC2015» . image-net.org .
  6. ^ Симоньян, Карен; Зиссерман, Эндрю (2014). «Очень глубокие сверточные сети для крупномасштабного распознавания изображений». arXiv : 1409.1556 [cs.CV].
  7. ^ Он, Кайминг; Чжан, Сянъюй; Рен, Шаоцин; Сунь, Цзянь (2016). «Углубление выпрямителей: превосходство производительности человеческого уровня в классификации ImageNet». arXiv : 1502.01852 [cs.CV].
  8. ^ Сегеди, Кристиан; Иоффе, Сергей; Ванхук, Винсент; Алеми, Алекс (2016). «Inception-v4, Inception-ResNet и влияние остаточных связей на обучение». arXiv : 1602.07261 [cs.CV].
  9. ^ abcdefg Хэ, Кайминг; Чжан, Сянъюй; Рен, Шаоцин; Сунь, Цзянь (2015). «Отображения идентичности в глубоких остаточных сетях». arXiv : 1603.05027 [cs.CV].
  10. ^ Рэдфорд, Алек; Ву, Джеффри; Дитя, Ревон; Луан, Дэвид; Амодей, Дарио; Суцкевер, Илья (14 февраля 2019 г.). «Языковые модели предназначены для многозадачного обучения без присмотра» (PDF) . Архивировано (PDF) из оригинала 6 февраля 2021 года . Проверено 19 декабря 2020 г.
  11. ^ Донг, Ихе; Кордонье, Жан-Батист; Лукас, Андреас (2021). «Внимание — это еще не все, что вам нужно: чистое внимание теряет свой ранг в двойне экспоненциально с глубиной». arXiv : 2103.03404 [cs.LG].
  12. ^ Розенблатт, Франк (1961). Принципы нейродинамики. Перцептроны и теория механизмов мозга (PDF) .
  13. ^ abc Венейблс, Западная Нью-Йорк; Рипли, Брэйн Д. (1994). Современная прикладная статистика с S-Plus. Спрингер. ISBN 9783540943501.
  14. ^ аб Рипли, BD (1996). Распознавание образов и нейронные сети. Издательство Кембриджского университета. дои : 10.1017/CBO9780511812651. ISBN 978-0-521-46086-6.
  15. ^ Хохрейтер, Зепп (1991). Untersuruchungen zu dynamischen Neuronalen Netzen (PDF) (дипломная работа). Технический университет Мюнхена, Институт компьютерных наук, руководитель: Й. Шмидхубер.
  16. ^ abcd Феликс А. Герс; Юрген Шмидхубер; Фред Камминс (2000). «Учимся забывать: постоянное прогнозирование с помощью LSTM». Нейронные вычисления . 12 (10): 2451–2471. CiteSeerX 10.1.1.55.5709 . дои : 10.1162/089976600300015015. PMID  11032042. S2CID  11598600. 
  17. ^ Шривастава, Рупеш Кумар; Грефф, Клаус; Шмидхубер, Юрген (22 июля 2015 г.). «Обучение очень глубоких сетей». arXiv : 1507.06228 [cs.LG].
  18. ^ Шмидхубер, Юрген (2015). «Microsoft выигрывает ImageNet 2015 через Highway Net (или Feedforward LSTM) без шлюзов».
  19. ^ Хуан, Гао; Лю, Чжуан; ван дер Маатен, Лоренс; Вайнбергер, Килиан (2016). Плотносвязанные сверточные сети . arXiv : 1608.06993 .
  20. ^ Хуан, Гао; Сунь, Ю; Лю, Чжуан; Вайнбергер, Килиан (2016). Глубокие сети со стохастической глубиной . arXiv : 1603.09382 .
  21. ^ Ляо, Цяньли; Поджо, Томазо (2016). Преодоление разрыва между остаточным обучением, рекуррентными нейронными сетями и зрительной корой . arXiv : 1604.03640 .
  22. ^ Сяо, Уилл; Чен, Хунлинь; Ляо, Цяньли; Поджо, Томазо (2018). Биологически правдоподобные алгоритмы обучения могут масштабироваться до больших наборов данных . arXiv : 1811.03567 .
  23. ^ Виндинг, Майкл; Педиго, Бенджамин; Барнс, Кристофер; Патсолик, Хизер; Парк, Янгсер; Казимирс, Том; Фушики, Акира; Андраде, Ингрид; Хандельвал, Авинаш; Вальдес-Алеман, Хавьер; Ли, Фэн; Рэндел, Надин; Барсотти, Элизабет; Коррейя, Ана; Феттер, Феттер; Хартенштейн, Волкер; Прибе, Кэри; Фогельштейн, Джошуа; Кардона, Альберт; Златич, Марта (10 марта 2023 г.). «Коннектом мозга насекомого». Наука . 379 (6636): eadd9330. bioRxiv 10.1101/2022.11.28.516756v1 . doi : 10.1126/science.add9330. ПМЦ 7614541 . PMID  36893230. S2CID  254070919.