AI研究所 - AI(人工知能)に脅かされないために、AI(人工知能)を作る側の人間になる -

HOME  >  SONY「Nural Network Console」で作った学習済みCNNを使って推論実行のやり方

公開日:2018.08.08 

SONY「Nural Network Console」で作った学習済みCNNを使って推論実行のやり方

カテゴリー: AI(人工知能)の作り方

こんにちは、AI研究所パートナー研究員の光本(みつもと)です。

今年5月に「Nural Network Console(※1)」のクラウド版が正式リリースされ、AI学習をクラウド上のGPUを使って高速に実行できる有償オプションが利用できるようになりました。
(※1) Nural Network Consoleの概要は以前の記事を参照のこと

Windowsアプリ版では、CPUパソコンで機械学習をさせる場合は学習させてる間じっと数時間待ち続けるというストレスに耐える必要がありました。
クラウド版では、モデルを作ってそのままGPUで実行させるという選択肢が加わりましたので、さらに利用しやすいディープラーニング・ツールになってきたと思います。

今回は、 Windowsアプリ版でCNN(Convolutional Neural Network:畳み込みニューラルネットワーク)を構築して学習をさせた上で、
「NNabla(Neural Network Libraries)(※2)」で推論実行させてみたいと思います。
(※2) SONYが無償提供するディープラーニングライブラリ

畳み込みニューラルネットワークを構築する

手書き数字画像(0~9)を読み込んで、それぞれを0~9に分類するというお馴染みの処理を学習させてみます。
まず、 「Nural Network Console」で次図のようなCNNを構築します。

畳み込みニューラルネットワークを構築する①

入力層が28X28X1ノード、中間層は畳み込み層とプーリング層が2層ずつ、全結合層が1層、出力層が10ノード(数字0~9の10種類)からなるCNNです。中間層では活性化関数にReLU関数を使用してみます。

学習用と評価用のデータセットを設定して学習させる

次に、学習と評価に使用するデータセット(MNISTデータセット)を学習用と評価用のそれぞれで選択設定します。

学習用と評価用のデータセットを設定して学習させる

データセットの準備ができたら、いよいよ学習を実行します。

今回は、エポック数を「20」にし、ミニバッチ数を「100」にして実行!
そして評価を実行してみます。

その評価結果は次表(Confusion Matrix)のようになりました。
分類精度は「0.9934」になりました。
ちなみに、Confusion Matrixは、CSVファイルとしてダウンロードできるようになっています。

結果表

学習済みモデルで推論実行する

それでは今回の主題「学習済みモデルを使ってNeural Network Libraries(Python)から推論する」ということをやってみたいと思います。

Nural Network Consoleを利用した場合の推論プログラム(Python)の作り方は、以下の3ステップになります。

<ステップ1>
Nural Network Consoleでの学習結果パラメータが格納されるparamters.h5を、load_parametersコマンドで読み込みます。

import nnabla as nn
nn.load_parameters('./parameters.h5')

<ステップ2>
Neural Network Console上で作ったニューラルネットワークの画面上で右クリックして、
「Export > Python Code(NNabla)」を選択し、ネットワークのソースコードを取り出します。

<ステップ3>
ステップ1のパラメータが読み込まれた状態で、ステップ2のExportされたネットワークを実行(forward)します。

x.d, t.d = input_data.next()
y.forward()

推論実行のための骨格はこれだけでOK。
あとは入力画像を読み込む部分や推論結果を出力する部分を追加していくだけです。

追加コーディングした主な機能は、プログラムを実行すると推論させたい手書き数字の画像ファイルを選択するポップアップが表示され画像を選べる機能、そして、その選択した手書き数字画像を画面上に表示した上で、同時にAIが推論した数字をコマンドラインから答えるようにし、画面上で双方を比較検証できる仕組みにしてみました。

実行直後にポップアップが表示され、推論させたい手書き数字画像を選択する。
実行直後にポップアップが表示される

選んだ手書き数字「」の画像と、AIによる推論結果 <<< あなたが選んだ手書きの数字は[9]です。 >>>
推論結果

想像していたよりも、かなり簡単にディープラーニングの実装ができました。
アイデア次第では、とても安価に効果的なAIシステムを導入することができるのでは?
皆さんにもその可能性の一端を少し感じて頂けたのではないでしょうか。

AIがこんなことをしてくれたら、もっと仕事が楽になるのに。。。
ふと、そんなことを思いついたら、まずはご相談ください。

AIで何がどこまで出来そうか、考えるお手伝いをさせていただきます!

タグ:


参考になったら「いいね!」と「シェア」をお願いします!!

このエントリーをはてなブックマークに追加
AI(人工知能)セミナー開催中
AI(人工知能)入門セミナー AI(人工知能)入門セミナー IoT入門セミナー

AI入門ブログの中の人

AI研究所 研究スタッフ
通称:マサミ
アメリカ・サンフランシスコにある情報メディアの専門学校を卒業。大手金融会社での事務経験を経て、2016年9月よりAI研究所に入所。見習い研究員として、AI技術を日々勉強中。

Facebookページ