Denoising Autoencoder の実験をしてみる (3) - まんぼう日記 のつづき.前回の実験3と同じ条件ですが,学習アルゴリズムに小細工をして,隠れ層ニューロンが寄与順に並んだ内部表現を獲得するようにしてみました.1番からH = 1000番まで,番号の小さなニューロンほど重要な特徴を抽出するように.
得られた入力―隠れ層間の重みがこちら.各行は上から順に,1番から16番までの隠れ層ニューロンの重み,101番から116番,…,901番から916番までの重みを可視化したもの.
お次は,隠れ層ー出力層間の重み.表示の仕方は上と同じ.
全体的には前回の実験結果と同じような重みになってますが,番号が大きくなるにつれて細かい特徴に対応するようになってってるような.
次は,ノイズありテストデータを入力したときの出力の様子.隠れ層ニューロンが寄与順に並んでいるため,H個全部使わず,上位のものだけ使った出力も計算してみます.
上位100個 | |
上位500個 | |
H=1000個全部 |
使うニューロン数が増えると出力が改善されてってます…たぶん.
上記との比較のため,ノイズなしのテストデータと,前回実験した普通の denoising autoencoder の出力も並べときます.
ノイズなしのデータ | |
普通のdAE |
今回の手法でも,出力計算に使うニューロン数を増やせば普通の denoising autoencoder とほとんど変わらない結果に見えます.誤差(T) (cf. Denoising Autoencoder の実験をしてみる (3) - まんぼう日記 )の値を比較すると,普通のが 16 に対して今回のは 17.7 と,ちょっと悪いですが.
とまあだらだら書きましたが,ちゃんと説明してへんから本人以外には (?_?) ですよねぇ.たかたか的には,1年半くらい前に「これをこうやったらこういうことでけるよなぁ」って思いついたことをようやく実験して,その通りなん確認できたよー,って感じです.ちょっぴり,嬉しい (^^) 発表できるような話になるかどうかもわからん小ネタですが.
すいません,ちゃんと説明するんはまた今度….