Российские нанотехнологии, 2021, T. 16, № 6, стр. 833-838

ВХОДНОЕ УСТРОЙСТВО БИОМОРФНОГО НЕЙРОПРОЦЕССОРА НА ОСНОВЕ МЕМРИСТОРНО-ДИОДНОГО КРОССБАРА ДЛЯ ИМПУЛЬСНОГО КОДИРОВАНИЯ ИНФОРМАЦИИ

А. Н. Бусыгин 1, А. Х. Ибрагим 1, А. Д. Писарев 1, С. Ю. Удовиченко 1*

1 Тюменский государственный университет
Тюмень, Россия

* E-mail: udotgu@mail.ru

Поступила в редакцию 14.05.2021
После доработки 11.06.2021
Принята к публикации 11.06.2021

Полный текст (PDF)

Аннотация

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

ВВЕДЕНИЕ

В [1] представлена разработка биоморфного (биоподобного) нейропроцессора на основе нового компонента наноэлетроники – мемристорно-диодного кроссбара с биполярными мемристорами для традиционных задач обработки информации, а также для воспроизведения работы кортикальной колонки мозга или ее фрагмента. Нейропроцессор реализует импульсную аппаратную нейросеть с помощью оригинальных электрической и программной биоморфных моделей нейрона [2]. На сегодня аналогов разработанного биоморфного нейропроцессора не существует. Уникальность нейропроцессора состоит в том, что он построен на основе развитой электрической биоподобной модели нейрона и содержит аппаратную реализацию биоморфной нейросети [2].

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

Существует несколько способов кодирования информации, представляющей собой набор величин (яркости пикселей, амплитуды составляющих частот звукового сигнала) с определенными значениями, в импульсы: кодирование одной величины на индивидуальном входном нейроне, позиционное кодирование и промежуточный вариант – популяционное кодирование. Позиционное кодирование отображает входные значения по принципу “значение–позиция”, т.е. каждому уникальному значению соответствует свой входной нейрон. Очевидно, что такой способ кодирования является неэффективным из-за использования большого количества нейронов. Один входной нейрон и небольшая популяция входных нейронов могут кодировать величину в задержку импульсов [36] или в частоту [3, 7, 8]. Причем кодирование в задержки импульсов в цитируемых работах выполнено программными методами. В [7] представлены результаты кодирования информации в среднюю частоту последовательности импульсов по логарифмическому закону (закону Вебера–Фехнера) в программной импульсной нейросети. Моделирование в [8] демонстрирует подобное преобразование в электрической схеме с мемристором.

Возможность аппаратной реализации одновременного (комбинированного) кодирования информации на одном входном нейроне в частоту и задержки представлена в [9]. В частоту кодируется само значение кодируемой величины, а в задержку – производная этой величины во времени, что позволяет нейросети быстрее реагировать на изменения входного сигнала за счет большего объема передаваемой информации в единицу времени.

Популяционное кодирование отличается от кодирования на одном входном нейроне тем, что несколько нейронов позволяют быстрее обрабатывать величину, имеющую множество значений. Это кодирование позволяет обеспечить избыточность информации с наименьшими накладными расходами по сравнению с другими способами кодирования за счет перекрытия рецепторных полей (настроечных кривых) входных нейронов [5]. Избыточность представления информации увеличивает отказоустойчивость способа кодирования. С другой стороны, для реализации такого кодирования требуется электрическая схема с большим количеством элементов. Способ популяционного кодирования, наблюдаемый в биологических нейронных сетях [10], учитывает пространственную производную входного числа (яркости) в отличие от учета временной производной в [9].

В настоящее время частично реализовано аппаратное популяционное кодирование в частоту на транзисторных сверхбольших интегральных схемах (СБИС) [11] и в задержки с помощью программируемых логических интегральных схем (ПЛИС) [12]. Для построения законченной схемы кодирующего устройства в эти схемы необходимо добавить преобразователь выходного сигнала в импульсы. Использование указанных устройств во входном блоке биоморфного нейропроцессора не эффективно с точки зрения занимаемой площади и энергопотребления.

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

ОБЪЕКТЫ И МЕТОДЫ ИССЛЕДОВАНИЯ

