ИМПУЛЬСНЫЙ БЛОК РАСЧЕТА АКТИВАЦИОННОЙ ФУНКЦИИ ИСКУССТВЕННОЙ НЕЙРОННОЙ СЕТИ

Полезная модель относится к области вычислительной техники и может быть использована в различных областях науки и промышленности при аппаратной реализации искусственных нейронных сетей прямого распространения.
Из существующего уровня техники известен блок расчета активационной функции искусственной нейронной сети, основанный на кусочно-линейной аппроксимации [Saichand V. et al. FPGA realization of activation function for artificial neural networks // Intelligent Systems Design and Applications, 2008. ISDA '08. Eighth International Conference on. - IEEE, 2008. - T. 3. - C. 159-164], который включает в себя блок выбора рабочего отрезка, генератор 0, генератор 1, 4 сумматора, блок расчета модуля и три операции побитового сдвига.
Недостатками данного устройства является существенная ресурсоемкость при реализации на базе программируемых логических интегральных схем (ПЛИС).
Предлагаемая полезная модель направлена на решение технической задачи по устранению указанного недостатка.
Достигаемый при этом технический результат заключается в снижении ресурсоемкости реализации активационной функции искусственной нейронной сети на базе ПЛИС.
Технический результат достигается тем, что импульсный блок расчета активационной функции искусственной нейронной сети включает в себя сигма-дельта модулятор, выход которого подключен на вход усредняющего фильтра, управляющий вход мультиплексора и два входа трехвходового сумматора, выход усредняющего фильтра подключен к блоку расчета абсолютного значения, выход которого подключен к первому сигнальному входу мультиплексора и к инвертору, который подключен к третьему сигнальному входу мультиплексора, второй вход мультиплексора подключен к генератору 0, выход мультиплексора подключен к сигма-дельта модулятору умножителя, выход которого подключен к трехвходовому сумматору, выход которого подключен к сигма-дельта модулятору сумматора, выход которого является выходом импульсного блока расчета активационной функции искусственной нейронной сети.
Указанные признаки полезной модели являются существенными и совокупность этих признаков достаточна для получения требуемого технического результата.
Полезная модель поясняется чертежами.
На фиг. 1 показана блок-схема заявляемой полезной модели. Она содержит сигма-дельта модулятор 1, усредняющий фильтр 2, блок расчета абсолютного значения 3, инвертор 4, мультиплексор 5, сигма-дельта модулятор умножителя 6, трехвходовой сумматор 7, сигма-дельта модулятор сумматора 8.
Работает устройство следующим образом. Оно вычисляет активационную функцию искусственной нейронной сети при помощи аппроксимации 2х-х|х|, реализованной при помощи прямой обработки импульсных потоков. Статическая нелинейность активационной функции показана на фиг. 2. Данная статическая характеристика в диапазоне рабочих значений [-1;1] является непрерывной, монотонной, а также имеет непрерывную первую производную, что позволяет использовать для обучения сетей, построенных с использованием полезной модели, метод обратного распространения ошибки. На вход полезной модели поступает аргумент активационной функции, который при помощи цифрового сигма-дельта модулятора 1 переводится в трехуровневый сигма-дельта модулированный импульсный поток, закодированный таким образом, что -1 соответствует код 11, 1 соответствует код 01, 0 соответствует код 00. Полученный импульсный поток поступает на вход усредняющего фильтра 2, на два из трех входов трехвходового сумматора 7, а также на управляющий вход мультиплексора 5. Выход усредняющего фильтра 2 поступает на блок расчета абсолютного значения 3, где от него берется модуль. Выход блока расчета абсолютного значения 3 поступает на первый сигнальный вход мультиплексора 5 и на вход инвертора 4, в котором он умножается на -1. Выход инвертора 4 поступает на третий сигнальный вход мультиплексора 5. Второй вход мультиплексора 5 подключен к генератору 0. Выход мультиплексора 5 формируется согласно таблице 1 и поступает на вход сигма-дельта модулятора умножителя 6, который является цифровым сигма-дельта модулятором первого порядка, аналогичным сигма-дельта модулятору 1. Выход сигма-дельта модулятора умножителя 6 поступает на вход трехвходового сумматора 7, где складывается без потери точности с выходом сигма-дельта модулятора 1, поступающим на два оставшихся входа. Выход трехходового сумматора 7 поступает на вход сигма-дельта модулятора сумматора 8, который является цифровым сигма-дельта модулятором первого порядка, аналогичным сигма-дельта модулятору 1. Выход сигма-дельта модулятора сумматора 8 является выходом импульсного блока расчета активационной функции искусственной нейронной сети.
Работоспособность была проверена на макете, который наглядно продемонстрировал получение требуемого технического результата. Предложенное устройство с усредняющем фильтром, имеющим окно 256 измерений, было реализовано на базе микросхемы ПЛИС Xilinx ХС7А100Т-1CSG324C, которая тактировалась генератором с частотой 100 МГц.
Демодуляция выходных импульсных потоков осуществлялась при помощи усредняющего фильтра с окном 65535 измерений с периодом 10 не.
На фиг. 3 показана ошибка формирования активационной функции искусственной нейронной сети, реализованной при помощи полезной модели. Среднеквадратическое отклонение (СКО) выхода полезной модели от эталонного значения составило 0,0029818, что составляет менее 3% и говорит о ее работоспособности.
Также для сравнения по ресурсоемкости с известным блоком расчета активационной функции искусственной нейронной сети, основанным на кусочно-линейной аппроксимации [Saichand V. et al. FPGA realization of activation function for artificial neural networks // Intelligent Systems Design and Applications, 2008. ISDA '08. Eighth International Conference on. - IEEE, 2008. -Т. 3. - C. 159-164], предлагаемая полезная модель была синтезирована для ПЛИС Xilinx XC4VLX15-12ff668. Результаты синтеза показали, что заявляемый импульсный блок расчета активационной функции искусственной нейронной сети требует для реализации 85 LUT4, в то время как известный из уровня техники блок расчета активационной функции искусственной нейронной сети, основанный на кусочно-линейной аппроксимации, синтезированный для той же ПЛИС, - 108 LUT4. Таким образом, использование предлагаемой полезной модели обеспечивает сокращение ресурсоемкости более чем на 21%, что говорит о достижении заявленного технического результата.