非エンジニアがソニーのNeural Network Consoleで画像分類モデルを作ってみた

このエントリーをはてなブックマークに追加

【PR】この記事はソニーネットワークコミュニケーションズ株式会社のスポンサードコンテンツです。

近年、ディープラーニングのブレイクスルーにより、AIは本格的な普及期に突入している。普及に伴って、モデル構築のハードルを下げ、非エンジニアでもディープラーニングを試せるGUIツールがさまざまな企業からリリースされている。

そこで今回は、ソニーネットワークコミュニケーションズが提供しているNeural Network Consoleを使い、簡易的な画像分類モデルを作成していく。ツール内には専門的な用語がいくつか出てくるが、一つひとつの意味を大まかに理解すれば問題ない。

なお、Neural Network Consoleにはクラウド版とWindows版の二種類があり、今回はクラウド版を使う。もちろん今回のデモでコーディングは使用しない。本記事で行うサンプルで学習を回す分には料金がかかる心配はないので、ぜひ手元で試しながら記事を読み進めていただきたい。

学習データを準備するだけで簡単にモデル構築が可能

Neural Network Consoleはディープラーニングモデルの開発ハードルをなくすべく生まれたAI開発ツールである。最初から最後までプログラミング不要でディープラーニングが実装できるのが特徴だ。最適なネットワークの構築を自動化する機能もついており、ドラッグ&ドロップによる直感的な操作も可能となっている。

今回は、Neural Network Consoleに搭載されているサンプルを用いて、画像分類を行う。手書き数字の画像が「4」か「9」かを判別するモデルを作成する。

一見簡素な分類に思えるが、少し応用するだけで実際のビジネスへの活用が可能になる。下記事例のような、人が目で対象物を分類している業務がそれに当たる。

関連記事:300店のベーカリーに導入された画像認識AIレジの秘密に迫る

まず画像分類の学習には、下記の二種類のデータを準備する必要がある。必要なデータ数は場合によって異なるが、今回はサンプルとして用意されている、学習用データ1,500枚、評価用データ500枚を使用する。

  • 学習用データ
    大量の「4」と「9」の画像。準備するデータセットはサイズを揃える必要がある。今回のサンプルは28×28でそろっている。

  • 評価用データ
    学習には用いないデータ。Neural Network Consoleで作ったモデルがどれくらいの精度で分類できているのか、評価するために使用する。

ニューラルネットワークの構築も手軽。学習を実行してみる

今回はクラウド版のNeural Network Consoleでデモを行っていく。画像分類器を作るため、まずはProjectタブ内の01_logistic_regressionをクリックし、名前(今回はdemo_1)をつけて新規保存する。

Project画面。様々なチュートリアルの中から、今回は01を選択

1分ほどで保存は完了し、プロジェクトが作成される。demo_1プロジェクトを開くと、専門用語が多く見られるが、本ツールでモデルを構築するにあたって、いきなりすべての意味を理解する必要はない。

EDITタブでは、Components内にある要素(レイヤー)を組み合わせ、ニューラルネットワークを構築できる。レイヤーを組み合わせる際の動作はレゴのように単純である。今回は、サンプル用にすでに構築済みの一層のネットワーク(画像内:青と赤の層の組み合わせ)を使用する。このモデルはドラッグ&ドロップで編集可能なので、ほかの層を加えることも簡単である。

EDITタブ内の画面。すでにモデルが読み込まれている

モデルを確認できたところで、続いてデータを確認していく。DATESETタブでは、このプロジェクトで使用するデータの画像やラベルが確認できる。

DATASETタブ内の画面。画像の種類やラベルが確認可能

画面左に2種類の画像フォルダがあり、それぞれの役割は下記の通りである。

  • Training
    学習に用いるデータ

  • Validation
    学習済みモデルに読み込ませ、精度を評価するために用いるデータ

画像右にあるラベル(y:9)は、その手書き文字が「4」であるか「9」であるかを表している。ラベルが0であればその手書き数字が「4」であることを表し、ラベルが1であればその手書き数字が「9」であることを表している。このラベルは事前に準備する必要があるため、自前のデータを活用する際にはこのような正解ラベル付けの作業が発生する。

データとモデルは揃っているため、最後にEDITタブ内の「RUN」ボタンを押せば学習が始まる。あとは、どれくらいの精度で画像を判別できるか、結果を待つだけだ。

EDITタブ内の画面。右上のRUNを押すと学習が開始する

学習にかかる時間はプロジェクトごとに異なる。TRAININGタブで学習の進捗が確認でき、今回のモデルは3分ほどで完了した。

モデルの精度を確認するためには「RUN」をクリックし、EVALUATIONタブ内のConfusion Matrixにチェックを入れる。画像分類の精度を表すAccuracyは0.954であり、結果として今回は「4」と「9」を95.4%の精度で分類するモデルを作ることができた。

TRAININGタブ内の画面。右上のRUNを押すと、モデル評価を確認できる

EVALUATIONタブ内の画面。作成したモデルの精度を確認できる。

さらに、下記の画像の通りClassification Matrixを選択し、False-positiveの数値をクリックすると、誤って判別された画像を表示することもできる。

赤枠で囲われた箇所をクリックすると、誤って判別された画像を表示できる

誤って判別された手書き数字の画像

AI/ディープラーニング領域におけるGUIツールの価値

今回はサンプルを使用したが、画像分類モデルを作りたければ、同様の手順ですぐにモデルが構築できる。Neural Network Console内にはほかにも数十個のサンプルモデルが用意されている。ほかのサンプルを試してツールに慣れれば、自前のデータでモデルを作ることも簡単にできるはずだ。

こうしたGUIツールによりAI導入のハードルが下がれば、まずは手軽にAIを試してみる、といった動きが増え、現場レベルでのAI活用が加速する。Neural Network Consoleでは、画像分類や時系列予測、文書分類などを扱えるため、たとえば、記事カテゴリ判定や電力量の異常検知などに活用が期待できる。企業の活用シーンを想定しても、非常に実用的なツールと言える。

必要な技術ハードルは下がっている今、このようなGUIツールでAIに触れてみてはいかがだろうか。