カスケードコリレーション

浅川伸一 asakawa@twcu.ac.jp

パーセプトロンに代表される階層型ネットワークでは ネットワークのサイズやトポロジーを固定させて学習するのが普通です。 これに対して簡単なネットワークから始めて徐々に複雑なネットワークにするとい う手法が提案されています。今回のカスケードコリレーションと呼ばれる手法は徐々 に複雑なネットワークをつくりあげると言う意味で興味深いモデルです。

そしてこの徐々に複雑な構造を学習して行くと言うアイデアは発達心理学における 発達段階仮説と結びついています。(http://www.psych.mcgill.ca/perpg/fac/shultz/default.htm) 実際ピアジェの認知発達理論の根拠となった課題をカスケードコリレーション による学習と同一視するという研究があります。

カスケードコリレーションとはフィードフォワード型のネットワークで2層の単純 なネットワークから始めて徐々に複雑になるような中間層ユニットを加えて行く手 法です。中間層ユニットを加えるという側面と認知発達における段階仮説とを同一 視しようというアイデアです。出力層に表われる信号を認知的な概念とみなし、 中間層にたくわえられた結合係数の重みが概念の表象にあたると考えます。


図 1:カスケードコリレーション

解くべき問題は入力層ユニットに入力ベクトルとして与えられます。最初、入力層 ユニットの活性値は出力層ユニットと直接結合しています。解くべき問題が複雑で 単純な2層のネットワークでは解けない、すなわちある程度以上誤差が小さくなら なくなると一つの中間層ユニットがネットワークに加えられます。このときあたら しく加わった中間層ユニットは全ての入力層ユニットと結合し、さらに自分以外の 中間層ユニットからの入力を受けます。出力層ユニットは最初入力層ユニットと結 合しているだけですが、あたらしく中間層ユニットが追加されるたびに追加された 中間層ユニットからの出力も受け取ります。

最初の学習は出力層と直接結合しているユニットだけで行なわれます。すなわち、 入力層ユニットと出力層ユニットだけの2層のネットワークから始まりますから普 通のパーセプトロンの学習則で学習を行ないます。


図 2:カスケードコリレーションの初期状態

図2で点線で示された部分が最初に学習される結合係数です。このとき訓練誤差が 一定以上小さくならなくなるとあたらしいユニットが一つ追加されます。


図 3:カスケードコリレーションの学習

あたらしく追加された中間層のユニットでは入力層からの結合係数は固定されて学 習しません。図 3 では実践で書かれた部分の学習は行なわれません。点線で書か れた部分の結合係数が訓練されます。この意味において誤差が中間層から入力層へ と逆伝播しないという点がバックプロパゲーションの学習と大きく異なる点です。


図 4: 中間層ユニットの追加

2つめの中間層ユニットが加えらるときには1つめの中間層ユニットからの結合 が固定されも同様にして出力層と直接結合している部分だけが学習されます。

実際には逐次一つの中間層だけが加わるのではなく、複数の中間層ユニット侯補を 作り、それまでに作られたネットワークの出力と誤差との相関が最大になるように 結合係数を定めることが行なわれます。


図 5:インプットフェーズにおける学習

こうして中間層ユニット侯補のうち誤差との相関が最大になるように調整された結 合係数になる中間層ユニットをネットワークにインストールし、新たに出力層と全 てのユニットとの間の結合係数を学習するという手順で学習がくり返されます。


図 6: 新たな学習フェーズにおける学習

以上をまとめるとカスケードコリレーションの基本となる考え方は極めて単純です。 まず2層のネットワークから始めて、2乗誤差が最小になるように訓練します。得 られた訓練誤差が十分に小さかったら訓練を終了します。大抵の場合誤差はある程 度以上小さくはならないので、結合係数を固定した上で入力層ユニットと出力層ユ ニットのすべてに結合する中間層ユニットを付け加えます。そして、2乗誤差判定 基準を用いて新しい結合係数を訓練します。得られた誤差が十分に小さくなかった 場合はさらに中間層ユニットを追加し、入力層ユニットと出力層ユニットに結合さ せます。さらに、既存のネットワークによる誤差との相関を最大にするように新し く追加した中間層ユニットと入力層ユニットおよびそれまでに追加された中間層ユ ニットとの結合を作ります。これは新しく付されたユニットがすでに追加されてい る中間層ユニットが表現している関数を学習するのをふせぎます。このようにして 一つ一つ中間層ユニットを追加し訓練を重ねます。このようにしてネットワークは 与えられた問題に適応した大きさに成長します。バックプロパゲーションに比べて 学習回数がすくなくて済むというメリットがあります。