Главная страница
Навигация по странице:

  • Этапы построения нейросети Любая работа с нейросетью начинается с определения задач (1 этап)

  • Вторым

  • Выбор типа нейросетевой технологии и метода ее обучения

  • Лекции готовые в Moodle. Информационные процессы в экономике. Основные тенденции развития информатизации в экономике


    Скачать 3.34 Mb.
    НазваниеИнформационные процессы в экономике. Основные тенденции развития информатизации в экономике
    Дата02.05.2022
    Размер3.34 Mb.
    Формат файлаdocx
    Имя файлаЛекции готовые в Moodle.docx
    ТипГлава
    #507437
    страница6 из 38
    1   2   3   4   5   6   7   8   9   ...   38

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

    Текущее состояние нейрона определяется, как взвешенная сумма его входов:

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

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

    • выходные нейроны, выходные значения которых представляют выходы нейросети;

    • промежуточные нейроны, составляющие основу нейронных сетей.

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

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

    Нейронная сеть состоит из слоев нейронов, которые соединены друг с другом. Детали того, как нейроны соединены между собой, заставляют задуматься над вопросом проектирования НС. Некоторые нейроны будут использоваться для связи с внешним миром, другие нейроны - только с нейронами. Они называются скрытыми нейронами.

    Современные возможности аппаратной реализации НС можно обобщенно оценить следующим образом:

    • число моделируемых нейронов - до 5 млн.;

    • число моделируемых связей - до 5 млн.;

    • скорость моделирования - до 500 млн. переключений связей/сек.

    Нейрокомпьютеры различают:

    • универсальные (позволяют реализовывать большое число моделей нейронных сетей и может применяться для решения разнообразных задач);

    • специализированные (предназначенном для решения узкого заранее заданного класса задач)

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

    Существует несколько классификаций известных нейросетей:

    • по типам структур нейронов:

    • гомогенные сети (однородные) состоят из нейронов одного типа с единой функцией активации;

    • гетерогенные сети (входят нейроны с различными функциями активации).

    по типу оперируемых сигналов:

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

    • аналоговые;

    по переменам состояний

    • синхронные, т.е. в каждый момент времени лишь один нейрон меняет свое состояние;

    • асинхронные, т.е. состояние меняется сразу у целой группы нейронов, как правило, у всего слоя. Алгоритмически ход времени в нейронных сетях задается итерационным выполнением однотипных действий над нейронами;

    по возможностям обучения:

    • предварительно обученные (неадаптивные);

    • самообучающиеся (адаптивные);

    по архитектуре:

    • полносвязные;

    • многослойные или слоистые;

    • слабосвязные (с локальными связями).

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

    В многослойных нейронных сетях нейроны объединяются в слои. Слой содержит совокупность нейронов с едиными входными сигналами. Число нейронов в слое может быть любым и не зависит от количества нейронов в других слоях. В общем случае сеть состоит из Q слоев, пронумерованных слева направо. Внешние входные сигналы подаются на входы нейронов входного слоя (его часто нумеруют как нулевой), а выходами сети являются выходные сигналы последнего слоя, Кроме входного и выходного слоев в многослойной нейронной сети есть один или несколько скрытых слоев. Связи от выходов нейронов некоторого слоя q к входам нейронов следующего слоя (q+1) называются последовательными, а между нейронами одного слоя называют латеральными (боковыми).

    Этапы построения нейросети

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

    Привычной стала необходимость привлечения квалифицированных экспертов.

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

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

    Вопрос о построении сети решается в два этапа:

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

    • подбор весов (обучение) сети.

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

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

    Большой размер нейросети приводит к затруднению обучения (для сети с 50 входами и 20 нейронами это задача оптимизации в 1000-мерном пространстве). Также уменьшаются

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Различают два типа выходных сигналов:

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

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

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

    В табл. 3.6. перечислены основные классы задач, возникающих в финансовой области, которые эффективно решаются с помощью нейронных сетей [62].

    1   2   3   4   5   6   7   8   9   ...   38


    написать администратору сайта