Построение и обучение нейронной сети для решения задачи прогнозирования погоды при помощи программы Neuroph Studio

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

Общие сведения

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

 

Описание работы

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

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

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

  • сильные ветры — это приземистый ветер со скоростью более чем 15 м/с;
  • метели — это перенос снежных масс над поверхностью земли порывистым и сильным ветром, скорость которого не менее 15 м/с при видимости менее 500 м;
  • сильные дожди — это обильные осадки с интенсивностью более 30 мм за сутки;
  • град — твердые осадки при диаметре отложений от 5 до 20 мм;
  • шквалы — горизонтальные вихри при скорости ветра более 15 м/с;
  • изморозь — отложения воды и льда на поверхности при диаметре отложений не менее 50 мм.

Формирование учебной выборки многослойного персептрона

Главным компонентом для успешной работы сети является кодирование входных и выходных данных. Нейронные сети работают лишь с числовыми входными данными, следовательно, необработанные данные, поступающие из внешней среды, должны преобразовываться. В нашем случае входными данными для многослойного персептрона будут температура воздуха, его влажность, скорость ветра, атмосферное давление. Кодируем эти данные и для лучшей наглядности представим их в виде таблицы 1. Аналогичным образом произведем кодирование и выходных данных для многослойного персептрона. В качестве выходных данных будут приняты: сильный ветер, метель, град, шквалы, изморозь, сильный дождь. Присвоение кода для каждого из параметров производится согласно оценке интенсивности данного параметра (кодирование входных данных) или вероятности того, что кодируемое опасное явление произойдет (кодирование выходных данных). При этом примем величину 0,9 за максимальную, а 0,01 — за минимальную. Далее сформируем выборку, в которую внесем наблюдения за погодой на определенном участке территории за конкретный период времени (табл. 2), и определим структуру данной сети (рис. 1).

Структура разрабатываемой сети

Рис. 1. Структура разрабатываемой сети

Таблица 1. Коды входящих данных

Входящие данные

Код

Температура, °С

–30

0,9

–25

0,8

–20

0,7

–15

0,6

–10

0,5

–8

0,4

–6

0,3

–3

0,2

0

0,1

+

0,01

Скорость ветра, м/с

15

0,9

14

00,85

13

0,8

12

0,75

11

0,7

10

0,65

9

0,6

8

0,55

7

0,5

6

0,45

5

0,4

Влажность, %

100

0,9

90

0,8

80

0,7

70

0,6

60

0,5

50

0,4

40

0,3

30

0,2

20

0,15

10

0,1

Атмосферное давление, мм рт. ст.

Нормальное 760

0,1

Выше 760

0,5

Ниже 760

0,9

Таблица 2. Выборка наблюдений за погодой на определенном участке территории за конкретный период времени

 

23.01

24.01

25.01

26.01

27.01

28.01

29.01

30.01

Давление

0,5

0,5

0,5

0,1

0,1

0,1

0,1

0,5

Скорость ветра

0,5

0,9

0,7

0,35

0,4

0,3

0,8

0,8

Температура

0,2

0,01

0,4

0,5

0,7

0,8

0,5

0,4

Влажность

0,5

0,9

0,5

0,3

0,2

0,15

0,6

0,5

Сильный ветер

0,3

0,9

0,7

0,3

0,4

0,3

0,8

0,8

Метель

0,3

0,01

0,7

0,3

0,5

0,4

0,6

0,6

Град

0,01

0,1

0,01

0,01

0,01

0,01

0,01

0,01

Шквалы

0,3

0,9

0,3

0,2

0,3

0,2

0,5

0,5

Изморозь

0,3

0,1

0,3

0,4

0,3

0,4

0,5

0,4

Сильный дождь

0,1

0,9

0,01

0,01

0,01

0,01

0,01

0,01

Определение структуры сети

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

Выбор способа обучения нейронной сети

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

yi(n) = j(υj(n)),

