Научная статья на тему 'НЕЙРОСЕТЕВОЙ КОМПАРАТОР ДЕЙСТВИТЕЛЬНЫХ ЧИСЕЛ'

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

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

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Чепцов М.Н., Сонина С.Д.

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

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

NEURAL NETWORK COMPARATOR OF REAL NUMBERS

The article discusses the structure and principle of operation of the comparator, presents a neural network model of minimal configuration, which allows you to implement the function of comparing real numbers.

Текст научной работы на тему «НЕЙРОСЕТЕВОЙ КОМПАРАТОР ДЕЙСТВИТЕЛЬНЫХ ЧИСЕЛ»

УДК 004.85

ЧЕПЦОВ М.Н., д-р техн. наук, профессор (Донецкий институт железнодорожного транспорта)

СОНИНА С.Д., старший преподаватель (Донецкий институт железнодорожного транспорта)

Нейросетевой компаратор действительных чисел

Cheptsov M.N., Doctor of Technical Science, Professor (DRTI) Sonina S.D., Senior Lecturer (DRTI)

Neural network comparator of real numbers

Введение и Анализ последних исследований и публикаций

Компараторы являются очень важным строительным блоком для многих типов схем, включая аналого-цифровые преобразователи (АЦП), силовые преобразователи, схемы датчиков и многие другие типы систем смешанных сигналов. Со временем произошли улучшения характеристик компараторов в таких направлениях, как чувствительность, смещение, скорость и энергопотребление, за счет

использования многокаскадных

топологий и других схемных методов [1].

Простейшим в использовании является одноразрядный компаратор, который имеет два входа А и В и три выхода Ра>ъ, ^а=ъ, ^а<ъ. Таблица истинности одноразрядного

компаратора приведена в таблице 1:

Схема одноразрядного

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

Q

Рис.1. Одноразрядный компаратор

В работе (2) представлены различные модели реализации 1- и 2-битного компараторов, с

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

методов и средств проектирования.

Если необходимо сравнить два п-битных числа, то схема будет иметь 2п входов и 22п записей в таблице истинности. Для 2-битных чисел в таблице истинности должно быть 4 входа и 16 строк, аналогично для 3-

Таблица 1 Таблица истинности компаратора

Входы Выходы

a b Fa>b Fa=b Fa<b

1 1 0 1 0

1 0 1 0 0

0 1 0 0 1

0 0 0 1 0

битных чисел таблица истинности будет состоять из 6 входов и 64 строк.

Работа (3) включает разработку трех различных компараторов для сравнения 2-х, 4-х и 8-битных величин. Производительность этих трех различных компараторов оценивалась по двум параметрам, которые учитываются при разработке любой цифровой схемы - занимаемой площади и потребляемой мощности. Основной принцип модификаций сводится к уменьшению количества транзисторов, энергопотребления и достижению повышенной скорости.

Однако при увеличении разрядности сравниваемых данных структура схемы существенно усложняется ввиду необходимости применения логических элементов с большим количеством входов. Рассмотрим возможность реализации подобного решения с применением нейронные сети для действительных чисел из диапазона от -1 до 1.

Цель работы

Разработать и выполнить анализ

неиросетевои модели действительных чисел.

сравнения

Основная часть

Для формирования обучающей выборки воспользуемся языком программирования Python:

import numpy as np s = 0.1

X = np.arange(-1.0, 1.0+s, s) Y = np.arange(-1.0, 1.0+s, s) Z = []

for i in range(X.size): for j in range(Y.size):

if X[i]>Y[j]: Z.append(1.) else: Z.append(-1.)

Результат ее выполнения - массив значений первого и второго входов, X и Y соответственно, а также значений выхода Z, полученных как результат сравнения X и Y. Размер обучающей выборки определяется шагом (переменная s) и в данном случае составляет 441 значение. В трехмерном представлении выборка имеет вид, представленный на рис.2.

Рис.2. Трехмерное представление обучающей выборки (441 значение)

Сформируем нейронную сеть минимальной конфигурации,

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

сходимость на диапазоне значений от -1 до 1.

Процесс обучения нейронной сети выполняем на основе алгоритма обратного распространения ошибки [4]. В качестве метрики применим среднеквадратичную энергию ошибки. После обучение ее значение составило 3.88814е-20.

Применяя подход, рассмотренный в работе [5], выражение сети примет следующий вид:

2Щ = Ж(-8.11189 * (1 + (й(-0.0510915 * (1 + ХЩ * (-30.9158) + +У [/] * (29.4038)) / 2.0)) * (-518.931) + (й(-0.0747215 * (1 + +X [/] * (0.471995) + УЩ * (0.377049)) / 2.0)) * (-518.939)) / 2.0)

(1)

2 х 1

е — 1

где й(х) = ——- - гиперболический тангенс, причем -да < х < да , -1 < х) < 1;

/ - индекс (порядковый номер элемента в выборке).

Оценим погрешность расчетов на тестовой выборке, сформированной с шагом 5 = 0.05, т.е. количество пар

Выходные данные. Количество точек графика: 1681

входных значений составит 1681 (рис.

3).

Суммарная ошибка (Р): 160.0

максимальное значение: 4.0

Рис.3. Результат функционирования модели (1) и ошибка в сравнении с эталонной,

сформированной с шагом ^ = 0.05

Для улучшения точности модели обучающую последовательность

(1) добавим в первоначальную примеры из тестовой выборки, для

которых значения ошибки больше нуля (40 значений). После проведения процесса обучения нейронной сети на 481 примерах среднеквадратичная

энергия ошибки составила 1.17097е-20, и выражение сети примет следующий вид:

ХЩ = й(-8.05914* (1 + (й(-0.2936 * (1 + X Щ * (1.07523) +

+У [/] * (1.13449)) / 2.0)) * (-30.7024) + (^(-0.0957205 * (1 + (2)

+Х[Щ] * (-259.131) + У Щ * (249.874)) / 2.0)) * (-30.7337)) / 2.0)

Продолжим итерационный

процесс увеличения точности и оценим суммарную ошибку модели (2) на тестовой выборке, сформированной с

Выходные данные.

Количество точек графика: 40401

шагом ^ = 0.01, т.е. количество пар входных значений составит 40401 (рис.

4).

Суммарная ошибка (Р): 1090.8216331118083 максимальное значение 4.0

Рис. 4. Результат функционирования модели (2) и ошибка в сравнении с эталонной, сформированной с шагом ^ = 0.01

На рис. 3 приведена суммарная ошибка по всей выборке Р. Количество пар входных значений, у которых ошибка не равна нулю - 464. Они, как и в предыдущей итерации, добавляются в

выборку и проводится процесс обучения нейронной сети. Результат -среднеквадратичная энергия ошибки составила 1.17097е-20, а выражение (2) примет вид:

ХЩ = й(-6.96138* (1 + (й(-0.0535304 * (1 + X [/] * (0.0671989) +

+У [Щ] * (0.0248327)) / 2.0)) * (-617.976) + (й(-0.0137852 * (1 + (3)

+X [/] * (-877.182) + У [Щ] * (874.157)) / 2.0)) * (-617.993)) / 2.0)

Выводы

Таким образом, в работе предложена нейросетевая модель минимальной конфигурации (3 нейрона) с функцией возбуждения нейронов - гиперболический тангенс, которая предназначена для сравнения двух действительных чисел, значения которых лежат в диапазоне [—1; 1]. Кроме этого рассмотрен итерационный процесс повышения точности модели за счет дообучения нейросетевой модели после добавления пар входных и выходных значений, для которых в тестовой выборке ошибка больше нуля.

Следует отметить, что в настоящий момент имеются

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

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

1. T. Niyonsaba A. Akimana, H. Kibeya, P. Uwizeyimana An optimized design of serial logic comparator. Software & Systems, 2022, vol. 35, no. 2, pp. 153159

2. Singh A., Kumar S., Manhas P. Implementation of comparator using different styles of modeling. Proc. Int. Conf. on Latest Trends in Electronics &

Communication Engineering, Greater Noida, 2019.

3. Aggarwal M., Mehra R. Performance analysis of magnitude comparator using different design techniques. Int. J. of Computer Applications, 2015, vol. 115, no. 14, pp. 12-15. DOI: 10.5120/20218-2496.

4. Хайкин С. Нейронные сети: полный курс, 2-е изд., испр.: Пер. с англ. - М.: ООО «И.Д. Вильямс», -2006. - 1104 с.

5. Чепцов М.Н., Сонина С.Д. Метод синтеза нейросетевой генераторной модели / М.Н. Чепцов, С.Д. Сонина // Сборник научных статей ДОНИЖТ. Выпуск 6, - 2022, С.12-18.

Аннотации:

В статье рассмотрена структура и принцип действия компаратора, представлена нейросетевая модель минимальной

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

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

The article discusses the structure and principle of operation of the comparator, presents a neural network model of minimal configuration, which allows you to implement the function of comparing real numbers.

Keywords: comparator, comparison function, neural network, training sample, neural network model.

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