Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

3865

.pdf
Скачиваний:
1
Добавлен:
15.11.2022
Размер:
44.99 Mб
Скачать

ной интерполяции. В результате всякого рода нерегулярности обучающих данных и измерительные шумы могут восприниматься как существенные свойства процесса. Функция, воспроизводимая в точках обучения, будет хорошо восстанавливаться только при соответствующих этим точкам значениях. Даже минимальное отклонение от этих точек вызовет значительное увеличение погрешности, что будет восприниматься как ошибочное обобщение. Результаты численных экспериментов показали, что высокие показатели обобщения достигаются при превышении числа обучающих выборок МВЧ в несколько раз. Однако при чрезмерном количестве нейронов и весов в сети возникает эффект гиперразмерности, приводящий к значительным ошибкам [174]. Поэтому для оптимизации числа используемых нейронов использовался алгоритм каскадной корреляции Фальмана. Его суть заключается в динамическом добавлении нейронов в ИНС по результатам оценки ее обобщающих свойств после определенного количества циклов обучения. Достоинством данного алгоритма является частичное сохранение результатов обучения сети, полученных на предыдущих итерациях обучения. Реализация данного алгоритма заключалась в следующем. На начальном этапе обучения ИНС использовалось количество нейронов, заведомо недостаточное для решения задачи. Для обучения ИНС использовались вышеизложенные алгоритмы (обратного распространения ошибок, генетический или имитации отжига) обычных методов. Обучение происходило до тех пор, пока ошибка не переставала убывать и не выполнялись условия:

ìE(t) - E(t -d )

ü

 

 

ï

 

 

< Dr ï

 

 

 

E(t0 )

,

(3.42)

í

 

ý

ï

 

³ t0 + d

ï

 

 

ît

þ

 

 

где t - время обучения;

Dr - пороговое значение

убыли ошибки; d - ми-

нимальный интервал времени обучения между добавлениями новых нейронов; t0 — момент времени последнего добавления. Когда выполнялись оба условия, добавлялся новый нейрон. Веса и порог нейрона инициализировались небольшими случайными числами. Обучение повторялось до тех пор, пока не выполнялось условие (3.40). График зависимости значения ошибки от времени обучения для алгоритма каскадной корреляции Фальмана приведен на рис. 3.16.

Рис. 3.16. График зависимости значения ошибки от времени обучения ИНС для алгоритма Фальмана

131

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

В интересах рационального подбора архитектуры ИНС, наряду с алгоритмом каскадной корреляции Фальмана использовался способ минимизации сети основанный на такой модификации целевой функции, позволяющей выявлять и исключать малоактивные скрытые нейроны. Его выбор обусловлен максимальной технологической приспособленностью к общему процессу обучения ИНС в данной работе. В данном способе учитывается, что если выходной сигнал какого-либо нейрона при любых обучающих выборках остается неизменным (на его выходе постоянно вырабатывается1 или 0), то его присутствие в сети излишне. И напротив, при высокой активности нейрона считается, что его функционирование дает важную информацию. При этом, модифицированная целевая функция, предложенная И. Шовеном [174] имела вид:

K

p

 

E(w) = E (0) (w) + mååe(D2ij ) .

(3.43)

i =1

j =1

 

В этом выражении Dij означает изменение значения выходного сигнала i-го нейрона для j-й обучающей выборки, а e(D2ij ) - это корректирующий фак-

тор целевой функции, зависящий от активности всех К скрытых нейронов для всех j(j = 1, 2, ..., р) обучающих выборок. Коэффициент m определяет степень относительного влияния корректирующего фактора на значение целевой функции. Вид корректирующей функции подбирался так, чтобы изменение целевой функции зависело от активности скрытого нейрона, причем при высокой его активности (т.е. частых изменениях значения выходного сигнала). Величина DЕ должна быть малой, а при низкой активностибольшой. Это достигалось применением функции е, удовлетворяющей отношению

2

)

 

1

 

 

 

 

 

e¢ =

e(Di

=

 

 

 

.

(3.44)

2

 

2

)

n

 

¶Di

 

 

