FUJISOFT

富士ソフト 組み込み開発 富士ソフト 組み込み開発

メルマガ会員登録 English
検索
Emailお問い合わせ
  • メール

  • 電話

  • menu

    メニュー

  • 組み込み受託開発
    • FPGA開発
    • アプリケーション開発
    • モデルベース開発
    • ROS開発
    • 第三者検証
    • 虹彩認証
    • IoT開発
  • 組み込み製品情報
    • メーカーから探す
    • 製品カテゴリ
    • アプリケーション
    • 富士ソフト
    • AVAL DATA
    • Avery Design Systems
    • BittWare
    • COMCORES
    • DAVE Embedded Systems
    • DELL EMC
    • Digital Core Design
    • HiTech Global
    • IntelliProp
    • IOxOS
    • IPCLOCK
    • iWave Systems Technologies
    • MACNICA
    • Microtronix
    • Mixel
    • NDR
    • NECプラットフォームズ
    • NORTHWEST LOGIC
    • PathPartner
    • BlackBerry QNX
    • System-On-Chip
    • TES Electronic Solutions
    • TUL
    • YUAN
    • 画像技研
    • ギズモインターナショナル
    • 高度圧縮技術研究所
    • 長瀬産業
    • ニューテック
    • ポートウェルジャパン
    • ECS
    • SIKUR
    • Bluespec
    • ARBOR Technology
    • MiTAC Computing Technology
    • Micro-Star International
    • Embedian
    • Hardent
    • SECO
    • Veridify Security
    • Rambus
    • Dolphin
    • Andes Technology
    • Kontron
    • SolidRun Ltd.
    • AVNET
    • Xilinx
    • 産業用PC
    • サーバー
    • PCIeカード
    • SoM
    • FPGAボード
    • IP(IPコア/FPGA/ASIC)
    • ソフトウェア
    • サービス・ソリューション
    • その他
    • 5G
    • AGV
    • AI
    • HMI
    • HPC
    • アクセラレーション
    • イメージセンサー
    • オートモーティブ
    • ストレージ
    • セキュリティ
    • データセンター
    • ネットワーク
    • プロセッサ
    • ペリフェラル
    • モバイル端末
    • ロボットアーム
    • 工場自動化
    • 映像配信
    • 暗号化
    • 測定器
    • 画像処理
    • 監視システム
  • 受託開発実績
  • 組み込み業界情報
  • 更新情報

embededd

close

  • 組み込み受託開発
  • 組み込み製品情報
    • 富士ソフト製品から探す
    • エッジAIコンサルテーション
    • Stereo Vision IP Suite(販売終了)
    • AUTOSAR 開発体験キット
    • +F FS040U
    • Androidソリューション
    • MISSION
    • FS KAREN
    • メーカーから探す
    • 富士ソフト
    • AVAL DATA
    • Avery Design Systems
    • BittWare
    • COMCORES
    • DAVE Embedded Systems
    • DELL EMC
    • Digital Core Design
    • HiTech Global
    • IntelliProp
    • IOxOS
    • IPCLOCK
    • iWave Systems Technologies
    • MACNICA
    • Microtronix
    • Mixel
    • NDR
    • NECプラットフォームズ
    • NORTHWEST LOGIC
    • PathPartner
    • BlackBerry QNX
    • System-On-Chip
    • TES Electronic Solutions
    • TUL
    • YUAN
    • 画像技研
    • ギズモインターナショナル
    • 高度圧縮技術研究所
    • 長瀬産業
    • ニューテック
    • ポートウェルジャパン
    • ECS
    • SIKUR
    • Bluespec
    • ARBOR Technology
    • MiTAC Computing Technology
    • Micro-Star International
    • Embedian
    • Hardent
    • SECO
    • Veridify Security
    • Rambus
    • Dolphin
    • Andes Technology
    • Kontron
    • SolidRun Ltd.
    • AVNET
    • Xilinx
    組み込み製品情報 TOP
  • 受託開発実績
  • 組み込み業界情報
  • 更新情報
検索
English
  • ホーム
  • 組み込み受託開発
  • 組み込み製品情報
  • 受託開発実績
  • 組み込み業界情報
  • 更新情報
  • 富士ソフト 組み込み開発 TOP
  • 組み込み製品情報
  • 富士ソフト
  • エッジAIコンサルテーション
  • エッジAI実装・コンサルテーション

初期検討からデータ収集~実装まで、POC(概念実証)の第一歩をサポート

エッジAIコンサルテーション

富士ソフト社製

  • Home
  • エッジAIデータ・コンサルテーション
  • エッジAI実装・コンサルテーション

