Научная статья на тему 'МОДЕЛИРОВАНИЕ УЗЛА РАСПОЗНАВАНИЯ СИМВОЛОВ НА ЖИДКОКРИСТАЛЛИЧЕСКОМ ДИСПЛЕЕ С ПОМОЩЬЮ МОДЕЛИ ИСКУССТВЕННОГО НЕЙРОНА'

МОДЕЛИРОВАНИЕ УЗЛА РАСПОЗНАВАНИЯ СИМВОЛОВ НА ЖИДКОКРИСТАЛЛИЧЕСКОМ ДИСПЛЕЕ С ПОМОЩЬЮ МОДЕЛИ ИСКУССТВЕННОГО НЕЙРОНА Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
35
13
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
МОДЕЛИРОВАНИЕ / ЖИДКОКРИСТАЛЛИЧЕСКИЙ ДИСПЛЕЙ / ИСКУССТВЕННЫЙ НЕЙРОН / НЕЙРОННАЯ СЕТЬ / МОДЕЛЬ / ТЕСТИРОВАНИЕ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Шуршев Т.В., Гайрабекова Т.И.

Представлено моделирование узла распознавания символов на жидкокристаллическом дисплее с использованием нейронной сети. Для создания нейронной сети использован язык высокого уровня Verilog. Для работы с языком описания аппаратуры, разработки RTL-моделей использовано специализированное программное обеспечение САПР Xilinx ISE. Для решения данной задачи предложена нейронная сеть, представленная моделью искусственного нейрона. Разработана процедура, в которой переменные, умноженные на коэффициент, складываются, а итоговая сумма является выходом функции. Итоговая сумма для каждого символа при этом будет разной, и этим можно будет отличить один символ от другого. В рамках разработанной нейронной сети реализована функция активации, которая выводит номер символа в сгенерированном алфавите всех используемых символов на низком уровне, а на верхнем уровне - вывод символа, который предсказывает нейронная сеть. На первом этапе моделирования была составлена системная модель, которая сначала была обучена на основе наборов переменных и того факта, что выходы функции для каждого из набора должны отличаться. Предложено преобразовать входные данные: пусть в случае прихода 0 он будет заменён значением -1. Нейронная сеть была реализована на Python, высокоуровневом языке программирования. В нейронную сеть также входит тестовая модель, где был осуществлен прогон всех наборов переменных через функцию. Функция активации определяет, какая итоговая сумма соответствует определенному значению и выдает свое предположение. Было проведено обучение сети на конкретной обучающей выборке. Было произведено тестирование. В ходе работы тестового модуля была сформирована временная диаграмма, зубцы которой показывают предсказания номера символа с LCD-дисплея в сгенерированном алфавите. Тестовый модуль разработан на языке Verilog.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Шуршев Т.В., Гайрабекова Т.И.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

SIMULATION OF CHARACTER RECOGNITION ASSEMBLY ON LIQUID CRYSTAL DISPLAY USING ARTIFICIAL NEURON MODEL

A simulation of a character recognition node on a liquid crystal display using a neural network is presented. A high-level Verilog language was used to create a neural network. Specialized CAD software Xilinx ISE was used to work with the hardware description language and to develop RTL models. To solve this problem, a neural network is proposed, represented by an artificial neuron model. A procedure has been developed in which variables multiplied by a coefficient are added together, and the final sum is the output of the function. The total amount for each symbol will be different, and this will be possible to distinguish one symbol from another. Within the framework of the developed neural network, an activation function is implemented that outputs the symbol number in the generated alphabet of all the symbols used at the low level, and at the upper level - the output of the symbol that the neural network predicts. At the first stage of modeling, a system model was compiled, which was first trained based on sets of variables and the fact that the outputs of the function for each of the set should be different. It is proposed to transform the input data: let it be replaced with the value -1 in case of arrival of 0. The neural network was implemented in Python, a high-level programming language. The neural network also includes a test model, where all sets of variables were run through the function. The activation function determines which total amount corresponds to a certain value and gives its guess. The network was trained on a specific training sample. Testing was performed. During the operation of the test module, a time diagram was formed, the teeth of which show the predictions of the symbol number from the LCD display in the generated alphabet. The test module is developed in the Verilog language.

Текст научной работы на тему «МОДЕЛИРОВАНИЕ УЗЛА РАСПОЗНАВАНИЯ СИМВОЛОВ НА ЖИДКОКРИСТАЛЛИЧЕСКОМ ДИСПЛЕЕ С ПОМОЩЬЮ МОДЕЛИ ИСКУССТВЕННОГО НЕЙРОНА»

16. Qin, H., Chai, M., Hou, Q., Ren, Z, Zhou, K. Cone Tracing for Furry Object Rendering. IEEE Trans. Vis. Comput. Graph., 2014 Aug, no. 20 (8), pp. 1178-1188.

