Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
337.doc
Скачиваний:
26
Добавлен:
30.04.2022
Размер:
2.47 Mб
Скачать

3.3. Построение структуры сети

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

Рис. 3.10. Многослойный полносвязный персептрон

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

Рис. 3.11. а) Нейронная сеть с ядерной организацией,

б) структурная модель ядерной сети

Любая конкретная реализация нейронной сети связана с некоторым “пространственным размещением” нейронных ядер. Систему “пространственных координат” можно задать, определив линейные порядки на множестве рецепторов и множестве аксонов нейронной сети. Например, в слое m можно присвоить каждому рецептору порядковый номер

,

а каждому аксону (нейрону) порядковый номер

,

где N– полное число рецепторов в слое, а M– полное число нейронов в слое. Для каждого нейронного ядра с числом рецепторов и числом нейронов определим локальные порядки на соответствующих подмножествах рецепторов и нейронов. С этой целью введем порядковые номера .

Будем называть топологией нейронного ядра пару числовых отображений:

,

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

,

где V - размер рецепторного поля ядра j в слое m, - число нейронов в ядре i слоя m.

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

Представленная топология резко увеличивает количество нейронов в сети, и как следствие увеличивается ее вычислительная мощность. Но применение такого метода требует и изменения структуры входного вектора [24].

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

,

где m – размерность соответствующего i-ого компонента, она же и определит порядок соответствующего рецепторного поля в нейронной сети.

Рис. 3.12. Структурная модель полученной сети с ядерной организацией

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

9 – 13 – 7 – 3 – 1,

что означает количество нейронных ядер в соответствующем слое.

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

Смежные нейронные слои связаны между собой перестановочными операторами перехода, действие которых определено подстановками :

.

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

В межслойном переходе с номером m преобразование вектора определяется правилом:

.

Для независимого редактирование топологий аксоновых и рецепторных полей смежных слоев удобно межслойную подстановку представить в виде произведение двух подстановок:

, (3.1)

где определяет топологию аксонов предшествующего слоя, а - топологию рецепторов последующего слоя.

При выполнении операции нормализации одна из подстановок приводится к тождественной, а другая выбирается так чтобы выполнялось равенство 3.1. Тождественные подстановки не требуется сохранять на диске и в оперативной памяти, следовательно процедура нормализации позволяет экономить память [79].

При нормализации по типу “А” сохраняется топология аксонов предшествующего слоя, но изменяется топология рецепторов последующего.

При нормализации по типу “В” сохраняется топология рецепторов последующего слоя, но изменяется топология аксонов предшествующего слоя. Нормализация “В” эквивалентна представлению:

,

где e - тождественная подстановка, а символом “*” обозначены нормализованные значения подстановок.

Если топология компактная то при любом редактировании топологии выполняется условие:

.

Нормализация любого типа над компактной топологией приводит к результату

.

Для нашей нейронной сети были построены топологические матрицы, которые были приведены к компактной топологии и нормализованы по типу «А». Данные матрицы представлены в Приложении 1, в связи с большой размерностью.

3. 4. Обучение искусственной нейронной сети

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

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

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

Алгоритм обучения персептрона может быть реализован на цифровом компьютере или другом электронном устройстве, и сеть становится в определенном смысле самоподстраивающейся. По этой причине процедуру подстройки весов обычно называют «обучением» и говорят, что сеть «обучается» [82].

Персептрон обучают, подавая множество векторов X по одному на его вход и подстраивая веса до тех пор, пока для всех образов не будет достигнут требуемый выход. Каждая компонента Х – (x1, x2, …, xn) – умножается на соответствующую компоненту вектора весов W – (w1, w2, ..., wn). Эти произведения суммируются. Если сумма превышает порог Θ, то выход нейрона Y равен единице, в противном случае он – ноль. Эта операция компактно записывается в векторной форме как Y = XW, а после нее следует пороговая операция [54].

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

Этот метод обучения может быть подытожен следующим образом:

1. Подать входной образ и вычислить Y.

2. а) Если выход правильный, то перейти на шаг 1;

б) Если выход неправильный и равен нулю, то добавить все входы к соответствующим им весам; или

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

3. Перейти на шаг 1.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]