CNN:プログラムの評価&戦略練り直し
おつかれさまです。
前回までで作成したCNNのプログラムを実際に走らせてみます。
条件は「ミニバッチ数:100」、「学習率:0.01」、「イテレーション回数:3000」でとりあえずどんなもんか回してみます。すぐには終わりそうになかったのでとりあえず計算を走らせたまま寝ました。
翌朝、確認してみるとたしかに計算は終わっています。コチラ結果↓
おお、とりあえずうまくいってそうです。これはイテレーション回数がまだ足りてないパターンで、学習回数を稼げばもっと正解率は向上しそうです。
が、問題はその計算時間でした。
18282.343217134476
これは「秒」なので、60で割って「分」、もう60で割って「時間」、
…「5.08時間」!!マジか、ほぼ一晩やんけ。3000回でこれは時間がかかりすぎる。。。学習率を大きくすれば少ないイテレーション回数で正解率は上げられるかもしれませんが、なにせCNNは初めてなので「どの程度」なのかが検討も付きません。いくつがデータを取って、傾向を判断して、値を指定すべきです、
が、こんな時間かかってたらいくつもデータを取ってられねぇ!!
ちょっとこれはマジで困りました。この後、CNNの検討はプーリングと呼ばれる層を追加して、更にはチャンネル数も増やして、と計算地獄の所業が続きます。こんなもん耐えれるわけがねぇ。
これはニューラルネットのアルゴリズムを真面目に考える前に、GPUによる高速化を検討すべきかもしれません。少し戦略を練りたいと思います。(てかマジでGPUいるのか、、ここアメリカやぞ、でどうやって調達すればいいのか…Amazon??)
ん〜困ったorz