17. Samuel, Siltanen, Tapio, Lokki, and Lauri, Savioja. Room acoustics modeling with acoustic radiance transfer. Proc. ISRA Melbourne, 2010.

18. Beamer IV, C. W. and Muehleisen, R. T. Radiant exchange in partially specular architectural environments. The Journal of the Acoustical Society of America, 2003, no. 114 (4), p. 2411.

19. Vakhitov, Sh. Ya., Davydov, D. A., Aleshkin, V. M. Modifikatsiya metoda mnimykh istochnikov s tselyu modelirovaniya realnogo protsessa pervykh otrazheniy v pomeshchenii [Modification of the method of imaginary sources in order to simulate the real process of first reflections in a room]. Akademia. Arkhitektura i stroitelstvo [Academia. Architecture and Construction], 2017, no. 3. Availabale at: https://cyberleninka.ru/article/n/modifikatsiya-metoda-mnimyh-istochnikov-s-tselyu-modelirovaniya-realnogo-protsessa-pervyh-otrazheniy-v-pomeschenii.

20. Chusov, A., Statsenko, L., Lysenko, A., Kuligin, S., Cherkassova, N., Unru, P., Bernavskaya, M. Parallel acoustic field simulation with respect to scattering of sound on local inhomogeneities. Procedia Computer Science, 2017. Workshop on Large Scale Computational Physics (LSCP), ICCS, 2017, 2017.

21. Chusov, A., Lysenko, A., Statsenko, L., Kuligin, S., Unru, P., Rodionov, A. A parallel algorithmic approach to simulate acoustical fields with respect to scattering of sound due to reflections, 2016, pp. 728-732. 10.1109/PIC.2016.7949594.

УДК 004.41

МОДЕЛИРОВАНИЕ УЗЛА РАСПОЗНАВАНИЯ СИМВОЛОВ

НА ЖИДКОКРИСТАЛЛИЧЕСКОМ ДИСПЛЕЕ С ПОМОЩЬЮ МОДЕЛИ ИСКУССТВЕННОГО НЕЙРОНА

Статья поступила в редакцию 16.01.2023, в окончательном варианте - 27.01.2023.

Шуршев Тимофей Валерьевич, МИРЭА - Российский технологический университет, 119454, Российская Федерация, г. Москва, пр-т Вернадского, 78,

студент, ORCID: 0000-0002-2814-3201, e-mail: t.shurshev2002@gmail.com Гайрабекова Тамара Израиловна, Чеченский государственный университет им. А.А. Кадырова, 364093, Чеченская Республика, г. Грозный, ул. Шерипова, 32,

кандидат технических наук, заведующая кафедрой «Прикладная математика и компьютерные технологии», ORCID: 0000-0003-0046-6188, e-mail: Sti_ing@mail.ru

Представлено моделирование узла распознавания символов на жидкокристаллическом дисплее с использованием нейронной сети. Для создания нейронной сети использован язык высокого уровня Verilog. Для работы с языком описания аппаратуры, разработки RTL-моделей использовано специализированное программное обеспечение САПР Xilinx ISE. Для решения данной задачи предложена нейронная сеть, представленная моделью искусственного нейрона. Разработана процедура, в которой переменные, умноженные на коэффициент, складываются, а итоговая сумма является выходом функции. Итоговая сумма для каждого символа при этом будет разной, и этим можно будет отличить один символ от другого. В рамках разработанной нейронной сети реализована функция активации, которая выводит номер символа в сгенерированном алфавите всех используемых символов на низком уровне, а на верхнем уровне - вывод символа, который предсказывает нейронная сеть. На первом этапе моделирования была составлена системная модель, которая сначала была обучена на основе наборов переменных и того факта, что выходы функции для каждого из набора должны отличаться. Предложено преобразовать входные данные: пусть в случае прихода 0 он будет заменён значением -1. Нейронная сеть была реализована на Python, высокоуровневом языке программирования. В нейронную сеть также входит тестовая модель, где был осуществлен прогон всех наборов переменных через функцию. Функция активации определяет, какая итоговая сумма соответствует определенному значению и выдает свое предположение. Было проведено обучение сети на конкретной обучающей выборке. Было произведено тестирование. В ходе работы тестового модуля была сформирована временная диаграмма, зубцы которой показывают предсказания номера символа с LCD-дисплея в сгенерированном алфавите. Тестовый модуль разработан на языке Verilog.

Ключевые слова: моделирование, жидкокристаллический дисплей, искусственный нейрон, нейронная сеть, модель, тестирование

SIMULATION OF CHARACTER RECOGNITION ASSEMBLY ON LIQUID CRYSTAL DISPLAY USING ARTIFICIAL NEURON MODEL

The article was received by the editorial board on 16.01.2023, in the final version — 27.01.2023.

Shurshev Timofey V., MIREA - Russian Technological University, 78 Vernadsky Ave., Moscow, 119454, Russian Federation,

student, ORCID: 0000-0002-2814-3201, e-mail: t.shurshev2002@gmail.com Gairabekova Tamara I., Chechen State University named after A.A. Kadyrov, 32 Sheripova St., Grozny, 364093, Chechen Republic,

Cand. Sci. (Engineering), Head of the Department of Applied Mathematics and Computer Technology, ORCID: 0000-0003-0046-6188, e-mail: Sti_ing@mail.ru

A simulation of a character recognition node on a liquid crystal display using a neural network is presented. A high-level Verilog language was used to create a neural network. Specialized CAD software Xilinx ISE was used to work with the hardware description language and to develop RTL models. To solve this problem, a neural network is proposed, represented by an artificial neuron model. A procedure has been developed in which variables multiplied by a coefficient are added together, and the final sum is the output of the function. The total amount for each symbol will be different, and this will be possible to distinguish one symbol from another. Within the framework of the developed neural network, an activation function is implemented that outputs the symbol number in the generated alphabet of all the symbols used at the low level, and at the upper level - the output of the symbol that the neural network predicts. At the first stage of modeling, a system model was compiled, which was first trained based on sets of variables and the fact that the outputs of the function for each of the set should be different. It is proposed to transform the input data: let it be replaced with the value -1 in case of arrival of 0. The neural network was implemented in Python, a high-level programming language. The neural network also includes a test model, where all sets of variables were run through the function. The activation function determines which total amount corresponds to a certain value and gives its guess. The network was trained on a specific training sample. Testing was performed. During the operation of the test module, a time diagram was formed, the teeth of which show the predictions of the symbol number from the LCD display in the generated alphabet. The test module is developed in the Verilog language.

Keywords: modeling, liquid crystal display, artificial neuron, neural network, model, testing

Graphical annotation (Графическая аннотация)

Введение. Жидкокристаллические дисплеи (LCD (англ. liquid crystal display)), способные выводить как один, так и несколько цветов, используются для вывода графической и текстовой информации на многих электронных устройствах. Как правило, жидкокристаллический дисплей размерностью 5х5 монохромен (может выводить только один определенный цвет, который определяется при изготовлении) и располагает ровно двадцатью пятью пикселями.

Нейронная сеть - в узком смысле это частный случай методов распознавания образов, сеть, построенная по принципу организации и функционирования биологических нейронных сетей. Использование нейронных сетей помогает оптимизировать и решать невыполнимые до этого задачи [1, 2, 3, 4, 5, 6, 7]. Одним из основных понятий в теории нейронных сетей является искусственный нейрон. Искусственный нейрон - математическая модель нейронной сети, основан на принципе функционирования естественного нейрона живого организма. Принцип работы заключен в том, что на входы подаются некоторые значения, представленные в данном случае состоянием пикселя, которые умножаются на весовые коэффициенты, полученные в результате обучения нейрона, после чего эти значения передаются на сумматор, который подаёт на свой выход сумму этих произведений. На выходе формируется функция активации, необходимая для определения зависимости между значением на выходе сумматора, которое называется взвешенной суммой, и выходом нейрона. Существует тенденция, согласно которой выбирают дифференцируемую функцию активации, для оптимизации задачи обучения весовых коэффициентов.

Обычно для построения нетребовательных нейронных сетей используются инструменты верхнего уровня, такие как Python [8, 11], но проблема этой задачи в том, что для работы с сигналами с жидкокристаллического дисплея необходимо создать нейронную сеть, основываясь на инструментах низкого уровня. Нейронная сеть может быть построена на базе программируемой логической интегральной схемы, где внутренняя логика не определяется при изготовлении, а может быть задана с помощью программирования интегральной схемы. Такие нейронные сети могут быть отдельными модулями на тех же программируемых логических интегральных схемах и работать вместе с другими модулями. Таким образом, может быть ускорена работа устройства. Для программирования программируемой логической интегральной схемы используются языки описания аппаратуры, например VHDL или Verilog [9].

Программные и аппаратные средства. Для создания нейронной сети был использован язык высокого уровня Verilog. Для работы с языком описания аппаратуры было использовано специализированное программное обеспечение САПР Xilinx ISE, помогающее с анализом и синтезом языков описания аппаратуры.

Альтернативный вариант. Обычно для работы какого-либо модуля требуется сконструировать несколько других вспомогательных [10], однако в при реализации поставленной задачи понадобится только делитель частоты.

