Моделирование самообучающейся спайковой (импульсной) нейронной сети для отслеживания движения.
Постановка проблемы.
Данные, которые приходится анализировать в нейропротезировании, представляют собой асинхронный поток импульсов (например, сигналы с искусственной сетчатки или с матрицы электродов, вживленных в кору головного мозга). Для передачи биологических сигналов (например, по Wi-Fi c матрицы электродов) используется протокол представления данных адрес-событие (AER), согласно которому передается адрес пиксела, в котором произошло изменения.
Использование сверточных нейронных сетей для обработки такого рода сигналов затруднено из-за асинхронной активизации пикселей входных датчиков и непрерывности потока.
Самообучающиеся импульсные (спайковые) нейронные сети, в которых для самообучения применяются модели пластичности, зависимой от времени импульса (spike-timing-dependent plasticity) наиболее близки по принципу работы к биологическим нейронным сетям. Однако, их реализация на существующей компьютерной архитектуре подразумевает распараллеливание потока входных данных (на количество используемых ядер) для повышения скорости обработки и крайне неэффективна при работе с большими потоками данных. Использование мемристорной платформы, позволит реализовать модель пластичности, зависимой от времени импульса, на аппаратном уровне. В этом случае веса связей между нейронами (синапсов) будут изменяться физически, а не на программном уровне, что значительно повысит эффективность обработки импульсных биологических сигналов.
Кейс подразумевает создание модели импульсной нейронной сети с алгоритмами самообучения, реализуемыми в биологических нейронных сетях (spike-timing-dependent plasticity). В качестве входных данных для модели импульсной нейронной сети предлагается использовать тестовый dataset динамического видеодатчика DVS (dynamic vision sensor, отслеживает движение и используется в протезах сетчатки).
Модель самообучающейся импульсной нейронной сети должна распознавать траектории движения тестового объекта.
Исходные данные: тестовый набор восьми траекторий движения мячика в AER (address-event representation) формате.
Описание архитектуры самообучающейся спайковой нейронной сети
1. Входные данные – массив импульсов (28 х 28), с приемной части динамического видеодатчика. Данные передаются на вход нейронной сети в по AER (address-event representation) протоколу. Изменению состояния пиксела входной матрицы видеодатчика соответствует событие. Каждое событие занимает 40 бит входных данных [биты 39:32 – X адрес пиксела; биты 31:24 – Y адрес пиксела; бит 23 - полярность (направление движения); биты 22:0 - время в микросекундах].
2. На каждый пиксел входной матрицы приходится две связи (синапса) с выходным нейроном сети. Каждая связь определяет полярность (направление движения) события. Каждый выходной нейрон соединен со всеми пикселами входной матрицы синапсами. Количество связей (синапсов), приходящихся на каждый выходной нейрон - 2 х 28 х 28.
3. Выходной нейрон работает по принципу «интегрировать - и - сработать» с утечками. Нейрон генерирует выходной импульс, если за время tleak происходит превышение заданного уровня (Ithres) сигнала на входе u. Между двумя входными импульсами (спайками) значение сигнала u на входе нейрона получается решением уравнения:
Обновление (апдейт) состояния нейрона происходит только в моменты поступления на его вход импульсов tspike. Уровень сигнала на входе нейрона в момент поступления импульса определяется:
Где – изменяющийся вес связи (синапса) входного пиксела с нейроном (правила изменения веса связи изложены ниже).
После того, как уровень входного сигнала u нейрона превысит пороговый генерируется выходной импульс, который поступает на все связи (синапсы) сети. Значение сигнала u обнуляетсяи не изменяется в течение времени Trefrac (рефрактерный период).
4. Алгоритм реализации самообучения нейронной сети
1-ое правило «модель пластичности, зависимая от времени импульса» (spike-timing-dependent plasticity). В момент генерации выходного импульса (post-spike) нейроном, веса всех связей (синапсов) сети уменьшаются на величину , за исключением тех связей (синапсов) на которые был подан входной импульс (pre-spike) в течение промежутка времени TLTP до момента генерации выходного импульса. Вес связей (синапсов), на которые поступил входной импульс в промежуток времени
увеличивается на величину
.
Обновление (апдейт) весов связей происходит в момент генерации выходного импульса по правилам:
– параметры связи, обеспечивающие оптимальную работы нейронной сети.
- максимально и минимально возможное значение веса связи.
2-ое правило «латеральное торможение» (латеральное ингибирование) нейронов. В момент генерации выходного импульса каким-либо нейроном дезактивируются (ингибируются) все оставшиеся нейроны сети на время Tinhibit (время ингибирования). В течение этого промежутка времени нейроны перестают интегрировать входной сигнал u. Время ингибирования складывается с периодом рефрактерности нейрона Trefrac, если .
5. В начальный момент времени веса связей равномерно распределены. Рекомендуется подбирать параметры связей таким образом, чтобы . Для оптимизации параметров связей и характеристических временных периодов нейронной сети рекомендуется использовать генетический алгоритм.
Возможные параметры связей и характеристических временных периодов спайковой нейронной сети для отслеживания движения со скоростью 480 пикселей /сек (при размере входной матрицы 16 х 16) приведены в таблицах ниже:
Параметр | Значение | Описание |
![]() | 40 000 | Определяет селективность нейрона |
![]() | 2 мсек | Определяет временной масштаб работы единичного нейрона. |
![]() | 10 мсек | Должно быть больше, чем ![]() |
![]() | 1,5 мсек | Определяет минимальное время между последовательными моментами отслеживаемой траектории |
![]() | 5 мсек | Должно быть немного больше, чем временной масштаб работы единичного нейрона |
![]() | 1 ± 0,2 | Минимальный вес связи |
![]() | 1000 ± 200 | Максимальный вес связи |
![]() | 800 ± 160 | Исходный вес связи (в начальный момент времени) |
![]() | 50 ± 10 | Декремент веса связи |
![]() | 100 ± 20 | Инкремент веса связи |
![]() | Декремент ослабления веса связи | |
![]() | Инкремент усиления веса связи |
Проверка работоспособности импульсной нейронной сети: для проверки работы импульсной нейронной сети дается тестовый dataset, содержащий набор траекторий тестового объекта. Сеть должна определить количество траекторий движения объекта для разных направлений.