Статья:

Применение нейронных сетей типа Adaline в качестве средства математического моделирования

Конференция: XLV Международная научно-практическая конференция «Научный форум: технические и физико-математические науки»

Секция: Информатика, вычислительная техника и управление

Выходные данные
Назаров Е.В. Применение нейронных сетей типа Adaline в качестве средства математического моделирования // Научный форум: Технические и физико-математические науки: сб. ст. по материалам XLV междунар. науч.-практ. конф. — № 5(45). — М., Изд. «МЦНО», 2021. — С. 4-20.
Конференция завершена
Мне нравится
на печатьскачать .pdfподелиться

Применение нейронных сетей типа Adaline в качестве средства математического моделирования

Назаров Евгений Владимирович
старший преподаватель, БУ ВО ХМАО – Югры Сургутский государственный университет, РФ, г. Сургут

 

APPLICATION OF ADALINE-TYPE NEURAL NETWORKS AS A MATHEMATICAL MODELING TOOL

 

Yevgeniy Nazarov

senior lecturer, Surgut State University, Russia, Surgut

 

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

Abstract. The article discusses the specifics of the algorithm for creating a neural network of the Adaline type for its application as a mathematical model of tremorograms of a hands. Parameters such as a learning rate of a neural network of the type under consideration for the specified task and a number of input signal values used to determine a target value are of key importance for performing one of the stages of the mentioned algorithm. To find the best values of these parameters, the corresponding functions were developed, the description of which is also presented in this article.

 

Ключевые слова: adaline; адаптивный линейный нейрон; нейронная сеть; математическая модель; аппроксимация.

Keywords: adaptive linear neuron; neural network; mathematical model; approximation.

 

Введение

Математические модели в соответствии с [2, с.39 – 40] «представляют собой формализованные описания объекта или системы с помощью некоторого абстрактного языка, например, в виде совокупности математических соотношений или схемы алгоритма. Различают следующие виды математического моделирования: вербальное (словесное), графические, табличные, аналитические и алгоритмические. Нередко математические модели оказываются пригодными для описания множества систем и явлений в самых различных областях науки, техники и экономики». Одним из подходов к представлению модели течения какого-либо процесса с возможностью прогнозирования его хода является использование нейронной сети. Кроме того, согласно [4, с. 43 – 44] «выполняемые сетью функции можно распределить на несколько основных групп: аппроксимации и интерполяции; распознавания и классификации образов; сжатия данных; прогнозирования; идентификации; управления; ассоциации. В каждом из названных приложений нейронная сеть играет роль универсального аппроксиматора функции от нескольких переменных, реализуя нелинейную функцию , где х – это входной вектор, y – реализация векторной функции нескольких переменных».

Исходные данные

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

Таблица 1.

Фрагмент исходных данных

№ п/п

Выборка №

1

2

3

4

5

6

7

8

1

1,082153

1,017151

0,87677

0,953369

0,992126

1,032104

0,935974

1,005859

2

1,080933

1,020203

0,880432

0,948181

0,98938

1,029358

0,941162

1,006775

3

1,078796

1,018677

0,885925

0,94635

0,986023

1,029358

0,947571

1,00708

4

1,078186

1,018066

0,892944

0,944519

0,984192

1,029663

0,95459

1,007996

5

1,078796

1,017456

0,899963

0,941162

0,982056

1,027527

0,960999

1,010437

6

1,081848

1,019287

0,906677

0,93689

0,977478

1,02356

0,965271

1,012268

7

1,084595

1,021118

0,911255

0,930786

0,971375

1,017761

0,968628

1,013489

8

1,08551

1,022644

0,916443

0,925598

0,96344

1,011353

0,970764

1,015625

9

1,084595

1,02417

0,919495

0,921326

0,95459

1,004639

0,971375

1,018066

495

1,04187

0,936584

0,865479

0,930481

0,927124

0,973206

0,966797

0,914917

496

1,042786

0,937805

0,863647

0,932007

0,925903

0,966797

0,970154

0,913086

497

1,044617

0,939331

