Содержание к диссертации
Введение
Глава 1. Обзор состояния работ по применению нейротехнологий 11
1.1. Аналитический обзор 11
1.2. Биологическая модель искусственных нейронных сетей 19
1.3. Искусственные нейронные сети 21
1.4. Алгоритмы обучения нейронных сетей 25
1.5. Линейная разделимость и персептронная представляемость 32
Выводы 35
Глава 2. Быстрые алгоритмы 37
2.1. Сведение обучения к минимизации 37
2.2. Случайный поиск как механизм оптимизации 37
2.3. Генетическая оптимизация 39
2.4. Оптимизация со штрафом за сложность 40
2.5. Гибридные нейродинамические системы 41
2.6. Волновая система 42
2.7. Тепловые процессы 45
2.8. Движение молекул 48
2.9. Ускорение моделирования заменой динамических подсистем их нейронными аналогами 51
2.10. Результаты численных экспериментов обучения нейросетей 52
Выводы 61
Глава 3. Ускорение работы нейронных сетей посредством их реализации на многопроцессорньгх системах 63
3.1. Граф многопроцессорных вычислительных систем 63
3.2. Граф искусственной нейронной сети 70
3.3. Проектирование графа нейронной сети на граф вычислительной системы и оптимизация этого отображения 72
3.4. Генетический алгоритм на многопроцессорной системе 74
Выводы 79
Глава 4. Приложение разработанных алгоритмов 80
4.1. Диагностика состояния паропроводов 80
4.2. Прогнозирование уровня поверхностных вод 91
Выводы 98
Основные результаты и выводы 99
Список литературы 101
Приложения 114
- Биологическая модель искусственных нейронных сетей
- Случайный поиск как механизм оптимизации
- Проектирование графа нейронной сети на граф вычислительной системы и оптимизация этого отображения
- Прогнозирование уровня поверхностных вод
Введение к работе
Среди многообразия современных энергетических систем можно выделить значительную группу объектов, проектирование и диагностические исследования которых не могут быть выполнены традиционными методами и средствами автоматизации. Это объясняется следующими причинами:
1. Невозможностью получения формализованного математического описания процессов функционирования, а следовательно и невозможностью использования традиционных проектных процедур и операций автоматизации, основанных на применении методов оптимального проектирования.
2. Случайным характером изменения среды функционирования указанных объектов, в которой возможны как прогнозируемые изменения параметров, так и форс-мажорные события.
3. Экономической нецелесообразностью (дороговизной) непрерывного измерения технологических параметров объектов и возмущающих воздействий со стороны среды функционирования.
В качестве наиболее характерных примеров такого рода объектов и связанных с ними задач проектирования и диагностики можно назвать:
1. Диагностика состояния трубопроводов высокого давления и температуры, по которым пар от котлоагрегата подается к турбине. Структура металла, работающего в экстремальных условиях, подвергается изменению, в результате чего возможность аварии на трубопроводе возрастает. При эксплуатации оборудования важна возможность текущего контроля за состоянием металла. До настоящего времени этот контроль выполнялся экспертами по микрофотографиям шлифов сгибов труб. Недостаток такого подхода состоит в субъективности таких оценок (человеческий фактор).
2. Прогнозирование уровней воды в речной системе. Это весьма сложная задача, одной из причин сложности которой является наличие большого количества скрытых параметров, что делает затруднительным применение
динамического прогнозирования. Создание прогнозирующей системы, основанной на использовании обучаемых нейронных сетей может быть весьма эффективно в гидроэнергетике, т.к. позволит на гидроэлектростанциях разрабатывать оптимальные режимы работы. Использование обучаемых нейронных сетей для прогнозирования потребности в электроэнергии позволит повысить эффективность планирования загрузки отдельных электростанций. Это в свою очередь даст возможность вести выработку электроэнергии с наилучшим КПД, что . приведет к экономии топлива.
В указанных обстоятельствах на помощь приходят быстро
развивающиеся нейротехнологии. Они обладают следующими неоспоримыми
преимуществами:
1. Нейронные сети являются адаптивными самообучающимися системами, извлекающими информацию из реальных процессов, которые динамически промоделировать трудно, т.к. они содержат много скрытых неконтролируемых параметров.
2. Применение нейронных сетей позволяет решать задачи, которые трудно или невозможно решить традиционными методами в силу отсутствия формализованных математических описаний процессов функционирования.
3. Нейронные сети в процессе работы накапливают информацию и эффективность их со временем возрастает.
4. Использование обучаемых нейронных сетей позволяет сделать диагностический контроль объективным и расширить его применение.
Одной из нерешенных проблем при использовании искусственных нейронных сетей является задача построения быстрых алгоритмов их обучения. В ходе исследований, проведенных автором, обнаружено, что большинство из распространенных алгоритмов обучения сводятся к градиентным методам поиска минимума целевой функции и обладают рядом недостатков, не гарантирующих обучение нейронных сетей за приемлемое время. В этой связи создание быстрых алгоритмов обучения и применение современных нейронных сетей для разработки и реализации эффективных методов и алгоритмов автоматизации проектирования и диагностики энергетических объектов представляет в настоящее время несомненную актуальность.
Основная цель настоящей работы заключается в повышении эффективности и качества проектных работ и диагностических исследований отдельных энергетических объектов в результате разработки, компьютерной реализации ускоренных алгоритмов обучения нейронных сетей.
Достижение указанных целей сопряжено с решением следующих основных задач:
1. Разработка алгоритмических основ автоматизации проектных работ и диагностических исследований энергетических объектов с использованием нейротехнологий.
2. Разработка ускоренных алгоритмов построения и обучения искусственных нейронных сетей.
3. Реализация нейронных сетей на одно- и многопроцессорных вычислительных системах.
4. Оценка эффективности разработанных средств на примерах решения практических задач проектирования и диагностики энергетических объектов.
В основе представленного исследования лежат принципы математического моделирования. Объектами исследований явились классические алгоритмы обучения искусственных нейронных сетей: дельта-метод, алгоритм обратного распространения ошибки, оригинальный вариант алгоритма случайного поиска, оригинальный разработанный алгоритм генетической оптимизации, а также варианты этих алгоритмов с применением минимизации целевой функции и штрафной функции за сложность. Программы, реализующие описанные алгоритмы, представлены в вариантах для однопроцессорных ЭВМ, параллельной ЭВМ PowerXplorer фирмы Parsytec и многопроцессорной системы МВС-1000. Эффективность разработанных
алгоритмов оценивалась по скорости обучения нейронных сетей до приемлемого качества работы при одинаковых исходных параметрах. Качество обученности нейронных сетей оценивалось по значениям среднеквадратичной целевой функции, а также доле ошибочных ответов по сравнению с оценками экспертов (в задаче диагностики металлических конструкций) и истинными значениями (в задаче прогнозирования гидрологических процессов).
В диссертационной работе впервые получены следующие научные результаты:
1. Обосновано применение искусственных нейронных сетей в задачах автоматизации проектных работ и диагностических исследований энергетических объектов.
2. Разработаны алгоритмы последовательного обучения нейронных сетей, позволяющие вскрыть существенные связи в сложной системе, отличающиеся нечувствительностью к негладкостям целевой функции.
3. Созданы ускоренные методы и алгоритмы обучения искусственных нейронных сетей, обеспечивающие поиск простейших решений за приемлемое время, отличающиеся пригодностью для глобального поиска.
4. Предложены методы распараллеливания алгоритма генетической оптимизации для реализации на многопроцессорной технике, отличающиеся отсутствием передачи массивов весов между процессорами, что позволяет ускорить процесс обучения нейронных сетей.
Ниже сформулированы положения выносимые на защиту:
1. Математическая модель оригинального генетического алгоритма;
2. Математическая модель варианта случайного поиска;
3. Алгоритм распараллеливания метода генетической оптимизации нейронных сетей при реализации на многопроцессорной технике;
4. Двухслойный нейросетевой алгоритм классификации категорий повреждения металлов по микрофотографиям шлифов;
5. Нейродинамическая модель системы прогнозирования гидрологических процессов.
Практическая ценность научной работы заключается в том, что теоретические результаты получили практическое воплощение в виде эффективных алгоритмов обучения искусственных нейронных сетей и их использовании в прикладных компьютерных программах для реализации задачи диагностики состояния металлических конструкций по микрофотографиям шлифов и задачи прогнозирования гидрологических процессов. Разработаны компьютерные программы, реализующие параллельный алгоритм генетической оптимизации для параллельной суперЭВМ Power Xplorer фирмы Parsytec и многопроцессорной вычислительной системы МВО1000.
Результаты математического моделирования могут быть использованы;
• для более глубокого понимания и дальнейшего развития теории построения и обучения искусственных нейронных сетей;
• для более широкого внедрения нейронных технологий в САПР и систему управления энергетическими объектами, в частности для прогнозирования загрузки энергетических сетей, что позволит вести генерирование энергии в экономичном режиме.
Основные научные и практические результаты работы реализованы в виде компьютерных программ и внедрены:
1. В составе автоматизированной системы диагностики категорий повреждения металла (КПМ) труб высокого давления и температуры на Костромской ГРЭС.
2. В составе гидрологического пакета программ HydroEcology 1.0 в Комитете Природных ресурсов по Ивановской области.
Диссертационная работа содержит четыре главы с выводами, общие выводы и рекомендации, список литературы, включающий 146 наименований и приложения.
В первой главе выполнен обзор научных публикаций, освещающих проблему обучения искусственных нейронных сетей, рассмотрены научные предпосылки, история развития теории нейронных сетей, известные алгоритмы
их обучения, а так же описан спектр задач, решаемых искусственными нейронными сетями. Показаны недостатки присущие распространенным однослойным и многослойным алгоритмам обучения искусственных нейронных сетей. Рассмотрены научные подходы отечественных и зарубежных ученых к теоретическим и практическим исследованиям процесса обучения нейронных сетей. Проведен анализ способов обучения нейронных сетей, который показал, что естественным решением сложных производственных задач с большим числом входной информации является применение многопроцессорных параллельных вычислительных комплексов. Показано, что на сегодняшний день не существует универсальных алгоритмов обучения искусственных нейронных сетей, свободных от указанных недостатков, поэтому дальнейшая работа по созданию быстрых алгоритмов обучения нейронных сетей является целесообразной.
Вторая глава посвящена быстрым алгоритмам обучения нейронных сетей. Были рассмотрены следующие способы обучения:
• минимизация целевой функции. Преимуществом ее использования является простота оценки степени обученности сети, а также независимость оценки от локальных приближений отдельных нейронов.
• алгоритм случайного поиска. Поддерживая число удачных проб на уровне 25%, получаем эффективный алгоритм, нечувствительный к негладкостям целевой функции и пригодный для глобального поиска.
• алгоритм генетической оптимизации. На практике этот алгоритм оказался весьма эффективным и позволял быстро обучать нейронные сети.
• обучение, основанное на минимизации целевой функции с использованием "штрафа за сложность". Добавление штрафной функции заставляет вычислительный процесс идти по линии уменьшения значений некоторых весовых коэффициентов. Это позволяет отыскивать простейшие решения.
Проведенные исследования по прогнозированию поведения динамических систем показывают, что нейронное моделирование позволяет
вскрыть существенные связи в сложной системе и найти новые устойчивые разностные схемы для процессов в сплошных средах. Веса важных связей увеличиваются, а слабых и незначительно влияющих снижаются до нулевых значений, в дальнейшем их можно отбросить. Обученные нейронные сети можно в дальнейшем применять для задач математического моделирования. В сложной динамической системе отдельные блоки можно заменять обученными нейронными сетями, что позволяет в некоторых случаях значительно ускорить моделирование.
В третьей главе приводятся методика ускорения обучения нейронных сетей посредством реализации их на многопроцессорных вычислительных системах и результаты реализации предложенного генетического алгоритма на параллельных ЭВМ. В качестве объектов для исследования использовались: имитатор параллельной ЭВМ на однопроцессорной машине, имитатор параллельной ЭВМ на локальной вычислительной сети, параллельная суперЭВМ Power Xplorer фирмы Parsytec и многопроцессорная вычислительная система МВС-1000. Распараллеливание генетического алгоритма обучения нейронной сети выполнялось для задачи прогнозирования уровня поверхностных вод в Уводском водохранилище, снабжающем город Иваново.
В четвертой главе приводятся методика и результаты экспериментальных исследований процессов обучения искусственных нейронных сетей в практических задачах связанных, с диагностикой состояния металла паропроводов высокого давления и температуры по микрофотографиям шлифов гибов труб работающих в тяжелых условиях и задаче прогнозирования гидрологических процессов в бассейне реки Уводь Ивановской области.
В приложении приведены программы, разработанные с использованием быстрых алгоритмов обучения искусственных нейронных сетей, реализованные в однопроцессорном и многопроцессорных вариантах.
Биологическая модель искусственных нейронных сетей
Структура искусственных нейронных сетей была смоделирована как результат изучения человеческого мозга и нервных систем живых существ. Сходство между ними в действительности очень незначительное, но эта эмуляция приносит ощутимые результаты. Искусственные нейронные сети имеют аналогичные мозгу свойства: способность обучаться на опыте, основанном на знаниях, делать умозаключения и совершать ошибки.
Человеческий мозг содержит свыше тысячи миллиардов вычислительных элементов, называемых нейронами. Нейроны связаны между собой нервными нитями - синапсами. Около 10п нейронов участвуют примерно в 1015 передающих связях, имеющих длину до метра и более [18, стр.10]. Эта сеть нейронов отвечает за все функции, происходящие в мозге.
Нейрон является основным строительным блоком нервной системы. Он состоит из трех частей: тела клетки, дендритов и аксона, каждая часть со своими, но взаимосвязанными функциями (рис. 1.1).
Тело клетки управляет расходом энергии нейрона и регулирует множество других процессов. Внешняя мембрана тела клетки нейрона имеет способность генерировать нервный импульсы, являющиеся жизненными функциями нервной системы и центром ее вычислительных способностей.
Большинство входных сигналов от других нейронов попадают в клетку через дендриты, представляющие собой густо ветвящуюся структуру, исходящую от тела клетки. На дендритах располагаются синаптические соединения, которые получают сигналы от других аксонов. Тело клетки суммирует сигналы, полученные от дендритов, и если их результирующий сигнал выше порогового значения, вырабатывается импульс, проходящий по аксону к другим нейронам.
Аксон может быть как коротким (0.1 мм), так и превышать длину 1 м. На конце аксон имеет множество ветвей, каждая из которых завершается синапсом, откуда сигнал передается в другие нейроны через дендриты, а в некоторых случаях прямо в тело клетки. Один нейрон может генерировать импульс, который возбуждает или затормаживает сотни или тысячи других нейронов. Таким образом, высокая степень связанности, а не функциональная сложность самого нейрона, обеспечивает ему вычислительную мощность.
У этой основной функциональной схемы много упрощений, тем не менее большинство искусственных нейронных сетей моделируют лишь эти простые свойства.
Искусственный нейрон имитирует свойства биологического нейрона. На вход искусственного нейрона поступает некоторое множество сигналов, каждый из которых является выходом другого нейрона. Каждый вход умножается на соответствующий вес, аналогичный синаптическои силе, и все произведения суммируются, определяя уровень активации нейрона. На рис. 1.2 представлена модель, реализующая эту идею [1].
Множество входных сигналов, обозначенных х1з х2,..., хп поступает на искусственный нейрон. Эти входные сигналы, в совокупности, обозначаемые вектором X, соответствуют сигналам, приходящим в синапсы биологического нейрона. Каждый сигнал умножается на соответствующий вес wb w2, ..., wn и поступает на суммирующий блок, обозначенный 2- Множество весов обозначается вектором W. Суммирующий блок, соответствует телу биологического элемента, складывает взвешенные входы алгебраически, создавая выход, который будем называть NET. В векторных обозначениях это может быть записано следующим образом:
Сигнал NET, как правило, преобразуется активационной функцией F и дает выходной нейронный сигнал OUT. Активационная функция может быть обычной пороговой функцией:
OUT = 0, в остальных случаях. где Т - некоторая постоянная пороговая величина, или функция, более точно моделирующая нелинейную передаточную характеристику биологического нейрона. На рис. 1.2 блок, обозначенный F, принимает сигнал NET и выдает сигнал OUT. Если блок F сужает диапазон изменения величины NET так, что при любых значениях NET значения OUT принадлежит некоторому конечному интервалу, то F называют "сжимающей" функцией.
В качестве "сжимающей" функции часто используется логистическая функция [19, стр.23] (рис. 1.3):
Другой широко используемой активационной функцией является гиперболический тангенс (рис. 1.4).
График этой функция симметричен относительно начала координат, и в точке NET=0 значение выходного сигнала равно нулю. В отличие от логистической функции гиперболический тангенс принимает значение разных знаков, что оказывается выгодным для ряда сетей.
Случайный поиск как механизм оптимизации
Другим, зарекомендовавшим себя способом ускоренного обучения искусственных нейронных сетей, является алгоритм случайного поиска.
Обозначим все весовые коэффициенты как Z\9..., ZR. Тогда набор некоторых их значений можно рассматривать как точку в R-мерном Эвклидовом пространстве ER, которой соответствует определенное значение целевой функции Q(Zb...,ZR).
Принцип работы оптимизации случайным поиском состоит в следующем. Пусть Z=(Ziv..5ZR) некоторая начальная точка. Условно примем ее за удачную. Вокруг нее строится окрестность с размерами AZr; r=l,2,...,R. Из этой окрестности с помощью генератора случайных чисел выбирается пробная случайная точка с координатами где: - случайные числа равномерно-распределенные в интервале (-1, +1).
В исходной Zr и пробной Zr точках вычисляются целевые функции: Q(Z) и Q(Z). Если Q(Z) Q(Z), то пробная точка признается удачной и становится исходной для нового шага Z,=Z. В противном случае следующая проба снова делается из старой точки Zr.
Так образуется последовательность удачных точек сходящаяся к точке минимума Z .
Пробы каждый раз берутся из окрестности последней удачной точки. Размеры окрестности AZrm по мере приближения к цели уменьшаются. Теоретически и посредством численного эксперимента установлено, что такой вариант случайного поиска наиболее эффективен, если удачные пробы составляют в нем 25% от общего числа проб. Этот показатель является ориентиром для автоматического регулирования размеров окрестности AZrm. В среднем при очень малых размерах AZrm число удачных проб близко к 50%, но в этом случае движение к цели происходит слишком медленно. При больших размерах окрестности AZrm удачных проб чрезвычайно мало. Поиск тоже становится неэффективным.. Поддерживая число удачных проб на уровне 25%, соответственно меняя AZrm, получаем эффективный алгоритм, нечувствительный к негладкостям целевой функции и пригодный для глобального поиска.
Наряду с алгоритмом случайного поиска высокую эффективность показал алгоритм генетической оптимизации. Он состоит в следующем. В пространстве поиска Е выбирается некоторое количество исходных точек Zr (=1,2,...). Обычно их получают с помощью описанного выше случайного поиска, повторяя его из различных начальных позиций. Это "родители". Они образуют пары. Пары строятся следующим образом. Целевые функции для партнеров должны быть близки, а расстояние между ними максимально.
Пара дает потомство. Координаты точек - "потомков" вычисляются по координатам "родителей" с учетом амплитуды генетических мутаций AZr где: - случайные числа, равномерно распределенные в интервале (-1, +1). Рисунок 2.1, поясняет идею такого поиска.
На рисунке 0 - родительские точки, - точки-потомки, Q=const - линии равного значения целевой функции, Qmjn - значение целевой функции в минимуме, Zr, Zr, Q, Q - координаты родительских точек и значение в них целевой функции.
Проектирование графа нейронной сети на граф вычислительной системы и оптимизация этого отображения
Сравнительный анализ графов вычислительной системы и искусственной нейронной сети показывает, что у них присутствует много общего. В обоих случаях графы представляют собой группы однотипных объектов, объединенных связями. Топологии, применяемые в многопроцессорных вычислительных системах, могут быть также использованы для построения искусственных нейронных сетей.
Топология связей нейронной сети зависит от характера задачи и применяемого алгоритма обучения. Выбор топологии многопроцессорной системы зависит от характера решаемой задачи и метода ее решения. Таким образом, при распараллеливании алгоритмов обучения искусственных нейронных сетей, можно облегчить решение задачи, если совместить топологии нейронной сети и вычислительной системы.
Проектирование графа нейронной сети на граф многопроцессорной вычислительной системы является сложной задачей, как правило не имеющей однозначного решения и требующей выбора из большого количества вариантов. В любом случае первым этапом проектирования является выбор топологии искусственной нейронной сети. Вторым этапом является процесс выбора топологии многопроцессорной вычислительной системы, максимально приближенной для решения задачи проектирования искусственной нейронной сети.
В вычислительных системах содержащих большое количество процессоров, сопоставимых с количеством искусственных нейронов в сети, каждый отдельный процессор может выполнять роль отдельного искусственного нейрона. Это простейший случай проектирования, в котором сложность распараллеливания нейронной сети выражена наименее ярко.
Более сложным случаем является ситуация, когда число процессоров значительно меньше количества используемых искусственных нейронов. Это наиболее типичный случай встречающийся при решении задач распараллеливания искусственных нейронных сетей.
В такой ситуации приходится осуществлять распараллеливание сети не на уровне отдельных нейронов, а на уровне слоев. При этом особенно важно так распараллелить сеть, чтобы свести к минимуму процесс передачи информации от слоя к слою, а также ослабить зависимость процессов вычисления на разных процессорах друг от друга. Процессор справившийся со своей задачей раньше остальных не должен простаивать, а те процессоры которые еще продолжают счет не должны тормозить работу остальных.
Искусственные нейронные сети характеризуются наличием большого количества связей между близлежащими слоями. Большой поток информации передаваемый по этим связям является наибольшим препятствием при оптимизации процесса распараллеливания.
Если рассматривать отдельно взятый слой нейронов, можно выделить в нем входные и выходные связи. Информация, приходящая по входным связям к одному нейрону, характеризуется своей разнородностью вследствие различия весовых коэффициентов. Информация поступающая на выходные связи от каждого из нейронов напротив одинакова. Изменение выходного сигнала производится умножением его на соответствующий весовой коэффициент связи. При этом выходной сигнал предыдущего слоя преобразуется во входной сигнал последующего слоя.
Выбор расположения вычислительного процесса, преобразующего выходной сигнал во входной, напрямую влияет на эффективность передачи информации между процессорами. Так как выходная информация от каждого из нейронов передаваемая по нескольким связям одинакова, нет смысла передавать повторяющееся много раз значение. Вместо этого достаточно передать одно выходное значение от каждого из нейронов, а преобразование сигнала во входной вид производить на процессоре получившем эту информацию. Такой способ передачи данных позволяет снизить объем передаваемой информации на порядок зависящий от количества связей исходящих от одного нейрона.
Другим способом оптимизации распараллеливания программ реализующих работу искусственных нейронных сетей, является разбиение слоя на несколько составляющих, каждая из которых реализуется отдельным процессором. В этом случае количество связей на один процессор сокращается на число составляющих слоя. Уменьшение числа связей влечет за собой снижение объема передаваемой информации и как следствие ускорение работы системы.
Одним из наиболее важных способов оптимизации отображения графа нейронной сети, является правильный выбор топологии вычислительной системы. Так как граф искусственной нейронной сети может быть самым разнообразным, однозначно определить лучшую топологию заранее представляется достаточно трудной задачей. Часто одну нейронную сеть можно реализовать на вычислительных системах имеющих разную топологию. Вследствие сложности нейронных сетей и непредсказуемости соединения связей (кроме топологии "клика"), эффективность распараллеливания на системах с разными топологиями можно сравнивать только по результатам полученным на практике.
Из опыта распараллеливания программ реализующих искусственные нейронные сети можно предложить применение топологий "труба" и "кольцо" для распознающих однослойных и многослойных систем с классическим алгоритмом обучения и алгоритмом обратного распространения ошибки, топологий "звезда" или "кольцо" для систем использующих случайный поиск и генетический алгоритм.
Прогнозирование уровня поверхностных вод
В области энергетики оценка запасов и качества воды, уровня поверхностных и подземных вод играет очень важную роль. С их учетом производится планирование деятельности гидроэлектростанций, участков забора воды тепловых и атомных электростанций, а также других промышленных предприятий.
Комитетом Природных ресурсов по Ивановской области была поставлена задача прогнозирования паводков на Уводьской речной системе. Прогнозирование уровней подземных и поверхностных вод производится с применением математического моделирования и использованием статистических данных за предыдущие годы, а также результатов измерений проводимых в период прогнозирования.
В рамках этой работы была разработана система прогнозирования с применением искусственных нейронных сетей. Для обучения этой системы могут быть использованы как статистические данные за предыдущие годы, так и данные полученные в ходе математического моделирования расчетным путем. Использование исісусственньїх нейронных сетей позволяет упростить процесс прогнозирования и уменьшить сроки получения результата.
Системы прогнозирования природных процессов с применением искусственных нейронных сетей уже были опробованы в мире, показали свою высокую эффективность и продолжают эксплуатироваться и по сей день.
Задача прогнозирования уровней поверхностных и подземных вод является достаточно сложной, требует применения больших вычислительных мощностей, и поэтому при использовании искусственных нейронных сетей необходимо применение ускоренных алгоритмов их обучения.
Одним из лучших и зарекомендовавших себя быстрых алгоритмов обучения является алгоритм генетического поиска. Его описание приводится во второй главе диссертации. Этот алгоритм был выбран для реализации задачи прогнозирования запасов и качества воды в Уводьском водохранилище.
Предполагается, что данные полученные статистическим путем или в результате математического моделирования, расположены в числовом файле формата single (в языке Паскаль), он же float (в языке Си). В качестве входных данных используется семь параметров (уровень поверхностных вод, уровень грунтовых вод, масса снежного покрова, температура воздуха, атмосферные осадки, уровень солнечной радиации, влажность воздуха).
В файле значения этих коэффициентов располагаются последовательно. Сначала следуют семь значений относящиеся к первому моменту времени, потом семь значений в следующий момент времени и так далее до исчерпания всего файла.
Программа предназначена для прогнозирования изменения одного из параметров в зависимости от текущих и предыдущих изменений связанных с ним других параметров. Из семи исходных коэффициентов в файле, один является прогнозируемым.
Перед прогнозированием производится обучение искусственной нейронной сети, во время которого ей предъявляются различные известные исходные значения параметров и известный результат к которому они привели. В процессе обучения, веса искусственной нейронной сети настраиваются таким образом, что подаваемые на вход сети параметры вызывают получение результата совпадающего с предъявляемым. Чем больше известных статистических данных предъявляется сети во время обучения, тем лучше она обучается и тем точнее ее прогноз будет в дальнейшем. Оптимальность обучения искусственной нейронной сети определяется исходя из сравнения текущей и наилучшей рассчитанных целевых функций.
Результат возвращаемый обученной нейронной сетью при подаче на ее вход текущих значений исходных параметров является прогнозом, который в дальнейшем (при свершении события) может быть уточнен и использован в качестве дополнительной обучающей последовательности.
Запуск программы осуществляется в командной строке, где после имени программы указывается (через пробел) имя файла содержащего данные. Например: progngen.exe mydata.bin
Здесь progngen.exe - имя прогнозирующей программы, mydata.bin - имя файла содержащего числовые данные для обучения искусственной нейронной сети.
После запуска программы начинается процесс обучения нейронной сети по данным из файла. При этом на экран выводится содержимое файла, в виде семи (по числу коэффициентов) изменяющихся графиков. Возле каждого графика выводится номер соответствующий порядковому номеру коэффициента. Возле графика прогнозируемого коэффициента выводится график прогноза. В начальные моменты обучения он как правило не совпадает с реальным графиком, но по мере обучения сети начинает к нему приближаться.
Интерфейс работающей программы показан на рисунке 4.6. График №1 является прогнозируемым. Показан момент, когда прогноз начинает приближаться к истинным значениям.