neironne_seti_i_neirokompjuter (1085713), страница 12
Текст из файла (страница 12)
Принцип работы сети КохоненаНа рис. 2.6 приведен пример топологической карты сети Кохонена,содержащей входной слой и слой Кохонена. Нейроны входного слоя служатдля ввода значений признаков распознаваемых образов. Активные нейроныслоя Кохонена предназначены для формирования областей (кластеров)различных классов образов.На этом рисунке показаны связи всех входных нейронов лишь с однимнейроном слоя Кохонена.
Каждый нейрон слоя Кохонена также соединен ссоседними нейронами.Поясним основной принцип работы сети Кохонена.Введем следующие обозначения (рис. 2.6):____TWj = (wj1, wj2, …, wjn) , j = 1, m(2.21)– вектор весовых коэффициентов j-го нейрона слоя Кохонена,58PDF created with pdfFactory trial version www.pdffactory.comРис. 2.6. Топологическая карта сети КохоненаX = (x1, x2, … , xn)T(2.22)– входной вектор или вектор значений признаков некоторого образца.На стадии обучения (точнее самообучения) сети входной вектор Xcпопарно сравнивается со всеми векторами Wj всех нейронов слоя Кохонена.Вводится некоторая функция близости (например, в виде эвклидоварасстояния).
Активный нейрон с номером слоя Кохонена, для которогозначение функции близости d (X, Wc) между входным вектором X,характеризующим некоторый образ, и вектором Wc максимально,объявляется «победителем». При этом образ, характеризующийся векторомX, относится к классу, который представляется «нейроном-победителем». Врезультатеосуществляетсяпреобразованиеn-мерноговходногоnпространства R на m-мерную сетку (слой Кохонена).Следует подчеркнуть, что это отображение реализуется в результатерекуррентной (итеративной) процедуры самообучения (UnsupervisedLearning). Отличительная особенность этого отображения – формированиекластеров (Cluster) или классов. По завершении процесса самообучения настадии реального использования сети Кохонена неизвестные входныеобразы относятся к одному из выявленных кластеров (классов).Возникает естественный вопрос: как возникает указанное отображениетопологической карты? Для ответа на него рассмотрим алгоритм59PDF created with pdfFactory trial version www.pdffactory.comсамообучения сети Кохонена, полагая, что ее входной слой содержит nвходных нейронов, а ее слой Кохонена – m активных нейронов.Для определения расстояния между входным вектором X (2.22) ивесовым вектором Wj (2.21) j-го нейрона слоя Кохонена можно использоватьразличные функции близости (обычно эвклидово расстояние).При этом "выигрывает" тот нейрон c с весовым вектором Wc, которыйнаиболее близок к входному вектору X:||X – Wc|| = min ||X – Wj||(2.23)jили при использовании функции index, определяющей номер минимальногорасстояния:c = index min ||X – Wj||.(2.24)jПри использовании скалярного произведенияnX Wj = å xi wij = netj = zjT(2.25)i=1"выигрывает" нейрон с максимальным значением этого произведения.На стадии самообучения сети Кохонена осуществляется коррекциявесового вектора не только «нейрона-победителя», но и весовых векторовостальных активных нейронов слоя Кохонена, однако в существенноменьшей степени – в зависимости от удаления от «нейрона-победителя».При этом форма и величина окрестности вокруг «нейрона-победителя»,весовые коэффициенты нейронов которой также корректируются, в процессеобучения изменяются.
Сначала начинают с очень большой области – она, вчастности, может включать все нейроны слоя Кохонена.Изменение весовых векторов осуществляется по правилу:____wj(t+1) = wj(t) + h(t) dcj(t) [x(t) – wj(t)],j=1,m(2.26)где wj(t) – значение весового вектора на t-м шаге самообучения сети,dcj(t) – функция близости между нейронами слоя Кохонена (neighborhoodKernel) и h(t) – изменяемый во времени коэффициент коррекции.В качестве h(t) обычно выбирается монотонно уменьшающаясяфункция0 < h(t) < 1,т. е. алгоритм самообучения начинается сравнительно большимишагами адаптации и заканчивается относительно небольшими изменениями.60PDF created with pdfFactory trial version www.pdffactory.comОбратим внимание, что в соответствии с (2.26) изменение того илииного весового вектора Wj пропорционально расстоянию между входнымвектором X и этим весовым вектором Wj.В качестве примера рассмотрим сеть Кохонена с одномерным слоемКохонена (рис.
2.7). На рис. 2.6 отображено движение весовых векторовнейронов слоя Кохонена. К входному вектору X ближе всех расположенвесовой вектор W5 для нейрона c=5. Этот весовой вектор изменяетсянаиболее сильно: он в большей степени приближается к входному векторуX. На втором месте по степени близости находятся весовые векторы W4 иW6. Изменение их – второе по силе (степени). Весовые векторы W3 и W7также изменяются, однако в существенно меньшей степени.Нейроны 1, 2, 8 и 9 расположены вне окрестности вокруг «нейронапобедителя» c=5, поэтому их весовые векторы оставляются без измененияпосле показа сети образца, характеризующегося вектором X.Рис.
2.7. Сеть Кохонена с одномерным слоем КохоненаПриведем примеры функций близости (двумерного слоя Кохонена).Расстояние между нейронами i и j в двумерном пространстве:61PDF created with pdfFactory trial version www.pdffactory.com_________________z = Ö (ki1–kj1)2 + (ki2–kj2)2 ,(2.27)где ki1 и ki2 – координаты по оси x и оси y нейрона i; kj1 и kj2 – аналогичнодля нейрона j. При этом можно использовать следующие функции близости:-z2dGauss(z) = e;(2.28)2dmexican-hat (z) = (1–z ) e-z2;(2.29)ì cos (zp/2), для z < 1dcos (z) = íî0.(2.30)Как отмечено выше, изменение весовых векторов Wj осуществляется внаправлении входного вектора X многократно. В процессе самообученияварьируется как коэффициент коррекции h, так и радиус d, задающийокрестность вокруг «нейрона-победителя».2.4.3. Сходимость алгоритма самообученияПри рассмотрении проблемы сходимости ограничимся одномернымслучаем, когда имеется лишь один вход.
Пусть [a, b] – область значений длявхода (замкнутый интервал). Покажем, что алгоритм самообученияпереводит вес x в середину интервала (рис. 2.8).ax2xkx3x1bРис. 2.8. Область значений для входаПусть x1 – начальное значение веса одного активного нейрона слояКохонена. Это значение x1 выбирается случайно: интервал [a, b] разбиваетсяна 2 подинтервала [a, x1] и [x1, b]. Каждое изменение x определяется егорасстоянием до a и до b:dx/dt = h (b–x)/2 + h(a–x)/2 = h((a+b)/2–x) .62PDF created with pdfFactory trial version www.pdffactory.com(2.31)Изменение веса x в точке x1Dx1 = h ((a+b)/2 – x1) .(2.32)Обозначим yi = xi – (a+b)/2, тогда соотношение (2.32) можнопредставить так:Dx1 = – h y1 .(2.33)Определим математическое ожидание для значения веса x2 наследующем шаге алгоритма самообучения:x2 = x1 + Dx1 = (a+b)/2 + y1 – hy1 = (a+b)/2 + y1(1–h) .(2.34)Аналогично можно определить и x3:x3 = (a+b)/2 + y1(1–h)2(2.35)или в общем случае:xk = (a+b)/2 + y1(1–h)k-1.(2.36)При h Î [0, 1] значение xk сходится к (a+b)/2.Расширим рассмотренный одномерный случай и предположим, чтоодномерный слой Кохонена (линейка) содержит не один нейрон (как ранее),а m активных нейронов с весами x1, x2, … , xm.
Предположим, что эти весаупорядочены0 < x1 < x2 < … < xm < bи равномерно распределены в интервале [a, b]. В этом случае в процессесамообучения весовые коэффициенты сходятся к значениям (рис. 2.9):x1x2x3xm–1xmab(b–q)/m(b–q)/m(b–q)/m(b–q)/mРис. 2.9. Распределение весовых коэффициентов63PDF created with pdfFactory trial version www.pdffactory.comxi = a + (2i–1) (b–q)/2m,i = 1, 2, …, m .(2.37)Обратим внимание, что точки (2.37) для весов xi, i = 1, 2, …, mопределяют наиболее устойчивые позиции, ибоdxi/dt = 0 .(2.38)В двумерном случае слой Кохонена содержит m x m активныхнейронов, а областью определения для входов является декартовопроизведение [a, b] x [c, d], т.
е. входной слой содержит 2 нейрона. В этомслучае весовой вектор каждого нейрона слоя Кохонена имеет двесоставляющие – по числу входов. Каждый нейрон слоя Кохонена такжехарактеризуется двумя координатами – по оси абсцисс и по оси ординат.Подобно одномерному случаю можно показать, что координатывесовых векторов нейронов слоя Кохонена на оси абсцисс в процессесамообучения равномерно распределяются в интервале [a, b]:a < w11 < w12 < …< w1m < b .(2.39)Аналогично для координат этих векторов по оси ординат:c < w21 < w22 < … < w2m < d .(2.40)В результате самообучения сети Кохонена весовые векторы нейроновслоя Кохонена равномерно распределяются во входном пространстве.2.5. Сети Хопфилда2.5.1.
ОпределениеАмериканским исследователем Хопфилдом в 80-х годах предложенспециальный тип нейронных сетей.В отличие от сетей с прямыми связями (Feedforward Networks или FF Nets), сети Хопфилда являются рекуррентными или сетями с обратнымисвязями (Feedback Networks).Сети Хопфилда обладают следующими свойствами [12]:1.
Симметрия дуг: сети содержат n нейронов, соединенных друг с другом.Каждая дуга (соединение) характеризуется весом wij, причем:"i, j Î N : i ¹ j : $1 wij,где N – множество нейронов N = {1, 2, …, n}.2. Симметрия весов: вес соединения нейрона ni с нейроном nj равен весуобратного соединения:64PDF created with pdfFactory trial version www.pdffactory.comwij = wji ;wii = 0 .(2.41)3. Бинарные входы: сеть Хопфилда обрабатывает бинарные входы {0,1}или {-1,1}.
В литературе встречаются модели сетей как со значениями 0 и1, так и –1, 1. Для структуры сети это безразлично. Однако формулы дляраспознавания образов (изображений) при использовании значений –1 и 1для входов и выходов нейронов сети Хопфилда получаются нагляднее,поэтому эти значения и предполагаются ниже.Определение. Бинарная сеть Хопфилда определяется симметричнойматрицей с нулевыми диагональными элементами, вектором Т пороговнейронов и знаковой функцией активации или выхода нейронов.Каждый вектор O с компонентами –1 или 1, удовлетворяющийуравнениюO = f(WO – T) ,(2.42)называется образом для сети Хопфилда.in1in2in3in4w41w42w43w34w31w32w23w24w21w12w13w141out12out23out34out4Рис. 2.10. Сеть Хопфилда, состоящая из 4 нейронов65PDF created with pdfFactory trial version www.pdffactory.comПринцип функционирования сетей Хопфилда отличается от ранеерассмотренных.
На так называемой Recall-стадии на входы сети подаетсянекоторый образ.Он остается на входах до тех пор, пока не завершатся изменениясостояний сети. В этом случае говорят о сходимости сети [12].Наглядно этоможно представить следующим образом. В начале сеть находится навысоком энергетическом уровне, из которого возможны переходы вразличные состояния. Затем энергетический уровень нейронной сетиуменьшается до тех пор, пока не достигается некоторое конечное состояние.Ниже мы рассмотрим, как обучаются сети Хопфилда и как считывается(извлекается) запомненная в них информация.Класс сетей Хопфилда содержит только один слой нейронов, причемкаждый нейрон соединен с остальными.
Обратные связи с выхода нейронана его же вход отсутствуют. На рис. 2.10 приведен конкретный пример сетиХопфилда из четырех нейронов.2.5.2. Алгоритм ХопфилдаОбозначим через Xs образ s-го класса, а через xsi – i-ю составляющуювектора Xs. При этом алгоритм Хопфилда может быть описан следующимобразом [12].1. Расчет весовì k -1ïå x x ,i ¹ jwij = ís = 0 si sj,ï,i = jî0(2.43)где k – число классов образов.2. Инициализация сети путем вводаoi(0) = xi ,1£ i £ n ,(2.44)где oi(0) – выход i-го нейрона в начальный (нулевой) момент времени.3. Итерационное правило:Repeatæ n -1öoi (t + 1) = f h çç å wij o j (t ) ÷÷è i =0øUntil " 1 £ i £ n : oi (t + 1) = oi (t ) ,(2.45)66PDF created with pdfFactory trial version www.pdffactory.comгде oi(t) – выход i-го нейрона в момент времени t.Соотношения (2.44), (2.45) представим в векторной форме:O(t+1) = f(WO(t)) ,t=1,2,… ;(2.46)O(0) = X(0) ,(2.47)где X – входной вектор, W – симметричная матрица, f – вектор-функцияактивации или выхода нейронов.Взвешенная сумма входов j-го нейрона сети Хопфилда:z j = net j = å wij oi .(2.48)iФункция активации или выхода имеет видìï1 , для z j > 0o j = f ( zi ) = íïî- 1 , для z j £ 0.(2.49)Итак, пусть имеется некоторый образ, который следует запомнить всети Хопфилда, тогда веса искомой сети могут быть рассчитаны, т.е.