next up previous
Next: Pruning Up: 階層型のネットワーク 補足 Previous: 汎化能力と過学習

中間層の素子数

難しい問題です。入力情報が N ビットの情報を持っているのなら 2N 個の 中間層を用意すれば十分であることはすぐに分かります。 では中間層の必要な数は? は難しい議論が必要になります。

結果だけ示すと、g(f) をランダムに選ばれた p 訓練刺激セットを用いて得られた ネットワーク f が真のネットワーク $\bar{f}$ を実現できる確率とします。 gp(f) を p 個の訓練刺激セットで構築されたネットワークで正しく分類された 訓練刺激セットの割合とします(学習が完璧なら gp(f)=1)


 \begin{displaymath}\mbox{Prob}(\mbox{max}\vert g_p(f) - g(f)\vert>\epsilon) \le 4\,m(2p)\,e^{-\epsilon^2\frac{p}{8}}
\end{displaymath} (1)

これはどのような学習済のネットワーク f に対しても最悪の場合の誤差が $\epsilon$ を越える確率を表します。 ここで m(p) は、最悪の場合 m(p)=2p という指数関数ですが、Vapnik & Chervonenkis は m(p) は p が小さいときは 2p に従うが、ある点 dVC が存在し、この点を 過ぎると m(p) は指数関数的に増加しないことを証明しました。 もし dVC が有限であれば m(p) は

 \begin{displaymath}m(p)\le p^{d_{VC}} + 1
\end{displaymath} (2)

に従い、一般化誤差 (1)式 の上限を定めるときに使われます。 この点のことは VC 次元(バプニク-チェルボネンキス次元)と呼ばれることがあります。

M 個の閾値素子と、閾値素子を含めて全部で W 個の結合を持つ階層型のネット ワークの場合の VC 次元の上限は

 \begin{displaymath}d_{VC} \le 2 W \log_2(e M)
\end{displaymath} (3)

で与えられます。ここで e は自然対数の底です。

N 個の入力素子と H 個の素子からできている完全結合した中間層に対する VC 次元の下限は

 \begin{displaymath}d_{VC} \ge 2 HN \simeq W
\end{displaymath} (4)

となります。(3)式または(4)式のいずれかを使って (2)式に代入し、結果を(1)式に代入すれば、原理的には 中間層の素子数を求めることができますが、現実的な数にはなりません。



Shinichi ASAKAWA
1999-11-10