Смекни!
smekni.com

Исследование динамики финансовых рынков нейросетевыми методами (стр. 3 из 8)

· Слоисто-циклические, отличающиеся тем, что слои замк­нуты в кольцо, последний слой передает свои выходные сигналы первому; все слои равноправны и могут как получать входные сиг­налы, так и выдавать выходные;

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

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

В слабосвязных нейронных сетях нейроны располагаются в узлах прямоугольной или гексагональной решетки. Каждый нейрон связан с четырьмя (окрестность фон Неймана), шестью (окрест­ность Голея) или восемью (окрестность Мура) своими ближайшими соседями.

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

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

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

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

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

· Возможности сети возрастают с увеличением числа ней­ронов сети, плотности связей между ними и числом слоев.

· Введение обратных связей наряду с увеличением воз­можностей сети поднимает вопрос о динамической устойчивости сети.

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

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

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

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

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

В результате отображения X→ У необходимо обеспечить формирование правильных выходных сигналов в соответствии:

– со всеми примерами обучающей выборки;

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

1.3. Обучение нейронных сетей

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

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

Выделяют три парадигмы обучения: с учителем, самообучение и смешанная.

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

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

При обучении без учителя нейронной сети предъявляются только входные сигналы, а выходы сети формируются самостоятельно с учетом только входных и производных от них сигналов. Несмотря на многочисленные прикладные достижения, обучение с учителем критиковалось за свою биологическую неправдоподобность. Трудно вообразить обучающий механизм в естественном человеческом интеллекте, который бы сравнивал желаемые и действительные значения выходов, выполняя коррекцию с помощью обратной связи. Если допустить подобный механизм в человеческом мозге, то откуда тогда возникают желаемые выходы? Обучение без учителя является более правдоподобной моделью обучения в биологической системе. Развитая Кохоненом и многими другими, она не нуждается в целевом векторе для выходов и, следовательно, не требует сравнения с предопределенными идеальными ответами. Обучающее множество состоит лишь из входных векторов. Обучающий алгоритм подстраивает веса нейронной сети так, чтобы получались согласованные выходные векторы, т. е. чтобы предъявление достаточно близких входных векторов давало одинаковые выходы. Процесс обучения, следовательно, выделяет статистические свойства обучающего множества и группирует сходные векторы в классы. Предъявление на вход вектора из данного класса даст определенный выходной вектор, но до обучения невозможно предсказать, какой выход будет производиться данным классом входных векторов. Следовательно, выходы подобной сети должны трансформироваться в некоторую понятную форму, обусловленную процессом обучения. Это не является серьезной проблемой. Обычно не сложно идентифицировать связь между входом и выходом, установленную сетью.

Существует большое число алгоритмов обучения, ориентированных на решение разных задач [4]. Среди них выделяет алгоритм обратного распространения ошибки, который является одним из наиболее успешных современных алгоритмов. Его основная идея заключается в том, что изменение весов синапсов происходит с учетом локального градиента функции ошибки. Разница между реальными и правильными ответами нейронной сети, определяемыми на выходном слое, распространяется в обратном направлении – навстречу потоку сигналов. В итоге каждый нейрон способен определить вклад каждого своего веса в суммарную ошибку сети. Простейшее правило обучения соответствует методу наискорейшего спуска, то есть изменения синаптических весов пропорционально их вкладу в общую ошибку. Конечно, при таком обучении нейронной сети нет уверенности, что она обучилась наилучшим образом, поскольку всегда существует возможность попадания алгоритма в локальный минимум. Для этого используются специальные приемы, позволяющие «выбить» найденное решение из локального экстремума. Если после нескольких таких действий нейронная сеть сходится к тому же решению, то можно сделать вывод о том, что найденное решение, скорее всего, оптимально.