0,862732

0,931396

0,924377

0,960693

0,97229

0,91095

498

1,045837

0,939331

0,862732

0,930176

0,922546

0,956421

0,975647

0,909729

499

1,048584

0,937195

0,863953

0,92804

0,923462

0,955505

0,978699

0,909729

500

1,05011

0,933533

0,863647

0,924988

0,925598

0,956726

0,98175

0,910645

 

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

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

Структурная схема и варианты уравнений для расчета весовых коэффициентов адаптивного линейного нейрона представлены в работе [3, с. 32 – 34].

Алгоритм создания нейронной сети ADALINE

Для создания нейронной сети, описывающей треморограму, использовалась библиотека Neural Network Toolbox системы MATLAB. Согласно [1] для создания сети типа ADALINE необходимо выполнить следующую цепочку действий:

  • Задать исходные и целевые данные;
  • Подготовить данные для нейронной сети;
  • Определить нейронную сеть типа ADALINE;
  • Обучить созданную сеть работе с подготовленными данными.

Задание исходных и целевых данных

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

Подготовка данных для нейронной сети

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

Создание нейронной сети типа ADALINE

Создание нейронной сети выполнялось в 2 этапа:

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

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

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

Функция аппроксимации исходных данных

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

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

i.исходного и предсказанного сигнала на одной плоскости. Пример представлен на рисунке 1.

ii.рассогласования исходного и предсказанного сигналов. Пример представлен на рисунке 2.

iii.изменения скорости обучения сети для массивов данных, входящих в серию измерений. Пример представлен на рисунке 3.

iv.изменения весовых коэффициентов. Пример представлен на рисунке 4.

v.изменения коэффициента отклонения суммирующей функции. Пример представлен на рисунке 5.

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

 

Рисунок 1. График исходного и предсказанного сигнала

 

Рисунок 2. График разницы исходного и предсказанного сигналов

 

Рисунок 3. График изменения скорости обучения сети для массивов данных

 

Рисунок 4. График изменения весовых коэффициентов

 

Рисунок 5. График изменения коэффициента отклонения суммирующей функции

 

Определение оптимальной скорости обучения нейронной сети

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

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

  • 1 этап: 0.001 – 0.6. Шаг перемещения по диапазону составляет 0.1.
  • 2 этап: в зависимости от результатов предыдущего этапа. Например, если для коэффициента было установлено значение 0.4, то поиск выполняется в пределах 0.4 – 0.5. Шаг перемещения по диапазону составляет 0.01.
  • 3 этап: в зависимости от результатов предыдущего этапа. Например, если для коэффициента было установлено значение 0.43, то поиск выполняется в пределах 0.430 – 0.440. Шаг перемещения по диапазону составляет 0.001.

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

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

  • Создание нейронной сети с заданным числом значений входного сигнала, используемых для определения целевого значения, и скоростью обучения.
  • Преобразование целевого вектора для обучения работе с ним нейронной сети.
  • Обучение нейронной сети работе с заданным целевым вектором и получение результатов обучения.
  • Преобразование векторов, содержащих результат (сигнал, сформированный сетью, и расхождение его с оригиналом) к виду удобному для анализа.
  • Определение моды в векторе ошибок и сохранение её для анализа.

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

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

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

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

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

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

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

Здесь необходимо дополнительно пояснить, что от эксперимента к эксперименту количество входных значений, используемых для предсказания целевого увеличивалось на 1. Максимальное величина для данного показателя первоначально была взята равной 10. В дальнейшем предполагалось увеличить значение данного параметра, но как показали результаты анализа настройки и работы нейронных сетей, этого значения оказалось достаточно.

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

 

           

а                                                                 б

           

в                                                                 г

Рисунок 6. Результаты и характеристики работы сети (для 5 значений):

а – исходный и сформированный сигналы, б – отклонение сформированного сигнала от исходного, в – скорость обучения сети (для 3 массивов данных), г – весовые коэффициенты (для 3 массивов данных)

 

           

а                                                                б

           

в                                                                 г

