1
Начало
2
Ввод исходных данных
3
Инициализация ij
4
Расчет частных производных
5
Расчет нового значения ij
6
Корректировка весов
Нет |
7 |
Проверка условия |
|
|
останова |
|
|
8 Да
Вывод результатов
9
Конец
Рис. 2.38. Модифицированный алгоритм Rprop
В блоке 8 реализован вывод полученных результатов.
Совокупность проведенных экспериментов (более 200) показала, что данный алгоритм сходится почти в 6 раз быстрее, чем стандартный алгоритм обратного распространения ошибок, и на 30 % быстрее, чем алгоритм Rprop.
Другой способ преодоления локальных минимумов заключался в обучении с шумом.Корректировкавесовпроводиласьвсоответствииссоотношением
w |
E |
n, |
(2.76) |
|
w |
|
|
где n – случайная величина, имеющая нулевое математическое ожидание и не-
136
большую дисперсию.При выборе n использовалось нормальноераспределение. Реализация данного способа приводила к увеличению времени обучения до 20 %. Однако вероятность определения глобального максимума существенно
возрастала. После обучения ИНС модифицированным алгоритмом Rprop из ста предъявленных тестов ИНС ошибалась лишь в двух. Экспериментальным путем удалось установить, что оптимальная величинаn лежит в пределах 0,012-0,23.
Важными параметрами эвристической оптимизации являются границы нормированных значений входных и выходных сигналов ИНС. Известно, что общепринятый и описанный в литературе динамический диапазон нормированных входных и выходных сигналов ИНС лежит в пределах от 0 до 1 [174]. В ходе проведенных экспериментов было замечено, что применение нормированных значений в диапазоне ±½ уменьшает время сходимости алгоритма обратного распространения. Это обосновывается следующим образом. Так как величина коррекции веса wpq,k пропорциональна выходному уровню нейрона, порождающего OUTp,j, то нулевой уровень ведет к тому, что вес не меняется. При двоичных входных векторах половина входов в среднем будет равна нулю и веса, с которыми они связаны, не будут обучаться. Более эффективным оказывается приведение входов к значениям ±½ и добавление смещения к функции активации, чтобы она также принимала значения ±½. Новая функция активации стала выглядеть следующим образом:
OUT 12 1 e1 NET .
На рис.2.39 показаны графики зависимостей величины достигаемого уровня ошибки E (ось ординат) от числа итераций N (ось абсцисс) для различных видов функции активации, полученные экспериментальным путем.
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 |
|
||||||||||||||||||||||||||||
Рис. 2.39. Зависимости величины достигаемого уровня ошибки от числа итераций
137
Из данного графика видно, что в результате использования функции активации нового вида (пунктирная кривая) сходимость (скорость достижения порогового значения) увеличилась почти в 2 раза. Последнее означает, что для достижения требуемой точности ИНС теперь требуется не 270 итераций, а лишь 150.
2.4.3. Специальное математическое и программноеобеспечение подсистемыуправления
Подсистема управления ПК НПВР включает модули управления и визуализации.
Модуль управления реализует интерфейс взаимодействия пользователя с подсистемами, общее проведение расчетов и взаимообмен информацией между соответствующими модулями и моделями.
Модуль визуализации (МВ) обеспечивает отображение исследуемой ИНС и проведение визуального моделирования путем исключения каких-либо нейронов, слоев и связей между ними, то есть оперативной корректировки структуры сети. Впервые описание данного процесса приведено в [154,158].
Известно, что в нервных системах реальных биологических объектов, откуда берут свое начало ИНС, некоторые связи между нейронами могут отсутствовать. Более того, отдельные нейроны (и даже группы) могут не действовать. При этом нервная система способна достаточно эффективно функционировать, не «обращая внимания» на существующие «неисправности». Применительно к ИНС данный момент в настоящее время мало изучен. Интересно учесть вышеизложенные особенности в рамках существующей технологии моделирования ИНС, чтобы восполнить этот пробел. Для этой цели в качестве инструмента совершенствования технологии моделирования ИНС для исследователейнеспециалистов в области программирования предлагается использоватьМВ.
МВ обеспечивает визуальное представление матрицы размером n m, где n – число нейронов в слое, m – количество слоев. Каждый элемент матрицы, представляющий собой факт наличия или отсутствия связи на k - м слое между i- м и j- м нейронами, может принимать значение либо «0» - связь отсутствует, либо «1» - связь присутствует.
В качестве примера моделируемой ИНС (рис. 2.40) представлен персептрон, имеющий 4 входа, входной (0-й) слой, два скрытых слоя с 4-мя нейронами в каждом и выходной слой с 2-мя нейронами.
Матрица связей для данной ИНС представляется следующим образом:
С0 С0 С0 С0 С1 С1 С1 С1 С2 |
С2 С2 |
С |
2 |
|
|
|||||||||
11 |
12 |
13 |
14 |
11 |
12 |
13 |
14 |
11 |
12 |
13 |
14 |
|
|
|
С210 |
С220 |
С230 |
С240 |
С211 |
С221 |
С231 |
С241 |
С212 С222 |
С232 |
С242 |
. |
(2.77) |
||
С310 С320 |
С330 С340 С311 С321 С331 С341 С312 С322 С332 С342 |
|
|
|||||||||||
С410 |
С420 |
С430 |
С440 |
С411 |
С421 |
С431 |
С441 |
С412 С422 |
С432 |
С442 |
|
|
||
138
|
0 |
1 |
2 |
3 |
1 |
S1 |
S1 |
S1 |
S1 |
|
|
|
|
|
2 |
S2 |
S2 |
S2 |
S2 |
|
|
|
|
|
3 |
S3 |
S3 |
S3 |
S3 |
|
|
|
|
|
4 |
S4 |
S4 |
S4 |
S4 |
|
|
|
|
Рис. 2.40. Двухслойный персептрон
Рассмотрим элемент матрицы С110 . Верхний индекс указывает на номер
слоя (в данном случае 0-й, т.е входной). В нижнем индексе указаны номера взаимодействующих нейронов (в данном случае оценивается взаимодействие 1-го нейрона 0-го слоя с 1-м нейроном 1-го скрытого слоя).
Если рассматривается случай, когда имеются взаимодействия между всеми нейронами ИНС, представленный на рис. 2.40, то матрица связей с установленными значениями примет вид
111111111100
111111111111111111110000 . (2.78)
111111111100
Если рассматривается случай, когда в ИНС, представленной на рис. 2.40, отсутствует взаимодействие между 2 - м нейроном 1-слоя и 4-м нейроном 2-го слоя, то матрица связей с установленными значениями примет вид
111111111100
111111101111111111110000 . (2.79)
111111111100
Матрица (2.79) используется при проведении расчетов в рамках последующих действий с ИНС, в частности при обучении, тестировании или эксплуатации. Значения установленных коэффициентов используются в качестве сомножителей при определении значений суммарных сигналов, поступающих на нейроны с различных входов (в качестве входов рассматриваются нейроны предыдущего слоя). Нулевые значения коэффициентов исключают из рассмотрения соответствующие входы, что эквивалентно разрыву связи между соответствующими нейронами.
139
Для программной реализации технологии визуального моделирования в ПК НПВР использован стандартный компонент программной среды разработки Delphi 7.0 – StringGrid, представленный на рис. 2.37. Его безусловным достоинством является возможность обработки больших массивов данных. Визуальное представление моделируемой ИНС, приведенной на рис. 2.40, с использованием данного компонента отображено на рис. 2.41.
Рис. 2.41. Визуальноепредставление моделируемой ИНС
С целью повышения наглядности отображения ИНС совместно с компонентом StringGrid использован компонентом Hint. На его основе отображаются реквизиты (номер строки и столбца) на сфокусированном элементе матрицы, что обеспечивает удобство поиска необходимой связи с целью последующего изменения ее состояния. Применение МВ позволило более гибко моделировать структуру ИНС и обеспечило проведение исследований класса малоизученных (так называемых «изъянных») ИНС [80].
2.5. Порядок использования и результаты апробации программного комплекса нейросетевого прогнозирования временных рядов
Для запуска программного комплекса необходимо выполнение файла ПК НСПВР.exe. После запуска появится главное окно программы (рис. 2.42).
ПК НПВР выполнен в виде SDI – приложения с набором основных вкладок: «Подготовка данных», «Обучение», «Прогнозирование». Рассмотрим предназначение и функциональную составляющую каждой из вкладок.
Вкладка «Подготовка данных» обеспечивает реализацию этапа формирования обучающей выборки. От состава, полноты, качества обучающей выборки существенно зависят время обучения ИНС и достоверность получаемых прогнозов. Для ее загрузки необходимо выбрать соответствующий текстовый файл, в котором она хранится. При формировании обучающей выборки учитывался тот факт, что количество примеров должно быть достаточно большим, чтобы сеть могла учесть широкий диапазон колебаний цены. Кроме того, учитывались особенности, изложенные в разделе 2.4.2. После загрузки обучающей выборки необходимо указать поля, которые будут использоваться при обучении сети и
140