Круг П.Г. Моделирование искусственных нейронных сетей, страница 9
Описание файла
Файл "Круг П.Г. Моделирование искусственных нейронных сетей" внутри архива находится в папке "Круг П.Г. Моделирование искусственных нейронных сетей". Документ из архива "Круг П.Г. Моделирование искусственных нейронных сетей", который расположен в категории "". Всё это находится в предмете "нейронные вычислительные сети" из 11 семестр (3 семестр магистратуры), которые можно найти в файловом архиве РТУ МИРЭА. Не смотря на прямую связь этого архива с РТУ МИРЭА, его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "нейронные вычислительные сети" в общих файлах.
Онлайн просмотр документа "Круг П.Г. Моделирование искусственных нейронных сетей"
Текст 9 страницы из документа "Круг П.Г. Моделирование искусственных нейронных сетей"
Выделим основные такие принципы.
-
Обучающие выборки должны обладать свойством репрезентативности. При обучении выборки должны «представлять» все многообразие возможных входных воздействий, которые могут возникнуть на этапе эксплуатации системы, и задача проектировщика – «научить» ИНС адекватно на всех на них реагировать.
-
При сборе информации об анализируемом процессе необходимо обеспечивать свойство полноты множества обучающих выборок с тем, чтобы собрать максимальное количество возможных выборок и тем самым «сообщить» ИНС во время обучения множество различные нюансов анализируемых образов или процессов. Это существенно повысит точность срабатывания ИНС на этапе эксплуатации.
-
Если множество входов ИНС типа «Многослойный персептрон» состоит из двух или более подмножеств различной природы, то необходимо масштабировать данные таким образом, чтобы поступающие числовые значения были соразмерны, т.е. одного порядка. Масштабирование облегчает для ИНС задачу первоначально-равного учета входных данных различной природы.
-
Обучающие выборки должны быть свободны от фонового случайного шума и неверных (ошибочных) данных. Для этого выполняется фильтрация данных и ручное устранение неверных «выбросов», тем или иным способом прокравшихся в базу данных.
-
Также, обучающие выборки должны обладать свойством непротиворечивости. Одинаковым или почти одинаковым входным векторам ИНС во время обучения не должны соответствовать разные комбинации на выходе. В таких случаях, внутренняя логика нарушается и ИНС в принципе не может быть обучена.
Необходимо помнить, что от этапа обучения зависит эффективность работы системы в целом, и способность ИНС работать таким образом, как мы хотим, чтобы она работала. Поэтому, соблюдение вышеперечисленных принципов при проектировании ИНС является задачей первостепенной важности.
5. САМООБУЧАЮЩИЕСЯ КАРТЫ КОХОНЕНА
5.1. Определения
ИНС Кохонена или самоорганизующиеся карты Кохонена (Kohonen’s Self-Organizing Maps) предназначены для решения задач автоматической классификации, когда обучающая последовательность образов отсутствует. Соответственно отсутствует и фиксация ошибки, на минимизации которой основаны алгоритмы обучения, например, алгоритм обратного распространения ошибки (Backpropagation).
Сеть Кохонена – это двухслойная ИНС, содержащая входной слой (слой входных нейронов) и слой Кохонена (слой активных нейронов). Слой Кохонена может быть: одномерным, двумерным или трехмерным. В первом случае активные нейроны расположены в цепочку. Во втором случае они образуют двухмерную сетку (обычно в форме квадрата или прямоугольника), а в третьем случае они образуют трехмерную конструкцию.
В силу отсутствия обучающей последовательности образов, для каждого из которых известна от учителя принадлежность к тому или иному классу, определение весов нейронов слоя Кохонена основано на использовании алгоритмов классической классификации (кластеризации или самообучения).
5.2. Принцип работы ИНС Кохонена
На рис.5.1 приведен пример топологической карты сети Кохонена, содержащей входной слой и слой Кохонена. Нейроны входного слоя служат для ввода значений признаков распознаваемых образов. Активные нейроны слоя Кохонена предназначены для формирования областей (кластеров) различных классов образов. На этом рисунке показаны связи всех входных нейронов лишь с одним нейроном слоя Кохонена. Каждый нейрон слоя Кохонена также соединен с соседними нейронами.
Поясним основной принцип работы ИНС Кохонена.
Введем следующие обозначения (рис.5.1):
____
Wj = (wj1, wj2, …, wjn)T , j = 1, m (5.1)
– вектор весовых коэффициентов j-го нейрона слоя Кохонена,
X = (x1, x2, … , xn)T (5.2)
– входной вектор или вектор значений признаков некоторого образца.
Рис.5.1. Топологическая карта сети Кохонена
На стадии обучения (точнее самообучения) сети входной вектор Xc попарно сравнивается со всеми векторами Wj всех нейронов слоя Кохонена. Вводится некоторая функция близости (например, в виде эвклидова расстояния). Активный нейрон с номером слоя Кохонена, для которого значение функции близости d (X, Wc) между входным вектором X, характеризующим некоторый образ, и вектором Wc максимально, объявляется «победителем». При этом образ, характеризующийся вектором X, относится к классу, который представляется «нейроном-победителем». В результате осуществляется преобразование n-мерного входного пространства Rn на m-мерную сетку (слой Кохонена).
Следует подчеркнуть, что это отображение реализуется в результате рекуррентной (итеративной) процедуры самообучения (Unsupervised Learning). Отличительная особенность этого отображения – формирование кластеров (Cluster) или классов. По завершении процесса самообучения на стадии реального использования ИНС Кохонена неизвестные входные образы относятся к одному из выявленных кластеров (классов).
Возникает естественный вопрос: как возникает указанное отображение топологической карты? Для ответа на него рассмотрим алгоритм самообучения сети Кохонена, полагая, что ее входной слой содержит n входных нейронов, а ее слой Кохонена – m активных нейронов.
Для определения расстояния между входным вектором X (5.2) и весовым вектором Wj (5.1) j-го нейрона слоя Кохонена можно использовать различные функции близости (обычно эвклидово расстояние).
При этом «выигрывает» тот нейрон c с весовым вектором Wc, который наиболее близок к входному вектору X:
||X – Wc|| = min ||X – Wj|| (5.3)
j
или при использовании функции index, определяющей номер минимального расстояния:
c = index min ||X – Wj||. (5.4)
j
При использовании скалярного произведения
n
XTWj = xi wij = netj = zj (5.5)
i=1
«выигрывает» нейрон с максимальным значением этого произведения.
На стадии самообучения ИНС Кохонена осуществляется коррекция весового вектора не только «нейрона-победителя», но и весовых векторов остальных активных нейронов слоя Кохонена, однако в существенно меньшей степени – в зависимости от удаления от «нейрона-победителя». При этом форма и величина окрестности вокруг «нейрона-победителя», весовые коэффициенты нейронов которой также корректируются, в процессе обучения изменяются. Сначала начинают с очень большой области – она, в частности, может включать все нейроны слоя Кохонена.
Изменение весовых векторов осуществляется по правилу:
____
wj(t+1) = wj(t) + (t) dcj(t) [x(t) – wj(t)], j=1,m (5.6)
где wj(t) – значение весового вектора на t-м шаге самообучения сети, dcj(t) – функция близости между нейронами слоя Кохонена (neighborhood Kernel) и (t) – изменяемый во времени коэффициент коррекции.
В качестве (t) обычно выбирается монотонно уменьшающаяся функция:
0 < (t) < 1, т. е. алгоритм самообучения начинается сравнительно большими шагами адаптации и заканчивается относительно небольшими изменениями.
Обратим внимание, что в соответствии с (5.6) изменение того или иного весового вектора Wj пропорционально расстоянию между входным вектором X и этим весовым вектором Wj.
В качестве примера рассмотрим сеть Кохонена с одномерным слоем Кохонена. На рис.5.2 отображено движение весовых векторов нейронов слоя Кохонена. К входному вектору X ближе всех расположен весовой вектор W5 для нейрона c=5. Этот весовой вектор изменяется наиболее сильно: он в большей степени приближается к входному вектору X. На втором месте по степени близости находятся весовые векторы W4 и W6. Изменение их – второе по силе (степени). Весовые векторы W3 и W7 также изменяются, однако в существенно меньшей степени.
Нейроны 1, 2, 8 и 9 расположены вне окрестности вокруг «нейрона-победителя» c=5, поэтому их весовые векторы оставляются без изменения после показа сети образца, характеризующегося вектором X.
Рассмотрим наиболее часто применяемые функции близости (двумерного слоя Кохонена).
Расстояние между нейронами i и j в двумерном пространстве:
_________________
z = (ki1–kj1)2 + (ki2–kj2)2 , (5.7)
где ki1 и ki2 – координаты по оси x и оси y нейрона i;
kj1 и kj2 – аналогично для нейрона j.
Рис.5.2. Сеть Кохонена с одномерным слоем Кохонена
При этом можно использовать следующие функции близости:
-z2
dGauss(z) = e ; (5.8)
-z2
dmexican-hat (z) = (1–z2) e ; (5.9)
cos (z/2), для z < 1
dcos (z) = (5.10)
0 .
Как отмечено выше, изменение весовых векторов Wj осуществляется в направлении входного вектора X многократно. В процессе самообучения варьируется как коэффициент коррекции , так и радиус d, задающий окрестность вокруг «нейрона-победителя».
5.3. Сходимость алгоритма самообучения
При рассмотрении проблемы сходимости ограничимся одномерным случаем, когда имеется лишь один вход. Пусть [a, b] – область значений для входа (замкнутый интервал). Покажем, что алгоритм самообучения переводит вес x в середину интервала (рис.5.3).
a x2 xk x3 x1 b
Рис.5.3. Область значений для входа
Пусть x1 – начальное значение веса одного активного нейрона слоя Кохонена. Это значение x1 выбирается случайно: интервал [a, b] разбивается на 2 подинтервала [a, x1] и [x1, b]. Каждое изменение x определяется его расстоянием до a и до b:
dx/dt = (b–x)/2 + (a–x)/2 = ((a+b)/2–x) . (5.11)
Изменение веса x в точке x1
x1 = ((a+b)/2 – x1) . (5.12)
Обозначим yi = xi – (a+b)/2, тогда соотношение (5.12) можно представить так:
x1 = – y1 . (5.13)
Определим математическое ожидание для значения веса x2 на следующем шаге алгоритма самообучения:
x2 = x1 + x1 = (a+b)/2 + y1 – y1 = (a+b)/2 + y1(1–) . (5.14)
Аналогично можно определить и x3:
x3 = (a+b)/2 + y1(1–)2 (5.15)
или в общем случае:
xk = (a+b)/2 + y1(1–)k-1. (5.16)
При [0, 1] значение xk сходится к (a+b)/2.
Расширим рассмотренный одномерный случай и предположим, что одномерный слой Кохонена (линейка) содержит не один нейрон (как ранее), а m активных нейронов с весами x1, x2, … , xm. Предположим, что эти веса упорядочены
0 < x1 < x2 < … < xm < b
и равномерно распределены на интервале [a, b]. В этом случае в процессе самообучения весовые коэффициенты сходятся к значениям (рис.5.4):
xi = a + (2i–1) (b–q)/2m, i = 1, 2, …, m . (5.17)