前回は VPHN の問題点を指摘し、四元数を導入して解決することを述べました。四元数には幾つかの表現方法がありますが、ここではスカラー部とベクトル部を使った表現を使用します。四元数は \( q=\hat{q}+\vec{q} \) のように表され \( \hat{q}, \vec{q} \) をそれぞれ \(q\) のスカラー部、ベクトル部と呼びます。四元数の積は次のように表されます。
\( \begin{eqnarray} ( \hat{q}_1 + \vec{q}_1 ) ( \hat{q}_2 + \vec{q}_2 )
&=& \hat{q}_1\hat{q}_2 \,-\, \vec{q}_1 \cdot \vec{q}_2
+ \hat{q}_1 \vec{q}_2 + \hat{q}_2 \vec{q}_1 + \vec{q}_1 \times \vec{q}_2
\end{eqnarray}\)
最後の項に外積が現れています。一見複雑に見えますが、本論文で提案している Quaternionic VPHN (QVPHN) 入力和における計算では、もっと簡単になります。ニューロンの状態は3次元ベクトルですので VPHN のまま、結合荷重を \( w_{ab}=\hat{w}_{ab}+\vec{w}_{ab} \) と四元数に拡張します。ニューロン \(b\) からニューロン \(a\) の入力を計算します。
\( \begin{eqnarray} w_{ab} \vec{z}_b
&=& – \vec{w}_{ab} \cdot \vec{z}_b + \hat{w}_{ab} \vec{z}_b + \vec{w}_{ab} \times \vec{z}_b
\end{eqnarray}\)
四元数の積で定義された一部の項が消えて少し単純になりましたが、ニューロンの更新にスカラー部を使用しませんので、実は最初の項も不要になります。(ニューロンの更新則は論文を読んでください。改善の余地は十分にあります。) ここで前回の課題を検証してみましょう。結合則の問題は四元数の計算なので成り立ちます。\( w_{ab}\vec{z}_b=\vec{z}_a \) となる \( w_{ab} \) は \( \vec{z}_b \neq \vec{0} \) の仮定の下に \( w_{ab} = \vec{z}_a \vec{z}_b^{-1} \) と出来ます。ここで、\( \vec{z}_b \) は四元数と見なしています。こうして本論文の課題は解決されました。
この研究が何の役に立つのかという疑問はあるだろうと思います。連想記憶として役立つ日は遠いかもしれません。しかし、ここで導入された手法は信号処理の他の分野で用いられても不思議ではないと思います。四元数を3次元空間に作用させて回転を表現する手法はよく見られますが、このような作用は珍しいと思います。私は Hopfield Network に詳しいのでこのような応用になりましたが、他の適用対象を扱っている研究者が気付いて利用してくれると嬉しいです。