Резюме статьи: «Глубокое обучение в нейронных сетях с пиками»

Авторы доклада: Амирхосейн Таванаи, Масуд Годрати, Саид Реза Херадпишех, Тимоти Маскелье, Энтони Майда

Абстрактный:

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

Введите: всплеск нейронных сетей

ИНС имеют непрерывную активацию, но биологические нейроны имеют дискретные значения (пики). Так почему бы не попробовать адаптировать характеристику всплеска к нейронным сетям? В этом суть Spiking Neural Networks (SNN).

Они более биологически реалистичны (таким образом, могут помочь нам лучше понять работу мозга), они более дружелюбны к оборудованию и энергоэффективны, чем ИНС (таким образом, подходит для портативных устройств).

Но у нас есть проблема → SNN недифференцируемы, поэтому мы не можем выполнять обратное распространение. Эта статья посвящена методам обучения SNN. SNN отстают от ANN → но разрыв сокращается. И, возможно, однажды SNN превзойдут своих искусственных родственников.

Вступление:

Базовая единица ИНС - нейрон (без всплесков). Нейроны непрерывны, имеют веса, имеют нелинейную активацию (отсюда и сила наращивания ИНС) и дифференцируемые → это означает, что с большим количеством данных и вычислительной мощностью они могут совершать великие подвиги.

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

Поскольку SNN немногочисленны, они могут обеспечить сверхвысокую энергоэффективность. Они также внутренне настроены на временные характеристики, так как время спайков очень важно для мозга. Кроме того, они могут имитировать способность мозга выполнять локальное обучение.

Из научных соображений мы знаем, что мозг очень хорош благодаря сетям Deep Spiking. Но мы также можем использовать SNN, чтобы исследовать, как мозг обучается, проверяя общие гипотезы и открывая новые!

С инженерной точки зрения SNN превосходит ANN с точки зрения энергоэффективности. Так как SNN выводит скудный объем информации, он не потребляет столько энергии (по сравнению с высокопроизводительными видеокартами).

Что касается репрезентативности: SNN, в принципе, имеют более высокую репрезентативную способность, чем ИНС. SNN основаны на мозге, поэтому мы можем создавать представления, подобные мозгу.

Коммуникационная стратегия, спайк-тренинг, не дифференцируема. Итак, как мы собираемся использовать оптимизацию на основе производных для обучения SNN? Это основная проблема, с которой сталкиваются SNN, особенно многоуровневые. В этой статье описываются методы обучения SNN.

Пиковая нейронная сеть: биологически вдохновленный подход к обработке информации

Архитектура SNN:

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

Хорошо, давайте построим SNN! Во-первых, у нас есть входные данные → Но как мы собираемся ввести их в нашу модель? Существует множество различных способов кодирования входных данных (методы на основе скорости, временное кодирование или кодирование совокупности).

Биологические нейроны все еще сложны. У них есть особая динамика генерации потенциала действия, динамика сетей. Но для SNN мы упрощаем динамику сети. В SNN все нейроны имеют чистую пороговую динамику.

Как и в биологических нейронах, пресинаптические нейроны активируются, чтобы модулировать мембранный потенциал постсинаптического нейрона. Когда мембранный потенциал пересекает определенный порог, возникает всплеск!

Первые модели, имитирующие это, были созданы Ходжкином и Хаксли, но в них было много биологических деталей, а это означало, что они имели очень высокую стоимость конкуренции. Но были предложены и другие модели, такие как модель спайкового ответа (SRM), модель нейрона Ижикевича и нейрон с утечкой интегрированного и зажигательного (LIF , очень популярная модель).

В ИНС синапсы имеют веса, которые умножаются на выходы предыдущих нейронов. В SNN есть то же самое! Синопсис адаптера (веса) может быть возбуждающим, что означает, что они усиливают сигнал, или он может быть тормозным, то есть гасить сигнал. Эти веса можно узнать во время тренировок. Но именно эти алгоритмы обучения являются самой сложной частью разработки глубоких сетей SNN.

Правила обучения в SNN:

Как для нейронных сетей без пиков, так и для нейронных сетей, обучение всегда осуществляется путем корректировки весов нейронов. Но пикинг позволяет получить конкретное биовозможное обучение, которое нельзя использовать в нейронных сетях без пиков. Это называется пластичность, зависящая от времени (STDP).

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

Неконтролируемое обучение через STDP:

Обучение без учителя с помощью STDP соответствует биологической версии STDP. Если пресинаптический нейрон срабатывает раньше постсинаптического нейрона, то связь между ними усиливается. Но если пресинаптический нейрон срабатывает после постсинаптического нейрона, то связь ослабевает. Усиление = долгосрочное потенцирование (ДП). Ослабление = длительная депрессия (LTD).