Аппаратное кодирование информации в импульсы на основе мемристорно-диодного кроссбара. Схема импульсного кодирования информации построена с использованием сверхбольшой логической матрицы на основе комбинированного мемристорно-диодного кроссбара [1]. Моделирование процессов деградации логических уровней, вызванных паразитными токами в комбинированном мемристорно-диодном кроссбаре, в программе SPICE (Simulation Program with Integrated Circuit Emphasis) позволило определить максимально возможный размер логической матрицы N × N = 1010 при предельной деградации напряжения выходного сигнала до 65%. На рис. 1 сплошной линией показана деградация выходного напряжения в используемой матрице с ячейками 1D1M, а для сравнения пунктирами – деградация напряжения при двух соотношениях предельных сопротивлений открытого и закрытого мемристора (R = Roff/Ron = 100 и 1000) в логическом массиве ячеек 4T1M Levy [13]. Кривые затухания в матрице 1D1M для R = 100 и R = 1000 на рис. 1 совпадают, поскольку основной вклад в затухание выходного напряжения вносит величина Ron, а значение R при моделировании менялось за счет Roff при постоянном Ron. Сплошная кривая достигает 80% уровня первоначального напряжения 1 В из-за влияния диода Зенера, открывающегося в прямом смещении при 0.3 В.

Рис. 1.

Затухание логического сигнала от количества ячеек в массивах размером N × N.

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

Функциональная схема кодирующего устройства для одного числа представлена на рис. 2. При кодировании нескольких чисел (яркостей пикселей, амплитуд образа косинусного преобразования) необходимо использовать несколько кодирующих устройств параллельно.

Рис. 2.

Функциональная схема кодирующего устройства одного числа.

Кодирующее устройство одного числа содержит две программируемые логические матрицы на основе комбинированного мемристорно-диодного кроссбара [1] и набора устройств задержек. Электрическая схема устройства, реализующая все указанные виды импульсного кодирования, представлена на рис. 3. Для простоты схема на рисунке имеет двухбитный вход, две линии задержки и два выходных канала.

Рис. 3.

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

В мемристорно-диодном кроссбаре логической матрицы реализуются логические вентили И (конъюнкции) на основе диодно-резистивной логики с возможностью отключения любых входов вентиля путем изменения сопротивления мемристоров. Инверторы на выходе служат для восстановления значений напряжений логических уровней. В первой матрице вместо источника напряжения для подтягивающих резисторов подключены линии задержки, а вторая матрица используется без изменений. Матрицы подключены последовательно и запрограммированы на реализацию совершенной дизъюнктивной нормальной формы, коммутирующей импульсы с линий задержек на выходы в зависимости от входного двоичного числа. Точность представления входного числа определяется количеством используемых бит, а точность выходного отображения – набором величин задержек. Кодирование происходит при поступлении от управляющей схемы импульса, запускающего выборку входного числа. Линии задержки построены на базе двух RC-цепей и логических вентилей. Постоянная времени первой интегрирующей RC-цепи определяет величину задержки. Задержка является программируемой величиной, поскольку в качестве резистора используется мемристор. Вторая RC-цепь отвечает за ширину выходного импульса.

Для увеличения разрядности входного числа необходимо добавить соответствующие горизонтальные проводники в первой логической матрице. Увеличение числа доступных задержек приведет к росту числа вертикальных проводников в обеих матрицах. Число выходов соответствует числу горизонтальных проводников мемристорно-диодного кроссбара второй логической матрицы.

Расчет кодирующего устройства выполняли в оригинальной специализированной программе MDC-SPICE для расчета больших электрических схем, содержащих мемристорно-диодные кроссбары. Эта модель является модифицированной версией SPICE подобной модели NG SPICE. При расчете больших схем использовали модель мемристора [14], в которой изменения параметра состояния дополнительно жестко фиксировались в интервале от 0 до 1. Такое ограничение необходимо из-за неабсолютной точности рациональных чисел в компьютерной системе, приводящей к выходу параметра состояния за границы допустимого интервала и, как следствие, к неправильной работе модели. Кроме этого, с целью ускорения расчета нелинейная вольт-амперная характеристика диода Зенера была упрощена и представлена в виде трех прямых линий. Таким образом, модель заменяет диод резистором с соответствующим значением сопротивления. Вносимая при упрощении ошибка мала, когда мемристорно-диодный кроссбар работает в цифровом режиме и напряжение на диодах Зенера не приближается к пороговым значениям открытия и обратного пробоя диода.

РЕЗУЛЬТАТЫ И ИХ ОБСУЖДЕНИЕ

