Классическая сеть Хопфилда [312], функционирующая в дискретном времени, строится следующим образом. Пусть { e i } — набор эталонных образов ( i =1, …, m ). Каждый образ, включая и эталоны, имеет вид n- мерного вектора с координатами, равными нулю или единице. При предъявлении на вход сети образа xсеть вычисляет образ, наиболее похожий на x.В качестве меры близости образов выберем скалярное произведение соответствующих векторов. Вычисления проводятся по следующей формуле:
Эта процедура выполняется до тех пор, пока после очередной итерации не окажется, что x= x'. Вектор x, полученный в ходе последней итерации, считается ответом. Для нейросетевой реализации формула работы сети переписывается в следующем виде:
или
x'=sign( Ax),
где .
На рис. 17 приведена схема сети Хопфилда [312] для распознавания четырехмерных образов. Обычно сети Хопфилда [312] относят к сетям с формируемой синаптической картой. Однако, используя разработанный в первой части главы набор элементов, можно построить обучаемую сеть. Для построения такой сети используем «прозрачные» пороговые элементы. Ниже приведен алгоритм обучения сети Хопфилда [312].
1. Положим все синаптические веса равными нулю.
2. Предъявим сети первый эталон e¹ и проведем один такт функционирования вперед, то есть цикл будет работать не до равновесия, а один раз (см. рис. 17б).
3. Подадим на выход каждого нейрона соответствующую координату вектора e¹ (см. рис. 17в). Поправка, вычисленная на j- ом синапсе i- го нейрона, равна произведению сигнала прямого функционирования на сигнал обратного функционирования. Поскольку при обратном функционировании пороговый элемент прозрачен, а сумматор переходит в точку ветвления, то поправка равна e i ¹ e j ¹.
4. Далее проведем шаг обучения с параметрами обучения, равными единице. В результате получим α ij = e i ¹ e j ¹.
Повторяя этот алгоритм, начиная со второго шага, для всех эталонов получим , что полностью совпадает с формулой формирования синаптической карты сети Хопфилда [312], приведенной в начале раздела.
Сети Кохонена [131, 132] (частный случай метода динамических ядер [224, 262]) являются типичным представителем сетей решающих задачу классификации без учителя. Рассмотрим пространственный вариант сети Кохонена. Дан набор из m точек { x p } в n- мерном пространстве. Необходимо разбить множество точек { x p } на k классов близких в смысле квадрата евклидова расстояния. Для этого необходимо найти k точек α l таких, что , минимально; .
Существует множество различных алгоритмов решения этой задачи. Рассмотрим наиболее эффективный из них.
1. Зададимся некоторым набором начальных точек α l .
2. Разобьем множество точек { x p } на k классов по правилу .
3. По полученному разбиению вычислим новые точки α l из условия минимальности .
Обозначив через | P i | число точек в i- ом классе, решение задачи, поставленной на третьем шаге алгоритма, можно записать в виде .
Второй и третий шаги алгоритма будем повторять до тех пор, пока набор точек α l не перестанет изменяться. После окончания обучения получаем нейронную сеть, способную для произвольной точки x вычислить квадраты евклидовых расстояний от этой точки до всех точек α l и, тем самым, отнести ее к одному из k классов. Ответом является номер нейрона, выдавшего минимальный сигнал.
Теперь рассмотрим сетевую реализацию. Во первых, вычисление квадрата евклидова расстояния достаточно сложно реализовать в виде сети (рис. 18а). Однако заметим, что нет необходимости вычислять квадрат расстояния полностью. Действительно, .
Отметим, что в последней формуле первое слагаемое не зависит от точки x , второе вычисляется адаптивным сумматором, а третье одинаково для всех сравниваемых величин. Таким образом, легко получить нейронную сеть, которая вычислит для каждого класса только первые два слагаемых (рис. 18б).
Второе соображение, позволяющее упростить обучение сети, состоит в отказе от разделения второго и третьего шагов алгоритма.
Алгоритм классификации.
1. На вход нейронной сети, состоящей из одного слоя нейронов, приведенных на рис. 18б, подается вектор x .
2. Номер нейрона, выдавшего минимальный ответ, является номером класса, к которому принадлежит вектор x .
Читать дальше