Это показано в уравнении ниже:

  • t_pre и t_post = время срабатывания шипов
  • A и B - скалярные скорости обучения
  • τ - постоянная времени для временного окна обучения.

Другими словами, верхняя часть усиливается, а нижняя ослабевает. Когда он будет усилен, скорость обучения будет положительной - следовательно, ∆w будет отрицательным. Когда он ослаблен, скорость обучения отрицательная, поэтому ∆w будет положительным.

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

STDP также накопил эффекты сетевого уровня. Например, определенные последовательности импульсов могут привести к тому, что нейроны будут иметь возможность ускоряться (таким образом, иметь более короткие задержки). STDP может формировать нейронную избирательность SNN - это означает, что определенные шаблоны заставляют нейроны реагировать быстрее.

Люди применили STDP к первому слою (и он до сих пор работает). STDP может решать сложные проблемы, создавая пространственно-временные шаблоны всплесков. И мы можем разрабатывать более сложные сети с выходными нейронами!

Вероятностная характеристика неконтролируемого STDP:

Есть свидетельства байесовского анализа (где мы используем предыдущие знания и вероятность новых наблюдений для получения апостериорной вероятности). Поэтому исследователи реализовали вероятностные вычисления с помощью STDP.

Одна статья сделала именно это! Они начинают с определения STDP сети следующим образом:

  • ДП возникает, когда постсинаптический нейрон срабатывает в течение мс после пресинаптического нейрона.
  • LTD возникает во всех остальных случаях.

В статье используются нейроны Пуассона + ~ стохастическая схема "победитель получает все" (WTA) для имитации алгоритма максимизации ожидания (EM). Часть ожидания E выполняется через выходной нейрон (который создает апостериорное распределение). Шаг аксимизации M - STDP. Есть много статей, которые строятся на этом и друг на друге.

Недостатком этой модели STDP является то, что веса LTP отрицательны, но мы просто добавляем постоянный параметр, чтобы сделать его положительным.

{Здесь есть масса терминов, которых я не совсем понимаю. Но суть в том, что работа над вероятностными SNN уже велась.}

Контролируемое обучение:

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

Итак, как мы собираемся использовать градиентный спуск в сетях SNN? Вместо этого давайте сначала поговорим об основной формуле обратного распространения ошибки:

  • δ = частная производная
  • g = функция активации
  • a = ввод
  • w = вес

Теперь сама сеть состоит из слоев. j = текущий слой, а k = слой рядом с ним (таким образом, выходы j являются входами для k)

  • δu _j = частная производная нашего текущего нейрона (j)
  • g ’(a ^ u _j) = вводимая информация, прокачиваемая через производную функции активации
  • Суммирующая часть = суммируем нейроны, в которые поступает сигнал j. Мы берем вес между двумя и умножаем его на частную производную этого нейрона.

Прохладный! Вот как работает backprop в ANN → Итак, давайте попробуем перенести его на SNN! В этой формуле есть 2 большие проблемы:

  • g ’() - это производная от g () по w_kj… Для SNN g () - это нейрон с импульсами → который представлен дельта-функциями Дирака → который не имеет производных
  • Проблема с транспортировкой веса. По сути, веса, которые мы использовали в прямой связи, должны использоваться снова, чтобы снова обновить градиенты.

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

Вторая проблема решена, потому что недавние исследования показали, что если вы зададите ей случайные веса обратной связи, вы все равно сможете выполнить обратное распространение.

Некоторые методы контролируемого обучения для сетей SNN:

SpikeProp - это первый SNN, в котором работает обратное распространение. Задача заключалась в классификации нелинейно разделимых временных данных. Функция стоимости = учитывала время всплеска. Ключом к успеху было то, что они использовали модель всплесков реакции. Это позволило избежать проблемы с производной, поскольку мы могли получить из нее функции с непрерывными значениями.

Но 2 ограничения в этой статье заключались в том, что каждый выходной нейрон мог выдать только 1 пик + кодирование данных, поскольку временные задержки спайков делали его долгим.

Но недавние достижения расширили SpikeProp до MultiSpikeProp. Они улучшили кодирование пиков и ошибки времени пиков, что улучшило обратное распространение пиков.

Другой тип подхода - дистанционное обучение с учителем (ReSuMe) вместе с Chronotron и нейроном ассоциации спайк-паттернов (SPAN). У них есть один нейрон с импульсами, который получает сигналы от множества пресинаптических нейронов. Нейрон с импульсами должен запустить правильную последовательность импульсов.

ReSuMe использует вариант правила Видрозв-Хоффа. Правило Видрозв-Хоффа выглядит так:

  • y ^ d = основная истина (желаемый результат)
  • y ^ o = результат (наблюдаемый результат)
  • x = пресинаптические входы

