Сущность и устройство искусственных нейтронных сетей, их общая характеристика, назначение, принцип работы и составляющие базовые нелинейные элементы. Решение систем обыкновенных дифференциальных уравнений в нейросетевом базисе при помощи системы Simulink.
Аннотация к работе
Искусственные нейронные сети широко используются для решения как инженерных, так и научных задач. Таким образом, типичная операция, выполняемая нейроном в сети, - это преобразование вида после чего ИНС посылает у в качестве своего выходного сигнала другим нейронам или устройствам. Таким образом, основные черты нейронной сети следующие: · Это устройство для обработки информации, получающее на входе сигнал Х (как правило, вектор) и вырабатывающее выходной сигнал Y = F(Х) (Y тоже может быть вектором). Нейросетевой базис представляет собой операцию нелинейного преобразования взвешенной суммы, т.е. операцию взвешенного суммирования нескольких входных сигналов с последующим преобразованием этой суммы посредством функции активации формального нейрона, которая может быть как линейной, так и нелинейной. Схема соединения нейронов, реализующая решение системы ОДУ в нейросетевом базисе методом Рунге-Кутты 1-го порядка.
Введение
Искусственные нейронные сети широко используются для решения как инженерных, так и научных задач. Поскольку они оказались весьма эффективным средством обработки информации, постоянно делаются попытки расширить область их применения или найти новые принципы их построения и работы.
Несмотря на огромное число публикаций в настоящее время нет общепринятого определения искусственной нейронной сети (ИНС). Причина скорее всего в том, что различных типов ИНС существует очень много. Базовые нелинейные элементы ИНС называются формальными нейронами. Как правило, формальный нейрон получает несколько входных сигналов , суммирует их, выполняет нелинейное преобразование над этой суммой. Связи между нейронами характеризуются "весами" . Нейроны могут также получать "внешние" сигналы с весами . Таким образом, типичная операция, выполняемая нейроном в сети, - это преобразование вида после чего ИНС посылает у в качестве своего выходного сигнала другим нейронам или устройствам. Функцию ? называют функцией активации. Очень часто ? является "сигмоидной" функцией вида ? = 1/(1 e-ax) или ? = tanh(ax)
В предельном случае а>?, ? становится пороговой функцией.
Выходом нейросети служат состояния нейронов (всех или некоторых) по окончании всех промежуточных расчетов. Таким образом, основные черты нейронной сети следующие: · Это устройство для обработки информации, получающее на входе сигнал Х (как правило, вектор) и вырабатывающее выходной сигнал Y = F(Х) (Y тоже может быть вектором).
· Она состоит из элементов - нейронов, которые работают параллельно, подобно нейронам мозга.
· НС способна обучаться. Обычно под обучением понимают процесс подборки весов ij для того, чтобы добиться желаемых свойств отображения F.
Решение систем обыкновенных дифференциальных уравнений в нейросетевом базисе
Рассмотрим задачу решения систем обыкновенных дифференциальных уравнений (ОДУ) в нейросетевом базисе. Нейросетевой базис представляет собой операцию нелинейного преобразования взвешенной суммы, т.е. операцию взвешенного суммирования нескольких входных сигналов с последующим преобразованием этой суммы посредством функции активации формального нейрона, которая может быть как линейной, так и нелинейной.
Пусть задана система n дифференциальных уравнений 1-го порядка
Y (x) = A Y(x), (1) где А - квадратная матрица постоянных коэффициентов размера n?n; Y - n - мерный вектор искомой функции аргумента х.
Для метода Рунге-Кутты 1-го порядка (метод прямоугольников) решение системы (1) можно представить в виде: Yt 1 = Yt HAYT = (E HA)Yt = Bt Yt, (2) где Е - единичная матрица размером n?n.
Элементы матрицы В есть первые два члена разложения матричной экспоненты в степенной ряд.
Для системы двух уравнений выражение (2) принимает вид: y1t 1 = b11y1t b12y2t = (1 ha11)y1t ha12y2t,y2t 1 = b21y1t b22y2t = ha21y1t (1 ha22)y2t
Схема соединения нейронов, реализующая решение системы показана на рис.1.
Рис. 1. Схема соединения нейронов, реализующая решение системы ОДУ в нейросетевом базисе методом Рунге-Кутты 1-го порядка.
Здесь Ne1 и Ne2 - нейроны, участвующие в операции интегрирования. Выходом сети являются сигналы y1 и y2. Входные сигналы g10 и g20 вводят в нейроны начальное возбуждение, эквивалентное начальным условиям решения системы уравнений. Функция активации у обоих нейронов - симметричная линейная функция.
Пример разработки НС решения ОДУ в системе Simulink
Разработаем НС для решения системы уравнений y"1 = y2, (3)y"2 = -y1 при начальных условиях: y1(0) = -1, y2(0) = 0, t = 0…2?.
Блок-схема решения системы (3) в нейросетевом базисе, созданная в среде Simulink, показана на рис.2.
Рис. 2. Блок-схема решения системы (3) в нейросетевом базисе.
При построении схемы используются блоки из меню Neural Network Blockset: netprod, netsum (Net Input Functions), purelin (Transfer Functions). Для визуализации результатов используется блок Scope (Sinks), для задания шага интегрирования - блок Constant (Sources), для установки начальных значений - блок Unit Delay (Discrete). Окно задания параметров блока Unit Delay показано на рис.3. Для показа двух графиков в блоке Scope использован блок Mux (Signals&Systems).
Окно браузера библиотеки Simulink показано на рис.4.
Рис. 3. Окно задания параметров блока Unit Delay.
Рис. 4. Окно библиотеки блоков системы Simulink.
Для запуска схемы из командной строки MATLAB следует набрать:
>> N=100;
>> h=2*pi/N;
>> sim("Koshi_neuro")
После открытия блока Scope можно увидеть графики решения задачи (рис.5).
Рис. 5. Графики решения задачи в Simulink.
Сравним полученные графики с аналогичными графиками решения задачи в MATLAB. Для этого создадим М-файл, задающий систему уравнений (3):
После сохранения М-файла с именем Koshi_ex используем для решения рассматриваемой системы ОДУ функцию ode45, набрав в командном окне MATLAB: >> [T,Y] = ode45("Koshi_ex",[0 2*pi],[-1 0]);
>> plot(T,Y(:,1),"-",T,Y(:,2),"-.")
Получаем графики решения, идентичные графикам на рис.5 (рис.6).
Рис. 6. Графики решения задачи с помощью функции ode45.
Задание
Разработать в среде Simulink ИНС для решения системы ОДУ:
при начальных условиях: y1(0) = 0, y2(0) = 0, y3(0) = 1, t = 0…15. искусственные нейтронные сети
Список литературы
1. Л.Г. Комарцова, А.В. Максимов. Нейрокомпьютеры. М.: Изд-во МГТУ им.Н.Э. Баумана, 2002. - 320 с.
2. И.В. Черных. SIMULINK: среда создания инженерных приложений. М.: ДИАЛОГ-МИФИ, 2003. - 496 с.