Google Cloud Machine LearningやMicrosoft Cognitive Servicesのように、ビッグカンパニーのクラウドAIサービスが競い合っているので、人工知能というとクラウドサービスで提供されるというイメージがあります。でも、これはあくまでも音声認識や機械翻訳、テキスト分析など入力データが”人手”によるものが中心で、IoTとAIという組み合わせで考えた場合、現場のIoTと雲の上のクラウドは距離が離れすぎていていろいろな支障が出てきます。そこでさっそうと登場したのがエッジコンピューティングというわけです。
エッジコンピューティングとは
エッジコンピューティングとは、現場の近くに人工知能処理するコンピュータを置くネットワーク・コンピューティング技法です。雲の上に人工知能処理するコンピュータがあるクラウドコンピューティングと対局にある言葉ですね。
図1は、その2つを対比させたものです。クラウドコンピューティングでは「機械学習」も「判定処理」も「分析」もクラウドで行うのに対し、エッジコンピューティングは「機械学習」と「分析」はクラウドで処理しますが、「判定処理」をエッジコンピュータで行っています。
図1:クラウドコンピューティングとエッジコンピューティング
なぜ、エッジコンピューティングが必要なのでしょうか。その鍵となるキーワードはIoT(Internet of Things)です。すべてのものをインターネットにつなぐIoTの時代となり、体重計やスピーカー、テレビ、カーナビなど私達の身の回りのものが次々とネットにつながり便利になりました。IoTはこうしたB to C(消費者向け)だけでなく、B to B(企業向け)でも急速に広まっていて、工場の中の機械や装置もネット接続型のものが続々登場しています。
AIは大量データが欲しい、IoTは大量にデータを出力する。おお、なんという相思相愛なのでしょうか。まるでハマちゃんとみち子さん、ボルボとジョディー、デヴィ夫人と出川哲朗のようです。ということで相性の良いAIとIoTは、よく組み合わされて使われるようになったのですが、そうなると愛し合っているモノ同士が遠く離れることが許されなくなるのです。
なぜ、遠距離恋愛がダメなのかを画像を使った異常検知の例で説明しましょう。この場合のIoT端末はマシンビジョンカメラで、フレームレートは3FPSだとしましょう。3FPSということは1秒間に3枚ずつ写真が撮られているわけですが、このような大量画像をいちいちクラウドに送っていたら、インターネットトラフィックが膨大になりますし、クラウドコストもかさみます。
また、速度や信頼性(ロバスト性)の面でも不安です。インターネット回線は高速ではないので、「あ、これ異常!」と判定して自動処置をしようとしたときに間に合わない恐れがあります。また、インターネットが不安定になって一時的に異常検知できずに製造ラインを止めたりしていたら大損害です。セキュリティ上、生産ラインの機密データをクラウドに置かないというポリシーの会社もダメですね。遠距離恋愛は続かないとよく言われますが、IoT × AI という組み合わせを考えた場合、インターネット越しの遠距離恋愛も決してうまくいかないのです。
エッジコンピューティングの構成
エッジコンピューティングがどのようなネットワーク構成でどう処理するかを図2の例で説明しましょう。Vol.5で説明したようなマシンビジョンカメラにはUSB端子がついており、これをエッジコンピュータ(エッジ端末)に接続することで電源が供給されつつ画像を送信できます(パソコンにスマホをつないだときと同じ要領です)。
図2:エッジコンピューティングの構成例
ここではクラウドとエッジをネットでつなぎ、クラウド上で学習された分類器をクラウドからエッジコンピュータに直接デプロイしている想定ですが、日本では情報をクラウドに預けるのに抵抗のある企業も多いので、クラウドではなくオンプレミスサーバーやプライベートデータセンターで学習しているケースも多くあります。
エッジコンピュータにデプロイ(利用可能な状態にすること)された学習済分類器は、続々と送られてくるカメラ映像から製品をオブジェクト検知し、その製品が正常か異常かを判断します。エッジコンピュータと管理サーバーはLANで接続され、エッジからサーバーにオブジェクト検知画像、オリジナル画像、ヒートマップ画像、正常異常判定などの情報が渡されます。
異常発見時にラインを止めたり、異常品をはじき飛ばしたりする制御装置に対して、ここでは管理サーバーから異常品対処コマンドを出していますが、エッジコンピュータから直接制御装置にコマンドを出す方式も一般的です。
ここで示した構成はあくまでも1つの例です。管理サーバーを置かずにエッジコンピュータだけで処理する場合もあれば、複数ラインを1つのエッジコンピュータで対応する場合もあります。現場ごとに最適なネットワーク構成は異なるのですが、ソフトウェアをきちんとコンポーネント化しておくことにより柔軟な対応が可能となります。
【麻里ちゃんのAI奮闘記】エッジコンピュータってなんなの?
麻里:異常検知に使うカメラのとき普通の一眼レフカメラを想像していたらマシンビジョンカメラだったでしょう。エッジコンピュータってのもなんか特別のコンピュータなのかしら。 |
管理サーバーによるモニタリングと確認
図3は異常検知のモニタリング画面の例です。Vol.5の写真でベルトコンベアに乗っかっていたワッシャーは、カメラの動画から1つ1つのオブジェクトとして認識され、こんなふうにモニタリングされています。ここではエッジコンピュータで異常と判定した画像だけ確認するモードで表示しています。Vol.2で、異常検知では不良品の再現率を高めて”疑わしきは不良とする”と説明しましたが、それでも分類器の正常判定が完全に信用できない場合は、正常判定も含むすべての画像を送付して確認するケースもあります。
図3:異常検知のモニタリング画面(例)
人が監視していて「うん、これは違うぞ!」と思ったものは、クリックすると左のようなポップアップウィンドウで拡大表示します。右側に縦に並んでいるサムネイル画像は、上部からオリジナル画像、ヒートマップ画像、オブジェクト検出画像の順に並んでいてクリックすると拡大画像が切り替わります(図3はヒートマップ画像)。
分類器が異常とした製品の拡大画像を人が見て、「うん、これはやっぱ正常だな」って判断した場合は左下の「正常」「異常」ボタンで判定を覆すことができます。このようにAIの判定ミスを正したデータはサーバーに蓄積されたのちに、クラウドにバッチ転送され、クラウドの機械学習機能により追加学習して分類器の精度を高めます。このように運用しながらAIの分類精度を高める仕組みがアクティブラーニングです。
IoT機器とエッジコンピュータとの相性 ”先輩”は、エッジコンピュータは特別なものではないと言っていましたが、いざIoT(カメラ)とエッジ端末とアプリケーションを接続しようとしてうまくいかない場合があります。例として当社のぶち当たった障害をちらっと紹介します。 |
まとめ
今回は、異常検知ならエッジコンピューティングということで、エッジコンピューティングを実現するための具体的なネットワーク構成や役割分担について解説しました。巷でも「IoT × AI」という表現がよくなされますが、そんなときには”長距離恋愛はうまくいかないよ”っておせっかいおばさんのように声をかけてあげてください。
梅田弘之 株式会社システムインテグレータ :Twitter @umedano
- カテゴリ: