GoogleのTensorflow(テンソルフロー)というライブラリーを利用して、言われるままに、「畳み込みニューラルネットワーク」をやってみた。
意味はまったく分からないし、それ以前に、そのとおりにプログラムを記述することさえ、むつかしい。ちょっとの打ち間違えでエラーが出てしまう。なので、とりあえずコピー&ペーストしながら、手順をすすめて行った。
ここでは、先生役となるモデルデータと、入力したデータが一致する確率をあげるため、2万回演算を行なっている。
2万回近くなると、正解に近い確率となっていく(下図の右側の数値のほとんどが1になっていく。1はモデルデータと入力データが100%一致していることを示す)。
それは、それで良いんだけれど、演算に1時間かかって、1の数字が得られるという、意外な地味な結果に、あっけに、とられたかんじなんだなぁ。
ディープラーニングに限らず、プログラミングって、そういう感じはあるわな。労力をつかったわりに、「なーんだ」みたいな。
ま、それでも、よく言われる、ディプラーニングとGPUの親和性の感じがつかめたのは、よかったねぇ。
とうのは、こんかいは、GPUではなく、MacBookAirのCPU(こっちた、GではなくCネ。CPU)を利用したわけで。
CPUをつかったばあい、前述のように演算に1時間もかかかってしまうことが分かった。
それも、下の図のとおり、演算しているあいだ、CPUは、10パーセントくらいの余裕しかないんだわ。
一方、電力の消費は、こんなかんじ。ディプラーニングすると「エネルギー影響」がドンとあがる。ちなみに、愛用のMacBookAirの底が熱くなってきて、心配になったくらい。