GUIベースでお手軽にAIのアルゴリズムが構築でいるというソフト【Neural Network Console】がソニーより無償で公開されました。
私は、まだDeep Learningを勉強し始めたばかりなのですが、簡単だという触れ込みなのでまずは試してみました。
動作環境は
・Windows 8.1 / 10 64bit
正式には書かれていませんが、Windows7 64bitでも動作してくれました。
・Visual Studio 2015 C++ 再頒布可能パッケージ
GPUは無くても動作します。(あれば対応させる事も可能)
また、モニタはFull HDサイズぐらいないと厳しいかと思います。
Neural Network Consoleの入手方法は、こちらのページ↓
より、Windowsアプリではじめる をクリックします。
すると、ページが下の方へ移動するので、メールアドレスを入力し、上記に同意して送信をクリックします。
しばらくすると、画面が切り替わるので、送られてきたメールを確認します。
メールには、こんな感じ↓のメールが送られてくるので、Download the Windows Appをクリックして、ファイル(neural_network_console_100.zip、約1GB)をダウンロードします。
メールにも書かれていますが、プログラムを動作さえるにはVisual Studio 2015 C++ 再頒布可能パッケージが必要になります。
https://www.microsoft.com/en-us/download/details.aspx?id=52685
これは、すでにVisual Studio 2015でC++をインストールしてあれば、インストールされているかと思います。
私の場合、Visual Studio 2015→Visual Studio 2017の順でインストールしたところ、Visual Studio 2015 C++ 再頒布可能パッケージ(Visual Studio C++ 2015 Redistributable)はWindowsの設定→アプリと機能で確認しても見つからない状態でしたが、動作してくれました。
次にダウンロードしたzipファイルを解凍します。(解凍後は約2GBになります)
プログラムにインストールそのものは、特に操作する必要が無いのですが、解凍したフォルダを2バイト文字が含まれていない(全角の日本が無い)フォルダに配置する必要があります。
また、Program Filesのような書き込み不可のフォルダでもダメとのこと。
解凍したフォルダ内に実行ファイル(neural_network_console.exe)があるので、これをダブルクリックして実行します。
プログラム起動後に、Visual Studio C++ 2015 Redistributableが入っているか?聞かれるの、入っていいれば、そのままOK、入っていなければ、別途、Visual Studio C++ 2015 Redistributableをインストールしてください。
次にライセンス条項が表示されるので、内容を確認して I Agree を選択し、Applyボタンをクリックします。
すると、このような画面↓が表示されるのですが、あらかじめ用意されているプロジェクト(あらかじめ準備されたニューラルネットワークの構造)が表示されるので、とりあえず
01_logostic_regressin.sdcproj
をクリックしてみます。
このプロジェクトは手書き文字の 4 と 9 を見分けるためのもので、MNISTというデータセットから文字の画像を入手し、4か?9か?を学習して、実際に判別させるためのプロジェクトです。
プロジェクトを起動させると、最初にMNISTから文字の画像データ一式を取得します。
データの入手が終わると、このような画面になります。
まだ、詳細まで理解できていませんが、Input(画像の入力)があって、Affine(画像のアフィン変換かと思いきや、重みを掛けてバイアス足す処理の事のよう)を行って、活性化関数にはSigmoid関数を使い、計算結果と出力の値が最小化されるような処理を行っている
という、シンプルな構成。
次に右上のTraningの下にある▶ボタンをクリックすると、学習が始まります。
Evalutionの下にある▶ボタンをクリックすると、学習データを用いて実際に画像を認識させた結果が表示されます。
ここでは x:image の部分が認識用に使った画像、 y:9 の部分が教え込んだ情報(0だと4の文字、1だと9の文字)、 y’の部分が判定結果になります。
判定結果は0に近いほど4の文字と認識していて、1に近いほど9の文字と認識しています。
この結果で認識が怪しい部分(0.5に近い部分)を抜き出してみると、こんな感じ↓
人の目で見ると126番はあきらかに4だし、203も同様に9にしか見えませんが、このサンプルプロジェクト的には上手く判別できていないようです。
この辺のチューニングが容易に、しかも結果がすぐにわかるのがNeural Network Consoleのプログラムの良いところだと思います。
しかし、結局はDeep Learningの知識は必要になるので、ゼロから作るDeep Learningの本でも読むか?っていう感じです。
また、ソニー製なので、日本語のマニュアルがあるのも助かります。
まずは、解凍したファイル内になったPDFファイル(manual_ja.pdf)に目を通すと良いかと思います。
参考ページ
Neural Network Consoleドキュメント(日本語)
←Deep Learningへ戻る