Современные информационные технологии/2.Вычислительная техника и программирование

 

С.Н. Данилин, М.В. Макаров, С.А. Щаников

Муромский институт Владимирского государственного университета

602245, г. Муром, Владимирской обл., ул. Орловская, 23

E-mail: nauka-murom@yandex.ru

Решение нелинейных дифференциальных уравнений в радиосистемах в нейросетевом логическом базисе

 

Для работы современных радиосистем с малой динамической ошибкой необходимо вырабатывать управляющее воздействие с учетом изменяющихся параметров управляемого объекта. Осуществление этого процесса включает в себя задачу решения нелинейных дифференциальных уравнений, как минимум, второго порядка. Традиционные численные алгоритмы решения нелинейных дифференциальных уравнения либо не позволяют достичь необходимой точности результата, либо требуют недопустимо большого времени для своей работы [1]. Целью данной работы является определение возможностей нейронных сетей для решения возникающих проблем [2].

Пусть имеется задача, решаемая в радиосистеме (рис.1), которая описывается нелинейным дифференциальным уравнением второго порядка в операторной форме (1):

Рисунок 1 – Нелинейная динамическая система второго порядка.

                                   ,                                (1)

где  = const;

 - нелинейная функция.

Решение уравнения (1) представляет собой сложную задачу, решаемую только численными методами, например, Рунге-Кутта, Эйлера, Тейлора [1]. Найдем решение данного уравнения в нейросетевом логическом базисе для трех типов нелинейности, часто встречающихся на практике:

I.                                 ;                                                        (2)

II.                                ;                                                   (3)

III.                               .                                                 (4)

В качестве инструментального средства воспользуемся пакетом прикладных программ Neural Network Toolbox версии 4, функционирующим под управлением ядра системы Matlab версии 6.5.

В подсистеме Simulink построим модель (рисунок 2), адекватную выражению (1).

Рисунок 2 – Динамическая модель системы.

В процессе работы подсистемы Simulink находятся численные решения уравнения (1), которые будут использоваться в качестве обучающей выборки для нейронной сети.

Входной сигнал нейронной сети – это матрица, состоящая из векторов: ;  и . Для трех типов нелинейности они имеют следующие значения:

I. x=[0,05; 0,1; 0,15; 0,20; 0,25], a=[5; 10; 15; 20], l=[1; 2; 3; 4], J=64

II. x=[0,2; 0,4; 0,6; 0,8], a=[0; 5; 10; 15], l=[0; 2; 4; 6; 8], J=80.

III. x=[0;1;2;3;4], a=[2,75; 2,77; 2,79; 2,81; 2,83], l=[0; 1; 2 ; 3; 4],  J=125.

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

Желаемый выходной сигнал нейронной сети – это набор нормированных решений дифференциального уравнения второго порядка, полученный с помощью моделирования в Simulink при указанных значениях x, a, l.

Структуры нейронной сети следующие: полносвязные двухслойные прямого распространения; количество нейронов во втором слое равно количеству дискретов решения уравнений второго порядка; количество нейронов в первом слое представляет собой варьируемый параметр.

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

                                   ,                                           (4)

(где qi – аналоговый выход каждого нейрона),

а для II - функция арктангенса

                                                                              (5)

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

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

Методом поиска экстремума функционала оптимизации является модифицированный метод градиентного спуска.

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

Нейронные сети обучались в пакете прикладных программ Neural Network Toolbox, входящих в Matlab.

В качестве функции обучения использовался алгоритм Левенберга-Марквардта, дополненный регуляризацией по Байесу, реализованный в Neural Network Toolbox. Данный алгоритм находит широкое применение при решении задач аппроксимации нелинейных зависимостей. Он выполняет процедуру обучения, если функции взвешивания, накопления и активации имеют производные. В отличие от других алгоритмов здесь используется метод регуляризации, который позволяет успешно справится с проблемой переобучения путем минимизации комбинированного функционала качества обучения, учитывающего не только сумму квадратов ошибок обучения, но и квадраты весов. Для вычисления якобиана функционала качества по переменным веса и смещения применен метод обратного распространения ошибки [2].

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

На вход обучаемой сети подавалась матрица Х размерностью 3·J, целями являлась матрица размерностью 21·J.

Зависимость значения функционала вторичной оптимизации от количества нейронов в первом слое показана в таблице 1.

Решение дифференциального уравнения второго порядка двухслойной нейронной сетью с 10 нейронами в первом слое показано на рисунках 3,4,5.

Таблица 1

Зависимость точности решения от числа нейронов в первом слое

Число нейронов в первом слое

1

2

3

4

5

6

7

8

9

10

SSE

I

1,1349

0,5610

0,1498

0,0499

0,3669

0,0123

0,0093

0,0057

0,0028

0,0019

II

30,146

16,28

7,615

2,954

1,988

1,1572

0,1945

0,3634

0,2514

0,1404

III

6,505

5,059

0,47

0,31

0,211

0,105

0,026

0,013

0,007

0,006

 

                             а)                                                           б)

Рисунок 3 – Набор значений выходных сигналов двухслойной нейронной сети (а) и ее абсолютная погрешность (б) для случая I.

                         а)                                                               б)

Рисунок 4 – Набор значений выходных сигналов двухслойной нейронной сети (а) и ее абсолютная погрешность (б) для случая II.

                           а)                                                             б)

Рисунок 5 – Набор значений выходных сигналов двухслойной нейронной сети (а) и ее абсолютная погрешность (б) для случая III.

Анализ полученных результатов показывает, что двухслойная нейронная сеть с 10 нейронами в первом  слое и 20 нейронами во втором позволяет достигать абсолютной погрешности (среднего значения) решений не более , что при технической реализации означает практическое совпадение с классическими методами. Затраты времени для реализации нейросетевого алгоритма на ЭВМ с архитектурой фон Неймана в среде MATLAB 6.5 меньше классической в 4 раза и составляют всего 4,5 мс. При выполнении рассмотренной задачи на нейрокомпьютерах время решения будет различаться уже на 2-3 порядка.

 

Литература:

1. Амосов А.А., Дубинский Ю.А., Копчёнова Н.В. Вычислительные методы для инженеров. – М.: Высш. шк., 1994.

2. Нейроматематика. Кн.6: Учеб. Пособие для вузов./ Под ред. А.И. Галушкина. – М.: ИПРЖР, 2002. - 448 с. (Серия Нейрокомпьютеры и их применение).

3. Медведев В.С., Потемкин В.Г. Нейронные сети. MATLAB 6. / Под общ. ред. В.Г. Потемкина. – М.: ДИАЛОГ-МИФИ, 2002. – 496 с.