「カメラモジュールとは?市場・用途・実装について紹介」の記事では、最後にAIでの実装について述べました。
普段の生活でも耳にすることが多い「AI」という言葉ですが、AIが何かを説明することはできるでしょうか。
この記事では、AIとは何かを確認したうえで、組込みで使用されるAIやエッジ処理について紹介していきます。
そもそもAIとは?
AIの定義は専門家によっても異なり、「定義することはできない」としている専門家もいます。
公立はこだて未来大学の中島秀之氏
「人工的につくられた、知能をもつ実態。あるいはそれをつくろうとすることによって知能全体を研究する分野」
東京大学の堀浩一氏
「人工的に作る新しい知能の世界」
慶應義塾大学の山口高平氏
「人の知的な振る舞いを模倣・支援・超越するための構成的システム」
大阪大学の浅田稔氏
「知能の定義が明確でないので、人工知能を明確に定義できない」
出典:株式会社トライエッティング「AI(人工知能)の定義とは?特徴や機能を徹底解説!」
総務省の「令和元年版 情報通信白書」でも下記のように述べられています。
AIに関する確立した定義はないのが現状である。あえていえば、「AI」とは、人間の思考プロセスと同じような形で動作するプログラム、あるいは人間が知的と感じる情報処理・技術といった広い概念で理解されている。
引用:総務省「令和元年版 情報通信白書(第1部 特集 進化するデジタル経済とその先にあるSociety 5.0)」
機械学習
AIの手法の一部として、「機械学習」があります。
総務省の「令和元年版 情報通信白書」では機械学習について下記のように述べられています。
機械学習(マシーンラーニング、ML)とは、人間の学習に相当する仕組みをコンピューター等で実現するものであり、一定の計算方法(アルゴリズム)に基づき、入力されたデータからコンピューターがパターンやルールを発見し、そのパターンやルールを新たなデータに当てはめることで、その新たなデータに関する識別や予測等を可能とする手法である。
引用:総務省「令和元年版 情報通信白書(第1部 特集 進化するデジタル経済とその先にあるSociety 5.0)」
機械学習には、教師あり学習・教師なし学習・強化学習の3つの分類があります。
教師あり学習…入力データとデータ処理結果の正解(教師)を同時に与える。正解を参考に、他の入力データについの分類・識別や、今後の動向予測(回帰)をおこなう。
(活用例:画像や音声の認識、メールフィルタリング、翻訳、需要予測)
教師なし学習…入力データのみを与える。コンピュータは、データの共通項や法則性を独自に見つけ出してグループ化する(クラスタリング)。
(活用例:画像の高精細化や色彩の補正・着色、不良品の検知や設備トラブルの検出)
強化学習…入力データとコンピュータの出力結果に対する評価を与える。コンピュータは評価がもっとも良くなるよう判断し出力を調整する。
(活用例:囲碁や将棋などゲームのシミュレーション、エレベーターの制御)
参考:東日本電信電話株式会社 クラソル「機械学習と深層学習はどう違う?ビジネス有効活用のポイントを解説」
株式会社レッジ Ledge.ai「教師なし学習とは | 教師あり学習や強化学習との違い・活用事例・代表的なアルゴリズムを紹介」
ディープラーニング(深層学習)
さらに、機械学習の一部には、ディープラーニングとも呼ばれる「深層学習」があります。
総務省の「令和元年版 情報通信白書」では深層学習について下記のように述べられています。
深層学習とは、多数の層から成るニューラルネットワークを用いて行う機械学習のことである。深層学習という概念は、あくまでもこの多層的なニューラルネットワークに着目したものであるが、深層学習により、コンピューターがパターンやルールを発見する上で何に着目するか(「特徴量」という。)を自ら抽出することが可能となり、何に着目するかをあらかじめ人が設定していない場合でも識別等が可能になったとされる。
引用:総務省「令和元年版 情報通信白書(第1部 特集 進化するデジタル経済とその先にあるSociety 5.0)」
深層学習は、機械学習のうちニューラルネットワークと呼ばれる手法が進化した学習方法で、ニューラルネットワークの隠れ層(中間層)を多層化することで、より高度なデータ処理ができます。
以下が、機械学習(深層学習以外)と深層学習の主な違いです。
機械学習(深層学習以外) | 深層学習 | |
学習スピード | 速い | 遅い |
学習データ量 | 少量でも可能 | 大量に必要 |
コンピューターに必要なスペック・処理力 | 深層学習ほどは高くない | 高い |
特長 | 用いるアルゴリズムの見当がついている場合は素早く結果を入手できる | 人間には対応が難しい複雑な処理も可能 |
参考:東日本電信電話株式会社 クラソル「機械学習と深層学習はどう違う?ビジネス有効活用のポイントを解説」
参考:株式会社電算システム「機械学習と深層学習の違いとは?メリットや課題を挙げながら解説」
組込みで使われるAIとは?
それではいよいよ、AIの活用状況を見ていきましょう。記事を作成している2023年1月時点では、組込み機器開発において、エッジAIの利用が進んでいます。
エッジAIとは、AIを端末に搭載し、端末側で学習済みモデルを用いて推論をおこなってから、結果をクラウドに送信する仕組みです。
従来は、IoT機器やセンサーなどの端末から収集したデータをクラウドに送信してクラウド上で処理し、結果を端末に戻していました。しかしこのクラウドAIの手法では時間がかかり、リアルタイム性も担保されず、通信量コストもかさんでしまうという課題がありました。
高度化されたセンサーのデータ量は、2018年から2025年までに79兆4億GBと5.8倍まで増大するという予測もあり、クラウド側で一元処理するには、リアルタイム性やセキュリティ面、処理前のデータを大量に送る端末側のメモリサイズの問題がますます大きくなってしまいます。
そこで、クラウドAIと組み合わせて使用され始めたのがエッジAIです。
参考:JAPANSecuritySummit Update「組込みAIの基礎知識と、現状の課題を解決する最新ソリューションとは?」
参考:コネクシオ株式会社「クラウドAIとエッジAIとは? メリット・デメリットや違いを解説」
エッジAI処理とは?
エッジAIの特長を紹介します。
特長1:リアルタイム性
AI処理を端末側で行うため、判断を出してから受け取るまでのタイムラグが発生せず、端末制御をリアルタイムでおこなえます。
特長2:通信コスト削減
端末側で保持している学習済みモデルで事前にデータを処理してから、結果データのみをクラウドへ送信します。そのため、推論に必要なすべてのデータを送るクラウドAIよりもデータ容量を抑えられ、通信コストを削減できます。
特長3:セキュリティ強化
エッジAIでは、学習済みモデルを基に端末で推論をおこない、結果データのみをクラウドへ送信します。推論に必要な個人が特定できるようなデータを、インターネットに経由させる必要がないため、セキュリティ面も強化できます。
留意点
一方で留意しておかなければいけない点もあります。
エッジAIで使用するCPUやGPUはクラウドAIに比べてスペックが低く、大容量のデータ処理には向きません。また、推論と学習の実行場所が異なるため、高度で複雑な処理にも制約があります。
さらに、端末にAIを搭載することでシステム設計や保守運用の難易度が上がり、導入ハードルが高いことにも注意が必要です。
これらのメリット・デメリットを理解したうえでエッジAIの活用を検討するとよいでしょう。
参考:JAPANSecuritySummit Update「組込みAIの基礎知識と、現状の課題を解決する最新ソリューションとは?」
参考:コネクシオ株式会社「クラウドAIとエッジAIとは? メリット・デメリットや違いを解説」
RTOSを使ったAI分析
組込みデバイスやモバイル端末上でAIを動かす際は、メモリや処理速度の制約や、デバイス独自の実装方法が存在するため、AIと組込み開発両方の知識が必要です。
開発にはリアルタイムOSであるRTOSが適しており、その中心部分であるカーネルが持つ主な機能の一つに、マルチタスク機構があります。マルチタスクとは、複数のタスクを並列に処理するために、CPUを仮想化、多重化するシステムのことですが、実際にはある時刻にCPUが実行できるのはひとつのタスクのみです。RTOSは、時分割で制御して複数のタスクの実行を疑似的に平行実行させる機構を持っています。RTOSを使うとAIをタスクとして処理ができます。
RTOSを使ったAI分析をおこないたい方は「組み込み用小型カメラを使いこなす Vol.3 ~カメラの画像をAIで判別する~」の記事も、ぜひご覧ください。