Рисунок 7. Результаты и характеристики работы сети (для 6 значений):

а – исходный и сформированный сигналы, б – отклонение сформированного сигнала от исходного, в – скорость обучения сети (для 3 массивов данных), г – весовые коэффициенты (для 3 массивов данных)

 

           

а                                                                б

           

в                                                                 г

Рисунок 8. Результаты и характеристики работы сети (для 7 значений):

а – исходный и сформированный сигналы, б – отклонение сформированного сигнала от исходного, в – скорость обучения сети (для 3 массивов данных),  г – весовые коэффициенты (для 3 массивов данных)

 

Для каждого набора данных на протяжении большинства экспериментов с ростом количества значений исходного сигнала, используемых для определения целевого значения нейронной сетью, наблюдается снижение оптимальной скорости обучения сети, т.е. скорости с которой сети обучается быстрее всего и с минимальным значением величины ошибки. Скорость обучения и статистические показатели отклонения сигнала сети от целевого по рассматриваемым экспериментам приведены в таблицах 2, 3 и 4, а средние значения показателей – в таблице 5. Максимальные и минимальные значения параметров выделены жирным и подчеркнутым текстом, соответственно.

Таблица 2.

Скорость обучения и статистические показатели отклонения сигнала сети от целевого для массива данных №1

Параметр

Количество значений исходного сигнала для определения целевого значения

1

2

3

4

5

6

7

8

9

10

Мода

-0,0124

-0,0098

-0,0084

-0,008

-0,0078

-0,0078

-0,0149

-0,0075

-0,0075

-0,0075

Размах

0,90411

0,90149

0,90009

0,89973

0,89950

0,89952

0,90661

0,89922

0,89926

0,89917

Минимальное значение

-0,0124

-0,0098

-0,0084

-0,008

-0,0078

-0,0078

-0,0149

-0,0075

-0,0075

-0,0075

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

0,89172

0,89172

0,89172

0,89172

0,89172

0,89172

0,89172

0,89172

0,89172

0,89172

Среднее значение

0,00240

0,00245

0,00265

0,00303

0,00337

0,00365

0,00664

0,00424

0,00448

0,00474

Стандартное отклонение

0,04331

0,04329

0,04432

0,04653

0,04849

0,05013

0,06595

0,05341

0,05476

0,05614

Скорость обучения сети

0,588

0,584

0,52

0,42

0,354

0,31

0,11

0,242

0,22

0,2

 

Таблица 3.

Скорость обучения и статистические показатели отклонения сигнала сети от целевого для массива данных №2

Параметр

Количество значений исходного сигнала для определения целевого значения

1

2

3

4

5

6

7

8

9

10

Мода

-0,0097

-0,0086

-0,0075

-0,0073

-0,0074

-0,0070

-0,0069

-0,007

-0,0094

-0,0088

Размах

0,92429

0,92326

0,92215

0,92187

0,92205

0,92157

0,92150

0,92161

0,92403

0,92339

Минимальное значение

-0,0097

-0,0086

-0,0075

-0,0073

-0,0074

-0,0070

-0,0069

-0,007

-0,0094

-0,0088

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

0,91461

0,91461

0,91461

0,91461

0,91461

0,91461

0,91461

0,91461

0,91461

0,91461

Среднее значение

0,00260

0,00316

0,00321

0,00365

0,00382

0,00435

0,00465

0,00483

0,00677

0,00676

Стандартное отклонение

0,04472

0,04793

0,04812

0,05067

0,05168

0,05468

0,05631

0,05730

0,06704

0,06703

Скорость обучения сети

0,565

0,411

0,403

0,325

0,3

0,24

0,214

0,2

0,11

0,11

 

Таблица 4.

Скорость обучения и статистические показатели отклонения сигнала сети от целевого для массива данных №3

Параметр

Количество значений исходного сигнала для определения целевого значения

1

2

3

4

5

6

7

8

9

10

Мода

-0,0106

-0,0097

-0,0082

-0,0073

-0,007

-0,0071

-0,0067

-0,0067

-0,0085

