Россия, Москва |
Рекуррентные сети как ассоциативные запоминающие устройства
Обучение сети Хопфилда по правилу Хебба
Для одного обучающего вектора значения весов могут быть
вычислены по
правилу Хебба
![\begin{align*}
w_{ij}=(1/N)x_ix_j,
\end{align*}](/sites/default/files/tex_cache/ed1fbf66565759c013251074b833c97b.png)
поскольку тогда
![\begin{align*}
(1/N)(\sum_{j=1}^N x_ix_jx_j)=x_i
\end{align*}](/sites/default/files/tex_cache/934ecd0ee666eba7644d6a11051df684.png)
(вследствие биполярных значений элементов вектора всегда
).
При вводе большего количества обучающих векторов веса
подбираются согласно обобщенному правилу Хебба
![\begin{align*}
w_{ij}=(1/N)\sum_{k=0}^p x_i^{(k)}x_j^{(k)}.
\end{align*}](/sites/default/files/tex_cache/4378c44e80dfcb5041ad0374254f358a.png)
Важным параметром ассоциативной памяти является ее емкость. Под емкостью
понимается максимальное число запомненных образов, которые
классифицируются с допустимой погрешностью .
Показано, что при
использовании для обучения правила Хебба и при
(1% компонентов
образа отличается от нормального состояния) максимальная емкость памяти
составит всего лишь около 13,8% от количества нейронов,
образующих
ассоциативную память. Столь малая емкость обусловлена тем, что сеть Хебба
хорошо запоминает только взаимно ортогональные векторы или близкие к ним.
Обучение сети Хопфилда методом проекций
Лучшие результаты, чем при использовании правила Хебба, можно получить, если для обучения использовать псевдоинверсию. В основе этого подхода лежит предположение, что при правильно подобранных весах каждый поданный на вход сети вектор вызывает генерацию самого себя на выходе сети. В матричной форме это можно представить в виде
![\begin{align*}
WX = X,
\end{align*}](/sites/default/files/tex_cache/2b6d9e97bc93ae8474b8ffbebfd63c94.png)
где - матрица весов сети размерностью
, а
- прямоугольная
матрица размерностью
, составленная из
обучающих векторов
. Решение такой линейной системы уравнений имеет вид
![\begin{align*}
W=XX^+,
\end{align*}](/sites/default/files/tex_cache/182e0759f4b157160f016bac43cbb9e5.png)
где знак + обозначает псевдоинверсию.
Если обучающие векторы линейно независимы, последнее выражение можно упростить и представить в виде
![]() |
( 2) |
Здесь псевдоинверсия заменена обычной
инверсией квадратной матрицы размерностью
.
Выражение (2) можно записать в итерационной форме, не
требующей расчета
обратной матрицы. В этом случае (2) принимает вид итерационной
зависимости
от последовательности обучающих векторов ,
:
![y^{(i)}=(W^{(i-1)}- E)x^{(i)},\\](/sites/default/files/tex_cache/1c31393b533c28bbaa673d58334c732a.png)
![W^{(i)}=W^{(i-1)} -(y^{(i)} y^{(i)T)}/( y^{(i)T} y^{(i)})](/sites/default/files/tex_cache/426eec48be3bab7be4418db5baf4b161.png)
при начальных условиях . В результате предъявления
векторов матрица
весов сети принимает значение
. Описанный здесь метод
называется
методом проекций. Применение его увеличивает максимальную емкость сети
Хопфилда до
. Увеличение емкости обусловлено тем, что в
методе проекций
требование ортогональности векторов заменено гораздо менее жестким
требованием их линейной независимости.
Модифицированный вариант метода проекций - метод -проекций — градиентная
форма алгоритма минимизации. В соответствии с этим методом веса
подбираются с помощью процедуры, многократно повторяемой на всем множестве
обучающих векторов:
![\begin{align*}
W\leftarrow W+(h/N)(x^{(i)} - Wx^{(i)})x^{(i)T}, h \in (0.7, 0.9).
\end{align*}](/sites/default/files/tex_cache/7106d6591e1580f0cdcdfcdfe1683a53.png)
Обучающие векторы предъявляются многократно вплоть до стабилизации значений весов.