1. はじめに
この記事ではコンピュータ上で DeepLearningプログラムを実装する方法を示します。
画像認識が目的となるので、実用的な規模の畳み込みニューラルネットワーク(CNN)の実装を行います。
2. マシンの用意
高性能なGPUが不可欠なので、Linuxマシンを推奨します。Linuxマシンの主な選択肢は以下の通りです。
- デスクトップPC
- 仮想環境(Virtual Box等)
- AWS(Amazon Web Service)
上記のいずれかに、 CentOSまたは Ubuntuを入れて活用しましょう。
3. GPUの設定
GPUを使用するには、CUDAとcuDNNをインストールする必要があります。
Ubuntu14.04であれば http://qiita.com/shinya_ohtani/items/f374ed0dd51737087369 を参考にします。
4. Pythonのインストール
Python本体および各種モジュールをまとめた、 Anacondaというディストリビューションを Linuxマシンにインストールします。
手順は http://morimori2008.web.fc2.com/contents/PCprograming/python/pythonAnaconda.html に書かれている通りで概ねOKです。
ただし、ここではローカルユーザにインストールすることにします。
5. DeepLearning用ライブラリ
次に、 DeepLearningモデルを構築するためのライブラリを Pythonで使えるようにします。ここでは Theanoを採用しました。
ターミナルから
$ pip install theano
と打ち、 Theanoをインストールします。
6. コードの実装
ターミナルから
$ jupyter notebook
と打つことで、 Pythonの開発環境が立ち上がります。この上でコードの実装を行います。
実装にあたり、http://deeplearning.net/tutorial が参考になります。
こちらのサイトでは CNNのソースコードも公開されており、そのまま画像認識に転用できます。
7. 今後の展望
ここまでで CNNの実装ができました。
あとは実際に用いる入力用データを集め、そのデータに向け入出力フォーマットを整えれば画像認識プログラムが完成します。