AI coordinator

人工知能 & ロボティクス

サイト運営者

© AI coordinator All rights reserved.

201710/13

Neural Network Consoleの学習モデル自動最適化機能が凄すぎる!

SONYのNeural Network Console

以前から興味があったSONY製のNeural Network Consoleを使ってみたので、その内容の紹介です。

今回使おうと思ったのはニューラルネットワークの構築にGUIを使った分かりやすい設計の魅力もそうだけど、NVIDIA製のGPUを簡単にセットアップできそうだったからです。

自分でCUDAを使ってのセットアップは難易度が高そうだったので、いままでGPUを使ったDeepLearningにチャレンジしてきませんでしたが、さすがにCPUでのDeepLearningが辛くなってきたので、今回導入に踏み切りました。

 

しかも自動で学習モデルを最適化する機能が搭載されているとのこと。

これはすばらしい。

いつもどんな学習モデルが良いのか分からないまま手探りでCPUで実行しているため、非常に非効率でした。

 

また、GUIのおかげで誰でも簡単にDeepLearningを始められるツールにもなっています。

導入手順もあわせて紹介しますので、興味がある方や、気軽にDeepLearningを始めたい方は是非チャレンジしてみてください。

 

環境のセットアップ方法

Neural Network ConsoleはWindowsにしか対応していません。

mac osXには対応していないのが残念です。

筆者もこれが理由で中々導入に踏み切れませんでした。

 

でも学習モデルの最適化やGPUを手軽に使用できる機能は魅力的ですよね。

ということでNeural Network Consoleをインストールします。

 

インストール手順は簡単です。

公式サイトからメールアドレスを入力すると、ダウンロードリンク付きのメールが送られてきますので、そこからEXEファイルをダウンロードして起動する形になります。

 

以下、公式サイトのトップページです。

 

Windowsアプリではじめるをクリックすると、以下のページまでスクロールされます。

このページでメールアドレスを入力して、上記に同意して送信をクリックします。

 

しばらくするとメールが届きます。

英語と日本語混ざったメールが届きます。

ダウンロードリンクをクリックして、ファイルをダウンロードしましょう。

 

メール内には以下の注意書きもあります。

注意書き通り、Visual Studio 2015 のパッケージインストールと、NVIDIA製GPUのグラフィックドライバーの最新化を実施しておきます。

 

準備が整ったら、neural_network_console_100.zipファイルを解凍してNeural Network Consoleを起動しましょう。

ちなみに解凍には結構時間がかかります。

筆者の環境で20分ぐらいかかりました。

気長に待ちましょう。

 

解凍が終わったら、neural_network_console.exeファイルを起動します。

起動したら早速GPUを使えるようにセットアップしましょう。

とはいっても何も難しことはありません。

Setup画面のENGINEからラジオボタンでGPUを選択するだけです。

Applyを押下して、はい出来上がり。

 

Setupが終わったらチュートリアルを試してみましょう。

解凍したフォルダ内のマニュアル通りに進めていけば問題ありません。

初回はサンプルデータセットのダウンロードに数分時間がかかります。

気長に待ちましょう。

ダウンロードが完了すると、以下の画面になります。

この画面はではMNIST数字の4と9を学習させるモデルのようです。

 

左上にあるDATASETをクリックするとデータの中身が確認できます。

データの中身が確認できたら、トレーニングを実行してみましょう。

左上にあるTrainingボタンを押下すると学習が始まります。

 

さすがGPUです。

epoch = 100が一瞬で完了しました。

学習が完了するとグラフで学習結果を確認できます。

さすがSONY。

簡単に使うことができました。

 

学習評価を知るには左上の矢印ボタンを押下します。

Accuracyで評価を知ることができます。

この学習結果では95%の精度を出すことができたようです。

 

こんな感じでチュートリアル通りに実行していけば、使い方のイメージが付きやすいかと思います。

 

独自画像データで学習

それでは使い方が分かったところで、独自画像データの学習にチャレンジしたいと思います。

注意点として、Neural Network Consoleに画像を読み込ます際は、予め画像サイズをそろえておく必要があるところです。

 

まあ、順を追って手順を説明します。

 

画像データの準備

何はともあれ、画像がないと始まりません。

頑張って画像を集めましょう。

そして集めたファイルを一定のサイズにリサイズします。

窓の杜に「縮小専用」というフリーツールがあるので、今回はこれを使用します。

 

画像サイズは、50X50でやります。

この辺はお好みで良いと思います。

サイズが大きくなれば学習精度の高いモデルが作成できると思いますが、学習時間もそれなりにかかります。

 

縮小専用画面の右下に「画像ファイルをここにドラッグ&ドロップしてください」とあるので、学習させたい画像データ全てをドラッグ&ドロップしましょう。

 

リサイズ後の画像ファイルは「Resized」という新しいフォルダ内に作成されています。

 

こんな感じで学習データを準備します。

 

Neural Network Consoleを使って画像データをCSV化

画像データが準備できたら、画像をNeural Network Consoleに読み込ませて、CSV化します。

例として、ここでは男性の画像と女性の画像を集めたデータをCSV化します。

フォルダ構成は以下のようにしています。

input

|——man(リサイズ後の男性の画像)

|——woman(リサイズ後の女性の画像)

output(空フォルダ)

フォルダの準備はこれで完了です

 

続いてNeural Network Consoleのホームに戻り、左メニューのDATASETを選択し、Create Datasetを選択します。

するとポップアップが表示されます。

Source Dir:には先ほど作成したinputフォルダを指定します。

Output Dir:には先ほど作成した空のoutputフォルダを指定します。

Output Color Ch:はカラー画像を学習させるため3(RGB)を選択します。

Output Width及びOutput Heightにはリサイズした画像サイズをしてします。

今回は50x50にしているので、それぞれ50を指定します。

最後にRatio(%)では、画像データの中からトレーニング用データとテスト用データの割合を指定します。

この辺もお好みで。

今回は80%、20%にします。

すべての入力が完了したら、Applyを押下して完了です。

しばらく画像の読み込み処理が走ります。

以上で画像の読み込みは終了です。

 

学習モデルを作成する

ここでは一から学習モデルを作成するのは面倒なので、サンプルで準備されているモデルを流用します。

チュートリアルで使った「01_logistic_regression.sdcproj」をベースを使ってみます。

設定を数か所変更する必要があるので、順を追って説明します。

 

まず、学習させる画像サイズを指定します。

つまりInputのサイズを変更します。

画像右のInputを選択すると、画像左下にInputのパラメータが表示されるので、赤枠で囲った部分を変更します。

ここではカラー画像の3と画像サイズ50x50を指定します。

 

続いて画像ファイルの読み込み設定です。

画像左上のDATASETをクリックし、そのすぐ下の右上矢印マークを押すとTrainingデータをValidationデータそれぞれを指定できるので、先ほど読み込ませたデータを指定します。

 

これで学習モデルに使用する画像データの指定が完了しました。

 

学習方法を指定する

最後に学習方法を設定します。

画像右上のCONFIGを選択すると、学習方法を指定できます。

Max Epochは学習回数を指定します。

Batch Sizeは一度に学習させる枚数を指定します。

 

そして筆者にとって、最もうれしい機能である自動で最適な学習モデルを探し出してくれる機能を指定する部分がEnableです。

これにレ点しておけば、勝手に学習モデルの最適化をしてくれます。

 

これで学習方法の設定は完了です。

 

学習開始

すべての設定が完了したので、いよいよ学習開始です。

画像上の矢印ボタンを押下すると学習が始まります。

学習モデルを最適化するように設定してトレーニングしているので、ストップボタンを押すまで永遠に学習を繰り返します。

眺めているだけでも楽しいですよ。

 

以上、Neural Network Consoleの使い方でした。

 

その他のDeepLearning記事はこちらから

 

それではまた。

関連記事

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

Tensorflowで映像からの美人女優顔検出学習モデルの見直し

以前の記事で紹介したモデルが使い物にならなかった 以前紹介したリアルタイム映像からの美人女優検出で作成した学習モデルは、とりあえず学習モデ…

YOLOv2のリアルタイム物体検出をTensorFlowとPythonで実装する方法

YOLO v2をどうしてもPythonで使ってみたかったので作ってみた 数多くあるオブジェクト物体検出の中で、処理速度が最も早い?と言われ…

20178/15

DeepLearningのモデル可視化方法とmatplotlibで学習の様子を可視化する方法

学習モデルの可視化と学習の様子を可視化してみた 何を今更といった内容の記事です。 DeepLearningにチャレンジしてきた筆者で…

映像からの物体検出(SSD_Keras)に挑戦 for ubuntu

映像からの物体検出 リアルタイム映像からの物体検出に挑戦してみました。 ただし簡単にはできず、色々ハマってえらく苦労したので、同じ悩…

Deep Learningオススメ書籍

これからDeep Learningの勉強をするなら Deep Learningを勉強する上で、参考になる書籍の紹介です。 筆者も当サ…

誰でもできるtensorflowを使ったサンプル画像認識

tensorflowなら簡単に画像認識ができる tensorflowの入門編として、簡単にサンプルソースを使った画像認識を試してみたので、…

自然言語解析の形態素解析 janome を使ってみよう

形態素解析 janome とは 簡単に説明しますと、自然言語の文章を意味を持つ最長単位に分割し、品詞を判別することができるライブラリです。…

20174/22

DeepLearningに挑戦!まずはubuntuのインストールから

DeepLearningを始めるならubuntu いよいよDeepLearningにチャレンジしていきます。 DeepLearnin…

映像物体検出(SSD_Keras)を簡単に実装する方法 for maxOS

簡単に映像物体検出を試す方法 以前の記事で、ubuntuを使った映像検出を紹介しましたが、OpenCVの環境構築等に結構戸惑ったので、もっ…

TensorFlowのオブジェクト検出APIで物体検出に挑戦

TensorFlowで物体検出APIがリリースされたので早速試してみた googleからの新しい物体検出APIがリリースされました。 …

ページ上部へ戻る