Neural Network ConsoleはSonyが作っているツールで、GUI操作で簡単にDeep Learningができます。
クラウド版は基本有料ですが、自分のPCで使うローカル版は無料で使用することができます。
セットアップも簡単で、Cドライブのシステムフォルダにインストールする必要もなく、ImageJのように任意の場所にダウンロードしてそこから起動できます。
内部はPython(Miniconda,TensorFlow,keras)で作られているようですが、
GPUを使用するときも、CUDAやcuDNNといったツールをインストールする必要がありません。(PythonでDeep Learningをするときに障壁になりがち)
またSony製のため日本語もマニュアルが充実していて便利です。
インストール
https://dl.sony.com/ja/app/ からアプリをダウンロードします。現在はWindows OSのみ対応のようです。
ダウンロードしたフォルダの中にはマニュアル(日本語・英語)が入っています。
他に必要なソフトはVisual Studio 2015 Visual C++が必要です。もし、2015より新しいVisual Studio Visual C++が既に入っているとインストールできないので、その場合は新しいVisual Studio Visual C++をアンインストールします(「アプリと機能」で確認できる)。
neural_network_console.exeで起動します。
また、初回のアクティベートにはSonyのアカウント(Googleアカウントでもできる)のログインが必要のようです。
デモを動かす
MNSITなどのいくつかのデモのプロジェクトが存在します。
プロジェクトは、ネットワークを構成する「EDIT」、学習を行う「TRAINING」、モデルの評価を行う「EVALUATION」の3つのステップからなります。
RUNボタンを押していくだけで学習が始まりました。
エポック数やバッチサイズ、最適化法などのハイパーパラメータはCONFIGで選択できるようです。
自動の最適構造探索を使用する場合には、CONFIGのStructure Searchを用います。これはハイパーパラメータを調整するのではなく、ネットワークの構造を最適化させるもののようです。
感想
簡単なDeep Learningツールでは、他にMATLABのDeep Learning Toolboxがありますが、本体もツールボックスも有料です。
もし最新の論文に出ている手法やネットワーク、複雑なツールを使用するには、TensorFlowやPyTorchを勉強する必要があると思いますが、
基本的なDeep LearningならNeural Network Consoleで十分対応可能だと感じました。
画像認識だけでなく、画像生成(VAE、GAN)やセマンティックセグメンテーション、RNN、LSTMのサンプルがありました。
自動の最適構造探索も非常に便利です。
また、決定木やナイーブベイズもできるようです。
Windowsのみ対応なのが残念ですが、これからも使い方を勉強していこうと思います。