BESOMの実装状況

BESOMの実装状況について報告します。
計算量のスケーラビリティの問題は昨年度すでに解決し、
その他もろもろの問題もかなり解決して
そこそこ動いてはいます。

今取り組んでいる主な問題は、性能のスケーラビリティです。

ユニット数を増やしても MNIST 手書き数字の認識性能が
あまり上がりません。最大でも90%程度です。
原因は過適合・局所解ではなく、 loopy BP の振動のようです。
なので、残念ながら pre-training やら sparse coding やら
slow feature analysis やらを試す以前の状態です。

振動に対する対策案はいろいろ思い付いています。

例えば Deep learning と同じ構造をもったベイジアンネットは、
脳と同じように、
feedforward の処理だけで一発でよい近似解にたどり着くはずです。
この性質を利用するのが1つのカギではないかと思っています。


あともう1つ性能面での改良案がありまして、
今はMPEを使ったビタビ学習に似た学習則を使ってますが、
確率伝搬アルゴリズムを使ったEMアルゴリズムも、
意外と実装が容易で計算量が少ないらしいことが判明。
(HMMの学習はそうなのだから、一般のベイジアンネットでも
容易なのではないかと薄々思ってはいたのですが、
不勉強ゆえなかなか文献にたどり着けませんでした。)
おそらくビタビ学習よりはEMを使った方が性能は上がると思います。

大脳皮質の認識アルゴリズムは belief propagation なのか
belief revision なのかという問題で私としては迷走していたのですが、
今は belief propagation の方にかなり傾きました。


もう1つの大きな達成目標として
「ベイジアンネットによるバインディングの実現」があります。
複数の信号源と複数の特徴との間の結合を短期記憶として保持することは、
素直に実現可能だと思っていますが、実装は現在停滞中です。
explaining away ができるベイジアンネットならではの機能であり、
記号処理に近い推論を実現するために必須となる機能であるため、
これを実現することは重要なマイルストーンなのですが。


というわけで、 BESOM で研究者にアピールするデモができるまでには
まだ時間がかかりそうです。
こういう研究にご興味のある方、
まずはオープンラボ会場などで議論しませんか。

コメント

コメントの投稿

トラックバック


この記事にトラックバックする(FC2ブログユーザー)