logo
Автоматизированная система построения нейронной сети методом обратного распространения ошибки

1.1 Исследование предметной области

Сферу использования нейронных сетей в настоящее время можно разделить на несколько групп:

· Финансы, экономика, производство

· Медицина

· Энергетика

· Космос и природные явления

· Искусственный интеллект

· Научные исследования

Рассмотрим крупнейшие из них.[16]

1) Финансы. Одним из наиболее интересных приложений нейронных сетей в последние годы стали задачи финансовой деятельности. На рынке появляется огромное количество как универсальных нейропакетов, которые зачастую используются для решения задач технического анализа, так и специализированных экспертных систем и нейропакетов для решения многих других, зачастую более сложных и трудно формализуемых задач из финансовой области. В настоящее время имеет место широкое появление на отечественном рынке компьютеров и программного обеспечения нейропакетов и нейрокомпьютеров, предназначенных для решения финансовых задач. Те банки и крупные финансовые организации, которые уже используют нейронные сети для решения своих задач, понимают, насколько эффективным средством могут быть нейронные сети для задач с хорошей статистической базой, например при наличии достаточно длинных временных рядов, в том числе и многомерных. Пока ситуация складывалась так, что в финансовой системе, сложившейся в настоящее время, наблюдается повышенный интерес к отдельным видам задач, например предсказанию фьючерсных контрактов или курсов ГКО, при недостаточном внимании к структурному макроэкономическому анализу с использованием нейронных сетей как нелинейных моделей процесса. Лишь в последнее время начинает появляться интерес к использованию нейронных сетей для оценки ситуации, применению нечеткой логики для принятия решений и других более сложных приложений. При этом в качестве потребителя такой информации выступают либо люди, хорошо знающие потенциальные возможности нейронных сетей, либо решающие такие задачи традиционными методами и вынужденные искать другие, более эффективные способы решения задач.

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

Основные задачи:

- Прогнозирование временных рядов на основе нейросетевых методов обработки (валютный курс, спрос и котировки акций, фьючерсные контракты и др.)

- Страховая деятельность банков.

- Прогнозирование банкротств на основе нейросетевой системы распознавания.

- Определение курсов облигаций и акций предприятий с целью вложения средств в эти предприятия.

- Применение нейронных сетей к задачам биржевой деятельности.

- Прогнозирование экономической эффективности финансирования проектов.

- Предсказание результатов займов.

- Общие приложения нейронных сетей

Приведем краткое пояснение каждого из основных приложений

1.1. Прогнозирование временных рядов на основе нейросетевых методов обработки.

- Прогнозирование кросс-курса валют

- Прогнозирование котировок и спроса акций для биржевых спекуляций (не для долгосрочного вложения)

- Прогнозирование остатков средств на корреспондентских счетах банка.

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

1.2 Страховая деятельность банков

- оценка риска страхования инвестиций на основе анализа надежности проекта

- оценка риска страхования вложенных средств

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

1.3 Прогнозирование банкротств на основе нейросетевой системы распознавания

- анализ надежности фирмы с точки зрения возможности ее банкротства с помощью нейросетевой системы распознавания и выдача результата в дискретном виде (да. нет)

- анализ величины вероятности банкротства фирмы на основе многокритериальной оценки с построением нелинейной модели с помощью нейронных сетей (пример результата - 74% вероятности банкротства).

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

1.4 Определение курсов облигаций и акций предприятий с целью вложения средств в эти предприятия

- выделение долгосрочных и краткосрочных скачков курсовой стоимости акций на основе нелинейной нейросетевой модели

- предсказание изменения стоимости акций на основе нейросетевого анализа временных экономических рядов

- распознавание ситуаций, когда резкое изменение цены акций является результатом биржевой игры с помощью нейросетевой системы распознавания

- определение соотношения котировок и спроса

Прогнозирующая система может состоять из нескольких нейронных сетей, которые обучаются взаимосвязям между различными техническими и экономическими показателями и периодами покупки и продажи акций. Целью прогноза является выбор наилучшего времени для покупки и продажи акций. Здесь рассматриваются также задачи формирования портфеля ценных бумаг и распознавания шаблонов на графике изменения курсов акций, которые позволяют прогнозировать курс акций на последующем отрезке времени. На рынке акций шаблон «треугольника» в диаграмме (графике) изменений курса акций является индикатором важного направления будущего изменения цены акций. Однако никакие методы основанные на правилах не дают хорошего результата, только высококвалифицированные эксперты. Нейросетевой подход дал весьма многообещающие результаты для Токийской фондовой биржи после обучения сети на 15 обучающих шаблонах треугольника и проверке на одном нейросетевом шаблоне. После чего были проведены 16 экспериментов на данных по ценам акций за последние 3 года. Шаблон треугольника был успешно определен в 15 случаях.

Применение нейронных сетей к задачам анализа биржевой деятельности - нейросетевая система распознавания всплесков биржевой активности - анализ деятельности биржи на основе нейросетевой модели - предсказание цен на товары и сырье с выделением трендов вне зависимости от инфляции и сезонных колебаний - нейросетевая система выделения трендов по методикам <японских свечей> и других гистографических источников отображения информации.

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

1.5 Прогнозирование экономической эффективности проектов

- предсказание на основе анализа реализованных ранее проектов;

- предсказание на основе соответствия предлагаемого проекта экономической ситуации.

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

1.6 Предсказание результатов займов

- определение возможности кредитования предприятий

- предоставление кредитов и займов без залога

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

1.7 Общие приложения нейронных сетей

