Формирование решений с помощью нейросетей
Нейросетевые технологии, в отличие от экспертных систем, предназначены для воспроизведения неосознанных мыслительных усилий человека (например, человек плохо знает, как он узнает цвет предмета).
Такого рода технологии используются для распознавания каких-либо событий или предметов.
С их помощью можно воспроизвести многочисленные связи между множеством объектов.
Принципиальное отличие искусственных нейросетей от обычных программных систем, например экспертных, состоит в том, что они не требуют программирования. Они сами настраиваются, т. е. обучаются тому, что требуется пользователю.
Известны следующие основные сферы применения нейросетей:
1. Экономика и бизнес: предсказание поведения рынков, предсказание банкротств, оценка стоимости недвижимости, автоматическое рейтингование, оценка кредитоспособности, прогнозирование курса валют.
2. Медицина: обработка медицинских изображений, диагностика.
3. Интернет: ассоциативный поиск информации.
4. Автоматизация производства: оптимизация режимов производственного процесса, диагностика качества продукции, предупреждение аварийной ситуации.
5. Политические технологии: обобщение социологических опросов.
6. Безопасность и охранные системы: системы идентификации личности, распознавание автомобильных номеров, распознавание аэрокосмических снимков.
7. Геологоразведка: анализ сейсмических данных, оценка ресурсов месторождений.
Искусственные нейросети состоят из искусственных нейронов
Искусственный нейрон представляет собой математическую модель естественного нейрона, имеющего несколько входов (вектор входных сигналов) и один выход.
Этот выход направлен либо к другому нейрону, либо к выходу из нейронной системы.
Вектор входных сигналов преобразуется нейроном в выходной сигнал с использование сумматора и специального нелинейного преобразователя.
Каждый из нейронов на рис. 8.12 осуществляет следующие операции:
,
где - выходной сигнал j-го нейрона, характеризуемый значением в некотором диапазоне;
f()- функция возбуждения нейрона, преобразующая выходной сигнал, в форму, воспринимаемую другим нейроном;
wi,j - весовой коэффициент связи между i-м и j-м нейронами;
xi.j - логическая переменная, принимающая значение 1, если связь между i-м и j-м нейронами возбуждена и 0 – в противном случае;
- пороговое значение функции возбуждения.
Один нейрон работает следующим образом:
- на его вход поступает набор входных сигналов;
- нейрон суммирует (учитывает) входные сигналы и генерирует либо не генерирует выходной сигнал, который направляется либо в другие нейроны, либо на выход сети.
Связь между нейронами характеризуется интенсивностью (силой возбуждения), называемой также синаптическим весом. Представить их можно в виде синаптической матрицы, элементы которой указывают на силу возбуждения связей между нейронами.
Применение нейросетей предполагает выполнение следующих этапов:
1. Постановка задачи: формирование цели применения нейросети (например, прогнозирование курса ценных бумаг).
2. Обучение нейросети: подготовка обучающих примеров, которые представляют собой уже известные результаты решения задачи без нейросети и предъявление их ей.
3. Эксплуатация сети: сети предъявляется некоторая ситуация, которая либо распознается, либо нет.
Обучение нейронных сетей представляют собой последовательный процесс изменения синаптических весов, отражающих силу связей между нейронами. Известно два вида обучения: с учителем и без такового.
Рассмотрим первый случай.
Предполагаются, что некоторая величина , зависит от ряда характеристик .
Необходимо обучить нейросеть распознаванию некоторого значения при определенных значениях характеристик .
Готовится набор обучающих примеров, которые состоят из набора исходных векторов и соответствующих им выходных значений .
Если, например, - будущая цена акций через три дня, а - сегодняшние котировки некоторого набора акций, то каждый обучающий пример представляет собой котировки акций на некоторую прошлую дату плюс стоимость акций ( ) через три дня после этой даты (котировка – это определение рыночного курса ценной бумаги).
Эти примеры подаются на вход сети.
Вначале на вход подается первая строка.
Нейросеть формирует начальную зависимость между y1 и .
На основе этой зависимости вычисляется текущее значение , которое сравнивается с эталонным значением .
Если разница превышает допустимый уровень, то алгоритм обучения изменяет синаптические веса (весовые коэффициенты), после чего эта строка вновь подается на вход сети для обучения до тех пор, пока результат не будет удовлетворительным.
Затем подается следующая строка … и .
Процесс повторяется до тех пор, пока суммарная ошибка в реакции сети на все строки не станет меньше заданной.
Схема обучения с "учителем" представлена на рис. 8.13.
Преимущества нейросетей.
1. Способность обучаться на примерах без программирования, что позволяет отказаться от поиска каких-либо аналитических зависимостей между входными данными и результатами.
2. Нейросети могут обучаться на неполной, противоречивой и искаженной информации.
3. Для использования нейросетей не требуются профессионалы-математики.
4. Не требуется выполнение условия отсутствия взаимосвязи между входными факторами, как это требуется в регрессионном анализе.
Нейронные сети реализуются либо аппаратным, либо программным способом. Аппаратная реализация возможна в виде нейрокомпьютеров, нейроплат и нейроБИС (больших интегральных схем).
Как правило, современный нейрокомпьютер представляет собой обычный компьютер, в состав которого входит нейроплата.
Аппаратная реализация используется там, где необходима высокая скорость обработки межнейронных соединений. При этом их стоимость достаточно высока. Если высокая скорость не требуется, то используется программный аналог нейросети.