HOME > natural science Laboratory > コンピュータ・シミュレーション講座 > ゼロから作るDeep Learning

ゼロから作るDeep Learning
学習後の各層ニューロンの重みの可視化

文責:遠藤 理平 (2017年4月27日) カテゴリ:ゼロから作るDeep Learning(15)

昨今注目を集めているAI(人工知能)を学びたいと思い立ち、ディープラーニング(Deep Learning、深層学習)と呼ばれるAIの数理モデルである多層構造のニューラルネットワークを書籍「ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装」を参考にを独習していきたいと思います。本書籍ではプログラミング言語としてPythonが利用されていますが、本項ではJavaScriptで実装していきます。

目次


学習後の各層ニューロンの重みの可視化

前項では6層ニューラルネットワーク(各層のニューロン数:1,10,10,10,10,1)で三角関数を学習させました。 およそ2万回の学習で関数の概形を表現できることを確認しました。本項では、学習後の各層ニューロンの重みがどのような値になったかを確認します。

実行結果

学習完了後に、各層のニューロン(1,10,10,10,10,1)をつなぐ重みの大きさをグラフ化します。横軸は1本のグラフはあるニューロンから次の層の各ニューロンへの重みを表します。 結論から言うと、学習後、三角関数をほとんど同様に表現できているものでも、重みを比較すると全く異なることがわかりました。つまり、一つの関数を表現するのに複数の状態が存在することを意味します。

【メモ】今回は実行時間を考慮して学習回数の区切りを1000回としています。(実行ごとに結果が異なり、学習がうまく行っていない場合が存在します。)



▲このページのトップNPO法人 natural science トップ

関連記事

ゼロから作るDeep Learning







▲このページのトップNPO法人 natural science トップ