Содержание к диссертации
Введение
Глава 1. Прогнозирующие системы. Состояние проблемы 11
1.1 Прогноз и цели его использования 12
1.2 Классификация и обзор методов прогнозирования 16
1.3 Место искусственных нейронных сетей в задачах прогнозирования 21
Выводы по 1 главе 32
Глава 2. Теоретические аспекты разработки интеллектуального инструментария прогнозирования . 34
2.1 Выбор топологии нейронной сети 35
2.2 Теория обратного распространения ошибки 40
2.3 Нормализация-масштабирование данных для обучения сетей 45
2.4 Метод выбора входных параметров искусственной нейронной сети в задачах прогнозирования 49
2.5 Использование генетического алгоритма для определения структуры нейронной сети в задачах прогнозирования 54
Выводы по 2 главе 64
Глава 3. Практическая реализация инструментария прогнозирования... 66
3.1 Обзор систем прогнозирования, основанных на аппарате нейронных сетей. 68
3.2 Разработка программного инструментария прогнозирования 75
Выводы по 3 главе 90
Глава 4. Практическое использование инструментария прогнозирования 92
4.1 Использование программного инструментария для прогнозирования развития реальной системы 93
4.2 Аппаратная реализация результатов работы программного инструментария 102
Выводы по 4 главе 105
Заключение 106
Литература
- Классификация и обзор методов прогнозирования
- Нормализация-масштабирование данных для обучения сетей
- Разработка программного инструментария прогнозирования
- Аппаратная реализация результатов работы программного инструментария
Введение к работе
Задачу прогнозирования развития различных систем пытаются решить на протяжении не одной сотни , лет. Обуславливается это тем, что человек не хочет быть просто пассивным наблюдателем, а как минимум старается предвидеть будущую ситуацию и наименьшими затратами повлиять на ход событий с большей эффективностью. Еще одной из причин, обуславливающих подобную заинтересованность, является тот факт, что единожды полученный инструментарий, дающий прогноз с приемлемой точностью и обладающий достаточной гибкостью, можно применять в различных сферах бытия: экономика, социология, промышленность, транспортные потоки, биотехнология и др. В России долгое время методы прогнозирования, да и сами результаты предсказания, не оказывали никакого влияния на развитие государства. Более того, отвергались правящей верхушкой и ставились вне закона. Во главу всего был поставлен план увеличения показателей предыдущей пятилетки любыми усилиями, что и привело к известным последствиям. И хотя в основу первоначального периода развития России в время новейшей истории были поставлены труды В.А. Базарова-Руднева, в создании дальнейших планов его выкладки использовались мало. Такие же тенденции прослеживались во многих областях.
Фундаментальные труды зарубежных футурологов (Э. Тоффлер, Дж. Нейсбитт, П. Эбурдин [2]) долгое время отвергались последователями марксистско-ленинской идеологии. Но, тем не менее, и советские ученые (И.В. Бестужев-Лада [1,11], Н.Ф. Федоров и др.) вели успешные разработки в данном направлении.
Также следует отметить, что существенный вклад в развитие теории искусственных нейронных сетей сделали следующие ученые: Горбатов В.А. [23], Горбатов А.В., Рябов Л.П., Суворов А.В., Овчинников В.В.
Теория искусственных сетей в последнее время стала одним из самых перспективных направлений в области прогнозирования развития систем [3-Ю]. С каждым годом увеличивается число компаний, которые тратят существенную часть доходов на внедрение и разработку собственных инструментов прогнозирования (ориентированных на конкретную предметную область в соответствии со спецификой предприятия) в существующую систему автоматизированного управления. Большинство руководителей, принявших такой путь развития, рассматривают подобные траты как вклад в эффективное развитие и, как показывает практика, при достаточно профессиональном подходе к решению этой проблемы затраты окупаются. Для решения задач
краткосрочного прогнозирования в области интеллектуальных систем часто используют аппарат искусственных нейронных сетей [12-14]. Отчасти это связано с ростом производительности компьютеров, что напрямую влияет на один из важных параметров краткосрочного прогнозирования - время решения задачи. Еще одной из причин развития ИИ является постоянная разработка популярных программных пакетов [15-16] для решения прикладных задач этой области, что позволяет теоретикам обрабатывать идеи, не имея опыта разработки собственных программ.
В теории нейронных сетей и их применении существует ряд теоретических и практических проблем, которые не имеют однозначно правильного и эффективного решения до сих пор. Одной из актуальных задач является определение оптимальной структуры искусственной нейронной сети и фильтрация входных данных. Существующие решения не удовлетворяют постановке задачи прогнозирования и, как следствие, не получают широкого внедрения в существующих коммерческих программных пакетах.
Цель работы состоит в разработке математического, алгоритмического обеспечений и их программной реализации в виде соответствующего инструментария, являющегося частью САПР прогнозирования развития систем.
Идея работы заключается во впервые предложенном методе нахождения оптимальной структуры нейронной сети при помощи поисковой машины, основанной на механизме отбора, оценки и генерации новых решений, а также нахождения множества, определяющего состав и структуру входных данных. Научные положения, выносимые на защиту, и их новизна:
Впервые предложена методика использования аппарата генетических алгоритмов для нахождения оптимальной структуры искусственной нейронной сети в задачах прогнозирования.
Впервые предложена фильтрация входных параметров, определяющих работу прогнозируемой системы, основанная на использовании теоретико-графовых структур, позволяющая уменьшить трудоемкость решения задачи (число синапсов и нейронов результирующей сети) прогнозирования.
Разработана структура хранения всех данных, необходимых для функционирования искусственных нейронных сетей и их автоматизированного проектирования, в ЭВМ.
4. Предложена для использования аппаратная
реализация искусственных нейронных сетей в виде
нейрочипов и обосновано применение этого типа.
Обоснованность научных положений, выводов и
рекомендаций, сформулированных в диссертации,
подтверждается:
использованием теории нейронных сетей, теории статистики, теории генетических алгоритмов, теории графов и мографов, теории формальной логики и алгоритмов, теории лингвистического программирования, дискретной математики, теории баз данных;
положительными результатами внедрения в учебный процесс разработанного программного инструментария автоматизированного прогнозирования развития систем на базе искусственных нейронных сетей.
Научное значение:
развита теория применения искусственных нейронных сетей в задачах краткосрочного прогнозирования развития сложных систем;
расширена теория фильтрации данных с применением графовых структур;
развита теория применения реляционных баз данных для
хранения информационной и алгоритмической
составляющей прогнозирования при помощи
предложенных алгоритмов. Практическая значимость работы:
Разработано программное обеспечение (в виде открытого исходного кода) для практического использования предложенных методик и внедрения в действующие системы;
Разработаны графический пользовательский интерфейс и визуальная система представления информации;
Реализован в виде программных приложений ряд конвертеров для закачки данных в программный продукт, что позволяет использовать различные источники данных;
Разработана и практически реализована схема
хранения всей необходимой информации в ЭВМ,
отражающей деятельность прогнозируемой системы,
и нейронных структур, необходимых для решения
задач.
Апробация работы. Основные результаты диссертационной работы докладывались и обсуждались на научных семинарах кафедры Систем автоматизированного
проектирования Московского государственного горного университета (2006, 2008 гг.).
Публикации. Основные положения и результаты
диссертационного исследования опубликованы в четырех
работах, в том числе одна в издании, входящем в перечень ВАК.
Классификация и обзор методов прогнозирования
Методы прогнозирования классифицируются по различным критериям: - по форме предоставления результата прогнозы делятся на количественные и качественные. Первые базируются на численных, математических процедурах, а вторые на использовании имеющихся опыта, знаний и интуиции исследователя; - по величине периода упреждения выделяют краткосрочные (1 год и менее, что является частью предмета исследования в данной диссертационной работе), среднесрочные (2-5 лет), долгосрочные (свыше 5 лет); - по охвату прогнозированием объекта исследования прогнозы бывают общими и частные.
При осуществлении прогнозов довольно часто используются методы экспертных оценок (например, метод Дельфи). Сущность метода состоит в том, что прогнозные оценки определяются на основе заключений экспертов, которым поручается аргументированное обоснование своей точки зрения о состоянии и развитии того или иного объекта.
Результаты данных, полученных от экспертов обрабатываются и анализируются по специальной методике (имеется стандартная программа для ПЭВМ), итоги предоставляются лицу принимающему решения.
Достоинством экспертных методов является их относительная простота и применяемость для прогнозирования практически любых ситуаций, в том числе в условиях неполной информации. Важной особенностью этих методов является возможность прогнозировать качественные характеристики различных объектов.
Сам метод экспертных оценок имеет много недостатков. В частности, некоторые аналитики считают, что за балльными оценками часто кроется неумение эксперта квалифицированно оценивать поднятую проблему или явление. Также нет никаких гарантий, что полученные оценки в действительности достоверны. Ведь любая экспертная оценка несет в себе, прежде всего, субъективное отношение эксперта к поднимаемому вопросу, которое основывается на каком-то количестве причинных факторов, действующих в рамках определенного сценария. Само собой, как количественный, так и качественный показатель этих факторов у каждого эксперта сугубо индивидуален, что в результате влияет на конечные данные.
Одним из наиболее перспективных направлений в решении задач прогнозирования являются нейронные сети. На рынке появляется огромное количество как универсальных нейропакетов, которые зачастую используются для решения задач технического анализа, так и специализированных экспертных систем и программных комплексов для решения многих других, зачастую более сложных и трудно формализуемых задач, например, из финансовой области. В настоящее время имеет место широкое появление на отечественном рынке компьютеров и программного обеспечения нейропакетов и нейрокомпьютеров, предназначенных для решения финансовых задач. Те банки и крупные финансовые организации, которые уже используют нейронные сети в своей работе, понимают, насколько эффективным средством они могут быть для задач с хорошей статистической базой, например при наличии достаточно длинных временных рядов, в том числе и многомерных. Пока ситуация складывалась так, что в финансовой системе, сложившейся в настоящее время, наблюдается повышенный интерес к отдельным видам задач, например предсказанию фьючерсных контрактов или курсов ГКО, при недостаточном внимании к структурному макроэкономическому анализу с использованием нейронных сетей как нелинейных моделей процесса. Лишь в последнее время начинает появляться интерес к использованию нейронных сетей для оценки ситуации, применению нечеткой логики для принятия решений и других более сложных приложений. При этом в качестве потребителя такой информации выступают либо люди, хорошо знающие потенциальные возможности нейронных сетей, либо решающие такие задачи традиционными методами и вынужденные искать другие, более эффективные способы решения задач.
Нормализация-масштабирование данных для обучения сетей
Работа любой более-менее сложной динамической системы характеризуется множеством параметров распределенных во времени. Диапазоны их значений могут иметь совершенно различные границы. В качестве примера рассмотрим некую финансовую систему, где в один и тот же промежуток времени индекс РТС имеет значение 2122, а курс USD равняется 23.65. Получается, что даже в случае изменения курса на 50 процентов, общий вход элемента изменится менее чем на 1%. Если без предварительной обработки подавать подобные сигналы на входной слой нейронной сети, то получится, что индекс РТС имеет больший вес, что неправильно. Более того, изначально все данные должны находится в «равных условиях», и привносить одинаковый вклад в работы НС. А также, в контексте задачи прогнозирования, большее значение имеет изменение динамики показателей, а не их абсолютное значение.
Поэтому данные обычно требуют масштабирования и в том числе для того, чтобы они попадали в область действия сети. Например, целевые выходные данные для сети с обратным распространением ошибок и с сигмоидальной функцией активации элементов должны лежать между 0 и 1, поскольку соответствующей является область значений сигмоидальной функции (рис. 2.1.4). Простейшим методом масштабирования является деление значения признака на максимальное значение этого признака. В результате наибольшее значение будет равняться 1. Для функции активности типа «сигмоид» часто используют диапазон между 0.1 и 0.9, что помогает избежать перехода сети в состояние «холостого хода» при достижении крайних пределов области ее работоспособности. Разные признаки могут иметь существенно различные вариации в распределении значений. Например, два признака могут иметь одинаковые области изменения значений, но значения одного из признаков могут в большинстве своем находится около максимального значения в конце диапазона, тогда как значения другого признака могут более или менее равномерно распределяться по всему диапазону (рис. 2.3.1).
Другой формой масштабирования является вычисление для каждого признака среднеквадратичного отклонения и среднего значения. Имеющиеся значения признака затем масштабируются с помощью вычитания среднего и деления результата на значение среднеквадратичного отклонения для данного признака.
Как уже отмечалось ранее, работа любой более-менее сложной динамической системы характеризуется множеством параметров. Для краткосрочного прогнозирования изменения некоторых из них широко используют аппарат искусственных нейронных сетей [21]. Алгоритм обратного распространения ошибки удовлетворяет всем требованиям, предъявляемым к классу подобных задач. Общий принцип структуры подобных сетей представлен на рис. 2.4.1.
Рассмотрение полного цикла работы подобных НС не представляется принципиальным в контексте данной задачи. Главное то, что на вход подаются данные, происходит их циклическая обработка (настройка сети, которая является одним из самых «ресурсозатратных» этапов) с целью дальнейшего использования для решения конкретной задачи1.
Таким образом, все параметры, определяющие развитие рассматриваемых систем, представлены в НС множеством входных (л) И выходных (t) элементов. Исходя из специфики прогнозирования, эти множества могут иметь пересечение (допускается использование ранних значений прогнозируемых параметров во входном слое). Зачастую бывает так, что невозможно изначально определить, какие параметры необходимы для составления прогноза, а какие только увеличивают погрешность и время нахождения значений выходных элементов. Для повышения свойства обобщения НС (правильный вывод для большинства тестовых данных, которые не участвуют в процессе обучения) и оптимального выбора массива входных значений предлагается следующий алгоритм:
Разработка программного инструментария прогнозирования
Для того чтобы воспользоваться разработанными методиками по использованию искусственных нейронных сетей необходимо воплотить изложенные идеи в виде программного инструментария. Это связано, прежде всего, с огромным количеством расчетов необходимых для получения результата. Трудно даже предположить, сколько может потратить времени человек не вооруженный современными средствами вычислительной техники, что бы обучить, например, сеть, состоящую всего лишь из одного скрытого слоя и нескольких входных элементов. И таких расчетов в работе с реальными статистическими данными понадобится огромное число.
Таким образом необходимость использования электронно-вычислительных систем не вызывает сомнения.
Для реализации поставленной задачи необходимо в первую очередь разработать модель системы. Она поможет с выбором системы управления базой данных, технологий взаимодействия с другими приложениями (например, источниками хранения статистических данных) и определит дальнейшую структуру всего приложения.
Модель системы показана на рис. 3.2.1.
Из полученной модели программного средства видно, что для реализации её элементов необходимо использовать: - базу данных (хранение информации о проектах, нейронных сетях, их конфигурациях и т.д.); - графический интерфейс (всевозможные формы для запроса параметров, меню, графическое отображение информации - графики, диаграммы и т.д.); - средства взаимодействия с другими приложениями и разыми форматами для импорта статистических данных (OLE, ODBC и пр.).
Рассматривая все известные на рынке решения для управления базами данных и разработки графических интерфейсов, было выбрано решение корпорации Microsoft Visual FoxPro. Данный продукт позволяет создавать и поддерживать высокопроизводительные, 32-битные и ориентированные на работу с базами данных приложения и компоненты. Основными преимуществами данного пакета стали следующие особенности: «прямое» взаимодействие с базами данных, минуя кропотливый процесс при использовании дополнительных драйверов и других технологий доступа к данным. Это позволяем более комфортно масштабировать приложения и изготавливать законченные решения программных пакетов в идее дистрибутивов; существуют штатные средства для доступа к другим приложениям (Excel, Word и т.д.), основанные на технологии OLE; все версии этих пакетов сохраняют полную совместимость с новыми релизами (на текущий момент существует версия с пакетом обновлений 1), что облегчает дальнейшую поддержку программ; объектно-ориентированный язык программирования FoxPro получил своё широкое распространение еще в 80-х годах, что позволило до настоящего момента накопить достаточно большой опыт и знания по разработке приложений с его использованием; начиная с версии 3.0, появилась возможность «визуальной» разработки и, как следствие, создания более удобных пользовательских интерфейсов, что свело работу с конечным продуктом к манипуляции с компонентами (объектами, имеющими визуальную составляющую). Для доступа к основным функциям приложения разработано главное меню (см. рис. 3.2.2).
Аппаратная реализация результатов работы программного инструментария
Диаграмма сигналов в искусственной нейронной сети при обучении по алгоритму обратного распространения представлена на рис. 4.2.1. Она иллюстрирует все неиросетевые операции и структурно отображает те функциональные элементы, реализация которых должна быть обеспечена в ячейке нейровычислителя.
DSP (Digital Signal Processor - цифровой сигнальный процессор), обладает достаточно мощной структурой, осуществляющей вычисления и реализацию информационных потоков. Большое число программных пакетов и сравнительно небольшая цена сделали использование этого процессора достаточно популярным в разработке информационных систем. Переход обработки информации на цифровые стандарты привел к необходимости увеличения быстродействия процессоров. Сложная обработка информационных пакетов требует применения вычислительных систем, имеющих достаточно высокую производительность. Различная элементная база может использоваться для разработки подобных систем, но наибольшую популярность получили устройства, использующие цифровые сигнальные процессоры.
При оценке производительности нейровычислителей используют следующие показатели [24]: - CUPS (connections update per second) - число измененных значений весов в секунду (оценивает скорость обучения); - CPS (connections per second) - число соединений (умножений с накоплением) в секунду (оценивает производительность); - CPSPW = CPS/Nw, где Nw - число синапсов в нейроне; - CPPS - число соединений примитовов в секунду, CPPS=CPS Bw Bs, где Bw, Bs - разрядность весов и синапсов; - ММАС - миллионов умножений с накоплением в секунду. Для реализации на аппаратной платформе полученной нейронной сети необходимо, что бы она обладала следующими параметрами: - количество слоев 3; - количество нейронов 55; - количество синапсов 757 ( 40 Кб).
Представленным параметрам обладает нейрочип 100 NAP фирмы Hecht-Nielson Computer содержит 4 32 разрядных процессорных элемента с плавающей точкой. Средняя производительность около 150 MFLOPS, адресуемое адресное пространство внекристалльной памяти 512 Кбайт [25].
Для закачки полученной структуры нейронной сети необходимо воспользоваться специальным программным инструментарием, сопровождающим нейрочипы. Но благодаря тому, что вся структура уже представлена в электронном виде, этот процесс поддается автоматизации и выполняется достаточно быстро. Таким образом, используя представленный нейрочип возможно значительно уменьшить время составления прогноза и освободить ресурсы персональных вычислительных машин.
Выводы по 4 главе.
При помощи разработанного инструментария прогнозирования развития систем была получена информационная структура в виде обученной искусственной нейронной сети. Было получено практическое подтверждение работоспособности разработанного программного пакета (основу которого составили предложенные методики) на реальных статистических данных, характеризующих работу Банка России.
Также была представлена методика использования выбранных аппаратных средств для реализации обучения нейронной сети и последующего использования.