Нейроморфные вычисления и спайковые нейронные сети
Материал из MachineLearning.
(Новая: {{TOCright}} '''Нейроморфные вычисления''' — направление вычислительной техники и искусственного интеллек...) |
|||
| Строка 1: | Строка 1: | ||
{{TOCright}} | {{TOCright}} | ||
| - | '''Нейроморфные вычисления''' — направление вычислительной техники и искусственного интеллекта, в котором архитектура, модели и способы обработки информации создаются под влиянием принципов организации биологических нервных систем. К таким принципам относятся распределённость вычислений, локальная память, событийная передача сигналов, параллелизм, адаптивность и использование внутреннего состояния вычислительных элементов.<ref name="Mead1990">{{статья |автор=Mead C. |заглавие=Neuromorphic Electronic Systems |ссылка=https://doi.org/10.1109/5.58356 |издание=Proceedings of the IEEE |год=1990 |том=78 |номер=10 |страницы=1629—1636 |doi=10.1109/5.58356 |язык=en}}</ref> | + | '''Нейроморфные вычисления''' — направление [[Вычислительная техника|вычислительной техники]] и [[Искусственный интеллект|искусственного интеллекта]], в котором архитектура, модели и способы обработки информации создаются под влиянием принципов организации биологических нервных систем. К таким принципам относятся [[Распределённые вычисления|распределённость вычислений]], локальная память, [[Событийные вычисления|событийная передача сигналов]], [[Параллельные вычисления|параллелизм]], адаптивность и использование внутреннего состояния вычислительных элементов.<ref name="Mead1990">{{статья |автор=Mead C. |заглавие=Neuromorphic Electronic Systems |ссылка=https://doi.org/10.1109/5.58356 |издание=Proceedings of the IEEE |год=1990 |том=78 |номер=10 |страницы=1629—1636 |doi=10.1109/5.58356 |язык=en}}</ref> |
'''Спайковые нейронные сети''' (англ. ''spiking neural networks'', SNN) — класс [[Искусственная нейронная сеть|искусственных нейронных сетей]], в которых нейроны обладают внутренней временной динамикой и обмениваются дискретными событиями — спайками. В отличие от большинства классических нейронных сетей, SNN обрабатывают не только величины сигналов, но и моменты их появления.<ref name="Maass1997">{{статья |автор=Maass W. |заглавие=Networks of Spiking Neurons: The Third Generation of Neural Network Models |ссылка=https://doi.org/10.1016/S0893-6080(97)00011-7 |издание=Neural Networks |год=1997 |том=10 |номер=9 |страницы=1659—1671 |doi=10.1016/S0893-6080(97)00011-7 |язык=en}}</ref> | '''Спайковые нейронные сети''' (англ. ''spiking neural networks'', SNN) — класс [[Искусственная нейронная сеть|искусственных нейронных сетей]], в которых нейроны обладают внутренней временной динамикой и обмениваются дискретными событиями — спайками. В отличие от большинства классических нейронных сетей, SNN обрабатывают не только величины сигналов, но и моменты их появления.<ref name="Maass1997">{{статья |автор=Maass W. |заглавие=Networks of Spiking Neurons: The Third Generation of Neural Network Models |ссылка=https://doi.org/10.1016/S0893-6080(97)00011-7 |издание=Neural Networks |год=1997 |том=10 |номер=9 |страницы=1659—1671 |doi=10.1016/S0893-6080(97)00011-7 |язык=en}}</ref> | ||
| - | Нейроморфные вычисления связаны с [[Машинное обучение|машинным обучением]], [[Глубокое обучение|глубоким обучением]], [[Нейронные сети|нейронными сетями]], [[Вычислительная нейробиология|вычислительной нейробиологией]], [[Робототехника|робототехникой]], [[Встраиваемая система|встраиваемыми системами]] и энергоэффективными вычислениями. При этом нейроморфное оборудование, математическая модель спайкового нейрона и алгоритм обучения являются разными уровнями системы и не должны отождествляться. | + | Нейроморфные вычисления связаны с [[Машинное обучение|машинным обучением]], [[Глубокое обучение|глубоким обучением]], [[Нейронные сети|нейронными сетями]], [[Вычислительная нейробиология|вычислительной нейробиологией]], [[Робототехника|робототехникой]], [[Встраиваемая система|встраиваемыми системами]] и [[Энергоэффективные вычисления|энергоэффективными вычислениями]]. При этом нейроморфное оборудование, математическая модель спайкового нейрона и алгоритм обучения являются разными уровнями системы и не должны отождествляться. |
| - | Спайковая сеть может моделироваться на обычном центральном или графическом процессоре, а нейроморфный процессор может поддерживать несколько типов нейронной динамики и локальных алгоритмов обучения. Биологический нейрон, в свою очередь, значительно сложнее любого искусственного спайкового элемента. | + | Спайковая сеть может моделироваться на обычном [[Центральный процессор|центральном]] или [[Графический процессор|графическом процессоре]], а нейроморфный процессор может поддерживать несколько типов нейронной динамики и локальных алгоритмов обучения. Биологический нейрон, в свою очередь, значительно сложнее любого искусственного спайкового элемента. |
== Основные понятия и различия == | == Основные понятия и различия == | ||
| Строка 15: | Строка 15: | ||
Нейроморфные вычисления охватывают: | Нейроморфные вычисления охватывают: | ||
| - | * математические модели нейронов и синапсов; | + | * математические модели [[Нейрон|нейронов]] и [[Синапс|синапсов]]; |
* событийные алгоритмы; | * событийные алгоритмы; | ||
| - | * асинхронные коммуникационные сети; | + | * [[Асинхронные вычисления|асинхронные]] коммуникационные сети; |
| - | * аналоговые, цифровые и смешанные нейроморфные схемы; | + | * [[Аналоговые вычисления|аналоговые]], [[Цифровые вычисления|цифровые]] и смешанные нейроморфные схемы; |
| - | * событийные сенсоры; | + | * [[Событийный сенсор|событийные сенсоры]]; |
| - | * локальное обучение; | + | * [[Локальное обучение|локальное обучение]]; |
* совместное проектирование алгоритмов и аппаратного обеспечения. | * совместное проектирование алгоритмов и аппаратного обеспечения. | ||
| Строка 33: | Строка 33: | ||
* синаптическими связями; | * синаптическими связями; | ||
* правилами распространения спайков; | * правилами распространения спайков; | ||
| - | * временными задержками; | + | * [[Задержка сигнала|временными задержками]]; |
| - | * механизмом пластичности или внешнего обучения; | + | * механизмом [[Нейропластичность|пластичности]] или внешнего обучения; |
* способом кодирования входа; | * способом кодирования входа; | ||
* способом декодирования результата. | * способом декодирования результата. | ||
| Строка 46: | Строка 46: | ||
:: <tex>s_i(t)=\sum_f\delta(t-t_i^f),</tex> | :: <tex>s_i(t)=\sum_f\delta(t-t_i^f),</tex> | ||
| - | где <tex>\delta</tex> — дельта-функция, а <tex>t_i^f</tex> — момент <tex>f</tex>-го спайка нейрона <tex>i</tex>. | + | где <tex>\delta</tex> — [[Дельта-функция|дельта-функция]], а <tex>t_i^f</tex> — момент <tex>f</tex>-го спайка нейрона <tex>i</tex>. |
=== Биологическая нервная система === | === Биологическая нервная система === | ||
| - | Биологическая нервная система включает нейроны многих типов, глиальные клетки, химические и электрические синапсы, нейромодуляторы, дендритные вычисления, структурную пластичность и сложные механизмы гомеостаза. | + | Биологическая нервная система включает нейроны многих типов, [[Нейроглия|глиальные клетки]], химические и электрические синапсы, [[Нейромодуляция|нейромодуляторы]], [[Дендрит|дендритные вычисления]], [[Структурная пластичность|структурную пластичность]] и сложные механизмы [[Гомеостаз|гомеостаза]]. |
Большинство SNN моделирует лишь небольшую часть этих процессов: | Большинство SNN моделирует лишь небольшую часть этих процессов: | ||
* интегрирование входных токов; | * интегрирование входных токов; | ||
| - | * утечку мембранного потенциала; | + | * утечку [[Мембранный потенциал|мембранного потенциала]]; |
* порог генерации спайка; | * порог генерации спайка; | ||
* сброс состояния; | * сброс состояния; | ||
| - | * рефрактерный период; | + | * [[Рефрактерный период|рефрактерный период]]; |
| - | * адаптацию; | + | * [[Адаптация нейрона|адаптацию]]; |
* изменение синаптических весов. | * изменение синаптических весов. | ||
| Строка 80: | Строка 80: | ||
== История развития == | == История развития == | ||
| - | В 1943 году Маккаллок и Питтс предложили формальную модель порогового нейрона, ставшую одной из основ теории искусственных нейронных сетей.<ref name="McCullochPitts1943">{{статья |автор=McCulloch W. S., Pitts W. |заглавие=A Logical Calculus of the Ideas Immanent in Nervous Activity |ссылка=https://doi.org/10.1007/BF02478259 |издание=Bulletin of Mathematical Biophysics |год=1943 |том=5 |страницы=115—133 |doi=10.1007/BF02478259 |язык=en}}</ref> | + | В 1943 году Маккаллок и Питтс предложили формальную модель [[Пороговый нейрон|порогового нейрона]], ставшую одной из основ теории искусственных нейронных сетей.<ref name="McCullochPitts1943">{{статья |автор=McCulloch W. S., Pitts W. |заглавие=A Logical Calculus of the Ideas Immanent in Nervous Activity |ссылка=https://doi.org/10.1007/BF02478259 |издание=Bulletin of Mathematical Biophysics |год=1943 |том=5 |страницы=115—133 |doi=10.1007/BF02478259 |язык=en}}</ref> |
| - | В 1952 году Алан Ходжкин и Эндрю Хаксли опубликовали количественную модель генерации потенциала действия в аксоне кальмара. Модель описывала напряжение на мембране и динамику ионных проводимостей.<ref name="HodgkinHuxley1952">{{статья |автор=Hodgkin A. L., Huxley A. F. |заглавие=A Quantitative Description of Membrane Current and Its Application to Conduction and Excitation in Nerve |ссылка=https://doi.org/10.1113/jphysiol.1952.sp004764 |издание=The Journal of Physiology |год=1952 |том=117 |номер=4 |страницы=500—544 |doi=10.1113/jphysiol.1952.sp004764 |язык=en}}</ref> | + | В 1952 году Алан Ходжкин и Эндрю Хаксли опубликовали количественную модель генерации [[Потенциал действия|потенциала действия]] в аксоне кальмара. Модель описывала напряжение на мембране и динамику [[Ионный канал|ионных проводимостей]].<ref name="HodgkinHuxley1952">{{статья |автор=Hodgkin A. L., Huxley A. F. |заглавие=A Quantitative Description of Membrane Current and Its Application to Conduction and Excitation in Nerve |ссылка=https://doi.org/10.1113/jphysiol.1952.sp004764 |издание=The Journal of Physiology |год=1952 |том=117 |номер=4 |страницы=500—544 |doi=10.1113/jphysiol.1952.sp004764 |язык=en}}</ref> |
| - | В 1980-х годах Карвер Мид развивал аналоговые электронные схемы, использующие физические свойства транзисторов для моделирования нервных систем. В 1990 году он закрепил термин ''neuromorphic electronic systems'' за классом схем, вдохновлённых организацией биологических вычислений.<ref name="Mead1990"/> | + | В 1980-х годах Карвер Мид развивал [[Аналоговая электроника|аналоговые электронные схемы]], использующие физические свойства транзисторов для моделирования нервных систем. В 1990 году он закрепил термин ''neuromorphic electronic systems'' за классом схем, вдохновлённых организацией биологических вычислений.<ref name="Mead1990"/> |
| - | В 1997 году Вольфганг Маасс описал спайковые сети как третье поколение моделей нейронных сетей и исследовал их вычислительную выразительность.<ref name="Maass1997"/> | + | В 1997 году Вольфганг Маасс описал спайковые сети как третье поколение моделей нейронных сетей и исследовал их [[Вычислительная выразительность|вычислительную выразительность]].<ref name="Maass1997"/> |
В 2000-х годах развитие SNN ускорили: | В 2000-х годах развитие SNN ускорили: | ||
| Строка 104: | Строка 104: | ||
Упрощённо биологический нейрон состоит из: | Упрощённо биологический нейрон состоит из: | ||
| - | * дендритов, принимающих сигналы; | + | * [[Дендрит|дендритов]], принимающих сигналы; |
* тела клетки; | * тела клетки; | ||
| - | * мембраны; | + | * [[Клеточная мембрана|мембраны]]; |
| - | * аксона; | + | * [[Аксон|аксона]]; |
* синаптических окончаний. | * синаптических окончаний. | ||
| Строка 116: | Строка 116: | ||
Мембрана клетки разделяет среды с разными концентрациями ионов. Разность электрических потенциалов между внутренней и внешней сторонами мембраны называется мембранным потенциалом. | Мембрана клетки разделяет среды с разными концентрациями ионов. Разность электрических потенциалов между внутренней и внешней сторонами мембраны называется мембранным потенциалом. | ||
| - | В электрической эквивалентной схеме мембрана часто представляется ёмкостью: | + | В [[Эквивалентная схема|электрической эквивалентной схеме]] мембрана часто представляется ёмкостью: |
:: <tex>C_m\frac{dV}{dt}=I_{\rm in}(t)-I_{\rm ion}(V,t),</tex> | :: <tex>C_m\frac{dV}{dt}=I_{\rm in}(t)-I_{\rm ion}(V,t),</tex> | ||
| Строка 129: | Строка 129: | ||
=== Генерация спайка === | === Генерация спайка === | ||
| - | При достаточной деполяризации мембраны открываются потенциал-зависимые ионные каналы и возникает потенциал действия. После спайка мембрана возвращается к исходному состоянию и некоторое время может быть менее возбудимой. | + | При достаточной деполяризации мембраны открываются [[Потенциал-зависимый ионный канал|потенциал-зависимые ионные каналы]] и возникает потенциал действия. После спайка мембрана возвращается к исходному состоянию и некоторое время может быть менее возбудимой. |
В простых моделях этот процесс заменяется пороговым правилом: | В простых моделях этот процесс заменяется пороговым правилом: | ||
| Строка 141: | Строка 141: | ||
=== Синапсы === | === Синапсы === | ||
| - | Синапс передаёт влияние пресинаптического нейрона постсинаптическому. Возбуждающие синапсы увеличивают вероятность спайка, а тормозные — уменьшают её. | + | Синапс передаёт влияние [[Пресинаптический нейрон|пресинаптического нейрона]] [[Постсинаптический нейрон|постсинаптическому]]. [[Возбуждающий синапс|Возбуждающие синапсы]] увеличивают вероятность спайка, а [[Тормозный синапс|тормозные]] — уменьшают её. |
Простой синаптический ток может описываться уравнением | Простой синаптический ток может описываться уравнением | ||
| Строка 155: | Строка 155: | ||
где <tex>g_s</tex> — синаптическая проводимость, а <tex>E_s</tex> — равновесный потенциал. | где <tex>g_s</tex> — синаптическая проводимость, а <tex>E_s</tex> — равновесный потенциал. | ||
| - | === Синаптическая пластичность === | + | === [[Синаптическая пластичность|Синаптическая пластичность]] === |
Сила синапса может изменяться под влиянием: | Сила синапса может изменяться под влиянием: | ||
| Строка 182: | Строка 182: | ||
Такое преимущество реализуется только при разреженной активности и эффективной аппаратной поддержке событий. При моделировании SNN на графическом процессоре разворачивание сети по времени может оказаться дороже вычисления обычной сети. | Такое преимущество реализуется только при разреженной активности и эффективной аппаратной поддержке событий. При моделировании SNN на графическом процессоре разворачивание сети по времени может оказаться дороже вычисления обычной сети. | ||
| - | === Частотное кодирование === | + | === [[Частотное кодирование|Частотное кодирование]] === |
Значение кодируется числом спайков в интервале: | Значение кодируется числом спайков в интервале: | ||
| Строка 200: | Строка 200: | ||
* преимущества точного времени спайков используются слабо. | * преимущества точного времени спайков используются слабо. | ||
| - | === Временное кодирование === | + | === [[Временное кодирование|Временное кодирование]] === |
Значение определяется временем первого или нескольких спайков: | Значение определяется временем первого или нескольких спайков: | ||
| Строка 220: | Строка 220: | ||
Абсолютные интервалы могут иметь меньшее значение, чем последовательность активации нейронов. | Абсолютные интервалы могут иметь меньшее значение, чем последовательность активации нейронов. | ||
| - | === Популяционное кодирование === | + | === [[Популяционное кодирование|Популяционное кодирование]] === |
Одна величина представляется активностью группы нейронов: | Одна величина представляется активностью группы нейронов: | ||
| Строка 228: | Строка 228: | ||
Каждый нейрон может иметь собственную область чувствительности. Популяционное кодирование повышает устойчивость, но увеличивает число элементов сети. | Каждый нейрон может иметь собственную область чувствительности. Популяционное кодирование повышает устойчивость, но увеличивает число элементов сети. | ||
| - | === Дельта-кодирование === | + | === [[Дельта-кодирование|Дельта-кодирование]] === |
Спайки генерируются при существенном изменении сигнала: | Спайки генерируются при существенном изменении сигнала: | ||
| Строка 360: | Строка 360: | ||
'''Ограничения:''' | '''Ограничения:''' | ||
| - | * несколько дифференциальных уравнений на нейрон; | + | * несколько [[Дифференциальное уравнение|дифференциальных уравнений]] на нейрон; |
* высокая вычислительная стоимость; | * высокая вычислительная стоимость; | ||
* сложность обучения крупных сетей; | * сложность обучения крупных сетей; | ||
| Строка 433: | Строка 433: | ||
* сложнее LIF; | * сложнее LIF; | ||
| - | * требуется численное интегрирование; | + | * требуется [[Численное интегрирование|численное интегрирование]]; |
* возможна чувствительность к параметрам и шагу времени. | * возможна чувствительность к параметрам и шагу времени. | ||
| Строка 536: | Строка 536: | ||
:: <tex>s^{(l)}[t]=H(u^{(l)}[t]-V_{\rm th}),</tex> | :: <tex>s^{(l)}[t]=H(u^{(l)}[t]-V_{\rm th}),</tex> | ||
| - | где <tex>H</tex> — пороговая функция Хевисайда. | + | где <tex>H</tex> — [[Функция Хевисайда|пороговая функция Хевисайда]]. |
=== Синаптические задержки === | === Синаптические задержки === | ||
| Строка 546: | Строка 546: | ||
Задержки позволяют моделировать временные шаблоны и увеличивают пространство обучаемых параметров. | Задержки позволяют моделировать временные шаблоны и увеличивают пространство обучаемых параметров. | ||
| - | === Рекуррентные связи === | + | === [[Рекуррентная связь|Рекуррентные связи]] === |
В рекуррентной SNN состояние зависит от предыдущей активности сети: | В рекуррентной SNN состояние зависит от предыдущей активности сети: | ||
| Строка 576: | Строка 576: | ||
:: <tex>r_c[t+1]=\rho r_c[t]+s_c[t].</tex> | :: <tex>r_c[t+1]=\rho r_c[t]+s_c[t].</tex> | ||
| - | Выбор декодера связан с функцией потерь и способом кодирования входа. | + | Выбор декодера связан с [[Функция потерь|функцией потерь]] и способом кодирования входа. |
== Отличие вычислительного процесса SNN == | == Отличие вычислительного процесса SNN == | ||
| Строка 614: | Строка 614: | ||
* вероятностные модели; | * вероятностные модели; | ||
* преобразование ANN в SNN; | * преобразование ANN в SNN; | ||
| - | * эволюционная оптимизация; | + | * [[Эволюционные вычисления|эволюционная оптимизация]]; |
* локальные трёхфакторные правила. | * локальные трёхфакторные правила. | ||
| Строка 646: | Строка 646: | ||
* простое попарное правило плохо решает глубокое назначение ответственности; | * простое попарное правило плохо решает глубокое назначение ответственности; | ||
| - | * обучение без меток не гарантирует признаки, полезные для задачи; | + | * [[Обучение без учителя|обучение без меток]] не гарантирует признаки, полезные для задачи; |
* необходимы конкуренция, торможение и гомеостаз; | * необходимы конкуренция, торможение и гомеостаз; | ||
* результаты чувствительны к частоте спайков; | * результаты чувствительны к частоте спайков; | ||
* биологическая пластичность сложнее стандартной формулы. | * биологическая пластичность сложнее стандартной формулы. | ||
| - | STDP применялось для обучения распознаванию цифр без учителя совместно с латеральным торможением и адаптивными порогами.<ref name="DiehlCook2015">{{статья |автор=Diehl P. U., Cook M. |заглавие=Unsupervised Learning of Digit Recognition Using Spike-Timing-Dependent Plasticity |ссылка=https://doi.org/10.3389/fncom.2015.00099 |издание=Frontiers in Computational Neuroscience |год=2015 |том=9 |страницы=99 |doi=10.3389/fncom.2015.00099 |язык=en}}</ref> | + | STDP применялось для обучения распознаванию цифр без учителя совместно с [[Латеральное торможение|латеральным торможением]] и адаптивными порогами.<ref name="DiehlCook2015">{{статья |автор=Diehl P. U., Cook M. |заглавие=Unsupervised Learning of Digit Recognition Using Spike-Timing-Dependent Plasticity |ссылка=https://doi.org/10.3389/fncom.2015.00099 |издание=Frontiers in Computational Neuroscience |год=2015 |том=9 |страницы=99 |doi=10.3389/fncom.2015.00099 |язык=en}}</ref> |
== Обучение с учителем == | == Обучение с учителем == | ||
| Строка 702: | Строка 702: | ||
:: <tex>\frac{\partial{\cal L}}{\partial W}=\sum_{t=1}^{T}\frac{\partial{\cal L}}{\partial s[t]}\frac{\partial s[t]}{\partial u[t]}\frac{\partial u[t]}{\partial W}.</tex> | :: <tex>\frac{\partial{\cal L}}{\partial W}=\sum_{t=1}^{T}\frac{\partial{\cal L}}{\partial s[t]}\frac{\partial s[t]}{\partial u[t]}\frac{\partial u[t]}{\partial W}.</tex> | ||
| - | Суррогатная производная не является истинной производной дискретного спайка. Это практическая аппроксимация, позволяющая использовать градиентную оптимизацию.<ref name="SuperSpike2018">{{статья |автор=Zenke F., Ganguli S. |заглавие=SuperSpike: Supervised Learning in Multilayer Spiking Neural Networks |ссылка=https://doi.org/10.1162/neco_a_01086 |издание=Neural Computation |год=2018 |том=30 |номер=6 |страницы=1514—1541 |doi=10.1162/neco_a_01086 |язык=en}}</ref> | + | Суррогатная производная не является истинной производной дискретного спайка. Это практическая аппроксимация, позволяющая использовать [[Градиентный спуск|градиентную оптимизацию]].<ref name="SuperSpike2018">{{статья |автор=Zenke F., Ganguli S. |заглавие=SuperSpike: Supervised Learning in Multilayer Spiking Neural Networks |ссылка=https://doi.org/10.1162/neco_a_01086 |издание=Neural Computation |год=2018 |том=30 |номер=6 |страницы=1514—1541 |doi=10.1162/neco_a_01086 |язык=en}}</ref> |
'''Преимущества:''' | '''Преимущества:''' | ||
| Строка 715: | Строка 715: | ||
* хранение состояний всех временных шагов; | * хранение состояний всех временных шагов; | ||
* высокая стоимость BPTT; | * высокая стоимость BPTT; | ||
| - | * затухание или взрыв градиентов; | + | * [[Проблема исчезающего градиента|затухание]] или [[Проблема взрывающегося градиента|взрыв градиентов]]; |
* расхождение между прямой и обратной моделью; | * расхождение между прямой и обратной моделью; | ||
* ограниченная биологическая правдоподобность; | * ограниченная биологическая правдоподобность; | ||
| Строка 725: | Строка 725: | ||
* STDP; | * STDP; | ||
| - | * конкурентного обучения; | + | * [[Конкурентное обучение|конкурентного обучения]]; |
* латерального торможения; | * латерального торможения; | ||
| - | * гомеостатической пластичности; | + | * [[Гомеостатическая пластичность|гомеостатической пластичности]]; |
* предсказания следующего события; | * предсказания следующего события; | ||
* реконструкции входного спайкового потока; | * реконструкции входного спайкового потока; | ||
| Строка 737: | Строка 737: | ||
== Обучение с подкреплением == | == Обучение с подкреплением == | ||
| - | В [[Обучение с подкреплением|обучении с подкреплением]] локальная пластичность может модулироваться глобальным сигналом вознаграждения. | + | В [[Обучение с подкреплением|обучении с подкреплением]] локальная пластичность может модулироваться глобальным [[Вознаграждение в обучении с подкреплением|сигналом вознаграждения]]. |
Трёхфакторное правило имеет вид | Трёхфакторное правило имеет вид | ||
| Строка 745: | Строка 745: | ||
где | где | ||
| - | * <tex>e_{ij}(t)</tex> — локальный след пригодности; | + | * <tex>e_{ij}(t)</tex> — локальный [[След пригодности|след пригодности]]; |
* <tex>\delta(t)</tex> — сигнал вознаграждения или ошибка предсказания вознаграждения. | * <tex>\delta(t)</tex> — сигнал вознаграждения или ошибка предсказания вознаграждения. | ||
След пригодности сохраняет информацию о недавних сочетаниях пре- и постсинаптической активности. Вознаграждение определяет знак и величину окончательного изменения.<ref name="Florian2007">{{статья |автор=Florian R. V. |заглавие=Reinforcement Learning Through Modulation of Spike-Timing-Dependent Synaptic Plasticity |ссылка=https://doi.org/10.1162/neco.2007.19.6.1468 |издание=Neural Computation |год=2007 |том=19 |номер=6 |страницы=1468—1502 |doi=10.1162/neco.2007.19.6.1468 |язык=en}}</ref> | След пригодности сохраняет информацию о недавних сочетаниях пре- и постсинаптической активности. Вознаграждение определяет знак и величину окончательного изменения.<ref name="Florian2007">{{статья |автор=Florian R. V. |заглавие=Reinforcement Learning Through Modulation of Spike-Timing-Dependent Synaptic Plasticity |ссылка=https://doi.org/10.1162/neco.2007.19.6.1468 |издание=Neural Computation |год=2007 |том=19 |номер=6 |страницы=1468—1502 |doi=10.1162/neco.2007.19.6.1468 |язык=en}}</ref> | ||
| - | Спайковые сети также могут использоваться как политика или функция ценности в обычных алгоритмах глубокого обучения с подкреплением. В этом случае обновление вычисляется внешним оптимизатором, а не локальным биологическим правилом. | + | Спайковые сети также могут использоваться как политика или [[Функция ценности|функция ценности]] в обычных алгоритмах глубокого обучения с подкреплением. В этом случае обновление вычисляется внешним оптимизатором, а не локальным биологическим правилом. |
== Локальные и онлайн-методы == | == Локальные и онлайн-методы == | ||
| Строка 764: | Строка 764: | ||
=== Основная идея === | === Основная идея === | ||
| - | Сначала обучается обычная сеть с активациями ReLU: | + | Сначала обучается обычная сеть с активациями [[ReLU|ReLU]]: |
:: <tex>a_i=\max(0,z_i).</tex> | :: <tex>a_i=\max(0,z_i).</tex> | ||
| Строка 774: | Строка 774: | ||
Веса и пороги масштабируются так, чтобы частоты находились в допустимом диапазоне. | Веса и пороги масштабируются так, чтобы частоты находились в допустимом диапазоне. | ||
| - | Методы преобразования поддерживают свёртки, нормализацию, объединение и некоторые остаточные архитектуры.<ref name="Rueckauer2017">{{статья |автор=Rueckauer B., Lungu I. A., Hu Y., Pfeiffer M., Liu S. C. |заглавие=Conversion of Continuous-Valued Deep Networks to Efficient Event-Driven Networks for Image Classification |ссылка=https://doi.org/10.3389/fnins.2017.00682 |издание=Frontiers in Neuroscience |год=2017 |том=11 |страницы=682 |doi=10.3389/fnins.2017.00682 |язык=en}}</ref> | + | Методы преобразования поддерживают свёртки, [[Нормализация в нейронных сетях|нормализацию]], объединение и некоторые [[Остаточная нейронная сеть|остаточные архитектуры]].<ref name="Rueckauer2017">{{статья |автор=Rueckauer B., Lungu I. A., Hu Y., Pfeiffer M., Liu S. C. |заглавие=Conversion of Continuous-Valued Deep Networks to Efficient Event-Driven Networks for Image Classification |ссылка=https://doi.org/10.3389/fnins.2017.00682 |издание=Frontiers in Neuroscience |год=2017 |том=11 |страницы=682 |doi=10.3389/fnins.2017.00682 |язык=en}}</ref> |
=== Преимущества === | === Преимущества === | ||
| Строка 810: | Строка 810: | ||
:: <tex>\theta^*=\mathop{\rm argmin}_{\theta}{\bf E}_{(x,y)\sim{\cal D}}{\cal L}(f_\theta(x),y)+\lambda R(\theta).</tex> | :: <tex>\theta^*=\mathop{\rm argmin}_{\theta}{\bf E}_{(x,y)\sim{\cal D}}{\cal L}(f_\theta(x),y)+\lambda R(\theta).</tex> | ||
| - | Регуляризатор может ограничивать число спайков: | + | [[Регуляризация|Регуляризатор]] может ограничивать число спайков: |
:: <tex>R_{\rm spike}=\sum_{i,t}s_i[t],</tex> | :: <tex>R_{\rm spike}=\sum_{i,t}s_i[t],</tex> | ||
| Строка 827: | Строка 827: | ||
1. Инициализировать параметры нейронов и синапсов. | 1. Инициализировать параметры нейронов и синапсов. | ||
| - | 2. Для каждого мини-пакета: | + | 2. Для каждого [[Мини-пакет|мини-пакета]]: |
2.1. Закодировать вход в спайковую последовательность. | 2.1. Закодировать вход в спайковую последовательность. | ||
2.2. Обнулить состояния сети. | 2.2. Обнулить состояния сети. | ||
| Строка 848: | Строка 848: | ||
=== Архитектурные принципы === | === Архитектурные принципы === | ||
| - | Традиционная архитектура фон Неймана разделяет память и вычислительное устройство. Передача весов и активаций между ними может составлять значительную часть задержки и энергии. | + | Традиционная [[Архитектура фон Неймана|архитектура фон Неймана]] разделяет память и вычислительное устройство. Передача весов и активаций между ними может составлять значительную часть задержки и энергии. |
Нейроморфные процессоры стремятся: | Нейроморфные процессоры стремятся: | ||
| Строка 933: | Строка 933: | ||
* большое число программируемых процессорных ядер; | * большое число программируемых процессорных ядер; | ||
* пакетная передача спайков; | * пакетная передача спайков; | ||
| - | * аппаратная многоадресная маршрутизация; | + | * аппаратная [[Многоадресная рассылка|многоадресная маршрутизация]]; |
| - | * распределённая память; | + | * [[Распределённая память|распределённая память]]; |
* программная реализация моделей нейронов; | * программная реализация моделей нейронов; | ||
* поддержка биологических симуляций и робототехники. | * поддержка биологических симуляций и робототехники. | ||
| Строка 961: | Строка 961: | ||
* локальную память; | * локальную память; | ||
* цифровые нейроны; | * цифровые нейроны; | ||
| - | * низкоразрядные синаптические параметры; | + | * [[Квантование нейронных сетей|низкоразрядные синаптические параметры]]; |
* плиточное масштабирование ядер. | * плиточное масштабирование ядер. | ||
| Строка 1065: | Строка 1065: | ||
* распознавание жестов; | * распознавание жестов; | ||
| - | * оптический поток; | + | * [[Оптический поток|оптический поток]]; |
| - | * сопровождение объектов; | + | * [[Сопровождение объектов|сопровождение объектов]]; |
* оценка движения; | * оценка движения; | ||
* обнаружение событий; | * обнаружение событий; | ||
| Строка 1085: | Строка 1085: | ||
* управления движением; | * управления движением; | ||
* уклонения от препятствий; | * уклонения от препятствий; | ||
| - | * сенсомоторной координации; | + | * [[Сенсомоторная координация|сенсомоторной координации]]; |
| - | * локализации; | + | * [[Локализация робота|локализации]]; |
* управления манипуляторами; | * управления манипуляторами; | ||
* реактивного поведения; | * реактивного поведения; | ||
| Строка 1126: | Строка 1126: | ||
* дельта-модуляцией. | * дельта-модуляцией. | ||
| - | Рекуррентные SNN способны обрабатывать временную структуру речи и выполнять распознавание ключевых слов. Преимущество наиболее заметно при непрерывной работе на периферийном устройстве. | + | Рекуррентные SNN способны обрабатывать временную структуру речи и выполнять [[Распознавание ключевых слов|распознавание ключевых слов]]. Преимущество наиболее заметно при непрерывной работе на периферийном устройстве. |
=== Анализ временных рядов === | === Анализ временных рядов === | ||
| Строка 1136: | Строка 1136: | ||
* сетевому трафику; | * сетевому трафику; | ||
* показаниям датчиков; | * показаниям датчиков; | ||
| - | * обнаружению аномалий; | + | * [[Обнаружение аномалий|обнаружению аномалий]]; |
* прогнозированию событий. | * прогнозированию событий. | ||
| Строка 1145: | Строка 1145: | ||
Исследовательские применения включают: | Исследовательские применения включают: | ||
| - | * анализ ЭЭГ; | + | * [[Электроэнцефалография|анализ ЭЭГ]]; |
| - | * классификацию ЭКГ; | + | * [[Электрокардиография|классификацию ЭКГ]]; |
* обнаружение приступов; | * обнаружение приступов; | ||
* анализ нейронных записей; | * анализ нейронных записей; | ||
| - | * интерфейсы мозг — компьютер; | + | * [[Интерфейс мозг — компьютер|интерфейсы мозг — компьютер]]; |
* носимые диагностические устройства. | * носимые диагностические устройства. | ||
| Строка 1227: | Строка 1227: | ||
| [[Трансформер]] | | [[Трансформер]] | ||
| Последовательность токенов | | Последовательность токенов | ||
| - | | Через позиционное кодирование и внимание | + | | Через [[Позиционное кодирование|позиционное кодирование]] и внимание |
| Полное внимание порядка <tex>O(T^2d)</tex> | | Полное внимание порядка <tex>O(T^2d)</tex> | ||
| Обычно требует значительных вычислений | | Обычно требует значительных вычислений | ||
| Строка 1268: | Строка 1268: | ||
* спайковое кодирование; | * спайковое кодирование; | ||
* внутреннюю нейронную динамику; | * внутреннюю нейронную динамику; | ||
| - | * механизмы внимания; | + | * [[Механизм внимания|механизмы внимания]]; |
| - | * остаточные связи; | + | * [[Остаточная связь|остаточные связи]]; |
* нормализацию. | * нормализацию. | ||
| Строка 1352: | Строка 1352: | ||
Для сокращения памяти применяются: | Для сокращения памяти применяются: | ||
| - | * усечённое BPTT; | + | * [[Усечённое обратное распространение во времени|усечённое BPTT]]; |
| - | * контрольные точки; | + | * [[Контрольная точка вычислений|контрольные точки]]; |
| - | * обратимое вычисление; | + | * [[Обратимые нейронные сети|обратимое вычисление]]; |
* локальные потери; | * локальные потери; | ||
* следы пригодности; | * следы пригодности; | ||
| Строка 1364: | Строка 1364: | ||
* калибровка; | * калибровка; | ||
| - | * аппаратно-ориентированное обучение; | + | * [[Аппаратно-ориентированное обучение|аппаратно-ориентированное обучение]]; |
* компенсация шума; | * компенсация шума; | ||
* устойчивые модели; | * устойчивые модели; | ||
| Строка 1445: | Строка 1445: | ||
* событийные графовые сети; | * событийные графовые сети; | ||
* спайковое обучение с подкреплением; | * спайковое обучение с подкреплением; | ||
| - | * самоконтролируемое обучение событийных данных; | + | * [[Самоконтролируемое обучение|самоконтролируемое обучение]] событийных данных; |
* аппаратно-ориентированная оптимизация; | * аппаратно-ориентированная оптимизация; | ||
* обучение непосредственно на нейроморфном процессоре; | * обучение непосредственно на нейроморфном процессоре; | ||
| - | * аналоговые вычисления в памяти; | + | * [[Вычисления в памяти|аналоговые вычисления в памяти]]; |
* нейроморфные сенсоры нескольких модальностей; | * нейроморфные сенсоры нескольких модальностей; | ||
* стандартизированное сравнение энергии и задержки; | * стандартизированное сравнение энергии и задержки; | ||
| Строка 1461: | Строка 1461: | ||
* [[Нейронные сети]] | * [[Нейронные сети]] | ||
* [[Искусственная нейронная сеть]] | * [[Искусственная нейронная сеть]] | ||
| + | * [[Спайковая нейронная сеть]] | ||
* [[Вычислительная нейробиология]] | * [[Вычислительная нейробиология]] | ||
| + | * [[Нейрон]] | ||
| + | * [[Синапс]] | ||
| + | * [[Мембранный потенциал]] | ||
| + | * [[Потенциал действия]] | ||
| + | * [[Синаптическая пластичность]] | ||
| + | * [[Событийные вычисления]] | ||
| + | * [[Событийная камера]] | ||
* [[Обучение с подкреплением]] | * [[Обучение с подкреплением]] | ||
| + | * [[Обучение без учителя]] | ||
* [[Обратное распространение ошибки]] | * [[Обратное распространение ошибки]] | ||
| + | * [[Обратное распространение ошибки во времени]] | ||
* [[Рекуррентная нейронная сеть]] | * [[Рекуррентная нейронная сеть]] | ||
* [[Свёрточная нейронная сеть]] | * [[Свёрточная нейронная сеть]] | ||
| Строка 1471: | Строка 1481: | ||
* [[Временной ряд]] | * [[Временной ряд]] | ||
* [[Встраиваемая система]] | * [[Встраиваемая система]] | ||
| + | * [[Вычисления в памяти]] | ||
* [[Энергоэффективные вычисления]] | * [[Энергоэффективные вычисления]] | ||
Версия 14:35, 19 июля 2026
Нейроморфные вычисления — направление вычислительной техники и искусственного интеллекта, в котором архитектура, модели и способы обработки информации создаются под влиянием принципов организации биологических нервных систем. К таким принципам относятся распределённость вычислений, локальная память, событийная передача сигналов, параллелизм, адаптивность и использование внутреннего состояния вычислительных элементов.[1]
Спайковые нейронные сети (англ. spiking neural networks, SNN) — класс искусственных нейронных сетей, в которых нейроны обладают внутренней временной динамикой и обмениваются дискретными событиями — спайками. В отличие от большинства классических нейронных сетей, SNN обрабатывают не только величины сигналов, но и моменты их появления.[1]
Нейроморфные вычисления связаны с машинным обучением, глубоким обучением, нейронными сетями, вычислительной нейробиологией, робототехникой, встраиваемыми системами и энергоэффективными вычислениями. При этом нейроморфное оборудование, математическая модель спайкового нейрона и алгоритм обучения являются разными уровнями системы и не должны отождествляться.
Спайковая сеть может моделироваться на обычном центральном или графическом процессоре, а нейроморфный процессор может поддерживать несколько типов нейронной динамики и локальных алгоритмов обучения. Биологический нейрон, в свою очередь, значительно сложнее любого искусственного спайкового элемента.
Основные понятия и различия
Нейроморфные вычисления
Нейроморфные вычисления охватывают:
- математические модели нейронов и синапсов;
- событийные алгоритмы;
- асинхронные коммуникационные сети;
- аналоговые, цифровые и смешанные нейроморфные схемы;
- событийные сенсоры;
- локальное обучение;
- совместное проектирование алгоритмов и аппаратного обеспечения.
Цель направления не обязательно состоит в точном воспроизведении мозга. Часто биологические принципы используются как инженерные эвристики для уменьшения задержек, энергопотребления и объёма перемещаемых данных.
Спайковая нейронная сеть
Спайковая сеть задаётся:
- множеством нейронов;
- внутренними переменными состояния;
- синаптическими связями;
- правилами распространения спайков;
- временными задержками;
- механизмом пластичности или внешнего обучения;
- способом кодирования входа;
- способом декодирования результата.
Выход нейрона можно представить последовательностью моментов спайков:
Соответствующий спайковый поезд записывается как
где — дельта-функция, а
— момент
-го спайка нейрона
.
Биологическая нервная система
Биологическая нервная система включает нейроны многих типов, глиальные клетки, химические и электрические синапсы, нейромодуляторы, дендритные вычисления, структурную пластичность и сложные механизмы гомеостаза.
Большинство SNN моделирует лишь небольшую часть этих процессов:
- интегрирование входных токов;
- утечку мембранного потенциала;
- порог генерации спайка;
- сброс состояния;
- рефрактерный период;
- адаптацию;
- изменение синаптических весов.
Поэтому биологическая правдоподобность модели всегда относительна и зависит от рассматриваемого уровня описания.
Классическая искусственная нейронная сеть
В обычном искусственном нейроне вычисляется
где — входы,
— веса,
— смещение, а
— функция активации.
Такой нейрон обычно не хранит собственную непрерывно изменяющуюся мембранную переменную. В SNN выход зависит не только от текущего входа, но и от накопленного состояния:
Здесь — состояние нейрона,
— входные спайки, а
— параметры динамики.
История развития
В 1943 году Маккаллок и Питтс предложили формальную модель порогового нейрона, ставшую одной из основ теории искусственных нейронных сетей.[1]
В 1952 году Алан Ходжкин и Эндрю Хаксли опубликовали количественную модель генерации потенциала действия в аксоне кальмара. Модель описывала напряжение на мембране и динамику ионных проводимостей.[1]
В 1980-х годах Карвер Мид развивал аналоговые электронные схемы, использующие физические свойства транзисторов для моделирования нервных систем. В 1990 году он закрепил термин neuromorphic electronic systems за классом схем, вдохновлённых организацией биологических вычислений.[1]
В 1997 году Вольфганг Маасс описал спайковые сети как третье поколение моделей нейронных сетей и исследовал их вычислительную выразительность.[1]
В 2000-х годах развитие SNN ускорили:
- экспериментальные исследования временной пластичности;
- алгоритмы обучения точному времени спайков;
- нейроморфные сенсоры;
- крупномасштабные симуляторы;
- специализированные аппаратные платформы.
В 2010-х годах появились системы BrainScaleS, SpiNNaker, IBM TrueNorth и Intel Loihi. Одновременно стали развиваться методы преобразования обычных сетей в SNN и прямое обучение глубоких спайковых моделей с помощью суррогатных градиентов.
Биологические основы
Строение нейрона
Упрощённо биологический нейрон состоит из:
Дендритное дерево не является пассивным набором проводов. Оно может выполнять локальные нелинейные преобразования. Однако многие искусственные модели объединяют все дендритные входы в одну скалярную переменную.
Мембранный потенциал
Мембрана клетки разделяет среды с разными концентрациями ионов. Разность электрических потенциалов между внутренней и внешней сторонами мембраны называется мембранным потенциалом.
В электрической эквивалентной схеме мембрана часто представляется ёмкостью:
где
-
— мембранная ёмкость;
-
— мембранный потенциал;
-
— входной ток;
-
— суммарный ионный ток.
Генерация спайка
При достаточной деполяризации мембраны открываются потенциал-зависимые ионные каналы и возникает потенциал действия. После спайка мембрана возвращается к исходному состоянию и некоторое время может быть менее возбудимой.
В простых моделях этот процесс заменяется пороговым правилом:
При выполнении условия регистрируется спайк, после чего потенциал сбрасывается к .
Искусственный порог и мгновенный сброс являются математическими абстракциями. В биологическом нейроне спайк формируется непрерывной динамикой ионных каналов.
Синапсы
Синапс передаёт влияние пресинаптического нейрона постсинаптическому. Возбуждающие синапсы увеличивают вероятность спайка, а тормозные — уменьшают её.
Простой синаптический ток может описываться уравнением
где — синаптический вес, а
— постоянная времени синапса.
Более подробные модели используют проводимости:
где — синаптическая проводимость, а
— равновесный потенциал.
Синаптическая пластичность
Сила синапса может изменяться под влиянием:
- активности нейронов;
- относительного времени спайков;
- вознаграждения;
- нейромодуляторов;
- гомеостатических механизмов;
- локальной концентрации химических веществ.
Правило STDP является лишь одной из экспериментально наблюдаемых форм пластичности. Биологическое обучение не сводится к единственной экспоненциальной зависимости между двумя спайками.
Событийное представление информации
Событийные вычисления
В событийной системе операция инициируется появлением события. Если вход не изменяется и нейроны не генерируют спайки, часть вычислительных блоков может оставаться неактивной.
В традиционной синхронной сети каждый слой обычно вычисляется для всех элементов тензора. В SNN потенциально обрабатываются только активные связи:
где — число спайков в момент
.
Такое преимущество реализуется только при разреженной активности и эффективной аппаратной поддержке событий. При моделировании SNN на графическом процессоре разворачивание сети по времени может оказаться дороже вычисления обычной сети.
Частотное кодирование
Значение кодируется числом спайков в интервале:
Преимущества:
- устойчивость к небольшому сдвигу времени;
- простое декодирование;
- удобство преобразования ANN в SNN.
Ограничения:
- требуется несколько временных шагов;
- растёт задержка;
- преимущества точного времени спайков используются слабо.
Временное кодирование
Значение определяется временем первого или нескольких спайков:
Например, большая величина может кодироваться ранним спайком:
Временное кодирование потенциально уменьшает число спайков и задержку, но более чувствительно к шуму и требует точного моделирования времени.
Ранговое кодирование
Информация задаётся порядком появления спайков:
Абсолютные интервалы могут иметь меньшее значение, чем последовательность активации нейронов.
Популяционное кодирование
Одна величина представляется активностью группы нейронов:
Каждый нейрон может иметь собственную область чувствительности. Популяционное кодирование повышает устойчивость, но увеличивает число элементов сети.
Дельта-кодирование
Спайки генерируются при существенном изменении сигнала:
Подобный принцип используется событийными камерами и другими асинхронными сенсорами.
Математические модели спайковых нейронов
Модели различаются по биологической подробности, числу переменных, вычислительной стоимости и воспроизводимым режимам активности.
Модель Integrate-and-Fire
В простейшей модели интегрирования и возбуждения мембранный потенциал накапливает входной ток:
Спайк возникает при достижении порога:
После спайка выполняется сброс:
При постоянном положительном токе потенциал растёт линейно.
Основные параметры:
-
— мембранная ёмкость;
-
— порог;
-
— потенциал сброса;
-
— рефрактерный период.
Преимущества:
- минимальная вычислительная стоимость;
- простая аналитическая интерпретация;
- удобная аппаратная реализация.
Ограничения:
- отсутствует утечка;
- не моделируется форма потенциала действия;
- ограниченное разнообразие режимов активности;
- память о старом входе сохраняется неограниченно долго без дополнительного механизма.
Модель применяется в теоретическом анализе, простых аппаратных схемах и учебных задачах.
Leaky Integrate-and-Fire
В модели LIF добавляется утечка к потенциалу покоя:
где
-
— мембранная постоянная времени;
-
— мембранное сопротивление;
-
— потенциал покоя.
При отсутствии входа потенциал экспоненциально возвращается к .
Дискретная форма может быть записана как
где
Последний член соответствует вычитающему сбросу. В других реализациях используется жёсткий сброс к фиксированному значению.
Преимущества:
- низкая вычислительная стоимость;
- естественная временная память;
- совместимость с событийным оборудованием;
- удобство обучения суррогатным градиентом;
- простая разреженная реализация.
Ограничения:
- одинаковая форма всех спайков;
- ограниченное моделирование адаптации и пачечной активности;
- параметры не всегда непосредственно соответствуют реальной клетке;
- качество зависит от шага дискретизации.
LIF является одной из наиболее распространённых моделей в машинном обучении и на нейроморфных процессорах.
Hodgkin–Huxley
Модель Ходжкина — Хаксли описывает токи через натриевые, калиевые и утечечные каналы:
Натриевый ток:
Калиевый ток:
Ток утечки:
Переменные каналов изменяются по правилу
В этой модели спайк возникает как результат динамики системы, а не задаётся искусственным порогом.
Основные параметры:
- максимальные проводимости каналов;
- равновесные потенциалы;
- мембранная ёмкость;
- функции открытия и закрытия каналов;
- внешний ток.
Преимущества:
- физиологически интерпретируемые параметры;
- воспроизведение формы потенциала действия;
- возможность изучения ионных механизмов;
- высокая биофизическая правдоподобность на уровне мембранной динамики.
Ограничения:
- несколько дифференциальных уравнений на нейрон;
- высокая вычислительная стоимость;
- сложность обучения крупных сетей;
- необходимость оценки большого числа параметров;
- избыточность для многих задач классификации.
Модель применяется преимущественно в вычислительной нейробиологии, исследовании возбудимости и моделировании малых нейронных цепей.
Модель Ижикевича
Модель Ижикевича объединяет квадратичную динамику потенциала с переменной восстановления:[1]
При достижении уровня спайка выполняется
Здесь
-
— мембранный потенциал;
-
— переменная восстановления;
-
— скорость восстановления;
-
— чувствительность восстановления к потенциалу;
-
— значение сброса;
-
— изменение восстановления после спайка.
Изменение параметров позволяет воспроизводить регулярную активность, пачки спайков, быстрые разряды и другие режимы.
Преимущества:
- две динамические переменные;
- разнообразие режимов активности;
- существенно меньшая стоимость, чем у модели Ходжкина — Хаксли;
- удобство крупномасштабного моделирования.
Ограничения:
- параметры частично феноменологические;
- спайк завершается искусственным условием отсечения;
- модель не описывает отдельные ионные токи;
- результат может зависеть от шага интегрирования и порога отсечения.
Exponential Integrate-and-Fire и AdEx
Экспоненциальная модель уточняет динамику около порога:
Модель AdEx добавляет адаптационную переменную :[1]
После спайка обычно выполняется
Преимущества:
- гладкое приближение начала спайка;
- моделирование адаптации;
- несколько режимов активности;
- меньшая стоимость, чем у биофизических моделей.
Ограничения:
- сложнее LIF;
- требуется численное интегрирование;
- возможна чувствительность к параметрам и шагу времени.
Spike Response Model
В модели спайкового отклика потенциал выражается через ядра реакции на входные и собственные спайки:
где
-
описывает влияние последнего спайка нейрона;
-
— постсинаптическое ядро;
-
— время последнего выходного спайка.
Модель удобна для анализа точного времени спайков и алгоритмов типа SpikeProp.
Сравнение моделей нейронов
| Модель | Динамические переменные | Биофизическая подробность | Вычислительная стоимость | Типичные применения | Основное ограничение |
|---|---|---|---|---|---|
| Integrate-and-Fire | Потенциал | Низкая | Очень низкая | Теория, простые аппаратные модели | Нет утечки |
| LIF | Потенциал | Низкая | Низкая | Глубокие SNN, нейроморфные процессоры | Ограниченное разнообразие активности |
| Hodgkin–Huxley | Потенциал и переменные каналов | Высокая | Высокая | Вычислительная нейробиология | Плохо масштабируется |
| Izhikevich | Потенциал и восстановление | Средняя | Умеренная | Крупные биологически мотивированные сети | Феноменологический сброс |
| AdEx | Потенциал и адаптация | Средняя | Умеренная | Адаптивные нейроны, аппаратные модели | Сложнее LIF |
| Spike Response Model | Ядра отклика и история спайков | Средняя | Зависит от числа событий | Временное кодирование и обучение | Требуется хранение истории |
Архитектура спайковой нейронной сети
Входной слой
Если сенсор уже создаёт события, вход можно передавать в сеть непосредственно. К таким источникам относятся:
- событийные камеры;
- силиконовые улитки;
- асинхронные тактильные датчики;
- нейрофизиологические записи.
Обычные изображения, звук и числовые признаки необходимо преобразовать в спайковые последовательности.
Скрытые слои
Спайковая сеть может быть:
- полносвязной;
- свёрточной;
- рекуррентной;
- резервуарной;
- графовой;
- трансформероподобной;
- гибридной.
На каждом временном шаге слой обновляет синаптические и нейронные состояния:
где — пороговая функция Хевисайда.
Синаптические задержки
Спайк может достигать постсинаптического нейрона с задержкой :
Задержки позволяют моделировать временные шаблоны и увеличивают пространство обучаемых параметров.
Рекуррентные связи
В рекуррентной SNN состояние зависит от предыдущей активности сети:
Такая сеть естественно обрабатывает последовательности, но её обучение сталкивается с задачей временного назначения ответственности.
Выход и декодирование
Декодирование по числу спайков:
Предсказанный класс:
Декодирование по первому спайку:
Декодирование по потенциалу:
Фильтрованная частота:
Выбор декодера связан с функцией потерь и способом кодирования входа.
Отличие вычислительного процесса SNN
В классической прямой нейронной сети вычисление обычно выполняется один раз:
В SNN сеть разворачивается по времени:
- поступают входные события;
- обновляются синаптические токи;
- изменяются мембранные потенциалы;
- нейроны сравниваются с порогом;
- генерируются спайки;
- выполняется сброс и обновление адаптации;
- события передаются следующим нейронам;
- накапливается выходное решение.
Стоимость зависит одновременно от числа слоёв, временных шагов и спайковой активности.
Обучение спайковых нейронных сетей
Основная трудность
Пороговая функция
почти всюду имеет нулевую производную и не дифференцируема в точке порога. Поэтому обычное обратное распространение ошибки нельзя непосредственно применить к моменту генерации спайка.
Основные подходы:
- локальная пластичность;
- обучение точного времени спайков;
- суррогатные градиенты;
- вероятностные модели;
- преобразование ANN в SNN;
- эволюционная оптимизация;
- локальные трёхфакторные правила.
Spike-Timing-Dependent Plasticity
STDP изменяет вес в зависимости от разности времён пре- и постсинаптического спайков:
Для типичное правило потенциации:
Для правило депрессии:
Здесь и
задают амплитуды изменения, а
и
— временные окна.
Зависимость синаптической модификации от относительного времени спайков наблюдалась экспериментально в культурах гиппокампальных нейронов.[1]
Преимущества STDP:
- локальность;
- отсутствие глобального обратного прохода;
- совместимость с онлайн-обучением;
- аппаратная реализуемость;
- использование временной структуры.
Ограничения:
- простое попарное правило плохо решает глубокое назначение ответственности;
- обучение без меток не гарантирует признаки, полезные для задачи;
- необходимы конкуренция, торможение и гомеостаз;
- результаты чувствительны к частоте спайков;
- биологическая пластичность сложнее стандартной формулы.
STDP применялось для обучения распознаванию цифр без учителя совместно с латеральным торможением и адаптивными порогами.[1]
Обучение с учителем
SpikeProp
SpikeProp обучает время выходного спайка путём распространения временной ошибки назад по сети.[1]
Для целевого времени можно использовать ошибку
Градиент зависит от чувствительности времени пересечения порога к весам.
Ограничения SpikeProp:
- обычно предполагается небольшое число спайков;
- возникают проблемы, если нейрон не сгенерировал спайк;
- обучение чувствительно к начальному состоянию;
- расширение на глубокие рекуррентные сети сложно.
Потери по числу спайков
Для классификации задаётся целевое число спайков:
Также можно вычислять логиты по фильтрованной активности и применять перекрёстную энтропию:
Суррогатный градиент
В прямом проходе используется настоящая пороговая функция:
В обратном проходе её производная заменяется гладкой функцией:
Например,
Параметр управляет шириной области ненулевого градиента.
Сеть разворачивается на шагов, после чего применяется обратное распространение ошибки во времени:
Суррогатная производная не является истинной производной дискретного спайка. Это практическая аппроксимация, позволяющая использовать градиентную оптимизацию.[1]
Преимущества:
- обучение глубоких и рекуррентных SNN;
- использование оптимизаторов глубокого обучения;
- совместное обучение весов, порогов и постоянных времени;
- работа с различными функциями потерь.
Ограничения:
- хранение состояний всех временных шагов;
- высокая стоимость BPTT;
- затухание или взрыв градиентов;
- расхождение между прямой и обратной моделью;
- ограниченная биологическая правдоподобность;
- зависимость от формы суррогатной функции.
Обучение без учителя
Без учителя SNN могут формировать представления с помощью:
- STDP;
- конкурентного обучения;
- латерального торможения;
- гомеостатической пластичности;
- предсказания следующего события;
- реконструкции входного спайкового потока;
- контрастивного обучения;
- кластеризации спайковых представлений.
Локальные правила хорошо подходят для адаптации на устройстве, но обычно уступают глобально оптимизированным глубоким моделям на сложных классификационных задачах.
Обучение с подкреплением
В обучении с подкреплением локальная пластичность может модулироваться глобальным сигналом вознаграждения.
Трёхфакторное правило имеет вид
где
-
— локальный след пригодности;
-
— сигнал вознаграждения или ошибка предсказания вознаграждения.
След пригодности сохраняет информацию о недавних сочетаниях пре- и постсинаптической активности. Вознаграждение определяет знак и величину окончательного изменения.[1]
Спайковые сети также могут использоваться как политика или функция ценности в обычных алгоритмах глубокого обучения с подкреплением. В этом случае обновление вычисляется внешним оптимизатором, а не локальным биологическим правилом.
Локальные и онлайн-методы
Алгоритм e-prop разлагает градиент рекуррентной сети на локальные следы пригодности и обучающие сигналы:
Здесь — обучающий сигнал нейрона, а
— локально вычисляемый след. Подход уменьшает необходимость хранить полную историю сети и пригоден для онлайн-обучения, хотя является приближением полного BPTT.[1]
Преобразование ANN в SNN
Основная идея
Сначала обучается обычная сеть с активациями ReLU:
Затем активация заменяется частотой спайков:
Веса и пороги масштабируются так, чтобы частоты находились в допустимом диапазоне.
Методы преобразования поддерживают свёртки, нормализацию, объединение и некоторые остаточные архитектуры.[1]
Преимущества
- использование развитых методов обучения ANN;
- высокая точность исходной модели;
- отсутствие необходимости дифференцировать спайк;
- удобное развёртывание на нейроморфном оборудовании.
Ограничения
- частотное кодирование может требовать много шагов;
- возникает ошибка дискретизации частоты;
- не все функции ANN имеют точный спайковый аналог;
- временная динамика используется ограниченно;
- преобразованная сеть не обязательно энергоэффективна;
- требуется контроль активности и порогов.
Оптимизируемые параметры
В современных SNN обучаются не только веса:
- пороги;
- мембранные постоянные времени;
- синаптические постоянные времени;
- задержки;
- параметры адаптации;
- начальные состояния;
- структура связей;
- параметры кодировщика;
- параметры декодировщика.
Общая задача имеет вид
Регуляризатор может ограничивать число спайков:
или отклонение от целевой частоты:
Снижение числа спайков не гарантирует снижение энергии, если аппаратная система тратит значительную энергию на обновление состояний и маршрутизацию.
Общий алгоритм обучения суррогатным градиентом
Вход: набор данных D, SNN f_theta,
число временных шагов T.
Выход: параметры theta.
1. Инициализировать параметры нейронов и синапсов. 2. Для каждого мини-пакета: 2.1. Закодировать вход в спайковую последовательность. 2.2. Обнулить состояния сети. 2.3. Для t от 1 до T: а) вычислить синаптические токи; б) обновить мембранные потенциалы; в) сгенерировать спайки; г) применить сброс и рефрактерность; д) сохранить необходимые состояния. 2.4. Декодировать выход сети. 2.5. Вычислить функцию потерь. 2.6. Развернуть обратное распространение по времени. 2.7. Заменить производную порога суррогатной производной. 2.8. Обновить параметры оптимизатором. 3. Вернуть обученную сеть.
Нейроморфное аппаратное обеспечение
Архитектурные принципы
Традиционная архитектура фон Неймана разделяет память и вычислительное устройство. Передача весов и активаций между ними может составлять значительную часть задержки и энергии.
Нейроморфные процессоры стремятся:
- размещать память рядом с вычислением;
- обновлять только активные элементы;
- передавать разреженные события;
- использовать асинхронную маршрутизацию;
- поддерживать внутреннее состояние нейронов;
- реализовывать локальную пластичность;
- масштабировать сеть через множество ядер.
Спайк часто передаётся как адрес события:
где — идентификатор нейрона, а
— время.
Цифровые и аналоговые системы
Цифровые системы представляют состояние числами конечной разрядности.
Преимущества:
- воспроизводимость;
- программируемость;
- устойчивость к физическим вариациям;
- удобство интеграции с цифровыми системами.
Аналоговые системы используют физическую динамику токов и напряжений.
Преимущества:
- естественное решение дифференциальных уравнений;
- высокая скорость;
- потенциально низкая энергия.
Ограничения:
- разброс параметров;
- шум;
- сложность калибровки;
- ограниченная точность;
- трудность переноса модели.
Смешанные системы объединяют аналоговую нейронную динамику с цифровой маршрутизацией и управлением.
BrainScaleS
BrainScaleS — смешанная аналогово-цифровая платформа, развивавшаяся для ускоренного моделирования нейронной динамики. В ней аналоговые схемы реализуют нейроны и синапсы, а цифровая сеть передаёт события.
Раннее поколение использовало интеграцию на уровне кремниевой пластины и могло выполнять динамику значительно быстрее биологического времени.[1]
BrainScaleS-2 объединяет:
- аналоговые адаптивные нейроны;
- программируемые синапсы;
- цифровую маршрутизацию событий;
- встроенные процессоры;
- гибридную пластичность;
- ускоренное физическое моделирование.[1]
Преимущества:
- ускоренная динамика;
- параллельность;
- доступ к аналоговым состояниям;
- исследование пластичности.
Ограничения:
- аппаратный разброс;
- необходимость калибровки;
- ограничение доступной топологии;
- сложный программный стек;
- перенос модели требует аппаратно-зависимого обучения.
SpiNNaker
SpiNNaker — цифровая многоядерная система, ориентированная на моделирование больших SNN в биологическом реальном времени.[1]
Основные особенности:
- большое число программируемых процессорных ядер;
- пакетная передача спайков;
- аппаратная многоадресная маршрутизация;
- распределённая память;
- программная реализация моделей нейронов;
- поддержка биологических симуляций и робототехники.
Преимущества:
- гибкость моделей;
- масштабирование;
- работа в реальном времени;
- развитая событийная коммуникация.
Ограничения:
- нейронная динамика вычисляется программно;
- энергия выше, чем у некоторых специализированных схем;
- производительность зависит от нагрузки на маршрутизаторы;
- сложные модели уменьшают число нейронов на ядро.
IBM TrueNorth
TrueNorth — цифровой нейроморфный процессор, содержащий 4096 нейросинаптических ядер, около одного миллиона программируемых спайковых нейронов и 256 миллионов настраиваемых синапсов.[1]
Архитектура использует:
- событийную коммуникацию;
- локальную память;
- цифровые нейроны;
- низкоразрядные синаптические параметры;
- плиточное масштабирование ядер.
TrueNorth ориентирован прежде всего на энергоэффективный вывод. Общий механизм произвольного обучения весов непосредственно на кристалле не является его центральной функцией.
Преимущества:
- высокая плотность нейронов и синапсов;
- низкое энергопотребление при подходящих задачах;
- масштабируемая цифровая архитектура.
Ограничения:
- ограничения нейронной модели;
- ограничения точности весов;
- сложность отображения произвольных сетей;
- обучение обычно выполняется вне процессора.
Intel Loihi
Loihi — цифровой многоядерный исследовательский процессор с поддержкой спайковых нейронов, синаптических задержек, иерархических связей и программируемых локальных правил обучения.[1]
Особенности первого Loihi:
- около 130 тысяч нейронов;
- асинхронная событийная обработка;
- локальное состояние;
- встроенный механизм пластичности;
- программируемые задержки;
- распределённая маршрутизация.
Loihi 2 расширяет программируемость нейронной динамики, поддерживает более гибкие сообщения и используется совместно с открытой программной средой Lava.[1]
Преимущества:
- обучение на устройстве;
- низкая задержка при потоковых задачах;
- программируемые правила пластичности;
- масштабирование через многоядерные системы.
Ограничения:
- исследовательский, а не универсальный массовый процессор;
- аппаратные ограничения разрядности и маршрутизации;
- необходимость специализированного программирования;
- преимущество зависит от активности и структуры задачи.
DYNAP-SE
DYNAP-SE и DYNAP-SE2 относятся к смешанным асинхронным процессорам для событийных SNN. Аналоговые схемы реализуют нейронную и синаптическую динамику, а цифровая инфраструктура маршрутизирует события.
DYNAP-SE2 поддерживает несколько биологически мотивированных механизмов, включая адаптацию, задержки, кратковременную пластичность и проводимостные синаптические процессы.[1]
Платформа предназначена для исследований, потоковой сенсорной обработки и периферийных устройств с низким энергопотреблением.
Энергоэффективность
Энергия спайковой системы приближённо зависит от:
где
-
— обновление внутренних состояний;
-
— число спайков;
-
— стоимость маршрутизации события;
-
— число синаптических операций;
-
— стоимость синаптической операции;
-
— ввод и вывод данных.
Нейроморфная система может быть энергоэффективнее CPU или GPU, если:
- активность разрежена;
- данные поступают событиями;
- сеть хорошо помещается на аппаратуре;
- не требуется много временных шагов;
- коммуникация локальна;
- отсутствуют частые преобразования между спайковым и плотным представлением.
Утверждение, что любая SNN автоматически энергоэффективнее ANN, неверно. Сравнение должно выполняться при одинаковой точности, задержке, размере задачи и полном учёте ввода, вывода и подготовки данных.
Применения
Событийное компьютерное зрение
Событийная камера независимо фиксирует изменения яркости в каждом пикселе. Событие можно представить как
где
-
— координаты;
-
— время;
-
— знак изменения контраста.
Пиксель генерирует событие при условии
Такие сенсоры обеспечивают высокое временное разрешение, широкий динамический диапазон и разреженный поток данных.[1]
Задачи:
- распознавание жестов;
- оптический поток;
- сопровождение объектов;
- оценка движения;
- обнаружение событий;
- быстрая навигация;
- распознавание объектов.
Ограничения:
- отсутствие абсолютной яркости в чистом потоке событий;
- шумовые события;
- сложность стандартизации данных;
- необходимость специальных алгоритмов.
Робототехника
SNN применяются для:
- управления движением;
- уклонения от препятствий;
- сенсомоторной координации;
- локализации;
- управления манипуляторами;
- реактивного поведения;
- адаптации на устройстве.
Событийная обработка особенно полезна, когда требуется малая задержка и сенсор работает непрерывно. Для сложного планирования SNN часто объединяются с традиционными алгоритмами управления.
Автономные системы
В автономных системах нейроморфные модели исследуются для:
- потокового восприятия;
- обнаружения опасных изменений;
- навигации беспилотных аппаратов;
- локальной обработки без облака;
- энергоограниченных мобильных платформ.
Для критически важных приложений требуются верификация, оценка устойчивости и резервные контуры управления.
Сенсорные сети
В распределённых сенсорных сетях события могут передаваться только при изменении сигнала. Это уменьшает:
- объём коммуникации;
- время активности радиоканала;
- нагрузку на центральный узел;
- энергопотребление постоянно работающих датчиков.
Применения включают мониторинг вибраций, звука, окружающей среды и промышленного оборудования.
Распознавание речи и звука
Аудиосигнал может кодироваться:
- частотой спайков;
- событиями в частотных каналах;
- моделью улитки;
- временем пересечения порогов;
- дельта-модуляцией.
Рекуррентные SNN способны обрабатывать временную структуру речи и выполнять распознавание ключевых слов. Преимущество наиболее заметно при непрерывной работе на периферийном устройстве.
Анализ временных рядов
Спайковые сети применяются к:
- промышленным сигналам;
- финансовым последовательностям;
- сетевому трафику;
- показаниям датчиков;
- обнаружению аномалий;
- прогнозированию событий.
Для медленно меняющихся плотных рядов предварительное преобразование в спайки может не давать преимущества.
Медицинская диагностика
Исследовательские применения включают:
- анализ ЭЭГ;
- классификацию ЭКГ;
- обнаружение приступов;
- анализ нейронных записей;
- интерфейсы мозг — компьютер;
- носимые диагностические устройства.
Основные ограничения:
- небольшие и неоднородные выборки;
- различия между пациентами;
- требования к интерпретируемости;
- клиническая валидация;
- цена ошибок.
Энергоэффективный искусственный интеллект
Нейроморфные системы рассматриваются для:
- постоянно включённых датчиков;
- умных камер;
- слуховых устройств;
- носимой электроники;
- мобильных роботов;
- периферийной аналитики;
- адаптации без передачи данных в облако.
Сравнение с другими архитектурами
| Подход | Представление данных | Временная динамика | Вычислительная стоимость | Энергоэффективность | Задержка | Масштабируемость | Преимущества | Ограничения |
|---|---|---|---|---|---|---|---|---|
| Спайковая нейронная сеть | Спайки и внутреннее состояние | Явная | Зависит от числа шагов и спайков | Потенциально высокая на событийном оборудовании | Низкая при временном коде; высокая при длинном частотном окне | Ограничена маршрутизацией и средствами обучения | Разреженность, потоковая обработка, локальная память | Сложное обучение, незрелые стандарты |
| Классическая полносвязная ANN | Плотные векторы | Обычно отсутствует | Матричные умножения | Хорошо оптимизирована на современных ускорителях | Низкая для малых сетей | Высокая | Простота обучения и реализации | Не использует событийную структуру |
| Свёрточная нейронная сеть | Регулярные пространственные тензоры | Обычно отсутствует | Свёртки по всем позициям | Высокая на специализированных ускорителях | Предсказуемая | Высокая | Сильная пространственная индуктивная структура | Неестественна для асинхронных событий без адаптации |
| Рекуррентная нейронная сеть | Последовательность плотных векторов | Явная | Последовательные матричные операции | Зависит от оборудования и длины последовательности | Растёт с длиной | Ограничена последовательной зависимостью | Работа с временными зависимостями | Трудности обучения длинной памяти |
| Трансформер | Последовательность токенов | Через позиционное кодирование и внимание | Полное внимание порядка | Обычно требует значительных вычислений | Высокая для длинного контекста | Хорошая на параллельном оборудовании, но требовательна к памяти | Гибкое моделирование дальних зависимостей | Высокая стоимость внимания |
| Обычное глубокое обучение | Плотные или структурированные тензоры | Зависит от архитектуры | Хорошо поддерживается GPU и TPU | Высокая эффективность при пакетной обработке | Может быть высокой из-за пакетной обработки | Очень высокая программная зрелость | Качество, инструменты, большие модели | Энергия и память для непрерывных потоков |
SNN и CNN
Спайковая свёрточная сеть сохраняет пространственные ядра CNN, но активации заменяются спайковой динамикой:
SNN не отменяет свёртку. Она изменяет представление активаций и способ вычисления во времени.
SNN и RNN
LIF-нейрон уже обладает рекуррентным состоянием:
Поэтому даже прямой слой SNN имеет временную память. Однако классическая RNN передаёт плотное непрерывное состояние, а SNN может передавать разреженные бинарные события.
SNN и трансформеры
Спайковые трансформеры объединяют:
- спайковое кодирование;
- внутреннюю нейронную динамику;
- механизмы внимания;
- остаточные связи;
- нормализацию.
Если внимание вычисляется обычными плотными матричными операциями, модель может потерять значительную часть нейроморфной эффективности. Энергетическое преимущество зависит от реализации внимания и разреженности.
Преимущества
Временная выразительность
SNN непосредственно моделирует:
- время спайка;
- интервалы;
- порядок событий;
- задержки;
- адаптацию;
- временное накопление.
Разреженные вычисления
При низкой частоте спайков выполняется меньше синаптических операций.
Низкая задержка
Временное кодирование может позволить принять решение после первых информативных событий, не ожидая полного кадра или длинного окна.
Локальное обучение
STDP и трёхфакторные правила могут выполняться рядом с синаптической памятью.
Потоковая обработка
Сеть естественно поддерживает состояние между событиями и не требует повторно обрабатывать неизменившийся вход.
Энергоэффективность на периферии
Сочетание событийных сенсоров, SNN и специализированного процессора уменьшает перемещение данных и может быть эффективно в постоянно включённых системах.
Ограничения
Сложность обучения
Дискретность спайков, рекуррентность и временное разворачивание усложняют оптимизацию.
Временная стоимость
Если сеть использует частотное кодирование и сотни шагов, задержка и число операций могут превысить стоимость обычной ANN.
Разрыв между программным обучением и аппаратным выполнением
Обученная модель может использовать:
- высокую точность весов;
- операции, отсутствующие на процессоре;
- слишком большую связность;
- неподдерживаемые задержки;
- слишком много состояний.
После отображения на оборудование точность может снизиться.
Ограниченная стандартизация
Платформы различаются:
- моделями нейронов;
- форматами событий;
- разрядностью;
- правилами пластичности;
- топологией;
- программными средствами.
Перенос одной модели между процессорами сложнее, чем перенос обычной сети между GPU.
Проблемы масштабирования обучения
Полный BPTT требует памяти порядка
где — число шагов, а
— число сохраняемых состояний.
Для сокращения памяти применяются:
- усечённое BPTT;
- контрольные точки;
- обратимое вычисление;
- локальные потери;
- следы пригодности;
- онлайн-обучение.
Аппаратные вариации
В аналоговых системах одинаковые параметры модели могут давать разные физические значения. Требуются:
- калибровка;
- аппаратно-ориентированное обучение;
- компенсация шума;
- устойчивые модели;
- обучение в аппаратном контуре.
Ограниченная биологическая правдоподобность
Использование спайков не делает сеть моделью мозга. Типичные SNN могут игнорировать:
- сложные дендриты;
- нейромодуляцию;
- глию;
- структурную пластичность;
- многообразие каналов;
- метаболические ограничения;
- анатомическую организацию.
Сложность честного сравнения
Нельзя сравнивать только число спайков и число операций. Необходимо учитывать:
- точность;
- задержку;
- энергопотребление всей системы;
- ввод и вывод;
- предварительное кодирование;
- размер пакета;
- технологический процесс;
- разрядность;
- стоимость обучения;
- стоимость маршрутизации.
Когда применение SNN оправдано
SNN особенно полезны, если:
- данные поступают асинхронными событиями;
- важна точная временная структура;
- устройство работает непрерывно;
- энергобюджет ограничен;
- требуется малая задержка;
- обработка выполняется рядом с сенсором;
- нужна локальная адаптация;
- активность естественно разрежена.
Обычная нейронная сеть может быть предпочтительнее, если:
- вход представляет плотный статический тензор;
- доступен эффективный GPU;
- энергия не является главным ограничением;
- требуется максимальная точность на стандартном наборе данных;
- отсутствует нейроморфное оборудование;
- временное кодирование не несёт полезной информации;
- преобразование в спайки только увеличивает сложность.
Практический порядок разработки
- Определить, содержит ли задача событийную или временную структуру.
- Выбрать кодирование входа.
- Выбрать модель нейрона.
- Определить временной шаг и горизонт моделирования.
- Выбрать архитектуру и декодер.
- Определить способ обучения.
- Добавить ограничение спайковой активности.
- Сравнить с обычной ANN одинакового размера.
- Измерить точность и задержку.
- Измерить число спайков и синаптических операций.
- Выполнить оценку на целевом оборудовании.
- Проверить устойчивость к шуму, пропущенным событиям и вариациям параметров.
Современные направления
- глубокие SNN с суррогатными градиентами;
- обучение с малым числом временных шагов;
- спайковые трансформеры;
- локальное онлайн-обучение;
- совместное обучение нейронных и синаптических постоянных времени;
- обучение задержек;
- гибридные ANN–SNN;
- событийные графовые сети;
- спайковое обучение с подкреплением;
- самоконтролируемое обучение событийных данных;
- аппаратно-ориентированная оптимизация;
- обучение непосредственно на нейроморфном процессоре;
- аналоговые вычисления в памяти;
- нейроморфные сенсоры нескольких модальностей;
- стандартизированное сравнение энергии и задержки;
- моделирование дендритных вычислений;
- структурная пластичность;
- масштабируемые нейроморфные системы.
См. также
- Машинное обучение
- Глубокое обучение
- Нейронные сети
- Искусственная нейронная сеть
- Спайковая нейронная сеть
- Вычислительная нейробиология
- Нейрон
- Синапс
- Мембранный потенциал
- Потенциал действия
- Синаптическая пластичность
- Событийные вычисления
- Событийная камера
- Обучение с подкреплением
- Обучение без учителя
- Обратное распространение ошибки
- Обратное распространение ошибки во времени
- Рекуррентная нейронная сеть
- Свёрточная нейронная сеть
- Трансформер
- Робототехника
- Компьютерное зрение
- Временной ряд
- Встраиваемая система
- Вычисления в памяти
- Энергоэффективные вычисления
Примечания
Литература
- Dayan P., Abbott L. F. Theoretical Neuroscience: Computational and Mathematical Modeling of Neural Systems. — Cambridge, Massachusetts: MIT Press, 2001. — ISBN 978-0-262-04199-7
- Gerstner W., Kistler W. M., Naud R., Paninski L. Neuronal Dynamics: From Single Neurons to Networks and Models of Cognition. — Cambridge: Cambridge University Press, 2014. — ISBN 978-1-107-06083-8
- Gerstner W., Kistler W. M. Spiking Neuron Models: Single Neurons, Populations, Plasticity. — Cambridge University Press, 2002. — ISBN 978-0-521-89079-3
- McCulloch W. S., Pitts W. A Logical Calculus of the Ideas Immanent in Nervous Activity // Bulletin of Mathematical Biophysics. — 1943. — Т. 5. — С. 115—133.
- Hodgkin A. L., Huxley A. F. A Quantitative Description of Membrane Current and Its Application to Conduction and Excitation in Nerve // The Journal of Physiology. — 1952. — Т. 117. — № 4. — С. 500—544.
- Mead C. Neuromorphic Electronic Systems // Proceedings of the IEEE. — 1990. — Т. 78. — № 10. — С. 1629—1636.
- Maass W. Networks of Spiking Neurons: The Third Generation of Neural Network Models // Neural Networks. — 1997. — Т. 10. — № 9. — С. 1659—1671.
- Bi G. Q., Poo M. M. Synaptic Modifications in Cultured Hippocampal Neurons: Dependence on Spike Timing, Synaptic Strength, and Postsynaptic Cell Type // The Journal of Neuroscience. — 1998. — Т. 18. — № 24. — С. 10464—10472.
- Bohté S. M., Kok J. N., La Poutré H. Error-Backpropagation in Temporally Encoded Networks of Spiking Neurons // Neurocomputing. — 2002. — Т. 48. — № 1—4. — С. 17—37.
- Izhikevich E. M. Simple Model of Spiking Neurons // IEEE Transactions on Neural Networks. — 2003. — Т. 14. — № 6. — С. 1569—1572.
- Brette R., Gerstner W. Adaptive Exponential Integrate-and-Fire Model as an Effective Description of Neuronal Activity // Journal of Neurophysiology. — 2005. — Т. 94. — № 5. — С. 3637—3642.
- Florian R. V. Reinforcement Learning Through Modulation of Spike-Timing-Dependent Synaptic Plasticity // Neural Computation. — 2007. — Т. 19. — № 6. — С. 1468—1502.
- Lichtsteiner P., Posch C., Delbruck T. A 128×128 120 dB 15 μs Latency Asynchronous Temporal Contrast Vision Sensor // IEEE Journal of Solid-State Circuits. — 2008. — Т. 43. — № 2. — С. 566—576.
- Schemmel J., Brüderle D., Grübl A., Hock M., Meier K., Millner S. A Wafer-Scale Neuromorphic Hardware System for Large-Scale Neural Modeling // 2010 IEEE International Symposium on Circuits and Systems. — 2010.
- Furber S. B., Galluppi F., Temple S., Plana L. A. The SpiNNaker Project // Proceedings of the IEEE. — 2014. — Т. 102. — № 5. — С. 652—665.
- Merolla P. A. et al. A Million Spiking-Neuron Integrated Circuit with a Scalable Communication Network and Interface // Science. — 2014. — Т. 345. — № 6197. — С. 668—673.
- Diehl P. U., Cook M. Unsupervised Learning of Digit Recognition Using Spike-Timing-Dependent Plasticity // Frontiers in Computational Neuroscience. — 2015. — Т. 9. — С. 99.
- Rueckauer B., Lungu I. A., Hu Y., Pfeiffer M., Liu S. C. Conversion of Continuous-Valued Deep Networks to Efficient Event-Driven Networks for Image Classification // Frontiers in Neuroscience. — 2017. — Т. 11. — С. 682.
- Davies M. et al. Loihi: A Neuromorphic Manycore Processor with On-Chip Learning // IEEE Micro. — 2018. — Т. 38. — № 1. — С. 82—99.
- Zenke F., Ganguli S. SuperSpike: Supervised Learning in Multilayer Spiking Neural Networks // Neural Computation. — 2018. — Т. 30. — № 6. — С. 1514—1541.
- Bellec G., Scherr F., Subramoney A., Hajek E., Salaj D., Legenstein R., Maass W. A Solution to the Learning Dilemma for Recurrent Networks of Spiking Neurons // Nature Communications. — 2020. — Т. 11. — С. 3625.
- Pehle C., Billaudelle S., Cramer B., Kaiser J., Schreiber K., Stradmann Y., Weis J., Leibfried A., Müller E., Schemmel J. The BrainScaleS-2 Accelerated Neuromorphic System with Hybrid Plasticity // Frontiers in Neuroscience. — 2022. — Т. 16. — С. 795876.
- Richter O., Wu C., Whatley A. M., Köstinger G., Nielsen C., Qiao N., Indiveri G. DYNAP-SE2: A Scalable Multi-Core Dynamic Neuromorphic Asynchronous Spiking Neural Network Processor // Neuromorphic Computing and Engineering. — 2024. — Т. 4. — № 1. — С. 014003.
- Intel Labs Taking Neuromorphic Computing to the Next Level with Loihi 22026-07-19.

