4.IoT時代のセンサデータ
センサ信号をマイコンとつなぐインターフェイス規格として図10に示すようにSPI(Serial Peripheral Interface)やI2C(Inter-Integrated Circuit)などがあり、図中に示すプログラム命令(Python言語)を使いセンサデータの取得を簡便にしている。
次世代センサ協議会では、「IoTセンサ技術実習セミナー」を行っているが、これはワンボードコンピュータのラズベリーパイ3(Raspberry Pi 3)を使い各種センサを用いた計測とそのデータのクラウドへの収集を経験するものである。
図11はラズベリーパイ3の全体写真とその外部端子である。名刺大の大きさで通信端末として有線LAN、WiFi、Bluetoothを内蔵しており、外部インターフェイスとして上記のSPI(Serial Peripheral Interface)とI2C(Inter-Integrated Circuit)を備えている。
ラズベリーパイ3は、最近のマイコンではよく内蔵されるA/D変換回路を持たないので、外部にA/D変換回路を設けてセンサからのアナログ信号を取り込む必要がある。マイクロチップ社のMCP3002(SPIインターフェイスを持つ10ビット2チャンネルA/D変換回路)を使用した場合の測定例を図12に示す。
ラズベリーパイでは、プログラミング言語としてGuido van Rossum氏が開発したPythonが良く使われる。Pythonは人が理解し易い高水準言語で、機械語に翻訳するコンパイルが不要なスクリプト言語であり、AI(Artificial Intelligence)のディープラーニングのプログラムでも良く使用されている。
図12の回路に対するデータ取得プログラムを参考のため図13に示す。最初のimport という命令はPythonに組み込まれている共通の機能がまとめられているモジュールを読み込みもので、import spidevはspidev モジュールをインポートする命令、spi = spidev.SpiDev()はSpidev オブジェクトのインスタンス(あらかじめ定義されたプログラムやデータなどを 、メインメモリ上に展開して処理・実行できる状態にしたもの)作成の命令である。このプログラムにより、2種類のアナログ信号のデータを読むことができる。
IoT(Internet of Things)においては、センサにより集められた大量のデータ(ビッグデータ)をどう活用するかが大きな課題になっており、図14に示すようにAIの利用、中でもAIの一分野である『機械学習』の一つである『深層学習(Deep learning)』に期待がかかっている。機械学習とは「ロボットやコンピュータなどの機械が、与えられたデータから自動的に学習し最適なパラメータを取得する手法」で、深層学習(Deep learning)は神経細胞の回路網に相当するニューラルネットワークが多層(Deep)に構成されたものである。囲碁で「AlphaGo」がプロ棋士に勝利した事や、自動車の自動運転などにより、第3次AIブームが実感されるようになっている。
深層学習(Deep learning)は、脳を手本としたもので、脳と似た構造、機能をもっている。脳の神経細胞(ニューロン)回路における、神経細胞の興奮(活動電位)の生化学的なメカニズム、シナプス結合による他細胞への信号伝達、学習によるシナプスの伝達効率の変化(シナプスの可塑性)は図15のように人工のニューラルネットワークに対応される。また、脳は6層の神経回路網からなり高度な情報処理が行われている。
1980年代の第2次AIブームにおいて、機械学習の一つとしてバックプロパゲーション(Backpropagation、誤差逆伝播法)がDavid E. Rumelhartにより提唱された。3層のニューラルネットワーク(入力層、中間層、出力層)において中間層の活性化関数として非線形関数が用いられ、出力層の誤差からニューラルネットワークの結合度が調整される。そのため、ニューラルネットワークを多層化すれば脳のような情報処理が実現できると期待された。しかし、多層化による高度な学習実現の試みは、しばらく頓挫することになる。これは、ニューラルネットワークの層を増やしてゆくと、当時のバックプロパゲーションの手法では出力誤差から十分な学習ができなかったためである。
『深層学習(Deep learning)』は、ニューラルネットワークの層を多層に深くしても学習できるように工夫されたもので、画像や音声の解析に効力を発揮している。2012年に画像認識の世界的なコンテストであるILSVRC(ImageNet Large Scale Visual Recognition Challenge)で「AlexNet」3) が多層のCNN(Convolutional Neural Network、畳み込みニューラルネットワーク)を使用して抜群の認識率を達成した。それ以降、CNNにおいて層をより深くしたニューラルネットワークによる認識率の向上が競われている。
『深層学習(Deep learning)』に関して、次世代センサ協議会ではディープラーニングセミナー(実習付き)が行われており、このセミナーにおいてはディープラーニングライブラリを用いた、多層ニューラルネットワークでの画像認識、再帰ニューラルネットワークでの時系列データ予測、上記のCNNによるMNISTの手書き文字認識の実習が自分のパソコン上で実施することができる。また、モーターの動作異常の検出を、加速度センサで測定した信号をディープラーニングで解析することにより行っている。自分でプログラムや装置を動かすことにより、ディープラーニングの性能を実感できるものとなっている。
5.IoT時代のセンサ情報セキュリティ
IoTの普及とともに重要性を増しているのがセンサ情報のセキュリティである。図5に示したように、IoTが現実の物理空間とサイバー空間をつなぐものであるため、IoT機器へのサイバー攻撃は人の生命や社会の安全に対する大きな脅威になる可能性がある。
「IoTセキュリティガイドライン」4) は、これらの脅威に対処するために経済産業省と総務省が示したもので、センサに関するものとしては(1)外部インターフェイスからのリスク、内包リスク、物理的接触リスクの3つについて個々の機器で対策を検討、(2)個々のIoT機器やシステムで対応しきれない場合、それを含む上位の機器やシステムで対策を検討、(3)IoT機器・システムの異常を検知できる設計、などが示されている。
6.おわりに
IoT時代のセンサ技術について、これまでの進歩や現状、将来について解説を行った。IoTにおいてはデータが中心的な役割を果たすが、それを生み出すセンサの重要性が改めて注目されている。
IoTセンサ技術研究会は、次世代センサ協議会の目指す「センサを高機能・高付加価値化させる革新的センサ技術」=「SENSPIRE (=Sensor inspire)」創出の一端を担う活動を行っている。