JP6789919B2 - 演算システム、サーバ、車載装置 - Google Patents

演算システム、サーバ、車載装置 Download PDF

Info

Publication number
JP6789919B2
JP6789919B2 JP2017238805A JP2017238805A JP6789919B2 JP 6789919 B2 JP6789919 B2 JP 6789919B2 JP 2017238805 A JP2017238805 A JP 2017238805A JP 2017238805 A JP2017238805 A JP 2017238805A JP 6789919 B2 JP6789919 B2 JP 6789919B2
Authority
JP
Japan
Prior art keywords
unit
vehicle
server
inference
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017238805A
Other languages
English (en)
Other versions
JP2019106059A (ja
Inventor
理宇 平井
理宇 平井
豪一 小野
豪一 小野
泰輔 植田
泰輔 植田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Astemo Ltd
Original Assignee
Hitachi Automotive Systems Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Automotive Systems Ltd filed Critical Hitachi Automotive Systems Ltd
Priority to JP2017238805A priority Critical patent/JP6789919B2/ja
Priority to PCT/JP2018/044723 priority patent/WO2019116985A1/ja
Priority to US16/771,032 priority patent/US11427141B2/en
Publication of JP2019106059A publication Critical patent/JP2019106059A/ja
Application granted granted Critical
Publication of JP6789919B2 publication Critical patent/JP6789919B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
    • B60R16/023Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements for transmission of signals between vehicle parts or subsystems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
    • B60R16/023Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements for transmission of signals between vehicle parts or subsystems
    • B60R16/0231Circuits relating to the driving or the functioning of the vehicle
    • B60R16/0232Circuits relating to the driving or the functioning of the vehicle for measuring vehicle parameters and indicating critical, abnormal or dangerous conditions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/09Arrangements for giving variable traffic instructions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/40Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
    • H04W4/44Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for communication between vehicles and infrastructures, e.g. vehicle-to-cloud [V2C] or vehicle-to-home [V2H]
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C5/00Registering or indicating the working of vehicles
    • G07C5/008Registering or indicating the working of vehicles communicating information to a remotely located station
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C5/00Registering or indicating the working of vehicles
    • G07C5/08Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
    • G07C5/0841Registering performance data
    • G07C5/085Registering performance data using electronic data carriers
    • G07C5/0866Registering performance data using electronic data carriers the electronic data carrier being a digital video recorder in combination with video camera

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Mathematical Physics (AREA)
  • Molecular Biology (AREA)
  • Data Mining & Analysis (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Mechanical Engineering (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Automation & Control Theory (AREA)
  • Traffic Control Systems (AREA)
  • Image Analysis (AREA)

Description

本発明は、演算システム、サーバ、および車載装置に関する。
ニューラルネットを利用した外界認識では、センタ側で学習されたモデルとセンサ部から入力された画像情報との積和演算により得られた結果を用いる。従来の組込み用途のマイコンでは処理速度が遅いため、アクセラレータである書き換え可能な論理回路が利用される。しかし、車載用の論理回路は乗算器や内部メモリが少ない問題が知られている。この対策として、非特許文献1には、浮動小数点型の量子化処理、すなわち整数型を用いた固定小数点化により回路規模を減ずる方法が開示されている。
Philipp Gysel, Mohammad Motamedi, and Soheil Ghiasi.,"HARDWARE-ORIENTED APPROXIMATION OF CONVOLUTIONAL NEURAL NETWORKS",arXiv:1604.03168, 2016. [平成29年11月16日検索]、インターネット<URL:https://arxiv.org/pdf/1604.03168v3.pdf>
非特許文献1に記載されている発明では、性能の低下が許容できない場合がある。
本発明の第1の態様による演算システムは、サーバと車両に搭載される車載装置とを備える演算システムであって、前記サーバは、学習済モデルを格納するサーバ記憶部と、前記学習済モデルおよび推論対象を用いて演算の精度を定める縮約情報を作成する簡易化部と、前記縮約情報を前記車載装置に送信するサーバ通信部とを備え、前記車載装置は、前記車両に搭載されたセンサの出力信号が入力される信号入力部と、前記縮約情報を受信する車載通信部と、前記出力信号を対象とする推論を行う推論部と、再構成可能な論理回路と、前記縮約情報に基づき前記論理回路に前記推論部を作成する再構成部とを備え、前記車載装置は、前記学習済モデルを格納する車載格納部をさらに備え、前記再構成部は、前記学習済モデルおよび前記縮約情報に基づき前記推論部を作成する
本発明の第2の態様による車載装置は、車両に搭載される車載装置であって、前記車両に搭載されたセンサの出力信号が入力される信号入力部と、学習済モデルおよび推論対象を用いて作成された情報であって、演算の精度を定める縮約情報を受信する車載通信部と、前記出力信号を対象とする推論を行う推論部と、再構成可能な論理回路と、前記縮約情報に基づき前記論理回路に前記推論部を作成する再構成部と、前記学習済モデルを格納する車載格納部とを備え、前記再構成部は、前記学習済モデルおよび前記縮約情報に基づき前記推論部を作成する
本発明によれば、演算の精度を大きく低下させることなく論理回路の使用領域を削減できる。
演算システムSの構成図 第1の実施の形態におけるサーバ1およびECU2の機能構成図 閾値テーブル155の一例を示す図 モデル作成部121および簡易化部122の処理を表すフローチャート 変形例1における演算システムSのハードウエア構成図 第2の実施の形態におけるサーバ1AおよびECU2Aの機能構成図 縮約情報154の一例を示す図 状況テーブル252の一例を示す図
―第1の実施の形態―
以下、図1〜図4を参照して、本発明にかかる演算システムSの第1の実施の形態を説明する。
(ハードウエア構成)
図1は演算システムSの構成を示す図である。演算システムSは、サーバ1とECU2とを備える。サーバ1とECU2は無線通信ネットワークXを介して通信する。ECU2は車両3に搭載され、サーバ1は車両3の外部に設置される。
サーバ1は、CPU11と、GPU12と、ROM13と、RAM14と、サーバ記憶部15と、サーバ通信部16とを備える。CPU11は中央演算装置(Central Processing Unit)である。GPU12は特定の処理に特化して高速に演算を行えるGraphic Processing Unitである。ROM13は読み込み専用の記憶領域であり、CPU11およびGPU12が実行するプログラムが格納される。RAM14は読み書き可能な記憶領域である。サーバ記憶部15は、たとえばハードディスクドライブなどの不揮発性の記憶装置である。サーバ通信部16はECU2との通信を実現する。CPU11およびGPU12は、ROM13に格納されたプログラムを実行することにより後述する機能を実現する。
サーバ1はECU2に比べて計算リソースが豊富であり、高精度な演算が可能である。GPU12は、浮動小数点型の演算をたとえば32ビットの精度で行う。数値を浮動小数点型で表現すると、符号部と仮数部と指数部とから構成されるが、たとえばGPU12は符号部を1ビット、指数部を8ビット、仮数部を23ビットとして演算を行う。ただしGPU12は浮動小数点型の演算を64ビットや16ビットの精度で行ってもよい。
車両3は、ECU2およびカメラ4を備える。カメラ4は撮影して得られた画像である撮影画像をECU2に出力する。ECU2は、撮影画像に撮影されている被写体を推定し、その推定結果を車両3に搭載された他の処理装置、たとえば自動運転ユニットに出力する。
ECU2は、特定用途向け集積回路であるASIC(Application Specific Integrated Circuit)21と、再構成可能な集積回路であるFPGA(Field Programmable Gate Array)22と、車載記憶部25と、車載通信部26と、信号入力部28とを備える。ASIC21はハードウエア回路であり、後述する所定の処理を行う。FPGA22は起動するたびに車載記憶部25の定められた領域からコンフィグレーション情報を読み込み、論理回路を構成する。以下ではコンフィグレーション情報を構成情報とも呼ぶ。車載記憶部25は、たとえばフラッシュメモリなどの書き換え可能な不揮発性メモリである。車載通信部26はサーバ1と通信する。信号入力部28はカメラ4から撮影画像が入力される。
(機能構成)
図2は、サーバ1およびECU2の機能構成を示す図である。サーバ1はその機能として、モデル作成部121と簡易化部122とを備える。モデル作成部121はCPU11によって実現され、モデル作成部121および簡易化部122はGPU12によって実現される。ただしモデル作成部121および簡易化部122は、CPU11およびGPU12の協同により実現してもよい。サーバ記憶部15には、学習画像151と、高精度モデル152と、低精度モデル153と、閾値テーブル155とが格納される。学習画像151は複数の画像の集合体である。高精度モデル152および低精度モデル153は、学習画像151を用いて作成される学習済モデルであり、いずれも線形性を有する。なお学習画像151は、低精度モデル153を作成するための推論対象としても用いられる。
高精度モデル152および低精度モデル153は、コンボリューション層やBN層を含む複数の階層から構成され、各層は1または複数のパラメータを有する。高精度モデル152および低精度モデル153の階層数は同一であり、両者の差異はパラメータおよび演算の精度である。たとえば高精度モデル152では、全ての層のパラメータは浮動小数点型の32ビットの精度で表され、演算も浮動小数点型の32ビットの精度で行われる。しかし低精度モデル153におけるパラメータおよび演算の精度は高精度モデル152よりも低い。ただし低精度モデル153における精度は層ごとに独立して定められ、同一の層ではパラメータを表現する精度と演算の精度は同一である。
図3は、閾値テーブル155の一例を示す図である。閾値テーブル155には、学習済モデルの各層ごとの高精度モデル152と低精度モデル153との許容される精度の差が格納される。図2に戻って説明を続ける。
モデル作成部121は、学習画像151を用いて学習済モデルである高精度モデル152を作成する。この高精度モデル152の作成には、たとえば既知の手法である誤差逆伝播法を用いることができる。誤差逆伝播法では、正解との誤差を出力層に近い層から入力層へと遡って伝播させる。簡易化部122は、高精度モデル152と学習画像151と閾値テーブル155とを用いて低精度モデル153を作成する。簡易化部122が作成した低精度モデル153はサーバ通信部16によりECU2に送信される。
学習済モデルを用いて推論を行う場合に、演算の精度が高いほど推論の確からしさが高くなり、演算の精度が低いほど推論の確からしさが低くなる傾向にある。演算の精度とは、たとえば演算に用いる数値の桁数である。すなわち数値を浮動小数点型で表現すると、符号部と仮数部と指数部から構成されるが、仮数部と指数部を表現する桁数、厳密にはビット数の大小が演算の精度の高低を示す。高精度な推論の結果を得るためには演算の精度を高めればよいが、FPGA22に演算器を構成する場合は精度が高いほど広い領域を占有し、消費電力も増大するため望ましくない。そのため簡易化部122は、最適な低精度モデル153を作成してECU2に送信する。
なお簡易化部122は、初回に低精度モデル153を作成した後は、たとえば次のような場合に低精度モデル153を作成する。たとえば、高精度モデル152の作成アルゴリズムを更新した場合や、ECU2に関連するハードウエアの変更、たとえばカメラ4が高い解像度の撮影画像を出力するように更新された場合などである。
ECU2はその機能として、書き換え部211と、推論部221と、再構成部222とを備える。車載記憶部には、構成情報251が格納される。再構成部222は、起動するとコンフィグレーション情報である構成情報251を読み込んでコンフィグレーションを行い、FPGA22に推論部221を構成する。書き換え部211はASIC21のハードウエア回路である。推論部221はFPGA22に構成された論理回路である。再構成部222は、FPGA22にあらかじめ備えられる機能である。
書き換え部211は、サーバ1から低精度モデル153を受信すると、受信した低精度モデル153を用いて構成情報251を書き換える。これにより、次回にFPGA22が起動した際に書き換えられた構成情報251が読み込まれ、受信した低精度モデル153が推論部221として構成される。推論部221は、FPGA22に構成される論理回路であり、カメラ4の撮影画像を処理対象とする。推論部221は推論の結果を車両3に搭載された他の装置に出力する。
図4はモデル作成部121および簡易化部122の処理を表すフローチャートである。以下に説明する各ステップの実行主体はGPU12である。モデル作成部121は、既知の手法により学習画像151を用いて高精度モデル152を作成する(S601)。前述のとおり、高精度モデル152に含まれるパラメータは全て高精度、たとえば32ビットの精度である。次に簡易化部122は、S601において作成した高精度モデル152を用いて学習画像151を対象に推論を行い、各層の演算結果を基準値として一時的に保存する(S602)。なおこの演算では、推論対象となっている学習画像151のデータ、すなわち画素値も32ビットの浮動小数点型の値として扱う。
次に簡易化部122は、高精度モデル152の第1層目を処理対象層とし(S603)、仮数部と指数部の最適なビット数を算出する(S604、S605)。具体的には簡易化部122はS604において、高精度モデル152の処理対象層のパラメータの値の精度、学習画像151の画素値の精度、および演算の精度を同様に低下させ、S602において算出した基準値との最小二乗誤差が閾値以内である最小のビット数を特定する。ただしこの閾値は、閾値テーブル155にあらかじめ定められている。たとえば仮数部のビット数を23ビットから1ビットずつ減少させ、最小二乗誤差が閾値を上回った場合にその直前のビット数を最適なビット数と判断する。またS605では簡易化部122は、高精度モデル152を用いた処理対象層の演算に関連する数値の指数部の分布状況から最適な指数部のビット数を決定する。たとえば簡易化部122は、演算に関連する数値の全ての指数をカバーする最小のビット数、または所定の割合、たとえば1シグマ値となる約68%をカバーするビット数とする。
次に簡易化部122はS606において、全ての層を処理対象としたか否かを判断し、全ての層を処理対象としたと判断する場合はS607に進み、未処理の層が存在すると判断する場合はS608に進む。簡易化部122はS607において、これまでS604およびS605において決定した各層の演算精度に基づき低精度モデル153を作成する。この低精度モデル153では、演算の精度および使用するパラメータの精度が高精度モデル152よりも低下している。簡易化部122はS608において、処理対象層を次の層に設定してS604に戻る。以上がモデル作成部121および簡易化部122の処理である。
上述した第1の実施の形態によれば、次の作用効果が得られる。
(1)演算システムSは、サーバ1と車両3に搭載されるECU2とを備える。サーバ1は、高精度モデル152を格納するサーバ記憶部15と、高精度モデル152および学習画像151を用いて演算の精度を定めた低精度モデル153を作成する簡易化部122と、低精度モデル153をECU2に送信するサーバ通信部16とを備える。ECU2は、車両3に搭載されたカメラ4の撮影画像が入力される信号入力部28と、低精度モデル153を受信する車載通信部26と、撮影画像を対象とする推論を行う推論部221と、再構成可能なFPGA22と、低精度モデル153に基づきFPGA22に推論部221を作成する書き換え部211および再構成部222とを備える。ECU2は、低精度モデル153に基づきFPGA22に推論部221を作成するので、演算の精度を大きく低下させることなく論理回路の使用領域を削減できる。
(2)高精度モデル152および低精度モデル153は、線形要素のみから構成される。そのため演算の精度を低下させたことによる演算結果への影響が線形に現れるので、サーバ1は適切な演算精度、すなわち仮数部および指数部の桁数を決定することができる。
(変形例1)
上述した第1の実施の形態では、サーバ1と車載装置2とが無線通信ネットワークXを介して通信した。しかしサーバ1が作成した低精度モデル153は通信を介さずに、記憶媒体を用いてオフラインで車載装置2に移動してもよい。
図5は、変形例1における演算システムSのハードウエア構成図である。第1の実施の形態との違いは、サーバ1はサーバ通信部16の代わりに書き出し部17を備え、ECU2は車載通信部26の代わりに読み込み部27を備える点である。サーバ1は、算出した低精度モデル153を書き出し部17を介して記憶媒体、たとえばUSBメモリUに書き出す。そしてディーラのサービスマン、または車両3のユーザがUSBメモリUをECU2の読み込み部27に接続し、ECU2に低精度モデル153を読み込ませる。
(変形例2)
上述した第1の実施の形態では、ECU2のFPGA22に構成された推論部221は、カメラ4の撮影画像を処理対象とした。しかし推論部221は車両3に搭載されるセンサが出力する様々な情報を処理対象としてもよい。たとえばレーザーレンジファインダから得られる2次元や3次元の情報を処理対象としてもよいし、時系列の3次元情報、すなわち4次元情報を処理対象としてもよい。また複数のセンサの出力を同時に扱う場合には5次元以上の多次元の情報として扱ってもよい。
なお、推論部221の処理内容の変更にあわせて、サーバ1のモデル作成部121が作成する高精度モデル152および低精度モデル153も作り変える必要がある。この変形例2によれば、高次元であるほど処理量が増大するので、本発明を適用することによる処理量の削減の効果が顕著になる。
(変形例3)
ECU2はさらに非線形性を有する非線形推論部を備えてもよい。この場合は推論部221は推論の結果を非線形推論部に出力し、非線形推論部が推論の結果を車両3に搭載された他の装置に出力する。
(変形例4)
サーバ1およびECU2のハードウエア構成は上述した構成に限定されない。たとえばサーバ1はCPU11またはGPU12を備えなくてもよい。またECU2はASIC21の代わりにCPU、ROM、およびRAMを備えてもよい。
―第2の実施の形態―
図6〜図7を参照して、本発明にかかる演算システムSの第2の実施の形態を説明する。以下の説明では、第1の実施の形態と同じ構成要素には同じ符号を付して相違点を主に説明する。特に説明しない点については、第1の実施の形態と同じである。本実施の形態では、主に、高精度モデル152があらかじめサーバおよび車載装置に備えられる点で、第1の実施の形態と異なる。
図6は、第2の実施の形態におけるサーバ1AおよびECU2Aの機能構成図である。サーバ1Aの機能構成は、第1の実施の形態におけるサーバ1の機能構成からモデル作成部121が削除され、簡易化部122の代わりに簡易化部122Aを備える。また第2の実施の形態におけるサーバ記憶部15には、学習画像151、高精度モデル152、縮約情報154、および閾値テーブル155が格納される。学習画像151、高精度モデル152、および閾値テーブル155は、あらかじめサーバ記憶部15に格納される。縮約情報154は簡易化部122Aにより作成される。
簡易化部122Aは、低精度モデル153を作成する代わりに縮約情報154を作成する。すなわち簡易化部122Aは、第1の実施の形態において低精度モデル153を作成するために決定したパラメータ、すなわち学習済モデルの各層における演算の精度を縮約情報154としてサーバ記憶部15に格納する。簡易化部122Aの動作をフローチャートで表すと、図4におけるS607の処理が縮約情報154の作成に置き換わる。この縮約情報154はサーバ通信部16によりECU2Aに送信される。
図7は、縮約情報154の一例を示す図である。前述のとおり、学習済モデルは複数の階層から構成され、モデル作成部121は階層ごとに精度を決定する。そのため図7に示すように、縮約情報154は階層ごとに、符号部、指数部、および仮数部の桁数、換言するとビット数が列挙されたものとなる。図6に戻って説明を続ける。
ECU2Aの機能構成は、第1の実施の形態におけるECU2の機能構成において書き換え部211を書き換え部211Aに置き換えたものである。ECU2Aの車載記憶部25には、構成情報251、高精度モデル152、および縮約情報154が格納される。構成情報251は書き換え部211Aにより作成される。高精度モデル152はあらかじめ車載記憶部25に格納される。ただし高精度モデル152はサーバ1Aから受信してもよい。縮約情報154はサーバ1Aから受信する。
書き換え部211Aは、サーバ1Aから受信した縮約情報154およびあらかじめ記憶されていた高精度モデル152を用いて低精度モデル153を作成する。そして書き換え部211Aは、第1の実施の形態と同様に構成情報251を作成する。すなわち第2の実施の形態における書き換え部211Aは、第1の実施の形態における簡易化部122の機能の一部、具体的には図4におけるS607の処理機能を備える。
(第1の実施の形態との比較)
第2の実施の形態では、推論部221の演算の精度に関する情報が縮約情報154として存在している。そしてECU2Aが、縮約情報154と高精度モデル152とを用いて低精度モデル153を作成する。その一方、第1の実施の形態では、推論部221の演算の精度に関する情報は独立して存在しておらず、サーバ1が作成する低精度モデル153に内包されている。換言すると、第1の実施の形態における低精度モデル153は、縮約情報154および高精度モデル152を一体としたものである。また第1の実施の形態における簡易化部122は、低精度モデル153を作成する過程で縮約情報154を作成しているともいえる。
上述した第2の実施の形態によれば、次の作用効果が得られる。
(1)演算システムSは、サーバ1Aと車両3に搭載されるECU2Aとを備える。サーバ1Aは、高精度モデル152を格納するサーバ記憶部15と、高精度モデル152および学習画像151を用いて演算の精度を定める縮約情報154を作成する簡易化部122と、縮約情報154をECU2Aに送信するサーバ通信部16とを備える。ECU2Aは、車両3に搭載されたカメラ4の撮影画像が入力される信号入力部28と、縮約情報154を受信する車載通信部26と、撮影画像を対象とする推論を行う推論部221と、再構成可能なFPGA22と、縮約情報154に基づきFPGA22に推論部221を作成する書き換え部211Aおよび再構成部222とを備える。ECU2Aは、縮約情報154に基づきFPGA22に推論部221を作成するので、演算の精度を大きく低下させることなく論理回路の使用領域を削減できる。またサーバ1Aは学習済モデルそのものではなく縮約情報154を送信するので、通信量を削減することができる。
(2)簡易化部122は、高精度モデル152および学習画像151を用いて、基準の精度、および基準よりも低い精度で演算を行い、基準の精度による演算結果と基準よりも低い精度による演算結果との差が所定値以下である最も低い精度を縮約情報154とする。
そのため縮約情報154に基づき作成された推論部221は、演算の精度は低いものの閾値テーブル155において許容されている限度でしか精度が低下しない。換言すると推論部221は、FPGA22の専有面積を削減しつつ必要とする精度を確保できる。
(3)高精度モデル152および低精度モデル153は、複数の階層から構成される。縮約情報154は複数の階層のそれぞれについて演算の精度を定める。そのため推論部221は各層の演算の精度を確保できる。
(4)縮約情報154は、浮動小数点型の仮数部の桁数および指数部の桁数である。
(第2の実施の形態の変形例1)
ECU2Aは、状況にあわせて演算の精度を変更してもよい。本変形例では、車載記憶部25には状況テーブル252がさらに記憶される。書き換え部211Aは、カメラ4の撮影画像などから車両3の状況または車両3の周囲の状況が、状況テーブル252に記載されたいずれの状況に該当するかを判断して、その状況に対応する精度で再構成部222にFPGA22に推論部221を構成させる。なお書き換え部211Aは、状況テーブル252に記載の状況に当てはまらないと判断する場合は、縮約情報154を用いて推論部221を構成する。
図8は、状況テーブル252の一例を示す図である。状況テーブル252には、高速走行、雨天、停車を含む状況が記録される。「高速走行」は、車両3が高速に走行していると書き換え部211Aが判断した際に選択される。「雨天」は、車両3の周囲で雨が降っていると書き換え部211Aが判断した際に選択される。「停車」は、車両3が停車していると書き換え部211Aが判断した際に選択される。そして状況テーブル252には、それぞれの状況に対応する推論部221の精度、すなわち指数部および仮数部のビット数が記録される。なお状況テーブル252には、符号部が含まれてもよい。
(第2の実施の形態の変形例2)
上述した第1の実施の形態では、高精度モデル152および低精度モデル153に含まれるパラメータは浮動小数点型で表現された。しかしこれらのパラメータは整数型で表現されてもよい。この場合も推論部221の演算は浮動小数点型で行われるので、モデル作成部121はその演算の精度を縮約情報154としてECU2に送信する。以下詳述する。ただしここでは高精度モデル152の各層のパラメータが整数型で算出済みであるとして図4のS602以下の処理のうち第1の実施の形態との相違点を主に説明する。
S602では簡易化部122は、高精度モデル152の各層のパラメータ、および学習画像151の画素値を32ビットの浮動小数点型に変換して各層の演算を行い、その結果を基準値として一時的に保存する。S604では簡易化部122は、変換する浮動小数点型のビット数を変化させて第1の実施の形態と同様に処理を行う。S605における処理は第1の実施の形態と同様である。この変形例4によれば、多様な学習済モデルに対して本発明を適用することができる。
上述した各実施の形態および変形例は、それぞれ組み合わせてもよい。上記では、種々の実施の形態および変形例を説明したが、本発明はこれらの内容に限定されるものではない。本発明の技術的思想の範囲内で考えられるその他の態様も本発明の範囲内に含まれる。
1…サーバ
2…車載装置
15…サーバ記憶部
16…サーバ通信部
25…車載記憶部
28…信号入力部
121…モデル作成部
122…簡易化部
152…高精度モデル
153…低精度モデル
154…縮約情報
155…閾値テーブル
221…推論部
222…再構成部
251…構成情報
252…状況テーブル
253…閾値テーブル

Claims (4)

  1. サーバと車両に搭載される車載装置とを備える演算システムであって、
    前記サーバは、
    学習済モデルを格納するサーバ記憶部と、
    前記学習済モデルおよび推論対象を用いて演算の精度を定める縮約情報を作成する簡易化部と、
    前記縮約情報を前記車載装置に送信するサーバ通信部とを備え、
    前記車載装置は、
    前記車両に搭載されたセンサの出力信号が入力される信号入力部と、
    前記縮約情報を受信する車載通信部と、
    前記出力信号を対象とする推論を行う推論部と、
    再構成可能な論理回路と、
    前記縮約情報に基づき前記論理回路に前記推論部を作成する再構成部とを備え
    前記車載装置は、
    前記学習済モデルを格納する車載格納部をさらに備え、
    前記再構成部は、前記学習済モデルおよび前記縮約情報に基づき前記推論部を作成する演算システム。
  2. 請求項1に記載の演算システムにおいて、
    前記学習済モデルは、複数の階層から構成され、
    前記縮約情報は前記複数の階層のそれぞれについて演算の精度を定める演算システム。
  3. 請求項1に記載の演算システムにおいて、
    前記縮約情報は、浮動小数点型の仮数部および指数部の桁数である演算システム。
  4. 車両に搭載される車載装置であって、
    前記車両に搭載されたセンサの出力信号が入力される信号入力部と、
    学習済モデルおよび推論対象を用いて作成された情報であって、演算の精度を定める縮約情報を受信する車載通信部と、
    前記出力信号を対象とする推論を行う推論部と、
    再構成可能な論理回路と、
    前記縮約情報に基づき前記論理回路に前記推論部を作成する再構成部と
    前記学習済モデルを格納する車載格納部とを備え、
    前記再構成部は、前記学習済モデルおよび前記縮約情報に基づき前記推論部を作成する車載装置。
JP2017238805A 2017-12-13 2017-12-13 演算システム、サーバ、車載装置 Active JP6789919B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2017238805A JP6789919B2 (ja) 2017-12-13 2017-12-13 演算システム、サーバ、車載装置
PCT/JP2018/044723 WO2019116985A1 (ja) 2017-12-13 2018-12-05 演算システム、サーバ、車載装置
US16/771,032 US11427141B2 (en) 2017-12-13 2018-12-05 Computing system, server and on-vehicle device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017238805A JP6789919B2 (ja) 2017-12-13 2017-12-13 演算システム、サーバ、車載装置

Publications (2)

Publication Number Publication Date
JP2019106059A JP2019106059A (ja) 2019-06-27
JP6789919B2 true JP6789919B2 (ja) 2020-11-25

Family

ID=66819281

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017238805A Active JP6789919B2 (ja) 2017-12-13 2017-12-13 演算システム、サーバ、車載装置

Country Status (3)

Country Link
US (1) US11427141B2 (ja)
JP (1) JP6789919B2 (ja)
WO (1) WO2019116985A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112019000317T5 (de) 2018-12-07 2020-10-08 Sony Semiconductor Solutions Corporation Sensorvorrichtung, elektronische vorrichtung, sensorsystem undsteuerungsverfahren
JP7151654B2 (ja) 2019-07-26 2022-10-12 トヨタ自動車株式会社 検索装置、学習装置、検索システム、検索プログラム、及び学習プログラム
US20230367993A1 (en) 2020-11-16 2023-11-16 Hitachi Astemo, Ltd. Dnn contraction device and onboard computation device
JP2023068756A (ja) * 2021-11-04 2023-05-18 株式会社日立製作所 演算装置、作業計画の作成方法、演算システム
WO2024047994A1 (ja) * 2022-08-31 2024-03-07 LeapMind株式会社 入力情報生成装置、画像処理装置、入力情報生成方法、学習装置、プログラム及びノイズ低減装置の学習方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2666631C2 (ru) 2014-09-12 2018-09-11 МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи Обучение dnn-студента посредством распределения вывода
US20160328644A1 (en) * 2015-05-08 2016-11-10 Qualcomm Incorporated Adaptive selection of artificial neural networks
GB201607713D0 (en) * 2016-05-03 2016-06-15 Imagination Tech Ltd Convolutional neural network
KR102589303B1 (ko) * 2017-11-02 2023-10-24 삼성전자주식회사 고정 소수점 타입의 뉴럴 네트워크를 생성하는 방법 및 장치

Also Published As

Publication number Publication date
WO2019116985A1 (ja) 2019-06-20
US20210170962A1 (en) 2021-06-10
US11427141B2 (en) 2022-08-30
JP2019106059A (ja) 2019-06-27

Similar Documents

Publication Publication Date Title
JP6789919B2 (ja) 演算システム、サーバ、車載装置
JP7349835B2 (ja) ニューラルネットワークにおいてパラメータを処理する方法及び装置
KR102564456B1 (ko) 뉴럴 네트워크의 파라미터를 양자화하는 장치 및 방법
US11580719B2 (en) Dynamic quantization for deep neural network inference system and method
CN109754066B (zh) 用于生成定点型神经网络的方法和装置
US11429838B2 (en) Neural network device for neural network operation, method of operating neural network device, and application processor including the neural network device
CN109643327B (zh) 用于使用查找表以固定点来近似非线性函数的方法和装置
CN109919993A (zh) 视差图获取方法、装置和设备及控制系统
KR102637733B1 (ko) 뉴럴 네트워크 프로세서 및 그것의 컨볼루션 연산 방법
CN112673383A (zh) 神经网络核中动态精度的数据表示
TW202109319A (zh) 曲線函數裝置及其操作方法
CN110070867B (zh) 语音指令识别方法、计算机装置及计算机可读存储介质
KR102585470B1 (ko) 정보 처리장치, 정보 처리방법, 비일시적인 컴퓨터 판독가능한 기억매체
CN110874628A (zh) 人工神经网络及其中控制定点的方法
KR20210076691A (ko) 프레임워크 간 뉴럴 네트워크의 학습을 검증하는 방법 및 장치
CN112889025A (zh) 利用硬件计算效率优化神经网络
CN114548608B (zh) 模型处理方法、装置、目标交通设备及存储介质
WO2022102221A1 (ja) Dnn縮約装置及び車載演算装置
WO2021193134A1 (ja) 情報処理装置、車載制御装置
JP7177000B2 (ja) 演算装置および演算方法
KR20220018199A (ko) 희소성 데이터를 이용하는 연산 장치 및 그것의 동작 방법
KR102482728B1 (ko) 비트 시리얼 연산 방법 및 컴퓨터 기록 매체
KR20200139071A (ko) 뉴럴 네트워크에서 파라미터를 양자화하는 방법 및 장치
US11645738B2 (en) Driving deep learning-based image deblurring method and apparatus performing the same
JP2020060967A (ja) ニューラルネットワーク処理装置、およびニューラルネットワーク処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200519

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200707

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20201006

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201104

R150 Certificate of patent or registration of utility model

Ref document number: 6789919

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250