УДК 004.032.26:519.87
Д.В. Маршаков, Д.В. Фатхи
МОДЕЛЬ АППАРАТНОЙ РЕАЛИЗАЦИИ ИСКУССТВЕННОГО НЕЙРОНА НА ОСНОВЕ ЦВЕТНЫХ ВРЕМЕННЫХ СЕТЕЙ ПЕТРИ
В работе рассматриваются основные принципы построения цветных временных сетей Петри для моделирования и анализа свойств искусственных нейронных сетей. Представлена модель искусственного нейрона на основе цветных временных сетей Петри и дано формальное описание функционирования модели.
Искусственные нейронные сети, аппаратная реализация,
моделирование, сети Петри, сигмоидальная функция активации
D.V. Marshakov, D.V. Fatkhi THE MODEL OF THE HARDWARE IMPLEMENTATION OF ARTIFICIAL NEURON BASED ON COLORED TIMED PETRI NETS
The paper deals with the basic principles of colored timed Petri nets as a tool for modeling and analyzing the properties of artificial neural networks. The model of artificial neuron based on colored timed Petri nets and a formal description of a functioning model are given.
Artificial neural networks, hardware implementation, simulation, Petri nets, sigmoid activation function
Введение
Современные искусственные нейронные сети (ИНС) в силу своих способностей к моделированию нелинейных процессов, обобщению, работе с зашумленными данными и т.д. находят применение во многих прикладных областях. При этом все более возрастает удельных вес аппаратных нейросетевых реализаций. Это связано с требованиями к обеспечению высоких скоростей решения сложных задач с использованием массового параллелизма [1, 2], с которыми пока не справляются традиционные компьютеры.
Одной из перспективных аппаратных реализаций ИНС является построение их на основе ПЛИС - матричных структур, обеспечивающих параллельную обработку информации и обладающих высокой степенью интеграции, масштабируемостью, развитыми средствами проектирования, реализации выполнения алгоритмов обучения [1-4].
Для правильного воплощения ИНС до её реализации необходимо предварительное моделирование структуры и поведения нейронов сети.
Мощным средством для моделирования параллельных и распределенных процессов являются сети Петри [5]. С помощью сетей Петри и их модификаций можно наглядно представить динамику функционирования систем и составляющих их элементов.
Применение цветных сетей Петри в контексте моделирования ИНС рассматривается в работах [6, 7]. В рассматриваемых моделях используются только пороговые функции активации (так называемые пороговые логические элементы), в которых обработка данных сводится к формированию на выходе бинарных дискретных сигналов. ИНС с пороговой функцией активации, они обладают рядом недостатков, среди которых наиболее существенным является насыщение нейронов от больших значений входных сигналов.
Более приемлемой в практике моделью ИНС является модель, состоящая из нейронов с непрерывной (как правило, сигмоидальной) функцией активации [1, 3, 4]. При этом пространство решений, в котором работает такая сеть, не ограничивается дискретными значениями и состоит из полного спектра возможных входов и их значений, благодаря чему сеть способна аппроксимировать практически любую функциональную зависимость. Кроме того, сигмоидальная функция активации обладает свойством усиливать слабые сигналы и предотвращает насыщение нейрона от больших сигналов [8].
Необходимо отметить, что в ИНС с пороговыми элементами обучение производится лишь на её модели, занося полученные весовые коэффициенты в память кристалла на этапе проектирования. Использование в аппаратных реализациях многослойных нейронных сетей нейронов с сигмоидальной функцией активации может позволить производить обучение нейросети на кристалле в реальном масштабе времени.
В [9] отмечается, что при проектировании ИНС особое внимание современными разработчиками уделяется реализации ИНС с нейронами, обладающими сигмоидальной функцией активации.
Для исключения указанных недостатков ИНС с пороговой функцией, а также для обеспечения обучения аппаратных реализаций ИНС в реальном масштабе времени, необходима разработка сетевой модели ИНС с реализацией сигмоидальной функции активации.
1. Математическая модель искусственного нейрона
На рис. 1 представлена модель нейрона, лежащая в основе искусственных нейронных сетей. В состав нейрона входят умножители (синапсы), сумматор и устройство, реализующее функцию активации.
Синапсы выполняют скалярное произведение п-мерного вектора входных данных х = *1,х2,...,хп и п-мерного вектора весовых данных н = н^, w2,..., н.
Сумматор выполняет сложение взвешенных входов:
п
Ъ1 = Е (1)
/=1
где (г=1,2,.. .,п) - вес синапса,
х1 (/=1,2,...,п) - входной сигнал, п - число входов нейрона,
1 - номер нейрона.
Синапсы Сумматор
Рис. 1. Структура искусственного нейрона
Функция
активации
Нейрон, показанный на рис. 1, дополнен скалярным смещением Ь. Смещение
суммируется со взвешенными входами и приводит к сдвигу аргумента функции активации
на величину Ь:
* =Е; + Ьі , (2)
где Ьі - значение смещения.
Функция активации (р{т.) определяет выходной сигнал нейрона. Сигмоидальная функция активации имеет вид (3).
^ =рМ=Г+77 (3)
Математическая модель нейрона описывается системой рассмотренных соотношений:
(4)
j(z )z
_____І_
І + e ~
2. Аппаратное представление искусственного нейрона
Один из вариантов архитектурного решения искусственного нейрона на основе ПЛИС Xilinx Spartan IIE рассмотрен в работе [4] и представлен на рис. 2.
Структура нейрона состоит из различных вычислительных подблоков. Для определения значения функции активации используется таблица (LUT), хранящаяся в блоке памяти RAM. В структуре содержится один умножитель (MUL) и один сумматор (ADD). Входные сигналы (inputi) вводятся параллельно в ROML CONTROL UNIT, управляя стартовыми сигналами (start), конечными сигналами (reset) и счетчиком сигналов нейрона (num) координирует функции блоков, обеспечивает синхронизацию входных сигналов и соответствующих им весов. Первый входной сигнал и соответствующий ему вес сохраняется в ROM2, после чего блок MUL последовательно их перемножает и заносит в ROM3. Та же операция повторяется и для других входных сигналов, после чего сумматор ADD суммирует взвешенные входы (sum) и добавляет к ним значение смещения BIEST. Результат суммирования (sum_out) поступает в таблицу определения значений сигмоидальной функции LUT, после чего полученное значение сохраняется в блоке OUT, подающем сигнал окончания процесса.
Рис. 2. Структурная схема аппаратного представления нейрона на основе ПЛИС Xilinx Spartan IIE
3. Модель искусственного нейрона на основе цветной временной сети Петри
В качестве модели искусственного нейрона предлагается модель, модифицирующая модели, рассмотренные в [6, 7], на основе цветных временных сетей Петри в контексте нейронных сетей с сигмоидальной функцией активации.
Формальное определение модели. Модифицированная цветная временная сеть Петри - СТРЫЫ810, представляющая искусственный нейрон с сигмоидальной функцией активации задается следующим набором:
БТРЖБЮ = (Р, Т, А, М, С, ¥, Н, т, г, ОС, СТ, 810), (5)
где: Р = {рх,..., рп} - конечное непустое множество позиций;
Т = {?!,..., іт } - конечное непустое множество переходов;
А - конечное непустое множество дуг такое, что А с (Р х Т )и(Т х Р)
М- функция маркировки, определенная на Р так, что для р є Р М(р): С(р) ® Z , где Z - множество целых чисел;
С - конечное множество цветов, состоящее из двух наборов цветов С (р) и С (і), такое, что С = С (р)п С (і):
С (рі )={
(цвет 1р1, приоритет 1р1],\цвет 1р 2, приоритет 1р 2 ^,... дцвет 1рс, приоритет 1рс набор присвоения маркерам каждого места р е Р цветов и соответствующих им приоритетов, где рс - число цветных маркеров в позиции р^ е Р;
• С ^) = {цвет]Л,приоритет]Л^,(ццвет^2,приоритет^2 ^,..., ^цвет 1сс,приоритет]Сс^} -
набор присвоения маркерам цветов и соответствующих им приоритетов каждому переходу ^ е Т цветов, где tc - количество цветов, связанных с переходом tj е Т.
Цвета и их приоритеты связаны с каждой позицией С(р)е С и каждым переходом С(;)е С в сети. Для связи цвета с его приоритетом цвета определяются в порядке убывания приоритетов, а именно: красный (к), зеленый (з), синий (с), черный (ч), желтый (ж) и белый (б). Каждому приоритету этих цветов соответствует числовое обозначение в порядке убывания - 1, 2, 3, 4, 5 и 6, соответственно. Например, запись (к,1) отражает красный цвет с максимальным приоритетом.
Р - функция цветной кратности Р(а): А(С)® Z, описывающая тип и количество цветов, связанных с каждой дугой а е А, где Z - множество целых чисел.
Н - множество ингибиторных дуг. При этом Рк ={рк | (рк, t)е Н} - множество
ингибиторных позиций, рк е Рк и рк е Рк. Функция Н(рк(цвет),t): Н ® С(рь )хС^) описывает каждую ингибиторную дугу Н (р^вет^, t) во множестве Н.
/I - функция, описывающая цветные маркеры С^)е С в позициир е Р, /и(р): р ® (I, С(р)). Атрибут I используется для описания процессов, моделируемых нейроном:
• т(р): р ®(х, С (р)) - передачи входных данных хг (/=1,2,.,п) для 1-го нейрона;
• /и(р): р ® (нг,С(р)) - передачи весовых коэффициентов (/=1,2,.,п) для 1-го нейрона. Маркеры хг и имеют одинаковый цвет;
• т(р): р ® (Ь-, С(р)) - передачи значения смещения Ь. для 1-го нейрона;
• m(p): Р ® (outj, C(p^ - передачи конечного результата с выхода j-го нейрона;
• m(Р): Р ® (Входt, C(p)) - передачи нейрону информации о входных данных xt,
соответствующих им весовых данных w{, и значения смещения bj.
t - функция времени срабатывания, определяющая время выполнения операций в переходах t е T (для каждого цвета).
OC - функция вычисления, определяющая параметры, необходимые для выполнения операций сложения и умножения переходов t е T в соответствии с имеющимся цветом C (t):
• OCj1 (t): T ® x wt, t, C(t)) - функция, определяющая параметры для операции взвешивания входных данных: xt xw{;
• OC j, (t): T ®( sum}, t, C(t^ - функция, определяющая параметры для операции
n
сложения взвешенных данных j-го нейрона: sumj = ^ x; x wi ;
i=1
• OCj3 (t): T ® ^sum _ out}, t, C(t ^ - функция, определяющая параметры для операции суммирования смещения и взвешенных данных j-го нейрона: sum _ outj = sumj + bj.
CT - функция связи CT(t): T ® (CT, t C(t"fj. Определяет параметры, необходимые
для срабатывания «связующих переходов» t е T в соответствии с имеющимся цветом. Эти переходы моделируют поведение нейронов при приёме-передаче данных между собой.
SIG - функция вычисления SIG(t): T ®j(sum _outj), t, C(t). Определяет
необходимые параметры для выполнения переходов t е T сигмоидальной функции активации в соответствии с появлением цвета C(t). Выходной результат выполнения
операции вычисления сигмоидальной функции активации [out., C (p) рассчитывается с
помощью атрибута j: (p(sum _ outj) = 1/(l + exp(- sum _ outj)).
В CTPNNSIG существует функциональная зависимость между цветовым приоритетом включения переходов и цветовым приоритетом маркеров, размещаемых во входных позициях этих переходов./
CTPNNSIG-модель искусственного нейрона. CTPNNSIG-модель искусственного нейрона представлена на рис. 3. По аналогии с аппаратной моделью на моделируемый нейрон поступают четыре входных сигнала.
Для разрешения воздействия на моделируемый нейрон со стороны соседних нейронов используются ингибиторные дуги H (p4, t5), H (p7, t5). При наличии маркера в позициях p4,
р7 ингибиторная дуга запрещает нейрону получение данных от других нейронов до завершения текущих вычислений моделируемым нейроном. Когда указанные позиции пусты, моделируемый нейрон готов к дальнейшей связи с соседними нейронами.
bJ
Рис. 3. CTPNNSIG-модель искусственного нейрона
Поясним работу этой модели. В позицию pi заносятся поступившие в нейрон входные данные {Вход1, (к,1)), (Вход2, (з,2), (Вход3, (с,3)), (Вход4, (ч,4), помеченные цветными
маркерами. При отсутствии маркеров в позициях р4 и р7, срабатывает переход t5, осуществляя передачу входных сигналов xi в позицию р2, соответствующих им весовых данных wi в позицию р3 и значения смещения bj моделируемого нейрона в позицию р4. При этом маркер в позиции р4 запрещает переходу t5 принимать новые данные. Переход t5 выполняет операцию умножения w{ х xi - он последовательно обрабатывает маркеры, согласно их цветовому приоритету, и заносит полученные результаты в позицию р5 . Переход t7 выполняет операцию суммирования взвешенных входных сигналов, занося результат sumj в позицию р6 с присвоенным ему максимальным цветовым приоритетом. Переход t8 производит суммирование маркеров позиций р6 и р4, добавляя к sumj смещение.
Полученный результат sum _ out j заносится в позицию р7. При этом ингибиторная дуга H(р7, t5), запрещает переходу t5 получение данных. Переход t9 производит вычисление сигмоидальной функции активации j(sum _ outj) и передает результат outj в позицию р8. При этом маркер покидает позицию р7, снимая запрет для перехода t5, и нейрон готов к дальнейшей работе.
Формальное описание работы модели. Формальное описание алгоритма работы модели и её динамическое поведение можно представить как множество всех состояний модели, которые могут быть достигнуты ею в определенный момент времени при срабатывании конечного числа переходов.
В исходном состоянии модели Сост1 позиция р1 содержит поступающие в
моделируемый нейрон данные, помеченные цветными маркерами: (Вход1, (к,1)),
(Вход2, (з,2), (Вход3, (с,3), (Вход4, (ч,4). Каждый цвет присваивает маркерам приоритет
для организации последовательности событий на переходах t е T.
Состояния модели описываются атрибутами МАР{, ПЕРt и ИНГІ.
Атрибут МАРг показывает распределение маркеров в различных позициях текущего состояния модели в соответствии с функцией Мг.
Атрибут ПЕРІ описывает работу переходов в текущем состоянии и имеет три параметра: Тсраб - показывает сработанные переходы, Тгот - новые переходы готовые к срабатыванию и Тмин - отображает минимальное время срабатывания переходов, описываемых атрибутами Тсраб и Тгот. Целью параметра Тмин является оценка общего
времени работы переходов до текущего состояния.
Атрибут ИНГІ показывает распределение маркеров в ингибиторных местах и надписи на ингибиторных дугах, которые соответствуют текущему состоянию модели в соответствии с функцией .
Формально состояния модели имеют следующее описание:
Сост^ МАРЛ :ц(р1) = (Вход1,(к,1)),(Вход2,(з,2)),(Вход3,(с,3)),(Вход4,(ч,4))
ПЕРХ: Тмин : *5 = (М, М, (с,3), (ч,4))
Сост2: МАР2 ■т(^2 ) = (к,1))А^ (з,2))АХ3-‘ (с,3))^^ (ч,4)) ,
т(Рз ) = (к,1)), (Щ2 , (з,2), (Щ3, (с,3)АЩ 4 , (ч,4)) ,
т( р 4 )={ъ], (кЛ))
ПЕР2 : Тмин : *5 = ((Щ X Х- 1 Т , (^Д^ (з,2) (с,3\ (ч,4)))
ИНГ2: И(р4{к,1),г5)
Состз: МАР3 :т(р2) = {х2,(з,2)),(х3,(с,3)),(х4,(ч,4),
т(Рз)={w2,(з,2)), (щ,(с,з), (щ 4,(ч,4)), т(Р5)=(щХ^(к,1)), т( р 4 )={ъ], (кЛ))
ПЕР3 : Тмин : *5 = ((щх х \ т , ((к,1)(з,2) (с,3) (ч,4)))
ИНГз : И(р4(к,1), *5)
С0СТ4: МАР4 :т(р2) = (х3,(с,3)),{х4,(ч,4) ,
т(Рз ) = {W3, (с,3)), (щ4, (ч,4)) , т(р5 ) = (щ1 Х1, (к,1)), (щ2 Х2 , (з,2)) ,
т( р 4 )={ъ], (кЛ))
ПЕР4 : Тмин : *5 = ((щг Х Хг I Т1, ((к,11 (з,21 (с,3) (ч,4)^
ИНГл: И(рл(к,1>,*5)
Сост5: МАР5 :т(р2) = (х4, (ч,4),
т(рз ) = {W4, (ч,4^ , т(р5 ) = (ЩХ^ (к,1)), (щ2Х2 , (з,2)), (щ3Х3 , (с,з)),
т( р 4 )={ъ], (кЛ))
ПЕР5 : Тмин : *5 =((щг Х Х((к,1) (з,2) (с,3) (ч,4)))
ИНГ5 : И(р4(к,1), *5)
Состб: МАР6 :т(р5) = {w1x1, (к,1)) ,(w2 x2, (з,2)) , (w3 x3, (с,3)), (w4 x4, (ч,4)),
m( р 4 )=(bj, (к,1))
ПЕР6 : Тмин : t7 = {sumj t ((к,1) (з,2) (с,3\М))
ИНГ6: H(рА{к,1),t5)
Сост7: МАР7 :т(р6) = {sumj, (к,1),
m( р 4 ) = {bj, (к,1)
ПЕР7 : Тмин : t8 = {(sumj + bj It (к,1))
ИНГ7 : H(рА{к,1), t5)
Сост8: МАР^ :т(р7) = ((sum _ out j l(к,1))
ПЕР8 : Тмин : t9 =j(sum _ outj It M)
ИНГ^ : H(р^кД), t5)
Сост9: МАР9 :т(р6) = (outj, (к,1^
Выводы
Достоинство предложенной модели состоит в использовании сигмоидальной функции активации, позволяющей исключить насыщение нейрона от больших сигналов, а также обеспечить возможность производить обучение нейронной сети в реальном масштабе времени при аппаратной реализации.
Модель в сравнении с известными является более адекватной процессам, реализуемым искусственными нейронами. В качестве входных и выходных сигналов могут быть не только бинарные сигналы, но и любые другие. Это позволяет достаточно полно обеспечивать свойства искусственного нейрона, необходимые при разработке конфигурации желаемой ИНС, с последующей аппаратной реализацией на ПЛИС.
Формальное описание функционирования модели представляет собой довольно простой метод для разработки и проверки алгоритмов обучения и диагностики, которые могут применяться на модели. Результаты анализа таких свойств сети, как условия выполнения переходов и время срабатывания переходов, проверяют реальную динамику функционирования модели.
ЛИТЕРАТУРА
1. Himavathi S., Anitha D., Himavathi S. Feedforward Neural Network Implementation in FPGA Using Layer Multiplexing for Effective Resource Utilization. Muthuramalingam A. // IEEE Transactions on Neural Networks. 2007. Vol.18. No.3. P. 880-888.
2. Грибачев В.П. Элементная база аппаратных реализаций нейронных сетей // Компоненты и технологии. 2006. №8. С. 12-15.
3. Lee Y., Ko S.-B. FPGA Implementation of a Face Detector Using Neural Networks // IEEE CCECE/CCGEI. Ottawa. 2006. P. 1914-1917.
4. Sahin S., Becerikli Y., Yazici S. Neural Network Implementation in Hardware Using FPGAs // ICONIP 2006. Springer-Verlag Berlin Heidelberg, 2006. Part III. P. 1105-1112.
5. Питерсон Дж. Теория сетей Петри и моделирование систем. М.: Мир, 1984. 264 с.
6. Koriem S.M. CN-Nets for Modeling and Analyzing Neural Networks // Journal of King Saud University. Computer & Information Sciences. 2001. Vol.13. №1. P. 19-47.
7. Крюкова Д.Ю., Суконщиков А. А. Разработка системы моделирования сложных систем на базе нейронных сетей Петри // Актуальные проблемы управления и экономики: история и современность: мат. науч. конференции. Вологда: филиал СЗАГС, 2006. С. 144-148.
8. Хайкин С. Нейронные сети: полный курс, 2e издание. Пер. с англ. М.: Издательский дом «Вильямс», 2006. 1104 с.
9. Omondi A., Rajapakse J., Bajger M. FPGA Implementations of Neural Networks. Berlin: Springer, Germany, 2006. 360 p.
Маршаков Даниил Витальевич -
аспирант Донского государственного технического университета, ассистент кафедры «Вычислительные системы и информационная безопасность» института энергетики и машиностроения Донского государственного технического университета
Фатхи Денис Владимирович -
кандидат технических наук, старший научный сотрудник 1 научно-исследовательской лаборатории Ростовского военного института ракетных войск
Статья поступила в редакцию 20.03.2011, принята к опубликованию 20.08.2011
Marshakov Daniil Vital’evich -
Postgraduate Student of Don State Technical University, Technical Assistant of the Department “Computing Systems and Information Security”, Institute of Energy and Machine Building of Don State Technical University
Fatkhi Denis Vladimirovich -
Candidate of Technical Science, Senior Research Worker of 1st Research Laboratory, Rostov Military Institute of Rocket Forces.