スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

BESOMの開発状況

大脳皮質の汎化能力と計算効率の再現をめざして開発中の
BESOMと呼んでいる機械学習アルゴリズムの
開発状況を報告しておきます。

8月にノード数に対して線形時間で動作する認識アルゴリズムを実装しました。
これを使って隠れノード5ノードの簡単なネットワークで
MNIST 手書き数字認識をやってみましたが、
認識率50%と、とても悪い状況です。
認識アルゴリズムに山登り法を使うと85%ほどいくので、
「入力ごとにMPEを計算してそれに基づいて条件付確率表を更新する」という
基本方針自体は間違ってはいないようです。
(隠れマルコフモデルでも、 Baum-Welch アルゴリズムとは別の、
MPEを使った学習が使われることがあって、
Viterbi 学習 と呼ぶようです。)

認識率が悪い原因の1つははっきりしていて、
近似 belief revision が前提としている「親ノードも子ノードも
十分にたくさんある」という条件が、今使っている小規模なネットワークでは
成り立っていないからだと思います。

対策としては、近似の前提が成り立つような大規模ネットワークで試すことが
まず考えられますが、大規模化すると過適合など別の様々な問題が
発生するリスクがあります。

今検討しているのは別の方法で、「親ノードも子ノードも十分にたくさんある」
という仮定をおかずに、線形時間で動作する認識アルゴリズムを検討中です。
これが安定動作すれば、小規模ネットワークでも使えるので
いろいろな実験がしやすくなるのではないかと思っています。

という状況です。
近いうちにある程度区切りがついたら、
ソースコード一式を公開しようと考えています。

コメント

コメントの投稿

トラックバック


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

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。