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

книги / Статистические и интеллектуальные методы прогнозирования

..pdf
Скачиваний:
6
Добавлен:
12.11.2023
Размер:
8.94 Mб
Скачать

Сеть с одним слоем называется однослойным персептроном. Сеть называется однослойной, потому что выходной слой (1,2, ,m ) служит лишь для распределения входных сигналов и

не выполняет каких-либо вычислений, поэтому он называется выходным слоем и не участвует в подсчете слоев сети. Каждый элемент из множества входов X x1 x2 xn отдельным весом

соединен с каждым искусственным нейроном. А каждый нейрон выдает взвешенную сумму входов в сеть. Веса данной сети определяют матрицу весов W:

w11 w1m

W (7.7)wn1 wnm

Матрица весов имеет n строк и m столбцов, где n – число входов, а m – число нейронов. Например, wij – это вес, свя-

зывающий i-й вход с j-м нейроном. Таким образом, вычисление выходного вектораY y1 y2 ym , компонентами которого являются выходы нейронов, сводится к расчету по формуле

Y XW.

(7.8)

7.3.МНОГОСЛОЙНЫЕ ИСКУССТВЕННЫЕ НЕЙРОННЫЕ СЕТИ

Для реализации более сложных вычислений образуют многослойные сети [29, 34, 38, 39]. Многослойная структура таких сетей значительно ближе к структуре функционирования мозга человека. Многослойные сети строятся из последовательных слоев, при этом выход одного слоя является входом для последующего слоя (рис. 7.8)

161

Рис. 7.8. Архитектура 2-слойной нейронной сети

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

Y (XW1)W2 Wk .

(7.9)

Учитывая ассоциативность операции умножения, выражение (7.9) можно представить в виде

Y X (W1W2 Wk ).

(7.10)

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

W (W1W2 Wk ) .

(7.11)

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

162