При кодировании одного числа популяцией нейронов задействовано несколько выходов в матрице дизъюнкций (рис. 2, 3). На рис. 4, 5 приведены результаты SPICE-моделирования процессов популяционного кодирования числа в задержки и частоту импульсов соответственно, выполненного по схеме, представленной на рис. 3 и включающей три нейрона.

Рис. 4.

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

Рис. 5.

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

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

Функциональная схема и соответствующая ей электрическая схема одновременного кодирования популяцией нейронов пространственной производной входного числа в частоту и значения входного числа в задержки импульсов построены путем параллельного включения нескольких схем популяционного кодирования в задержки импульсов (рис. 4). При этом импульсы с одинаковых выходов перенаправляются на общий выход логическим элементом ИЛИ. Если входные числа отдельных схем кодирования, например числа, отвечающие яркости соседних пикселей изображения, различаются, то выходные частоты нейронов увеличатся, поскольку соответствующие задержки различаются. В этом случае кроме производных входных чисел по времени в частоту закодирована производная яркости пикселя по пространственным координатам изображения.

На рис. 6 представлен результат SPICE моделирования процесса кодирования двух входных чисел n0 и n1 тремя виртуальными нейронами одновременно в задержки и частоту импульсов. Число n0 линейно возрастало во времени от 1 до 7, а n1, наоборот, убывало с 7 до 1 (рис. 5a). Настроечные кривые нейронов такие же, как при моделировании кодирования одного числа в задержку популяцией нейронов (рис. 4в).

Рис. 6.

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

Входные числа n0 и n1 кодируются своими подсхемами в задержки импульсов. Поскольку выходы двух кодирующих подсхем объединены логикой ИЛИ, выходные сигналы смешиваются. Если входные числа n0 и n1 равны, то на выходе присутствует только по одному импульсу на каждом канале. Если n0 и n1 различаются, то на каждом выходном канале наблюдаются два импульса. Таким образом, при различии в значениях n0 и n1 выходная частота удваивается, что соответствует отличию от нуля пространственной производной входных чисел (яркости пикселей).

Аппаратная реализация функции преобразования для популяционного кодирования на транзисторных ПЛИС требует на один канал 102.2 тысячи логических вентилей, состоящих минимум из двух транзисторов [12]. Для обслуживания 500 входов запоминающей матрицы потребуется ПЛИС с более 50 млн. вентилей. В то время как  при использовании мемристорно-диодного кроссбара число вентилей равно удвоенному числу линий задержек. Для достижения такой же точности, что и при использовании восьмибитных чисел в ПЛИС, предлагаемая схема на мемристорном кроссбаре с применением смешанных аналогово-цифровых вычислений потребует 256 линий задержек и, соответственно, число инверторов в одном выходном канале составит 512. Максимальная потребляемая мощность ПЛИС, в которой реализованы 24 входных нейрона, составляет 2 Вт, т.е. 83 мВт на канал [12], в то время как в кроссбаре один канал потребляет 54 мкВт. В СБИС реализация функции преобразования при точности чисел восемь бит требует 3344 транзистора на канал [11]. Поскольку данная схема является полностью аналоговой, она потенциально имеет высокое энергопотребление. Для построения полноценного кодирующего устройства необходима схема преобразования выходного сигнала в импульсы, которая потребует дополнительной площади на кристалле. Например, в ПЛИС такой преобразователь можно реализовать на основе счетчика и логического компаратора, а для схемы [11] – на основе интегратора и триггера Шмитта. Таким образом, применение логических матриц на основе мемристорно-диодного кроссбара в кодирующем устройстве позволяет минимизировать занимаемую площадь на кристалле и энергопотребление устройства.

Одновременное кодирование значения яркости пикселей в задержки и пространственной производной яркости в частоту наблюдается в биологических нейронных сетях и позволяет передать больше визуальной информации, чем кодирование только в частоту или задержку, за то же время [10]. Предложенная схема одновременного кодирования популяцией нейронов пространственной производной входного числа в частоту, а также значения входного числа в задержки импульсов дополнительно позволяет кодировать производную входной величины во времени. Такая схема более предпочтительна по сравнению с возможной аппаратной реализацией одновременного кодирования на одном нейроне значения входной величины в частоту и в задержку ее производной во времени [9]. Она позволяет быстрее реагировать на изменения входного сигнала за счет большего объема передаваемой информации.

ЗАКЛЮЧЕНИЕ