AI制作からエッジデバイスへの実装までをカバーする
エッジAI実装・コンサルテーション

 エッジAI開発は、目的の推論機能に特化した実装を行うところが、一般的なクラウドAIとは全く異なります。それぞれの用途や目的に最適なエッジAIプラットフォームを選択していく必要があります。

  • ・対象プラットフォームに最適なニューラルネットワークの設計
    • 1. 入力画像サイズ
    • 2. 分類数・類似性
    • 3. 処理速度(FPS)
    • 4. 学習・最適化・評価
    • 5. AI開発環境にて学習
    • 6. 精度の最適化のためのパラメータ調整
  • ・ニューラルネットワークのエッジ化
    • 1. FPGA: 学習済モデルのC言語化・高位合成
    • 2. GPU: 学習済のモデルFileをGPUのモデルOptimizerでGPUに展開するイメージを生成・推論のシーケンスをC言語もしくはパイソンで作成
    • 3. CPU:学習済のモデルFileをCPUのモデルOptimizerで各推論機能毎のNNのプログラムを生成、それをビルドして実行コードを作成
  • ・機能・性能確認
    • 1. POC評価
    • 2. フィールド・トライアル
    • 3. 製品モデル開発
img05

 エッジ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特有のエッセンスと言えます。

エッジAIの実装

GPUやCPUを使ったエッジAI化

 基本的な流れはGPUとCPU(または各種SoC)でもほとんど同じアプローチとなります。基本的には学習済みのニューラルネットワークモデルファイルを各プラットフォーム向けのモデル変換・最適化ツールを使って、対象デバイスで実行できるコードやイメージに変換します。その際、量子化・枝刈り・高速なコードへの変換などが行われ(処理はツールや設定によって異なります)、最終的には対象デバイスでネイティブに近い形で実行可能な推論コードが生成されます。

FPGAを使ったエッジAI化

大きく実装・開発手法が異なるのがFPGAのエッジAI実装のケースです。 ここで想定しているのは、SoC FPGAと呼ばれるCPUとFPGAが一つのシリコン上に展開された半導体デバイスです。SoC FPGAは一般的なプロセッサを搭載しているためソフトウェア開発が容易という特徴と、自由に再構成可能な論理回路による高速処理性能を併せ持つ半導体デバイスです。この特徴を生かし、AIのニューラルネットワークをハードウェアとして実装可能で、高い処理性能と低消費電力、省スペースが同時に実現できます。そのため、エッジAIの有力なプラットフォームとして熱い注目を集めています。しかし、その実装方法に高い専門性が必要で、AI技術者だけではなくFPGA技術者とソフトウェア技術者など多方面の専門知識や経験・スキルが要求されることから、その実用性に向けたハードルが高い状態でした。 富士ソフトではエッジAIを実装する最も優れたプラットフォームの一つにSoC FPGAを位置付けてきました。そして、そのエッジAI実装技術をメニュー型技術コンサルテーションとして提供しています。

以下は、FPGAを使ったエッジAI化のフローです。

エッジAI実装製品の開発の流れ

エッジAI実装・コンサルテーション概要


STEP1 事前レポートの作成・ご提供(無料)
お客様のエッジAIの開発・設計にあたり、当社の技術者がお客様のAIのモデルについてヒアリングをさせていただき、エッジへのAI実装の可能性や最適なニューラルネットワークの設計について、当社の技術陣が考察した内容をレポートさせていただきます。 お客様がまだAIを構築されておらず、これから構築を開始される場合、または弊社の考察の結果、AIを再構築するほうが良いと判断した場合は「エッジAIデータ・コンサルテーション」を先に実施するようお勧めいたします。
STEP2 評価・検証用の実装作業を実施(有料)
開発済みのAIをエッジ化し、評価が可能なコードの作成をお手伝いいたします。当社のAI技術者と組み込み技術者が試験的なエッジAIを実装する一連の作業をお客様にご提供するもので、結果によっては実装しきれないケースが稀にございますが、多くの場合は、機能評価レベルの実装まで比較的短時間で実現しています。この時点では ”実装すること” に主眼を置いたサービスとなるため、AIの精度や処理速度、コードサイズ圧縮などの最適化は考慮していない段階となります。先ずはエッジAI化し、機能評価や機能検証を目的としたレベルのコンサルテーションとなります。ここまでは定額費用内でのコンサルテーションです。
STEP3 エッジAIの最適化をサポート(有料)
精度を高めたい、処理速度を上げたい、コードサイズを圧縮したい・・など、エッジAIの最適化に向けたコンサルテーションメニューをご用意しています。当社のAI技術者と組み込み技術者が連携して、お客様のエッジAIの各種最適化を図り完成度を上げていくお手伝いをいたします。

こんな使い方ができます

