メディア
連載
» 2019年05月27日 11時00分 公開

ハイレベルマイコン講座 【組み込みAI編】(2):マイコンでAIを実現するための手順 (1/3)

すでにマイコンを使い込まれている上級者向けの技術解説の連載「ハイレベルマイコン講座」。前回はAIアプリケーションの特長(組込みAIのメリット)まで解説した。今回は実際に「組み込みAI」を構築する手順ついて解説する。

[STマイクロエレクトロニクス,EDN Japan]

 前回に引き続き「組み込みAI」について解説する。前回はAIアプリケーションの特長(組込みAIのメリット)まで解説した。今回は実際に「組み込みAI」を構築する手順ついて解説する。


組み込みAI実現のステップ

 図1にマイコンを使った組み込みAIの実現ステップを示す。大きく分けると次の5ステップで構成される。

図1:組み込みAIの実現ステップ

1. 学習用データ(教師データ)収集
2. 学習用データのラベリング
3. 人工ニューラルネットワーク・モデルの学習
4. 学習済み人工ニューラルネットワークをマイコン用コードへ変換
5. 学習済み人工ニューラルネットワークによるマイコンでの処理、分析

 「組み込みAI」のポイントとしては、ステップ4の「学習済み人工ニューラルネットワークをマイコン用コードへ変換」が挙げられる。マイコンの内蔵メモリは、ディープラーニング(深層学習)したモデルを格納するには小さすぎるし、メモリを外付けにしたとしても限界がある。そのため、ステップ3の「人工ニューラルネットワーク・モデルの学習」の結果を、そのままマイコンに移植することはできない。また、一般的に、人工ニューラルネットワークはC言語など組み込みで使用される言語で記述されず、Pythonなどの高水準言語が使用され、そのままマイコンに実装することができない。そのためステップ4が必要になる。

 さらに、「人工ニューラルネットワーク・モデルの学習」の結果をマイコンの演算に反映させるためのインタフェースプログラムが必要になる。

 次に、各ステップについて詳しく説明する。

1. 学習用データ収集 

 図2に、ニューラルネットワークの有名な横28ドット、縦28ドットで描かれた手書き文字を判別する例を挙げる。

図2:組み込みAIの実現ステップ1「学習用データ収集」

 横28ドット、縦28ドットなので計784ドットをつなぐ線を読み取らなければならない。人工ニューラルネットワークは784個のドットが0か1かを判別して文字を認識する。同じ「1」でも比較的縦につながっているもの、斜めにつながっているものなどさまざまなパターンがある。人が見れば一目瞭然だが、人工ニューラルネットワークは0と1の1列になったパターンだけで判断しなければならない。

2. 学習用データのラベリング

 次に、学習用データが何であるかのラベルを付ける。具体的には、手書き文字を認識させるなら手書き文字の画像データ1つ1つに名前をラベリングする。これは、事前に与えられた学習用データをいわば「先生からのガイド」とみなして、それをもとに学習を行うことで「教師あり学習」と呼ばれる(図3

図3:組み込みAIの実現ステップ2「学習用データのラベリング」
       1|2|3 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

RSSフィード

公式SNS

EDN 海外ネットワーク

All material on this site Copyright © ITmedia, Inc. All Rights Reserved.
This site contains articles under license from AspenCore LLC.