Потеря пластичности при глубоком непрерывном обучении |
||
МЕНЮ Главная страница Поиск Регистрация на сайте Помощь проекту Архив новостей ТЕМЫ Новости ИИ Голосовой помощник Разработка ИИГородские сумасшедшие ИИ в медицине ИИ проекты Искусственные нейросети Искусственный интеллект Слежка за людьми Угроза ИИ ИИ теория Внедрение ИИКомпьютерные науки Машинное обуч. (Ошибки) Машинное обучение Машинный перевод Нейронные сети начинающим Психология ИИ Реализация ИИ Реализация нейросетей Создание беспилотных авто Трезво про ИИ Философия ИИ Big data Работа разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика
Генетические алгоритмы Капсульные нейросети Основы нейронных сетей Распознавание лиц Распознавание образов Распознавание речи Творчество ИИ Техническое зрение Чат-боты Авторизация |
2024-09-08 12:03 Искусственные нейронные сети, методы глубокого обучения и алгоритм обратного распространения 1 формируют основу современного машинного обучения и искусственного интеллекта. Эти методы почти всегда используются в два этапа: один, в котором веса сети обновляются, и другой, в котором веса остаются постоянными, пока сеть используется или оценивается. Это контрастирует с естественным обучением и многими приложениями, которые требуют непрерывного обучения. Было неясно, работают ли методы глубокого обучения в условиях непрерывного обучения. Здесь мы показываем, что нет — что стандартные методы глубокого обучения постепенно теряют пластичность в условиях непрерывного обучения, пока они не обучаются не лучше, чем неглубокая сеть. Мы показываем такую потерю пластичности, используя классический набор данных ImageNet и проблемы обучения с подкреплением в широком диапазоне вариаций сети и алгоритма обучения. Пластичность поддерживается бесконечно только алгоритмами, которые постоянно вносят разнообразие в сеть, такими как наш алгоритм непрерывного обратного распространения, разновидность обратного распространения, в которой небольшая часть менее используемых единиц постоянно и случайным образом повторно инициализируется. Наши результаты показывают, что методов, основанных на градиентном спуске, недостаточно, — для устойчивого глубокого обучения требуется случайный, неградиентный компонент для поддержания изменчивости и пластичности. Основной Машинное обучение и искусственный интеллект достигли значительного прогресса за последнее десятилетие, с эпохальными успехами в обработке естественного языка 2 , 3 , биологии 4 , играх 5 , 6 , 7 , 8 и робототехнике 9 , 10 . Все эти системы используют искусственные нейронные сети, чьи вычисления вдохновлены работой человеческого и животного мозга. Обучение в этих сетях относится к вычислительным алгоритмам для изменения силы их весов связей (вычислительных синапсов). Самые важные современные методы обучения основаны на стохастическом градиентном спуске (SGD) и алгоритме обратного распространения, идеях, которые возникли по крайней мере четыре десятилетия назад, но сегодня стали намного мощнее из-за доступности значительно большей вычислительной мощности. Успехи также обусловлены усовершенствованиями методов обучения и тренировки, которые вместе делают ранние идеи эффективными в гораздо более крупных и более глубоко слоистых сетях. Эти методологии в совокупности называются глубоким обучением. Несмотря на свои успехи, глубокое обучение с трудом адаптируется к изменяющимся данным. Из-за этого почти во всех приложениях глубокое обучение ограничивается специальной фазой обучения, а затем отключается, когда сеть фактически используется. Например, большие языковые модели, такие как ChatGPT, обучаются на большом общем обучающем наборе, а затем настраиваются на меньших наборах данных, специфичных для приложения или для достижения целей политики и безопасности, но в конечном итоге их веса замораживаются до того, как сеть будет выпущена для использования. При использовании текущих методов обычно неэффективно просто продолжать обучение на новых данных, когда они становятся доступными. Эффект новых данных либо слишком велик, либо слишком мал и не сбалансирован должным образом со старыми данными. Причины этого не совсем понятны, и пока нет четкого решения. На практике наиболее распространенной стратегией включения существенных новых данных было просто отбросить старую сеть и обучить новую с нуля на старых и новых данных вместе 11 , 12 . Когда сеть представляет собой большую языковую модель, а данные составляют значительную часть Интернета, то каждое повторное обучение может стоить миллионы долларов на вычисления. Более того, широкий спектр реальных приложений требует адаптации к изменениям. Изменения повсеместны в обучении предвосхищению рынков и человеческих предпочтений, а также в играх, логистике и системах управления. Системы глубокого обучения были бы намного более мощными, если бы они, как и системы естественного обучения, могли бы постоянно учиться. Здесь мы систематически показываем, что стандартные методы глубокого обучения теряют способность к обучению при расширенном обучении на новых данных, явление, которое мы называем потерей пластичности. Мы используем классические наборы данных, такие как ImageNet и CIFAR-100, модифицированные для непрерывного обучения, и стандартные сети прямого распространения и остаточные сети с широким спектром стандартных алгоритмов обучения. Потеря пластичности в искусственных нейронных сетях была впервые показана на рубеже веков в психологической литературе 13 , 14 , 15 , до разработки методов глубокого обучения. Потеря пластичности с современными методами была заметна в некоторых недавних работах 11 , 16 , 17 , 18 и совсем недавно начала подробно изучаться 12 , 19 , 20 , 21 , 22 , 23 , 24 , 25 , 26 , 27 . Потеря пластичности отличается от катастрофического забывания, которое касается плохой работы со старыми примерами, даже если они не предъявляются снова28 , 29 , 30 . Хотя стандартные методы глубокого обучения теряют пластичность при расширенном обучении, мы показываем, что простое изменение позволяет им сохранять пластичность бесконечно долго как при контролируемом, так и при обучении с подкреплением. Наш новый алгоритм, непрерывное обратное распространение, в точности похож на классическое обратное распространение, за исключением того, что небольшая часть менее используемых единиц повторно инициализируется на каждом шаге, так же как они все были инициализированы в начале обучения. Непрерывное обратное распространение вдохновлено долгой историей методов автоматической генерации и тестирования признаков, начиная с Пандемониума Селфриджа в 1959 году (ссылки 19 , 20 , 31 , 32 , 33 , 34 , 35 ). Эффективность непрерывного обратного распространения показывает, что проблема потери пластичности не присуща искусственным нейронным сетям. Потеря пластичности при контролируемом обучении Основная цель этой статьи — продемонстрировать потерю пластичности в стандартных системах глубокого обучения. Чтобы демонстрация была убедительной, она должна быть систематической и обширной. Она должна рассматривать широкий спектр стандартных сетей глубокого обучения, алгоритмов обучения и настроек параметров. Для каждого из них эксперименты должны проводиться достаточно долго, чтобы выявить долгосрочную потерю пластичности, и повторяться достаточное количество раз, чтобы получить статистически значимые результаты. В целом, требуется на три или четыре порядка больше вычислений по сравнению с тем, что потребовалось бы для обучения одной сети. Например, систематическое исследование с большими языковыми моделями сегодня было бы невозможно, потому что всего один тренировочный запуск с одной из этих сетей потребовал бы вычислений стоимостью в миллионы долларов. К счастью, прогресс в области компьютерного оборудования продолжался быстрыми темпами с тех пор, как разработка глубокого обучения и систематические исследования стали возможны с сетями глубокого обучения, которые использовались ранее, и с некоторыми из долгоживущих тестовых задач. Здесь мы используем ImageNet, классический испытательный стенд для распознавания объектов36 , который сыграл решающую роль в развитии глубокого обучения37 и до сих пор остается влиятельным. База данных ImageNet содержит миллионы изображений, помеченных существительными (классами), такими как типы животных и повседневных предметов. Типичная задача ImageNet — угадать метку по данному изображению. Стандартный способ использования этого набора данных — разбить его на обучающий и тестовый наборы. Сначала обучающая система обучается на наборе изображений и их меток, затем обучение останавливается, и производительность измеряется на отдельном наборе тестовых изображений из тех же классов. Чтобы адаптировать ImageNet к непрерывному обучению, минимизируя все другие изменения, мы построили последовательность задач бинарной классификации, рассматривая классы парами. Например, первой задачей может быть различение кошек от домов, а второй — различение знаков остановки от школьных автобусов. С 1000 классов в нашем наборе данных мы смогли сформировать полмиллиона задач бинарной классификации таким образом. Для каждой задачи сеть глубокого обучения сначала обучалась на подмножестве изображений для двух классов, а затем ее производительность измерялась на отдельном тестовом наборе для классов. После обучения и тестирования на одной задаче следующая задача начиналась с другой пары классов. Мы называем эту проблему «Continual ImageNet». В Continual ImageNet сложность задач остается неизменной с течением времени. Падение производительности будет означать, что сеть теряет способность к обучению, что является прямой демонстрацией потери пластичности. Мы применили широкий спектр стандартных сетей глубокого обучения к Continual ImageNet и протестировали множество алгоритмов обучения и настроек параметров. Чтобы оценить производительность сети при выполнении задачи, мы измерили процент тестовых изображений, которые были правильно классифицированы. Результаты, показанные на рис. 1b , являются репрезентативными; они относятся к сверточной сети прямого распространения и к процедуре обучения с использованием немодифицированного обратного распространения, которая хорошо справилась с этой проблемой в первых нескольких задачах. Рис. 1: Потеря пластичности в Continual ImageNet. a – c , В последовательности задач бинарной классификации с использованием изображений ImageNet ( a ) обычный алгоритм обратного распространения теряет пластичность при всех размерах шага ( b ), тогда как непрерывное обратное распространение, регуляризация L2 и алгоритмы Shrink и Perturb сохраняют пластичность, по-видимому, бесконечно ( c ). Все результаты усреднены по 30 запускам; сплошные линии представляют среднее значение, а заштрихованные области соответствуют стандартной ошибке ±1. Хотя эти сети обучались до 88% правильно на тестовом наборе ранних задач (рис. 1b , левая панель), к 2000-й задаче они потеряли значительную пластичность для всех значений параметра размера шага (правая панель). Некоторые размеры шагов показали хорошие результаты на первых двух задачах, но затем намного хуже на последующих задачах, в конечном итоге достигнув уровня производительности ниже, чем у линейной сети. Для других размеров шагов производительность сначала росла, а затем падала и была лишь немного лучше, чем у линейной сети после 2000 задач. Мы обнаружили, что это общая закономерность в наших экспериментах: для хорошо настроенной сети производительность сначала улучшается, а затем существенно падает, заканчиваясь вблизи или ниже линейной базовой линии. Мы наблюдали эту закономерность для многих сетевых архитектур, вариантов параметров и оптимизаторов. Конкретный выбор сетевой архитектуры, параметров алгоритма и оптимизаторов влиял, когда производительность начинала падать, но серьезное падение производительности происходило для широкого диапазона вариантов. Неспособность стандартных методов глубокого обучения обучаться лучше, чем линейная сеть в последующих задачах, является прямым доказательством того, что эти методы неэффективны в задачах непрерывного обучения. Алгоритмы, которые явно сохраняют веса сети небольшими, были исключением из картины неудач и часто могли поддерживать пластичность и даже улучшать свою производительность во многих задачах, как показано на рис. 1c . Регуляризация L2 добавляет штраф за большие веса; дополнение обратного распространения этим позволило сети продолжить улучшать свою производительность обучения в течение как минимум 5000 задач. Алгоритм Shrink and Perturb 11 , который включает регуляризацию L2, также показал хорошие результаты. Лучшим из всех был наш алгоритм непрерывного обратного распространения, который мы обсудим позже. Для всех алгоритмов мы протестировали широкий диапазон настроек параметров и выполнили множество независимых запусков для статистической значимости. Представленные кривые являются наилучшими представителями каждого алгоритма. Для второй демонстрации мы решили использовать остаточные сети, непрерывное обучение с приращением классов и набор данных CIFAR-100. Остаточные сети включают в себя соединения с пропуском слоев, а также обычные соединения слоев обычных сверточных сетей. Остаточные сети сегодня используются более широко и дают лучшие результаты, чем строго многоуровневые сети 38 . Непрерывное обучение с приращением классов 39 включает последовательное добавление новых классов при тестировании на всех классах, которые мы видели до сих пор. В нашей демонстрации мы начали с обучения на пяти классах, а затем последовательно добавляли еще, по пять за раз, пока все 100 не стали доступны. После каждого добавления сети обучались, и производительность измерялась на всех доступных классах. Мы продолжили обучение на старых классах (в отличие от большинства работ по обучению с приращением классов), чтобы сосредоточиться на пластичности, а не на забывании. В этой демонстрации мы использовали 18-слойную остаточную сеть с переменным числом головок, добавляя головки по мере добавления новых классов. Мы также использовали дополнительные методы глубокого обучения, включая пакетную нормализацию, аугментацию данных, регуляризацию L2 и планирование скорости обучения. Эти методы стандартно используются с остаточными сетями и необходимы для хорошей производительности. Мы называем это нашей базовой системой глубокого обучения. По мере добавления большего количества классов правильная классификация изображений становится все более сложной, и точность классификации снижается, даже если сеть сохраняет способность к обучению. Чтобы исключить этот эффект, мы сравниваем точность наших инкрементально обученных сетей с сетями, которые были переобучены с нуля на том же подмножестве классов. Например, сеть, которая была обучена сначала на пяти классах, а затем на всех десяти классах, сравнивается с сетью, переобученной с нуля на всех десяти классах. Если инкрементально обученная сеть работает лучше, чем сеть, переобученная с нуля, то есть преимущество из-за обучения на предыдущих классах, а если она работает хуже, то есть реальная потеря пластичности. Красная линия на рис. 2b показывает, что инкрементальное обучение изначально было лучше, чем переобучение, но после 40 классов инкрементально обученная сеть показала потерю пластичности, которая становилась все более серьезной. К концу, когда были доступны все 100 классов, точность инкрементально обученной базовой системы была на 5% ниже, чем у переобученной сети (падение производительности, эквивалентное удалению заметного алгоритмического прогресса, такого как пакетная нормализация). Потеря пластичности была менее серьезной, когда Shrink и Perturb были добавлены к алгоритму обучения (в инкрементально обученной сети) и была полностью устранена, когда было добавлено непрерывное обратное распространение (см. раздел «Поддержание пластичности посредством изменчивости и выборочного сохранения»). Эти дополнения также предотвратили то, что блоки сети станут неактивными или избыточными, как показано на рис. 2c,d . Рис. 2: Потеря пластичности в классе инкрементных CIFAR-100. a , Постепенно растущая проблема классификации изображений. b , Первоначально точность улучшается за счет постепенного обучения по сравнению с сетью, обученной с нуля, но после 40 занятий точность существенно ухудшается в базовой системе глубокого обучения, в меньшей степени для системы обучения Shrink and Perturb и совсем не для системы обучения, основанной на непрерывном обратном распространении. c , Количество сетевых единиц, которые активны менее 1% времени, быстро увеличивается для базовой системы глубокого обучения, но в меньшей степени для систем Shrink and Perturb и непрерывного обратного распространения. d , Низкий стабильный ранг означает, что единицы сети не обеспечивают большого разнообразия; базовая система глубокого обучения теряет гораздо больше разнообразия, чем системы Shrink and Perturb и непрерывного обратного распространения. Все результаты усреднены по 30 запускам; сплошные линии представляют среднее значение, а заштрихованные области соответствуют стандартной ошибке ±1. Эта демонстрация включала более крупные сети и требовала больше вычислений, но все же мы смогли провести обширные систематические тесты. Мы обнаружили надежную закономерность в результатах, которая была похожа на ту, что мы обнаружили в ImageNet. В обоих случаях сети глубокого обучения продемонстрировали существенную потерю пластичности. В целом эти результаты, наряду с другими обширными результатами в Methods , представляют собой существенное доказательство потери пластичности. Потеря пластичности при обучении с подкреплением Непрерывное обучение необходимо для обучения с подкреплением способами, выходящими за рамки его важности в контролируемом обучении. Не только среда может измениться, но и поведение обучающегося агента может измениться, тем самым влияя на получаемые им данные, даже если среда неподвижна. По этой причине потребность в непрерывном обучении часто более очевидна в обучении с подкреплением, и обучение с подкреплением является важной обстановкой, в которой можно продемонстрировать тенденцию глубокого обучения к потере пластичности. Тем не менее, сложно продемонстрировать потерю пластичности в обучении с подкреплением систематическим и строгим образом. Отчасти это связано с большим разнообразием алгоритмов и экспериментальных установок, которые обычно используются в исследованиях обучения с подкреплением. Алгоритмы могут изучать функции значений, поведение или и то, и другое одновременно и могут включать буферы воспроизведения, модели мира и изученные латентные состояния. Эксперименты могут быть эпизодическими, непрерывными или офлайн. Все эти варианты включают несколько встроенных выборов параметров. Что более существенно, алгоритмы обучения с подкреплением влияют на данные, которые видит агент. Таким образом, обучаемость алгоритма смешивается с его способностью генерировать информативные данные. Наконец, и отчасти из-за предыдущего, результаты обучения с подкреплением, как правило, более стохастичны и более широко варьируются, чем при обучении с учителем. В целом, демонстрация способностей обучения с подкреплением, особенно отрицательных результатов, как правило, требует большего количества запусков и, как правило, гораздо большей экспериментальной работы и, таким образом, неизбежно не может быть столь же определенной, как при обучении с учителем. Наша первая демонстрация включает алгоритм обучения с подкреплением, применяемый к смоделированному роботу, похожему на муравья, которому поручено двигаться вперед как можно быстрее и эффективнее. Взаимодействие агента и среды состоит из серии эпизодов, каждый из которых начинается в стандартном состоянии и длится до 1000 временных шагов. На каждом временном шаге агент получает вознаграждение в зависимости от пройденного расстояния и величины его действия (подробнее см. в Методах ). Эпизод заканчивается менее чем за 1000 шагов, если муравей прыгает слишком высоко вместо того, чтобы двигаться вперед, как это часто случается на ранних этапах обучения. В последующих результатах мы используем кумулятивное вознаграждение в течение эпизода в качестве основного показателя производительности. Чтобы сделать задачу нестационарной (и тем самым подчеркнуть пластичность), коэффициент трения между ногами муравья и полом изменяется каждые 2 миллиона временных шагов (но только на границе эпизода; подробности в Методах ). Для самой быстрой ходьбы агент должен адаптировать (переучивать) свой способ ходьбы каждый раз, когда изменяется трение. Для этого эксперимента мы использовали алгоритм оптимизации проксимальной политики (PPO) 40 . PPO — это стандартный алгоритм глубокого обучения с подкреплением, основанный на обратном распространении. Он широко используется, например, в робототехнике 9 , в играх-стратегиях в реальном времени 41 и в выравнивании больших языковых моделей с помощью обратной связи от человека 42 . PPO показал хорошие результаты (см. красную линию на рис. 3c ) для первых 2 миллионов шагов, вплоть до первого изменения трения, но затем все хуже и хуже. Обратите внимание, как производительность других алгоритмов на рис. 3c снижалась каждый раз, когда изменялось трение, а затем восстанавливалась по мере адаптации агента к новому трению, придавая графику пилообразный вид. PPO, дополненный специально настроенным оптимизатором Adam 24 , 43 , показал гораздо лучшие результаты (оранжевая линия на рис. 3c ), но все еще показал гораздо худшие результаты при последовательных изменениях после первых двух, что указывает на существенную потерю пластичности. С другой стороны, PPO, дополненный регуляризацией L2 и непрерывным обратным распространением, в значительной степени сохранил свою пластичность по мере изменения проблемы. Рис. 3: Поддержание пластичности в нестационарной задаче обучения с подкреплением. a , Агент обучения с подкреплением управляет крутящими моментами в восьми суставах моделируемого муравья (красные круги), чтобы максимизировать движение вперед и минимизировать штрафы. b , Здесь мы используем версию задачи муравья, в которой трение при контакте с землей резко изменяется каждые 2 миллиона временных шагов. c , Стандартный алгоритм обучения PPO катастрофически не срабатывает в нестационарной задаче муравья. Если оптимизатор PPO (Адам) настроен особым образом, то сбой менее серьезен, но добавление непрерывного обратного распространения или регуляризации L2 необходимо для хорошей работы в течение неопределенного времени. Эти результаты усреднены по 100 запускам; сплошные линии представляют среднее значение, а заштрихованные области представляют 95%-ный доверительный интервал с бутстрепом. Теперь рассмотрим ту же задачу передвижения муравья, за исключением того, что коэффициент трения поддерживается постоянным на промежуточном значении более 50 миллионов временных шагов. Красная линия на рис. 4a показывает, что средняя производительность PPO увеличивалась примерно на 3 миллиона шагов, но затем падала. После 20 миллионов шагов муравей терпит неудачу в каждом эпизоде и не может научиться эффективно двигаться вперед. Красные линии на других панелях рис. 4 дают дополнительное представление о потере пластичности PPO. Они предполагают, что сеть может терять пластичность таким же образом, как в наших результатах контролируемого обучения (см. рис. 2 и расширенные данные рис. 3c ). В обоих случаях большинство единиц сети стали бездействующими во время эксперимента, и сеть заметно потеряла стабильный ранг. Добавление регуляризации L2 смягчило ухудшение производительности, предотвратив постоянный рост весов, но также привело к очень маленьким весам (рис. 4d ), что помешало агенту придерживаться хорошего поведения. Добавление непрерывного обратного распространения в целом показало лучшие результаты. Мы представляем результаты для непрерывного обратного распространения только с (незначительной) регуляризацией L2, поскольку без нее производительность была очень чувствительна к настройкам параметров. Эти результаты показывают, что потеря пластичности может быть катастрофической как в глубоком обучении с подкреплением, так и в глубоком обучении с учителем. Рис. 4: Результаты решения стационарной задачи о передвижении муравьев. a , Четыре алгоритма обучения с подкреплением показали схожие результаты на этой и нестационарной задаче (сравните с рис. 3c ). b , c , Более пристальный взгляд на внутреннюю часть сетей выявляет похожую картину, как и в контролируемом обучении (сравните с рис. 2c,d ). d , Абсолютные значения весов сетей неуклонно увеличивались при стандартном и настроенном PPO, тогда как они уменьшались и оставались небольшими при регуляризации L2 с непрерывным обратным распространением или без него. Эти результаты усреднены по 30 запускам; сплошные линии представляют среднее значение, а заштрихованные области представляют 95%-ный доверительный интервал с бутстрепом. Поддержание пластичности Удивительно, но популярные методы, такие как Adam, Dropout и нормализация, на самом деле увеличили потерю пластичности (см. Расширенные данные, рис. 4a ). С другой стороны, регуляризация L2 уменьшила потерю пластичности во многих случаях (фиолетовая линия на рис. 1 , 3 и 4 ). Регуляризация L2 не дает весам становиться слишком большими, приближая их к нулю на каждом шаге. Небольшие веса позволяют сети оставаться пластичной. Еще один существующий метод, который уменьшил потерю пластичности, — это Shrink and Perturb 11 (оранжевая линия на рис. 1 и 2 ). Shrink and Perturb — это регуляризация L2 плюс небольшие случайные изменения весов на каждом шаге. Введение изменчивости в сеть может уменьшить покой и увеличить разнообразие представления (рис. 2 и 4 ). Наши результаты показывают, что нерастущие веса и устойчивая изменчивость в сети могут быть важны для поддержания пластичности. Теперь мы опишем вариант алгоритма обратного распространения, который специально разработан для введения изменчивости в сеть и сохранения некоторых ее весов небольшими. Обычное обратное распространение состоит из двух основных частей: инициализация с небольшими случайными весами перед обучением и затем градиентный спуск на каждом шаге обучения. Инициализация изначально обеспечивает изменчивость, но, как мы видели, при продолжении обучения изменчивость имеет тенденцию теряться, как и пластичность вместе с ней. Чтобы поддерживать изменчивость, наш новый алгоритм, непрерывное обратное распространение, повторно инициализирует небольшое количество единиц во время обучения, обычно менее одной на шаг. Чтобы предотвратить нарушение того, что сеть уже узнала, для повторной инициализации рассматриваются только наименее используемые единицы. Подробности см. в разделе Методы . Синяя линия на рис. 1c показывает производительность непрерывного обратного распространения на Continual ImageNet. Она смягчила потерю пластичности в Continual ImageNet, превзойдя существующие методы. Аналогично, синие линии на рис. 2 показывают производительность непрерывного обратного распространения на CIFAR-100 с приращением класса и ее влияние на эволюцию спящих единиц и стабильный ранг. Непрерывное обратное распространение полностью преодолело потерю пластичности с высоким стабильным рангом и почти без мертвых единиц на протяжении обучения. При обучении с подкреплением непрерывное обратное распространение применялось вместе с регуляризацией L2 (небольшое количество регуляризации было добавлено для предотвращения чрезмерной чувствительности к параметрам в экспериментах по обучению с подкреплением). Синяя линия на рис. 3 показывает производительность PPO с непрерывным обратным распространением в задаче о перемещении муравьев с изменяющимся трением. PPO с непрерывным обратным распространением показал себя намного лучше, чем стандартный PPO, с небольшой потерей пластичности или без нее. В задаче о перемещении муравьев с постоянным трением (рис. 4 ) PPO с непрерывным обратным распространением продолжал улучшаться на протяжении всего эксперимента. Синие линии на рис. 4b–d показывают эволюцию коррелятов потери пластичности при использовании непрерывного обратного распространения. PPO с непрерывным обратным распространением имел мало спящих единиц, высокий стабильный ранг и почти постоянную среднюю величину веса. Наши результаты согласуются с идеей о том, что малые веса уменьшают потерю пластичности, а постоянное введение изменчивости еще больше смягчает потерю пластичности. Хотя Shrink и Perturb добавляют изменчивость ко всем весам, постоянное обратное распространение делает это выборочно, и это, по-видимому, позволяет ему лучше поддерживать пластичность. Постоянное обратное распространение включает в себя форму вариации и отбора в пространстве нейроноподобных единиц в сочетании с продолжающимся градиентным спуском. Изменчивость и отбор напоминают процессы проб и ошибок в эволюции и поведении 44 , 45 , 46 , 47 и имеют предшественников во многих более ранних идеях, включая методы Кейфера–Вольфовица 48 и методы перезапуска 49 в инженерии и методы поиска признаков в машинном обучении 31 , 32 , 33 , 34 , 35 , 50 . Постоянное обратное распространение привносит форму этой старой идеи в современное глубокое обучение. Однако это всего лишь одна из вариаций этой идеи; возможны и другие вариации, и некоторые из них были исследованы в недавних работах 25 , 27 . Мы с нетерпением ждем будущих работ, которые явно сравнят и еще больше усовершенствуют эти вариации. Обсуждение Глубокое обучение является эффективной и ценной технологией в условиях, в которых обучение происходит в специальной фазе обучения, а не после нее. Однако в условиях, в которых обучение должно продолжаться, мы показали, что глубокое обучение не работает. Под глубоким обучением мы подразумеваем существующие стандартные алгоритмы обучения в многослойных искусственных нейронных сетях, а под неработающими мы подразумеваем, что со временем они перестают обучаться заметно лучше, чем поверхностные сети. Мы продемонстрировали такую потерю пластичности, используя наборы данных контролируемого обучения и задачи обучения с подкреплением, в которых ранее преуспело глубокое обучение, а также для широкого спектра сетей и стандартных алгоритмов обучения. При более внимательном рассмотрении мы обнаружили, что во время обучения многие из нейроноподобных единиц сетей становятся спящими, перегруженными и похожими друг на друга, что затрудняет способность сетей изучать новые вещи. По мере обучения стандартные сети глубокого обучения постепенно и необратимо теряют свое разнообразие и, следовательно, свою способность продолжать обучение. Потеря пластичности часто бывает серьезной, когда обучение продолжается для многих задач, но может вообще не происходить для небольшого количества задач. Проблема потери пластичности не является неотъемлемой частью глубокого обучения. Глубокие искусственные нейронные сети, обученные градиентным спуском, вполне способны сохранять свою пластичность, по-видимому, бесконечно, как мы показали с помощью алгоритма Shrink and Perturb и, в частности, с помощью нового алгоритма непрерывного обратного распространения. Оба эти алгоритма расширяют стандартное глубокое обучение, добавляя источник непрерывной изменчивости к весам сети, а непрерывное обратное распространение ограничивает эту изменчивость единицами сети, которые в настоящее время используются меньше всего, сводя к минимуму ущерб для работы сети. То есть непрерывное обратное распространение включает в себя форму вариации и отбора в пространстве нейроноподобных единиц в сочетании с непрерывным градиентным спуском. Эта идея имеет много исторических предшественников и, вероятно, потребует дальнейшего развития для достижения своей наиболее эффективной формы. Методы Специфика непрерывного обратного распространения Непрерывное обратное распространение выборочно повторно инициализирует малополезные блоки в сети. Наша мера полезности, называемая полезностью вклада, определяется для каждого соединения или веса и каждого блока. Основная идея полезности вклада заключается в том, что величина произведения активации блоков и исходящего веса дает информацию о том, насколько ценна эта связь для ее потребителей. Если вклад скрытого блока для его потребителя мал, его вклад может быть подавлен вкладами от других скрытых блоков. В таком случае скрытый блок бесполезен для своего потребителя. Мы определяем полезность вклада скрытого блока как сумму полезностей всех его исходящих соединений. Полезность вклада измеряется как скользящее среднее мгновенных вкладов со скоростью затухания ? , которая установлена на уровне 0,99 во всех экспериментах. В нейронной сети с прямой связью полезность вклада u l [ i ] i- го скрытого блока в слое l в момент времени t обновляется как $${{f{u}}}_{l}[i]=eta imes {{f{u}}}_{l}[i]+(1-eta ) imes | {{f{h}}}_{l,i,t}| imes mathop{sum }limits_{k=1}^{{n}_{l+1}}| {{f{w}}}_{l,i,k,t}| ,$$ (1) где h l , i , t — выход i- го скрытого блока в слое l в момент времени t , w l , i , k , t — вес, соединяющий i- й блок в слое l с k -м блоком в слое l + 1 в момент времени t , а n l +1 — количество блоков в слое l + 1. Когда скрытый блок повторно инициализируется, его исходящие веса инициализируются нулем. Инициализация исходящих весов нулем гарантирует, что вновь добавленные скрытые блоки не повлияют на уже изученную функцию. Однако инициализация исходящего веса нулем делает новый блок уязвимым для немедленной повторной инициализации, так как он имеет нулевую полезность. Чтобы защитить новые блоки от немедленной повторной инициализации, они защищены от повторной инициализации для порогового значения зрелости m количества обновлений. Мы называем блок зрелым, если его возраст больше m . На каждом шаге доля зрелых блоков ? , называемая скоростью замены, повторно инициализируется в каждом слое. Скорость замены ? обычно устанавливается на очень малое значение, что означает, что заменяется только один блок после сотен обновлений. Например, в классе-инкрементном CIFAR-100 (рис. 2 ) мы использовали непрерывное обратное распространение со скоростью замены 10-5 . Последний слой сети в этой задаче имел 512 блоков. На каждом шаге заменяется примерно 512 x 10-5 = 0,00512 блоков. Это соответствует примерно одной замене после каждых 1/0,00512 ? 200 обновлений или одной замене после каждых восьми эпох в первых пяти классах. Окончательный алгоритм объединяет обычное обратное распространение с выборочной повторной инициализацией для непрерывного введения случайных единиц из начального распределения. Непрерывное обратное распространение выполняет градиентный спуск и шаг выборочной повторной инициализации при каждом обновлении. Алгоритм 1 определяет непрерывное обратное распространение для нейронной сети с прямой связью. В случаях, когда обучающая система использует мини-пакеты, мгновенная полезность вклада может использоваться путем усреднения полезности по мини-пакету вместо сохранения скользящего среднего для экономии вычислений (см. пример расширенных данных на рис. 5d ). Непрерывное обратное распространение преодолевает ограничение предыдущей работы 34 , 35 по выборочной повторной инициализации и делает ее совместимой с современным глубоким обучением. Алгоритм 1 Непрерывное обратное распространение для сети прямого распространения с L слоями Установите коэффициент замещения ? , коэффициент распада ? и порог зрелости m Инициализируем веса w 0 ,…, w L -1 , где w l выбирается из распределения d l Инициализируем утилиты u 1 ,…, u L -1 , количество единиц для замены c 1 ,…, c L -1 и возрасты a 1 ,…, a L -1 до 0 Для каждого входа x t сделать Прямой проход: пропустить x t через сеть, чтобы получить прогноз (widehat{{{f{y}}}_{t}}) Оценить: получить потерю (l({{f{x}}}_{t},widehat{{{f{y}}}_{t}})) Обратный проход: обновление весов с использованием SGD или одного из его вариантов Для слоя l в 1: L - 1 do Обновление возраста: a l = a l + 1 Утилита обновления единицы измерения: см. уравнение ( 1 ) Найти подходящие единицы: n подходящих = количество единиц с возрастом больше m Обновить количество единиц для замены: c l = c l + n подходящих x ? Если c l > 1 Найдите единицу с наименьшей полезностью и запишите ее индекс как r Повторная инициализация входных весов: повторная выборка w l -1 [:, r ] из распределения d l Повторная инициализация выходных весов: установите w l [ r ,:] на 0 Повторная инициализация полезности и возраста: установите ul [ r ] = 0 и a l [ r ] = 0 Обновить количество единиц для замены: c l = c l - 1 Конец для Конец для Подробная информация о Continual ImageNet База данных ImageNet, которую мы использовали, состоит из 1000 классов, каждый из 700 изображений. 700 изображений для каждого класса были разделены на 600 изображений для обучающего набора и 100 изображений для тестового набора. В каждой задаче бинарной классификации сеть глубокого обучения сначала обучалась на обучающем наборе из 1200 изображений, а затем ее точность классификации измерялась на тестовом наборе из 200 изображений. Обучение состояло из нескольких проходов по обучающему набору, называемых эпохами. Для каждой задачи все алгоритмы обучения выполняли 250 проходов по обучающему набору, используя мини-пакеты размером 100. Все задачи использовали уменьшенную версию набора данных ImageNet размером 32 x 32, как это часто делается для экономии вычислений 51 . Все алгоритмы Continual ImageNet использовали сверточную сеть. Сеть имела три сверточных слоя плюс макс-пулинг, за которыми следовали три полностью связанных слоя, как подробно описано в расширенной таблице данных 3. Последний слой состоял всего из двух единиц, головок, соответствующих двум классам. При смене задач входные веса головок сбрасывались до нуля. Сброс головок таким образом можно рассматривать как введение новых головок для новых задач. Этот сброс выходных весов не идеален для изучения пластичности, поскольку обучающая система получает доступ к привилегированной информации о времени смены задач (и мы не используем ее в других экспериментах в этой статье). Мы используем ее здесь, потому что это стандартная практика в глубоком непрерывном обучении для этого типа задач, в которых обучающая система должна изучить последовательность независимых задач 52 . В этой задаче мы сбрасываем начало сети в начале каждой задачи. Это означает, что для линейной сети сбрасывается вся сеть. Вот почему производительность линейной сети не ухудшится в Continual ImageNet. Поскольку линейная сеть является базовой линией, желательно иметь оценку ее производительности с низкой дисперсией. Значение этой базовой линии получается путем усреднения по тысячам задач. Это усреднение дает нам гораздо лучшую оценку ее производительности, чем у других сетей. Сеть была обучена с использованием SGD с импульсом на кросс-энтропийной потере и инициализирована один раз перед первой задачей. Гиперпараметр импульса был 0,9. Мы протестировали различные параметры размера шага для обратного распространения, но представили производительность только для размеров шага 0,01, 0,001 и 0,0001 для ясности рис. 1b . Мы выполнили 30 запусков для каждого значения гиперпараметра, варьируя последовательность задач и другие случайности. Для разных гиперпараметров и алгоритмов использовались одни и те же последовательности пар классов. Теперь мы опишем выбор гиперпараметров для регуляризации L2, Shrink и Perturb и непрерывного обратного распространения. Основной текст представляет результаты для этих алгоритмов на Continual ImageNet на рис. 1c . Мы выполнили поиск по сетке для всех алгоритмов, чтобы найти набор гиперпараметров, которые имели самую высокую среднюю точность классификации по 5000 задач. Значения гиперпараметров, используемых для поиска по сетке, описаны в расширенной таблице данных 2. Регуляризация L2 имеет два гиперпараметра, размер шага и спад веса. Shrink и Perturb имеют три гиперпараметра, размер шага, спад веса и дисперсию шума. Мы перебрали два гиперпараметра непрерывного обратного распространения: размер шага и скорость замены. Порог зрелости в непрерывном обратном распространении был установлен на уровне 100. Как для обратного распространения, так и для регуляризации L2 производительность была низкой для размеров шага 0,1 или 0,003. Мы решили использовать только размеры шагов 0,03 и 0,01 для непрерывного обратного распространения и Shrink and Perturb. Мы выполнили десять независимых запусков для всех наборов гиперпараметров. Затем мы выполнили еще 20 запусков, чтобы завершить 30 запусков для набора гиперпараметров с наилучшими характеристиками, чтобы получить результаты на рис. 1c . Класс-инкрементный CIFAR-100 В CIFAR-100 с приращением классов обучающая система получает доступ ко все большему количеству классов с течением времени. Классы предоставляются обучающей системе с шагом в пять. Сначала она имеет доступ только к пяти классам, затем к десяти и так далее, пока не получит доступ ко всем 100 классам. Обучающая система оценивается на основе того, насколько хорошо она может различать все доступные классы в настоящее время. Набор данных состоит из 100 классов с 600 изображениями в каждом. 600 изображений для каждого класса были разделены на 450 изображений для создания обучающего набора, 50 для проверочного набора и 100 для тестового набора. Обратите внимание, что сеть обучается на всех данных из всех классов, доступных в настоящее время. Сначала она обучается на данных всего из пяти классов, затем из всех десяти классов и так далее, пока, наконец, она не обучается на данных из всех 100 классов одновременно. После каждого приращения сеть обучалась в течение 200 эпох, в общей сложности 4000 эпох для всех 20 приращений. Мы использовали график скорости обучения, который сбрасывается в начале каждого приращения. Для первых 60 эпох каждого приращения скорость обучения была установлена на уровне 0,1, затем на уровне 0,02 для следующих 60 эпох, затем на уровне 0,004 для следующих 40 эпох и на уровне 0,0008 для последних 40 эпох; мы использовали начальную скорость обучения и график скорости обучения, приведенные в ссылке 53. В течение 200 эпох обучения для каждого приращения мы отслеживали сеть с наилучшей точностью на проверочном наборе. Чтобы предотвратить переобучение, в начале каждого нового приращения мы сбрасываем веса сети до весов наиболее эффективной (на проверочном наборе) сети, найденной во время предыдущего приращения; это эквивалентно ранней остановке для каждого отдельного приращения. Мы использовали 18-слойную глубокую остаточную сеть 38 для всех экспериментов на CIFAR-100 с приращением классов. Архитектура сети подробно описана в расширенной таблице данных 1. Веса сверточных и линейных слоев были инициализированы с помощью инициализации Кайминга 54 , веса для слоев пакетной нормы были инициализированы единицей, а все члены смещения в сети были инициализированы нулем. Каждый раз, когда пять новых классов становились доступными для сети, к последнему слою сети добавлялось еще пять выходных единиц. Веса и смещения этих выходных единиц были инициализированы с помощью той же схемы инициализации. Веса сети были оптимизированы с помощью SGD с импульсом 0,9, затуханием веса 0,0005 и размером мини-пакета 90. Мы использовали несколько этапов предварительной обработки данных, прежде чем изображения были представлены сети. Во-первых, значение всех пикселей в каждом изображении было изменено в диапазоне от 0 до 1 путем деления на 255. Затем каждый пиксель в каждом канале был центрирован и изменен в соответствии со средним и стандартным отклонением значений пикселей каждого канала соответственно. Наконец, мы применили три случайных преобразования данных к каждому изображению перед его подачей в сеть: случайным образом перевернули изображение по горизонтали с вероятностью 0,5, случайным образом обрезали изображение, добавив к нему 4 пикселя с каждой стороны и случайным образом обрезав до исходного размера, и случайным образом повернули изображение в диапазоне от 0 до 15°. Первые два этапа предварительной обработки были применены к обучающему, проверочному и тестовому наборам, но случайные преобразования были применены только к изображениям в обучающем наборе. Мы протестировали несколько гиперпараметров, чтобы обеспечить наилучшую производительность для каждого отдельного алгоритма с нашей конкретной архитектурой. Для базовой системы мы протестировали значения параметра спада веса в {0,005, 0,0005, 0,00005}. Значение спада веса 0,0005 привело к наилучшей производительности с точки зрения площади под кривой для точности на тестовом наборе за 20 приращений. Для Shrink и Perturb мы использовали значение спада веса базовой системы и протестировали значения стандартного отклонения гауссовского шума в {10 -4 , 10 -5 , 10 -6 }; 10 -5 привело к наилучшей производительности. Для непрерывного обратного распространения мы протестировали значения для порога зрелости в {1000, 10000} и для скорости замены в {10-4 , 10-5 , 10-6 } , используя полезность вклада, описанную в уравнении ( 1 ). Порог зрелости 1000 и скорость замены 10-5 привели к наилучшей производительности. Наконец, для базовой линии сброса головки в расширенных данных рис. 1a мы использовали те же гиперпараметры, что и для базовой системы, но выходной слой был повторно инициализирован в начале каждого приращения. На рис. 2d мы построили стабильный ранг представления в предпоследнем слое сети и процент мертвых единиц в полной сети. Для матрицы ({oldsymbol{Phi }}in {{mathbb{R}}}^{n imes m}) с сингулярными значениями ? k , отсортированными в порядке убывания для k = 1, 2,…, q и q = max( n , m ), стабильный ранг 55 равен (min left{k:frac{{Sigma }_{i}^{k}{sigma }_{i}}{{Sigma }_{j}^{q}{sigma }_{j}} > 0.99 ight}) . Для справки, мы также реализовали сеть с теми же гиперпараметрами, что и базовая система, но которая была повторно инициализирована в начале каждого приращения. Рисунок 2b показывает производительность каждого алгоритма относительно производительности повторно инициализированной сети. Для полноты, Расширенные данные Рис. 1a показывает точность тестирования каждого алгоритма в каждом отдельном приращении. Окончательная точность непрерывного обратного распространения для всех 100 классов составила 76,13%, тогда как Расширенные данные Рис. 1b показывает производительность непрерывного обратного распространения для различных скоростей замены с порогом зрелости 1000. Для всех алгоритмов, которые мы протестировали, не было никакой корреляции между тем, когда был представлен класс, и точностью этого класса, подразумевая, что временной порядок классов не влиял на производительность. Устойчивая потеря пластичности в переставленном MNIST Теперь мы используем вычислительно дешевую задачу на основе набора данных MNIST 56 для проверки общности потери пластичности в различных условиях. MNIST является одним из наиболее распространенных наборов данных контролируемого обучения, используемых в глубоком обучении. Он состоит из 60 000 изображений в оттенках серого размером 28 x 28 рукописных цифр от 0 до 9 вместе с их правильными метками. Например, левое изображение на рис. 3a расширенных данных показывает изображение, которое помечено цифрой 7. Меньшее количество классов и более простые изображения позволяют гораздо меньшим сетям хорошо работать с этим набором данных, чем это необходимо в ImageNet или CIFAR-100. Меньшие сети, в свою очередь, означают, что для проведения экспериментов требуется гораздо меньше вычислений, и, таким образом, эксперименты можно проводить в большем количестве и в различных условиях, что позволяет нам проводить более глубокие и обширные исследования пластичности. Мы создали непрерывную задачу контролируемого обучения, используя переставленные наборы данных MNIST 57 , 58 . Отдельный переставленный набор данных MNIST создается путем перестановки пикселей в исходном наборе данных MNIST. Правое изображение на Extended Data Fig. 3a является примером такого переставленного изображения. Учитывая способ перестановки, все 60 000 изображений переставляются одинаковым образом для получения нового переставленного набора данных MNIST. Кроме того, мы нормализовали значения пикселей между 0 и 1 путем деления на 255. Повторно выбирая случайным образом из приблизительно 10 1930 возможных перестановок, мы создали последовательность из 800 переставленных наборов данных MNIST и задач контролируемого обучения. Для каждой задачи мы предъявляли обучающейся сети каждое из ее 60 000 изображений одно за другим в случайном порядке. Затем мы переходили к следующей переставленной задаче MNIST и повторяли всю процедуру, и так далее до 800 задач. Во время переключения задач сеть не получала никаких указаний. Поскольку пиксели переставлялись совершенно несвязанным образом, мы могли бы ожидать, что эффективность классификации существенно упадет во время каждого переключения задач. Тем не менее, между задачами может быть некоторая экономия, некоторое улучшение скорости обучения или, в качестве альтернативы, может быть потеря пластичности — потеря способности обучаться между задачами. Сеть обучалась за один проход по данным, и не было никаких мини-пакетов. Мы называем эту проблему Online Permuted MNIST. Мы применили нейронные сети прямого распространения с тремя скрытыми слоями к Online Permuted MNIST. Мы не использовали сверточные слои, так как они не могли быть полезны в проблеме permuted, поскольку пространственная информация теряется; в MNIST сверточные слои часто не используются даже в стандартной, не permuted задаче. Для каждого примера сеть оценивала вероятности каждого из классов tem, сравнивала их с правильной меткой и выполняла SGD для потери кросс-энтропии. В качестве меры онлайн-производительности мы записывали процент раз, когда сеть правильно классифицировала каждое из 60 000 изображений в задаче. Мы построили эту меру производительности для каждой задачи в зависимости от номера задачи в Extended Data Fig. 3b . Веса были инициализированы в соответствии с распределением Кайминга. Левая панель расширенных данных рис. 3b показывает прогрессию онлайн-производительности по задачам для сети с 2000 единиц на слой и различными значениями параметра размера шага. Обратите внимание, что производительность сначала увеличилась по задачам, а затем начала неуклонно падать по всем последующим задачам. Это падение производительности означает, что сеть медленно теряет способность обучаться на новых задачах. Эта потеря пластичности согласуется с потерей пластичности, которую мы наблюдали в ImageNet и CIFAR-100. Затем мы изменили размер сети. Вместо 2000 единиц на слой мы попробовали 100, 1000 и 10 000 единиц на слой. Мы провели этот эксперимент только для 150 задач, в первую очередь потому, что самой большой сети потребовалось гораздо больше времени для запуска. Производительность при хороших размерах шага для каждого размера сети показана на средней панели Extended Data Fig. 3b . Потеря пластичности при продолжении обучения наиболее выражена при меньших размерах сети, но даже самые большие сети показывают некоторую потерю пластичности. Далее мы изучили влияние скорости изменения задачи. Возвращаясь к исходной сети с 2000-элементными слоями, вместо того, чтобы менять перестановку после каждых 60 000 примеров, мы теперь меняли ее после каждых 10 000, 100 000 или 1 миллиона примеров и запускали в общей сложности 48 миллионов примеров независимо от того, как часто менялась задача. Примеры в этих случаях выбирались случайным образом с заменой для каждой задачи. В качестве меры производительности сети для задачи мы использовали процент правильных результатов по всем изображениям в задаче. Прогресс производительности показан на правой панели в расширенных данных, рис. 3b . И снова производительность падала между задачами, даже если изменение было очень редким. В целом эти результаты показывают, что явление потери пластичности устойчиво возникает в этой форме обратного распространения. Потеря пластичности происходит для широкого диапазона размеров шагов, скоростей изменения распределения и для как недостаточно параметризованных, так и для сверхпараметризованных сетей. Потеря пластичности при различных активациях в задаче медленно меняющейся регрессии Остается вопрос функции активации сети. В наших экспериментах до сих пор мы использовали ReLU, наиболее популярный выбор в настоящее время, но есть несколько других возможностей. Для этих экспериментов мы переключились на еще меньшую, более идеализированную задачу. Медленно изменяющаяся регрессия — это вычислительно недорогая задача, в которой мы можем запустить один эксперимент на ядре ЦП за 15 минут, что позволяет нам проводить обширные исследования. Как следует из названия, эта задача является задачей регрессии, то есть метки являются действительными числами с квадратичными потерями, а не номинальными значениями с кросс-энтропийными потерями, а нестационарность является медленной и непрерывной, а не резкой, как при переключении с одной задачи на другую. В Медленно изменяющейся регрессии мы изучаем потерю пластичности для сетей с шестью популярными функциями активации: сигмоидой, тангенсом, ELU 59 , дырявым ReLU 60 , ReLU 61 и Swish 62 . В медленно меняющейся регрессии обучающийся получает последовательность примеров. Входные данные для каждого примера — двоичный вектор размера m + 1. Входные данные имеют f медленно меняющихся битов, m - f случайных битов и один постоянный бит. Первые f битов во входном векторе изменяются медленно. После каждых T примеров один из первых f битов выбирается равномерно случайным образом, и его значение инвертируется. Эти первые f битов остаются фиксированными для следующих T примеров. Параметр T позволяет нам контролировать скорость изменения входного распределения. Следующие m - f битов выбираются случайным образом для каждого примера. Наконец, ( m + 1)-й бит — это смещающий член с постоянным значением, равным единице. Целевой выход генерируется путем пропускания входного вектора через нейронную сеть, которая устанавливается в начале эксперимента и сохраняется фиксированной. Поскольку эта сеть генерирует целевой выход и представляет желаемое решение, мы называем ее целевой сетью. Веса целевых сетей выбираются случайным образом, чтобы быть +1 или -1. Целевая сеть имеет один скрытый слой с активацией линейной пороговой единицы (LTU). Значение i-го LTU равно единице, если вход превышает порог ? i , и 0 в противном случае. Порог ? i устанавливается равным ( m + 1) x ? - S i , в котором ? ? [0, 1], а S i — это количество входных весов с отрицательным значением 63 . Детали входной и целевой функции в задаче медленно меняющейся регрессии также описаны на рис. 2a расширенных данных . Подробности конкретного примера проблемы медленно меняющейся регрессии, которую мы используем в этой статье, и обучающая сеть, используемая для прогнозирования ее выходных данных, перечислены в расширенной таблице данных 4. Обратите внимание, что целевая сеть сложнее обучающей сети, поскольку целевая сеть шире и содержит 100 скрытых единиц, тогда как у обучающегося всего пять скрытых единиц. Таким образом, поскольку распределение входных данных меняется каждый пример T , а целевая функция сложнее, чем та, которую может представить обучающийся, необходимо отслеживать наилучшее приближение. Мы применили обучающие сети с различными функциями активации к медленно меняющейся регрессии. Обучающийся использовал алгоритм обратного распространения для обучения весов сети. Мы использовали равномерное распределение Кайминга 54 для инициализации весов обучающей сети. Распределение имеет вид U (- b , b ) с границей, (b={ m{g}}{ m{a}}{ m{i}}{ m{n}} imes sqrt{frac{3}{{ m{n}}{ m{u}}{ m{m}}{ m{\_}}{ m{i}}{ m{n}}{ m{p}}{ m{u}}{ m{t}}{ m{s}}}}) , в котором усиление выбирается таким образом, что величина входов не меняется между слоями. Для tanh, sigmoid, ReLU и leaky ReLU усиление составляет 5/3, 1, (sqrt{2}) и (sqrt{2/(1+{alpha }^{2})}) , соответственно. Для ELU и Swish мы использовали ({ m{gain}}=sqrt{2}) , как это было сделано в оригинальных статьях 59 , 62 . Мы провели эксперимент по проблеме медленно меняющейся регрессии для 3 миллионов примеров. Для каждой активации и значения размера шага мы провели 100 независимых запусков. Сначала мы сгенерировали 100 последовательностей примеров (пар вход-выход) для 100 запусков. Затем эти 100 последовательностей примеров были использованы для экспериментов со всеми активациями и значениями параметра размера шага. Мы использовали ту же самую последовательность примеров для управления случайностью в потоке данных между активациями и размерами шагов. Результаты экспериментов показаны на Extended Data Fig. 2b . Мы измерили квадратичную ошибку, то есть квадрат разницы между истинной целью и прогнозом, сделанным обучающейся сетью. На Extended Data Fig. 2b квадратичная ошибка представлена в бинах по 40 000 примеров. Это означает, что первая точка данных — это средняя квадратичная ошибка на первых 40 000 примерах, следующая — это средняя квадратичная ошибка на следующих 40 000 примерах и так далее. Заштрихованная область на рисунке показывает стандартную ошибку сгруппированной ошибки. Расширенные данные Рис. 2b показывает, что в медленно меняющейся регрессии после хорошего начального выполнения ошибка увеличивается для всех размеров шага и активаций. Для некоторых активаций, таких как ReLU и tanh, потеря пластичности серьезна, и ошибка увеличивается до уровня линейной базовой линии. Хотя для других активаций, таких как ELU, потеря пластичности менее серьезна, все равно наблюдается заметная потеря пластичности. Эти результаты означают, что потеря пластичности не устраняется с помощью обычно используемых активаций. Результаты в этом разделе дополняют результаты в остальной части статьи и добавляют к общности потери пластичности в глубоком обучении. Понимание потери пластичности Теперь мы обратим внимание на то, почему обратное распространение теряет пластичность в задачах непрерывного обучения. Единственное отличие в обучающем устройстве с течением времени — это веса сети. Вначале веса были небольшими случайными числами, поскольку они были выбраны из начального распределения; однако после обучения некоторых задач веса стали оптимизированы для самой последней задачи. Таким образом, начальные веса для следующей задачи качественно отличаются от начальных весов для первой задачи. Поскольку эта разница в весах является единственным отличием в алгоритме обучения с течением времени, начальное распределение весов должно иметь некоторые уникальные свойства, которые делают обратное распространение пластичным в начале. Начальное случайное распределение может иметь много свойств, которые обеспечивают пластичность, таких как разнообразие единиц, ненасыщенные единицы, малая величина веса и т. д. Как мы сейчас демонстрируем, многие преимущества начального распределения теряются одновременно с потерей пластичности. Потеря каждого из этих преимуществ частично объясняет ухудшение производительности, которое мы наблюдали. Затем мы приводим аргументы в пользу того, как потеря этих преимуществ может способствовать потере пластичности, и меры, которые количественно определяют распространенность каждого явления. Мы проводим углубленное исследование проблемы Online Permuted MNIST, которое послужит мотивацией для нескольких методов решения, которые могли бы смягчить потерю пластичности. Первое заметное явление, которое происходит одновременно с потерей пластичности, — это постоянное увеличение доли постоянных единиц. Когда единица становится постоянной, градиенты, текущие обратно из единицы, становятся нулевыми или очень близкими к нулю. Нулевые градиенты означают, что веса, поступающие в единицу, не изменяются, что означает, что эта единица теряет всю свою пластичность. В случае активаций ReLU это происходит, когда выход активаций равен нулю для всех примеров задачи; такие единицы часто называют мертвыми 64 , 65 . В случае сигмоидальных функций активации это явление происходит, когда выход единицы слишком близок к любому из крайних значений функции активации; такие единицы часто называют насыщенными 66 , 67 . Для измерения количества мертвых единиц в сети с активацией ReLU мы подсчитываем количество единиц со значением ноль для всех примеров в случайной выборке из 2000 изображений в начале каждой новой задачи. Аналогичная мера в случае сигмоидальных активаций — это количество единиц, которые находятся на расстоянии ? от любого из крайних значений функции для некоторого небольшого положительного ? (ссылка 68 ). В этом разделе мы сосредоточимся только на сетях ReLU. В наших экспериментах над задачей Online Permuted MNIST ухудшение производительности в режиме онлайн сопровождается значительным увеличением числа мертвых единиц (левая панель Extended Data Рис. 3c ). Для размера шага 0,01 до 25% единиц умирают после 800 задач. В задаче Permuted MNIST, в которой все входы положительны, поскольку они нормализованы между 0 и 1, как только единица в первом слое умирает, она остается мертвой навсегда. Таким образом, увеличение мертвых единиц напрямую уменьшает общую емкость сети. В следующем разделе мы увидим, что методы, которые останавливают смерть единиц, могут существенно снизить потерю пластичности. Это еще раз подтверждает идею о том, что увеличение мертвых единиц является одной из причин потери пластичности в обратном распространении. Другим явлением, которое происходит с потерей пластичности, является устойчивый рост средней величины веса сети. Мы измеряем среднюю величину весов, складывая их абсолютные значения и деля на общее количество весов в сети. В эксперименте с перестановками MNIST ухудшение точности онлайн-классификации обратного распространения, наблюдаемое в расширенных данных, рис. 3b , связано с увеличением средней величины весов (центральная панель расширенных данных, рис. 3c ). Рост величины весов сети может представлять собой проблему, поскольку большие величины весов часто связаны с более медленным обучением. Веса нейронной сети напрямую связаны с числом обусловленности матрицы Гессе в приближении Тейлора второго порядка функции потерь. Известно, что число обусловленности Гессе влияет на скорость сходимости алгоритмов SGD (см. ссылку 69 для иллюстрации этого явления в выпуклой оптимизации). Следовательно, рост величины весов может привести к плохо обусловленной матрице Гессе, что приведет к более медленной сходимости. Последнее явление, которое происходит с потерей пластичности, — это падение эффективного ранга представления. Подобно рангу матрицы, который представляет собой число линейно независимых измерений, эффективный ранг учитывает, как каждое измерение влияет на преобразование, вызванное матрицей 70 . Высокий эффективный ранг указывает на то, что большинство измерений матрицы вносят аналогичный вклад в преобразование, вызванное матрицей. С другой стороны, низкий эффективный ранг соответствует большинству измерений, не оказывающих заметного влияния на преобразование, что подразумевает, что информация в большинстве измерений близка к избыточной. Формально рассмотрим матрицу (Phi in {{mathbb{R}}}^{n imes m}) с сингулярными значениями ? k для k = 1, 2,…, q и q = max( n , m ). Пусть p k = ? k / ? ? ? 1 , в которой ? — вектор, содержащий все сингулярные значения, а ? ? ? 1 — норма l 1. Эффективный ранг матрицы ? , или erank( ? ), определяется как $$egin{array}{l}{ m{e}}{ m{r}}{ m{a}}{ m{n}}{ m{k}}({oldsymbol{Phi }})dot{=}exp {H({p}_{1},{p}_{2},...,{p}_{q})}, { m{in; which}},H({p}_{1},{p}_{2},...,{p}_{q})=-mathop{sum }limits_{k=1}^{q}{p}_{k}log ({p}_{k}).end{array}$$ (2) Обратите внимание, что эффективный ранг — это непрерывная мера, которая находится в диапазоне от единицы до ранга матрицы ? . В случае нейронных сетей эффективный ранг скрытого слоя измеряет количество единиц, которые могут производить выход слоя. Если скрытый слой имеет низкий эффективный ранг, то небольшое количество единиц может производить выход слоя, что означает, что многие единицы в скрытом слое не предоставляют никакой полезной информации. Мы аппроксимируем эффективный ранг на случайной выборке из 2000 примеров перед обучением на каждой задаче. В наших экспериментах потеря пластичности сопровождается уменьшением среднего эффективного ранга сети (правая панель расширенных данных, рис. 3c ). Это явление само по себе не обязательно является проблемой. В конце концов, было показано, что оптимизация на основе градиента, по-видимому, благоприятствует решениям с низким рангом посредством неявной регуляризации функции потерь или неявной минимизации самого ранга 71 , 72 . Однако решение с низким рангом может быть плохой отправной точкой для обучения на основе новых наблюдений, поскольку большинство скрытых единиц предоставляют мало или вообще не предоставляют информации. Уменьшение эффективного ранга может объяснить потерю пластичности в наших экспериментах следующим образом. После каждой задачи алгоритм обучения находит решение с низким рангом для текущей задачи, которое затем служит инициализацией для следующей задачи. По мере продолжения процесса эффективный ранг слоя представления продолжает уменьшаться после каждой задачи, ограничивая количество решений, которые сеть может представить немедленно в начале каждой новой задачи. В этом разделе мы более подробно рассмотрели сети, которые потеряли пластичность в задаче Online Permuted MNIST. Мы отметили, что единственное отличие в алгоритме обучения с течением времени — это веса сети, что означает, что начальное распределение весов имеет некоторые свойства, которые позволили алгоритму обучения быть пластичным в начале. И по мере обучения веса сети отошли от начального распределения, и алгоритм начал терять пластичность. Мы обнаружили, что потеря пластичности коррелирует с увеличением величины веса, уменьшением эффективного ранга представления и увеличением доли мертвых единиц. Каждый из этих коррелятов частично объясняет потерю пластичности, с которой сталкивается обратное распространение. Существующие методы глубокого обучения для смягчения потери пластичности Теперь мы исследуем несколько существующих методов и проверяем, как они влияют на потерю пластичности. Мы изучаем пять существующих методов: L2 regularization 73 , Dropout 74 , online normalization 75 , Shrink and Perturb 11 и Adam 43 . Мы выбрали L2 regularization, Dropout, normalization и Adam, потому что эти методы обычно используются в практике глубокого обучения. Хотя Shrink and Perturb не является широко используемым методом, мы выбрали его, потому что он уменьшает сбой предварительной подготовки, проблему, которая является примером потери пластичности. Чтобы оценить, могут ли эти методы смягчить потерю пластичности, мы протестировали их на задаче Online Permuted MNIST, используя ту же архитектуру сети, которую мы использовали в предыдущем разделе «Понимание потери пластичности». Подобно предыдущему разделу, мы измеряем точность онлайн-классификации на всех 60 000 примерах задачи. Все алгоритмы использовали размер шага 0,003, что было наилучшим размером шага для обратного распространения в левой панели расширенных данных Рис. 3b . Мы также используем три коррелята потери пластичности, найденные в предыдущем разделе, чтобы получить более глубокое понимание производительности этих методов. Интуитивный способ решения проблемы потери пластичности — использовать регуляризацию веса, поскольку потеря пластичности связана с ростом величин веса, как показано в предыдущем разделе. Мы использовали регуляризацию L2, которая добавляет штраф к функции потерь, пропорциональный норме l 2 весов сети. Штраф регуляризации L2 стимулирует SGD находить решения с низкой величиной веса. Это вводит гиперпараметр ? , который модулирует вклад штрафного члена. Фиолетовая линия на левой панели Extended Data Fig. 4a показывает производительность регуляризации L2 для задачи Online Permuted MNIST. Фиолетовые линии на других панелях Extended Data Fig. 4a показывают эволюцию трех коррелятов потери пластичности с регуляризацией L2. Для регуляризации L2 величина веса не увеличивается непрерывно. Более того, как и ожидалось, невозрастающая величина веса связана с меньшей потерей пластичности. Однако регуляризация L2 не полностью смягчает потерю пластичности. Два других коррелята потери пластичности объясняют это, поскольку процент мертвых единиц продолжал расти, а эффективный ранг продолжал уменьшаться. Наконец, Extended Data Fig. 4b показывает производительность регуляризации L2 для различных значений ? . Параметр регуляризации ? контролировал пик производительности и то, как быстро она уменьшалась. Метод, связанный с регуляризацией веса, называется Shrink and Perturb 11 . Как следует из названия, Shrink and Perturb выполняет две операции: он сжимает все веса, а затем добавляет к этим весам случайный гауссовский шум. Введение шума вводит еще один гиперпараметр, стандартное отклонение шума. Благодаря сжимающей части Shrink and Perturb алгоритм отдает предпочтение решениям с меньшей средней величиной веса, чем обратное распространение. Более того, добавленный шум предотвращает гибель единиц, поскольку он добавляет ненулевую вероятность того, что мертвая единица снова станет активной. Если Shrink and Perturb смягчает эти корреляты с потерей пластичности, это может уменьшить потерю пластичности. Производительность Shrink и Perturb показана оранжевым цветом на рис. 4 расширенных данных . Подобно регуляризации L2, Shrink и Perturb останавливают постоянный рост величины веса. Более того, они также уменьшают процент мертвых единиц. Однако эффективный ранг у них ниже, чем у обратного распространения, но все равно выше, чем у регуляризации L2. Shrink и Perturb не только имеют меньшую потерю пластичности, чем обратное распространение, но и почти полностью смягчают потерю пластичности в Online Permuted MNIST. Однако Shrink и Perturb были чувствительны к стандартному отклонению шума. Если шум был слишком высоким, потеря пластичности была намного сильнее, а если он был слишком низким, то не оказывала никакого эффекта. Важная техника в современном глубоком обучении называется Dropout 74 . Dropout случайным образом устанавливает каждую скрытую единицу в ноль с малой вероятностью, что является гиперпараметром алгоритма. Производительность Dropout показана розовым цветом на Extended Data Fig. 4 . Dropout показал схожие показатели процента мертвых единиц, величины веса и эффективного ранга, как и обратное распространение, но, что удивительно, показал более высокую потерю пластичности. Низкая производительность Dropout не объясняется нашими тремя коррелятами потери пластичности, что означает, что есть другие возможные причины потери пластичности. Тщательное исследование Dropout выходит за рамки этой статьи, хотя это было бы интересным направлением для будущей работы. Мы обнаружили, что более высокая вероятность Dropout соответствовала более быстрому и резкому падению производительности. Dropout с вероятностью 0,03 показал наилучшие результаты, и его производительность была почти идентична производительности обратного распространения. Однако расширенные данные на рис. 4a показывают производительность для вероятности Dropout 0,1, поскольку она более репрезентативна для значений, используемых на практике. Другой часто используемый метод в глубоком обучении — пакетная нормализация 76 . При пакетной нормализации выход каждого скрытого слоя нормализуется и масштабируется с использованием статистики, вычисленной из каждой мини-партии данных. Мы решили включить пакетную нормализацию в это исследование, поскольку это популярный метод, часто используемый на практике. Поскольку пакетная нормализация не поддается онлайн-настройке, используемой в задаче Online Permuted MNIST, мы вместо этого использовали онлайн-нормализацию 77 , онлайн-вариант пакетной нормализации. Онлайн-нормализация вводит два гиперпараметра, используемых для инкрементальной оценки статистики на этапах нормализации. Производительность онлайн-нормализации показана зеленым цветом на рис. 4 расширенных данных . Онлайн-нормализация имела меньше мертвых единиц и более высокий эффективный ранг, чем обратное распространение в более ранних задачах, но обе меры ухудшились с течением времени. В более поздних задачах сеть, обученная с использованием онлайн-нормализации, имела более высокий процент мертвых единиц и более низкий эффективный ранг, чем сеть, обученная с использованием обратного распространения. Точность онлайн-классификации согласуется с этими результатами. Первоначально она имела лучшую точность классификации, но позже ее точность классификации стала ниже, чем у обратного распространения. Для онлайн-нормализации гиперпараметры изменились, когда производительность метода достигла пика, и она также немного изменила то, как быстро она достигла своей пиковой производительности. Ни одна оценка альтернативных методов не может быть полной без Adam 43 , поскольку он считается одним из самых полезных инструментов в современном глубоком обучении. Оптимизатор Adam — это вариант SGD, который использует оценку первого момента градиента, масштабированную обратно пропорционально оценке второго момента градиента, для обновления весов вместо прямого использования градиента. Из-за его широкого использования и успеха как в контролируемом, так и в подкрепленном обучении мы решили включить Adam в это исследование, чтобы посмотреть, как он повлияет на пластичность глубоких нейронных сетей. Adam имеет два гиперпараметра, которые используются для вычисления скользящих средних первого и второго моментов градиента. Мы использовали значения этих гиперпараметров по умолчанию, предложенные в оригинальной статье, и настроили параметр размера шага. Производительность Адама показана голубым цветом на рис. 4 расширенных данных . Потерю пластичности Адама можно классифицировать как катастрофическую, поскольку она существенно снижается. В соответствии с нашими предыдущими результатами, Адам плохо оценивается по трем показателям, соответствующим коррелятам потери пластичности. У Адама было раннее увеличение процента мертвых единиц, которое достигало плато около 60%, аналогичное значению веса, как и при обратном распространении, и большое падение эффективного ранга на ранней стадии обучения. Мы также протестировали Адама с различными функциями активации на медленно меняющейся регрессии и обнаружили, что потеря пластичности с Адамом обычно хуже, чем с SGD. Многие из стандартных методов существенно ухудшили потерю пластичности. Особенно заметным было влияние Адама на пластичность сетей. Сети, обученные с Адамом, быстро потеряли почти все свое разнообразие, измеряемое эффективным рангом, и приобрели большой процент мертвых единиц. Эта заметная потеря пластичности Адама является важным результатом для глубокого обучения с подкреплением, для которого Адам является оптимизатором по умолчанию 78 , а обучение с подкреплением по своей сути непрерывно из-за постоянно меняющейся политики. Подобно Адаму, другие широко используемые методы, такие как выпадение и нормализация, ухудшили потерю пластичности. Нормализация имела лучшую производительность в начале, но позже она имела более резкое падение производительности, чем обратное распространение. В эксперименте выпадение просто ухудшило производительность. Мы увидели, что чем выше вероятность выпадения, тем больше потеря пластичности. Эти результаты означают, что некоторые из самых успешных инструментов в глубоком обучении не работают хорошо в непрерывном обучении, и нам нужно сосредоточиться на непосредственной разработке инструментов для непрерывного обучения. Мы обнаружили некоторый успех в поддержании пластичности в глубоких нейронных сетях. Регуляризация L2 и Shrink and Perturb уменьшают потерю пластичности. Shrink and Perturb особенно эффективен, так как он почти полностью смягчает потерю пластичности. Однако и Shrink and Perturb, и регуляризация L2 немного чувствительны к значениям гиперпараметров. Оба метода уменьшают потерю пластичности только для небольшого диапазона гиперпараметров, тогда как для других значений гиперпараметров они ухудшают потерю пластичности. Эта чувствительность к гиперпараметрам может ограничить применение этих методов для непрерывного обучения. Кроме того, Shrink and Perturb не полностью разрешает три коррелята потери пластичности, он имеет более низкий эффективный ранг, чем обратное распространение, и у него по-прежнему высокая доля мертвых единиц. Мы также применили непрерывное обратное распространение в Online Permuted MNIST. Скорость замены является основным гиперпараметром в непрерывном обратном распространении, поскольку она контролирует, насколько быстро блоки повторно инициализируются в сети. Например, скорость замены 10-6 для нашей сети с 2000 скрытыми блоками в каждом слое будет означать замену одного блока в каждом слое после каждых 500 примеров. Синие линии на рис. 4 расширенных данных показывают производительность непрерывного обратного распространения. Она не ухудшает производительность и стабильна для широкого диапазона скоростей замены. Непрерывное обратное распространение также смягчает все три коррелята потери пластичности. Оно почти не имеет мертвых единиц, останавливает рост весов сети и поддерживает высокий эффективный ранг по задачам. Все алгоритмы, которые поддерживают низкую величину веса, также снижают потерю пластичности. Это подтверждает наше утверждение о том, что низкие величины веса важны для поддержания пластичности. Алгоритмы, которые поддерживают низкие величины веса, — это непрерывное обратное распространение, регуляризация L2 и Shrink and Perturb. Shrink and Perturb и непрерывное обратное распространение имеют дополнительное преимущество перед регуляризацией L2: они вводят случайность в сеть. Эта инъекция случайности приводит к более высокому эффективному рангу и меньшему количеству мертвых единиц, что приводит к тому, что оба этих алгоритма работают лучше, чем регуляризация L2. Однако непрерывное обратное распространение вводит случайность выборочно, эффективно удаляя все мертвые единицы из сети и приводя к более высокому эффективному рангу. Это меньшее количество мертвых единиц и более высокий эффективный ранг объясняют лучшую производительность непрерывного обратного распространения. Детали и дальнейший анализ в обучении с подкреплением Эксперименты, представленные в основном тексте, проводились с использованием среды Ant-v3 из OpenAI Gym 79 . Мы изменили коэффициент трения, выбрав его логарифмически равномерно из диапазона [0,02, 2,00], используя логарифм с основанием 10. Коэффициент трения изменился на первой границе эпизода после того, как прошло 2 миллиона временных шагов с момента последнего изменения. Мы также протестировали Shrink и Perturb на этой задаче и обнаружили, что это не обеспечивает заметного улучшения производительности по сравнению с регуляризацией L2. Две отдельные сети использовались для политики и функции значения, и обе имели два скрытых слоя с 256 единицами. Эти сети обучались с использованием Adam наряду с PPO для обновления весов в сети. См. расширенную таблицу данных 5 для значений других гиперпараметров. На всех графиках, показывающих результаты экспериментов с подкреплением-обучением, заштрихованная область представляет собой 95%-ную бутстрепированную уверенность 80 . Сигнал вознаграждения в задаче о муравье состоит из четырех компонентов. Главный компонент вознаграждает агента за движение вперед. Он пропорционален расстоянию, пройденному муравьем в положительном направлении x с момента последнего временного шага. Второй компонент имеет значение 1 на каждом временном шаге. Третий компонент штрафует муравья за выполнение больших действий. Этот компонент пропорционален квадрату величины действия. Наконец, последний компонент штрафует агента за большие внешние контактные силы. Он пропорционален сумме внешних сил (обрезанных в диапазоне). Сигнал вознаграждения на каждом временном шаге является суммой этих четырех компонентов. Мы также оценили PPO и его варианты еще в двух средах: Hopper-v3 и Walker-v3. Результаты этих экспериментов представлены на рис. 5a с расширенными данными . Результаты были зеркальными для Ant-v3; стандартный PPO страдал от заметного ухудшения производительности, при котором его производительность существенно снизилась. Однако на этот раз регуляризация L2 не исправила проблему во всех случаях; наблюдалось некоторое ухудшение производительности с L2 в Walker-v3. PPO с постоянным обратным распространением и регуляризацией L2 полностью исправил проблему во всех средах. Обратите внимание, что единственное отличие наших экспериментов от того, что обычно делается в литературе, заключается в том, что мы проводим эксперименты дольше. Обычно эти эксперименты проводятся только для 3 миллионов шагов, но мы проводили эти эксперименты до 100 миллионов шагов. PPO с регуляризацией L2 избежал деградации только для относительно большого значения убывания веса, 10-3 . Эта экстремальная регуляризация не позволяет агенту находить лучшие политики и застревает на неоптимальной политике. Наблюдалось большое ухудшение производительности для меньших значений убывания веса, а для больших значений производительность всегда была низкой. Когда мы использовали непрерывное обратное распространение и регуляризацию L2 вместе, мы могли использовать меньшие значения убывания веса. Все результаты для PPO с непрерывным обратным распространением и регуляризацией L2 имеют убывание веса 10-4 , скорость замены 10-4 и порог зрелости 104. Мы обнаружили, что производительность PPO с непрерывным обратным распространением и регуляризацией L2 была чувствительна к скорости замены, но не к порогу зрелости и убывания веса. PPO использует оптимизатор Adam, который продолжает выполнять оценки градиента и квадрата градиента. Эти оценки требуют двух дополнительных параметров, называемых ? 1 и ? 2 . Стандартные значения ? 1 и ? 2 составляют 0,9 и 0,999 соответственно, которые мы называем стандартным Adam. Лайл и др. 24 показали, что стандартные значения ? 1 и ? 2 вызывают большую потерю пластичности. Это происходит из-за несоответствия ? 1 и ? 2 . Внезапный большой градиент может вызвать очень большое обновление, так как большое значение ? 2 означает, что текущая оценка для квадрата градиента, которая используется в знаменателе, обновляется гораздо медленнее, чем текущая оценка для градиента, который является числителем. Эту потерю пластичности в Adam можно уменьшить, установив ? 1 равным ? 2 . В наших экспериментах мы устанавливаем ? 1 и ? 2 на 0,99 и называем это настроенным Adam/PPO. На рис. 5c расширенных данных мы измеряем наибольшее общее изменение веса в сети за один цикл обновления для ячеек в 1 миллион шагов. Первая точка на графиках показывает наибольшее изменение веса за первый 1 миллион шагов. Вторая точка показывает наибольшее изменение веса за второй 1-секундный шаг и так далее. Рисунок показывает, что стандартный Adam последовательно вызывает очень большие обновления весов, что может дестабилизировать обучение, тогда как настроенный Adam с ? 1 = ? 2 = 0,99 имеет существенно меньшие обновления, что приводит к более стабильному обучению. Во всех наших экспериментах все алгоритмы, кроме стандартного PPO, использовали настроенные параметры для Adam ( ? 1 = ? 2 = 0,99). Неудача стандартного Adam с PPO аналогична неудаче стандартного Adam в переставленном MNIST. В нашем следующем эксперименте мы проведем предварительное сравнение с ReDo 25. ReDo — это еще один метод селективной повторной инициализации, который основан на непрерывном обратном распространении, но использует другую меру полезности и стратегию для повторной инициализации. Мы протестировали ReDo на Ant-v3, самой сложной из трех сред. Для ReDo требуются два параметра: порог и период повторной инициализации. Мы протестировали ReDo для всех комбинаций порогов в {0,01, 0,03, 0,1} и периодов повторной инициализации в {10, 10 2 , 10 3 , 10 4 , 10 5 }; порог 0,1 с периодом повторной инициализации 10 2 показал наилучшие результаты. Производительность PPO с ReDo представлена на расширенном рис. 5b . ReDo и непрерывное обратное распространение использовались с ослаблением веса 10-4 и ?1 и ?2 0,99 . Рисунок показывает , что PPO с ReDo и регуляризацией L2 работает намного лучше, чем стандартный PPO. Однако он все еще страдает от ухудшения производительности, и его производительность хуже, чем PPO с регуляризацией L2. Обратите внимание, что это только предварительное сравнение; мы оставляем полное сравнение и анализ обоих методов для будущей работы. Падение производительности PPO в стационарных средах — это нюансное явление. Потеря пластичности и забывание ответственны за наблюдаемое ухудшение производительности. Ухудшение производительности подразумевает, что агент забыл хорошую политику, которую он когда-то выучил, тогда как неспособность агента заново выучить хорошую политику означает, что он потерял пластичность. Потеря пластичности выражается в различных формах в глубоком обучении с подкреплением. Некоторые работы показали, что системы глубокого обучения с подкреплением могут терять свои способности к обобщению при наличии нестационарностей 81 . Снижение эффективного ранга, аналогичное снижению ранга в CIFAR-100, наблюдалось в некоторых алгоритмах глубокого обучения с подкреплением 82 . Никишин и др. 18 показали, что многие системы обучения с подкреплением работают лучше, если их сеть время от времени сбрасывается в исходное состояние, сохраняя только буфер воспроизведения. Это происходит потому, что обучающиеся сети стали хуже, чем повторно инициализированная сеть при обучении на новых данных. Недавние работы улучшили производительность во многих задачах обучения с подкреплением за счет применения методов сохранения пластичности 25 , 83 , 84 , 85 , 86 , 87 . Эти работы были сосредоточены на системах глубокого обучения с подкреплением, которые используют большие буферы воспроизведения. Наша работа дополняет эту линию исследований, поскольку мы изучали системы на основе PPO, которые имеют гораздо меньшие буферы воспроизведения. Потеря пластичности наиболее актуальна для систем, которые используют небольшие или не используют буферы воспроизведения, поскольку большие буферы могут скрывать эффект новых данных. Преодоление потери пластичности является важным шагом на пути к системам глубокого обучения с подкреплением, которые могут обучаться на основе онлайн-потока данных. Расширенное обсуждение В непрерывном обучении есть две основные цели: поддержание стабильности и поддержание пластичности 88 , 89 , 90 , 91 . Поддержание стабильности связано с запоминанием полезной информации, а поддержание пластичности — с поиском новой полезной информации при изменении распределения данных. Современные методы глубокого обучения с трудом поддерживают стабильность, поскольку склонны забывать ранее изученную информацию 28 , 29 . Многие работы посвящены поддержанию стабильности в глубоком непрерывном обучении 30 , 92 , 93 , 94 , 95 , 96 , 97 . Мы сосредоточились на постоянном поиске полезной информации, а не на запоминании полезной информации. Наша работа по потере пластичности отличается, но дополняет работу по поддержанию стабильности. Непрерывное обратное распространение в его нынешней форме не решает проблему забывания. Его текущая мера полезности учитывает только важность единиц для текущих данных. Одна из идей по борьбе с забыванием — использовать долгосрочную меру полезности, которая помнит, какие единицы были полезны в прошлом. Разработка методов, сохраняющих как стабильность, так и пластичность, является важным направлением будущей работы. Существует много желательных свойств для эффективной системы непрерывного обучения 98 , 99 . Она должна быть способна продолжать изучать новые вещи, контролировать то, что она помнит и забывает, иметь хорошую вычислительную и памятью эффективность и использовать предыдущие знания для ускорения обучения на новых данных. Выбор эталона влияет на то, на каком свойстве фокусируется внимание. Большинство эталонов и оценок в нашей статье сосредоточены только на пластичности, но не на других аспектах, таких как забывание и скорость обучения. Например, в Continual ImageNet предыдущие задачи редко повторяются, что делает ее эффективной для изучения пластичности, но не забывания. В permuted MNIST последовательные задачи в значительной степени независимы, что делает ее пригодной для изучения пластичности в изоляции. Однако эта независимость означает, что предыдущие знания не могут существенно ускорить обучение новым задачам. С другой стороны, в CIFAR-100 с приращением классов предыдущие знания могут существенно ускорить изучение новых классов. Преодоление потери пластичности является важным, но все же первым шагом на пути к цели быстрого обучения на будущих данных 100 , 101 , 102 . Как только у нас появятся сети, сохраняющие пластичность, мы сможем разработать методы, которые используют предыдущие знания для ускорения обучения на будущих данных. Потеря пластичности является критическим фактором, когда обучение продолжается для многих задач, но она может быть менее важной, если обучение происходит для небольшого числа задач. Обычно обучающаяся система может использовать преимущества предыдущего обучения в первых нескольких задачах. Например, в CIFAR-100 с приращением классов (рис. 2 ) базовые системы глубокого обучения работали лучше, чем сеть, обученная с нуля, для до 40 классов. Этот результат согласуется с приложениями глубокого обучения, в которых обучающая система сначала обучается на большом наборе данных, а затем настраивается на меньшем, более релевантном наборе данных. Методы сохранения пластичности, такие как непрерывное обратное распространение, все еще могут улучшить производительность в таких приложениях на основе точной обработки, но мы не ожидаем, что это улучшение будет большим, поскольку обучение происходит только для небольшого числа задач. Мы наблюдали, что системы глубокого обучения постепенно теряют пластичность, и этот эффект накапливается по мере выполнения задач. Потеря пластичности становится важным фактором, когда обучение продолжается для большого числа задач; в классе-инкрементном CIFAR-100 производительность базовой системы глубокого обучения была намного хуже после 100 классов. Мы достигли заметного прогресса в понимании потери пластичности. Однако остается неясным, какие именно свойства инициализации с малыми случайными числами важны для поддержания пластичности. Недавняя работа 103 , 104 достигла захватывающего прогресса в этом направлении, и она остается важным направлением для будущей работы. Тип потери пластичности, изучаемый в этой статье, в значительной степени обусловлен потерей способности оптимизировать новые цели. Это отличается от типа потери пластичности, при котором система может продолжать оптимизировать новые цели, но терять способность к обобщению 11 , 12 . Однако неясно, являются ли два типа потери пластичности принципиально разными или один и тот же механизм может объяснить оба явления. Будущая работа, которая улучшит наше понимание пластичности и найдет основные причины обоих типов потери пластичности, будет ценна для сообщества. Непрерывное обратное распространение использует меру полезности для поиска и замены малополезных единиц. Одним из ограничений непрерывного обратного распространения является то, что мера полезности основана на эвристике. Хотя она хорошо работает, будущая работа над более принципиальными мерами полезности улучшит основы непрерывного обратного распространения. Наша текущая мера полезности не является глобальной мерой полезности, поскольку она не учитывает, как данная единица влияет на общую представленную функцию. Одна из возможностей заключается в разработке мер полезности, в которых полезность распространяется обратно от функции потерь. Идея полезности в непрерывном обратном распространении тесно связана с полезностью соединения в литературе по обрезке нейронных сетей. Различные статьи 105 , 106 , 107 , 108 предложили различные меры полезности соединения для проблемы обрезки сети. Адаптация этих мер полезности для смягчения потери пластичности является многообещающим направлением для новых алгоритмов, и некоторые недавние работы уже делают успехи в этом направлении 109 . Идея выборочной повторной инициализации похожа на появляющуюся идею динамического разреженного обучения 110 , 111 , 112 . При динамическом разреженном обучении разреженная сеть обучается с нуля, а связи между различными блоками генерируются и удаляются во время обучения. Удаление связей требует меры полезности, а инициализация новых связей требует генератора, аналогичного выборочной повторной инициализации. Основное различие между динамическим разреженным обучением и непрерывным обратным распространением заключается в том, что динамическое разреженное обучение работает на связях между блоками, тогда как непрерывное обратное распространение работает на блоках. Следовательно, генератор при динамическом разреженном обучении также должен решать, какие новые связи выращивать. Динамическое разреженное обучение достигло многообещающих результатов в задачах контролируемого и подкрепляющего обучения 113 , 114 , 115 , в которых динамические разреженные сети достигают производительности, близкой к плотным сетям, даже при высоких уровнях разреженности. Динамическое разреженное обучение — многообещающая идея, которая может быть полезна для поддержания пластичности. Идея добавления новых единиц в нейронные сети присутствует в литературе по непрерывному обучению 92 , 116 , 117 . Эта идея обычно проявляется в алгоритмах, которые динамически увеличивают размер сети. Например, один метод 117 расширяет сеть, выделяя новую подсеть всякий раз, когда появляется новая задача. Эти методы не имеют верхнего предела требований к памяти. Хотя эти методы связаны с идеями непрерывного обратного распространения, ни один из них не подходит для сравнения, поскольку непрерывное обратное распространение разработано для обучающихся систем с конечной памятью, которые хорошо подходят для обучения на протяжении всей жизни. И эти методы, следовательно, потребуют нетривиальной модификации для применения к нашей настройке конечной памяти. Предыдущие работы о важности инициализации были сосредоточены на поиске правильной величины веса для инициализации весов. Было показано, что важно инициализировать веса так, чтобы градиенты не становились экспоненциально малыми в начальных слоях сети, и градиент сохранялся на всех слоях 54 , 66 . Кроме того, инициализация с малыми весами имеет решающее значение для сигмоидных активаций, поскольку они могут насыщаться, если веса слишком велики 118 . Несмотря на всю эту работу о важности инициализации, тот факт, что ее преимущества присутствуют только изначально, а не постоянно, был упущен из виду, поскольку эти статьи были сосредоточены на случаях, в которых обучение должно быть выполнено только один раз, а не постоянно. Непрерывное обратное распространение выборочно повторно инициализирует малополезные блоки. Одной из распространенных стратегий для работы с нестационарными потоками данных является полная повторная инициализация сети. В эксперименте Online Permuted MNIST полная повторная инициализация соответствует производительности, которая остается на уровне первой точки (Расширенные данные, рис. 4a ). В этом случае непрерывное обратное распространение превосходит полную повторную инициализацию, поскольку использует то, чему он научился ранее, для ускорения обучения на новых данных. В экспериментах ImageNet окончательная производительность непрерывного обратного распространения лишь немного лучше, чем полностью повторно инициализированной сети (первая точка для обратного распространения на левой панели рис. 1b ). Однако рис. 1 не показывает, как быстро алгоритм достигает окончательной производительности в каждой задаче. Мы заметили, что непрерывное обратное распространение достигает лучшей точности в десять раз быстрее, чем полностью переинициализированная сеть на 5000-й задаче Continual ImageNet, десять эпох против примерно 125 эпох. Более того, непрерывное обратное распространение можно объединить с другими методами, которые смягчают забывание, что может еще больше ускорить обучение на новых данных. В обучении с подкреплением полная переинициализация практична только для систем с большим буфером. Для систем, которые сохраняют небольшой буфер или не сохраняют его вообще, таких как те, которые мы изучали, полная переинициализация приведет к тому, что агент забудет все, чему он научился, и его производительность снизится до начальной точки. Потеря пластичности также может быть связана с гипотезой лотерейного билета 119. Гипотеза утверждает, что случайно инициализированные сети содержат подсети, которые могут достигать производительности, близкой к производительности исходной сети с аналогичным количеством обновлений. Эти подсети называются выигрышными билетами. Мы обнаружили, что в задачах непрерывного обучения эффективный ранг представления в начале задач со временем уменьшается. В некотором смысле сеть, полученная после обучения на нескольких задачах, имеет меньше случайности и разнообразия, чем исходная случайная сеть. Уменьшенная случайность может означать, что у сети меньше выигрышных билетов. И это уменьшенное количество выигрышных билетов может объяснить потерю пластичности. Наше понимание потери пластичности может быть углублено путем полного изучения ее связи с гипотезой лотерейного билета. Некоторые недавние работы были сосредоточены на быстрой адаптации к изменениям в потоке данных 120 , 121 , 122 . Однако настройки проблем в этих работах были офлайн, поскольку имели две отдельные фазы, одну для обучения и другую для оценки. Чтобы использовать эти методы онлайн, они должны быть предварительно обучены на задачах, которые представляют задачи, с которыми учащийся столкнется на этапе онлайн-оценки. Это требование иметь доступ к репрезентативным задачам на этапе предварительной подготовки нереалистично для систем непрерывного обучения, поскольку реальный мир нестационарен, и даже распределение задач может меняться со временем. Эти методы несопоставимы с теми, которые мы изучали в нашей работе, поскольку мы изучали полностью онлайн-методы, не требующие предварительной подготовки. В этой работе мы обнаружили, что методы, которые постоянно вводят случайность, сохраняя при этом малые величины веса, значительно снижают потерю пластичности. Во многих работах обнаружено, что добавление шума во время обучения нейронных сетей может улучшить производительность обучения и тестирования. Сообщается, что основными преимуществами добавления шума являются предотвращение переобучения и улучшение производительности обучения 123 , 124 , 125 . Однако в некоторых случаях может быть сложно вводить шум без ухудшения производительности 126 . В нашем случае, когда распределение данных нестационарно, мы обнаружили, что постоянное введение шума вместе с регуляризацией L2 помогает поддерживать пластичность нейронных сетей. Наличие данных Все наборы данных и среды моделирования, использованные в этой работе, находятся в открытом доступе. Другие данные, необходимые для оценки выводов в статье, присутствуют в статье или расширенных данных. Наличие кода Код доступен по адресу https://github.com/shibhansh/loss-of-plasticity . Источник: www.nature.com Комментарии: |
|