[Archive] LabVIEW Café

キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 

【LabVIEWトレンド】AI(機械学習)をLabVIEWで取り入れてみませんか?

DAl_rceXoAI9WLV.jpg 

National Instruments (以下NI)技術営業の阿部と申します。今後計測におけるトレンド、LabVIEWのスキルアップ情報を直接ご提供させていただければとの思いで記事の方作成しております。記事内容のリクエストやコメントもぜひお待ちしております。

 

 今回のテーマはLabVIEWと機械学習です。第一弾ということもあり分量は多めですがお付き合いいただければ幸いです。

 

ここ最近機械学習関連のアプリケーションがどんどんと身近になってまいりました。AIを活用したプロジェクトを・・という声をいろいろなところで耳にすることも多い所感です。よくニュース等では自動運転等に使用される画像認識手法であるDeep learningが注目されがちですが、実は機械学習というのは経済学等でも用いられる回帰分析などの手法も含む広い分野になっています。こうした道具をうまく使いこなすことで人間が苦手な複雑さ事象に気づいたり、データに新しい知見をもたらすことが可能になります。

【機械学習のおおまかな分類】
手法自体が非常に多く、こちらの記事で詳細をカバーするのは難しいのですが、知っておくと便利なキホンの用語として3種類あります。

A. 教師あり学習
状態や結果がわかっているデータから予測を行います。
あらかじめ付けた正解のラベルに基づき、機械が学習を行い、データセットに対する応答値の予測を行うモデルを構築します。ディープラーニングを用いた手書きの文字の判定(よく「MNIST」というデータセットを使用したりするものですね)などはこちらにあてはまります。

B.教師なし学習
漠然とデータのみが存在し、それに対して外れ値や共通点などを探していきます。新たな知見の発見を目的としています。
例えばクレジットカードの不正利用を検出したり、あるデータ・セットから特定の所得の人がアイドルにハマりやすいなどの傾向を見つけさせることが可能です。

C.強化学習
こちらはある目的(関数)を用意し、いくつか試行を積み重ねてよいやり方、より良い解を探っていきます。
成功 ⇒ 報酬
失敗 ⇒ ペナルティ
とし、解を評価していきます。例えば生物の進化を模擬し、世代ごとに突然変異や交叉といった処理を加え、段々と初期解が環境に適応していく、遺伝的アルゴリズムなどもこちらに分類されます。ちなみに新幹線の先端部分の形状をデザインするのに応用されているそうです。

だたしデータの調理器具であるアルゴリズムはいろいろありますので、以下の様なウェブサイトも合わせて確認いただき(他社様のものですが)特徴を理解していただくと良いかと思います。
Machine Learning アルゴリズムの選択方法
https://docs.microsoft.com/ja-jp/azure/machine-learning/studio/algorithm-choice

【LabVIEWと機械学習について】
さて、LabVIEWのメリットには多種多様なプロトコルや製品に対応しデータの収集や解析が容易に出来る点はご存知の通りかと思います。ぜひここに加えて機械学習の恩恵を感じていただければと思います。主にLabVIEWを用いて機械学習をするアプローチが3つほどあります。

 

1.LabVIEW上で自らアルゴリズムを作る:
自分で統計的手法を作る。開発環境のみを必要とするため、最も安価であるが時間がかかります。例えばDeep learningをLabVIEWで実装してみたサンプルなどがこれにあたります。


2.別ソフトでアルゴリズムを作成しLabVIEWに取り込む。
LabVIEWにはインターフェース用の関数があるためMATLABやPython、画像系であればOpenCV,Tensorflowを使ったモデルなどが取り込めます。普段かお馴染みの環境を使用できますが、ゼロからはじめるとツールの学習の時間が相応かかります。また各種統計手法などの専門知識も必要になります。なおOpenCVやTensorflowを使用したサンプルには以下があります。

 

Deep Learning Object Detection using Vision Development Module for LabVIEW - NI Community
https://forums.ni.com/t5/Example-Program-Drafts/Deep-Learning-Object-Detection-using-Vision-Developm...

 

NI Vision OpenCV Utilities - National Instruments
http://sine.ni.com/nips/cds/view/p/lang/ja/nid/213723

3.NI提供のアルゴリズムを使用:
NIとして公式に提供しているのものにAML toolkitがあります。


キャプチャ3.JPG


LabVIEW AML(The LabVIEW Analytics and Machine Learning Toolkit)は特に状態監視と予知保全を対象としています。これには、機械の状態監視、製造工程の監視などが含まれます。アプリケーションでいえば回転体の予知保全や音響関係、特に従来人が異音を耳で判定していた検査などは高精度の判断&短期間での実装が可能です。こちら、ご興味がある方はサンプルデータをご提供いただければ弊社で判定可能か検証させすることも可能です。

 

【LabVIEW AMLを使用するメリット】

キャプチャ4.JPG
・LabVIEWと組み合わせて使える点がメリットになります。既存のデータ収集システムに機械学習の実装が可能になり、LabVIEWで機械学習の全ての工程が実現できます。もちろん実機(CompactRIO)への展開も可能なため、作成したアルゴリズムを現場に落とし込むまでの工数の短縮が狙えます。


・CompactRIO(弊社の販売しているPLCを指します)などにアルゴリズムが搭載可能。例えば一般的にサーバーベースの分析ソフト等が多いですが、CompactRIOには機械学習アルゴリズムをそのまま載せられるため、ネットワークの接続性やサーバーセキュリティ、判断の待ち時間を気にする必要がないというメリットがあります。また監視対象の状態に応じて即時に警告を出す、また制御対象へ数マイクロ秒オーダーで高速フィードバック制御を行えます。

【機械学習の注意点】

1. アルゴリズム(調理器具)を問わず良質な計測データが必要になります。特に用途にあった分解能の選択が必要になります。
例えば、音響/振動センサの計測は信号の波形そのものが重要になるため、24 bit分解能の計測器を使用するのが業界標準です。(一般的なオシロスコープは8bitです)

 

2.もう一つのポイントは同期計測の重要性です。計測装置の同期精度が用途に合っているのか事前に確認する必要があります。各種データ間の相対時間のズレがあると異常検出の感度不足や原因診断の精度低下に繋がります。


【AMLの使い方】

AMLツールキットダウンロードを開いてみても、なかなか瞬時に使い方がイメージするのが難しいとの声をよくいただきます。基本は非常にシンプルで学習部分とデプロイ部分で構成されます。そして使用したいアルゴリズムにかかわらず同じ方法でプログラミング可能といった特徴があります。

 

■学習部分

お持ちのデータをアルゴリズムが理解しやすい形に処理し(配列データの場合が多いです)に変換する必要があります。これらを特徴量と呼びます。例えば振動データなどを持っている場合、それらにFFTをかけ配列にするイメージです。

アルゴリズムが実行される前に、特徴量は空のモデルにロードされます。あとはアルゴリズムのパラメータの設定を行うと学習が完了し、モデルが生成されます。これで機械学習完了です。

 

キャプチャ2.JPG

 

次にデプロイ(学習モデルの精度を試す)側ですが、まず学習済みモデルを読み込むことから始めます。次に判定したいテストデータを学習時と同じ特徴量に変換しモデルに与えます。その判定結果がモデルからの出力になります(ヘルスインデックス、予測ラベルなど)

 

キャプチャ.JPG
以上が基本的なAMLツールキットの使用方法ですが、次回は上のツールキットのディープラーニング機能を使用し、簡単な画像判定に応用した例をご紹介しようと思います。

 

状態監視や機械学習分野のテーマやプロジェクトをお持ちの方、データ収録部分等を含めぜひ最初の一歩からぜひご相談ください。知見・事例の共有や機材の試用も含めてお力になれれば幸いです。 またコチラ設備の保全や状態監視の事例を詰め込んだ資料になります。よろしければ御覧ください。


この記事を書いた人

阿部 敏朗

熊本県熊本市生まれ。茨城育ち。
日本ナショナルインスツルメンツ(NI)にて九州、中四国地方を担当。

LabVIEWや製品が日に日に新しくなるので日々勉強しつつ活動しています。
趣味は毎日の食事、AI関連の記事をよむこと、温泉、ロングウォーキング。
ご相談・お問い合わせなどありましたら、こちらよりお気軽にお問い合わせください。

メッセージ1/1
9,282件の閲覧回数