ソニーがGUIでDeep Learningアプリケーションを作成するツールを公開しました。
ソニー、ニューラルネットをGUIで設計できる深層学習の統合開発ツールを無償公開
ネットワークを構築する部分がGUIで書けるようで、どれくらい便利なのかを試してみることにしました。
個人的にはKerasやTensorflowを使ったとしても、ネットワーク構築の部分は積み木のような感覚なのでそれほど難しいとは思わないので、GUIで出来るというのがどれほどメリットがあるのか懐疑的でした。
実際に試してみると、直感的に使えるので試行錯誤の段階には意外と便利かもしれないと感じました。
ダウンロード
以下のページからダウンロードをします。まずはメールアドレスを登録すると、ダウンロード先のリンクが送られてきます。
ファイルサイズは900MBほどあります。ちなみに現時点ではWindowsのみ対応しています。
ディレクトリ構造
ディレクトリ構造は以下の通りです。
実行
neural_network_console.exeをダブルクリックで実行できる。
最初にライセンス規約が表示されるので、同意する。
すると以下のような画面が表示される。色々とサンプルが用意されているようだ。
とりあえず、2番目のMNISTサンプル(手書き数字認識)をクリックしてみるとMNISTデータのダウンロードが始まります。
ダウンロードが終わるとサンプルのネットワークが表示されます。このサンプルは画像が9かどうかを判定するサンプルのようです。
直感的に分かりやすい。ConvolutionとMaxPoolingを2回やって、Affine変換を2回やって、最後はBinaryCrossEntropyで評価ね、と分かります。
F5を押すとトレーニングが始まる。トレーニング中はエポックごとに評価関数の推移がグラフで表示される。TrainingErrorとValidationErrorが表示されるので、テストセットの分離は勝手にやってくれているのだろうか?
せっかくなので、ネットワークを少しいじってみようと思います。色々と試してみましたが、In/Outの行列サイズが表示されるのが便利だと感じました。
ここでは単純に活性化関数をtanhからReLUにしてみました。
左側のツールボックスからブロックを選択して繋ぎかえるだけなので、直感的に操作できます。
(ちなみに畳み込み層を1層追加しようとしたのですが、デフォルトのフィルターサイズが5×5だったためサイズが合わないという警告がグラフ上に出て初心者には分かりやすいと思いました)
過去の試行錯誤結果は保存されているため、色々なネットワークで試して一番良いものを使うことが出来ます。
Validation結果が一番良かったものを使って、テストデータを動かしてみます。F6でテストデータの評価が始まります。
各テスト画像に対しての結果とConfusion Matrixが作成されます。
Presicision, Recall, F値が表示されて分かりやすいです。
結論
ドキュメントを読まなくても結構直感的に使えて、機械学習初心者に向いているのではないかと感じました。
GUI部分もよく出来ていてストレスを感じることなく使えます。ネットワーク作成に使う要素も、一通りのものが揃っているので手軽にやりたいことを始めるのには良いのでないかと思います。
現実的にはユーザー数の規模では、世界的に見たら既存のフレームワークが圧倒している状況だと思います。
今後、他のDeep LearningフレームワークでもGUIでネットワーク構築を行うツールが出てくるかと思うので、差別化できる部分を実装して頑張って欲しいです。