AutoEncoderをJavaScriptで実装。

2015/4/13

前回ようやく文字認識までたどりついた。今回はAutoEncoderをやってみる。

プログラム。

今回もMNISTの手書き文字データを利用して、入力と出力に14×14の画像を与え、隠れ層を50ユニットぐらいに絞って特徴抽出(次元圧縮)ができるか試してみる。



学習結果。

「隠れ層の重み」枠は、まあこんなものか。学習文字数が N=500 だと(ネットで見かけるAutoEncoderの可視化画像のような)それらしい模様が出なかったが、N=6000に増やすと出てきた。
「出力層の値」枠にだんだん数字が浮かび上がってくる様子から、学習しているらしいことはわかる。

隠れ層の重み
出力層の値



時間はかかったが28×28で実行してみた結果がこちら。隠れ層のなかには数字が浮かび上がっているようなものもある。

28×28実行時のスクリーンショット

参考になったリンク。



©