バックナンバーはこちら

today&tomorrow

What's New in DesignWare IP?

2019 vol.112

AIが車載SoC設計に与える影響

CNNの学習と運用

AIアプリケーションのプログラミングは伝統的なコンピュータ・プログラミングとはまったく異なり、2つのフェーズで構成されます(図4)。第1フェーズは学習フェーズと呼ばれ、物体を認識するようにネットワークをトレーニングします。第2フェーズは推論または運用フェーズと呼ばれ、自動車などの組込み環境のハードウェア上で実行します。一般に、学習フェーズはクラウド・データ・センターで1つまたは複数のGPUを使用して行い、推論フェーズは最終製品で実行します。

画像

図4:学習フェーズはクラウドまたはサーバ・ファームで実行し、推論フェーズは自動運転車などの最終製品で実行します。

学習フェーズでは、ネットワークにラベル付きイメージを入力してトレーニングを行います。この作業を何度も繰り返すことにより、ネットワークは係数(重み)を調整して目的の物体を認識するように「学習」します。十分なトレーニングの後、この重みとネットワークを自動車などの組込みシステムに移転し、推論フェーズで物体を認識させます。基本的に、推論フェーズでのニューラル・ネットワークは、学習フェーズでトレーニングした物体が画像に含まれる確率を出力します。たとえば歩行者を検出するようにトレーニングされたニューラル・ネットワークは、入力イメージに歩行者が含まれる確率を返します。更に高度な処理を実行するには、画像に含まれる物体(一時停止標識など)に対して自動車がどのようにふるまうかを判断させる作業が必要となります。ここでもAIとディープ・ラーニングを利用して、さまざまな状況でどのようにふるまうかをシステムに学習させることができます。

AIとハードウェア開発

学習フェーズの出力は32ビット浮動小数点数です。自動車に推論フェーズを実装する場合、機能安全と消費電力の両方が課題となるため、なるべく小さな規模で最大の精度が得られるようなハードウェアが望まれます。面積と消費電力を考慮しながら最適なビット分解能を決定することで、面積を最小限に抑えたハードウェアを開発することができます。ここ数年で、これらの新しいニューラル・ネットワーク・アルゴリズムを組み合わせたハードウェア開発が進み、CNN機能を内蔵した小型で高速な低消費電力SoCが実現しています。

シノプシスDesignWare EV6xエンベデッド・ビジョン・プロセッサはCNNを密接に統合しており(図5)、性能、消費電力、面積の要件を満たしつつデザインの拡張が可能です。前処理と後処理はスカラーおよびベクター・ユニットで実行し、ディープ・ラーニング処理はCNNエンジンで実行します。もちろん、これらを効率よくプログラムするにはソフトウェアが重要な役割を果たします。

画像

図5:DesignWare EV6xエンベデッド・ビジョン・プロセッサ

ニューラル・ネットワークの変遷がハードウェア開発に与える影響

ニューラル・ネットワークは常に変化しており、このことがAIテクノロジを使用するハードウェアの設計において大きな課題となります。たとえば分類ネットワークはAlexNetからGoogLeNet、ResNetを経て、今も新しいネットワークが登場しています。また、物体認識は分類と位置特定を組み合わせたもので、物体が何であるかだけでなくどこにあるかも認識する必要があるため更に複雑で、より高い演算性能が要求されます。このニューラル・ネットワークも急速に発展しており、RCNN(Regional CNN)からFast RCNN、Faster RCNNと変遷し、現在ではSSDやYOLOの派生ネットワークが主流となっています。

こうした演算面での課題に加え、自動車に搭載されるカメラの解像度も変化しています。現在の自動車に搭載されているカメラの画素数は1〜2メガピクセル(MP)ですが、最近は3〜4 MPのものも登場しており、8 MPのカメラも視野に入っています。画素数が増えると視覚性能が向上しますが、求められる処理性能も増大します。また、フレーム・レートを現在の15〜30 fpsから60 fpsに引き上げると車両を完全に静止するまでの距離を短くできますが、そのためにはレイテンシを短く抑える必要があります。

このように解像度とフレーム・レートは向上する傾向にあり、数年前のニューラル・ネットワークは64 MACsの性能があれば十分でしたが、その後すぐに800~100 MACsが要求されるようになり、現在では複数のカメラに対応するために50 TeraMACs/sの性能を最小限の消費電力で達成することが求められるようになっています。
こうした要件の急激な変化を考慮して、シノプシスは専用のニューラル・ネットワーク・エンジンとビジョン・コア、およびMetaWare EV Development Toolkitを組み合わせたDesignWare EV6xエンベデッド・ビジョン・プロセッサをご提供しています。伝統的コンピューティングとニューラル・ネットワーク・エンジン、およびソフトウェアを組み合わせることによって、居眠り運転検知用の小型SoCでも自動運転に使用する高性能なセーフティ・クリティカルSoCでも開発が可能です。このDesignWareソリューションは幅広いアプリケーションへの対応を考慮して開発されていますが、基本的なハードウェアおよびソフトウェア・ビルディング・ブロックは共通のものを使用しています。

画像

図6:DesignWare EV6xプロセッサは880 CNNエンジンを1個だけ使用して小規模なデザインを実装することも、AXIバスに複数個のプロセッサを接続してより高いCNN性能を得ることもできます。DesignWare EV6xプロセッサは現在、車載デザインなど低消費電力と高性能の両立が求められるアプリケーションに採用されています。

カテゴリートップ