Neural Network Console を使ってディープラーニングを学ぶ

ここ最近よく耳にする ディープラーニング
SONYがGUIのみでAI開発できるツール Neural Network Console をリリースしました

これはよい機会だと思い、ディープラーニング初心者の僕が、
Neural Network Console を使って、ディープラーニングを学習しようと思った次第です

前置き

そもそもディープラーニングって・・?

Deep Learning(深層学習) とは

  • 機械学習 の手法の一つ
  • ディープニューラルネットワークを用いた学習

・・・、んで 機械学習 とは

  • 人間と同様な 学習能力 をコンピュータで実現しようとする手法

・・とのことです。ちなみに 学習能力 とは

  • 学んだことを判断に反映する能力

になるでしょうか。ようするに、一言で言うと

  • 人間のような学習能力をコンピュータに機能として持たせる手法

になるかと
僕はこのように理解しました

Neural Network Console について

SONYが公開したディープラーニングツールになります
AI開発ツールです
特徴としては、

  • GUIによるニューラルネットワーク設計構築ができる
  • プログラミングの必要がない
  • 無料

簡単にディープラーニングが行える!っていうのが売りです
たしかに無料はありがたい!

使ってみる

とりあえず触ってみる

まずはツールの入手
公式サイトにて、メールアドレスを入力しダウンロード

ファイルサイズが 1GB 弱あるので少し時間がかかりました
解凍するとPDF形式のマニュアルが入っています
それを確認しつつセットアップ

サンプルを動かしてみた

サンプルの数がそれなりにあります
量があるのですべてを触ることはできませんでした

サンプルの説明等も英語なので、よく理解できていませんが
(あと専門用語が多いので理解しずらい・・?)
ネットワークビューワや データセット の内容を確認すると、
どのような設計になっているか、学習を行うのかが分かります

データセット とは

  • 学習用評価用がある
  • 学習用データセットは、ニューラルネットワークの学習に用いられる。このツールで言うところの Training 時に使用される
  • 評価用データセットは、制度評価のためのみに用いられる。Evaluation を実行したときに用いられる

データセットはフォーマットが決まっていて、
データセット管理画面にて内容を確認することができます

英語ができないけど・・

付属の日本語版マニュアルがありますが、ツールは全部英語でした
ただ、メニュー周りとかはシンプルな構成で、単語量はそれほど多くないと感じました
ある程度扱えばツール内容を把握するのは容易そうです

UIはほんとに見やすい

UIはすごくシンプルで理解しやすいです
また学習中もグラフがリアルタイムに更新されるので、見ているだけで面白かったりします
あとアニメーションがなめらかで気持ちいい
ちゃんと作ってるなぁ、といった印象でした

GPU使用の設定

CUDA 対応GPUを積んでいるPCでツールを使用する場合、
GPU使用を有効にして学習速度を上げることができます
実際にGPU使用を有効した場合、トレーニング時の時間が短くなったのを確認できました

(下の画像は ELSA System Graph というツールでGPUパフォーマンスを見たものです)

まとめ

触ってみて

ネットワーク構築で使用するレイヤーなどを理解するのは、
初心者にとっては難易度が高いものに感じました

マニュアルに各レイヤーの説明がありますが、読み込まないと理解できなかったり、
また、用語などは自分で調べないといけないものが結構あります

ただ、ディープラーニングというものがどういうものかは、
ツールからだけでも理解できました

また、このツールを使いながらディープラーニングを学んだり、
AI開発を進めるのには、とても強力なツールになるのではないかと思いました
特にこのツールの使いやすさ、お手軽さという点は最大の強みではないかと思います

ゲーム開発においてのディープラーニング

僕はゲーム開発に携わっていますが、このディープラーニング、
現状は正直よい生かし方についてはあまりピンときてないです・・

オンラインゲーム上に放って自立して強くなるように使ってみる? とか
対戦ゲームで使用するのがいいのかな? くらいです

「ディープラーニング ゲーム」などで検索してみても、
できたらいいなぁ程度の検証がちらほらあるくらいで、
無理やり使っているようにみえるし、生かし切れているのかはちょっと疑問でした

ランタイムで生かすのは難易度が高そうですが、
ゲーム開発中の補助的なツールとして使用するとかは可能かもしれないですね

ただ、ポテンシャルは十分にありそうです
うまく使っていくにはもっと検証が必要だと思いますが、
今後ディープラーニングを生かした面白いゲームがたくさん出てくるのを期待しております
(というかそういう面白いゲームを作っていきたいです!)