Важно понимать то, какая информация приходит в модуль - это упорядоченный набор из 25 двоичных переменных. Переменная принимает значение 1, если пиксель светится, и значение 0 - в противном случае. Эти данные приходят от других модулей, которые определяют состояние «горит» / «не горит» (эти модули не будут описаны в данной работе). Нужно определить с помощью этих наборов, какой символ (число, буква и т.д.) высветился на жидкокристаллическом дисплее, т.е. тридцать шесть наборов нужно сопоставить с нужными значениями. Для этой цели возможно использовать постоянное запоминающее устройство, которое может хранить нужное значение в ячейке, адрес которой представлен в виде набора из двадцати пяти двоичных переменных, приходящих в модуль, или использовать дешифратор.

Пример: На дисплее загорается цифра «2», приходит значение

[1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1],

которое соответствует значению «2» на дисплее, и для него выдается код, идентифицирующий цифру 2 в двоичной системе.

Если сопоставить приходящее значение и вид символа «2» на дисплее (рис. 1), возможно наглядно увидеть взаимосвязь между сигналом со значением «1» и горящим пикселем.

Рисунок 1 - Вид символа на ЬСБ-дисплее

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

Процедура моделирования. Предложена процедура (рис. 2), в которой переменные (х), умноженные на коэффициент будут складываться (Е), а итоговая сумма будет являться выходом функции. Итоговая сумма для каждого символа будет разной, и этим можно будет отличить один символ от другого. В рамках разработанной нейронной сети реализована функция активации (ф), которая выводит (у) номер символа в сгенерированном алфавите всех используемых символов на низком уровне, а на верхнем уровне выводится символ, который предсказывает нейронная сеть. Алфавит представлен цифрами, идущими в порядке возрастания, после которых идет классический английский алфавит, т.е. от «0» до «9», а после - от «А» до «I».

На первом этапе моделирования была составлена системная модель, которая сначала была обучена на основе наборов переменных и того факта, что выходы функции для каждого из набора должны отличаться. Однако в этом случае выявляется проблема: если брать данные о потухшем пикселе за 0, то вне зависимости от коэффициента он не будет участвовать в итоговой сумме, а значит, не получится выделить важность. Для решения этой проблемы было предложено преобразовать входные данные. Пусть в случае прихода 0 он будет заменен значением -1. Тогда факт того, что когда сегмент не горит, будет вносить отрицательное влияние на итоговую сумму.

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

Данная нейронная сеть была реализована на Python, высокоуровневом языке программирования. В нее также входит тестовая модель, где был осуществлен прогон всех наборов переменных через функцию. Функция активации определила, какая итоговая сумма соответствует определенному значению, и выдала свое предположение. Результаты обучения и тестирования нейронной сети представлены соответственно на рисунке 3 и 4.

ЭтапН1 49 -8, 34, 28, 24, 44, 50, 4, 40, 12, 10, -48, 38, "4, 32, 48, 40, 4, 14, 38, 38, 16, -6, 22, 20, 16, 30, 14, 52, 2, 30, 16, 12, 20, 6, 2, 40]

Этап!!1 50 -9, 35, 29, 23, 45, 51, 5, 39, 11, 9, 49, 39, - 5, 31, 49, 41, 3, 15, 37, 37, 17, 7, 21, 19, -17, 31, -15, 53, 3 29, 15, 11, 19, 5, 1, 39]

ЭтапН1 51 -8, 36, 28, 22, 44, 50, 4, 38, 12, 10, -48, 38, -6, 30, 48, 40, 2, 14, 36, 38, 18, -8, 22, 18, 18, 30, 16, 52, 2, 28, 14, 10, 18, 6, 2, 40]

ЭтапН1 52 -9, 37, 29, 23, 45, 51, 3, 39, 13, 11, -49, 39, -7, 31, 49, 41, 1, 15, 37, 39, 19, -7, 23, 19, 19, 31, 17, 53, 1, 29, 15, 11, 19, 7, 3, 41]

ЭтапН1 53 -10, -38, 28, 22, -46, 52, 4 40, -14, -12 -50, 38, -6 30 50 42 2, 16, 38, 40, 20 -8, 24, 20, -20, 30, -18, 54, 2, 30, 16, 12, 20, 8, 4, 42]

ЭтапН1 54 -11, -39, 29, 23, -47, 53, 3 -15, -13 -51, 39, -7 31 51 43 1, 17, 39, 41, 21 -7, 25, 21, -21, 31, -19, 55, 1, 31, 17, 13, 21, 9, 5, 43]

ЭтапН1 55 -10, -40, 28, 22, -46, 52, 2 40, -16, -14 -50, 38, -8 30 50 42 16, 38, 42, 22 -8, 26, 20, -22, 30, -20, 54, 0, 30, 16, 12, 20, 10, 6, 44]

ЭтапН1 56 -9, 39, 29, 23, 47, 53, 3, 15, 13, -51, 39, -7, 31, 51, 43, 1, 15, 39, 43, 21, -9, 25, 19, 21, 31, 19, 55, 1, 31, 15, 11, 19, 9, 5, 45]

ЭтапН1 57 -10, -40, 30, 24, -48, 54, 2 42, -16, -14 -52, 40, -8 32 52 44 0, 16, 40, 44, 22 -8, 26, 20, -22, 32, -20, 56, 0, 32, 16, 12, 20, 10, 6, 46]

ЭтапН1 58 -11, -41, 29, 23, -49, 55, 3 43, -17, -15 -53, 39, -7 31 53 45 1, 17, 41, 45, 23 -9, 27, 21, -23, 31, -21, 57, 1, 33, 17, 13, 21, 11, 7, 47]

ЭтапН1 59 -10, -40, 30, 24, -50, 56, 4 44, "16, -14 -54, 40, -6 32 54 46 2, 16, 42, 46, 22 -10, 26, 20 -22, 32 -20, 58 2 34, 16, 12, 20, 10, 6, 48

ЭтапН1 60 -11, -41, 31, 25, -51, 57, 3 45, -17, -15 -55, 41, -7 33 55 47 1, 17, 43, 47, 23 -9, 27, 21, -23, 33, -21, 59, 1, 35, 17, 13, 21, 11, 7, 49]

ЭтапН1 61 -12, -42, 32, 24, -52, 58, 4 44, -16, -14 -56, 42, -8 32 56 48 6, 18, 42, 46, 24 -10, 26, 20 -24, 34 -22, 60 2 34, 16, 12, 20, 10, 6, 48

ЭтапН1 62 -11, -43, 31, 23, -53, 59, 5 43, -15, -13 -57, 43, -7 33 57 49 1, 19, 41, 45, 25 -9, 27, 21, -23, 35, -21, 61, 3, 33, 17, 13, 21, 9, 5, 47]

ЭтапН1 63 -12, -44, 32, 24, -54, 60, 4 44, -16, -14 -58, 44, -8 34 58 50 0, 20, 42, 46, 26 -8, 28, 22, -24, 36, -22, 62, 2, 34, 18, 14, 22, 10, 6, 48]

ЭтапН1 64 -13, -45, 31, 23, -55, 61, 5 45, -17, -15 -59, 43, -7 33 59 51 1, 21, 43, 47, 27 -9, 29, 23, -25, 35, -23, 63, 3, 35, 19, 15, 23, 11, 7, 49]

ЭтапН1 65 -12, -44, 32, 24, -56, 62, 6 46, -16, -14 -60, 44, -6 34 60 52 2, 20, 44, 48, 26 -10, 28, 22 -24, 36 -22, 64 4 36, 18, 14, 22, 10, 6, 50

ЭтапН1 66 "13, -45, зз, 25, -57, 63, 5 47, -17, -15 -61, 45, -7 35 61 53 1, 21, 45, 49, 27 -9, 29, 23, -25, 37, "23, 65, 3, 37, 19, 15, 23, 11, 7, 51]

ЭтапН1 67 -14, -46, 32, 24, -58, 64, 6 48, -18, -16 -62, 44, -6 34 62 54 2, 22, 46, 50, 28 -10, 30, 24 -26, 36 -24, 66 4 38, 20, 16, 24, 12, 8, 52

Этап1Р 68 "13, -45, зз, 25, -59, 65, 7 49, -17, -15 -63, 45, -5 35 63 55 3, 21, 47, 51, 27 -11, 29, 23 -25, 37 -23, 67 5 39, 19, 15, 23, 11, 7, 53

ЭтапН1 69 -14, -46, 34, 26, -60, 66, 6 50, -18, -16 -64, 46, -6 36 64 56 2, 22, 48, 52, 28 -10, 30, 24 -26, 38 -24, 68 4 40, 20, 16, 24, 12, 8, 54

ЭтапН1 70 -15, -47, 33, 25, -59, 65, 5 49, -19, -17 -63, 45, -7 35 63 55 1, 21, 47, 51, 27 -11, 31, 25 -27, 37 -25, 67 3 39, 19, 15, 23, 13, 9, 53

ЭтапН1 71 -14, -46, 34, 26, -60, 66, 6 50, -18, -16 -64, 46, -6 36 64 56 2, 20, 48, 52, 26 -12, 30, 24 -26, 38 -24, 68 4 40, 18, 14, 22, 12, 8, 54

ЭтапН1 72 -13, -45, 35, 27, -61, 67, 7 51, -17, -15 -65, 47, -5 37 65 57 3, 19, 49, 53, 25 -13, 29, 23 -25, 39 -23, 69 5 41, 17, 13, 21, 11, 7, 55