где υj(n) — индуцированное локальное поле нейрона j, определяемое выражением:

Формула

где m — общее число входов нейрона j; wij(n) — синаптический вес, соединяющий нейроны i и j; yi(n) — входной сигнал нейрона j или выходной сигнал нейрона i.

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

Заполненная таблица входных и выходных значений учебной выборки в программе Neuroph Studio

Рис. 2. Заполненная таблица входных и выходных значений учебной выборки в программе Neuroph Studio

Для реализации нейронной сети была выбрана программа Neuroph Studio, которая позволяет производить реализацию конкретных типов нейронных сетей, в частности таких сетей, как Adaline, персептрон, многослойный персептрон с алгоритмом обратного распространения ошибки, сеть Хопфилда, сеть Кохонена, сеть Хебба, двунаправленная ассоциативная память. Внесем в программу сформированную учебную выборку (рис. 2) и запустим обучение сети. Процесс обучения сети представлен на рис. 3.

Процесс обучения сети в программе Neuroph Studio

Рис. 3. Процесс обучения сети в программе Neuroph Studio

Тестирование сети

Графическая модель разработанной сети, смоделированная в программе Neuroph Studio, показана на рис. 4. После того как набор из учебной выборки был подан на вход сети, определим качество обучения сети. Успешным считается, если относительная достоверность распознавания не меньше 80%.

Графическая модель разработанной сети, смоделированная в программе Neuroph Studio

Рис. 4. Графическая модель разработанной сети, смоделированная в программе Neuroph Studio

Исходя из результатов эксперимента, которые представлены на рис. 5, можно сделать вывод, что качество обучения спроектированной сети является высоким, так как достоверность распознавания составляет 95%. Для наглядности занесем результаты эксперимента в таблицу 3. Проведем симуляцию прогнозирования сети. На вход сети подадим набор, который не был внесен в учебную выборку. Результаты эксперимента приведем в таблице 4. Проанализировав полученные результаты, видим, что:

  • при показателях 1 большая вероятность сильного ветра, сильного дождя с градом;
  • при показателях 2 вероятность града, шквалов и сильного дождя минимальная, с вероятностью 65% возможна метель;
  • при показателях 3 также возможна метель.
Результаты тестирования сети, полученные в программе Neuroph Studio

Рис. 5. Результаты тестирования сети, полученные в программе Neuroph Studio

Таблица 3. Результаты тестирования разработанной сети

Набор из учебной выборки

0,8

0,6

0,01

0,5

0,4

0,01

Полученный
набор

0,8071

0,6201

0,0068

0,5019

0,3964

0,0356

Таблица 4. Результаты симуляции прогнозирования разработанной сети

Показатели

1

2

3

Давление

0,1

0,5

0,9

Скорость ветра

0,8

0,4

0,7

Температура

0,01

0,6

0,4

Влажность

0,8

0,2

0,5

Сильный ветер

0,9212

0,2839

0,4084

Метель

0,1269

0,5998

0,5434

Град

0,0969

0,0083

0,0064

Шквалы

0,9264

0,0052

0,163

Изморозь

0,1855

0,2341

0,2444

Сильный дождь

0,8932

0,0052

0,0068

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

Литература
  1. Круглов В. В., Дли М. И., Голунов Р. Ю. Нечеткая логика и искусственные нейронные сети. М.: Физматлит, 2001.
  2. Осовский С. Нейронные сети для обработки информации. М.: Финансы и статистика, 2004.
  3. Рутковская М., Плинский Л. Нейронные сети, генетические алгоритмы и нечеткие системы. М.: Горячая линия – Телеком, 2007.
  4. Филиппович Ю. Н., Филиппович А. Ю. Системы искусственного интеллекта. М.: МГУП, 2009.
  5. Андреева Е. С. Концепция вероятностно-географического прогнозирования опасных явлений погоды Юга России. Автореф. дисс. на соискание ученой степени д-ра географ. наук. РГГУ. СПб, 2008.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *