メール
電話
メニュー
初期検討からデータ収集~実装まで、POC(概念実証)の第一歩をサポート
エッジAIコンサルテーション
富士ソフト社製
エッジAI開発は、目的の推論機能に特化した実装を行うところが、一般的なクラウドAIとは全く異なります。それぞれの用途や目的に最適なエッジAIプラットフォームを選択していく必要があります。
エッジAI開発ではあらかじめAIプラットフォームを設定する必要があります。理由はAI処理に使用できるプロセッシングパワー、メモリサイズ、発熱量、消費電力、推論速度(処理系レイテンシー)、通信速度(通信系レイテンシー)など、多くの前提条件を考慮する必要があるからです。
エッジAIプラットフォームを決め、オブジェクティブデザイン・学習データの準備が出来た時点で、ようやくAIの学習の段階に移ります。
※余談ですが、ChainerやTensorflowなど、学習に使用するフレームワークには様々ですが、エッジ側で使用するプラットフォームのモデル・オプティマイザーが対応しているフレームワークを考慮して選択しておくのもポイントです。一般的にはオープンソースのCaffeとTensorFlowなどが各社のモデル・オプティマイザーでのサポート範囲が広いと言われています。
Classification(分類)のケースでエッジAI開発の大枠な流れを説明していきましょう。
まず、エッジAI化を意識してどのニューラルネットワークを使用するのかを選択します。例えばVGGなのかGoogLeNetなのか。そうすると使用するフレームワークが決まります。
ニューラルネットワークが決まると、次はそのネットワークに入力する画像サイズを決めていきます。エッジAIの場合は、実際に使用する環境で入力される画像のサイズや、エッジAI側のプラットフォームのリソース(処理能力やメモリーサイズ等々)も考慮する必要があるので、ここは非常に重要なステップになります。
いよいよディープラーニングの設定です。まずオプティマイザーを決めます。AdaDelta, Adam,など色々な選択肢がありますが、オプティマイザーの選択に法則はうまく当てはまらないことが多いです。あまり理論的ではないですが、“経験則的に試してみる“というのが最も現実的なアプローチだと考えています。
次にハイパーパラメーターの設定です。オプティマイザー毎に調整できるハイパーパラメーターが異なりますので、ここでは代表的な中間層のユニット数、荷重減衰の意味とエポック数と学習率の調整についてお話ししていきましょう。
中間層のユニット数は多いほうが表現できる関数が広がります。つまり“賢くなれる”ということです。しかし、それだけ消費されるリソース(プロセス時間・ハードウェアリソース)が大きくなるため、エッジAIにおいては必ずしも“良い選択”とは言えません。なぜなら、リソースが潤沢なクラウドAIと異なり、必要な精度が出せる最小限のリソースで構成することがエッジAIでは求められるからです。
荷重減衰は学習のし過ぎを抑制するパラメータです。学習を進めすぎると学習済みの極端なデータ・パターンに対応してしまい、本来の目的からずれ、汎化性が獲得できなくなってしまうことになります。荷重減衰はそれを抑制するパラメータですが、効かせ過ぎると学習が進まないという状況になります。このパラメータは少々厄介で、データによって都度調整が必要です。
エポック数についてです。多くのハイパーパラメータが用意されていますが、一般的にはデフォルト設定(初期設定)値が用意されていることが多く、とりあえずそのまま学習を進めることができます。但し、使用するHW環境にもよりますが、学習には数時間かかることも多いため、オプティマイザーの選択の正当性を早く見極めたいとこなどはバッチサイズ(学習時の学習データの数の単位)を大きめにとって、エポック数を小さく設定して傾向だけを見極めるというように調整して、人間が設定しておかなければならないパラメータを初期段階で出来るだけ正しく決めてあげることが効率の良い学習作業に繋がります。このようにエポック数は学習の進め方によって調整すべき、変更頻度の非常に高いパラメータです。
学習率は文字通り、“学習”に大きく影響する最も重要なパラメータの一つです。しかも、学習の進み具合によって動的に調整する必要があるという厄介な性質があります。最後の数%の精度向上の為に学習を進めて行くうえでは避けて通れないパラメータです。一般的に学習が進んでいくにつれて学習率を下げていく調整を行います。
ここまでくれば、一旦学習完了という段階になります。但し、エッジAI特有のアプローチとしては、汎化性よりも特定のパターンを高い精度で分類することが求められるケースが多く、その場合は過学習気味に学習を進ませることで、より高い精度を獲得することができる場合があります。このあたりは一般的なクラウドAIのアプローチ、というか一般的なAIセオリーが通用しないエッジAI特有のエッセンスと言えます。
基本的な流れはGPUとCPU(または各種SoC)でもほとんど同じアプローチとなります。基本的には学習済みのニューラルネットワークモデルファイルを各プラットフォーム向けのモデル変換・最適化ツールを使って、対象デバイスで実行できるコードやイメージに変換します。その際、量子化・枝刈り・高速なコードへの変換などが行われ(処理はツールや設定によって異なります)、最終的には対象デバイスでネイティブに近い形で実行可能な推論コードが生成されます。
大きく実装・開発手法が異なるのがFPGAのエッジAI実装のケースです。 ここで想定しているのは、SoC FPGAと呼ばれるCPUとFPGAが一つのシリコン上に展開された半導体デバイスです。SoC FPGAは一般的なプロセッサを搭載しているためソフトウェア開発が容易という特徴と、自由に再構成可能な論理回路による高速処理性能を併せ持つ半導体デバイスです。この特徴を生かし、AIのニューラルネットワークをハードウェアとして実装可能で、高い処理性能と低消費電力、省スペースが同時に実現できます。そのため、エッジAIの有力なプラットフォームとして熱い注目を集めています。しかし、その実装方法に高い専門性が必要で、AI技術者だけではなくFPGA技術者とソフトウェア技術者など多方面の専門知識や経験・スキルが要求されることから、その実用性に向けたハードルが高い状態でした。 富士ソフトではエッジAIを実装する最も優れたプラットフォームの一つにSoC FPGAを位置付けてきました。そして、そのエッジAI実装技術をメニュー型技術コンサルテーションとして提供しています。
以下は、FPGAを使ったエッジAI化のフローです。
お客様が自社製品へのAI機能の導入検討・開発を進めるなかで、PC上やサーバで作成したAIを製品化に向けた組み込みや評価をする段階に来て、”さて・・どのようにAI機能を実際の製品に組み込めばいいのか?”という技術者の声を耳にします。 多くの技術者は先ず、開発環境と同じ構成のものを小型・簡略化する方向から検討するケースが多く、次は消費電力・長期供給・発熱と放熱対策・物理的な大きさ、等々の問題に悩まされます。こうした状況から弊社の「エッジAI実装コンサルテーション」でご提案する、目的に応じてエッジAI用デバイスを選定し、推論に特化したAIに最適化・再構成して実装するアプローチは、技術者の方からの関心も高く、さまざまな利用シーンを想定したお問い合わせを頂いております。典型的な用途として3つの例をご紹介します。
AI機能の導入には大きな決断が必要です。なぜなら巨額の費用が発生し費用対効果も予測しにくいからです。AIの導入効果は実際に稼働してみないと確認出来ない部分が多く、例えば成果が出てもその効果が想定よりも低い場合は成功とは言えませんし、そもそも成果が出せなければ判断ミスとなり事業に影響が出る恐れもあります。そこで、導入前に機能的な事前検証だけでも評価することができれば、AI導入の判断をより小さなリスクに抑えながら検討を進めることができます。「エッジAI実装コンサルテーション」を使って早期に機能評価を行うことで、より実情に近い検証結果を元に導入検討や細部に時間をかけた詳細な購入検討を行うことができます。巨額な費用を伴うAI導入において事前にAI機能の検証を行えることは、大きなリスクヘッジになります。
エッジAI対応製品の実現のためには、どのようにAI機能を機器に組み込むことができるかという検討と評価が非常に重要です。研究・開発の初期レベルと実際の製品設計では、制約事項や要求条件が異なることが多く、製品設計の段階で再検討になることがあります。発熱対応や使用環境に合わせた実際の設計においては、製品化前のプロトタイプでの試験と評価が重要になります。 評価ボードなどを使った簡易的なプロトタイプを短期で実現できれば、ハードウェア設計の初期段階で、実際の製品開発に向けた質の高い設計検討が行えます。「エッジAI実装コンサルテーション」をご利用いただくことで、AI推論機能を実装したプロトタイプを早い段階で作成し、製品設計の質を高めながら開発期間の短縮にも貢献できます。
市販の機器や評価ボードを用いてお客様のAIを実装することで、実際に動作しているエッジAI機能そのものをPOCとして早期に実現することができます。これにより、AI対応版の自社製品開発中でも、搭載されるエッジAI機能を展示会やイベントで先行露出することができます。 顧客やメディアに対して、実機を使った目の前で機能動作するデモンストレーションを行うことで、実現性を強くアピールできる説得力のあるプロモーションとなります。また、開発途中の早い段階で顧客や市場からのフィードバックが得られることで、実際の製品設計に反映させることもできます。 エッジAI機能のPOCやデモ評価が早い段階で行えることは、製品設計や開発の質を向上させるだけでなく、市場への訴求力や企業イメージの向上、顧客へのアピールの観点でも重要と考えられます。
製品詳細や価格などコンシェルジュにご相談できます!お気軽にお問い合わせください。
お急ぎの場合、お電話でのお問い合わせも承っております。TEL:050-3000-2102(エンベデッドソリューション推進部)までご連絡ください。
フォームが表示されるまでしばらくお待ち下さい。
恐れ入りますが、しばらくお待ちいただいてもフォームが表示されない場合は、こちらまでお問い合わせください。
お急ぎの方はこちらから
お探しの組み込み製品はキーワードで検索!