Связанная сеть памяти

Эти виды нейронных сетей работают на основе ассоциации шаблонов, что означает, что они могут хранить различные шаблоны, и во время выдачи выходных данных они могут создавать один из сохраненных шаблонов, сопоставляя их с заданным входным шаблоном. Эти типы воспоминаний также называютContent-Addressable Memory(САМ). Ассоциативная память выполняет параллельный поиск с сохраненными шаблонами в виде файлов данных.

Ниже приведены два типа ассоциативных воспоминаний, которые мы можем наблюдать:

  • Автоассоциативная память
  • Гетеро ассоциативная память

Автоассоциативная память

Это однослойная нейронная сеть, в которой входной обучающий вектор и выходной целевой вектор совпадают. Веса определены таким образом, чтобы сеть сохраняла набор шаблонов.

Архитектура

Как показано на следующем рисунке, архитектура сети автоассоциативной памяти имеет ‘n’ количество входных обучающих векторов и т.п. ‘n’ количество выходных целевых векторов.

Алгоритм обучения

Для обучения эта сеть использует правило обучения Хебба или Дельта.

Step 1 - Обнулить все веса как wij = 0 (i = 1 to n, j = 1 to n)

Step 2 - Выполните шаги 3-4 для каждого входного вектора.

Step 3 - Активируйте каждый входной блок следующим образом -

$$ x_ {i} \: = \: s_ {i} \ :( i \: = \: 1 \: to \: n) $$

Step 4 - Активируйте каждый выходной блок следующим образом -

$$ y_ {j} \: = \: s_ {j} \ :( j \: = \: 1 \: to \: n) $$

Step 5 - Отрегулируйте веса следующим образом -

$$ w_ {ij} (новый) \: = \: w_ {ij} (старый) \: + \: x_ {i} y_ {j} $$

Алгоритм тестирования

Step 1 - Установите веса, полученные во время тренировки, по правилу Хебба.

Step 2 - Выполните шаги 3-5 для каждого входного вектора.

Step 3 - Установите активацию входных единиц, равную активации входного вектора.

Step 4 - Рассчитайте чистый ввод для каждой единицы вывода j = 1 to n

$$ y_ {ING} \: = \: \ Displaystyle \ Sum \ limits_ {i = 1} ^ n x_ {i} w_ {ij} $$

Step 5 - Примените следующую функцию активации для расчета выхода

$$ y_ {j} \: = \: f (y_ {inj}) \: = \: \ begin {cases} +1 & if \: y_ {inj} \:> \: 0 \\ - 1 & if \: y_ {inj} \: \ leqslant \: 0 \ end {case} $$

Гетеро ассоциативная память

Подобно сети с автоматической ассоциативной памятью, это также однослойная нейронная сеть. Однако в этой сети входной обучающий вектор и выходные целевые векторы не совпадают. Веса определены таким образом, чтобы сеть сохраняла набор шаблонов. Гетероассоциативная сеть статична по своей природе, следовательно, не будет нелинейных операций и операций с задержкой.

Архитектура

Как показано на следующем рисунке, архитектура сети гетеро ассоциативной памяти имеет ‘n’ количество входных обучающих векторов и ‘m’ количество выходных целевых векторов.

Алгоритм обучения

Для обучения эта сеть использует правило обучения Хебба или Дельта.

Step 1 - Обнулить все веса как wij = 0 (i = 1 to n, j = 1 to m)

Step 2 - Выполните шаги 3-4 для каждого входного вектора.

Step 3 - Активируйте каждый входной блок следующим образом -

$$ x_ {i} \: = \: s_ {i} \ :( i \: = \: 1 \: to \: n) $$

Step 4 - Активируйте каждый выходной блок следующим образом -

$$ y_ {j} \: = \: s_ {j} \ :( j \: = \: 1 \: to \: m) $$

Step 5 - Отрегулируйте веса следующим образом -

$$ w_ {ij} (новый) \: = \: w_ {ij} (старый) \: + \: x_ {i} y_ {j} $$

Алгоритм тестирования

Step 1 - Установите веса, полученные во время тренировки, по правилу Хебба.

Step 2 - Выполните шаги 3-5 для каждого входного вектора.

Step 3 - Установите активацию входных единиц, равную активации входного вектора.

Step 4 - Рассчитайте чистый ввод для каждой единицы вывода j = 1 to m;

$$ y_ {ING} \: = \: \ Displaystyle \ Sum \ limits_ {i = 1} ^ n x_ {i} w_ {ij} $$

Step 5 - Примените следующую функцию активации для расчета выхода

$$ y_ {j} \: = \: f (y_ {inj}) \: = \: \ begin {cases} +1 & if \: y_ {inj} \:> \: 0 \\ 0 & if \ : y_ {inj} \: = \: 0 \\ - 1 & if \: y_ {inj} \: <\: 0 \ end {cases} $$