Современная электроника №5/2022
ПРОЕКТИРОВАНИЕ И МОДЕЛИРОВАНИЕ 32 WWW.SOEL.RU СОВРЕМЕННАЯ ЭЛЕКТРОНИКА ◆ № 5 2022 В этих выражениях n является разме- ром входного вектора x , m – это раз- мер выходного вектора скрытого слоя y _1, f – вектор-функция активации, j – это мнимая единица, w – это матрица весов, k – кол-во выходов КНС. Пример использования Возьмём, к примеру, классификацию фотографий. Перед тем как приступить к рас- познаванию, лучше применить алго- ритмы бинаризации, чтобы решение было приведено к общему виду, после чего вектор полностью подаётся в НС. В нашем случае с сигмоидальной функ- цией активации вещественная и мни- мая составляющие подавались отдель- но, после чего вектор распознавался. Использовались нейронные сети двух типов: сетьпрямогораспространенияс сиг- моидальнойфункцией активациииКНС. В результате объём полученной обу- чающей выборки составил 660 ком- плексных векторов, разделённых на 33 класса, что соответствует количе- ству символов кириллицы. Перейдём к самой реализации на языке программирования. Полученные результаты Код полученной комплексной ней- ронной сети показан на рис. 5. Разработан класс KNN_Simple, в кото- ром реализованы следующие методы: ● KNN_Simple – параметризованный конструктор, на вход: количество входных нейронов, количество вы- ходных нейронов и количество ней- ронов скрытого слоя соответственно; ● functionActivate1Layer – функция ак- тивации первого слоя; ● OutputFirstLayer – получение резуль- тата активации первого слоя; ● OutputOutLayer – вывод последнего (выходного) слоя; ● NetworkOut – проход (forward pass) и вывод результата прохода. Для использования написанной ком- плексной нейронной сети использовал- ся набор данных из открытого доступа, предусмотрен графический интерфейс, созданный на C# (рис. 6). Элементы интерфейса: 1 – поле распознанных символов, 2 – поле для рисования сим- вола, 3 – поле распознанного символа. Кнопки: «Очистить» – очищает рису- нок, «Распознать» – распознаёт рисунок, «Учить» – если сеть неправильно дала ответ, нужно скорректировать значение и нажать на эту кнопку для обучения. Заключение Даны определения комплексным ней- ронным сетям (КНС). Доказана необ- ходимость КНС на разных прикладных примерах. Проведены этапы разработ- ки нейронной сети и её работы, реали- зация её кода на языке программиро- вания C#. Достоинства КНС Комплексная нейронная сеть име- ет огромную сферу прикладного при- менения: её можно использовать для работы с сигналами, заданными в комплексном виде, также она очень хорошо подойдёт для распознавания бинарных изображений. Она может аппроксимировать функцию, оставляя все свойства преобразования Фурье, что делает её работу легко анализиру- емой. Ведь именно неанализируемость работы нейронных сетей приводит к тому, что в научных проектах от них иногда отказываются, решая задачи другими методами. Также физический смысл весов позволит использовать эту нейронную сеть для численного разло- жения функции многих переменных в ряд Фурье. Разновидность применений комплексных нейронных сетей силь- но растёт, особенно в последнее деся- тилетие. Недостатки КНС Существенным недостатком данной нейронной сети является наличие боль- шого количества связей, намного пре- вышающего количество связей сетей, основанных на вещественных числах. Литература 1. Фихтенгольц Г.М. Курс дифференциаль- ного и интегрального исчисления. Т. 3. М.: ФИЗМАТЛИТ, 2001. 2. Осовский C. Нейронные сети для обработ- ки информации / пер. с польск. И.Д. Рудин- ского. М.: Финансы и статистика, 2004. 3. Brouwer Friso C.G., Tingdahl Kristofer M., Connolly David. A guide to the Practical Use Of Neural Network // URL: h t t p s : / / www . r e s e a r c h g a t e . n e t / publication/289828233_A_Guide_to_the_ Practical_Use_of_Neural_Networks. 4. Guberman N. On Complex Valued Convolutional Neural Networks // URL: https://deepai.org/publication/on-complex- valued-convolutional-neural-networks. Рис. 5. Код полученной комплексной нейронной сети Рис. 6. Графический интерфейс для использования КНС, созданный на C#
RkJQdWJsaXNoZXIy MTQ4NjUy