Написано Лукасом Соузой, сотрудником Numenta Research

На прошлой неделе в Numenta мы провели нашу ежемесячную встречу Brains@Bay, собирая ученых и исследователей данных в районе залива, чтобы поговорить о разреженности в мозге и нейронных сетях (записи доступны здесь). Разреженность — это тема, которую мы также широко обсуждали на наших исследовательских встречах и в журналистских клубах в последние недели.

Разреженность долгое время была основополагающим принципом наших нейробиологических исследований, поскольку это одно из ключевых наблюдений за неокортексом: куда бы вы ни посмотрели в мозгу, активность нейронов всегда разрежена. Сейчас, когда мы работаем над применением наших теорий нейронауки к системам машинного обучения, разреженность остается ключевым направлением. В нем так много разных аспектов, поэтому давайте начнем с самого начала. В этом сообщении в блоге я поделюсь своим кратким обзором литературы по теме обрезки.

Рассвет обрезки

История разреженности в нейронных сетях начинается с обрезки — способа уменьшить размер нейронной сети за счет сжатия. Первая крупная статья, пропагандирующая разреженность нейронных сетей, датируется 1990 годом и была написана ЛеКуном и его коллегами во время работы в AT&T Bell Laboratories. В то время постобрезка нейронных сетей для сжатия обученных моделей уже была популярным подходом. Сокращение в основном выполнялось с использованием величины в качестве приближения значимости для определения менее полезных связей - интуиция заключалась в том, что меньшие веса величины имеют меньший эффект на выходе и, следовательно, с меньшей вероятностью повлияют на результат модели при сокращении. В Оптимальном повреждении мозга ЛеКун предположил, что другие метрики могут быть лучшим приближением к значимости, и предложил использовать вторую производную целевой функции по параметрам в качестве метрики обрезки.

Эта статья положила начало области обрезки нейронных сетей, и в последующие годы были сделаны важные разработки. Сжатые модели стали еще более важными с появлением Интернета вещей. По мере того, как модели машинного обучения внедрялись во встроенные устройства, такие как интеллектуальные камеры, способные распознавать посетителей у входной двери, и устройства для орошения, которые могут автоматически регулировать поток воды и поддерживать оптимальные условия для сельскохозяйственных культур, важность сжатия нейронных сетей росла.

В 2015 году Хан и соавт. опубликовал теперь часто цитируемую статью, в которой предлагается трехэтапный метод обрезки нейронных сетей: 1) обучение плотной сети; 2) обрезать менее важные связи, используя величину в качестве показателя значимости; 3) переобучить сеть для точной настройки весов оставшихся соединений. Удивительно, но они показали, что этот метод не только сравним с обычными моделями глубокого обучения, но и может обеспечить еще более высокую точность.

Как найти лотерейный билет

Эта техника пост-обрезки широко использовалась и совершенствовалась, и до недавнего времени считалась самой современной. Но возник вопрос, почему это работает так хорошо?

Некоторые исследователи решили исследовать проблему и ответить на вопрос. В частности, Франкл и Карбин (2019) обнаружили, что для этих новых обрезанных сетей не требуется точная настройка весов после обучения. На самом деле, они показали, что лучший подход состоял в том, чтобы сбросить веса до их исходного значения, а затем переобучить всю сеть — это привело бы к моделям с еще более высокой точностью по сравнению как с исходной плотной моделью, так и с пост-обрезкой плюс точная. подход к настройке, предложенный Ханом и его коллегами.

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

Разные точки зрения

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

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

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

Однако история становится еще интереснее. Исследование, опубликованное на семинаре ICML вскоре после этого, Zhou et al. из Uber AI, проводит несколько экспериментов с алгоритмом лотерейного билета (LT) и обнаруживает нечто еще более замечательное. Во-первых, они разбивают значение веса на две составляющие: его знак (+ или -) и величину. Затем они повторно инициализируют усеченные веса сети с тем же знаком, что и их исходные веса, но с их величиной, установленной на фиксированную константу (все веса устанавливаются на одну и ту же величину). Удивительно, но этот метод позволяет сокращенным моделям превзойти их плотные аналоги, с результатами, сравнимыми с алгоритмом LT. Второй эксперимент в той же статье показывает нечто еще более замечательное: без какого-либо повторного обучения эта повторно инициализированная сокращенная модель может достигать точности до 84% в MNIST!

