マイコンでAIを実現するための手順:ハイレベルマイコン講座 【組み込みAI編】(2)(1/3 ページ)
すでにマイコンを使い込まれている上級者向けの技術解説の連載「ハイレベルマイコン講座」。前回はAIアプリケーションの特長(組込みAIのメリット)まで解説した。今回は実際に「組み込みAI」を構築する手順ついて解説する。
前回に引き続き「組み込みAI」について解説する。前回はAIアプリケーションの特長(組込みAIのメリット)まで解説した。今回は実際に「組み込みAI」を構築する手順ついて解説する。
組み込みAI実現のステップ
図1にマイコンを使った組み込みAIの実現ステップを示す。大きく分けると次の5ステップで構成される。
「組み込みAI」のポイントとしては、ステップ4の「学習済み人工ニューラルネットワークをマイコン用コードへ変換」が挙げられる。マイコンの内蔵メモリは、ディープラーニング(深層学習)したモデルを格納するには小さすぎるし、メモリを外付けにしたとしても限界がある。そのため、ステップ3の「人工ニューラルネットワーク・モデルの学習」の結果を、そのままマイコンに移植することはできない。また、一般的に、人工ニューラルネットワークはC言語など組み込みで使用される言語で記述されず、Pythonなどの高水準言語が使用され、そのままマイコンに実装することができない。そのためステップ4が必要になる。
さらに、「人工ニューラルネットワーク・モデルの学習」の結果をマイコンの演算に反映させるためのインタフェースプログラムが必要になる。
次に、各ステップについて詳しく説明する。
1. 学習用データ収集
図2に、ニューラルネットワークの有名な横28ドット、縦28ドットで描かれた手書き文字を判別する例を挙げる。
横28ドット、縦28ドットなので計784ドットをつなぐ線を読み取らなければならない。人工ニューラルネットワークは784個のドットが0か1かを判別して文字を認識する。同じ「1」でも比較的縦につながっているもの、斜めにつながっているものなどさまざまなパターンがある。人が見れば一目瞭然だが、人工ニューラルネットワークは0と1の1列になったパターンだけで判断しなければならない。
2. 学習用データのラベリング
次に、学習用データが何であるかのラベルを付ける。具体的には、手書き文字を認識させるなら手書き文字の画像データ1つ1つに名前をラベリングする。これは、事前に与えられた学習用データをいわば「先生からのガイド」とみなして、それをもとに学習を行うことで「教師あり学習」と呼ばれる(図3)
Copyright © ITmedia, Inc. All Rights Reserved.