世間では印刷に長時間かかる 3D 印刷がはやっている. 何時間あるいは何日もかかるものを印刷しているひとがすくなからずいる. 同様に (?!) 深層学習の世界では学習に何日もかかる複雑なニューラル・ネットワークをあつかっているひとが多い. しかし,それらはほんとうに必要なのだろうか?
深層学習では学習させた結果をテストして改善をはかることをくりかえす. そのループがはやくまわれば研究がすすむ. 私はいまのところ,(研究がまだあまりすすんでいないせいかもしれないが) 学習にかかる時間を 10 分くらいに制限して,そのループをはやくまわるようにしている. CNN (Convolutional Neural Network) でたたみこみ層を 1 段にすれば,比較的ちいさな画像なら 10 万個くらいあっても TITAN X という GPU をつかえば 10 分程度で学習させられる. MNIST のようにもっと画像数がすくなければたたみこみ層が 2 段でも 10 分以下ですむ. 段数をふやせば格段に性能がよくなるのならそうするだろうが,いまのところ程度の差でしかないので,そうやってループをはやくまわすようにしている.
3D 印刷でもそうだ. 私がふだん印刷しているものは 10 分程度で印刷できる. 印刷されたものをみて,プログラムを改良して,また印刷する. 深層学習でやっているのとほとんどおなじだ. いずれも 10 分勝負だ.