Насколько релевантны выученные веса?

Прежде чем мы закончим, давайте посмотрим на дополнительные доказательства. Гайер и Ха из Google Brain задумали интересный эксперимент. Используя эволюционные алгоритмы, аналогичные тем, которые используются в традиционном поиске нейронной архитектуры, они разработали архитектуры с нуля, чтобы оптимизировать как количество параметров, так и производительность задачи. Их цель состояла в том, чтобы создать самую маленькую сеть, способную решить проблему, а также обычные современные сети. Но, что интересно, они разделили проблемы изучения архитектуры и изучения весов, используя один предопределенный вес в качестве единого параметра, общего для всех соединений. С помощью этого трюка исследователи смогли оценить архитектуру независимо от веса. Сети, выращенные с помощью этой модели, не достигли современных результатов, однако они работали примерно в 10 раз лучше, чем случайно инициализированные сети в задачах RL, и в 15 раз лучше, если также был оптимизирован один общий вес (для сравнения, полностью плотные сети работают в 20 раз лучше, чем случайное в той же задаче).

Также в Google Zhang et al. (2019) проанализировали несколько обученных сверточных нейронных сетей, чтобы понять, оказывает ли каждый слой одинаковое влияние на выходные данные сети. Для каждого слоя, по одному, они повторно инициализировали все веса либо до их начального значения (до обучения), либо до случайного значения, и оценивали, насколько это изменение повлияло на результат. Эксперименты показали, что для глубоких сетей повторная инициализация весов скрытых слоев в середине сети вообще не повлияет на результаты — действительно важны только веса в начальном или конечном слоях сети. Чтобы объяснить это явление, Zhang et al. выдвинуть гипотезу о том, что гиперпараметризированные глубокие сети автоматически корректируют свою де-факто пропускную способность, полагаясь на одни соединения (или, в данном случае, на некоторые слои) больше, чем на другие.

Есть ли другие преимущества разреженности?

Да! Вдохновение для разреженных сетей в машинном обучении исходит от мозга, и несколько других свойств, связанных с тем, как люди учатся, могут быть связаны с разреженностью. Один из них — прочность. Как мы показали в 2016 году (Ahmad & Hawkins, 2016), разреженные представления естественным образом более устойчивы к шуму. Эти результаты легко распространить на архитектуры глубокого обучения, как описано в нашей последней работе. Разреженный набор соединений в сочетании с разреженной функцией активации, такой как победитель получает все, приводит к очень разреженным нейронным сетям, которые превосходят плотные сети в тестовых наборах, модифицированных путем добавления белого шума.

Разреженные модели также могут лучше подходить для непрерывного обучения или обучения на протяжении всей жизни, т. е. непрерывного обучения с использованием одной и той же сети, даже когда задачи и базовая статистика меняются (см. Cui et al., 2016). Выше мы обсуждали гипотезу о плотной сети, состоящей из нескольких разреженных подсетей. Каждая из этих разреженных подсетей может быть обучена изучению конкретной задачи, как недавно было предложено в статье Golkar et al. (2019).

Направления исследований

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

Что, если мы сможем найти выигрышный билет без обучения плотной модели? Есть ли способ обучения разреженной сети для изучения оптимального набора соединений во время обычного тренировочного прохода, чтобы мы могли иметь разреженные модели и во время обучения? Мы оставляем это для следующего поста.

Если вам понравилась эта статья, нажмите на значок Аплодисменты ниже, чтобы порекомендовать ее своим подписчикам. Чтобы узнать больше о том, как наша работа помогает развивать теорию мозга и машинный интеллект, посетите наш веб-сайт или подпишитесь на нас в Facebook и Twitter.

Первоначально опубликовано на numenta.com 30 августа 2019 г.