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

  • お問い合わせ

HOME  >  ニューラルネットワークが簡単にできるAIアプリまとめ

公開日:2020.10.20 

ニューラルネットワークが簡単にできるAIアプリまとめ

AI(人工知能)の知識

現代のAI(人工知能)ブームでは、さまざまな機械学習や深層学習が用いられています。
その中でも、ニューラルネットワークはディープラーニングにもつながる手法であり、今注目されている手法のひとつになります。
今回はそのニューラルネットワークが簡単にできるAIアプリについてまとめてみたいと思います。

本記事の内容

AIアプリについて
SimulinkとMATLAB
・MATLABとは
・Simulinkとは
Simulinkによるニューラルネットワーク
Neural Network Console
Prediction One
まとめ

AIアプリについて

機械学習や深層学習を実装する方法はさまざまです。
機械学習を行うプログラミングと言えばPythonが有名ですが、その他にもさまざまなライブラリやツールがあります。
TensorFlow、PyTorch、KerasやChainerといったライブラリは、簡単にはなりますがPythonなどのプログラミング言語を用いてコードを書く必要があります。
今回はライブラリではなく、ニューラルネットワークが簡単に直感的に実装できるアプリやツールをAIアプリとして説明をしていきたいと思います。
ニューラルネットワークについてはこちらを参考にしてください。

ニューラルネットワークとは

ニューラルネットワークってなに?AIの学習の仕組みを学ぼう

 

SimulinkとMATLAB

まずはSimulinkというブロックダイアグラムシミュレータ製品について説明します。
SimulinkはよくMATLABとセットにして使用します。
ここでは、はじめにMATLABについて説明した後、Simulinkについて説明します。

MATLABとは

MATLABとは、MathWorks社が開発している数値解析ソフトウェアになります。
データ分析が得意な言語であり、プログラミング言語の名前としても用いられます。
工学分野、理学分野、経済学分野などでよく使われています。
最近では、さらにAI分野でも利用されており人気を維持しています。
MATLABには、変数の型を宣言しなくて良かったり、グラフを描く関数が用意されていたりと長いコードを書かなくてよいという特徴があります。

Simulinkとは

SimulinkもMathWorks社が開発したソフトウェアであり、MATLABとは別ソフトウェアになります。
しかし、MATLABと連携して使うことが可能なシミュレーションおよびモデルベースデザインソフトウェアになります。
Simulinkはブロック線図で構成できるツールになります。
MATLABで定義されたアルゴリズムを使用し、そのコードをSimulinkブロックに追加できます。
また、MATLABを使用して入力データを作成し、シミュレーションを実行し、解析することが可能になります。

Simulinkによるニューラルネットワーク

Simulinkのサポートとして、一連のブロックを提供してくれるDeep Learning Toolboxというものがあります。
これを使用して、Simulinkを用いて、ニューラルネットワークを構築することができます。
ブロックには5種類のライブラリがあります。
伝達関数ブロック:正味入力ベクトルを受け取り、対応する出力ベクトルを生成します。出力ベクトルと入力ベクトルの次元は同じになります。
正味入力関数ブロック:任意の数の重み付き入力ベクトル、重み層出力ベクトル、およびバイアス ベクトルを取り、正味入力ベクトルを返します。
重みブロック:入力ベクトルなどに重みベクトルを適用し、ニューロンの重み付き入力値を取得します。
処理ブロック:入力データや出力データの前処理や後処理を行います。
また、MATLABで作成した任意のネットワークのSimulinkバージョンも生成できます。
ニューラルネットワークの予測コントローラーを作成する場合はNN Predictive Controllerブロックを用います。
これらのブロックを使用すると、簡単にニューラルネットワークを実装することができます。

Neural Network Console

次にNeural Network Consoleについて説明します。
これは2017年にSONYが無償提供を開始したツールになります。
注意点としては、Neural Network Console は64ビット版Windows 8.1、Windows 10に対応するアプリケーションソフトウェアであることです。
提供形態としては、Windowsアプリ版(無料)とクラウド版(有料)の2種類があります。
このソフトウェアは、ディープラーニングプログラムをグラフィカルユーザーインターフェース(GUI)上で作成できるものです。
対応するデータは、画像、音声、センサーなどさまざまなデータになります。Neural Network ConsoleもSimulink同様、関数ブロックを視覚的に組み合わせることで、ニューラルネットワークを構築できます。
プログラミングに慣れていない人にとっては、とても扱いやすいツールになっています。
直感的に使用できるので、操作にもほとんど学習は必要ないでしょう。
またパラメータの調整の一部を自動で最適化する構造自動探索と呼ばれる機能も持っています。
精度を高めたり、計算量を小さくしたり目的に応じて最適化するようにパラメータを調整できます。
この機能はWindowsアプリ版の場合は、停止されるまで、クラウド版は指定された探索回数や時間に達するまで繰り返し学習を行い、結果の比較ができる機能になります。
さらには、Neural Network Consoleで学習したモデルは、独自ライブラリ(Neural Network Libraries)を導入することができます。
そして、ONNXというオープン互換フォーマットを用いて、PyTorchやTensorFlowといった他のライブラリ環境とのやりとりも可能です。
学習結果も非常に分かりやすく、リアルタイムでグラフ表示してくれます。Structure Searchという機能を使うと、ニューラルネットワークを自動的に構築できます。
レイヤーの追加・削除・パラメータ調整まで行ってくれるので、簡単なニューラルネットワークなら初心者でも比較的簡単に構築できる仕様になっています。

Prediction One

今回は、もう一つ2019年6月にリリースされたPrediction Oneについても説明していきます。
Prediction OneはNeural Network Console同様SONYからリリースされたもので、簡単に言うと、予測分析が手軽にできるツールになります。
こちらも動作環境が64ビット版Windows 8.1、Windows 10にのみの対応という点に注意が必要です。
また推奨環境としては、
・メモリ:8GB以上
・CPU:Core i7
・HD・SSD:50GB以上の空き
の環境が必要です。
では、Prediction Oneの特徴について説明します。
・操作が簡単
最短で、学習から分析まで6クリック、処理時間4分、予測精度92.3%で出力ができます。
・高精度な予測を自動モデリングで行える
専門知識が必要となるモデリングを自動で作成でき、エンジニアが作成したモデルより高精度に予測することが実証されました。
・予測理由が分かる
使用した実績データのどの部分が予測分析の結果に影響を与えたのか分かります。
・PCで動作
少しハイスペックさは求められますが、クラウドではなくPC上で動くため、データのアップロードなどに時間を取られません。
Prediction Oneは本当に強力なツールとなりそうです。

まとめ

今回は、ニューラルネットワークが簡単にできるAIアプリまとめを紹介しました。
Pythonなどのプログラミング知識がなくても、直感的にブロックを並べたり、クリックしたりするだけでニューラルネットワークの楽手を実現できるツールがあることが分かったと思います。
これらを使うことによって、より早くより正確により精度良くニューラルネットワークが実装できるようになるのです。
一度みなさんも試してみてはいかがでしょうか。
はじめてのNeural Network Consoleという動画も参考してみてください。

最後までご覧いただきありがとうございました。


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

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