AIを知りたい!「Neural Network Console」に触れてみた!(後編)

こんにちは、Coffeeさんです。

さて、AIを知りたい!「Neural Network Console」に触れてみた!(後編)は少し長めの前置きとなってしまいましたが、今回は、実際にNeural Network Consoleに実際に触れてみるところからスタートします。

では、はじめましょう!

 

1.インストール


Neural Network Consoleは、クラウド版と、Windowsクライアント版の2種類が用意されています。今回はWindowsクライアント版を使ってみたいと思いますので、
https://dl.sony.com/ja/
こちらのサイトから「Windowsアプリではじめる」からNeuralNetworkConsoleをダウンロードします。

ダウンロードしたファイルを解凍すると、以下のようなフォルダが展開されます。(2017年12月)

NNCS01

解凍後の、「neural_network_console.exe」を実行するだけでGUIツールを起動できます。

特に前準備等も必要なく、たったこれだけの準備で利用できるなんて・・・。

神ツールですね!

起動すると以下のような画面が立ち上がります。

NNCS02

画面にPROJECTの内容が表示されます。
画面の中央にサンプルのPROJECTがずらっと並んでいます。

今回は、一番上にある「01_logistic_regression.sdcproj」というプロジェクトを試してみます。

このプロジェクトは、手書きで書かれたような数字の画像を学習し、「4」なのか「9」なのかを判定するサンプルプロジェクトです。

NNCS03

こういうような画像を一定量読み込んでニューラルネットワークに学習させてから、近しい画像をニューラルネットワークにインプットして判定させるというものです。

2.プロジェクト


PROJECTを選択すると、PROJECTの構成内容が表示されて、画面の中央に4つのコンポーネントが並んでいるのがわかります。
この4つのコンポーネントにディープラーニングのロジックが作成されています。

NNCS04

先ほどのホームページにコンポーネントの説明(下図)があります。https://support.dl.sony.com/docs-ja/layer_reference/
今回は詳細は飛ばして、今後、このあたりの説明していこうと思います。

NNCS05

Neural Network Consoleに戻って、ディープラーニングをしてみます。

3.ディープラーニング


画面上部にある「DATASET」を選択すると、今回利用するデータが表示されます。データセットには、TrainingとValidationの2つのデータセットが存在しています。

NNCS11

■TrainingのDATASET
これはNeural Networkが学習するためのデータセットです。

■ValidationのDATASET
これはディープラーニングの評価をするためのデータセットです。

今回のディープラーニングでやることは、2つのステップです。

① Trainingのデータを使ってNeural Networkに学習させる。
② 学習したNeural NetworkにValidationのデータを投入し、結果を出力(予測)させ、正解と突き合わせを行う

では早速学習をさせてみます。といっても、やることは、Trainingの三角ボタンをクリックするだけです。

NNCS08

処理が終わると、画面中央に学習結果が表示されます。

グラフの縦軸はCostとError、横軸はEpochのグラフとなります。
Epochは「Trainingデータを何回繰り返して学習させるか」の数になります。
繰り返す数が多い方が画像判別の精度が高くなっていくのがわかります(Errorの数が減っているのがわかると思います)

では、次に、学習結果の評価をします。これもボタン1つクリックするだけです。

NNCS09

「9」には“1”、9以外には”0”を分類されました。結果はy’として出力されます。
Validationのデータには、評価用の画像と正解の値(y)が入っていますので、y(正解)とy’(Neural Networkが出力した値)の値で精度を計っています。

結果として、正解(y=y’)が238個、不正解(y<>y’)が12個だったので、0.952とかなり高い精度で画像分類が出来ていることがわかります。

4.まとめ


今回は、ディープラーニングの知識がゼロなところから、Neural Network ConsoleというGUIツールを利用して、とりあえずディープラーニングを経験してみるということをやってみました。

とはいったものの、実際はサンプルを動かしただけで用語や理論などわからないところだらけです。

ですが、少しづつAIについて紹介できるように知識を付けていきたいと思います。
ちなみにAIを手に入れたら、AIに記事を書いてもらいたいと思っています(笑)

Coffeeさんは、AIを手に入れるために頑張ります!