学習アルゴリズムの種類
これまでに学習則としてヘブ則を解説しました。ヘブ則は記憶容量が非常に小さいために、学習データが極めて少ない場合にのみ使用されます。データが増えた場合に学習できる学習アルゴリズムが幾つか提案されています。代表例が projection rule と勾配降下学習です。学習アルゴリズムは一括学習と逐次学習の大きく2系統に分類されます。一括学習はデータから一気に計算する方法で、ヘブ則が含まれます。逐次学習は結合荷重を少しづつ修正しながら決めていく方法で、こちらの方が学習という雰囲気はあるでしょう。projection rule は一括学習に、勾配降下学習は逐次学習に分類されます。私の主観ですが、長所、短所を表にまとめます。
長所 | 短所 | |
---|---|---|
ヘブ則 | 高速 結合構造に制限がない | 記憶容量が小さい |
projection rule | 高速 | 記憶容量が大きい 全結合に限る |
勾配降下学習 | 低速 結合構造に制限がない | 記憶容量が大きい |
記憶容量の大小を比較していますが、一体どれくらいでしょうか。ニューロン数を \(N\) とすると、ヘブ則には \(0.138N\) の理論値はあるものの実際には \(0.1N\) も期待できないでしょう。残りの2つは \(N\) 程度の記憶容量が期待できます。
projection rule だけは結合に制限がありますが、実際の影響はどうなのでしょうか。Hopfield Network は全結合ですから、適用には問題がありません。私の研究のほとんどは Hopfield 型を採用していましたので、projection rule は非常に有効でした。一部の結合を省くなどした構造に適用する場合には問題があります。典型的な例としては BAM があげられます。
勾配降下学習の学習速度が低速と記載しました。工夫して実行すればそのようなことはないという意見も聞いたことがあります。私の実装に問題があるだけなのかもしれませんので、私の実験例は高次元のモデルに限りますが実体験に基づいて説明していきます。勾配降下学習は学習パターン数が多くなると急激に学習速度が低下します。特に問題になるのは記憶容量を評価する場合です。記憶容量は \(N\) 程度になりますが、その程度まで実験をしなければなりません。学習パターン数が \(N\) に近い場合では膨大な時間が必要になり、現実に実験できる \(N\) はかなり制限されます。学習パターン数が増えると雑音耐性も低下していき、連想記憶として容認できるのは優秀なモデルでも \(0.3N\) 程度の印象です。実データを使った実験に勾配降下学習を適用したことがないので分からないのですが、問題となるのは記憶容量の実験だけかもしれません。 記憶容量の実験を行うためには \(N\) を小さくしなければなりません。これは査読者から批判されやすいのですが、実情に実感のない査読者にはなかなか理解してもらえません。
projection rule の歴史
projection rule は何時からそう呼ばれるようになったのかは分かりません。私が初めて知った時は直交学習と聞きました。最適連想写像と呼んでいる論文もありました。ある査読者から現在は projection rule と呼ばれていると意見をいただいたことから、以後そのように読んでいます。アルゴリズムの考案者は Kohonen らしいです。
私はほとんど高次元モデルしか研究していませんので、実数値 Hopfield 連想記憶のことは詳しく知りません。複素 Hopfield 連想記憶で初めて projection rule を導入したのは青木先生の次の論文だと思います。
青木宏之, 小杉幸夫: ペナルティ項を有する複素連想記憶モデルの性質. 電子情報通信学会論文誌 A, 1998, vol.81, no.11, 1538-1546.
この論文では Kohonen の Self-organization and associative memory を参照して、最適連想写像と呼んでいます。projection rule を導入したことに青木先生は新規性を感じていなかったと思われます。 8年後に次の論文が IEEE TNN に掲載されます。
LEE, D.-L.: Improvements of complex-valued Hopfield associative memory by using generalized projection rules. IEEE Transactions on Neural Networks, 2006, vol.17, no.5, 1341-1347.
この論文では projection rule の導入以外のアイデアも入ってはいるものの projection rule が評価されたのなら、青木先生の結果にも大きな価値があることになり IEEE TNN に掲載されても不思議ではなかったと思います。そう考えると国内の論文誌でのみ発表されたのはもったいないことだと感じます。
projection rule のアルゴリズム
\(N\) 次元 \(P\) 個の学習データがあると仮定し、\(p\) 番目の学習データを \( \vec{x}^p = \left( x^p_1,x^p_2,\cdots,x^p_N \right)^{\mathrm{T}} \) と表します。結合荷重を表す行列 \( W = (w_{ij}) \) は対称行列であることと対角成分が 0 であることが Hopfield Network の制約条件でした。\( \vec{x}^p \) が安定することは \( \vec{y}^p = W \vec{x}^p \) と \( \vec{x}^p \) の符号が一致することと同じです。projection rule はより強い条件 \( \vec{x}^p = \vec{y}^p \) を目指します。
学習ベクトルを並べて \( (N,P) \) 行列 \( X=( \vec{x}^1 \, \cdots \, \vec{x}^P) \) を定義します。\( X^+= (X^{\mathrm{T}}X)^{-1} X^{\mathrm{T}} \) を \(X\) の Moore–Penrose の疑似逆行列と呼びます。\( U=X X^+ \) とおくと \( UX= X (X^{\mathrm{T}}X)^{-1} X^{\mathrm{T}}X=X \) となります。\( UX=X \) の \( p \) 列目を取り出すと \( U\vec{x}^p=\vec{x}^p \) となります。\( W=U \) としたいところですが Hopfield Network の条件を満たしません。\( U \) は対称行列ですが、対角成分が 0 ではありません。そこで対角成分を取り除き、\( W = U – \,\mathrm{diag}\, U \) とするのが projection rule です。この変更により対称性は損なわれずに Hopfield Network の条件を満たします。
さて、\(U\) から対角成分を取り除く操作は軽微ですが入力和に影響します。本当に問題はないのでしょうか。この点について解決する文献を見たことがありませんでした。私は高次元モデルで projection rule を適用していますが、査読者からこの点を問われたことがあります。その時は理論的に解決できず、シミュレーションでは1度も問題は生じなかったと回答したのですが、納得してもらえませんでした。個人的な意見としては理論の裏付けが不十分でも実験で有用性が示されれば、理論は論文を読んだ研究者が解決してくれることを期待して採録にするべきだと思います。その後、数年を要しましたが理論的な証明もできました。証明については次回にします。