2.3.1 Состав сети с самоорганизацией на основе конкуренции
Нейроны реализуют функцию порогового суммирования взвешенных входов. Нейрон с максимальным значением взвешенной суммы (на заданных входной вектор), является «победителем». На его выходе формируется уровень логической «1», а на выходах остальных нейронов – «0».
Перед обучением (самообучения) сети Кохонена, протекающим без учителя, необходимо выполнить предварительную нормализацию входных и весовых векторов.
После нормализации входных векторов при активации сети вектором x в конкурентной борьбе побеждает тот нейрон, веса которого в наименьшей степени отличаются от соответствующих компонентов этого вектора. Для w-того нейрона-победителя выполняется отношение
где d(x,w) обозначает расстояние (в смысле выбранной метрики) между векторами x и w, а n – количество нейронов. Вокруг нейрона-победителя образуется топологическая окрестность Sw(k) с определённой энергетикой, уменьшающейся с течением времени. Нейрон-победитель и все нейроны, лежащие в пределах его окрестности, подвергаются адаптации, в ходе которой их векторы весов изменяются в направлении вектора x по правилу Кохонена:
для i принадл Sw(k), где обозначен коэффициент обучения i-го нейрона из окрестности Sw(k) в k-тый момент времени. Значение уменьшается с увеличением расстояния между i-тым нейроном и победителем. Веса нейронов, находящихся за пределами Sw(k) не изменяются. Размер окрестности и коэффициенты обучения нейронов являются функциями, значения которых уменьшаются с течением времени.
После предъявления двух различных векторов x, например, x1 и x2, активизируются два нейрона сети, веса которых наиболее близки к координатам соответствующих векторов x1 и x2. Эти веса, обозначенные в векторной форме w1 и w2, могут отображаться в пространстве как две точки. Сближение векторов x1 и x2 вызывает соответствующее изменение в расположении векторов w1 и w2. В пределе равенство w1-w2 выполняется тогда и только тогда, когда x1 и x2 совпадают или практически неотличимы друг от друга. Сеть, в которой эти условия выполняются, называется топографической картой, или картой Кохонена.
2.3.2 Меры расстояния между векторами.
Процесс самоорганизации предполагает определение победителя каждого этапа. В этой ситуации важной проблемой становится выбор метрики, в которой будет измеряться расстояние между векторами x и w.
Чаще всего в качестве меры расстояния используются:
эвклидова мера
скалярное произведение
мера относительно нормы L1
мера относительно нормы L∞
Для успешного обучения и функционирования нейронной сети Кохонена желательно, чтобы диапазоны изменения наблюдаемых величин не отличались друг от друга или отличались незначительно. Это требуется для того чтобы предотвратить чрезмерный вклад компонента исходных данных с широким диапазоном в модификацию весов.
Наиболее распространенным способы нормализации является масштабирование исходных данных в некоторый диапазон:
, ,Формула (4.1) осуществляет масштабирование в диапазон [0;1]. Формула (4.2) – в диапазон [-1;1].
Расчетные значения параметра, полученные в результате функционирования нейросети, масштабируются в диапазон [min(p); max(p)] при помощи обратных формул.
2.3.4 Механизм утомления
При инициализации весов сети случайным образом часть нейронов может оказаться в области пространства, в которой отсутствуют данные или их количество ничтожно мало. Эти нейроны имеют мало шансов на победу и адаптацию своих весов, поэтому они остаются мёртвыми. Таким образом, входные данные будут интерпретироваться меньшим количеством нейронов (мёртвые нейроны не принимают участие в анализе), а погрешность интерпретации данных, иначе называемая погрешностью квантования, увеличится. Поэтому важной проблемой становиться активация всех нейронв сети.
Такую активацию можно осуществить, если в алгоритме обучения предусмотреть учёт количества побед каждого нейрона, а процесс обучения организовать так, чтобы дать шанс победить и менее активным нейронам. Такой способ учёта активности нейронов будет называться в дальнейшем механизмом утомления.
Существуют различные механизмы учёта активности нейронов в процессе обучения. Часто используется метод подсчёта потенциала pi каждого нейрона, значение которого модифицируется всякий раз после представления очередной реализации входного вектора x в соответствии со следующей формулой (в ней предполагается, что победителем стал w-й нейрон):
Значение коэффициента pmin определяет минимальный потенциал, разрешающий участие в конкурентной борьбе. Если фактическое значение потенциала pi падает ниже pmin, i-й нейрон “отдыхает”, а победитель ищется среди нейоронов, для которых выполняется отношение
для 1<=i<=N и pi>=pmin. Максимальное значение потенциала ограничивается на уровне, равном 1. Выбор конкретного pmin позволяет установить порог готовности нейрона к конкурентной борьбе. При pmin=0 утомляемость нейронов не возникает, и каждый из них сразу после победы будет готов к продолжению соперничества. При Pmin=1 возникает другая крайность, вследствие которой нейроны побеждают по очереди, так как в каждый момент времени только один из них оказывается готовым к соперничеству. На практике хорошие результаты достигаются, когда pmin=0.75.
Основным отличием данной технологии от наиболее распространенного обучения методом обратного распространения, является то, что обучение проходит без учителя, то есть результат обучения зависит только от структуры входных данных.
Алгоритм функционирования самообучающихся карт Алгоритм SOM подразумевает использование упорядоченной структуры нейронов. Обычно используются одно и двумерные сетки. При этом каждый нейрон представляет собой n-мерный вектор-столбец своих весовых коэффициентов:
,где n определяется размерностью исходного пространства (размерностью входных векторов). Применение одно и двумерных сеток связано с тем, что возникают проблемы при отображении пространственных структур большей размерности.
Обычно нейроны располагаются в узлах двумерной сетки с прямоугольными или шестиугольными ячейками. При этом, нейроны также взаимодействуют друг с другом. Величина этого взаимодействия определяется расстоянием между нейронами на карте. На рисунке даны примеры расстояний для шестиугольной и четырехугольной сеток.
При этом легко заметить, что для шестиугольной сетки расстояние между нейронами больше совпадает с евклидовым расстоянием, чем для четырехугольной сетки. Количество нейронов в сетке определяет степень детализации результата работы алгоритма, и, в конечном счете, от этого зависит точность обобщающей способности карты.
Рис.4 – Расстояние между нейронами на шестиугольной (а) и четырехугольной (б) сетках
Перед началом обучения карты необходимо проинициализировать весовые коэффициенты нейронов. Удачно выбранный способ инициализации может существенно ускорить обучение, и привести к получению более качественных результатов. Существуют два основных способа инициирования начальных весов:
· Инициализация случайными значениями - всем весам даются малые случайные величины.
· Инициализация примерами – всем весам в качестве начальных значений задаются значения случайно выбранных примеров из обучающей выборки.
Обучение состоит из последовательности коррекций векторов, представляющих собой нейроны. На каждом шаге обучения из исходного набора данным случайно выбирается один из векторов (обозначим его х), а затем производится поиск наиболее схожего с ним вектора коэффициентов нейронов. При этом выбирается нейрон-победитель, который наиболее схожий с вектором входов. Под «схожестью» в данной задаче понимается некоторая метрика, заданная в пространстве входных векторов. В качестве метрики обычно используется расстояние в евклидовом пространстве. Узел нейрона-победителя для входного вектора после обучения нейросети называется «наиболее подходящим узлом» (Best Matching Unit – BMU).
Таким образом, если обозначить нейрон-победитель номером c, то:
,После того, как найден нейрон-победитель, производится корректировка весов нейросети. При этом вектор, описывающий нейрон-победитель и вектора, описывающие его соседей в сетке, перемещаются в направлении входного вектора. Это проиллюстрировано на рисунке для двумерного вектора.
Рис.5 – Подстройка весов нейрона победителя и его соседей
При этом для модификации весовых коэффициентов используется формула:
,