(1 + Di

 

 

 

Индекс п позволяет управлять процессом штрафования за низкую актив-

ность.

 

 

 

 

 

1

 

При n = 2 функция е принимает вид e =

 

 

. Малая активность нейро-

 

 

2

 

 

 

 

 

1+ Di

 

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

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

132

Для программной реализации алгоритма каскадной корреляции Фальмана в среде Delphi в интересах задания межнейронных связей использован компонент StringGrid, позволяющий обрабатывать большие массивы данных (рис. 3.17).

Рис. 3.17. Компонент StringGrid, используемый в интересах задания межнейронных связей

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

Модуль «Эвристическая оптимизация» обеспечивает оптимизацию выбора ряда параметров действующих алгоритмов формирования и обучения ИНС эмпирическим путем.

Применительно к алгоритму обратного распространения ошибок эвристический подход использовался для его модификации и уточнения ряда параметров. Проведенные вычислительные эксперименты показали, что, как и любой градиентный алгоритм, метод обратного распространения ошибок "застревает" в локальных минимумах функции ошибки, так как градиент вблизи локального минимума стремится к нулю. Это приводило к большим ошибкам сети и ее непригодности. Суть первого способа преодоления локального минимума заключалась в неоптимальном выборе шага дискретизации. Было обнаружено явление, оправдывающее неоптимальный выбор шага. Известно, что поверхность функции ошибок E(P) имеет множество долин, седел и локальных минимумов. Оказалось, что первый найденный минимум редко имел малую величину E. Чем больше нейронов и синапсов было в сети, тем менее чаще определялся глобальный минимум целевой функции. Выбор неоптимального шага приводил к тому, что он, в силу своей большой величины, позволял выходить из окрестности одного локального минимума и попадать в окрестность другого минимума. Для того чтобы из-за большого шага дискретизации «непроскочить» другие локальные минимумы и возможно глобальный минимум, был разработан специальный алгоритм. Его идейную основу составил алгоритм «упругого распространения» - Rprop [174]. Данный алгоритм использует знаки частных производных для подстройки весовых коэффициентов. Для определения величины коррекции используется следующее правило:

133

D(ijt )

где Dwijn = -h E , а

wij

ì

+ (t )

,

E (t )

E (t -1)

ïh Dij

 

 

 

wij

wij

ï

 

 

ïE (t ) E (t -1)

=ïíh - D(ijt ) ,

ïwij wij

ïï0 <h - <1 <h +

ï

î

Dwijn = -h ×d nj × yin-1 .

ü

> 0ï

ï

ï

ï

< 0ý

ï ,

(3.45)

ï

ï

ï

þ

Если на текущем шаге частная производная по соответствующему весу wij изменила знак, то из этого следует, что последнее изменение было большим и алгоритм «проскочил» локальный минимум. Следовательно, величину изменения необходимо уменьшить на h- и вернуть предыдущее значение весового ко-

эффициента, то есть сделать «откат» - Dwij (t) = Dwij (t) - D(ijt -1) . В отличие от этого действия в разработанном модифицированном алгоритмеRprop, «откат» заменяется «обратным ходом» с уменьшенным шагом дискретизации. Применительно к алгоритму имитации отжига это эквивалентно незначительному разогреву металла (вещества). Дальнейшие действия реализуются в соответствии с алгоритмом Rprop.

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

проведенных экспериментов

было установлено, что

целесообразно выбирать

h+ =1,2, а h- =0,5. Начальные

значения для всехDij

устанавливались равными

0.1. Для вычисления значения коррекции весов использовалось следующее правило:

ì

 

 

E

(t )

 

ü

 

ï- D(ijt ) ,

 

> 0ï

 

wij

 

ï

 

 

ï

 

ï

 

 

E

(t )

ï

 

ï

(t )

 

 

ï

 

Dwij (t) = í+ Dij

,

 

 

 

 

< 0ý

 

wij

 

(3.46)

ï

 

 

ï.

ï

E

(t )

 

ï

 

ï

 

 

 

 

ï

 

 

 

= 0

 

0,

w

ï

 

ï

 

 

 

 

î

 

ij

 

 

þ

 

Если производная положительна, т. е. ошибка возрастает, то весовой коэффициент уменьшался на величину коррекции, в противном случае – увеличивался.

Затем веса подстраивались в соответствии с выражением:

wij (t +1) = wij (t) + Dwij (t) .

(3.47)

134

 

Блок-схема модифицированного алгоритма Rprop приведена на рис. 3.18.

1

Начало

2

Ввод исходных данных

3

Инициализация Dij

4

Расчет частных производных

5

Расчет нового значения Dij

6

Корректировка весов

Нет

7

 

 

Проверка условия

 

 

 

 

останова

 

 

 

 

 

 

 

Да

 

8

 

 

 

 

Вывод результатов

 

 

 

 

9

Конец

Рис. 3.18. Модифицированный алгоритм Rprop

Блоки 1,9 используются для пуска и остановки процесса обратного распространения ошибок.

В блоке 2 реализован ввод исходных данных.

Блок 3 обеспечивает инициализацию значений величин коррекции Dij .

В блоке 4 предъявляются все примеры из выборки и вычисляются частные производные.

Блок 5 рассчитывает новые значения Dij по формулам (3.43) и (3.44).

135

В блоке 6 реализуется корректировка весов в соответствии с выражением (3.45). Блок 7 проверяет условие останова данного процесса. Если условие оста-

нова не выполняется, то управление передается блоку4. В противном случае управление передается блоку 8.

Совокупность проведенных экспериментов(более 200), показала, что данный алгоритм сходится почти в6 раз быстрее, чем стандартный алгоритм обратного распространения ошибок и на 30 % быстрее, чем алгоритм Rprop.

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

Dw = -e

E

+ n ,

(3.48)

 

 

w

 

где n — случайная величина, имеющая нулевое математическое ожидание и небольшую дисперсию. При выборе n использовалось нормальное распределение. Реализация данного способа приводила к увеличению времени обучения до 20 %. Однако вероятность определения глобального максимума существенно возрастала. После обучения ИНС модифицированным алгоритмомRprop из ста предъявленных тестов ИНС ошиблась лишь в двух. Экспериментальным путем удалось установить, что оптимальная величина n лежит в пределах 0,012-0,23.В блоке 8 реализован вывод полученных результатов.

Важными параметрами эвристической оптимизации являются границы нормированных значений входных и выходных сигналов ИНС. Известно, что общепринятый и описанный в литературе динамический диапазон нормированных входных и выходных сигналов ИНС лежит в пределах от0 до 1 [174]. В ходе проведенных экспериментов было замечено, что применение нормированных значений в диапазоне±½ уменьшает время сходимости алгоритма обратного распространения. Это обосновывается следующим образом. Так как величина коррекции веса wpq,k пропорциональна выходному уровню нейрона, порождающего OUTp,j, нулевой уровень ведет к тому, что вес не меняется. При двоичных входных векторах половина входов в среднем будет равна нулю и веса, с которыми они связаны, не будут обучаться. Более эффективным оказывается приведение входов к значениям ±½ и добавление смещения к функции активации, чтобы она также принимала значения±½. Новая функция активации стала выглядеть следующим образом:

1

OUT = - 1 2 + 1 + e- NET .

На рис. 3.19 показаны графики зависимостей величины достигаемого уровня ошибки E (ось ординат) от числа итераций N (ось абсцисс) для различных видов функции активации, полученные экспериментальным путем.

Из графика видно, что в результате использования функции активации нового вида (пунктирная кривая) сходимость (скорость достижения порогового значения) увеличилась почти в 2 раза. Последнее означает, что для достижения требуемой точности ИНС теперь требуется не 270 итераций, а лишь 150.

136

E

0.07

0.06

0.05

0.04

0.03

0.02

0.01

E0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

N

 

0

 

20

 

40

 

60

 

80

 

100

 

120

 

140

 

160

 

180

 

200

 

220

 

240

 

260

 

280

 

 

 

 

 

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

3.4. Визуальное моделирование ИНС

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

Известно, что в нервных системах реальных биологических объектов, откуда берут свое начало ИНС, некоторые связи между нейронами могут отсутствовать. Более того, отдельные нейроны (и даже группы) могут не действовать. При этом нервная система способна достаточно эффективно функционировать, не «обращая внимания» на существующие «неисправности». Применительно к ИНС данный момент в настоящее время мало изучен. Представляет интерес учесть вышеизложенные особенности в рамках существующей технологии моделирования ИНС, чтобы восполнить этот пробел. Для этой цели в качестве инструмента совершенствования технологии моделирования ИНС для исследова- телей-неспециалистов в области программирования предлагается использовать ВМ.

ВМ обеспечивает визуальное представление ИНС как матрицы размером n´m , где n – число нейронов в слое, а m – количество слоев. Каждый элемент матрицы, представляющий собой факт наличия или отсутствия связи наk-м слое между i-м и j-м нейронами, может принимать значение либо«0» - связь отсутствует, либо «1» - связь присутствует.

В качестве примера моделируемой ИНС(рис. 3.20) представлен персептрон, имеющий 4 входа, входной (0-й) слой, два скрытых слоя с 4-мя нейронами в каждом и выходной слой с 2-мя нейронами.

137

 

0

1

2

3

1

S1

S1

S1

S1

 

 

 

 

2

S2

S2

S2

S2

 

 

 

 

3

S3

S3

S3

S3

 

 

 

 

4

S4

S4

S4

S4

 

 

 

 

Рис. 3.20. Двухслойный персептрон

Матрица связей для данной ИНС представляется следующим образом:

С110 С120 С130 С140 С111 С121 С131 С141 С112 С122 С132 С142

С 0

С 0

С 0

С 0

С1

С1

С1

С1

С 2

С 2

С 2

С 2

(3.49)

21

22

23

24

21

22

23

24

21

22

23

24 .

С310 С320 С330 С340 С311 С321 С331 С341 С312 С322 С332 С342

С410 С420 С430 С440 С411 С421 С431 С441 С412 С422 С432 С442

Рассмотрим элемент матрицы С110 . Верхний индекс указывает на номер слоя (в данном случае 0-й, т.е входной). В нижнем индексе указаны номера взаимодействующих нейронов (в данном случае оценивается взаимодействие1-го нейрона 0-го слоя с 1-м нейроном 1-го скрытого слоя).

Если рассматривается случай, когда имеются взаимодействия между всеми нейронами ИНС, представленный на рис. 3.20, то матрица связей с установленными значениями примет вид

111111111100

 

 

111111111100

.

(3.50)

111111111100

 

 

111111111100

 

 

Если рассматривается случай, когда в ИНС, представленной на рис. 3.20, отсутствует взаимодействие между 2-м нейроном 1-слоя и 4-м нейроном 2-го слоя, то матрица связей с установленными значениями примет вид

111111111100

 

 

111111101100

.

(3.51)

111111111100

 

 

111111111100

 

 

Матрица (3.51) используется при проведении расчетов в рамках последующих действий с ИНС, в частности при обучении, тестировании или эксплуатации.

138

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

Для программной реализации технологии визуального моделирования в ПК НПВР использован стандартный компонент программной среды разработки Delphi 7.0 – StringGrid, представленный на рис. 3.21. Его безусловным достоинством является возможность обработки больших массивов данных. Визуальное представление моделируемой ИНС, приведенной на рис. 3.20, с использованием данного компонента отображено на рис. 3.21.

Рис. 3.21. Визуальное представление моделируемой ИНС

С целью повышения наглядности отображения ИНС совместно с компонентом StringGrid использован компонент Hint. На его основе отображаются реквизиты (номер строки и столбца) на сфокусированном элементе матрицы, что обеспечивает удобство поиска необходимой связи с целью последующего изменения ее состояния. Применение ВМ позволило более гибко моделировать структуру ИНС и обеспечило проведение исследований класса малоизученных (так называемых «изъянных») ИНС [80].

3.5. Применение и результаты апробации ПК НПВР

Для запуска программного комплекса необходимо выполнение файла ПК НСПВР.exe. После запуска появится главное окно программы (рис. 3.22).

ПК НПВР выполнен в видеSDI – приложения с набором основных вкладок: «Подготовка данных», «Обучение», «Прогнозирование». Рассмотрим предназначение и функциональную составляющую каждой из вкладок.

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

139

Рис. 3.22. Главная экранная форма ПК НПВР

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

Рис. 3.23. Экранная форма ПК НПВР с загруженной обучающей выборкой

140

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]