ЭтапН1 73 -14, -46, 36, 28, -62, 68, 6 52, -18, -16 -66, 48, -6 38 66 58 2, 20, 50, 54, 26 -12, 30, 24 -26, 40 -24, 70 4 42, 18, 14, 22, 12, 8, 56

Итог: [-1 , -46, 36 28 , -62, 68 , 6, 52, -18, -16, -66, 48 -6 38, 66, 58, 2 20 , 50 54 26 -12, 30, 24, -26, 40, -24, 70 , 4 42, 18, 14, 22, 12, 8, 56]

Коэффициенты [31, 19, 1, 2, 13, 5, 2, 1, 4, 2, 1, 3, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]

Рисунок 3 - Результат обучения

Число 21: [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0. 1, 0, 0, 0, 0, 1, 1, 1, 1, 1]

Предположение Число 22: [1, L 0, е, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, о, 1]

Предположение Число 23: [1, Н 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, G, 1]

Предположение Число 21: [0, N 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0]

Предположение Число 25: [1, 0 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, G, 0]

Предположение Число 26: [О, р 1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1]

Предположение Число 27: [1, Q 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1]

Предположение Число 28: [О, R 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0. 0, 0, 0, 0, 1, 1, 1, 1, 1, 0]

Предположение Число 29: [1, S 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, о, 0]

Предположение Число 30: [1, т 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0]

Предположение Число 31: [1, и 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, о, 0]

Предположение Число 32: [1, V 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, G, 1]

Предположение Число 33: [1, W 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, о, 1]

Предположение Число 34: [1, X 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, G, 0]

Предположение Число 35: [1, Y 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0. 0, 1, 0, 0, 0, 1, 1, 1, 1, 1]

Предположение Z

Рисунок 4 - Результат тестирования

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

Согласно логике работы системной модели нейронная сеть была описана в САПР Xilinx на языке описания аппаратуры Verilog. В основном модуле - модуле нейронной сети - записаны встроенные коэффициенты для распознавания символов и букв английского алфавита в верхнем регистре, также в него встроен набор из 36 параметризованных нейронов с необходимой настройкой (разрядность коэффициентов 25) и из параметризованного приоритетного шифратора с необходимой настройкой. Нейроны обрабатывают входные данные, после чего шифратор переводит в код (в данном случае 8-разрядный) данные срабатывания, полученные с нейронов. Помимо кода, шифратор также выводит сигнал, сообщающий о том, распознала ли нейронная сеть данные.

Основная сложность при переносе заключается в работе с представлениями чисел. Так как наша системная модель не имеет представлений в виде чисел с плавающей запятой (дробей), то можно смело отказаться от работы с мантиссой. Для оптимизации и удобства расчетов все расчеты будут делаться в неотрицательном виде представления, то есть не будут задействованы ни обратный, ни дополнительный код - только прямой. Но для реализации такого подхода нужно убедиться, что при переносе минимального отрицательного числа, получаемого в виде результата или промежуточных значений на аккумуляторе, не будет увеличивать разрядность представления чисел.

В данном проекте были реализованы 3 модуля, каждый из которых выполняет свою определенную задачу. Самый низкий модуль называется "Neuron" и симулирует работу нейрона, внутри которого происходят все расчеты. Средний модуль, по своей сути являющийся главным, синтезирует модули "Neuron", в которые передает значения с жидкокристаллического дисплея и значения для идентификации, на выходе получает номер символа в сгенерированном алфавите. Самый высокий модуль является модулем UUT-тестирования, в нем создается среда, в которой будет симулироваться работа нашего

устройства. Само тестирование представляет из себя описание состояний, приходящих на устройство, и временных задержек между ними.

При работе в САПР ХШпх ШЕ была получена RTL-модель, которая показывает работу узлов между собой и то, как будет выглядеть верхний уровень. Входы и выходы объединяются в модули, модули в устройство, это и есть RTL-модель. Фрагмент ЯТЬ-модели модуля нейронной сети представлен на рисунке 5.

Рисунок 5 - Фрагмент ЯТЬ-модели модуля нейронной сети

Было произведено тестирование, для которого было сформировано окружение данного модуля, в котором были созданы подаваемые значения, симулирующие значения, приходящие с ЬСБ-дисплея, учитывая каждый требуемый для проверки набор данных.

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

Результат представлен на временной диаграмме на рисунке 6.

Рисунок 6 - Временная диаграмма работы нейронной сети

Заключение. Проведено моделирование функционального узла распознавания символов на LCD-дисплее размером 5х5 на базе программируемой логической интегральной схемы в инструментальной среде разработки программ Xilinx Vivado Design Suite. Построена модель нейронной сети на базе искусственного нейрона на языке высокого уровня Python, обучены весовые коэффициенты этого нейрона. Модель перенесена на язык описания аппаратуры Verilog. Рассмотрены особенности реализации модулей на программируемой логике. Запрограммированный функциональный узел на базе программируемой логической интегральной схемы предназначен для создания конфигурируемых цифровых электронных схем. Разработанный узел может быть использован в программируемой логической интегральной схеме и перенесён на её кристалл, проведено успешное тестирование модулей, составляющих узел управления матричным индикатором.