- применение нейронных сетей в задачах маркетинга и розничной торговли.

Это из самых «модных» применений нейрокомпьютеров в финансовой области. Один из решаемых вопросов - установление цены на новый вид товара на основе многокритериальной оценки.

- моделирование динамики цен на сельскохозяйственную продукцию в зависимости от климатических условий

- моделирование работы коммунальных служб на основе нейросетевой модели для многокритериального анализа

- построение модели структуры расходов семьи.

2) Энергетика

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

Ниже представлен перечень основных задач, решаемых нейрокомпьютерами в современных энергетических системах:

· предсказание нагрузки;

· прогнозирование температуры окружающей среды с целью прогнозирования нагрузки;

· управление потоками электроэнергии в сетях;

· обеспечение максимальной мощности;

· регулирование напряжения;

· диагностика энергосистем с целью определения неисправностей;

· оптимизация размещения датчиков для контроля безопасности энергосистем;

· мониторинг безопасности энергосистем; обеспечение защиты трансформаторов;

· обеспечение устойчивости, оценка динамического состояния и диагностика генераторов;

· управление турбогенераторами;

· управление сетью генераторов;

· управление мощными переключательными системами.

Перечень задач применения нейрокомпьютеров в системах управления энергетическими системами постоянно растет.

3) Медицина. Статистика такова: врач правильно диагностирует болезнь у 88% больных и ошибочно ставит этот диагноз в 29% случаев. Ложных тревог (гипердиагностики) чересчур много. История применения различных методов обработки данных для повышения качества диагностики насчитывает десятилетия, однако лучший из них помог сократить число случаев гипердиагностики лишь на 3%.

В 1990 году Вильям Бакст из Калифорнийского университета в Сан-Диего использовал нейронную сеть - многослойный персептрон - для распознавания инфаркта миокарда у пациентов, поступающих в приемный покой с острой болью в груди. Его целью было создание инструмента, способного помочь врачам, которые не в силах справиться с потоком данных, характеризующих состояние поступившего больного. Другой целью может быть совершенствование диагностики. Свою задачу исследователь усложнил, поскольку анализировал данные только тех пациентов, кого уже направили в кардиологическое отделение. Бакст использовал лишь 20 параметров, среди которых были возраст, пол, локализация боли, реакция на нитроглицерин, тошнота и рвота, потение, обмороки, частота дыхания, учащенность сердцебиения, предыдущие инфаркты, диабет, гипертония, вздутие шейной вены, ряд особенностей ЭКГ и наличие значительных ишемических изменений.

Сеть продемонстрировала точность 92% при обнаружении инфаркта миокарда и дала только 4% случаев сигналов ложной тревоги, ошибочно подтверждая направление пациентов без инфаркта в кардиологическое отделение. Итак, налицо факт успешного применения искусственных нейронных сетей в диагностике заболевания. Теперь необходимо пояснить, в каких параметрах оценивается качество диагноза в общем случае. Предположим, что из десяти человек, у которых инфаркт действительно есть, диагностический метод позволяет обнаружить заболевание у восьми. Тогда чувствительность метода составит 80%. Если же мы возьмем десять человек, у которых инфаркта нет, а метод диагностики заподозрит его у трех человек, то доля ложных тревог составит 30%, при этом дополнительная к нему характеристика - специфичность метода - будет равна 70%.

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

4) Нейронные сети для задач диагностики

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

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

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

Принцип функционирования, основные понятия и определения нейросетей.

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

Модели НС могут быть программного и аппаратного исполнения. В дальнейшем речь пойдет в основном о первом типе.[15]

Несмотря на существенные различия, отдельные типы НС обладают несколькими общими чертами.

Рис.1.1 Искусственный нейрон

Основу каждой НС составляют относительно простые, в большинстве случаев - однотипные, элементы (ячейки), имитирующие работу нейронов мозга. Далее под нейроном будет подразумеваться искусственный нейрон, то есть ячейка НС. Каждый нейрон характеризуется своим текущим состоянием по аналогии с нервными клетками головного мозга, которые могут быть возбуждены или заторможены. Он обладает группой синапсов - однонаправленных входных связей, соединенных с выходами других нейронов, а также имеет аксон - выходную связь данного нейрона, с которой сигнал (возбуждения или торможения) поступает на синапсы следующих нейронов. Общий вид нейрона приведен на рисунке 1. Каждый синапс характеризуется величиной синаптической связи или ее весом, который по физическому смыслу эквивалентен электрической проводимости.

Рис.1.2 Однослойный перцептрон

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

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

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

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

Этот этап называется обучением НС, и от того, насколько качественно он будет выполнен, зависит способность сети решать поставленные перед ней проблемы во время эксплуатации. На этапе обучения кроме параметра качества подбора весов важную роль играет время обучения. Как правило, эти два параметра связаны обратной зависимостью и их приходится выбирать на основе компромисса.[11]

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

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

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

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

Рис.1.3 Двухслойный персептрон

Сети также можно классифицировать по числу слоев. На рисунке 3 представлен двухслойный персептрон, полученный из персептрона с рисунка 2 путем добавления второго слоя, состоящего из двух нейронов. Здесь уместно отметить важную роль нелинейности активационной функции, так как, если бы она не обладала данным свойством или не входила в алгоритм работы каждого нейрона, результат функционирования любой p-слойной НС с весовыми матрицами для каждого слоя сводился бы к перемножению входного вектора сигналов на матрицу, то есть фактически такая p-слойная НС была бы эквивалентна однослойной НС с весовой матрицей единственного слоя.