А модифицированная версия выглядит так:

  • ∆w ^ STDP и ∆w ^ aSTDP являются функциями
  • ∆w ^ STDP принимает последовательность пресинаптических спайков и желаемую последовательность спайков.
  • ∆w ^ aSTDP - последовательность пресинаптических спайков и наблюдаемая последовательность спайков.

Мы называем это дистанционным контролируемым обучением, потому что для ∆w ^ STDP отсутствует физическая связь между пресинаптическими входами и желаемыми выходами.

Существует так называемая метрика расстояния Виктора Пурпоры (VP), которая представляет минимальные затраты на преобразование одного поезда с шипами в другой. Chronotron реализовал расстояние VP, чтобы сделать его кусочно дифференцируемым, чтобы мы могли использовать для него обратное распространение.

SPAN похож на ReSuMe, но в обратном направлении - вместо того, чтобы сделать правило Уидроу-Хоффа совместимым с STDP, мы просто делаем STDP совместимым с правилом Уидроу-Хоффа. Они делают это так же, как SpikeProp, где используют цифро-аналоговое преобразование. Изменение веса выглядит так:

Все знаки ~ = аналоговые версии шипованных поездов.

Есть множество других способов сделать это. Одна статья заменила порог с жесткими шипами на функцию узких опорных ворот → привело к непрерывности, таким образом, дифференцируя. В другом документе правила обновления обратной передачи рассылались через временные местные правила STDP - результаты были сопоставимы с ИНС.

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

Глубокое обучение в социальных сетях

Давайте сделаем еще один шаг (а точнее, несколько слоев)! Укладка все большего количества слоев делает наши модели более мощными. Давайте сделаем это с SNN!

Традиционные глубокие нейронные сети (DNN) имеют много разных разновидностей: сверточные нейронные сети (CNN), сети глубокого убеждения (DBN) и рекуррентные нейронные сети. Сети (RNN). У нас также могут быть пиковые версии каждого из них!

Многочисленные недавние исследования были посвящены SNN и их вариантам из-за их потрясающей энергоэффективности → Но они еще не были такими мощными, как DNN. Это следующая задача, которую нам предстоит решить!

Глубоко подключенные SNN:

Есть много способов получить полностью подключенные SNN!

Недавние исследования были в STDP + Стохастический градиентный спуск. Другие использовали нейроны LIF + правила синаптической пластичности. Используя неконтролируемую технику, мы можем получить точность 95%!

Было разработано множество методов обратного распространения ошибки. Люди могут делать прямое и обратное распространение. В одной статье используются пре- и постсинаптические последовательности спайков, чтобы вернуть себе опору (97,93%). В другой работе мембранный потенциал использовался как нелинейная функция, давая дифференцируемые сигналы (98,88%). Плюс тренироваться было в 5 раз дешевле, чем обычно.

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

Увеличение количества CNN:

Традиционные CNN действительно хорошо видят. Это связано с их извилинами + их объединением. Первые слои CNN используются для извлечения основных визуальных характеристик (они напоминают детекторы с ориентированным краем). Мы можем сделать объединение, взяв максимум или среднее значение по квадратной окрестности нейронов.

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

Вы можете обучить Spiking CNN с помощью правил обучения STDP. Таким образом, мы также можем изучить глубокие CNN → которые могут получить 99,05% по MNIST. Мы также можем обучить их, используя обратное распространение, например, используя потенциал нервной мембраны для замены дифференцируемых функций активации.

Как и в случае с Deep SNN, мы также можем преобразовать CNN в CNN с пиками. Пиковые CNN могут выполнять меньше операций при меньшем потреблении энергии. Мы конвертируем классические CNN в Deep SNN точно так же, как мы это делаем с преобразованием ANN в SNN. Одна работа применила нормализацию веса и повысила производительность.

Рост сетей глубоких убеждений:

Сети глубокого убеждения (DBN) были разработаны Хинтоном еще в 2006 году. Они используют послойное неконтролируемое обучение для выполнения задач. Он состоит из двоичных единиц, в которых вы обновляете состояние единицы стохастически.

Он тренируется с использованием контрастной дивергенции (CD), которая приближается к максимальной вероятности. Это отличается от обратного распространения ошибки, потому что здесь не используются производные! Мы все еще можем использовать здесь обратное распространение, если у нас есть помеченные данные.

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

DBN состоят из ограниченных машин Больцмана (RBM). Таким образом, чтобы увеличить количество DBN, мы должны сделать RBMs с пиком. Мы просто отключаем нейроны, изменяем STDP на приблизительное значение CD, и все в порядке! Теперь у нас есть пиковые RBM и DBN! И мы также можем преобразовать обычные DBN в пиковые!

{Они также говорят о вариантах RMB: машинах Хопфилда и гибридных машинах Больцмана (HBM). Которые также оказываются дешевле в вычислительном отношении.}

Рекуррентные SNN:

{Они говорят о том, что многие вещи неявно повторяются, например, Winner take all modules, softmax и backpropagation}

Собранные SNN:

Традиционные RNN обучаются с использованием обратного распространения ошибки. Они цикличны → Но мы разворачиваем их со временем и делаем вид, что это сети прямого распространения. Но у нас есть проблема, веса буквально одинаковы в каждой отдельной ячейке, когда мы будем использовать обратное распространение, производные будут просто умножаться сами на себя снова и снова.

Это означает, что градиенты взорвутся или исчезнут → что приведет к нестабильности или остановке обучения. Как нам это обойти? С воротами! LSTMS и GRU используют их и таким образом предотвращают смерть градиентов. Ворота контролируют информацию (и параметризованы).

Мы можем взять LSTM, а затем превратить его в пиковый LSTM. Мы можем представить положительные и отрицательные значения через 2 канала цепочек шипов (биологически правдоподобно). Мы также можем оценить код всего внутри LSTM

В LSTM были также другие нововведения, которые мы можем внедрить в SNN. Поэтапные LSTM принимают несколько входных данных из разных временных масштабов и обрабатывают их - мы можем реализовать это для входов SNN и интерпретировать выходы нескольких SNN.

Внутри ячеек памяти есть так называемые временные ворота → они открываются (позволяют обновлять данные) только во время определенных колебаний и закрываются в другое время.

Машины жидкого состояния и резервуары:

Интересным явлением является то, что млекопитающие способны масштабировать поверхность неокортекса на тонну → примерно с 1 см² мыши до 2500 см² для человека - при этом толщина остается примерно одинаковой! Гипотеза заключается в том, что млекопитающие нашли структурный модуль, который мы можем просто клонировать снова и снова.

Мы пытались смоделировать этот модуль в реальной жизни → и он превратился в машину с жидкими состояниями (LSM). это редко связанный повторяющийся SNN, который имеет множество возбуждающих и тормозных нейронов.

Эта модель резервуара состоит из 3 частей:

  1. Нам нужны изменяющиеся во времени потоки всплесков
  2. Рекуррентный SNN (резервуар / жидкость). У нейронов есть буквальное физическое пространство, и у нас есть вероятностные связи, → где вероятности уменьшаются с увеличением расстояния. У нас редкие связи + много тормозных нейронов, поэтому мы не получаем хаотической динамики
  3. Устройства линейного считывания могут распознавать мгновенные образцы в жидкости.

Он может быть трехмерным, как NeuCube, который пытается имитировать неокортекс человека.

Существуют также способы использования резервуарного подхода к LSTMS, называемого LSNN (SNN с долговременной краткосрочной памятью). Всего 4 модуля:

  • X - ввод нескольких потоков входных пиков.
  • R - резервуар возбуждающих и тормозных нейронов.
  • A - Модуль возбуждающих нейронов + адаптивные пороги
  • Y - считывание нейронов.

Мы можем обучить этого парня, используя обратное распространение во времени , используя псевдопроизводные мембранного потенциала. Он может достигать результатов, аналогичных LSTM + может изучать свойства, уникальные (или, по крайней мере, уникальные) для LSTM.

Мы также можем применить некоторые другие нововведения в LSTM в LSM. Мы можем добавлять вычитающие модули (известные как subLSTM) в боковые тормозные цепи. Мы также можем добавить нейроны LIF с кодированием скорости, которые сделают его более совместимым со средой глубокого обучения.

Сравнение производительности современных моделей:

Офлайн-обучение имеет лучшую производительность, чем онлайн-обучение, но онлайн-обучение может обучать многослойные SNN.

Резюме:

Глубокое обучение - это супер мощное средство, но оно требует больших вычислительных ресурсов, и мы не можем так легко реализовать его на портативных устройствах. С другой стороны, SNN - это энергоэффективные модели +, которые более реалистичны.

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

SNN открывают новые возможности моделей и методов обучения! В этой статье рассматривается современное состояние нейронных сетей с повышенным уровнем шума. Мы можем адаптировать SNN к полностью подключенным SNN, увеличению количества CNN, увеличению количества DBN, увеличению количества RNN , и LSM!

У SNN действительно есть безумный потенциал в будущем! Они невероятно энергоэффективны и однажды превзойдут традиционное глубокое обучение!

Если вы хотите узнать больше: прочтите статью здесь!

Спасибо за прочтение! Я Диксон, 18-летний энтузиаст машинного обучения, который рад использовать его, чтобы повлиять на миллиарды людей 🌎

Если вы хотите присоединиться к моему путешествию, вы можете подписаться на мой ежемесячный информационный бюллетень, проверить мой веб-сайт и подключиться к LinkedIn или Twitter 😃