Разработано универсальное кодирующее устройство, электрическая схема которого построена с использованием логических матриц на основе мемристорно-диодного кроссбара [1] и позволяет реализовывать различные способы кодирования входной информации для импульсной нейросети. С помощью SPICE-моделирования в оригинальной специализированной модели MDC-SPICE показана работоспособность электрической схемы кодирующего устройства в следующих режимах работы: популяционное кодирование двоичного числа в частоту, в задержки, а также одновременное в частоту и в задержки тремя виртуальными нейронами. Режим одновременного кодирования популяцией виртуальных нейронов, обладающий самой высокой отказоустойчивостью, передает большее количество информации по сравнению с другими режимами, поскольку учитывает значение кодируемого числа вместе с его производными в пространстве и во времени. Подобное кодирование наблюдается в биологических нейронных сетях [10], но без учета производной во времени.

Кодирующее устройство способно формировать импульсы напряжения произвольной длительности, в том числе биоморфные импульсы длительностью 1–2 мс. Искусственные нейронные сети с такими импульсами будут работать со скоростью биологических нейронных сетей, что можно применить в биотехнологиях, например в нейропротезировании.

Предложенная аппаратная реализация кодирующего устройства обладает меньшим энергопотреблением, чем реализации на транзисторных ПЛИС. Кроме этого, электрическая схема входного блока на основе мемристорно-диодного кроссбара имеет высокую интеграцию элементов, что требуется для обслуживания сверхбольшой запоминающей матрицы нейропроцессора с числом ячеек, равным 106. Так как в одной миниколонке неокортекса, предназначенной для распознания элементарных признаков образа и обеспечения оперативной памяти, в среднем находится 102 нейронов, то запоминающая матрица такого объема может имитировать работу пятой части гиперколонки, служащей для комплексного объединения элементарных признаков.

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

Работа выполнена при финансовой поддержке Российского фонда фундаментальных исследований (грант № 20-37-90003 “Моделирование физических процессов в мемристорно-диодных кроссбарах входного и выходного блоков нейропроцессора”).

Список литературы

  1. Pisarev A.D., Busygin A.N., Udovichenko S.Yu., Maevsky O.V. // Microelectronics J. 2020. V. 102. P. 104827. https://doi.org/10.1016/j.mejo.2020.104827

  2. Filippov V.A., Bobylev A.N., Busygin A.N. et al. // Neural Comput. Appl. 2020. V. 32. P. 2471. https://doi.org/10.1007/s00521-019-04383-7

  3. Lobo J.L., Ser J.D., Bifet A., Kasabov N. // Neural Netw. 2020. V. 121. P. 88. https://doi.org/10.1016/j.neunet.2019.09.004

  4. Thorpe S.J., Guyonneau R., Guilbaud N. et al. // Neurocomputing. 2004. V. 58–60. P. 857. https://doi.org/10.1016/j.neucom.2004.01.138

  5. Pan Z., Wu J., Zhang M. et al. // Int. Jt. Conf. Neural Netw. (IJCNN 2019). 2019. https://doi.org/10.1109/IJCNN.2019.8851858

  6. Belyaev M., Velichko A. // Electronics. 2019. V. 8. № 10. P. 1065. https://doi.org/10.3390/electronics8101065

  7. Мазуров М.Е. // Изв. РАН. Сер. физ. 2020. Т. 84. № 1. С. 90. https://doi.org/10.31857/S0367676520010226

  8. Ракитин В.В., Русаков С.Г. // Микроэлектроника. 2019. Т. 48. № 4. С. 300. https://doi.org/10.1134/S0544126919040070

  9. Chan V.H., Carey R.M. Simultaneous latency and rate coding for automatic error correction. Patent 10282660 (USA), 2019.

  10. Gollisch T., Meister M. // Science. 2008. V. 319. № 5866. P. 1108. https://doi.org/10.1126/science.1149639

  11. Thakur C.S., Hamilton T.J., Wang R. et al. // Int. Jt. Conf. Neural Netw. (IJCNN 2015). 2015. https://doi.org/10.1109/IJCNN.2015.7280591

  12. Nuno-Maganda M., Torres-Huitzil C. // Comput. Archit. News. 2011. V. 38. № 4. P. 2. https://doi.org/10.1145/1926367.1926369

  13. Levy Y., Bruck J., Cassuto Y. et al. // Microelectronics J. 2014. V. 45. P. 1429. https://doi.org/10.1016/j.mejo.2014.06.006

  14. Biolek D., Di Ventra M., Pershin Y.V. // Radioengineering. 2013. V. 22. № 4. P. 945.

Дополнительные материалы отсутствуют.