(57)【要約】【課題】演算の精度を大きく低下させることなく論理回路の使用領域を削減できる。【解決手段】演算システムは、サーバと車両に搭載される車載装置とを備える。サーバは、学習済モデルを格納するサーバ記憶部と、学習済モデルおよび推論対象を用いて演算の精度を定める縮約情報を作成する簡易化部と、縮約情報を車載装置に送信するサーバ通信とを備える。車載装置は、車両に搭載されたセンサの出力信号が入力される信号入力部と、縮約情報を受信する車載通信部と、出力信号を対象とする推論を行う推論部と再構成可能な論理回路と、縮約情報に基づき論理回路に推論部を作成する再構成部とを備える。【選択図】図２
2019106059.tif 000002
【特許請求の範囲】
【請求項１】
サーバと車両に搭載される車載装置とを備える演算システムであって、
前記サーバは、
学習済モデルを格納するサーバ記憶部と、
前記学習済モデルおよび推論対象を用いて演算の精度を定める縮約情報を作成する簡易化部と、
前記縮約情報を前記車載装置に送信するサーバ通信部とを備え、
前記車載装置は、
前記車両に搭載されたセンサの出力信号が入力される信号入力部と、
前記縮約情報を受信する車載通信部と、
前記出力信号を対象とする推論を行う推論部と、
再構成可能な論理回路と、
前記縮約情報に基づき前記論理回路に前記推論部を作成する再構成部とを備える演算システム。
【請求項２】
請求項１に記載の演算システムにおいて、
前記車載装置は、
前記学習済モデルを格納する車載格納部をさらに備え、
前記再構成部は、前記学習済モデルおよび前記縮約情報に基づき前記推論部を作成する演算システム。
【請求項３】
請求項１に記載の演算システムにおいて、
前記簡易化部は、前記縮約情報および前記学習済モデルを一体とする低精度モデルを作成し、
前記サーバ通信部は前記低精度モデルを前記車載装置に送信し、
前記再構成部は、受信した前記低精度モデルを用いて前記論理回路に前記推論部を作成する演算システム。
【請求項４】
請求項１に記載の演算システムにおいて、
前記学習済モデルは、線形要素のみから構成される演算システム。
【請求項５】
請求項１に記載の演算システムにおいて、
前記学習済モデルは、複数の階層から構成され、
前記縮約情報は前記複数の階層のそれぞれについて演算の精度を定める演算システム。
【請求項６】
請求項１に記載の演算システムにおいて、
前記簡易化部は、前記学習済モデルおよび推論対象を用いて、基準の精度、および前記基準よりも低い精度で演算を行い、前記基準の精度による演算結果と前記基準よりも低い精度による演算結果との差が所定値以下である最も低い精度を前記縮約情報とする演算システム。
【請求項７】
請求項１に記載の演算システムにおいて、
前記縮約情報は、浮動小数点型の仮数部および指数部の桁数である演算システム。
【請求項８】
学習済モデルを格納する記憶部と、
前記学習済モデルおよび推論対象を用いて演算の精度を定める縮約情報を作成する簡易化部と、
前記縮約情報を車載装置に送信するサーバ通信部とを備えるサーバ。
【請求項９】
車両に搭載される車載装置であって、
前記車両に搭載されたセンサの出力信号が入力される信号入力部と、
演算の精度を定める縮約情報を受信する車載通信部と、
前記出力信号を対象とする推論を行う推論部と、
再構成可能な論理回路と、
前記縮約情報に基づき前記論理回路に前記推論部を作成する再構成部とを備える車載装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、演算システム、サーバ、および車載装置に関する。
【背景技術】
【０００２】
ニューラルネットを利用した外界認識では、センタ側で学習されたモデルとセンサ部から入力された画像情報との積和演算により得られた結果を用いる。従来の組込み用途のマイコンでは処理速度が遅いため、アクセラレータである書き換え可能な論理回路が利用される。しかし、車載用の論理回路は乗算器や内部メモリが少ない問題が知られている。この対策として、非特許文献１には、浮動小数点型の量子化処理、すなわち整数型を用いた固定小数点化により回路規模を減ずる方法が開示されている。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Philipp Gysel, Mohammad Motamedi, and Soheil Ghiasi.,“HARDWARE-ORIENTED APPROXIMATION OF CONVOLUTIONAL NEURAL NETWORKS”,arXiv:1604.03168, 2016. ［平成２９年１１月１６日検索］、インターネット＜ＵＲＬ：https://arxiv.org/pdf/1604.03168v3.pdf＞
【発明の概要】
【発明が解決しようとする課題】
【０００４】
非特許文献１に記載されている発明では、性能の低下が許容できない場合がある。
【課題を解決するための手段】
【０００５】
本発明の第１の態様による演算システムは、サーバと車両に搭載される車載装置とを備える。前記サーバは、学習済モデルを格納するサーバ記憶部と、前記学習済モデルおよび推論対象を用いて演算の精度を定める縮約情報を作成する簡易化部と、前記縮約情報を前記車載装置に送信するサーバ通信部とを備える。前記車載装置は、前記車両に搭載されたセンサの出力信号が入力される信号入力部と、前記縮約情報を受信する車載通信部と、前記出力信号を対象とする推論を行う推論部と、再構成可能な論理回路と、前記縮約情報に基づき前記論理回路に前記推論部を作成する再構成部とを備える。
本発明の第２の態様によるサーバは、学習済モデルを格納する記憶部と、前記学習済モデルおよび推論対象を用いて演算の精度を定める縮約情報を作成する簡易化部と、前記縮約情報を車載装置に送信するサーバ通信とを備える。
本発明の第３の態様による車載装置は、車両に搭載され、前記車両に搭載されたセンサの出力信号が入力される信号入力部と、演算の精度を定める縮約情報を受信する車載通信部と、前記出力信号を対象とする推論を行う推論部と再構成可能な論理回路と、前記縮約情報に基づき前記論理回路に前記推論部を作成する再構成部とを備える。
【発明の効果】
【０００６】
本発明によれば、演算の精度を大きく低下させることなく論理回路の使用領域を削減できる。
【図面の簡単な説明】
【０００７】
【図１】演算システムＳの構成図
【図２】第１の実施の形態におけるサーバ１およびＥＣＵ２の機能構成図
【図３】閾値テーブル１５５の一例を示す図
【図４】モデル作成部１２１および簡易化部１２２の処理を表すフローチャート
【図５】変形例１における演算システムＳのハードウエア構成図
【図６】第２の実施の形態におけるサーバ１ＡおよびＥＣＵ２Ａの機能構成図
【図７】縮約情報１５４の一例を示す図
【図８】状況テーブル２５２の一例を示す図
【発明を実施するための形態】
【０００８】
―第１の実施の形態―
以下、図１〜図４を参照して、本発明にかかる演算システムＳの第１の実施の形態を説明する。
【０００９】
（ハードウエア構成）
図１は演算システムＳの構成を示す図である。演算システムＳは、サーバ１とＥＣＵ２とを備える。サーバ１とＥＣＵ２は無線通信ネットワークＸを介して通信する。ＥＣＵ２は車両３に搭載され、サーバ１は車両３の外部に設置される。
【００１０】
サーバ１は、ＣＰＵ１１と、ＧＰＵ１２と、ＲＯＭ１３と、ＲＡＭ１４と、サーバ記憶部１５と、サーバ通信部１６とを備える。ＣＰＵ１１は中央演算装置（Central Processing Unit）である。ＧＰＵ１２は特定の処理に特化して高速に演算を行えるGraphic Processing Unitである。ＲＯＭ１３は読み込み専用の記憶領域であり、ＣＰＵ１１およびＧＰＵ１２が実行するプログラムが格納される。ＲＡＭ１４は読み書き可能な記憶領域である。サーバ記憶部１５は、たとえばハードディスクドライブなどの不揮発性の記憶装置である。サーバ通信部１６はＥＣＵ２との通信を実現する。ＣＰＵ１１およびＧＰＵ１２は、ＲＯＭ１３に格納されたプログラムを実行することにより後述する機能を実現する。
【００１１】
サーバ１はＥＣＵ２に比べて計算リソースが豊富であり、高精度な演算が可能である。ＧＰＵ１２は、浮動小数点型の演算をたとえば３２ビットの精度で行う。数値を浮動小数点型で表現すると、符号部と仮数部と指数部とから構成されるが、たとえばＧＰＵ１２は符号部を１ビット、指数部を８ビット、仮数部を２３ビットとして演算を行う。ただしＧＰＵ１２は浮動小数点型の演算を６４ビットや１６ビットの精度で行ってもよい。
【００１２】
車両３は、ＥＣＵ２およびカメラ４を備える。カメラ４は撮影して得られた画像である撮影画像をＥＣＵ２に出力する。ＥＣＵ２は、撮影画像に撮影されている被写体を推定し、その推定結果を車両３に搭載された他の処理装置、たとえば自動運転ユニットに出力する。
【００１３】
ＥＣＵ２は、特定用途向け集積回路であるＡＳＩＣ（Application Specific Integrated Circuit）２１と、再構成可能な集積回路であるＦＰＧＡ（Field Programmable Gate Array）２２と、車載記憶部２５と、車載通信部２６と、信号入力部２８とを備える。ＡＳＩＣ２１はハードウエア回路であり、後述する所定の処理を行う。ＦＰＧＡ２２は起動するたびに車載記憶部２５の定められた領域からコンフィグレーション情報を読み込み、論理回路を構成する。以下ではコンフィグレーション情報を構成情報とも呼ぶ。車載記憶部２５は、たとえばフラッシュメモリなどの書き換え可能な不揮発性メモリである。車載通信部２６はサーバ１と通信する。信号入力部２８はカメラ４から撮影画像が入力される。
【００１４】
（機能構成）
図２は、サーバ１およびＥＣＵ２の機能構成を示す図である。サーバ１はその機能として、モデル作成部１２１と簡易化部１２２とを備える。モデル作成部１２１はＣＰＵ１１によって実現され、モデル作成部１２１および簡易化部１２２はＧＰＵ１２によって実現される。ただしモデル作成部１２１および簡易化部１２２は、ＣＰＵ１１およびＧＰＵ１２の協同により実現してもよい。サーバ記憶部１５には、学習画像１５１と、高精度モデル１５２と、低精度モデル１５３と、閾値テーブル１５５とが格納される。学習画像１５１は複数の画像の集合体である。高精度モデル１５２および低精度モデル１５３は、学習画像１５１を用いて作成される学習済モデルであり、いずれも線形性を有する。なお学習画像１５１は、低精度モデル１５３を作成するための推論対象としても用いられる。
【００１５】
高精度モデル１５２および低精度モデル１５３は、コンボリューション層やＢＮ層を含む複数の階層から構成され、各層は１または複数のパラメータを有する。高精度モデル１５２および低精度モデル１５３の階層数は同一であり、両者の差異はパラメータおよび演算の精度である。たとえば高精度モデル１５２では、全ての層のパラメータは浮動小数点型の３２ビットの精度で表され、演算も浮動小数点型の３２ビットの精度で行われる。しかし低精度モデル１５３におけるパラメータおよび演算の精度は高精度モデル１５２よりも低い。ただし低精度モデル１５３における精度は層ごとに独立して定められ、同一の層ではパラメータを表現する精度と演算の精度は同一である。
【００１６】
図３は、閾値テーブル１５５の一例を示す図である。閾値テーブル１５５には、学習済モデルの各層ごとの高精度モデル１５２と低精度モデル１５３との許容される精度の差が格納される。図２に戻って説明を続ける。
【００１７】
モデル作成部１２１は、学習画像１５１を用いて学習済モデルである高精度モデル１５２を作成する。この高精度モデル１５２の作成には、たとえば既知の手法である誤差逆伝播法を用いることができる。誤差逆伝播法では、正解との誤差を出力層に近い層から入力層へと遡って伝播させる。簡易化部１２２は、高精度モデル１５２と学習画像１５１と閾値テーブル１５５とを用いて低精度モデル１５３を作成する。簡易化部１２２が作成した低精度モデル１５３はサーバ通信部１６によりＥＣＵ２に送信される。
【００１８】
学習済モデルを用いて推論を行う場合に、演算の精度が高いほど推論の確からしさが高くなり、演算の精度が低いほど推論の確からしさが低くなる傾向にある。演算の精度とは、たとえば演算に用いる数値の桁数である。すなわち数値を浮動小数点型で表現すると、符号部と仮数部と指数部から構成されるが、仮数部と指数部を表現する桁数、厳密にはビット数の大小が演算の精度の高低を示す。高精度な推論の結果を得るためには演算の精度を高めればよいが、ＦＰＧＡ２２に演算器を構成する場合は精度が高いほど広い領域を占有し、消費電力も増大するため望ましくない。そのため簡易化部１２２は、最適な低精度モデル１５３を作成してＥＣＵ２に送信する。
【００１９】
なお簡易化部１２２は、初回に低精度モデル１５３を作成した後は、たとえば次のような場合に低精度モデル１５３を作成する。たとえば、高精度モデル１５２の作成アルゴリズムを更新した場合や、ＥＣＵ２に関連するハードウエアの変更、たとえばカメラ４が高い解像度の撮影画像を出力するように更新された場合などである。
【００２０】
ＥＣＵ２はその機能として、書き換え部２１１と、推論部２２１と、再構成部２２２とを備える。車載記憶部には、構成情報２５１が格納される。再構成部２２２は、起動するとコンフィグレーション情報である構成情報２５１を読み込んでコンフィグレーションを行い、ＦＰＧＡ２２に推論部２２１を構成する。書き換え部２１１はＡＳＩＣ２１のハードウエア回路である。推論部２２１はＦＰＧＡ２２に構成された論理回路である。再構成部２２２は、ＦＰＧＡ２２にあらかじめ備えられる機能である。
【００２１】
書き換え部２１１は、サーバ１から低精度モデル１５３を受信すると、受信した低精度モデル１５３を用いて構成情報２５１を書き換える。これにより、次回にＦＰＧＡ２２が起動した際に書き換えられた構成情報２５１が読み込まれ、受信した低精度モデル１５３が推論部２２１として構成される。推論部２２１は、ＦＰＧＡ２２に構成される論理回路であり、カメラ４の撮影画像を処理対象とする。推論部２２１は推論の結果を車両３に搭載された他の装置に出力する。
【００２２】
図４はモデル作成部１２１および簡易化部１２２の処理を表すフローチャートである。以下に説明する各ステップの実行主体はＧＰＵ１２である。モデル作成部１２１は、既知の手法により学習画像１５１を用いて高精度モデル１５２を作成する（Ｓ６０１）。前述のとおり、高精度モデル１５２に含まれるパラメータは全て高精度、たとえば３２ビットの精度である。次に簡易化部１２２は、Ｓ６０１において作成した高精度モデル１５２を用いて学習画像１５１を対象に推論を行い、各層の演算結果を基準値として一時的に保存する（Ｓ６０２）。なおこの演算では、推論対象となっている学習画像１５１のデータ、すなわち画素値も３２ビットの浮動小数点型の値として扱う。
【００２３】
次に簡易化部１２２は、高精度モデル１５２の第１層目を処理対象層とし（Ｓ６０３）、仮数部と指数部の最適なビット数を算出する（Ｓ６０４、Ｓ６０５）。具体的には簡易化部１２２はＳ６０４において、高精度モデル１５２の処理対象層のパラメータの値の精度、学習画像１５１の画素値の精度、および演算の精度を同様に低下させ、Ｓ６０２において算出した基準値との最小二乗誤差が閾値以内である最小のビット数を特定する。ただしこの閾値は、閾値テーブル１５５にあらかじめ定められている。たとえば仮数部のビット数を２３ビットから１ビットずつ減少させ、最小二乗誤差が閾値を上回った場合にその直前のビット数を最適なビット数と判断する。またＳ６０５では簡易化部１２２は、高精度モデル１５２を用いた処理対象層の演算に関連する数値の指数部の分布状況から最適な指数部のビット数を決定する。たとえば簡易化部１２２は、演算に関連する数値の全ての指数をカバーする最小のビット数、または所定の割合、たとえば１シグマ値となる約６８％をカバーするビット数とする。
【００２４】
次に簡易化部１２２はＳ６０６において、全ての層を処理対象としたか否かを判断し、全ての層を処理対象としたと判断する場合はＳ６０７に進み、未処理の層が存在すると判断する場合はＳ６０８に進む。簡易化部１２２はＳ６０７において、これまでＳ６０４およびＳ６０５において決定した各層の演算精度に基づき低精度モデル１５３を作成する。この低精度モデル１５３では、演算の精度および使用するパラメータの精度が高精度モデル１５２よりも低下している。簡易化部１２２はＳ６０８において、処理対象層を次の層に設定してＳ６０４に戻る。以上がモデル作成部１２１および簡易化部１２２の処理である。
【００２５】
上述した第１の実施の形態によれば、次の作用効果が得られる。
（１）演算システムＳは、サーバ１と車両３に搭載されるＥＣＵ２とを備える。サーバ１は、高精度モデル１５２を格納するサーバ記憶部１５と、高精度モデル１５２および学習画像１５１を用いて演算の精度を定めた低精度モデル１５３を作成する簡易化部１２２と、低精度モデル１５３をＥＣＵ２に送信するサーバ通信部１６とを備える。ＥＣＵ２は、車両３に搭載されたカメラ４の撮影画像が入力される信号入力部２８と、低精度モデル１５３を受信する車載通信部２６と、撮影画像を対象とする推論を行う推論部２２１と、再構成可能なＦＰＧＡ２２と、低精度モデル１５３に基づきＦＰＧＡ２２に推論部２２１を作成する書き換え部２１１および再構成部２２２とを備える。ＥＣＵ２は、低精度モデル１５３に基づきＦＰＧＡ２２に推論部２２１を作成するので、演算の精度を大きく低下させることなく論理回路の使用領域を削減できる。
【００２６】
（２）高精度モデル１５２および低精度モデル１５３は、線形要素のみから構成される。そのため演算の精度を低下させたことによる演算結果への影響が線形に現れるので、サーバ１は適切な演算精度、すなわち仮数部および指数部の桁数を決定することができる。
【００２７】
（変形例１）
上述した第１の実施の形態では、サーバ１と車載装置２とが無線通信ネットワークＸを介して通信した。しかしサーバ１が作成した低精度モデル１５３は通信を介さずに、記憶媒体を用いてオフラインで車載装置２に移動してもよい。
【００２８】
図５は、変形例１における演算システムＳのハードウエア構成図である。第１の実施の形態との違いは、サーバ１はサーバ通信部１６の代わりに書き出し部１７を備え、ＥＣＵ２は車載通信部２６の代わりに読み込み部２７を備える点である。サーバ１は、算出した低精度モデル１５３を書き出し部１７を介して記憶媒体、たとえばＵＳＢメモリＵに書き出す。そしてディーラのサービスマン、または車両３のユーザがＵＳＢメモリＵをＥＣＵ２の読み込み部２７に接続し、ＥＣＵ２に低精度モデル１５３を読み込ませる。
【００２９】
（変形例２）
上述した第１の実施の形態では、ＥＣＵ２のＦＰＧＡ２２に構成された推論部２２１は、カメラ４の撮影画像を処理対象とした。しかし推論部２２１は車両３に搭載されるセンサが出力する様々な情報を処理対象としてもよい。たとえばレーザーレンジファインダから得られる２次元や３次元の情報を処理対象としてもよいし、時系列の３次元情報、すなわち４次元情報を処理対象としてもよい。また複数のセンサの出力を同時に扱う場合には５次元以上の多次元の情報として扱ってもよい。
【００３０】
なお、推論部２２１の処理内容の変更にあわせて、サーバ１のモデル作成部１２１が作成する高精度モデル１５２および低精度モデル１５３も作り変える必要がある。この変形例２によれば、高次元であるほど処理量が増大するので、本発明を適用することによる処理量の削減の効果が顕著になる。
【００３１】
（変形例３）
ＥＣＵ２はさらに非線形性を有する非線形推論部を備えてもよい。この場合は推論部２２１は推論の結果を非線形推論部に出力し、非線形推論部が推論の結果を車両３に搭載された他の装置に出力する。
【００３２】
（変形例４）
サーバ１およびＥＣＵ２のハードウエア構成は上述した構成に限定されない。たとえばサーバ１はＣＰＵ１１またはＧＰＵ１２を備えなくてもよい。またＥＣＵ２はＡＳＩＣ２１の代わりにＣＰＵ、ＲＯＭ、およびＲＡＭを備えてもよい。
【００３３】
―第２の実施の形態―
図６〜図７を参照して、本発明にかかる演算システムＳの第２の実施の形態を説明する。以下の説明では、第１の実施の形態と同じ構成要素には同じ符号を付して相違点を主に説明する。特に説明しない点については、第１の実施の形態と同じである。本実施の形態では、主に、高精度モデル１５２があらかじめサーバおよび車載装置に備えられる点で、第１の実施の形態と異なる。
【００３４】
図６は、第２の実施の形態におけるサーバ１ＡおよびＥＣＵ２Ａの機能構成図である。サーバ１Ａの機能構成は、第１の実施の形態におけるサーバ１の機能構成からモデル作成部１２１が削除され、簡易化部１２２の代わりに簡易化部１２２Ａを備える。また第２の実施の形態におけるサーバ記憶部１５には、学習画像１５１、高精度モデル１５２、縮約情報１５４、および閾値テーブル１５５が格納される。学習画像１５１、高精度モデル１５２、および閾値テーブル１５５は、あらかじめサーバ記憶部１５に格納される。縮約情報１５４は簡易化部１２２Ａにより作成される。
【００３５】
簡易化部１２２Ａは、低精度モデル１５３を作成する代わりに縮約情報１５４を作成する。すなわち簡易化部１２２Ａは、第１の実施の形態において低精度モデル１５３を作成するために決定したパラメータ、すなわち学習済モデルの各層における演算の精度を縮約情報１５４としてサーバ記憶部１５に格納する。簡易化部１２２Ａの動作をフローチャートで表すと、図４におけるＳ６０７の処理が縮約情報１５４の作成に置き換わる。この縮約情報１５４はサーバ通信部１６によりＥＣＵ２Ａに送信される。
【００３６】
図７は、縮約情報１５４の一例を示す図である。前述のとおり、学習済モデルは複数の階層から構成され、モデル作成部１２１は階層ごとに精度を決定する。そのため図７に示すように、縮約情報１５４は階層ごとに、符号部、指数部、および仮数部の桁数、換言するとビット数が列挙されたものとなる。図６に戻って説明を続ける。
【００３７】
ＥＣＵ２Ａの機能構成は、第１の実施の形態におけるＥＣＵ２の機能構成において書き換え部２１１を書き換え部２１１Ａに置き換えたものである。ＥＣＵ２Ａの車載記憶部２５には、構成情報２５１、高精度モデル１５２、および縮約情報１５４が格納される。構成情報２５１は書き換え部２１１Ａにより作成される。高精度モデル１５２はあらかじめ車載記憶部２５に格納される。ただし高精度モデル１５２はサーバ１Ａから受信してもよい。縮約情報１５４はサーバ１Ａから受信する。
【００３８】
書き換え部２１１Ａは、サーバ１Ａから受信した縮約情報１５４およびあらかじめ記憶されていた高精度モデル１５２を用いて低精度モデル１５３を作成する。そして書き換え部２１１Ａは、第１の実施の形態と同様に構成情報２５１を作成する。すなわち第２の実施の形態における書き換え部２１１Ａは、第１の実施の形態における簡易化部１２２の機能の一部、具体的には図４におけるＳ６０７の処理機能を備える。
【００３９】
（第１の実施の形態との比較）
第２の実施の形態では、推論部２２１の演算の精度に関する情報が縮約情報１５４として存在している。そしてＥＣＵ２Ａが、縮約情報１５４と高精度モデル１５２とを用いて低精度モデル１５３を作成する。その一方、第１の実施の形態では、推論部２２１の演算の精度に関する情報は独立して存在しておらず、サーバ１が作成する低精度モデル１５３に内包されている。換言すると、第１の実施の形態における低精度モデル１５３は、縮約情報１５４および高精度モデル１５２を一体としたものである。また第１の実施の形態における簡易化部１２２は、低精度モデル１５３を作成する過程で縮約情報１５４を作成しているともいえる。
【００４０】
上述した第２の実施の形態によれば、次の作用効果が得られる。
（１）演算システムＳは、サーバ１Ａと車両３に搭載されるＥＣＵ２Ａとを備える。サーバ１Ａは、高精度モデル１５２を格納するサーバ記憶部１５と、高精度モデル１５２および学習画像１５１を用いて演算の精度を定める縮約情報１５４を作成する簡易化部１２２と、縮約情報１５４をＥＣＵ２Ａに送信するサーバ通信部１６とを備える。ＥＣＵ２Ａは、車両３に搭載されたカメラ４の撮影画像が入力される信号入力部２８と、縮約情報１５４を受信する車載通信部２６と、撮影画像を対象とする推論を行う推論部２２１と、再構成可能なＦＰＧＡ２２と、縮約情報１５４に基づきＦＰＧＡ２２に推論部２２１を作成する書き換え部２１１Ａおよび再構成部２２２とを備える。ＥＣＵ２Ａは、縮約情報１５４に基づきＦＰＧＡ２２に推論部２２１を作成するので、演算の精度を大きく低下させることなく論理回路の使用領域を削減できる。またサーバ１Ａは学習済モデルそのものではなく縮約情報１５４を送信するので、通信量を削減することができる。
【００４１】
（２）簡易化部１２２は、高精度モデル１５２および学習画像１５１を用いて、基準の精度、および基準よりも低い精度で演算を行い、基準の精度による演算結果と基準よりも低い精度による演算結果との差が所定値以下である最も低い精度を縮約情報１５４とする。
そのため縮約情報１５４に基づき作成された推論部２２１は、演算の精度は低いものの閾値テーブル１５５において許容されている限度でしか精度が低下しない。換言すると推論部２２１は、ＦＰＧＡ２２の専有面積を削減しつつ必要とする精度を確保できる。
【００４２】
（３）高精度モデル１５２および低精度モデル１５３は、複数の階層から構成される。縮約情報１５４は複数の階層のそれぞれについて演算の精度を定める。そのため推論部２２１は各層の演算の精度を確保できる。
【００４３】
（４）縮約情報１５４は、浮動小数点型の仮数部の桁数および指数部の桁数である。
【００４４】
（第２の実施の形態の変形例１）
ＥＣＵ２Ａは、状況にあわせて演算の精度を変更してもよい。本変形例では、車載記憶部２５には状況テーブル２５２がさらに記憶される。書き換え部２１１Ａは、カメラ４の撮影画像などから車両３の状況または車両３の周囲の状況が、状況テーブル２５２に記載されたいずれの状況に該当するかを判断して、その状況に対応する精度で再構成部２２２にＦＰＧＡ２２に推論部２２１を構成させる。なお書き換え部２１１Ａは、状況テーブル２５２に記載の状況に当てはまらないと判断する場合は、縮約情報１５４を用いて推論部２２１を構成する。
【００４５】
図８は、状況テーブル２５２の一例を示す図である。状況テーブル２５２には、高速走行、雨天、停車を含む状況が記録される。「高速走行」は、車両３が高速に走行していると書き換え部２１１Ａが判断した際に選択される。「雨天」は、車両３の周囲で雨が降っていると書き換え部２１１Ａが判断した際に選択される。「停車」は、車両３が停車していると書き換え部２１１Ａが判断した際に選択される。そして状況テーブル２５２には、それぞれの状況に対応する推論部２２１の精度、すなわち指数部および仮数部のビット数が記録される。なお状況テーブル２５２には、符号部が含まれてもよい。
【００４６】
（第２の実施の形態の変形例２）
上述した第１の実施の形態では、高精度モデル１５２および低精度モデル１５３に含まれるパラメータは浮動小数点型で表現された。しかしこれらのパラメータは整数型で表現されてもよい。この場合も推論部２２１の演算は浮動小数点型で行われるので、モデル作成部１２１はその演算の精度を縮約情報１５４としてＥＣＵ２に送信する。以下詳述する。ただしここでは高精度モデル１５２の各層のパラメータが整数型で算出済みであるとして図４のＳ６０２以下の処理のうち第１の実施の形態との相違点を主に説明する。
【００４７】
Ｓ６０２では簡易化部１２２は、高精度モデル１５２の各層のパラメータ、および学習画像１５１の画素値を３２ビットの浮動小数点型に変換して各層の演算を行い、その結果を基準値として一時的に保存する。Ｓ６０４では簡易化部１２２は、変換する浮動小数点型のビット数を変化させて第１の実施の形態と同様に処理を行う。Ｓ６０５における処理は第１の実施の形態と同様である。この変形例４によれば、多様な学習済モデルに対して本発明を適用することができる。
【００４８】
上述した各実施の形態および変形例は、それぞれ組み合わせてもよい。上記では、種々の実施の形態および変形例を説明したが、本発明はこれらの内容に限定されるものではない。本発明の技術的思想の範囲内で考えられるその他の態様も本発明の範囲内に含まれる。
【符号の説明】
【００４９】
１…サーバ
２…車載装置
１５…サーバ記憶部
１６…サーバ通信部
２５…車載記憶部
２８…信号入力部
１２１…モデル作成部
１２２…簡易化部
１５２…高精度モデル
１５３…低精度モデル
１５４…縮約情報
１５５…閾値テーブル
２２１…推論部
２２２…再構成部
２５１…構成情報
２５２…状況テーブル
２５３…閾値テーブル
【図１】
2019106059.tif 000003
【図２】
2019106059.tif 000004
【図３】
2019106059.tif 000005
【図４】
2019106059.tif 000006
【図５】
2019106059.tif 000007
【図６】
2019106059.tif 000008
【図７】
2019106059.tif 000009
【図８】
2019106059.tif 000010