JP6986503B2 - Electronic control device, neural network update system - Google Patents

Electronic control device, neural network update system Download PDF

Info

Publication number
JP6986503B2
JP6986503B2 JP2018168864A JP2018168864A JP6986503B2 JP 6986503 B2 JP6986503 B2 JP 6986503B2 JP 2018168864 A JP2018168864 A JP 2018168864A JP 2018168864 A JP2018168864 A JP 2018168864A JP 6986503 B2 JP6986503 B2 JP 6986503B2
Authority
JP
Japan
Prior art keywords
neural network
information
group
information group
coefficient
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
JP2018168864A
Other languages
Japanese (ja)
Other versions
JP2020042496A (en
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 Astemo 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 Astemo Ltd filed Critical Hitachi Astemo Ltd
Priority to JP2018168864A priority Critical patent/JP6986503B2/en
Priority to PCT/JP2019/032837 priority patent/WO2020054345A1/en
Priority to DE112019003929.6T priority patent/DE112019003929T5/en
Priority to US17/270,512 priority patent/US12045023B2/en
Priority to CN201980050165.0A priority patent/CN112534446B/en
Publication of JP2020042496A publication Critical patent/JP2020042496A/en
Application granted granted Critical
Publication of JP6986503B2 publication Critical patent/JP6986503B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/0265Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
    • G05B13/027Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion using neural networks only
    • 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
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/0088Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0221Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/20Control system inputs
    • G05D1/22Command input arrangements
    • G05D1/221Remote-control arrangements
    • G05D1/227Handing over between remote control and on-board control; Handing over between remote control arrangements
    • 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
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Biophysics (AREA)
  • Mathematical Physics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Automation & Control Theory (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Business, Economics & Management (AREA)
  • Game Theory and Decision Science (AREA)
  • Feedback Control In General (AREA)
  • Traffic Control Systems (AREA)
  • Combined Controls Of Internal Combustion Engines (AREA)

Description

本発明は、電子制御装置、およびニューラルネットワーク更新システムに関する。 The present invention relates to an electronic control device and a neural network update system.

近年、自動運転システムの開発が活発化している。自動運転システムにおいて、複雑な走行環境を走行するためには、カメラ、レーザレーダ、ミリ波レーダ等の様々なセンサからの情報を基にした自車両周辺環境をセンシングする「認識」や、センサで検出された自車両周辺のオブジェクトが今後どのように行動するのかを推定する「認知」や、認識と認知の結果に基づき今後の自車両の行動を計画する「判断」といった機能の高度化が必要になる。そのため、これらの機能に対して、ニューラルネットワークやディープラーニングなどのAI(Artificial Intelligence)モデルを導入することにより更なる高度化が期待されている。車両用の電子制御装置(ECU:Electronic Control Unit)において、車両走行制御で用いることが可能な処理周期でリアルタイムにニューラルネットワークの演算処理を実行する場合、CPUだけではなくFPGA(Field-Programmable Gate Array)、ASIC(Application Specific Integrated Circuit)、GPU(Graphics Processing Unit)などのハードウェアデバイスを追加で用いることが多く、ECUの消費電力の増大が課題となる。そのため、ニューラルネットワークの演算量を減らして、ニューラルネットワーク実行時の消費電力を低減する必要がある。特許文献1には、入力した画像のニューロンデータとパラメータとに基づいてそれぞれ算出した畳み込み量を各第1のメモリ領域にそれぞれ保持する処理と、前記各第1のメモリ領域に保持した前記畳み込み量に対して間引き処理をそれぞれ行った間引き後の畳み込み量を各第2のメモリ領域にそれぞれ保持する処理とを第1の複数層において行う第1の認識処理と、前記第2のメモリ領域に保持した前記間引き後の畳み込み量の全てに対して第3のメモリ領域に保持した重みをそれぞれ積算した出力結果を各第4のメモリ領域にそれぞれ保持する処理を第2の複数層において行う第2の認識処理とを制御する認識制御部と、前記第1の複数層と前記第2の複数層とに含まれる各層について、各ニューロンデータのサイズであるニューロンデータサイズと、各パラメータのサイズであるパラメータサイズとをそれぞれ計算するメモリ量計算部と、前記第4のメモリ領域に保持した前記出力結果に基づき計算した前記出力結果の誤差の勾配を第5のメモリ領域に保持するとともに、前記メモリ量計算部が計算した前記第2の複数層に含まれる各層のニューロンデータサイズとパラメータサイズと大小関係に基づき、前記第5のメモリ領域に保持した前記出力結果の誤差の勾配又は前記第2の複数層における前層の第6のメモリ領域に保持した誤差の勾配に基づいて計算した前記第2の複数層における次層への誤差の勾配を各第6のメモリ領域に保持した後、前記第2の複数層における次層へのパラメータの誤差の勾配を前記各第3のメモリ領域にそれぞれ保持する前記第2の複数層における第1の学習処理と、前記メモリ量計算部が計算した前記第1の複数層に含まれる各層のニューロンデータサイズとパラメータサイズとの大小関係に基づき、前記第2の複数層の最終層の第6のメモリ領域又は前記第1の複数層における前層の第7のメモリ領域に保持した誤差の勾配に基づいて計算した次層へのパラメータの誤差の勾配を各第7のメモリ領域に保持した後、前記第1の複数層における次層への誤差の勾配を前記各第2のメモリ領域にそれぞれ保持する前記第1の複数層間における第2の学習処理とを制御する学習制御部と、を有することを特徴とする画像認識装置が開示されている。 In recent years, the development of automatic driving systems has become active. In order to drive in a complicated driving environment in an automatic driving system, "recognition" that senses the environment around the vehicle based on information from various sensors such as cameras, laser radars, and millimeter wave radars, and sensors It is necessary to enhance functions such as "cognition" that estimates how the detected objects around the vehicle will behave in the future, and "judgment" that plans future behavior of the vehicle based on the results of recognition and recognition. become. Therefore, it is expected that these functions will be further enhanced by introducing AI (Artificial Intelligence) models such as neural networks and deep learning. When executing the arithmetic processing of the neural network in real time in the processing cycle that can be used in the vehicle running control in the electronic control unit (ECU) for the vehicle, not only the CPU but also the FPGA (Field-Programmable Gate Array) ), ASIC (Application Specific Integrated Circuit), GPU (Graphics Processing Unit) and other hardware devices are often additionally used, and increasing the power consumption of the ECU becomes an issue. Therefore, it is necessary to reduce the amount of calculation of the neural network to reduce the power consumption when executing the neural network. Patent Document 1 describes a process of holding the convolution amount calculated based on the neuron data and parameters of the input image in each first memory area, and the convolution amount held in each first memory area. The first recognition process in which the convolution amount after the thinning is performed in each of the second memory areas is held in the first plurality of layers, and the second recognition process is held in the second memory area. The second plurality of layers perform a process of accumulating the weights held in the third memory area for all the convolution amounts after the thinning and holding the output results in each of the fourth memory areas. For each layer included in the recognition control unit that controls the recognition process and the first plurality of layers and the second plurality of layers, the neuron data size which is the size of each neuron data and the parameter which is the size of each parameter. The memory amount calculation unit that calculates the size and the like, and the gradient of the error of the output result calculated based on the output result held in the fourth memory area are held in the fifth memory area, and the memory amount calculation is performed. Based on the magnitude relationship between the neuron data size and the parameter size of each layer included in the second plurality of layers calculated by the unit, the gradient of the error of the output result held in the fifth memory area or the second plurality of layers. After holding the gradient of the error to the next layer in the second plurality of layers calculated based on the gradient of the error held in the sixth memory area of the previous layer in each sixth memory area, the second The first learning process in the second plurality of layers, which holds the gradient of the parameter error to the next layer in the plurality of layers in each of the third memory areas, and the first learning process calculated by the memory amount calculation unit. Based on the magnitude relationship between the neuron data size and the parameter size of each layer included in the plurality of layers, the sixth memory area of the final layer of the second plurality of layers or the seventh memory of the previous layer in the first plurality of layers. After the gradient of the parameter error to the next layer calculated based on the gradient of the error held in the area is held in each seventh memory area, the gradient of the error to the next layer in the first plurality of layers is determined by each of the above. Disclosed is an image recognition device comprising a learning control unit that controls a second learning process in the first plurality of layers held in a second memory area, respectively.

特開2018−18350号公報Japanese Unexamined Patent Publication No. 2018-18350

特許文献1に記載されている発明では、重み係数を削除した場合に高精度な推論が要求されるデータに対する推論精度が、重み係数削除前と比べて低下する場合がある。 In the invention described in Patent Document 1, the inference accuracy for data for which high-precision inference is required when the weighting coefficient is deleted may be lower than that before the weighting coefficient is deleted.

本発明の第1の態様による電子制御装置は、複数のニューロンと、前記ニューロン同士を紐付ける結合情報を複数含む結合情報群とを含むニューラルネットワークを格納する電子制御装置であって、前記ニューラルネットワークは、入力値が与えられたときに出力値を決定するための前記結合情報群である第1の合情報群と、前記入力値として与えられた所定のデータに対する影響度が所定値を上回る複数の前記結合情報である第2の結合情報群とに基づき、間引き部が前記第1の結合情報群から少なくとも1つの結合情報を削除することで作成される第3の結合情報群を含むニューラルネットワークである。
本発明の第2の態様によるニューラルネットワーク更新システムは、サーバ、および電子制御装置を備え、複数のニューロンと、前記ニューロン同士を紐付ける結合情報を複数含む結合情報群とを含むニューラルネットワークを更新するニューラルネットワーク更新システムであって、前記サーバは、記憶部と、演算部と、を備え、前記記憶部は、入力値が与えられたときに出力値を決定するための前記結合情報群である第1の合情報群を格納し、前記演算部は、所定のデータが前記入力値として与えられた場合に、前記所定のデータに対する影響度が所定値を上回る複数の前記結合情報である第2の結合情報群を特定する係数特定部と、前記第1の結合情報群と前記第2の結合情報群とに基づき、前記第1の結合情報群から少なくとも1つの結合情報を削除して第3の結合情報群を作成する間引き部と、を備え、前記電子制御装置は、前記第3の結合情報群を含むニューラルネットワークを格納する。


The electronic control device according to the first aspect of the present invention is an electronic control device that stores a neural network including a plurality of neurons and a connection information group including a plurality of connection information that links the neurons to each other. includes a first binding information group input values are the binding information group for determining an output value when given, impact for a given data given as the input value exceeds a predetermined value A neural including a third connection information group created by the thinning unit deleting at least one connection information from the first connection information group based on the second connection information group which is the plurality of connection information. It is a network.
The neural network update system according to the second aspect of the present invention includes a server and an electronic control device, and updates a neural network including a plurality of neurons and a coupling information group including a plurality of coupling information linking the neurons to each other. The server is a neural network update system, the server includes a storage unit and a calculation unit, and the storage unit is a combination information group for determining an output value when an input value is given. stores 1 binding information group, the arithmetic unit, when a predetermined data is given as the input value, a second influence on the predetermined data is a plurality of said binding information above a predetermined value At least one binding information is deleted from the first coupling information group based on the coefficient specifying unit for specifying the coupling information group, the first coupling information group, and the second coupling information group, and the third The electronic control device includes a thinning unit for creating the combined information group of the above, and the electronic control device stores a neural network including the third combined information group.


本発明によれば、高精度な推論が要求されるデータに対する推論精度の低下を限定的に留めてニューラルネットワークの演算量を低減することができる。 According to the present invention, it is possible to reduce the amount of calculation of the neural network by limiting the decrease in inference accuracy for data that requires high-precision inference.

AIモデルの構造の一例を示す図Diagram showing an example of the structure of the AI model 第1の実施の形態におけるニューラルネットワーク更新システム2の構成図Configuration diagram of the neural network update system 2 in the first embodiment データセット管理テーブル30の一例を示す図The figure which shows an example of the data set management table 30 サーバ21によるニューラルネットワークの縮約処理を示すフローチャートFlow chart showing the contraction process of the neural network by the server 21 図4におけるS402の詳細を示すフローチャートA flowchart showing the details of S402 in FIG. 変形例1における、データセット管理テーブル31の一例を示す図The figure which shows an example of the data set management table 31 in the modification 1. 変形例4における、図3に示すステップS402の詳細を示す図The figure which shows the detail of the step S402 shown in FIG. 3 in the modification 4 変形例4における、ステップS602の処理の一例を示す図The figure which shows an example of the process of step S602 in the modification 4 変形例5における、図3に示すステップS402の詳細を示す図The figure which shows the detail of the step S402 shown in FIG. 3 in the modification 5. 図9に示す処理の一例を示す図The figure which shows an example of the process shown in FIG. 変形例6における、図3に示すステップS402の詳細を示す図The figure which shows the detail of the step S402 shown in FIG. 3 in the modification 6. ステップS902の処理の一例を示す図The figure which shows an example of the process of step S902 変形例6におけるシステム構成図System configuration diagram in variant 6 第2の実施の形態におけるニューラルネットワーク更新システム2の構成図Configuration diagram of the neural network update system 2 in the second embodiment 縮約率補正テーブル204の一例を示す図The figure which shows an example of the reduction rate correction table 204

以下、本発明の実施の形態について図面を参照して説明する。なお、以下に示す各実施の形態では、同じ構成要素や同じ処理内容等については、同一の番号を記載してその説明を簡略にする。各実施の形態では、人工知能処理を用いたAIモデルを備えた電子制御装置、サーバ、全体システムについての説明において、AIモデルの一例として、ニューラルネットワークを用いて説明する。ただしAIモデルは、機械学習、ディープラーニング、および強化学習に関するモデルであってもよい。すなわち、近似や間引き処理により、最適化できる様々なAIモデルに対して、以下に説明する各実施の形態を適用できる。なお以下に説明する実施の形態では、モデルの最適化は、重み係数やニューロンを間引く方法を例に説明し、その処理のことを「ニューラルネットワークの縮約」として記載する。また以下では、「ニューラルネットワーク」を「NN」と記載することもある。 Hereinafter, embodiments of the present invention will be described with reference to the drawings. In each of the following embodiments, the same components, the same processing contents, and the like are described with the same numbers to simplify the description. In each embodiment, a neural network will be used as an example of the AI model in the description of the electronic control device, the server, and the entire system provided with the AI model using artificial intelligence processing. However, the AI model may be a model related to machine learning, deep learning, and reinforcement learning. That is, each embodiment described below can be applied to various AI models that can be optimized by approximation and thinning processing. In the embodiment described below, the optimization of the model will be described by taking as an example a weighting coefficient and a method of thinning out neurons, and the processing will be described as “neural network reduction”. Further, in the following, the "neural network" may be referred to as "NN".

―第1の実施の形態―
以下、図1〜図5を参照して、ニューラルネットワーク更新システムの第1の実施の形態を説明する。第1の実施の形態では、高精度な推論が要求されるデータ(以下、「重要データ」とも呼ぶ)に深く関連するニューラルネットワークの結合情報を特定し、その情報を用いて結合情報の間引きを行う。なお、間引き処理は結合情報そのものを削除する方法や、値を0に変更する方法が考えられる。
-First embodiment-
Hereinafter, the first embodiment of the neural network update system will be described with reference to FIGS. 1 to 5. In the first embodiment, the connection information of the neural network deeply related to the data requiring high-precision inference (hereinafter, also referred to as "important data") is specified, and the connection information is thinned out using the information. conduct. As the thinning process, a method of deleting the join information itself or a method of changing the value to 0 can be considered.

図1は、AIモデルの構造の一例を示す図である。図1に示すように、ニューラルネットワークモデル1は、入力層10と、中間層11と、出力層12を含み、各層はそれぞれI個、J個、K個の演算ユニット100を持つ。それぞれの演算ユニット100は、図1の符号101や符号102に示すように、演算ユニット100間の結合情報を基に接続される。入力層10に情報が入力されると、結合情報が加味されて中間層11内で伝搬されて、最終的に出力層12より予測結果に相当する情報が出力される。演算ユニット100間の接続に関する結合情報を本実施の形態では「ネットワーク構造情報」と呼ぶ。演算ユニット100は前述の「ニューロン」に相当する。 FIG. 1 is a diagram showing an example of the structure of an AI model. As shown in FIG. 1, the neural network model 1 includes an input layer 10, an intermediate layer 11, and an output layer 12, and each layer has I, J, and K arithmetic units 100, respectively. As shown by reference numeral 101 and reference numeral 102 in FIG. 1, each arithmetic unit 100 is connected based on the connection information between the arithmetic units 100. When the information is input to the input layer 10, the coupling information is added and propagated in the intermediate layer 11, and finally the information corresponding to the prediction result is output from the output layer 12. The connection information regarding the connection between the arithmetic units 100 is referred to as "network structure information" in the present embodiment. The arithmetic unit 100 corresponds to the above-mentioned "neuron".

結合情報は結合係数とバイアスから構成され、その結合係数を係数とする演算が行われつつ情報は入力層10から出力層12に伝搬される。AIモデルの演算で使用される結合係数のことを本実施の形態では「重み係数」と呼ぶ。また本実施の形態では、説明を簡略するためにバイアスを除外して結合情報が重み係数のみから構成されるとして説明する。すなわち本実施の形態では、結合情報と重み係数は同一である。ただし結合情報にバイアスが含まれる構成も本発明に含まれる。 The coupling information is composed of a coupling coefficient and a bias, and the information is propagated from the input layer 10 to the output layer 12 while performing an operation using the coupling coefficient as a coefficient. The coupling coefficient used in the calculation of the AI model is referred to as a "weighting coefficient" in this embodiment. Further, in the present embodiment, for the sake of brevity, bias is excluded and the coupling information is described as being composed of only the weighting coefficients. That is, in the present embodiment, the coupling information and the weighting coefficient are the same. However, the present invention also includes a configuration in which the binding information includes a bias.

また本実施の形態では、個別の重み係数を識別するために、それぞれの重み係数に便宜的にIDを付与する。また重み係数の値を「重み係数値」や「重み係数の値」と呼ぶ。すなわち以下では、「IDが11の重み係数の重み係数値はxx」のように表現する。演算の内容は、結合情報に含まれる層の種類によって特定される。結合情報に含まれる層は、たとえば、畳込み層、バッチ正規化、活性化関数、プーリング層、全結合層、LSTM(Long Short Term Memory)層などである。 Further, in the present embodiment, in order to identify individual weighting factors, an ID is conveniently assigned to each weighting factor. Further, the value of the weighting coefficient is called a "weighting coefficient value" or a "weighting coefficient value". That is, in the following, it is expressed as "the weighting coefficient value of the weighting coefficient whose ID is 11 is xx". The content of the operation is specified by the type of layer included in the join information. The layer included in the binding information is, for example, a convolution layer, a batch normalization, an activation function, a pooling layer, a fully bound layer, an LSTM (Long Short Term Memory) layer, and the like.

なお演算ユニット100の数や、中間層11を構成する層の数は、実施の形態とは無関係であるため、任意の値とする。また、AIモデルの構造も特段の限定はされず、たとえば演算ユニット100間の結合に再帰性や双方向性を持つものであってもよい。さらに教師有り、教師無しのいずれの機械学習モデル、および強化学習モデル等、いずれのAIモデルに対しても、本実施の形態を適用可能である。これは、高精度な推論が要求される優先度の高いデータに対する推論精度に影響を与えることなく、AIモデルの重み係数や演算ユニットを間引いてAIモデルを縮約できるためである。ただし重み係数の重み係数値をゼロに変更することも、重み係数を間引くことに含まれる。 Since the number of arithmetic units 100 and the number of layers constituting the intermediate layer 11 are irrelevant to the embodiment, they are set to arbitrary values. Further, the structure of the AI model is not particularly limited, and for example, the connection between the arithmetic units 100 may have recursiveness or bidirectionality. Further, the present embodiment can be applied to any AI model such as a machine learning model with or without a teacher, and a reinforcement learning model. This is because the AI model can be reduced by thinning out the weighting factors and arithmetic units of the AI model without affecting the inference accuracy for high-priority data that requires high-precision inference. However, changing the weighting factor value of the weighting factor to zero is also included in thinning out the weighting factor.

図2は、第1の実施の形態におけるニューラルネットワーク更新システム2の構成図である。ニューラルネットワーク更新システム2は、記憶部20と、サーバ21と、電子制御装置22とから構成される。図2に示すように、サーバ21と電子制御装置22は、ネットワーク23を介して接続される。なお図2では記憶部20はサーバ21と直接に接続されているが、記憶部20がサーバ21とネットワーク23を介して接続されてもよい。 FIG. 2 is a block diagram of the neural network update system 2 according to the first embodiment. The neural network update system 2 includes a storage unit 20, a server 21, and an electronic control device 22. As shown in FIG. 2, the server 21 and the electronic control device 22 are connected via the network 23. Although the storage unit 20 is directly connected to the server 21 in FIG. 2, the storage unit 20 may be connected to the server 21 via the network 23.

本実施の形態では、サーバ21にてニューラルネットワークの縮約を行い、電子制御装置22はその縮約されたニューラルネットワークをサーバからダウンロードして更新する。これにより、自動運転などのアプリケーションにおいて、ニューラルネットワークを用いた演算処理を実行する。ただし、本実施の形態はこのような構成に限定されない。すなわちサーバ21を介さず、電子制御装置22を備える車両に閉じてニューラルネットワークの追加学習と更新を行うアーキテクチャになる場合など、上述の機能の全部または一部を電子制御装置22に搭載する構成としてもよい。 In the present embodiment, the server 21 contracts the neural network, and the electronic control device 22 downloads the contracted neural network from the server and updates it. As a result, in an application such as automatic driving, arithmetic processing using a neural network is executed. However, the present embodiment is not limited to such a configuration. That is, as a configuration in which all or part of the above-mentioned functions are mounted on the electronic control device 22, such as when the architecture is such that the neural network is additionally learned and updated by being closed to the vehicle equipped with the electronic control device 22 without going through the server 21. May be good.

記憶部20は、不揮発性の記憶領域、たとえばフラッシュメモリである。記憶部20には、ニューラルネットワークの学習、生成、および縮約処理において、サーバ21が使用するニューラルネットワーク情報やデータセットが格納される。具体的には記憶部20には、縮約前ニューラルネットワーク200と、縮約後ニューラルネットワーク201と、重要データ202と、通常データ203とが含まれる。 The storage unit 20 is a non-volatile storage area, for example, a flash memory. The storage unit 20 stores neural network information and data sets used by the server 21 in the learning, generation, and reduction processing of the neural network. Specifically, the storage unit 20 includes a pre-reduction neural network 200, a post-reduction neural network 201, important data 202, and normal data 203.

縮約前ニューラルネットワーク200は、縮約を適用する前のニューラルネットワークの情報を指し、第1の結合情報群2000とネットワーク構造情報2001とから構成される。第1の結合情報群2000は縮約適用前のニューラルネットワークの重み係数の重み係数値である。ネットワーク構造情報2001は縮約適用前のニューラルネットワークのネットワーク構造情報である。縮約前NN200はたとえば、図1に示すニューラルネットワークモデル1の全体である。第1の結合情報群2000はたとえば、図1に示したNNモデル1から抽出した全ての重み係数の重み係数値である。またネットワーク構造情報2001はたとえば、NNモデル1から全ての重み係数の重み係数値を除いた情報である。 The pre-reduction neural network 200 refers to the information of the neural network before the reduction is applied, and is composed of the first connection information group 2000 and the network structure information 2001. The first coupling information group 2000 is a weighting coefficient value of the weighting coefficient of the neural network before the reduction is applied. The network structure information 2001 is the network structure information of the neural network before the reduction is applied. The pre-reduction NN200 is, for example, the entire neural network model 1 shown in FIG. The first coupling information group 2000 is, for example, a weighting coefficient value of all the weighting coefficients extracted from the NN model 1 shown in FIG. Further, the network structure information 2001 is, for example, information obtained by removing the weighting coefficient values of all the weighting coefficients from the NN model 1.

縮約後ニューラルネットワーク201は、縮約を適用した後のニューラルネットワークの情報であり、第3の結合情報群2010とネットワーク構造情報2011とから構成される。第3の結合情報群2010は縮約適用後のニューラルネットワークの重み係数の重み係数値を指す。ネットワーク構造情報2011は縮約適用前のニューラルネットワークのネットワーク構造情報を指す。なお、縮約適用前後でニューラルネットワークのネットワーク構造情報に相違がない場合は、ネットワーク構造情報2001とネットワーク構造情報2011は同一のものとなる。 The post-reduction neural network 201 is information on the neural network after the reduction is applied, and is composed of a third coupling information group 2010 and network structure information 2011. The third coupling information group 2010 refers to the weighting coefficient value of the weighting coefficient of the neural network after the reduction is applied. Network structure information 2011 refers to the network structure information of the neural network before the reduction is applied. If there is no difference in the network structure information of the neural network before and after applying the reduction, the network structure information 2001 and the network structure information 2011 are the same.

重要データ202および通常データ203は、あらかじめ作成されたデータ群であり、ニューラルネットワークの構築や推論のテストに用いられる。重要データ202および通常データ203に含まれるそれぞれデータは、たとえば走行中の車両が収集したセンサ出力と、前方を走行する車両との相対距離と、前方を走行する車両が同一レーンを走行しているか否かの情報の組み合わせである。 The important data 202 and the normal data 203 are a group of data created in advance, and are used for constructing a neural network and testing inference. The data included in the important data 202 and the normal data 203 are, for example, the sensor output collected by the moving vehicle, the relative distance to the vehicle traveling ahead, and whether the vehicle traveling ahead is traveling in the same lane. It is a combination of information on whether or not.

重要データ202は、高精度な推論が要求されるデータであり、たとえば車両走行制御に直接関連し、推論の誤りを可能な限り低減したいデータ群である。重要データ202はたとえば、相対距離が近く、かつ同一レーンを走行している場合のデータである。通常データ203は、重要データ202以外の、車両走行制御に直接関係しないデータ群である。通常データ203はたとえば、相対距離が非常に遠いデータや、異なるレーンを走行している場合のデータである。あるデータが重要データ202および通常データ203のどちらに分類されるかは、次に説明するデータセット管理テーブル30を参照してサーバ21が演算処理により決定してもよいし、サーバ21のオペレータがあらかじめ定められたルールに従い決定してもよい。 The important data 202 is data that requires highly accurate inference, and is, for example, a data group that is directly related to vehicle running control and wants to reduce inference errors as much as possible. The important data 202 is, for example, data when the relative distance is short and the vehicle is traveling in the same lane. The normal data 203 is a group of data other than the important data 202 that is not directly related to the vehicle travel control. The normal data 203 is, for example, data in which the relative distance is very long or data in the case of traveling in different lanes. Whether a certain data is classified into important data 202 or normal data 203 may be determined by the server 21 by arithmetic processing with reference to the data set management table 30 described below, or by the operator of the server 21. It may be decided according to a predetermined rule.

図3はデータセット管理テーブル30の一例を示す図である。データセット管理テーブル30は複数のレコードから構成され、各レコードは、データ種別名300、優先度判定条件301、優先度302、操作係数303から構成される。データ種別名300はデータを識別するために便宜的に設けた名称である。したがってデータ種別名300は識別可能であればどのような文字列でもよい。優先度判定条件301は、優先度を判定するための条件であり、換言すると当該レコードへの該当性を示す条件である。 FIG. 3 is a diagram showing an example of the data set management table 30. The data set management table 30 is composed of a plurality of records, and each record is composed of a data type name 300, a priority determination condition 301, a priority 302, and an operation coefficient 303. The data type name 300 is a name provided for convenience in order to identify the data. Therefore, the data type name 300 may be any character string as long as it can be identified. The priority determination condition 301 is a condition for determining the priority, in other words, a condition indicating the applicability to the record.

優先度302は数値が大きいほど優先度が高い、すなわちより高精度な推論が要求されることを示す。それぞれのデータは、この優先度の値により重要データ202または通常データ203に分類されてもよい。操作係数303は、縮約時に用いられる情報であり、たとえば間引きの対象となる重み係数、すなわち間引きの対象となる重み係数のIDを決定するために使用される。 The priority 302 indicates that the higher the numerical value, the higher the priority, that is, more accurate inference is required. Each data may be classified into important data 202 or normal data 203 according to the value of this priority. The operation coefficient 303 is information used at the time of reduction, and is used, for example, to determine the ID of the weighting coefficient to be thinned out, that is, the weighting coefficient to be thinned out.

優先度判定条件301は、相対距離3010と先行車フラグ3011とから構成される。相対距離3010は自車とオブジェクトとの相対距離を表す情報であり、相対距離の値が小さいほど、優先度302の値は大きい、すなわち本データの優先度は高いと判定する傾向にある。先行車フラグ3011は、対象のオブジェクトが自車から見て同一走行レーン上の先行車にあたるか否かを表すフラグ情報である。 The priority determination condition 301 is composed of a relative distance 3010 and a preceding vehicle flag 3011. The relative distance 3010 is information representing the relative distance between the own vehicle and the object, and the smaller the value of the relative distance, the larger the value of the priority 302, that is, the higher the priority of this data tends to be. The preceding vehicle flag 3011 is flag information indicating whether or not the target object corresponds to the preceding vehicle on the same traveling lane when viewed from the own vehicle.

先行車フラグ3011がTRUEの場合は、優先度の値は大きくなる傾向にある。図3の1行目に示す例では、先行車フラグ3011がオンかつ相対距離3010が30メートル以内の場合は、オブジェクト検出用データ1と判断され、優先度302は3、操作係数は2に設定される。また図3の最終行に示す例では、先行車フラグ3011がFALSEの場合は相対距離3010が500メートル以内は全てオブジェクト検出用データ4と判断され、優先度302は1、操作係数は1に設定される。 When the preceding vehicle flag 3011 is TRUE, the priority value tends to be large. In the example shown in the first line of FIG. 3, when the preceding vehicle flag 3011 is on and the relative distance 3010 is within 30 meters, it is determined that the data is for object detection 1, the priority 302 is set to 3, and the operation coefficient is set to 2. Will be done. Further, in the example shown in the last row of FIG. 3, when the preceding vehicle flag 3011 is FALSE, it is determined that all objects within 500 meters of the relative distance 3010 are object detection data 4, the priority 302 is set to 1, and the operation coefficient is set to 1. Will be done.

図2の説明に戻る。サーバ21は演算部210と、プログラム格納部211と、RAM212とを備える。演算部210は、中央演算装置であるCPU(Central Processing Unit)2100をハードウェアとして少なくとも備えており、CPU2100はプログラム格納部211に格納されたプログラムに従ってニューラルネットワークの学習、生成、および縮約処理を実行する。ただしプログラム格納部211に格納されたプログラムと同様の機能をハードウエア回路として実現してもよい。さらに、プログラム格納部211に格納される全てのプログラムの機能がハードウエア回路として実現される場合は、サーバ21はプログラム格納部211を備えなくてもよい。 Returning to the description of FIG. The server 21 includes a calculation unit 210, a program storage unit 211, and a RAM 212. The arithmetic unit 210 includes at least a CPU (Central Processing Unit) 2100, which is a central arithmetic unit, as hardware, and the CPU 2100 performs learning, generation, and reduction processing of a neural network according to a program stored in the program storage unit 211. Run. However, the same function as the program stored in the program storage unit 211 may be realized as a hardware circuit. Further, when the functions of all the programs stored in the program storage unit 211 are realized as a hardware circuit, the server 21 does not have to include the program storage unit 211.

ニューラルネットワークの学習・生成・縮約を高速化するため、演算部210にアクセラレータ2101が含まれてもよい。アクセラレータ2101は、FPGA、ASIC、およびGPU等のハードウェアデバイスが考えられる。 Accelerator 2101 may be included in the arithmetic unit 210 in order to speed up learning / generation / reduction of the neural network. The accelerator 2101 may be a hardware device such as FPGA, ASIC, and GPU.

プログラム格納部211は、フラッシュメモリ等の不揮発性半導体メモリを備える。プログラム格納部211には、演算係数特定部2110と、操作係数決定部2111と、係数群算出部2112と、間引き部2113と、NN実行制御部2114と、NN学習制御部2115とを実現するためのプログラムが格納される。これらのプログラムは演算部210により実行される。これらのプログラムの動作は図4〜図5を参照して後に説明する。またプログラムの構成は任意であり、どのようにプログラムの結合や分離がされてもよい。たとえば、1つのプログラムが演算係数特定部2110、操作係数決定部2111、係数群算出部2112、間引き部2113、NN実行制御部2114、およびNN学習制御部2115に相当する機能の全てを兼ね備えてもよい。 The program storage unit 211 includes a non-volatile semiconductor memory such as a flash memory. In order to realize the calculation coefficient specifying unit 2110, the operation coefficient determining unit 2111, the coefficient group calculation unit 2112, the thinning unit 2113, the NN execution control unit 2114, and the NN learning control unit 2115 in the program storage unit 211. Program is stored. These programs are executed by the arithmetic unit 210. The operation of these programs will be described later with reference to FIGS. 4 to 5. The structure of the program is arbitrary, and the programs may be combined or separated in any way. For example, even if one program has all the functions corresponding to the calculation coefficient specifying unit 2110, the operation coefficient determining unit 2111, the coefficient group calculation unit 2112, the thinning unit 2113, the NN execution control unit 2114, and the NN learning control unit 2115. good.

RAM212は揮発性半導体メモリである。RAM212には、演算部210がプログラムを実行するためのデータ、たとえば第2の結合情報群2120が格納される。第2の結合情報群2120は、ニューラルネットワークを縮約する際の判定条件として使用される。第2の結合情報群2120は、「重要関連WHI」とも呼ばれる。詳しくは後述する。 The RAM 212 is a volatile semiconductor memory. The RAM 212 stores data for the arithmetic unit 210 to execute the program, for example, a second connection information group 2120. The second coupling information group 2120 is used as a determination condition when the neural network is contracted. The second binding information group 2120 is also referred to as a "significantly related WHI". Details will be described later.

ネットワーク23は、電子制御装置22を備える車両がサーバ21へアクセスするための通信網を表す。アクセス手段はたとえばセルラーや無線LANなどの方式が考えられる。これら無線手段以外にOBD(On-Board Diagnostics)やOBD2(On-Board Diagnostics2)を介して有線手段で接続してもよい。 The network 23 represents a communication network for a vehicle equipped with the electronic control device 22 to access the server 21. As the access means, for example, a method such as cellular or wireless LAN can be considered. In addition to these wireless means, a wired means may be connected via OBD (On-Board Diagnostics) or OBD2 (On-Board Diagnostics 2).

電子制御装置22は、記憶部220と、演算部221と、プログラム格納部222と、RAM223とを備える。記憶部220は、フラッシュメモリなどの不揮発性の記憶装置である。記憶部220には縮約後ニューラルネットワーク2200が格納される。縮約後NN2200は、第3の結合情報群22000とネットワーク構造情報22001とから構成される。電子制御装置22に格納される縮約後NN2200は、記憶部20に格納される縮約後NN201と名称は同一であるが、データそのものは必ずしも同一ではない。ただし出荷直後の初期状態では、縮約後NN2200と縮約後NN201とは同一である。 The electronic control device 22 includes a storage unit 220, a calculation unit 221, a program storage unit 222, and a RAM 223. The storage unit 220 is a non-volatile storage device such as a flash memory. The post-reduction neural network 2200 is stored in the storage unit 220. After reduction, the NN2200 is composed of a third coupling information group 22000 and network structure information 22001. The contracted NN2200 stored in the electronic control device 22 has the same name as the contracted NN201 stored in the storage unit 20, but the data itself is not necessarily the same. However, in the initial state immediately after shipment, the contracted NN2200 and the contracted NN201 are the same.

演算部221は、中央演算処理装置であるCPU2210を備える。CPU2210はプログラム格納部222に格納されたプログラムに従ってニューラルネットワークを用いた推論処理やニューラルネットワークの学習処理を実行する。演算部221は、これら推論や学習処理を高速化するため、アクセラレータ2101を備えてもよい。アクセラレータ2101はFPGA、ASIC、GPU等のハードウェアデバイスが考えられる。プログラム格納部222は、フラッシュメモリ等の不揮発性半導体メモリを備える。プログラム格納部222には、車両走行制御部2220と、NN実行制御部2221とを実現するためのプログラムが格納される。 The arithmetic unit 221 includes a CPU 2210 which is a central arithmetic processing unit. The CPU 2210 executes inference processing using a neural network and learning processing of the neural network according to the program stored in the program storage unit 222. The arithmetic unit 221 may include an accelerator 2101 in order to speed up these inference and learning processes. The accelerator 2101 may be a hardware device such as FPGA, ASIC, or GPU. The program storage unit 222 includes a non-volatile semiconductor memory such as a flash memory. The program storage unit 222 stores a program for realizing the vehicle travel control unit 2220 and the NN execution control unit 2221.

車両走行制御部2220は、認識、認知、および判断などの車両の走行を制御するために必要な機能を有する。なお、車両走行制御部2220が単独で車両の走行を制御するための認識、認知、および判断を実行しなくてもよく、たとえば車両に搭載された他の機器やネットワーク23を介して接続される他の機器と分担・連携してもよい。 The vehicle travel control unit 2220 has functions necessary for controlling the vehicle travel such as recognition, recognition, and judgment. It should be noted that the vehicle travel control unit 2220 does not have to independently execute recognition, recognition, and determination for controlling the vehicle travel, and is connected via, for example, another device mounted on the vehicle or a network 23. It may be shared or linked with other devices.

NN実行制御部2221は、記憶部220に格納された縮約後NN2200を用いて、推論処理を実行する。図示はしていないが、電子制御装置22は推論処理だけではなく、縮約後ニューラルネットワーク2200の学習機能をさらに有してもよい。電子制御装置22が学習機能を有することにより、サーバ21と連携することなく、電子制御装置22が単独でニューラルネットワークの追加学習と更新が可能になる。 The NN execution control unit 2221 executes the inference process by using the reduced NN2200 stored in the storage unit 220. Although not shown, the electronic control device 22 may further have a learning function of the post-reduction neural network 2200 in addition to the inference processing. Since the electronic control device 22 has a learning function, the electronic control device 22 can independently learn and update the neural network without coordinating with the server 21.

(動作)
図4〜図5を参照して、サーバ21によるニューラルネットワークの縮約を説明する。図4はサーバ21によるニューラルネットワークの縮約処理を示すフローチャートである。まずステップS400において、NN学習制御部2115は、学習済みの重み係数値WLEを備えるニューラルネットワーク、すなわち縮約前のニューラルネットワークを生成する。
(motion)
The reduction of the neural network by the server 21 will be described with reference to FIGS. 4 to 5. FIG. 4 is a flowchart showing the contraction processing of the neural network by the server 21. First, in step S400, the NN learning control unit 2115 generates a neural network having a learned weight coefficient value WLE, that is, a neural network before reduction.

そして、ステップS401において、記憶部20に格納されているデータをデータセット管理テーブル30を参照して重要データ202を選定する。この場合に、たとえば優先度が3以上のデータが重要データ202に分類され、優先度が2以下のデータが通常データ203に分類される。なおこの分類はデータの選定はサーバ21のオペレータが行ってもよいし、サーバ21が演算により選別してもよい。また、データがすでに分類済みの場合はS401の処理を省略してもよい。 Then, in step S401, the important data 202 is selected by referring to the data set management table 30 for the data stored in the storage unit 20. In this case, for example, data having a priority of 3 or more is classified into important data 202, and data having a priority of 2 or less is classified into normal data 203. In this classification, the operator of the server 21 may select the data, or the server 21 may select the data by calculation. Further, if the data has already been classified, the processing of S401 may be omitted.

続いてステップS402において、演算係数特定部2110は、学習済み重み係数値WLEのなかで、重要データ202に関与する重み係数を特定し、そのIDの集合を重要関連WHIとして記録する。すなわち重要関連WHIとは、重要データ202に関与する重み係数のID番号が列挙されたものである。S402の詳細は次の図5で説明する。 Subsequently, in step S402, the calculation coefficient specifying unit 2110 identifies the weighting coefficient involved in the important data 202 in the learned weighting coefficient value WLE, and records the set of IDs as the important related WHI. That is, the important-related WHI is a list of ID numbers of weighting factors involved in the important data 202. The details of S402 will be described with reference to FIG. 5 below.

続くステップS403において、操作係数決定部2111は、データセット管理テーブル30と重要データ202に基づいて操作係数WCOEFを算出する。操作係数WCOEFはそれぞれの重み係数に対応して存在し、全ての操作係数WCOEFの初期値は同一、たとえばゼロである。図3に示す例において最上段のオブジェクト検出用データ1に分類される重要データ202を用いて特定された重み係数に対応する操作係数WCOEFには、そのデータの操作係数303の値である「2」が加算される。多くの重要データ202により特定される重み係数に対応する操作係数WCOEFほど大きな値を有することになる。 In the following step S403, the operation coefficient determination unit 2111 calculates the operation coefficient WCOEF based on the data set management table 30 and the important data 202. The operation coefficient WCOEF exists corresponding to each weight coefficient, and the initial values of all the operation coefficients WCOEF are the same, for example, zero. In the example shown in FIG. 3, the operation coefficient WCOEF corresponding to the weighting coefficient specified by using the important data 202 classified in the object detection data 1 in the uppermost stage is the value of the operation coefficient 303 of the data. "Is added. The operation factor WCOEF corresponding to the weighting factor specified by many important data 202 will have a larger value.

ステップS404において、係数群算出部2112は、重要関連WHIと操作係数WCOEFを用いて、ニューラルネットワークにおける重み係数の間引き適用箇所の判定に用いる評価係数WNEWを算出する。評価係数WNEWも、それぞれの重み係数に対して存在する。評価係数WNEWは、それぞれの重み係数に対して、換言するとそれぞれの重み係数のIDに対して、たとえば次の式1のように算出される。
WNEW=D(WHI)*Val(ID)*WCOEF ・・・ (式1)
In step S404, the coefficient group calculation unit 2112 calculates the evaluation coefficient WNEW used for determining the thinning application location of the weighting coefficient in the neural network by using the important relation WHI and the operation coefficient WCOEF. The evaluation factor WNEW also exists for each weighting factor. The evaluation coefficient WNEW is calculated for each weighting factor, in other words, for the ID of each weighting factor, for example, as in the following equation 1.
WNEW = D (WHI) * Val (ID) * WCOEF ... (Equation 1)

ただしD(WHI)は、処理対象の重み係数のIDが重要関連WHIに含まれる場合は「1」を返し、処理対象の重み係数のIDが重要関連WHIに含まれない場合はゼロを返す関数である。またVal(ID)は、処理対象のIDである重み係数の重み係数値を返す関数である。詳しくは後述するが、評価係数WNEWは間引きの判定処理で参照される値であり、値が大きいほど間引きがされにくくなる。 However, D (WHI) is a function that returns "1" when the ID of the weighting factor of the processing target is included in the important related WHI, and returns zero when the ID of the weighting factor of the processing target is not included in the important related WHI. Is. Further, Val (ID) is a function that returns the weighting coefficient value of the weighting coefficient which is the ID of the processing target. As will be described in detail later, the evaluation coefficient WNEW is a value referred to in the thinning determination process, and the larger the value, the more difficult it is for thinning.

続くステップS405において、間引き部2113は評価係数WNEWの値に基づいて間引きの対象となる重み係数を決定する。そしてステップS406において、学習済み重み係数値WLEから間引き対象の重み係数の重み係数値をゼロにして、新たなニューラルネットワークを生成する。ただし、重み係数の行成分または列成分のすべてがゼロになった場合は、その行または列を削除してもよい。 In the following step S405, the thinning unit 2113 determines the weighting coefficient to be thinned out based on the value of the evaluation coefficient WNEW. Then, in step S406, the weighting coefficient value of the weighting coefficient to be thinned out is set to zero from the learned weighting coefficient value WLE, and a new neural network is generated. However, if all of the row or column components of the weighting factor are zero, the row or column may be deleted.

さらに、各演算ユニット100(ニューロン)に接続される全ての重み係数のセット単位で削除しても良い。これは、演算ユニット100に接続される各重み係数の二乗和をそれぞれ算出して、その値が小さいものから順に重み係数のセットを削除する方法が考えられる。生成されたニューラルネットワークは縮約後NN201として記憶部20に格納され、電子制御装置22に送信されて記憶部220に保存される。なお、間引き適用箇所は1つ以上とする。 Further, it may be deleted in a set unit of all the weighting coefficients connected to each arithmetic unit 100 (neuron). As a method, a method of calculating the sum of squares of each weighting coefficient connected to the arithmetic unit 100 and deleting the set of weighting coefficients in ascending order from the smallest value can be considered. The generated neural network is stored in the storage unit 20 as NN201 after reduction, transmitted to the electronic control device 22, and stored in the storage unit 220. The number of places where thinning is applied is one or more.

その後ステップS407において、ステップS406にて新たに生成された新たなニューラルネットワークにおける重み係数を再学習、すなわちファインチューニングによって最適化する。このファインチューニングにより推論精度の向上を図ることが可能となる。ただしステップS407は必須ではなくS406の実行が完了したら図4に示す処理を終了してもよい。 Then, in step S407, the weighting coefficient in the new neural network newly generated in step S406 is optimized by re-learning, that is, fine tuning. This fine tuning makes it possible to improve the inference accuracy. However, step S407 is not essential, and the process shown in FIG. 4 may be terminated when the execution of S406 is completed.

図5は、図4におけるS402の詳細を示すフローチャートである。図5に示す処理の実行主体は係数特定部2110である。係数特定部2110はまずS500において、NN実行制御部2114に、重要データ202をステップS400において生成したニューラルネットワークに入力して推論を実行させ、ニューラルネットワークの各演算ユニットの出力OHNUを算出する。続くステップS501では係数特定部2110は、出力OHNUに基づき、活性化度合いが高い演算ユニットNHIを特定する。本処理で特定した演算ユニットは重要データ202に大きく関与している演算ユニットであると判断する。 FIG. 5 is a flowchart showing the details of S402 in FIG. The execution subject of the process shown in FIG. 5 is the coefficient specifying unit 2110. First, in S500, the coefficient specifying unit 2110 causes the NN execution control unit 2114 to input important data 202 into the neural network generated in step S400 to execute inference, and calculates the output OHNU of each arithmetic unit of the neural network. In the following step S501, the coefficient specifying unit 2110 identifies the arithmetic unit NHI having a high degree of activation based on the output OHNU. It is determined that the arithmetic unit specified in this process is an arithmetic unit that is largely involved in the important data 202.

ここで活性化度合いが高いか否かは、出力OHNUが閾値ACTTH以上か否かによって判定する方法が考えられる。別の方法としてはニューラルネットワークの各層毎の全ての出力OHNUのうち、値が大きいものから順に上位から一定の割合を活性化度合いが高いと判定する方法が考えられる。 Here, a method of determining whether or not the degree of activation is high can be considered based on whether or not the output OHNU is equal to or higher than the threshold value ACTTH. As another method, it is conceivable to determine that a certain percentage of all the output OHNUs for each layer of the neural network has a higher degree of activation in order from the one with the largest value.

その後、ステップS502において、係数特定部2110は、ステップS501で特定した演算ユニットNHIに対して、演算ユニットNHIと接続される重み係数を特定し、特定した重み係数を重要関連WHIとすることによって、本処理フローを終了する。ステップS502の処理の一例を示すと、演算ユニットNHIが図1に示す演算ユニット100の場合に、以下のように判断する。すなわち、演算ユニット100に接続される重み係数は結合情報101と結合情報102である。このように、それぞれの演算ユニットに接続される重み係数は、ニューラルネットワークのネットワーク構造情報から一意に特定される。 After that, in step S502, the coefficient specifying unit 2110 specifies the weighting coefficient connected to the calculation unit NHI for the calculation unit NHI specified in step S501, and sets the specified weighting coefficient as the important related WHI. This processing flow ends. To show an example of the processing in step S502, when the arithmetic unit NHI is the arithmetic unit 100 shown in FIG. 1, it is determined as follows. That is, the weighting coefficients connected to the arithmetic unit 100 are the coupling information 101 and the coupling information 102. In this way, the weighting factor connected to each arithmetic unit is uniquely specified from the network structure information of the neural network.

上述した第1の実施の形態によれば、次の作用効果が得られる。
(1)ニューラルネットワーク更新システム2は、サーバ21および電子制御装置22を備える。ニューラルネットワーク更新システム2は、複数のニューロン100と、ニューロン同士を紐付ける図1の符号101や符号102に示す結合情報を複数含む結合情報群とを含むニューラルネットワークを更新する。サーバ21は、記憶部20と、演算部210と、を備える。記憶部20は、入力値が与えられたときに出力値を決定するための第1の結合情報群2000を格納する。演算部210は、所定のデータが入力値として与えられた場合に、所定のデータに対する影響度が所定値を上回る複数の結合情報である第2の結合情報群2120を特定する係数特定部2110と、第1の結合情報群2000と、第2の結合情報群2120とに基づき、第1の結合情報群2000から少なくとも1つの結合情報を削除して第3の結合情報群2010を作成する間引き部2113と、を備える。電子制御装置22は、第3の結合情報群2010を含む縮約後NN2200を格納する。
According to the first embodiment described above, the following effects can be obtained.
(1) The neural network update system 2 includes a server 21 and an electronic control device 22. The neural network update system 2 updates a neural network including a plurality of neurons 100 and a coupling information group including a plurality of coupling information shown by reference numerals 101 and 102 of FIG. 1 that associate the neurons with each other. The server 21 includes a storage unit 20 and a calculation unit 210. The storage unit 20 stores a first combination information group 2000 for determining an output value when an input value is given. The calculation unit 210 together with the coefficient specifying unit 2110 that specifies the second combined information group 2120, which is a plurality of combined information whose degree of influence on the predetermined data exceeds the predetermined value when the predetermined data is given as an input value. , A thinning unit that creates a third combined information group 2010 by deleting at least one combined information from the first combined information group 2000 based on the first combined information group 2000 and the second combined information group 2120. 2113 and. The electronic control device 22 stores the reduced NN2200 including the third coupling information group 2010.

第3の結合情報群2010は第1の結合情報群2000に比べて結合情報が削除されているので演算量、すなわち消費電力を低減できる。さらに、高精度な推論が要求される重要データに対する影響度を考慮して、削除する結合情報を決定するので、重要データに対する推論精度の低下を限定的に留めることができる。 Since the combined information is deleted in the third combined information group 2010 as compared with the first combined information group 2000, the amount of calculation, that is, the power consumption can be reduced. Furthermore, since the join information to be deleted is determined in consideration of the degree of influence on important data that requires high-precision inference, it is possible to limit the decrease in inference accuracy for important data.

(2)所定のデータとは、車両走行に関する優先度が所定値を上回るデータである。そのため車両の走行に関して高精度な推論が要求されるデータに対する推論制度の低下を限定的に留めることができる。 (2) The predetermined data is data in which the priority regarding vehicle running exceeds the predetermined value. Therefore, it is possible to limit the deterioration of the inference system for data that requires highly accurate inference regarding the running of the vehicle.

(3)間引き部2113は、第2の結合情報群2120に含まれるそれぞれの結合情報に対応する操作係数の集合である操作係数群を決定し、それぞれの操作係数を第1の結合情報群2000に含まれる対応する結合情報に評価係数を乗算して評価係数群とし、評価係数群のうち所定値を上回る評価係数について、対応する結合情報を第1の結合情報群2000の中から特定し、当該特定された結合情報以外の結合情報を第1の結合情報群2000から削除して、第3の結合情報群2010を作成する。このように、高精度な推論が要求される重要データに対する影響度が所定値を上回る結合情報は削除しないので、重要データに対する推論精度の低下を限定的に留めることができる。 (3) The thinning unit 2113 determines an operation coefficient group which is a set of operation coefficients corresponding to each connection information included in the second connection information group 2120, and sets each operation coefficient into the first connection information group 2000. The corresponding coupling information contained in is multiplied by the evaluation coefficient to obtain an evaluation coefficient group, and the corresponding coupling information is specified from the first coupling information group 2000 for the evaluation coefficients exceeding a predetermined value in the evaluation coefficient group. The join information other than the specified join information is deleted from the first join information group 2000, and the third join information group 2010 is created. In this way, since the combined information whose degree of influence on important data that requires high-precision inference exceeds a predetermined value is not deleted, it is possible to limit the decrease in inference accuracy for important data.

(4)係数特定部2110は、複数のニューロン100のうち、所定のデータが与えられた場合の出力値が所定値を上回る場合に、当該出力値の決定に関与したニューロン100を特定し、当該特定されたニューロン100に紐付く結合情報を、第2の結合情報群2120を構成する結合情報として特定する。 (4) The coefficient specifying unit 2110 identifies the neuron 100 involved in the determination of the output value when the output value when the predetermined data is given exceeds the predetermined value among the plurality of neurons 100, and the said The connection information associated with the specified neuron 100 is specified as the connection information constituting the second connection information group 2120.

(変形例1)
記憶部20に格納されるデータ、すなわち重要データ202および通常データ203は、前方を走行する車両との相対距離が含まれていなくてもよい。記憶部20に格納されるデータには、高精度な推論が要求されるか否かを判断可能な情報が含まれていればよい。たとえば記憶部20に格納されるデータに物体の種別と高さが含まれる場合は、データセット管理テーブル30を図6に示すデータセット管理テーブル31に変更する。
(Modification 1)
The data stored in the storage unit 20, that is, the important data 202 and the normal data 203 may not include the relative distance to the vehicle traveling ahead. The data stored in the storage unit 20 may include information capable of determining whether or not high-precision inference is required. For example, when the data stored in the storage unit 20 includes the type and height of the object, the data set management table 30 is changed to the data set management table 31 shown in FIG.

図6に示すデータセット管理テーブル31は、第1の実施の形態におけるデータセット管理テーブル30と比べて優先度判定条件301の内容が異なり、優先度判定条件301は識別クラス3012とオブジェクト高さ3013とから構成される。識別クラス3012は物体の種別を示し、図3に示す例では物体が車両、歩行者、および自転車のいずれかの場合は優先度を高く設定される。オブジェクト高さ3013は物体の高さを示し、高いほうが優先度が高く設定される。 The data set management table 31 shown in FIG. 6 has different contents of the priority determination condition 301 as compared with the data set management table 30 in the first embodiment, and the priority determination condition 301 has the identification class 3012 and the object height 3013. It is composed of and. The identification class 3012 indicates the type of the object, and in the example shown in FIG. 3, when the object is a vehicle, a pedestrian, or a bicycle, the priority is set high. The object height 3013 indicates the height of the object, and the higher the object height, the higher the priority is set.

なお、記憶部20に格納されるデータに様々な情報が含まれる場合は、このデータを使用するアプリケーションに応じて優先度判定条件301が変更されてもよい。すなわちデータごとに優先度302および操作係数303を決定できればよく、優先度判定条件301は他の情報を用いてもかまわない。たとえば優先度判定条件301が、自己位置推定、センサフュージョン、マップフュージョン、フリースペース検知、オブジェクトの移動予測、および走行軌道計画などAIが使用される他の自動運転ロジックに関する条件でもよい。 When various information is included in the data stored in the storage unit 20, the priority determination condition 301 may be changed according to the application that uses this data. That is, it suffices if the priority 302 and the operation coefficient 303 can be determined for each data, and other information may be used for the priority determination condition 301. For example, the priority determination condition 301 may be a condition related to other automatic driving logics in which AI is used, such as self-position estimation, sensor fusion, map fusion, free space detection, object movement prediction, and travel track planning.

(変形例2)
電子制御装置22の記憶部220に縮約前NN220がさらに格納され、縮約後NN2200に何らかの問題が発生した場合に縮約前NN220に切り替えて、ニューラルネットワークを用いた演算処理を実行してもよい。何らかの問題とはたとえば、縮約後NN2200の出力結果を用いたことで、衝突回避のため急ブレーキを動作せざるを得なくなることである。このような問題が生じた場合に縮約前NN220に切り替えることで、縮約処理を施したことによる車両走行への影響を排除することができる。
(Modification 2)
Even if the pre-reduction NN 220 is further stored in the storage unit 220 of the electronic control device 22, and if any problem occurs in the post-reduction NN2200, the operation is switched to the pre-reduction NN 220 and the arithmetic processing using the neural network is executed. good. Some problem is that, for example, by using the output result of NN2200 after reduction, sudden braking must be operated to avoid a collision. By switching to the pre-reduction NN 220 when such a problem occurs, it is possible to eliminate the influence on the vehicle running due to the reduction processing.

(変形例3)
評価係数WNEWの決定方法は、第1の実施の形態において示した式1を用いる方法に限定されない。重要データ202に関与する重み係数が間引きされにくくなるように、評価係数WNEWの値が大きくなるようにすればよい。たとえば、処理対象のIDである重み係数の重み係数値に対して操作係数WCOEFなどのような補正値を用いてビットシフト演算を行い評価係数WNEWを算出してもよい。また処理対象のIDである重み係数の重み係数値に操作係数WCOEFなどの補正値を加算して評価係数WNEWを算出してもよい。
(Modification 3)
The method for determining the evaluation coefficient WNEW is not limited to the method using the formula 1 shown in the first embodiment. The value of the evaluation coefficient WNEW may be increased so that the weighting coefficients related to the important data 202 are less likely to be thinned out. For example, the evaluation coefficient WNEW may be calculated by performing a bit shift operation on the weighting coefficient value of the weighting coefficient, which is the ID of the processing target, using a correction value such as the operation coefficient WCOEF. Further, the evaluation coefficient WNEW may be calculated by adding a correction value such as an operation coefficient WCOEF to the weighting coefficient value of the weighting coefficient which is the ID of the processing target.

(変形例4)
図7は変形例4における、図3に示すステップS402の詳細を示す図である。すなわち本変形例では、図5に示す処理の代わりに図6に示す処理が実行される。ただし第1の実施の形態と同一の処理には同一のステップ番号を付して説明を省略する。図7ではまずステップS500を実行し、第1の実施の形態と同様に出力OHNUを算出する。
(Modification example 4)
FIG. 7 is a diagram showing details of step S402 shown in FIG. 3 in the modified example 4. That is, in this modification, the process shown in FIG. 6 is executed instead of the process shown in FIG. However, the same process as that of the first embodiment is assigned the same step number, and the description thereof will be omitted. In FIG. 7, first, step S500 is executed, and the output OHNU is calculated in the same manner as in the first embodiment.

続くステップS601において、NN学習制御部2115は通常データ203をニューラルネットワークへの入力として推論を実行し、ニューラルネットワークの各演算ユニットの出力OLNUを算出する。そして、ステップS602において、演算係数特定部2110は、OHNUとOLNUに基づき、たとえばOHNUとOLNUの差に基づき、活性化度合いが高い演算ユニットNHIを特定する。続くS502では、第1の実施の形態と同様に重要関連WHIを特定して図7に示す処理を終了する。 In the following step S601, the NN learning control unit 2115 executes inference with the normal data 203 as an input to the neural network, and calculates the output OLNU of each arithmetic unit of the neural network. Then, in step S602, the calculation coefficient specifying unit 2110 identifies a calculation unit NHI having a high degree of activation based on OHNU and OLNU, for example, based on the difference between OHNU and OLNU. In the subsequent S502, the important related WHI is specified and the process shown in FIG. 7 is terminated as in the first embodiment.

図8は、ステップS602の処理の一例を示す図である。図8(a)は、ステップS600における演算ユニットごとのOHNUを示す図であり、図8(b)は、ステップS601における演算ユニットごとのOLNUを示す図であり、図8(c)は演算ユニットごとにOHNUとOLNUの差分を示す図である。ただし図8(a)〜(c)において横軸方向に異なる演算ユニットの出力が並んでおり、図8(a)〜(c)の左右方向の位置が同一であれば同一の演算ユニットについて示している。 FIG. 8 is a diagram showing an example of the process of step S602. FIG. 8A is a diagram showing OHNU for each arithmetic unit in step S600, FIG. 8B is a diagram showing OLNU for each arithmetic unit in step S601, and FIG. 8C is a diagram showing arithmetic units. It is a figure which shows the difference between OHNU and OLNU for each. However, in FIGS. 8 (a) to 8 (c), if the outputs of different arithmetic units are arranged in the horizontal axis direction and the positions in the horizontal directions of FIGS. 8 (a) to 8 (c) are the same, the same arithmetic unit is shown. ing.

図8では、それぞれの演算ユニットにIDを割り当てている。たとえばIDが「n11」の演算ユニットは図8(a)〜図8(c)の左端に示されており、図8(a)と図8(b)の差が図8(c)である。そして図8(c)において、閾値WTHを設定し、閾値WTHよりも大きい演算ユニットを活性化度合いが高い演算ユニットNHIとして特定する。 In FIG. 8, an ID is assigned to each arithmetic unit. For example, the arithmetic unit having the ID “n11” is shown at the left end of FIGS. 8 (a) to 8 (c), and the difference between FIGS. 8 (a) and 8 (b) is shown in FIG. 8 (c). .. Then, in FIG. 8C, the threshold value WTH is set, and the calculation unit larger than the threshold value WTH is specified as the calculation unit NHI having a high degree of activation.

(変形例5)
図9は変形例5における、図3に示すステップS402の詳細を示す図である。すなわち本変形例では、図5に示す処理の代わりに図9に示す処理が実行される。ただし第1の実施の形態と同一の処理には同一のステップ番号を付して説明を省略する。本変形例では、重要データ202に大きく関連する演算ユニットを特定せずに重み係数を特定する。
(Modification 5)
FIG. 9 is a diagram showing details of step S402 shown in FIG. 3 in the modified example 5. That is, in this modification, the process shown in FIG. 9 is executed instead of the process shown in FIG. However, the same process as that of the first embodiment is assigned the same step number, and the description thereof will be omitted. In this modification, the weighting factor is specified without specifying the arithmetic unit that is largely related to the important data 202.

図9ではまずステップS800において、NN学習制御部2115は、重要データ202を用いてニューラルネットワークの追加学習を行い、追加学習後の重み係数WHADDLEを算出する。ステップS800における追加学習で用いるデータは、縮約前NN200を生成する際に用いたデータとは異なるものである。 In FIG. 9, first, in step S800, the NN learning control unit 2115 performs additional learning of the neural network using the important data 202, and calculates the weighting coefficient WHADDL after the additional learning. The data used in the additional learning in step S800 is different from the data used in generating the pre-reduction NN200.

続くステップS801において、係数特定部2110は、追加学習前の重み係数値WLEと追加学習後の重み係数値WHADDLEとに基づき、たとえば両者の重み係数値の差を演算して重要データ202に関与する重み関数を特定する。追加学習前の重み係数値WLEとは、図4のS400において算出した重み係数値WLEである。そして図9に示す処理を終了する。 In the following step S801, the coefficient specifying unit 2110 is involved in the important data 202 by calculating, for example, the difference between the weighting coefficient values of the weighting coefficient value WLE before the additional learning and the weighting coefficient value WHADDLE after the additional learning. Identify the weighting function. The weight coefficient value WLE before the additional learning is the weight coefficient value WLE calculated in S400 of FIG. Then, the process shown in FIG. 9 is terminated.

図10は、図9に示す処理の一例を示す図である。図10(a)は、縮約前NN200の重み係数のIDごとに重み係数値WLEを示す図であり、図10(b)は、ステップS800における重み係数のIDごとに重み係数値WHADDLEを示す図であり、図10(c)は重み係数ごとに重み係数値WHADDLEと重み係数値WLEの差分を示す図である。 FIG. 10 is a diagram showing an example of the process shown in FIG. FIG. 10A is a diagram showing a weighting coefficient value WLE for each ID of the weighting coefficient of the pre-reduction NN200, and FIG. 10B shows a weighting coefficient value WHADDLE for each weighting factor ID in step S800. 10 (c) is a diagram showing the difference between the weighting coefficient value WHADDLE and the weighting coefficient value WLE for each weighting factor.

たとえば、重み係数値WHADDLEと重み係数値WLEの差が所定の閾値WTHよりも大きい重み係数を重要データ202に大きく関連すると判断できる。またこの際に、重み係数値WHADDLEと重み係数値WLEの差の絶対値を評価してもよい。さらに、両者の差が大きいものから順に上位から一定の割合を活性化度合いが高い重み係数と判定してもよい。 For example, it can be determined that a weighting coefficient in which the difference between the weighting coefficient value WHADDLE and the weighting coefficient value WLE is larger than the predetermined threshold value WTH is largely related to the important data 202. At this time, the absolute value of the difference between the weighting coefficient value WHADDLE and the weighting coefficient value WLE may be evaluated. Further, a certain ratio may be determined as a weighting coefficient having a high degree of activation in order from the one with the largest difference between the two.

(変形例6)
図11は変形例6における、図3に示すステップS402の詳細を示す図である。すなわち本変形例では、図5に示す処理の代わりに図11に示す処理が実行される。ただし第1の実施の形態と同一の処理には同一のステップ番号を付して説明を省略する。本変形例では、変形例5と同様に重要データ202に大きく関連する演算ユニットを特定せずに重み係数を特定する。
(Modification 6)
FIG. 11 is a diagram showing details of step S402 shown in FIG. 3 in the modified example 6. That is, in this modification, the process shown in FIG. 11 is executed instead of the process shown in FIG. However, the same process as that of the first embodiment is assigned the same step number, and the description thereof will be omitted. In this modification, the weighting coefficient is specified without specifying the arithmetic unit that is largely related to the important data 202, as in the case of modification 5.

図11ではまずステップS900において、NN学習制御部2115は、重要データ202を用いてニューラルネットワークの学習を行い、重み係数値WHLEを算出する。続くステップS901において、NN学習制御部2115は、通常データ203を用いてニューラルネットワークの学習を行い、重み係数値WLLEを算出する。続くステップS902において、係数特定部2110は、学習済みの重み係数値WHLEと重み係数値WLLEに基づき、重要データ202に関与する重み係数を特定し、重要関連WHIと名付ける。 In FIG. 11, first, in step S900, the NN learning control unit 2115 learns the neural network using the important data 202 and calculates the weighting coefficient value WHLE. In the following step S901, the NN learning control unit 2115 learns the neural network using the normal data 203, and calculates the weight coefficient value WLLE. In the subsequent step S902, the coefficient specifying unit 2110 identifies the weighting coefficient involved in the important data 202 based on the learned weighting coefficient value WHLE and the weighting coefficient value WLLE, and names it as the important related WHI.

なおステップS900とステップS901は、ステップS400におけるニューラルネットワークを生成する処理において実行されてもよい。また、ステップS400で使用したものと異なる重要データ202および通常データ203を用いてニューラルネットワークの追加学習を行い、これによりステップS900とステップS901の処理を実施してもよい。 Note that steps S900 and S901 may be executed in the process of generating the neural network in step S400. Further, additional learning of the neural network may be performed using important data 202 and normal data 203 different from those used in step S400, whereby the processes of steps S900 and S901 may be performed.

ステップS902の処理の一例を図12に示す。図12(a)は、ステップS900における重み係数のIDごとの重み係数値WHLEを示したものである。図12(b)は、ステップS901における重み係数のIDごとの重み係数値WHADDLEを示したものである。図12(c)は重み係数のIDごとの、図12(a)に示す重み係数値WHLEと、図12(b)に示す重み係数値WHADDLEとの差を示す図である。 An example of the process of step S902 is shown in FIG. FIG. 12A shows the weighting coefficient value WHLE for each ID of the weighting coefficient in step S900. FIG. 12B shows the weighting coefficient value WHADDLE for each ID of the weighting coefficient in step S901. FIG. 12 (c) is a diagram showing the difference between the weight coefficient value WHLE shown in FIG. 12 (a) and the weight coefficient value WHADDL shown in FIG. 12 (b) for each weight coefficient ID.

図12(c)において、IDごとの差分値が閾値WTH以上か否かの判定を行うことで各重み係数が重要データ202に大きく関連するか否かを判定する。ここで重み係数値WHLEと重み係数値WLLEの差分結果に対して絶対値を取るようにしてもよい。別の方法としては差分値が大きいものから順に上位から一定の割合を活性化度合いが高いと判定する方法が考えられる。 In FIG. 12 (c), it is determined whether or not each weighting coefficient is significantly related to the important data 202 by determining whether or not the difference value for each ID is equal to or greater than the threshold value WTH. Here, an absolute value may be taken for the difference result between the weight coefficient value WHLE and the weight coefficient value WLLE. As another method, a method of determining a certain ratio from the top in descending order of the difference value to have a high degree of activation can be considered.

(変形例7)
図13は、変形例7におけるシステム構成を示す図である。本変形例では、車両で取得した走行データを活用してサーバ21と連携しながら電子制御装置22に対して縮約したニューラルネットワークを更新する。図13におけるニューラルネットワーク更新システム2は、図2で示したシステム構成と比べて、以下のように電子制御装置22の構成が異なる。
(Modification 7)
FIG. 13 is a diagram showing a system configuration in the modified example 7. In this modification, the neural network contracted with respect to the electronic control device 22 is updated in cooperation with the server 21 by utilizing the traveling data acquired by the vehicle. The neural network update system 2 in FIG. 13 has a different configuration of the electronic control device 22 as follows, as compared with the system configuration shown in FIG.

本変形例では、記憶部220に重要データ2201がさらに保存される。重要データ2201は車両に搭載されるセンサが車両の周囲をセンシングして得られたデータのうち、後述の重要データ選定部2222によって抽出されたデータである。プログラム格納部222には重要データ選定部2222と、NN更新制御部2223と、重要データアップロード部2224とを実行するためのプログラムがさらに格納される。 In this modification, important data 2201 is further stored in the storage unit 220. The important data 2201 is the data extracted by the important data selection unit 2222, which will be described later, among the data obtained by sensing the surroundings of the vehicle by the sensor mounted on the vehicle. The program storage unit 222 further stores a program for executing the important data selection unit 2222, the NN update control unit 2223, and the important data upload unit 2224.

重要データ選定部2222は車両において外界センシング等によって収集したデータの中から車両走行制御に関連し優先度が高いと判定するデータを選定する。選定方法は図3で説明したものが考えられる。また別の方法として、事故発生には至らなかったが、衝突回避のため急ブレーキが動作した状況に関するセンシングデータを重要データとして選定することが考えられる。それ以外にもドライバによる手動運転時や、ニューラルネットワークを使用しない自動運転ロジックや運転支援ロジックを実行している際、ニューラルネットワークによる推論処理をバックグラウンドで実行しておき、手動運転時の出力結果やニューラルネットワークを用いないロジックの出力結果と、ニューラルネットワークによる推論処理結果に乖離がある場合に、ニューラルネットワークへの入力データを重要データとして選定することが考えられる。 The important data selection unit 2222 selects data that is determined to have a high priority in relation to vehicle travel control from the data collected by external sensing or the like in the vehicle. As the selection method, the one described in FIG. 3 can be considered. As another method, although the accident did not occur, it is conceivable to select the sensing data regarding the situation where the sudden braking is operated to avoid the collision as important data. In addition to that, when the driver is manually driving, or when the automatic driving logic or driving support logic that does not use the neural network is being executed, the inference processing by the neural network is executed in the background, and the output result at the time of manual driving is executed. When there is a discrepancy between the output result of the logic that does not use the neural network or the inference processing result by the neural network, it is conceivable to select the input data to the neural network as important data.

NN更新制御部2223は、サーバ21で新たに生成されたニューラルネットワークを取得し、記憶部220に格納される縮約後NN2200を更新する。重要データアップロード部2224は、重要データ選定部2222で選定されて、記憶部220にバッファリングされた重要データ2201を、ネットワーク23を介してサーバ21にアップロードする。 The NN update control unit 2223 acquires the neural network newly generated by the server 21 and updates the reduced NN2200 stored in the storage unit 220. The important data upload unit 2224 uploads the important data 2201 selected by the important data selection unit 2222 and buffered in the storage unit 220 to the server 21 via the network 23.

(変形例8)
上述した第1の実施の形態では、縮約処理において演算係数を削除する構成を説明した。しかしニューロン、すなわち演算ユニットを削除してもよい。演算ユニットを削除できるのは、その演算ユニットに接続される演算係数が全てゼロになった場合、またはその演算ユニットに接続される演算係数が全て削除された場合である。
(Modification 8)
In the first embodiment described above, a configuration in which the calculation coefficient is deleted in the reduction process has been described. However, neurons, or arithmetic units, may be deleted. The arithmetic unit can be deleted when all the arithmetic coefficients connected to the arithmetic unit become zero, or when all the arithmetic coefficients connected to the arithmetic unit are deleted.

―第2の実施の形態―
図14〜図15を参照して、ニューラルネットワーク更新システムの第2の実施の形態を説明する。以下の説明では、第1の実施の形態と同じ構成要素には同じ符号を付して相違点を主に説明する。特に説明しない点については、第1の実施の形態と同じである。本実施の形態では、主に、重み係数を間引く割合を決定する点で、第1の実施の形態と異なる。重み係数を間引く割合を本実施の形態では「縮約率」と呼ぶ。
-Second embodiment-
A second embodiment of the neural network update system will be described with reference to FIGS. 14 to 15. In the following description, the same components as those in the first embodiment are designated by the same reference numerals, and the differences will be mainly described. The points not particularly described are the same as those in the first embodiment. The present embodiment is different from the first embodiment mainly in that the ratio of thinning out the weighting coefficients is determined. In the present embodiment, the ratio of thinning out the weighting factor is referred to as "reduction rate".

図14は、第2の実施の形態におけるニューラルネットワーク更新システム2の構成図である。図14に示す構成は、図2に示した構成と比べて、サーバ21のプログラム格納部211に縮約率補正部2116を実現するためのプログラムがさらに格納され、記憶部20に縮約率補正テーブル204がさらに格納される。縮約率補正部2116は、係数特定部2110によって特定された演算ユニットや重み係数情報と縮約率補正テーブル204とを用いて、間引き部2113で用いられる縮約率を補正する。縮約率補正テーブル204は、縮約率の補正値を決定するために用いられる情報である。 FIG. 14 is a block diagram of the neural network update system 2 according to the second embodiment. In the configuration shown in FIG. 14, as compared with the configuration shown in FIG. 2, a program for realizing the reduction rate correction unit 2116 is further stored in the program storage unit 211 of the server 21, and the reduction rate correction is performed in the storage unit 20. Table 204 is further stored. The reduction rate correction unit 2116 corrects the reduction rate used in the thinning unit 2113 by using the arithmetic unit and weight coefficient information specified by the coefficient specifying unit 2110 and the reduction rate correction table 204. The reduction rate correction table 204 is information used for determining the correction value of the reduction rate.

図15は、縮約率補正テーブル204の一例を示す図である。縮約率補正テーブル204は重要データに大きく関与する演算ユニット数140と縮約率141とを対応付けて管理するためのテーブルである。重要データ関連演算ユニット数140の欄には、重要データに大きく関与する演算ユニットの数が記述される。縮約率141の欄には、縮約時に使用される縮約率が記述される。縮約率とはニューラルネットワークの層単位で重み係数を間引く程度を表す割合情報である。たとえば縮約率の規定値が20%に設定されている場合は、その層の重み係数を20%間引くことになる。 FIG. 15 is a diagram showing an example of the reduction rate correction table 204. The reduction rate correction table 204 is a table for managing the number of arithmetic units 140, which are largely involved in important data, and the reduction rate 141 in association with each other. In the column of the number of important data-related arithmetic units 140, the number of arithmetic units that are largely involved in important data is described. In the column of reduction rate 141, the reduction rate used at the time of reduction is described. The reduction rate is ratio information indicating the degree to which the weighting factor is thinned out for each layer of the neural network. For example, if the specified value of the reduction rate is set to 20%, the weighting factor of the layer is thinned out by 20%.

縮約率141の例ではもともと設定されている縮約率に対して乗算や除算で補正することを想定して記述しているが、ビットシフト演算や加減算などの別の手段で設定するようにしても良い。また、縮約率を10%、20%のように絶対値で設定するようにしてもよい。縮約率補正テーブル204を使用する場合、たとえば、ニューラルネットワークの任意の層において、係数特定部2110によって特定された演算ユニットの数=25となった場合は、その層の縮約率は本テーブル情報を使って通常の縮約率から2で除算したものとなる。なお、本例では層単位での処理を記載しているが、層単位以外のニューラルネットワークにおける任意の処理単位であってもよい。 In the example of the reduction rate 141, the description is based on the assumption that the reduction rate originally set is corrected by multiplication or division, but it should be set by another means such as bit shift calculation or addition / subtraction. May be. Further, the reduction rate may be set as an absolute value such as 10% or 20%. When the reduction rate correction table 204 is used, for example, when the number of arithmetic units specified by the coefficient specifying unit 2110 is 25 in any layer of the neural network, the reduction rate of that layer is this table. It is the normal reduction rate divided by 2 using the information. Although the processing in units of layers is described in this example, any processing unit in the neural network other than the units of layers may be used.

上述した各実施の形態および変形例は、それぞれ組み合わせてもよい。上記では、種々の実施の形態および変形例を説明したが、本発明はこれらの内容に限定されるものではない。本発明の技術的思想の範囲内で考えられるその他の態様も本発明の範囲内に含まれる。 Each of the above-described embodiments and modifications may be combined. Although various embodiments and modifications have been described above, the present invention is not limited to these contents. Other aspects considered within the scope of the technical idea of the present invention are also included within the scope of the present invention.

100 … 演算ユニット
2 … ニューラルネットワーク更新システム
20 … 記憶部
21 … サーバ
22 … 電子制御装置
23 … ネットワーク
200 … 縮約前ニューラルネットワーク
201 … 縮約後ニューラルネットワーク
202 … 重要データ
203 … 通常データ
204 … 縮約率補正テーブル
210 … 演算部
220 … 記憶部
221 … 演算部
2000 … 第1の結合情報群
2010 … 第3の結合情報群
2110 … 係数特定部
2111 … 操作係数決定部
2112 … 係数群算出部
2113 … 間引き部
2114 … NN実行制御部
2115 … NN学習制御部
2116 … 縮約率補正部
2120 … 第2の結合情報群
2200 … 縮約後NN
2210 … CPU
22001 … ネットワーク構造情報
30、31 … データセット管理テーブル
100 ... Arithmetic unit 2 ... Neural network update system 20 ... Storage unit 21 ... Server 22 ... Electronic control device 23 ... Network 200 ... Pre-reduction neural network 201 ... Post-reduction neural network 202 ... Important data 203 ... Normal data 204 ... Reduction Approximate rate correction table 210 ... Calculation unit 220 ... Storage unit 221 ... Calculation unit 2000 ... First coupling information group 2010 ... Third coupling information group 2110 ... Coefficient specifying unit 2111 ... Operation coefficient determination unit 2112 ... Coefficient group calculation unit 2113 ... Thinning unit 2114 ... NN execution control unit 2115 ... NN learning control unit 2116 ... Reduction rate correction unit 2120 ... Second coupling information group 2200 ... NN after reduction
2210 ... CPU
22001 ... Network structure information 30, 31 ... Data set management table

Claims (10)

複数のニューロンと、前記ニューロン同士を紐付ける結合情報を複数含む結合情報群とを含むニューラルネットワークを格納する電子制御装置であって、
前記ニューラルネットワークは、
入力値が与えられたときに出力値を決定するための前記結合情報群である第1の合情報群と、前記入力値として与えられた所定のデータに対する影響度が所定値を上回る複数の前記結合情報である第2の結合情報群とに基づき、間引き部が前記第1の結合情報群から少なくとも1つの結合情報を削除することで作成される第3の結合情報群を含むニューラルネットワークである電子制御装置。
An electronic control device that stores a neural network including a plurality of neurons and a group of connection information including a plurality of connection information that links the neurons to each other.
The neural network is
A first binding information group is the binding information group for determining the output value when the input value is given, impact for a given data given as the input value of the plurality of above a predetermined value In a neural network including a third coupling information group created by a thinning unit deleting at least one coupling information from the first coupling information group based on the second coupling information group which is the coupling information. An electronic control device.
請求項1に記載の電子制御装置において、
前記所定のデータは、車両走行に関する優先度が所定値を上回るデータである、電子制御装置。
In the electronic control device according to claim 1,
The predetermined data is an electronic control device in which the priority regarding vehicle traveling exceeds a predetermined value.
請求項2に記載の電子制御装置において、
前記間引き部は、前記第2の結合情報群に含まれるそれぞれの前記結合情報に対応する操作係数の集合である操作係数群を決定し、それぞれの前記操作係数を前記第1の結合情報群に含まれる対応する前記結合情報に評価係数を算出して評価係数群とし、前記評価係数群のうち所定値を上回る前記評価係数について、対応する前記結合情報を前記第1の結合情報群の中から特定し、当該特定された結合情報以外の前記結合情報を前記第1の結合情報群から削除して、前記第3の結合情報群を作成する電子制御装置。
In the electronic control device according to claim 2,
The thinning unit determines an operation coefficient group which is a set of operation coefficients corresponding to each of the connection information included in the second connection information group, and each said operation coefficient is used as the first connection information group. An evaluation coefficient is calculated for the corresponding coupling information included to form an evaluation coefficient group, and for the evaluation coefficient exceeding a predetermined value in the evaluation coefficient group, the corresponding coupling information is obtained from the first coupling information group. An electronic control device that creates the third combination information group by specifying and deleting the combination information other than the specified combination information from the first combination information group.
請求項3に記載の電子制御装置において、
係数特定部が、前記複数のニューロンのうち、前記所定のデータが与えられた場合の前記出力値が所定値を上回る場合に、当該出力値の決定に関与したニューロンを特定し、当該特定されたニューロンに紐付く結合情報を、前記第2の結合情報群を構成する前記結合情報として特定する電子制御装置。
In the electronic control device according to claim 3,
The coefficient specifying unit identifies and identifies the neuron involved in the determination of the output value when the output value when the predetermined data is given exceeds the predetermined value among the plurality of neurons. An electronic control device that specifies connection information associated with a neuron as the connection information constituting the second connection information group.
請求項1に記載の電子制御装置において、
前記第3の結合情報群は、前記間引き部が前記第1の結合情報群から少なくとも1つの結合情報を削除し、ファインチューニングにより最適化された前記結合情報群である電子制御装置。
In the electronic control device according to claim 1,
The third coupling information group is an electronic control device in which the thinning unit deletes at least one coupling information from the first coupling information group and is optimized by fine tuning.
サーバ、および電子制御装置を備え、複数のニューロンと、前記ニューロン同士を紐付ける結合情報を複数含む結合情報群とを含むニューラルネットワークを更新するニューラルネットワーク更新システムであって、
前記サーバは、記憶部と、演算部と、を備え、
前記記憶部は、入力値が与えられたときに出力値を決定するための前記結合情報群である第1の合情報群を格納し、
前記演算部は、
所定のデータが前記入力値として与えられた場合に、前記所定のデータに対する影響度が所定値を上回る複数の前記結合情報である第2の結合情報群を特定する係数特定部と、
前記第1の結合情報群と前記第2の結合情報群とに基づき、前記第1の結合情報群から少なくとも1つの結合情報を削除して第3の結合情報群を作成する間引き部と、を備え、
前記電子制御装置は、前記第3の結合情報群を含むニューラルネットワークを格納するニューラルネットワーク更新システム。
A neural network update system that includes a server and an electronic control device, and updates a neural network including a plurality of neurons and a group of connection information including a plurality of connection information that links the neurons to each other.
The server includes a storage unit and a calculation unit.
The storage unit stores the first binding information group is the binding information group for determining the output value when the input value is given,
The arithmetic unit
When the predetermined data is given as the input value, the coefficient specifying unit for specifying the second combined information group which is a plurality of the combined information whose degree of influence on the predetermined data exceeds the predetermined value, and
Based on the first binding information group and the second binding information group, a thinning unit that deletes at least one binding information from the first binding information group to create a third binding information group. Prepare,
The electronic control device is a neural network update system that stores a neural network including the third coupling information group.
請求項6に記載のニューラルネットワーク更新システムにおいて、
前記所定のデータは、車両走行に関する優先度が所定値を上回るデータであるニューラルネットワーク更新システム。
In the neural network update system according to claim 6,
The predetermined data is a neural network update system in which the priority regarding vehicle running exceeds the predetermined value.
請求項7に記載のニューラルネットワーク更新システムにおいて、
前記間引き部は、前記第2の結合情報群に含まれるそれぞれの前記結合情報に対応する操作係数の集合である操作係数群を決定し、それぞれの前記操作係数を前記第1の結合情報群に含まれる対応する前記結合情報に評価係数を算出して評価係数群とし、前記評価係数群のうち所定値を上回る前記評価係数について、対応する前記結合情報を前記第1の結合情報群の中から特定し、当該特定された結合情報以外の前記結合情報を前記第1の結合情報群から削除して、前記第3の結合情報群を作成するニューラルネットワーク更新システム。
In the neural network update system according to claim 7,
The thinning unit determines an operation coefficient group which is a set of operation coefficients corresponding to each of the connection information included in the second connection information group, and each said operation coefficient is used as the first connection information group. An evaluation coefficient is calculated for the corresponding coupling information included to form an evaluation coefficient group, and for the evaluation coefficient exceeding a predetermined value in the evaluation coefficient group, the corresponding coupling information is obtained from the first coupling information group. A neural network update system that creates the third coupling information group by specifying and deleting the coupling information other than the identified coupling information from the first coupling information group.
請求項8に記載のニューラルネットワーク更新システムにおいて、
前記係数特定部は、前記複数のニューロンのうち、前記所定のデータが与えられた場合の前記出力値が所定値を上回る場合に、当該出力値の決定に関与したニューロンを特定し、当該特定されたニューロンに紐付く結合情報を、前記第2の結合情報群を構成する前記結合情報として特定するニューラルネットワーク更新システム。
In the neural network update system according to claim 8,
The coefficient specifying unit identifies and identifies the neuron involved in the determination of the output value when the output value when the predetermined data is given exceeds the predetermined value among the plurality of neurons. A neural network update system that specifies the connection information associated with a neuron as the connection information constituting the second connection information group.
請求項6に記載のニューラルネットワーク更新システムにおいて、
前記間引き部は、前記第1の結合情報群から少なくとも1つの結合情報を削除し、ファインチューニングにより前記結合情報群を最適化して前記第3の結合情報群を作成するニューラルネットワーク更新システム。
In the neural network update system according to claim 6,
The thinning unit is a neural network update system that deletes at least one join information from the first join information group, optimizes the join information group by fine tuning, and creates the third join information group.
JP2018168864A 2018-09-10 2018-09-10 Electronic control device, neural network update system Active JP6986503B2 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2018168864A JP6986503B2 (en) 2018-09-10 2018-09-10 Electronic control device, neural network update system
PCT/JP2019/032837 WO2020054345A1 (en) 2018-09-10 2019-08-22 Electronic control device and neural network update system
DE112019003929.6T DE112019003929T5 (en) 2018-09-10 2019-08-22 ELECTRONIC CONTROL DEVICE AND UPDATING SYSTEM OF A NEURAL NETWORK
US17/270,512 US12045023B2 (en) 2018-09-10 2019-08-22 Electronic control device and neural network update system
CN201980050165.0A CN112534446B (en) 2018-09-10 2019-08-22 Electronic control device and neural network updating system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018168864A JP6986503B2 (en) 2018-09-10 2018-09-10 Electronic control device, neural network update system

Publications (2)

Publication Number Publication Date
JP2020042496A JP2020042496A (en) 2020-03-19
JP6986503B2 true JP6986503B2 (en) 2021-12-22

Family

ID=69777809

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018168864A Active JP6986503B2 (en) 2018-09-10 2018-09-10 Electronic control device, neural network update system

Country Status (5)

Country Link
US (1) US12045023B2 (en)
JP (1) JP6986503B2 (en)
CN (1) CN112534446B (en)
DE (1) DE112019003929T5 (en)
WO (1) WO2020054345A1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021163287A (en) * 2020-03-31 2021-10-11 エイベックス・テクノロジーズ株式会社 Augmenting reality system
CN116508052A (en) 2020-11-16 2023-07-28 日立安斯泰莫株式会社 DNN reduction device and in-vehicle arithmetic device
JP7040589B1 (en) * 2020-12-01 2022-03-23 トヨタ自動車株式会社 Machine learning methods and machine learning systems

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5636327A (en) 1991-09-18 1997-06-03 Matsushita Electric Industrial Co., Ltd. Neural network circuit
JP3172278B2 (en) * 1991-09-18 2001-06-04 松下電器産業株式会社 Neural network circuit
JPH05197821A (en) * 1991-11-11 1993-08-06 Omron Corp Method for optimizing hierarchical neural network and device therefor
JPH07168799A (en) * 1993-09-22 1995-07-04 Fuji Electric Co Ltd Learning device for neural network
CN105938558B (en) * 2015-03-06 2021-02-09 松下知识产权经营株式会社 Learning method
JP6446126B2 (en) * 2015-04-17 2018-12-26 Cocoro Sb株式会社 Processing system and program
EP3272611B1 (en) * 2015-04-21 2019-07-24 Panasonic Intellectual Property Management Co., Ltd. Information processing system, information processing method, and program
EP3447690A4 (en) * 2016-04-19 2020-01-01 Cambricon Technologies Corporation Limited Maxout layer operation apparatus and method
US20170364799A1 (en) * 2016-06-15 2017-12-21 Kneron Inc. Simplifying apparatus and simplifying method for neural network
JP6708044B2 (en) 2016-07-28 2020-06-10 富士通株式会社 Image recognition device, image recognition program, image recognition method, and recognition device
US12093813B2 (en) * 2016-09-30 2024-09-17 Intel Corporation Dynamic neural network surgery
KR102336295B1 (en) * 2016-10-04 2021-12-09 한국전자통신연구원 Convolutional neural network system using adaptive pruning and weight sharing and operation method thererof
US20180096249A1 (en) * 2016-10-04 2018-04-05 Electronics And Telecommunications Research Institute Convolutional neural network system using adaptive pruning and weight sharing and operation method thereof
CN108171323B (en) * 2016-12-28 2021-03-26 上海寒武纪信息科技有限公司 Artificial neural network computing device and method
CN107239803A (en) * 2017-07-21 2017-10-10 国家海洋局第海洋研究所 Utilize the sediment automatic classification method of deep learning neutral net
US20190362235A1 (en) * 2018-05-23 2019-11-28 Xiaofan Xu Hybrid neural network pruning

Also Published As

Publication number Publication date
CN112534446A (en) 2021-03-19
US12045023B2 (en) 2024-07-23
DE112019003929T5 (en) 2021-05-06
US20210333764A1 (en) 2021-10-28
WO2020054345A1 (en) 2020-03-19
CN112534446B (en) 2024-07-02
JP2020042496A (en) 2020-03-19

Similar Documents

Publication Publication Date Title
JP7361775B2 (en) Personal driving style learning for autonomous driving
JP7086111B2 (en) Feature extraction method based on deep learning used for LIDAR positioning of autonomous vehicles
CN110850861B (en) Attention-based hierarchical lane-changing depth reinforcement learning
CN110850854A (en) Autonomous driver agent and policy server for providing policies to autonomous driver agents
CN111771135B (en) LIDAR positioning using RNN and LSTM for time smoothing in autonomous vehicles
CN111899594B (en) Automated training data extraction method for dynamic models of autonomous vehicles
JP6986503B2 (en) Electronic control device, neural network update system
CN110377025A (en) Sensor aggregation framework for automatic driving vehicle
US20210004966A1 (en) Method for the Assessment of Possible Trajectories
CN111771141A (en) LIDAR positioning in autonomous vehicles using 3D CNN networks for solution inference
CN114194211A (en) Automatic driving method and device, electronic equipment and storage medium
JP5070574B2 (en) Local traffic prediction program generation device, local traffic prediction device, local traffic prediction program generation method, local traffic prediction method and program
CN114930122B (en) Method and processor circuit for updating digital road map
JP2019031268A (en) Control policy learning and vehicle control method based on reinforcement learning without active exploration
JP2022058566A (en) Autonomous traveling vehicle dynamic model evaluation package
CN113128381A (en) Obstacle trajectory prediction method, system and computer storage medium
JP2020123269A (en) Arithmetic unit
CN110281949A (en) A kind of automatic Pilot unifies hierarchical decision making method
JP6586146B2 (en) Map information processing apparatus, map information processing method, and map information processing program
JP6838776B2 (en) In-vehicle processing device
JP2018087753A (en) Nonlinear optimization program for continuous value optimization problem, and route search program and route search device
CN113260936B (en) Moving object control device, moving object control learning device, and moving object control method
KR20200095382A (en) Method for providing autonomous driving service platform to be used for supporting autonomous driving of vehicles by using competitive computing and information fusion, and server using the same
JP2018084972A (en) Vehicle track graph generation device
JP2023531927A (en) Driving decision-making method, driving decision-making device, and chip

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200828

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210921

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211022

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: 20211102

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211129

R150 Certificate of patent or registration of utility model

Ref document number: 6986503

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150