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

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

Нервная система и мозг человека состоят из нейронов, соединенных между собой нервными волокнами. Нервные волокна способны передавать электрические импульсы между нейронами. Все процессы передачи раздражений от нашей кожи, ушей и глаз к мозгу, процессы мышления и управления действиями - все это реализовано в живом организме как передача электрических импульсов между нейронами.
Рассмотрим строение биологического нейрона. Каждый нейрон имеет отростки нервных волокон двух типов - дендриты, по которым принимаются импульсы, и единственный аксон, по которому нейрон может передавать импульс. Аксон контактирует с дендритами других нейронов через специальные образования - синапсы, которые влияют на силу импульса (Рис.3).

Рис. 3 Нейрон

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

Нетрудно построить математическую модель описанного процесса.

На рис. 4 изображена модель нейрона с тремя входами (дендритами), причем синапсы этих дендритов имеют веса w1, w2, w3. Пусть к синапсам поступают импульсы силы x1, x2, x3 соответственно, тогда после прохождения синапсов и дендритов к нейрону поступают импульсы w1x1, w2x2, w3x3. Нейрон преобразует полученный суммарный импульс:

x=w1x1+ w2x2+ w3x3

в соответствии с некоторой передаточной функцией f(x).

 
 


Рис 4. Математическая модель нейрона

Сила выходного импульса равна:

y=f(x)=f(w1x1+ w2x2+ w3x3).


Таким образом, нейрон полностью описывается своими весами wk и передаточной функцией f(x). В зависимости от вида функции f (x) и способа определения весов w i известны такие модели нейронов как модель персептрона (модель МакКаллока- Питса), нейрон сигмоидального типа, нейрон адаптивного типа, нейрон Гроссберга, нейрон Хебба и т.д.

Получив набор чисел (вектор) xk в качестве входов, нейрон выдает некоторое число y на выходе.

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

В общем случае архитектуру нейронной сети можно разделить на однослойную и многослойную модель (Рис.5).

       
   
 


а) б)

Рис.5 Однослойная (а) и многослойна (б) нейронная сеть

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

В самом общем случае это происходит следующим образом. Из базы данных образцов выбирается побразец Xi. На выходе сети анализируется выходной вектор Yi, который должен однозначно соответствовать образцу Xi. Если соответствие не наблюдается, анализируется ошибка между выходным сигналом Yi входным сигналом Xi. В случае большой ошибки происходит корректировка соответствующих весов wi до тех пор пока ошибка не станет равной допустимой величине, процесс обучения останавливается и сеть считается обученной. Затем из базы данных выбирается другой образец Xi+1 и процесс обучения повторяется (Рис.6). Следует отметить, что для корректировки весов wi в настоящее время разработано большое количество алгоритмов.


Рис.4 Процесс обучения нейронной сети

Рис.6 Процесс обучения нейрона

Пример:

Пусть имеется некоторая база данных, содержащая примеры (набор рукописных изображений букв – 33 буквы, каждая из которой изображается 900 пикселами). В этом случае нейронная сеть будет иметь 900 входов X и 33 выхода Y. Каждой букве должен соответствовать на определенном выходе Yi уровень равный «1».

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

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

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

Таким образом использование нейронной сети состоит из трех основных этапов:

1. Выбор типа (архитектуры) сети.

2. Подбор весов (обучение) сети.

3. Использование обученной сети для прикладных задач.

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

Пример:

На вход сети при обучении подавать информацию о фирме:

X1 = Работающий капитал

X2 = Сохраняемая прибыль

X3 = Прибыль до капиталовложений и налога

X4 = Рыночная стоимость акции

X5 = Величина продаж

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

После этого можно брать любую фирму, предъявлять ее показатели сети и сеть будет оценивать фирму как «банкрот» или «не банкрот». Может быть фирма еще не обанкротилась, но давать кредиты такой фирме опасно. Вероятность правильного ответа может достигать 80%-97%.

Пример:

Задачу прогнозирования курса акций на 1 день вперед.

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

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

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

После обучения на вход нейронной сети подаются курсы последних 4- х дней и сеть определяет курс на следующий день. При увеличении количества входов достоверность прогноза будет возрастать.

Отметим, что для использования нейронных сетей в настоящее время существуют специальные программные продукты NeuroOffice, NeuroPro, NeuroInterator и д.р.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: