Сеть Хопфилда

Контенус

Сеть Хопфилда

Можно предположить, что в решетке Хопфилда в процессе обучения веса в решетке минимизируют функцию энергии и скользят по энергетической поверхности. В обученной сети каждая модель, представленная в сети, представляет собой аттрактор, в котором достигается продвижение к точке притяжения путем распространения информации по сети.

Цель обработки информации в системе — связать компоненты входной модели с целостным представлением модели, называемой памятью с адресацией содержимого (CAM). Это означает, что после обучения система будет вспоминать целые паттерны или громкую версию входного паттерна.

Сеть Хопфилда содержит структуру данных в график с взвешенными ребрами и отдельными процедурами формирования и нанесения структуры. Структура сети полностью связана (узел соединяется со всеми другими узлами, кроме самого себя), а ребра (веса) между узлами являются двунаправленными.

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

Сеть Хопфилда

где w_i, j — это вес между нейронами i и j, N — количество входных моделей, v — входная модель, а v_ik — i-й атрибут в k-й входной модели.

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

Сеть Хопфилда

где n_i — активация i-го нейрона, w_i, j с весом между узлами i и j, а n_j — выход j-го нейрона. Разрешение передается на выход с помощью передаточной функции, обычно ступенчатой, следующим образом:

Сеть Хопфилда

где порог θ обычно устанавливается равным 0.

Сеть Хопфилда может быть использована для решения проблемы повторения совпадений подсказок для входного шаблона с ассоциированным заранее изученным шаблоном.

Передаточная функция для преобразования активации нейрона в выходной сигнал обычно представляет собой ступенчатую функцию f(a) в {-1, 1} (предпочтительно) или, что более традиционно, f(a) в {0, 1}. Входные векторы обычно нормализуются к логическим значениям x в [-1; 1].

Сеть может распространяться асинхронно (где случайный узел выбирается и генерируется в качестве выходных данных) или синхронно (где выходные данные всех узлов вычисляются перед применением).

Веса могут быть изучены одноразовым или поэтапным методом в зависимости от объема известной информации о моделях, которые необходимо изучить. Все нейроны сети обычно являются как входными, так и выходными нейронами, хотя были изучены и другие топологии сети (например, именование входных и выходных нейронов). Сеть Хопфилда имеет ограничения на модели, которые она может точно хранить и извлекать из памяти, описываемые как N<0,15*n, где N — количество моделей, которые можно хранить и извлекать, а n — количество узлов в сети.

Делиться
ru_RURU
%d такие блоггеры, как: