マイコンで実現するAI ――「組み込みAI」とは:ハイレベルマイコン講座 【組み込みAI編】(1)(2/3 ページ)
マイコンを使い込んでいる上級者向けの技術解説の連載「ハイレベルマイコン講座」。2回にわたって、汎用マイコンにAIを実装するための開発ツール「STM32CubeMX.AI」を題材にして「マイコンを使った組み込みAIアプリケーション(組み込みAI)」について解説する
AIの仕組み
AIとはコンピュータによる人工的な知能であるが、これを実現するために機械学習の手法が使われる。機械学習とは、人間の学習にあたる仕組みをコンピュータ(機械)で実現する技術や手法のことだ。
一方、人工のニューロン(=神経細胞)を複数相互に結び付けて人工ニューラルネットワーク(または、人工ニューロンネットワーク)を構築して学習するディープラーニング(Deep Learning)という手法がある。現行のAIの多くは機械学習のアプローチ中でディープラーニングを組み込むことによって実現される(図3)
人工ニューラルネットワークとは、人間の脳細胞にあるニューロンの仕組みをプログラム的に模したものだ。人工のニューロンは複数の入力を持っており、各入力はそれぞれ異なる「重み」が定義されていて、入力の値に「重み」を乗算して、合算する構造になっている。
この人工ニューロンを複数相互に結び付けることにより人工ニューラルネットワークは構成される。
外部から与えられた入力を受け取る入力層、処理結果を出力する出力層との間に隠れ層と呼ばれる外部からは見えないネットワークが1層挟まれていて、各層が計算する機能を持っている。
この人工ニューラルネットワークによって、猫の画像からコンピュータが猫を判別する話は有名である。また、最近では犬の鼻紋の画像から個体を識別する実証実験が行われているという話も聞く。
現在、人工ニューラルネットワークによるニューロコンピューティング環境を実現する方法には2通りの方法がある。
- コンピュータ上に環境を構築する
- クラウドに構築された環境(クラウドサービス)を利用する
前者については、例えばPC上で環境を構築しようとする場合、PCのソフトウェア言語(Pythonなど)の知識を持ち、プログラム技術に長けている必要がある。また、比較的簡単な方法では、環境構築を支援するためのソフトウェアを使う方法もある。環境を構築するためにはハードウェアも欠かせない。GPUなどが搭載されたの高速演算が可能なPCなどが必要になる。
一方、後者のクラウドサービスを利用する方法は、ほとんどの場合で利用料が必要になるが、プログラミングに関する知識がなくても利用できるため、比較的容易に環境構築が可能だ。ただし、これらはビジネスを対象としたサービスが多いので、AIの「推論アルゴリズム」を構築する際には、特定のビジネスに特化しなければならず、その結果、用途がある程度制限される。
人工ニューラルネットワーク環境は、どちらを選んでもかまわない。「組み込みAI」は、希望するAIの推論アルゴリズムを構築しない限り実現できないので、いずれにしろ人工ニューラルネットワーク環境は必要だ。
身の回りのAI
最近では、すでに私たちの暮らしの中でAIが活用されている。例えば、スマートスピーカーやスマートフォンの音声認識などがすぐ思いつくだろう。図4にいくつかの例を挙げたが、ここで挙げた例では、ほとんどがクラウドサービスで運用されている。言い換えると、インターネット環境がないと使用できないサービスである。
このほかにも「AIを農業に適用して、収穫量を増やすシステム」、「テレビにAIを取り入れて、画質の向上を図るシステム」、前述した「洗濯機の洗い方の自動判断」などがある。
Copyright © ITmedia, Inc. All Rights Reserved.