Научная статья на тему 'Использование нейронных сетей при восстановлении формы периодических сигналов'

Использование нейронных сетей при восстановлении формы периодических сигналов Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
578
70
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
нейронная сеть / периодический сигнал / функция активации / функция обучения

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Зияутдинов Владимир Сергеевич, Корнев Павел Александрович

Выполнено экспериментальное исследование особенностей восстановления формы периодических сигналов посредством нейронных сетей в пакете МATLAB. Проведена количественная оценка точности восстановления сигналов

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Зияутдинов Владимир Сергеевич, Корнев Павел Александрович

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

Текст научной работы на тему «Использование нейронных сетей при восстановлении формы периодических сигналов»

УДК 004.8

В.С. Зияутдинов, П.А. Корнев

Использование нейронных сетей при восстановлении формы периодических сигналов

Выполнено экспериментальное исследование особенностей восстановления формы периодических сигналов посредством нейронных сетей в пакете MATLAB. Проведена количественная оценка точности восстановления сигналов.

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

Искусственные нейронные сети - основной метод для решения распознавания образов в ситуациях, когда в экспериментальных данных отсутствуют значительные объемы информации, а полученная информация предельно искажена. Высокая степень параллельности обеспечивает достаточно хорошую обработку информации за интервалы времени, меньшие или сравнимые с допустимыми интервалами времени измерений [1, 2]. Целесообразно рассмотреть в данной статье решение задачи восстановления формы произвольного периодического сигнала с применением искусственных нейронных сетей (ИНС).

Перед непосредственным решением прикладной задачи следует ознакомиться с принципами построения ИНС применительно к решению данного класса задач и определиться с программным инструментарием для выполнения предоставленной задачи.

Решение произвольной задачи с использованием нейронных сетей, как правило, реализуется в несколько этапов:

1. Формулировка задачи в данной предметной области.

2. Подготовка данных для обучения сети.

3. Создание нейронной сети.

4. Обучение нейронной сети.

5. Тестирование полученной сети.

6. Использование обученной сети для решения поставленной задачи.

К числу наиболее известных программных продуктов, интегрирующих технологии построения ИНС, относятся MATLAB и NeuroShell. Наибольший интерес для рассмотрения в рамках данной статьи представляет пакет Neural Network Toolbox (расширение пакета MATLAB). С использованием данного пакета целесообразно рассмотреть решение задачи восстановления некоторого периодического сигнала посредством рекуррентной сети Элмана [3, 4].

Задача №1. Восстановить форму произвольного периодического сигнала с использованием рекуррентной сети Элмана (1-й этап решения).

Решение.

Сформулируем задачу в рассматриваемой предметной области (1-й этап решения).

Пусть даны два синусоидальных сигнала - первый с относительной амплитудой A1,

второй - с относительной амплитудой, равной A2 . Данные сигналы рассмотрим на элементарном временном интервале T е [71,72 ]. Тогда их аналитическая форма представи-ма следующим образом:

Р1 = A1 * sinT1: T2);

Р2 = A2 * sin(T1: T2).

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

Р =[Р1 Р2 Р1P2J.

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

t = [¿1 ¿2 ¿1 ¿2 J,

где

t1 = A1*ones (T1T2 ),

t2 = A2 * ones(T1T2).

Рассмотрим случай, когда в проектируемой нейронной сети присутствует только один входной нейрон и только один выходной нейрон [3]. Число нейронов в скрытом слое может быть произвольным, но для расширения области применения проектируемой сети предусмотрим возможность ввода количества нейронов в данном слое.

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

Для кнопки с надписью «Выход» напишем соответствующий обработчик события pushbutton2_Callback, реализующий непосредственное завершение программы.

Для кнопки с надписью «Расчет» создадим обработчик события pushbutton1_Callback, который будет функционировать в соответствии со следующим алгоритмом:

1. Определение глобальных переменных (2-й этап решения).

2. Чтение переменных (2-й этап решения).

3. Определение входного массива данных (2-й этап решения).

4. Определение выходного массива данных (2-й этап решения).

5. Реализация чередования амплитуд входного и выходного массива данных (2-й этап решения).

6. Формирование последовательности значений входных и выходных данных (2-й этап решения).

7. Создание рекуррентной сети Элмана (3-й этап решения).

8. Определение циклов обучения (4-й этап решения).

9. Определение допустимой ошибки обучения (4-й этап решения).

10. Определение функции ошибки (4-й этап решения).

11. Обучение созданной нейронной сети (4-й этап решения).

12. Тестирование сети на массиве входных данных (5-й этап решения).

13. Построение графиков исходного и целевого сигналов (6-й этап решения).

14. Удаление созданной нейронной сети.

В результате реализации вышеприведенного алгоритма программа получила необходимую функциональность. Следует проверить правильность ее работы и адекватность получаемых результатов. Программа специально разрабатывалась для того, чтобы уменьшить потери по времени при проведении многочисленных измерений, когда неоднократно изменяются значения A1, , T , T2 и т.д. Однако для определенности примем A1 = 1В, A2 = 2В , T1 = 1с, T2 = 20с.

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

/ 1

IА /

Время, с

Рис. 1. Сравнение полученного и целевого сигналов

Задача №2. Восстановить форму произвольного периодического сигнала с использованием рекуррентной сети Элмана при различных видах функций активации и обучения нейронной сети.

Решение.

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

- 3 элемента edit;

- 3 элемента listbox;

-1 элемент button;

-1 элемент axes.

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

Модифицированный алгоритм работы обработчика события для кнопки «Расчет» представлен далее:

1. Определение глобальных переменных (2-й этап решения).

2. Чтение переменных (2-й этап решения).

3. Определение входного массива данных (2-й этап решения).

4. Определение выходного массива данных (2-й этап решения).

5. Реализация чередования амплитуд входного и выходного массива данных (2-й этап решения).

6. Формирование последовательности значений входных и выходных данных (2-й этап решения).

7. Создание рекуррентной сети Элмана (3-й этап решения).

8. Определение циклов обучения (4-й этап решения).

9. Определение допустимой ошибки обучения (4-й этап решения).

10. Определение функции ошибки (4-й этап решения).

11. Определение функции активации скрытого слоя нейронов (4-й этап решения).

12. Определение функции активации выходного слоя нейронов (4-й этап решения).

13. Определение функции обучения нейронной сети (4-й этап решения).

14. Обучение созданной нейронной сети (4-й этап решения).

15. Тестирование сети на массиве входных данных (5-й этап решения).

16. Построение графиков исходного и целевого сигналов (6-й этап решения).

17. Удаление созданной нейронной сети.

После подготовки интерфейса и программного кода следует оценить результаты работы программы для различных вариантов наборов функций активации и обучения. На рис. 2 и 3 представлены результаты работы программы для нескольких вариантов наборов таких функций.

Время, с Рис. 2. Вариант №1

2

1,8

т

ё

с

1,2

1

0,8

0 20 40 60 80 100 120 140 160

Время, с

Рис. 3. Вариант №2

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

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

Решение.

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

1. Определение глобальных переменных (2-й этап решения).

2. Чтение переменных (2-й этап решения).

3. Определение входного массива данных (2-й этап решения).

4. Определение выходного массива данных (2-й этап решения).

5. Реализация чередования амплитуд входного и выходного массива данных (2-й этап решения).

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

6. Формирование последовательности значений входных и выходных данных (2-й этап решения).

7. Создание рекуррентной сети Элмана (3-й этап решения).

8. Определение циклов обучения (4-й этап решения).

9. Определение допустимой ошибки обучения (4-й этап решения).

10. Определение функции ошибки (4-й этап решения).

11. Определение функции активации скрытого слоя нейронов (4-й этап решения).

12. Определение функции активации выходного слоя нейронов (4-й этап решения).

13. Определение функции обучения нейронной сети (4-й этап решения).

14. Обучение созданной нейронной сети (4-й этап решения).

15. Тестирование сети на массиве входных данных (5-й этап решения).

16. Построение графиков исходного и целевого сигналов (6-й этап решения).

17. Создание массива абсолютных погрешностей значений восстановленного сигнала.

18. Определение среднеквадратического отклонения массива абсолютных погрешностей.

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

20. Вывод вновь вычисленного значения среднеквадратического отклонения в файл.

21. Закрытие файла.

22. Удаление созданной нейронной сети.

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

Первый эксперимент (и, соответственно, получение первого результата) проводился при следующих условиях:

- начальное и конечное значения элементарного интервала времени - 1 и 20 с соответственно;

- функция активации нейронов скрытого слоя - сигмоидная функция в виде гиперболического тангенса;

-функция активации нейронов выходного слоя - линейная функция;

-функция обучения нейронной сети - функция, которая модифицирует значения весов и смещений по методу градиентного спуска с учетом моментов и с применением адаптивного обучения;

- диапазон входа - [-2; 2];

- количество нейронов скрытого слоя - 10;

- количество циклов обучения - 400;

- максимальное отклонение от эталона - 0,01.

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

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

Для второго эксперимента такими условиями стали начальное и конечное значения элементарного интервала времени - 1 и 40 с соответственно. Для третьего эксперимента была изменена функция активации нейронов скрытого слоя - логарифмическая сигмоид-ная функция (рис. 2). Для четвертого эксперимента была изменена функция активации нейронов выходного слоя - положительная линейная функция (рис. 3). Для пятого эксперимента были модифицированы следующие условия:

-функция активации нейронов скрытого слоя - логарифмическая сигмоидная функция;

-функция обучения нейронной сети - функция, которая модифицирует значения весов и смещений по методу градиентного спуска.

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

Интервал времени в относительных единицах Функция активации скрытого слоя нейронов Функция активации выходного слоя нейронов Функция обучения нейронной сети Среднеквадратическое отклонение

20 tansig ригеИп traingdx 0,11

40 tansig ригеИп traingdx 0,16

40 logsig ригеИп traingdx 0,30

40 tansig ровНп traingdx 0,50

40 logsig ригеИп traingd -

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

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

Литература

1. Благодаров А.В. Нейрокомпьютерные системы: Методические указания к лабораторным работам / Рязан. гос. радиотехн. акад.; сост.: А.В. Благодаров, Г.А. Новиков, Г.В. Овечкин и др.; под ред. А.Н. Пылькина. - Рязань, 2000. - 62 с.

2. Донской Д.А. Моделирование искусственных сетей в системе МЛТЬЛВ: учеб. пособие / Д.А. Донской, В.С. Зияутдинов, Н.В. Слепцов, М.А. Щербаков; под общ. ред. В.С. Зияутдинова. - Липецк, 2008. - 238 с.

3. Дьяконов В.П. Математические пакеты расширения МЛТЬЛВ. Специальный справочник / В.П. Дьяконов, В.В. Круглов. - СПб.: Питер, 2001. - С. 199-291.

4. Официальный сайт математического пакета МЛТЬЛВ [Электронный ресурс]. - Режим доступа: http://www.mathworks.com/index.html, свободный.

Зияутдинов Владимир Сергеевич

Канд. пед. наук, доцент каф. электроники телекоммуникаций и компьютерных технологий ЛГПУ

Тел.: (+7 4742)32-84-05

Эл. почта: zvs@lspu.lipetsk.ru

Корнев Павел Александрович

Аспирант каф. электроники телекоммуникаций и компьютерных технологий ЛГПУ

Тел.: (+7-4742) 32-84-05

Эл. почта: kpa@lspu.lipetsk.ru

V.S. Ziyautdinov, P.A. Kornev

The use of neural networks for restoration of the form of periodic signals

The experimental investigation of features of restoration of periodic signal form by the use of neural networks in the package MATLAB has been carried out. The quantitative accuracy rating of restoration of periodic signals has been carried out.

Keywords: neural network, periodic signal, function of activation, function of training.

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