Библиографический список

1. Галушкин А. И. Нейронные сети. Основы теории / А. И. Галушкин. - Москва : Горячая Линия - Телеком, 2010. - 496 с.

2. Шарипова Д. Д. Нейронная сеть Imageai: распознавание объектов / Д. Д. Шарипова // Информационные технологии. Проблемы и решения. - 2020. - № 2 (11). - С. 140-144.

3. Афонин, В. Л. Нейронная сеть на основе специальной потенциальной функции для распознавания многофункциональных сигналов / В. Л. Афонин, В. В. Слепцов // Информационные технологии. - 2021. - Т. 27, № 9. -С. 478-483.

4. Иванов, С. А. Модель системы управления комбинированным отоплением теплицы в условиях закрытого грунта на базе микроконтроллера RASPBERRY PI / С. А. Иванов, И. Ю. Квятковская, А. Ф. Дорохов, Н. Д. Шишкин // Вестник Астраханского государственного технического университета. Серия: Управление, вычислительная техника и информатика. - 2015. - № 2. - С. 32-37.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

5. Алексеев, П. П. Применение нейронных сетей в системе распознавания промысловых гидробионтов в условиях повышенной флуктуации / П. П. Алексеев, И. Ю. Квятковская // Вестник Астраханского государственного технического университета. Серия: Управление, вычислительная техника и информатика. - 2022. - № 2. -С. 76-86.

6. Алексеев, П. П. Применение нейронных сетей для распознавания принципиальных условно-графических электрических обозначений / П. П. Алексеев, И. Ю. Квятковская // Вестник Астраханского государственного технического университета. Серия: Управление, вычислительная техника и информатика. - 2021. - № 2. - С. 47-56.

7. Kvyatkovskaya I. Development of a searching algorithm based on neural networks for the optimal university studies schedule / I. Kvyatkovskaya, A. Khasukhadzhiev, T. Magomaev // AIP Conference Proceedings. Ser. "I International Conference ASE-I - 2021: Applied Science and Engineering, ASE-I 2021". - 2021. - P. 040001.

8. Шуршев, Т. В. Способ поабзацного ввода числовых значений в массив в языке программирования PYTHON / Т. В. Шуршев // Информационные технологии и технологии коммуникации: современные достижения : материалы Третьей Междунар. молодеж. конф. (Астрахань, 1-5 октября 2019 г.). - Астрахань : Изд-во АГТУ, 2019.

9. Шуршев, Т. В. Моделирование функционального узла управления матричным индикатором на базе программируемой логической интегральной схемы / Т. В. Шуршев, Е. П. Карлина // Вестник Астраханского государственного технического университета. Серия: Управление, вычислительная техника и информатика. - 2022. -№ 4. - С. 42-47.

10. Шуршев, Т. В. Решение задачи выбора варианта промыслового сооружения при разработке морского нефтегазового месторождения / Т. В. Шуршев // Новейшие технологии освоения месторождений углеводородного сырья и обеспечение безопасности экосистем Каспийского шельфа : материалы XIII Международной научно-практической конференции. - Астрахань, 2022. - С. 393-395.

11. Шуршев, Т. В. Рекурсивный алгоритм вычисления оценки согласованности экспертов // Технические средства систем управления и связи / Т. В. Шуршев // Технические средства систем управления и связи : материалы Международного научного форума, материалы VI Международной конференции, материалы 15-й Международной конференции. - Астрахань, 2022. - С. 157-159.

References

1. Galushkin A. I. Neyrvnnye seti. Osnovy teorii [Neural networks. Fundamentals of the theory]. Moscow, Goryachaya Liniya - Telekom, 2010. 496 p.

2. Sharipova, D. D. Neyronnaya set Imageai: raspoznavanie obektov [Neural network Imageai: object recognition]. Informatsionnye tekhnologii. Problemy i resheniya [Information Technologies. Problems and Solutions], 2020, no. 2 (11), pp. 140-144.

3. Afonin, V. L., Sleptsov, V. V. Neyronnaya set na osnove spetsialnoy potentsialnoy funktsii dlya raspoznavaniya mnogofunktsionalnykh signalov [Neural network based on a special potential function for recognition of multifunctional signals]. Informatsionnye tekhnologii [Information technologies], 2021, vol. 27, no. 9, pp. 478-483.

