汎化性を確保するためには、課題の複雑さと利用可能なサンプルの数にマッチ するようにネットワークの大きさを決めることが重要である。そこで、学習結 果に応じてネットワークの大きさを変化させる方法もいくつか提案されている。
小さなネットワークからはじめて、徐々にネットワークを大きくするような方 法としては、例えば、Fahlman らの Cascade Correlation[35]、 the Group Method of Data Handinig (GMDH) に基づくもの [36,37,38]などがある。
一方、大きなネットワークから不要な(冗長な)結合荷重を徐々に取り除いて、 問題のサイズにマッチしたネットワークを構成する方法は、Pruning と呼ばれ、 いくつかの方法が提案されている。そのための最も直観的な方法は、結合荷重 の絶対値が小さい結合荷重を削除する方法である。しかし、結合荷重の絶対値 が小さいからといって必ずしもネットワークの評価基準(2乗誤差)への貢献が 小さいとは限らない。Cun らは、それを改善するために Hessian 行列の対角 要素に基づいて結合荷重の貢献度を見積り、貢献度の小さい結合荷重を削除す る Optimal Brain Damage (OBD) と呼ばれる方法を提案している[39]。 さらに、Hassibi らは、以下のような Hessian 行列の全ての要素を考慮に入 れて貢献度を見積もる方法を提案している[40]。
学習が収束した後のネットワークの結合荷重を
とし、それを
だけ変化させた時、2乗誤差がどれだけ増加するか考
えてみよう。この時、学習は収束しているので Taylor 展開の1次の項は
となり、2次以上の項のみが残り、2乗誤差の増加量は、高次の項を無視する
と、
今、一つの結合荷重 を 、つまり、
(98) |
(99) |
(100) |
(101) |
この方法では、Hessian 行列の逆行列を計算する必要があるが、Hessian 行列 を4.1.5節で示したフィッシャーの情報行列で代用して、計算を簡単 化することも可能である。
こうした方法以外には、線形回帰分析の変数選択法や主成分分析を用いて中間 層の不要なユニットを取り除いて小さなネットワークを構成する方法 [22]なども提案されている。