-0,0074

Размах

0,94930

0,94843

0,94691

0,94601

0,94571

0,94577

0,94546

0,94537

0,94723

0,94606

Минимальное значение

-0,0106

-0,0097

-0,0082

-0,0073

-0,007

-0,0071

-0,0067

-0,0067

-0,0085

-0,0074

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

0,93872

0,93872

0,93872

0,93872

0,93872

0,93872

0,93872

0,93872

0,93872

0,93872

Среднее значение

0,00275

0,00334

0,00341

0,00342

0,00368

0,00388

0,00431

0,00462

0,00682

0,00489

Стандартное отклонение

0,04622

0,04992

0,05001

0,05009

0,05163

0,05283

0,05524

0,05696

0,06805

0,05842

Скорость обучения сети

0,544

0,382

0,378

0,375

0,33

0,3

0,25

0,221

0,11

0,2

 

Таблица 5.

Средние значения скорости обучения и статистических показателей отклонения сформированного сигнала от исходного для данных из таблиц 2, 3, 4

Параметр

Набор данных

№1

№3

№3

Скорость обучения сети

0,3548

0,2878

0,309

Минимальное значение

-0,00915

-0,00796

-0,0079

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

0,89172

0,91461

0,9387

Среднее значение

0,00376

0,00438

0,00411

Стандартное отклонение

0,05063

0,05455

0,05394

Мода

-0,00915

-0,00796

-0,00791

Размах

0,90087

0,92257

0,94663

 

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

1. Набор №1

  • Стабильное увеличение минимального порогового значения ошибки происходит на протяжении первых 5 экспериментов. Аномальное снижение наблюдается в 7 эксперименте. 
  • Максимальное значение ошибки одинаково для всех экспериментов. Данное значение ошибки соответствует самому первому отсчету в наборе данных, что подтверждается соответствующими графиками.
  • Среднее значение и стандартное отклонение значений ошибки в работе нейронной сети устойчиво увеличиваются от эксперимента к эксперименту, за исключением аномально резкого возрастания в 7 эксперименте.

2. Набор №2

  • Стабильное увеличение минимального порогового значения ошибки происходит на протяжении первых 4 экспериментов.
  • Максимальное значение ошибки одинаково для всех экспериментов. Данное значение ошибки соответствует самому первому отсчету в наборе данных, что подтверждается соответствующими графиками.
  • Среднее значение и стандартное отклонение значений ошибки в работе нейронной сети устойчиво увеличиваются от эксперимента к эксперименту, за исключением аномально резкого возрастания в 9 эксперименте. В данном серии экспериментов сохраняется та же тенденция, что и для набора №1.

3. Набор №3

  • Стабильное увеличение минимального порогового значения ошибки происходит на протяжении первых 5 экспериментов. Резкое снижение наблюдается в 9 эксперименте.
  • Максимальное значение ошибки одинаково для всех экспериментов. Данное значение ошибки соответствует самому первому отсчету в наборе данных, что подтверждается соответствующими графиками.
  • Среднее значение и стандартное отклонение значений ошибки в работе нейронной сети устойчиво увеличиваются от эксперимента к эксперименту, за исключением резкого возрастания в 9 эксперименте. В данной серии экспериментов сохраняется та же тенденция, что и в первых двух случаях.

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

Заключение

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

 

Список литературы:
1. Construct an ADALINE for adaptive prediction of time series based on past time series data [Электронный ресурс]. Режим доступа: http://lab.fs.uni-lj.si/lasin/wp/IMIT_files/neural/nn03_adaline/
2. Дьяконов В.П. Simulink: Самоучитель. – М.: ДМК  Пресс, 2015. – 782 с.: ил. 
3. Осовский С. Нейронные сети для обработки информации / Пер. с польского И.Д. Рудинского. – М.: Финансы и статистика, 2002. – 344 с.: ил.
4. Мелихова О. А. Нейронные сети как составная часть систем искусственного интеллекта // Информатика, вычислительная техника и инженерное образование. – 2015. – № 1(21). – С. 40-51.