Y Fk ( F2 (F1(XW1)W2 Wk ) .

(7.12)

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

7.4.КЛАССИФИКАЦИЯ НЕЙРОННЫХ СЕТЕЙ

Искусственные нейронные сети (ИНС) характеризуются большим разнообразием. Классифицировать НС можно по следующим признакам [29, 38] (рис. 7.9):

методы обучения НС;

алгоритмы обучения;

архитектура НС.

Рис. 7.9. Классификация нейронных сетей

163

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

 

 

 

 

 

 

 

 

Нейронная

 

База

 

 

 

 

 

 

 

 

 

 

 

 

сеть

 

данных

 

 

 

 

 

 

 

 

 

 

 

 

 

обучена

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ошибка

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ответ

 

мала

 

 

 

 

 

сети

 

 

 

 

Выбор

 

 

Нейронная

Расчет

 

 

примера

 

 

сеть

 

 

 

ошибки

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ошибка Подстройка велика весов

сети

Рис. 7.10. Процесс обучения нейронной сети

Этот процесс очень похож на обучение ребенка алфавиту. Показав ребенку изображение буквы А, его спрашивают: «Какая это буква?» Если ответ неверен, то ребенку объявляют правильный ответ: «Это буква А». Ребенок запоминает этот пример вместе с верным ответом, т.е. в его памяти происходят некото-

164

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

Обучение нейронной сети (распознавание изображения букв) происходит аналогично [39]. Есть база данных, содержащая примеры (набор рукописных изображений букв). Предъявляется изображение буквы А на вход нейронной сети, на выходе нейронной сети появляется ответ. Если ответ верный, то для данного входа «буква А» в качестве веса выбирается 1, в противном случае – 0. Вход «буква А» отправляется обратно в базу данных. После многократного предъявления примеров веса нейронной сети стабилизируются, т.е. нейронная сеть дает правильные ответы на все (или почти все) примеры из базы данных. Это означает, что «нейронная сеть обучена».

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

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

7.4.1. Методы обучения

Обучение может происходить различными методами: «с учителем» и «без учителя». Разница в этих методах состоит в наличии или отсутствии идеальной модели или целевого вектора. Целевой вектор – это идеальный выход для НС [40]. На вход нейронной сети подаются входные сигналы, на которые сеть выдает выходной сигнал, который сравнивается с целевым

165

вектором, вычисляется ошибка между ними и на основе этой ошибки продолжается обучение, т.е. настраиваются веса нейронной сети (рис. 7.11).

 

 

 

 

 

 

желаемый

Внешняя

 

 

 

Учитель

выход

среда

 

 

 

 

 

ошибка

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

реальный

 

 

 

 

 

Система выход сети обучения

Рис. 7.11. Обучение с учителем

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

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

166

Рис. 7.12. Обучение нейронной сети без учителя

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

wij (k 1) wij (k) yi yj ,

(7.13)

где wij (k) – значение веса от нейрона i к нейрону j до подстройки; wij (k 1)– значение веса от нейрона i к нейрону j после подстройки; – коэффициент скорости обучения; yi – выход нейрона i и вход нейрона j; yj – выход нейрона j.

По сути, происходит наращивание весов путем произведения весов возбужденных передающего и принимающего нейронов.

7.4.2. Виды алгоритмов обучения

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

167

 

 

 

 

f (E) min ,

(7.14)

 

 

e1

 

 

 

 

 

e

 

 

 

где

E

2

 

– вектор ошибки.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

em

 

 

 

Данный вектор для методов обучения

«с учителем»

и «без учителя» определяется по-разному. Для метода обучения «с учителем» ошибка определяется как

 

yi F(W ,X ) ,

(7.15)

ei yi yi

где ei – ошибка по i-му выходу нейронной сети;

yi i-й выход

(из исходной выборки); yi i-й выход нейронной сети, опреде-

ляемый на основе входного вектора X и обучаемых (настраиваемых) весов W.

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

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

дами и др. [41, 42].

Кроме того, на выбор алгоритма обучения существенное влияние оказывает архитектура нейронной сети. Ниже приведены основные алгоритмы, используемые в алгоритмах настройки нейронных сетей [43]:

1. Алгоритмы локальной оптимизации с вычислением частных производных первого порядка:

градиентный алгоритм (метод наискорейшего спуска);

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

методы стохастического градиента;

метод сопряженных градиентов;

168

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

2. Алгоритмы локальной оптимизации с вычислением частных производных первого и второго порядка:

метод Ньютона;

методы оптимизации с разреженными матрицами Гессе;

квазиньютоновские методы: алгоритм Бройдена – Флетчера – Гольдфарба – Шанно (BFGS), алгоритм с ограниченным использованием памяти (L-BFGS);

метод Гаусса – Ньютона;

метод Левенберга – Марквардта.

3.Стохастические алгоритмы оптимизации:

методы поиска в случайном направлении;имитация отжига;метод Монте-Карло.

4.Алгоритмы глобальной оптимизации.

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

7.4.3. Архитектура нейронных сетей

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

1. По количеству слоев:

однослойные нейронные сети (см. рис. 7.7);

многослойные нейронные сети (см. рис. 7.8).

169

2. По наличию обратных связей:

сети прямого распространения;

нейронные сети с обратными связями.

3. По степени связности:

полносвязные сети – это сети, в которых любой нейрон передает сигнал другим нейронам (рис. 7.13);

слабосвязные сети (нейронные сети с локальными свя-

зями) (рис. 7.14).

Рис. 7.13. Полносвязная

Рис. 7.14. Слабосвязная

нейронная сеть

нейронная сеть

Модели нейронных сетей выбираются в зависимости от поставленной задачи (рис. 7.15).

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

7.5.МОДЕЛИ НЕЙРОННЫХ СЕТЕЙ,ПРИМЕНЯЕМЫЕ ДЛЯ ЗАДАЧ ПРОГНОЗИРОВАНИЯ

7.5.1. Сети прямого распространения (Feed forward)

Все связи направлены строго от входных нейронов к выходным. К нейронным сетям прямого распространения относятся однослойные и многослойные персептроны. Архитектура нейронной сети представлена на рис. 7.16.

170

Соседние файлы в папке книги