При создании искусственной нейронной сети происходит моделирование двух особенностей настоящей нейронной сети:
· В основе сети лежит использование простых базовых компонентов – нейронов;
· Нейроны соединяются друг с другом, и структура этих соединений определяется задачами, возложенными на сеть.
Несмотря на то, что скорость работы биологических нейронов и скорость распространения электрических сигналов по нервным волокнам между нейронами на несколько порядков меньше скорости, с которой могут функционировать электронные схемы, человеческий мозг способен справляться с объемными и вычислительно сложными задачами за крайне короткий промежуток времени. Подобная производительность возможна за счет того, что структура мозга представляет собой параллельную систему. В такой системе все нейроны работают одновременно. Для того, чтобы некоторый нейрон был способен произвести вычисления и определить свое состояние в следующий момент времени, ему необходима информация о текущем состояние только тех нейронов, которые расположены рядом с ним и к которым он подсоединен с помощью дендритов.
Искусственные нейронные сети также обладают способностью к параллельной обработке сигналов. И хотя для исследования и конструирования нейронной сети обычно используются программы, работающие на обычных компьютерах с последовательной системой выполнения команд, после завершения проектирования сети ее можно реализовать физически, получив преимущества параллельной обработки [6].
Рассмотрим структуру отдельного нейрона – базового компонента нейронной сети. Она представлена на рисунке Рис. 4.

Рис. 4. Структура нейрона
Символами
обозначены входные значения нейронов. Это могут быть как выходные значения других нейронов, так и входные данные.
– весовые коэффициенты синаптических связей. Каждое входное значение умножается на соответствующий коэффициент. Затем, как следует из схемы, перемноженные значения суммируются. К полученному результату добавляется смещение
. На рисунке, для упрощения структуры нейрона,
представляется как синаптическая связь с весовым коэффициентом
, соединенная с выходом “виртуального” нейрона, вход которого ни с чем не связан, а выходное значение всегда равно 1. Полученная сумма
подается на вход функции активации
, результат работы которой и будет выходным значением нейрона.
Смещение является важным понятием нейронной сети. Биологический нейрон реагирует на раздражитель, только если величина воздействия превышает некоторый определенный порог. Для имитации подобного поведения в искусственную нейронную сеть и введено понятие смещения. Для примера, допустим, что функцией активации нейрона является функция Хэвисайда, которая определяется следующим образом:
| (1) |
Рассмотрим входной параметр ![]()
| (2) |
Причем
Тогда при заданных весовых коэффициентах и входных значениях, выход нейрона можно регулировать путем изменения величины смещения, а именно коэффициента
.
Как правило, конкретная функция активации выбирается исследователем в зависимости от особенностей исследуемой проблемы, а значения весов подбираются в ходе настройки сети под конкретную задачу. Подобная настройка зовется процессом обучения нейронной сети.
2.2 Структура слоя нейронной сети
Для решения многих задач одного нейрона недостаточно. В таких случаях может потребоваться использование группы нейронов, работающих параллельно. Подобная группа нейронов называется слоем нейронной сети. Пример сети из одного слоя приведен на рисункеРис. 5.

Рис. 5. Однослойная сеть
В данной сети содержится R нейронов с одинаковой активационной функцией. В качестве входа в сеть выступает вектор размерности S, выходом является вектор размерности R. Каждый вход сети связан с каждым нейроном с помощью синаптической связи с весом
, где i – номер входа, j – номер нейрона. Также у каждого нейрона есть смещение, представленное в виде нейрона с выходом, равным 1, и соответствующим весом связи, равным
.
В случае, если необходимо задать слой сети, в котором часть нейронов обладает одной активационной функцией, а часть – другой, можно взять две сети, подобных той, что изображена на рисунке Рис. 5, и скомбинировать их в одну. Тогда обе сети будут иметь одни и те же входы, и каждая сеть будет генерировать часть выходного вектора.
2.3 Нейросетевые парадигмы
2.3.1 Персептрон
Персептрон – это одна из первых моделей нейронной сети. Несколько возможных типов персептронов были предложены в 1957 г. Ф. Розенблаттом [4]. Описанный им персептрон предназначен для классификации линейно-разделимых сигналов. Изначально предполагалось, что персептрон будет реализован аппаратно, а не в качестве программы для компьютера, и позже был создан один из первых нейрокомпьютеров, который использовался для распознавания изображений, считывавшихся с набора фотосенсоров. Изначально персептрон состоял из трех слоев: сенсорный, ассоциативный и реагирующий (выходной), но позже был создан ряд модификаций. Схема оригинального персептрона с указанием слоев приведена на рисунке Рис. 6. Он был сформирован как приблизительная модель сетчатки [4].

Рис. 6. Схема оригинального персептрона
В ходе итеративного обучения персептрона возможно, если выполнен ряд предположений, достигнуть таких значений весов, что нейронная сеть будет выдавать точный ответ для любого использованного в ходе обучения примера. Конечно, одним из таких предположений является предположение о существовании подобных весов.
Одной из интересных реализаций персептрона является вариант с использованием бинарных значений активации для сенсорного и ассоциативного слоев и значениями активации их множества {-1, 0, 1} для реагирующего слоя. Веса, соединяющие сенсорный и ассоциативный слой, принимают значение -1, 0 или 1, фиксированы, и задаются случайным образом.
Функцией активации ассоциативного слоя является индикаторная функция с некоторым фиксированным порогом, определяемая выражением (3).
| (3) |
Где, соответственно,
– значение веса, соединяющего i-й вход с нейроном,
- это i-й компонент входного вектора,
– некоторое фиксированное пороговое значение. Таким образом, выходной вектор ассоциативного слоя состоит из единиц и нулей. Активационная функция нейрона из реагирующего слоя описывается следующей формулой:
| (4) |
В ходе тренировки персептрона происходит изменение только весов, соединяющих ассоциативный и выходной слои, остальные веса являются фиксированными. Сама процедура тренировки выглядит следующим образом:
1. Пропустить через сеть пример;
2. Рассчитать значения ошибок между компонентами выходного и ожидаемого векторов;
3. Если сеть выдала ошибочный ответ, то на основании значения ошибки произвести изменение весов;
4. Повторять пункты 1-3 до достижения необходимого результата.
Рассмотри этапы тренировки более подробно. На первом этапе исследователь получает от сети выходной вектор. При рассмотрении разницы между ним и ожидаемым выходом, имеет значение только знак ошибки. То есть, нет никакой разницы между следующими двумя случаями:
· Сеть вернула в i-м компоненте выходного вектора 1, а ожидалось -1;
· Сеть вернула в i-м компоненте выходного вектора 0, а ожидалось -1.
В обоих случаях знак ошибки одинаков, и определяет направление, в котором в ходе корректировки должны изменяться весовые коэффициенты. Затем, на втором этапе, значения весов корректируются по формуле (5):
| (5) |
где
- это скорость обучения, и она задается исследователем,
- определяется знаком ошибки,
– величина сигнала, прошедшего по соответствующей синаптической связи. Стоит заметить, что будут скорректированы только те веса, по которым прошел ненулевой сигнал, так как только такие веса внесли свою долю в величину ошибки. Если сеть выдала на тестовый пример правильный ответ, то веса не корректируются.
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 |