お客様が自社製品へのAI機能の導入検討・開発を進めるなかで、PC上やサーバで作成したAIを製品化に向けた組み込みや評価をする段階に来て、”さて・・どのようにAI機能を実際の製品に組み込めばいいのか?”という技術者の声を耳にします。 多くの技術者は先ず、開発環境と同じ構成のものを小型・簡略化する方向から検討するケースが多く、次は消費電力・長期供給・発熱と放熱対策・物理的な大きさ、等々の問題に悩まされます。こうした状況から弊社の「エッジAI実装コンサルテーション」でご提案する、目的に応じてエッジAI用デバイスを選定し、推論に特化したAIに最適化・再構成して実装するアプローチは、技術者の方からの関心も高く、さまざまな利用シーンを想定したお問い合わせを頂いております。典型的な用途として3つの例をご紹介します。

Scene -➀ 導入検討時の機能評価用の実装

検討・調査

AI機能の導入には大きな決断が必要です。なぜなら巨額の費用が発生し費用対効果も予測しにくいからです。AIの導入効果は実際に稼働してみないと確認出来ない部分が多く、例えば成果が出てもその効果が想定よりも低い場合は成功とは言えませんし、そもそも成果が出せなければ判断ミスとなり事業に影響が出る恐れもあります。そこで、導入前に機能的な事前検証だけでも評価することができれば、AI導入の判断をより小さなリスクに抑えながら検討を進めることができます。
「エッジAI実装コンサルテーション」を使って早期に機能評価を行うことで、より実情に近い検証結果を元に導入検討や細部に時間をかけた詳細な購入検討を行うことができます。巨額な費用を伴うAI導入において事前にAI機能の検証を行えることは、大きなリスクヘッジになります。


Scene -➁ 製品設計検討時のプロトタイプ

プロトタイプ・試作

エッジAI対応製品の実現のためには、どのようにAI機能を機器に組み込むことができるかという検討と評価が非常に重要です。研究・開発の初期レベルと実際の製品設計では、制約事項や要求条件が異なることが多く、製品設計の段階で再検討になることがあります。発熱対応や使用環境に合わせた実際の設計においては、製品化前のプロトタイプでの試験と評価が重要になります。 評価ボードなどを使った簡易的なプロトタイプを短期で実現できれば、ハードウェア設計の初期段階で、実際の製品開発に向けた質の高い設計検討が行えます。「エッジAI実装コンサルテーション」をご利用いただくことで、AI推論機能を実装したプロトタイプを早い段階で作成し、製品設計の質を高めながら開発期間の短縮にも貢献できます。


Scene -➂ POC・デモ評価を目的とした機能実装

デモ・展示会

市販の機器や評価ボードを用いてお客様のAIを実装することで、実際に動作しているエッジAI機能そのものをPOCとして早期に実現することができます。これにより、AI対応版の自社製品開発中でも、搭載されるエッジAI機能を展示会やイベントで先行露出することができます。 顧客やメディアに対して、実機を使った目の前で機能動作するデモンストレーションを行うことで、実現性を強くアピールできる説得力のあるプロモーションとなります。また、開発途中の早い段階で顧客や市場からのフィードバックが得られることで、実際の製品設計に反映させることもできます。 エッジAI機能のPOCやデモ評価が早い段階で行えることは、製品設計や開発の質を向上させるだけでなく、市場への訴求力や企業イメージの向上、顧客へのアピールの観点でも重要と考えられます。

カタログダウンロード

富士ソフトのエッジAIコンサルテーション
に関するお問い合わせはこちらから

製品詳細や価格などコンシェルジュにご相談できます!
お気軽にお問い合わせください。

お急ぎの場合、お電話でのお問い合わせも承っております。
TEL:050-3000-2102(エンベデッドソリューション推進部)までご連絡ください。

フォームが表示されるまでしばらくお待ち下さい。

恐れ入りますが、しばらくお待ちいただいてもフォームが表示されない場合は、こちらまでお問い合わせください。

お急ぎの方はこちらから

0120-593-111平日9:00〜17:00

関連製品検索

その他(製品カテゴリ)の製品FPGAボード製品FPGAボード(Intel)製品サービス・ソリューション製品映像処理(コーデック)製品画像処理製品検証・評価製品その他(機能)の製品AI製品

関連業界情報

組み込み開発者のためのFPGA教本
Vol.1FPGA入門
Vol.1FPGA入門

FPGAとは「Field Programmable Gate Array」の略。つまり「現場でプログラム可能なゲートアレイ」ということです。現場でプログラム可能とはどういうことなのでしょうか。また、なぜ現場でプログラム可能である必要があったのでしょうか。FPGA誕生の歴史から紐解いてみましょう。

FPGAとは「Field Programmable Gate Array」の略。つ…

組み込み製品

変わらなきゃっ!日本の組み込み開発
Vol.1買う気にならない! マンネリ化する日本の組み込み開発をどげんかせないかん!
Vol.1買う気に…

日本で製造されている”無難な製品”では、オリジナリティに欠けるため、商品価格を上げることができません。

日本で製造されている”無難な製品”では、オリジナリ…

組み込み製品

お探しの組み込み製品はキーワードで検索!

検索