4. Ivanov, S. A., Kvyatkovskaya, I. Yu., Dorokhov, A. F. and Shishkin, N. D. Model sistemy upravleniya kom-binirovannym otopleniem teplitsy v usloviyakh zakrytogo grunta na baze mikrokontrollera RASPBERRY PI [Model of the control system for greenhouse combined heating in greenhouse conditions based on the RASPBERRY PI microcontroller]. VestnikAstrakhanskogo gosudarstvennogo technicheskogo universiteta. Seriya: Upravleniye, vychislitelnaya tekhnika i informatika [Bulletin of the Astrakhan State Technical University. Series: Management, Computer Engineering and Informatics], 2015, no. 2, pp. 32-37.

5. Alekseev, P. P., Kvyatkovskaya, I. Yu. Primeneniye neyronnykh setey v sisteme raspoznavaniya promyslo-vykh gidrobiontov v usloviyakh povyshennoy fluktuatsii [The use of neural networks in the recognition system of commercial aquatic organisms under conditions of increased fluctuation]. Vestnik Astrakhanskogo gosudarstvennogo tekhnicheskogo universiteta. Seriya: Upravleniye, vychislitelnaya tekhnika i informatika [Bulletin of the Astrakhan State Technical University. Series: Management, Computer Engineering and Informatics], 2022, no. 2, pp. 76-86.

6. Alekseev, P. P., Kvyatkovskaya, I. Yu. Primenenie neyronnykh setey dlya raspoznavaniya printsipialnykh uslovno-graficheskikh elektricheskikh oboznacheniy [The use of neural networks for recognition of fundamental conditionally graphic electrical designations]. VestnikAstrakhanskogo gosudarstvennogo tekhnicheskogo universiteta. Seriya: Upravleniye, vychislitelnaya tekhnika i informatika [Bulletin of the Astrakhan State Technical University. Series: Management, Computer Engineering and Informatics], 2021, no. 2, pp. 47-56.

7. Kvyatkovskaya, I., Khasukhadzhiev, A., Magomaev, T. Development of a searching algorithm based on neural networks for the optimal university studies schedule. AIP Conference Proceedings. Ser. "I International Conference ASE-I - 2021: Applied Science and Engineering, ASE-I 2021", 2021, p. 040001.

8. Shurshev T. V. Sposob poabzatsnogo vvoda chislovykh znacheniy v massiv v yazyke programmirovaniya PYTHON [A method for paragraph-by-paragraph input of numerical values into an array in the PYTHON programming language]. Informatsionnye tekhnologii i tekhnologii kommunikatsii: sovremennye dostizheniya: materialy TreteyMezhdu-narodnoy molodezhnoy konferentsii (Astrahan, 1-5 oktyabrya 2019 g.) [Information technologies and communication technologies: modern achievements: materials of the Third Intern. youth conf. (Astrakhan, October 1-5, 2019) Astrakhan, ASTU Publishing House, 2019.

9. Shurshev, T. V., Karlina, E. P. Modelirovanie funktsionalnogo uzla upravleniya matrichnym indikatorom na baze programmiruemoy logicheskoy integralnoy shemy [Modeling of the functional unit for controlling a matrix indicator based on a programmable logic integrated circuit]. Vestnik Astrakhanskogo gosudarstvennogo tekhnicheskogo universiteta. Seriya: Upravlenie, vychislitelnaya tekhnika i informatika [Bulletin of the Astrakhan State Technical University. Series: Management, Computer Engineering and Informatics], 2022, no. 4, pp. 42-47.

10. Shurshev, T. V. Reshenie zadachi vybora varianta promyslovogo sooruzheniya pri razrabotke morskogo nefte-gazovogo mestorozhdeniya [Solving the problem of choosing a variant of a field facility in the development of an offshore oil and gas field]. Noveyshie tekhnologii osvoeniya mestorozhdeniy uglevodorodnogo syrya i obespechenie be-zopasnosti ekosistem Kaspiyskogo shelfa : materialyXIIIMezhdunarodnoy nauchno-prakticheskoy konferentsii [The latest technologies for the development of hydrocarbon deposits and ensuring the safety of the ecosystems of the Caspian shelf : materials of the XIII International Scientific and Practical Conference]. Astrakhan, 2022, pp. 393-395.

11. Shurshev, T. V. Rekursivnyy algoritm vychisleniya otsenki soglasovannosti ekspertov [Recursive Algorithm for Computing Expert Consistency Estimates]. Tekhnicheskie sredstva sistem upravleniya i svyazi: materialy Mezhdu-narodnogo nauchnogo foruma, materialy VIMezhdunarodnoy konferentsii, materialy 15-y Mezhdunarodnoy konferentsii [Technical means of control and communication systems. International Scientific Forum on Control and Engineering : materials of the International Scientific Forum, materials of the VI International Conference, materials of the 15th International Conference]. Astrakhan, 2022, pp. 157-159.

i Надоели баннеры? Вы всегда можете отключить рекламу.