(57)【要約】【課題】高精度な推論が要求されるデータに対する推論精度の低下を限定的に留めてニューラルネットワークの演算量を低減することができる。【解決手段】電子制御装置は、複数のニューロンと、ニューロン同士を紐付ける結合情報を複数含む結合情報群とを含むニューラルネットワークを格納する電子制御装置であって、ニューラルネットワークは、入力値が与えられたときに出力値を決定するための第１の結合情報群と、入力値として与えられた所定のデータに対する影響度が所定値を上回る複数の結合情報である第２の結合情報群とに基づき、間引き部が第１の結合情報群から少なくとも１つの結合情報を削除することで作成される第３の結合情報群を含むニューラルネットワークである。【選択図】図２
2020042496.tif 000002
【特許請求の範囲】
【請求項１】
複数のニューロンと、前記ニューロン同士を紐付ける結合情報を複数含む結合情報群とを含むニューラルネットワークを格納する電子制御装置であって、
前記ニューラルネットワークは、
入力値が与えられたときに出力値を決定するための第１の前記結合情報群と、前記入力値として与えられた所定のデータに対する影響度が所定値を上回る複数の前記結合情報である第２の結合情報群とに基づき、間引き部が前記第１の結合情報群から少なくとも１つの結合情報を削除することで作成される第３の結合情報群を含むニューラルネットワークである電子制御装置。
【請求項２】
請求項１に記載の電子制御装置において、
前記所定のデータは、車両走行に関する優先度が所定値を上回るデータである、電子制御装置。
【請求項３】
請求項２に記載の電子制御装置において、
前記間引き部は、前記第２の結合情報群に含まれるそれぞれの前記結合情報に対応する操作係数の集合である操作係数群を決定し、それぞれの前記操作係数を前記第１の結合情報群に含まれる対応する前記結合情報に評価係数を算出して評価係数群とし、前記評価係数群のうち所定値を上回る前記評価係数について、対応する前記結合情報を前記第１の結合情報群の中から特定し、当該特定された結合情報以外の前記結合情報を前記第１の結合情報群から削除して、前記第３の結合情報群を作成する電子制御装置。
【請求項４】
請求項３に記載の電子制御装置において、
係数特定部が、前記複数のニューロンのうち、前記所定のデータが与えられた場合の前記出力値が所定値を上回る場合に、当該出力値の決定に関与したニューロンを特定し、当該特定されたニューロンに紐付く結合情報を、前記第２の結合情報群を構成する前記結合情報として特定する電子制御装置。
【請求項５】
請求項１に記載の電子制御装置において、
前記第３の結合情報群は、前記間引き部が前記第１の結合情報群から少なくとも１つの結合情報を削除し、ファインチューニングにより最適化された前記結合情報群である電子制御装置。
【請求項６】
サーバ、および電子制御装置を備え、複数のニューロンと、前記ニューロン同士を紐付ける結合情報を複数含む結合情報群とを含むニューラルネットワークを更新するニューラルネットワーク更新システムであって、
前記サーバは、記憶部と、演算部と、を備え、
前記記憶部は、入力値が与えられたときに出力値を決定するための第１の前記結合情報群を格納し、
前記演算部は、
所定のデータが前記入力値として与えられた場合に、前記所定のデータに対する影響度が所定値を上回る複数の前記結合情報である第２の結合情報群を特定する係数特定部と、
前記第１の結合情報群と前記第２の結合情報群とに基づき、前記第１の結合情報群から少なくとも１つの結合情報を削除して第３の結合情報群を作成する間引き部と、を備え、
前記電子制御装置は、前記第３の結合情報群を含むニューラルネットワークを格納するニューラルネットワーク更新システム。
【請求項７】
請求項６に記載のニューラルネットワーク更新システムにおいて、
前記所定のデータは、車両走行に関する優先度が所定値を上回るデータであるニューラルネットワーク更新システム。
【請求項８】
請求項７に記載のニューラルネットワーク更新システムにおいて、
前記間引き部は、前記第２の結合情報群に含まれるそれぞれの前記結合情報に対応する操作係数の集合である操作係数群を決定し、それぞれの前記操作係数を前記第１の結合情報群に含まれる対応する前記結合情報に評価係数を算出して評価係数群とし、前記評価係数群のうち所定値を上回る前記評価係数について、対応する前記結合情報を前記第１の結合情報群の中から特定し、当該特定された結合情報以外の前記結合情報を前記第１の結合情報群から削除して、前記第３の結合情報群を作成するニューラルネットワーク更新システム。
【請求項９】
請求項８に記載のニューラルネットワーク更新システムにおいて、
前記係数特定部は、前記複数のニューロンのうち、前記所定のデータが与えられた場合の前記出力値が所定値を上回る場合に、当該出力値の決定に関与したニューロンを特定し、当該特定されたニューロンに紐付く結合情報を、前記第２の結合情報群を構成する前記結合情報として特定するニューラルネットワーク更新システム。
【請求項１０】
請求項６に記載のニューラルネットワーク更新システムにおいて、
前記間引き部は、前記第１の結合情報群から少なくとも１つの結合情報を削除し、ファインチューニングにより前記結合情報群を最適化して前記第３の結合情報群を作成するニューラルネットワーク更新システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子制御装置、およびニューラルネットワーク更新システムに関する。
【背景技術】
【０００２】
近年、自動運転システムの開発が活発化している。自動運転システムにおいて、複雑な走行環境を走行するためには、カメラ、レーザレーダ、ミリ波レーダ等の様々なセンサからの情報を基にした自車両周辺環境をセンシングする「認識」や、センサで検出された自車両周辺のオブジェクトが今後どのように行動するのかを推定する「認知」や、認識と認知の結果に基づき今後の自車両の行動を計画する「判断」といった機能の高度化が必要になる。そのため、これらの機能に対して、ニューラルネットワークやディープラーニングなどのＡＩ（Artificial  Intelligence）モデルを導入することにより更なる高度化が期待されている。車両用の電子制御装置（ECU：Electronic  Control  Unit）において、車両走行制御で用いることが可能な処理周期でリアルタイムにニューラルネットワークの演算処理を実行する場合、ＣＰＵだけではなくＦＰＧＡ（Field-Programmable  Gate  Array）、ＡＳＩＣ（Application  Specific  Integrated  Circuit）、ＧＰＵ（Graphics  Processing  Unit）などのハードウェアデバイスを追加で用いることが多く、ＥＣＵの消費電力の増大が課題となる。そのため、ニューラルネットワークの演算量を減らして、ニューラルネットワーク実行時の消費電力を低減する必要がある。特許文献１には、入力した画像のニューロンデータとパラメータとに基づいてそれぞれ算出した畳み込み量を各第１のメモリ領域にそれぞれ保持する処理と、前記各第１のメモリ領域に保持した前記畳み込み量に対して間引き処理をそれぞれ行った間引き後の畳み込み量を各第２のメモリ領域にそれぞれ保持する処理とを第１の複数層において行う第１の認識処理と、前記第２のメモリ領域に保持した前記間引き後の畳み込み量の全てに対して第３のメモリ領域に保持した重みをそれぞれ積算した出力結果を各第４のメモリ領域にそれぞれ保持する処理を第２の複数層において行う第２の認識処理とを制御する認識制御部と、前記第１の複数層と前記第２の複数層とに含まれる各層について、各ニューロンデータのサイズであるニューロンデータサイズと、各パラメータのサイズであるパラメータサイズとをそれぞれ計算するメモリ量計算部と、前記第４のメモリ領域に保持した前記出力結果に基づき計算した前記出力結果の誤差の勾配を第５のメモリ領域に保持するとともに、前記メモリ量計算部が計算した前記第２の複数層に含まれる各層のニューロンデータサイズとパラメータサイズと大小関係に基づき、前記第５のメモリ領域に保持した前記出力結果の誤差の勾配又は前記第２の複数層における前層の第６のメモリ領域に保持した誤差の勾配に基づいて計算した前記第２の複数層における次層への誤差の勾配を各第６のメモリ領域に保持した後、前記第２の複数層における次層へのパラメータの誤差の勾配を前記各第３のメモリ領域にそれぞれ保持する前記第２の複数層における第１の学習処理と、前記メモリ量計算部が計算した前記第１の複数層に含まれる各層のニューロンデータサイズとパラメータサイズとの大小関係に基づき、前記第２の複数層の最終層の第６のメモリ領域又は前記第１の複数層における前層の第７のメモリ領域に保持した誤差の勾配に基づいて計算した次層へのパラメータの誤差の勾配を各第７のメモリ領域に保持した後、前記第１の複��層における次層への誤差の勾配を前記各第２のメモリ領域にそれぞれ保持する前記第１の複数層間における第２の学習処理とを制御する学習制御部と、を有することを特徴とする画像認識装置が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１８−１８３５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載されている発明では、重み係数を削除した場合に高精度な推論が要求されるデータに対する推論精度が、重み係数削除前と比べて低下する場合がある。
【課題を解決するための手段】
【０００５】
本発明の第１の態様による電子制御装置は、複数のニューロンと、前記ニューロン同士を紐付ける結合情報を複数含む結合情報群とを含むニューラルネットワークを格納する電子制御装置であって、前記ニューラルネットワークは、入力値が与えられたときに出力値を決定するための第１の前記結合情報群と、前記入力値として与えられた所定のデータに対する影響度が所定値を上回る複数の前記結合情報である第２の結合情報群とに基づき、間引き部が前記第１の結合情報群から少なくとも１つの結合情報を削除することで作成される第３の結合情報群を含むニューラルネットワークである。
本発明の第２の態様によるニューラルネットワーク更新システムは、サーバ、および電子制御装置を備え、複数のニューロンと、前記ニューロン同士を紐付ける結合情報を複数含む結合情報群とを含むニューラルネットワークを更新するニューラルネットワーク更新システムであって、前記サーバは、記憶部と、演算部と、を備え、前記記憶部は、入力値が与えられたときに出力値を決定するための第１の前記結合情報群を格納し、前記演算部は、所定のデータが前記入力値として与えられた場合に、前記所定のデータに対する影響度が所定値を上回る複数の前記結合情報である第２の結合情報群を特定する係数特定部と、前記第１の結合情報群と、前記第２の結合情報とに基づき、前記第１の結合情報群から少なくとも１つの結合情報を削除して第３の結合情報群を作成する間引き部と、を備え、前記電子制御装置は、前記第３の結合情報群を含むニューラルネットワークを格納する。
【発明の効果】
【０００６】
本発明によれば、高精度な推論が要求されるデータに対する推論精度の低下を限定的に留めてニューラルネットワークの演算量を低減することができる。
【図面の簡単な説明】
【０００７】
【図１】ＡＩモデルの構造の一例を示す図
【図２】第１の実施の形態におけるニューラルネットワーク更新システム２の構成図
【図３】データセット管理テーブル３０の一例を示す図
【図４】サーバ２１によるニューラルネットワークの縮約処理を示すフローチャート
【図５】図４におけるＳ４０２の詳細を示すフローチャート
【図６】変形例１における、データセット管理テーブル３１の一例を示す図
【図７】変形例４における、図３に示すステップＳ４０２の詳細を示す図
【図８】変形例４における、ステップＳ６０２の処理の一例を示す図
【図９】変形例５における、図３に示すステップＳ４０２の詳細を示す図
【図１０】図９に示す処理の一例を示す図
【図１１】変形例６における、図３に示すステップＳ４０２の詳細を示す図
【図１２】ステップＳ９０２の処理の一例を示す図
【図１３】変形例６におけるシステム構成図
【図１４】第２の実施の形態におけるニューラルネットワーク更新システム２の構成図
【図１５】縮約率補正テーブル２０４の一例を示す図
【発明を実施するための形態】
【０００８】
以下、本発明の実施の形態について図面を参照して説明する。なお、以下に示す各実施の形態では、同じ構成要素や同じ処理内容等については、同一の番号を記載してその説明を簡略にする。各実施の形態では、人工知能処理を用いたＡＩモデルを備えた電子制御装置、サーバ、全体システムについての説明において、ＡＩモデルの一例として、ニューラルネットワークを用いて説明する。ただしＡＩモデルは、機械学習、ディープラーニング、および強化学習に関するモデルであってもよい。すなわち、近似や間引き処理により、最適化できる様々なＡＩモデルに対して、以下に説明する各実施の形態を適用できる。なお以下に説明する実施の形態では、モデルの最適化は、重み係数やニューロンを間引く方法を例に説明し、その処理のことを「ニューラルネットワークの縮約」として記載する。また以下では、「ニューラルネットワーク」を「ＮＮ」と記載することもある。
【０００９】
―第１の実施の形態―
以下、図１〜図５を参照して、ニューラルネットワーク更新システムの第１の実施の形態を説明する。第１の実施の形態では、高精度な推論が要求されるデータ（以下、「重要データ」とも呼ぶ）に深く関連するニューラルネットワークの結合情報を特定し、その情報を用いて結合情報の間引きを行う。なお、間引き処理は結合情報そのものを削除する方法や、値を０に変更する方法が考えられる。
【００１０】
図１は、ＡＩモデルの構造の一例を示す図である。図１に示すように、ニューラルネットワークモデル１は、入力層１０と、中間層１１と、出力層１２を含み、各層はそれぞれＩ個、Ｊ個、Ｋ個の演算ユニット１００を持つ。それぞれの演算ユニット１００は、図１の符号１０１や符号１０２に示すように、演算ユニット１００間の結合情報を基に接続される。入力層１０に情報が入力されると、結合情報が加味されて中間層１１内で伝搬されて、最終的に出力層１２より予測結果に相当する情報が出力される。演算ユニット１００間の接続に関する結合情報を本実施の形態では「ネットワーク構造情報」と呼ぶ。演算ユニット１００は前述の「ニューロン」に相当する。
【００１１】
結合情報は結合係数とバイアスから構成され、その結合係数を係数とする演算が行われつつ情報は入力層１０から出力層１２に伝搬される。ＡＩモデルの演算で使用される結合係数のことを本実施の形態では「重み係数」と呼ぶ。また本実施の形態では、説明を簡略するためにバイアスを除外して結合情報が重み係数のみから構成されるとして説明する。すなわち本実施の形態では、結合情報と重み係数は同一である。ただし結合情報にバイアスが含まれる構成も本発明に含まれる。
【００１２】
また本実施の形態では、個別の重み係数を識別するために、それぞれの重み係数に便宜的にＩＤを付与する。また重み係数の値を「重み係数値」や「重み係数の値」と呼ぶ。すなわち以下では、「ＩＤが１１の重み係数の重み係数値はｘｘ」のように表現する。演算の内容は、結合情報に含まれる層の種類によって特定される。結合情報に含まれる層は、たとえば、畳込み層、バッチ正規化、活性化関数、プーリング層、全結合層、ＬＳＴＭ（Long  Short  Term  Memory）層などである。
【００１３】
なお演算ユニット１００の数や、中間層１１を構成する層の数は、実施の形態とは無関係であるため、任意の値とする。また、ＡＩモデルの構造も特段の限定はされず、たとえば演算ユニット１００間の結合に再帰性や双方向性を持つものであってもよい。さらに教師有り、教師無しのいずれの機械学習モデル、および強化学習モデル等、いずれのＡＩモデルに対しても、本実施の形態を適用可能である。これは、高精度な推論が要求される優先度の高いデータに対する推論精度に影響を与えることなく、ＡＩモデルの重み係数や演算ユニットを間引いてＡＩモデルを縮約できるためである。ただし重み係数の重み係数値をゼロに変更することも、重み係数を間引くことに含まれる。
【００１４】
図２は、第１の実施の形態におけるニューラルネットワーク更新システム２の構成図である。ニューラルネットワーク更新システム２は、記憶部２０と、サーバ２１と、電子制御装置２２とから構成される。図２に示すように、サーバ２１と電子制御装置２２は、ネットワーク２３を介して接続される。なお図２では記憶部２０はサーバ２１と直接に接続されているが、記憶部２０がサーバ２１とネットワーク２３を介して接続されてもよい。
【００１５】
本実施の形態では、サーバ２１にてニューラルネットワークの縮約を行い、電子制御装置２２はその縮約されたニューラルネットワークをサーバからダウンロードして更新する。これにより、自動運転などのアプリケーションにおいて、ニューラルネットワークを用いた演算処理を実行する。ただし、本実施の形態はこのような構成に限定されない。すなわちサーバ２１を介さず、電子制御装置２２を備える車両に閉じてニューラルネットワークの追加学習と更新を行うアーキテクチャになる場合など、上述の機能の全部または一部を電子制御装置２２に搭載する構成としてもよい。
【００１６】
記憶部２０は、不揮発性の記憶領域、たとえばフラッシュメモリである。記憶部２０には、ニューラルネットワークの学習、生成、および縮約処理において、サーバ２１が使用するニューラルネットワーク情報やデータセットが格納される。具体的には記憶部２０には、縮約前ニューラルネットワーク２００と、縮約後ニューラルネットワーク２０１と、重要データ２０２と、通常データ２０３とが含まれる。
【００１７】
縮約前ニューラルネットワーク２００は、縮約を適用する前のニューラルネットワークの情報を指し、第１の結合情報群２０００とネットワーク構造情報２００１とから構成される。第１の結合情報群２０００は縮約適用前のニューラルネットワークの重み係数の重み係数値である。ネットワーク構造情報２００１は縮約適用前のニューラルネットワークのネットワーク構造情報である。縮約前ＮＮ２００はたとえば、図１に示すニューラルネットワークモデル１の全体である。第１の結合情報群２０００はたとえば、図１に示したＮＮモデル１から抽出した全ての重み係数の重み係数値である。またネットワーク構造情報２００１はたとえば、ＮＮモデル１から全ての重み係数の重み係数値を除いた情報である。
【００１８】
縮約後ニューラルネットワーク２０１は、縮約を適用した後のニューラルネットワークの情報であり、第３の結合情報群２０１０とネットワーク構造情報２０１１とから構成される。第３の結合情報群２０１０は縮約適用後のニューラルネットワークの重み係数の重み係数値を指す。ネットワーク構造情報２０１１は縮約適用前のニューラルネットワークのネットワーク構造情報を指す。なお、縮約適用前後でニューラルネットワークのネットワーク構造情報に相違がない場合は、ネットワーク構造情報２００１とネットワーク構造情報２０１１は同一のものとなる。
【００１９】
重要データ２０２および通常データ２０３は、あらかじめ作成されたデータ群であり、ニューラルネットワークの構築や推論のテストに用いられる。重要データ２０２および通常データ２０３に含まれるそれぞれデータは、たとえば走行中の車両が収集したセンサ出力と、前方を走行する車両との相対距離と、前方を走行する車両が同一レーンを走行しているか否かの情報の組み合わせである。
【００２０】
重要データ２０２は、高精度な推論が要求されるデータであり、たとえば車両走行制御に直接関連し、推論の誤りを可能な限り低減したいデータ群である。重要データ２０２はたとえば、相対距離が近く、かつ同一レーンを走行している場合のデータである。通常データ２０３は、重要データ２０２以外の、車両走行制御に直接関係しないデータ群である。通常データ２０３はたとえば、相対距離が非常に遠いデータや、異なるレーンを走行している場合のデータである。あるデータが重要データ２０２および通常データ２０３のどちらに分類されるかは、次に説明するデータセット管理テーブル３０を参照してサーバ２１が演算処理により決定してもよいし、サーバ２１のオペレータがあらかじめ定められたルールに従い決定してもよい。
【００２１】
図３はデータセット管理テーブル３０の一例を示す図である。データセット管理テーブル３０は複数のレコードから構成され、各レコードは、データ種別名３００、優先度判定条件３０１、優先度３０２、操作係数３０３から構成される。データ種別名３００はデータを識別するために便宜的に設けた名称である。したがってデータ種別名３００は識別可能であればどのような文字列でもよい。優先度判定条件３０１は、優先度を判定するための条件であり、換言すると当該レコードへの該当性を示す条件である。
【００２２】
優先度３０２は数値が大きいほど優先度が高い、すなわちより高精度な推論が要求されることを示す。それぞれのデータは、この優先度の値により重要データ２０２または通常データ２０３に分類されてもよい。操作係数３０３は、縮約時に用いられる情報であり、たとえば間引きの対象となる重み係数、すなわち間引きの対象となる重み係数のＩＤを決定するために使用される。
【００２３】
優先度判定条件３０１は、相対距離３０１０と先行車フラグ３０１１とから構成される。相対距離３０１０は自車とオブジェクトとの相対距離を表す情報であり、相対距離の値が小さいほど、優先度３０２の値は大きい、すなわち本データの優先度は高いと判定する傾向にある。先行車フラグ３０１１は、対象のオブジェクトが自車から見て同一走行レーン上の先行車にあたるか否かを表すフラグ情報である。
【００２４】
先行車フラグ３０１１がＴＲＵＥの場合は、優先度の値は大きくなる傾向にある。図３の１行目に示す例では、先行車フラグ３０１１がオンかつ相対距離３０１０が３０メートル以内の場合は、オブジェクト検出用データ１と判断され、優先度３０２は３、操作係数は２に設定される。また図３の最終行に示す例では、先行車フラグ３０１１がＦＡＬＳＥの場合は相対距離３０１０が５００メートル以内は全てオブジェクト検出用データ４と判断され、優先度３０２は１、操作係数は１に設定される。
【００２５】
図２の説明に戻る。サーバ２１は演算部２１０と、プログラム格納部２１１と、ＲＡＭ２１２とを備える。演算部２１０は、中央演算装置であるＣＰＵ（Central  Processing  Unit）２１００をハードウェアとして少なくとも備えており、ＣＰＵ２１００はプログラム格納部２１１に格納されたプログラムに従ってニューラルネットワークの学習、生成、および縮約処理を実行する。ただしプログラム格納部２１１に格納されたプログラムと同様の機能をハードウエア回路として実現してもよい。さらに、プログラム格納部２１１に格納される全てのプログラムの機能がハードウエア回路として実現される場合は、サーバ２１はプログラム格納部２１１を備えなくてもよい。
【００２６】
ニューラルネットワークの学習・生成・縮約を高速化するため、演算部２１０にアクセラレータ２１０１が含まれてもよい。アクセラレータ２１０１は、ＦＰＧＡ、ＡＳＩＣ、およびＧＰＵ等のハードウェアデバイスが考えられる。
【００２７】
プログラム格納部２１１は、フラッシュメモリ等の不揮発性半導体メモリを備える。プログラム格納部２１１には、演算係数特定部２１１０と、操作係数決定部２１１１と、係数群算出部２１１２と、間引き部２１１３と、ＮＮ実行制御部２１１４と、ＮＮ学習制御部２１１５とを実現するためのプログラムが格納される。これらのプログラムは演算部２１０により実行される。これらのプログラムの動作は図４〜図５を参照して後に説明する。またプログラムの構成は任意であり、どのようにプログラムの結合や分離がされてもよい。たとえば、１つのプログラムが演算係数特定部２１１０、操作係数決定部２１１１、係数群算出部２１１２、間引き部２１１３、ＮＮ実行制御部２１１４、およびＮＮ学習制御部２１１５に相当する機能の全てを兼ね備えてもよい。
【００２８】
ＲＡＭ２１２は揮発性半導体メモリである。ＲＡＭ２１２には、演算部２１０がプログラムを実行するためのデータ、たとえば第２の結合情報群２１２０が格納される。第２の結合情報群２１２０は、ニューラルネットワークを縮約する際の判定条件として使用される。第２の結合情報群２１２０は、「重要関連ＷＨＩ」とも呼ばれる。詳しくは後述する。
【００２９】
ネットワーク２３は、電子制御装置２２を備える車両がサーバ２１へアクセスするための通信網を表す。アクセス手段はたとえばセルラーや無線ＬＡＮなどの方式が考えられる。これら無線手段以外にＯＢＤ（On-Board  Diagnostics）やＯＢＤ２（On-Board  Diagnostics2）を介して有線手段で接続してもよい。
【００３０】
電子制御装置２２は、記憶部２２０と、演算部２２１と、プログラム格納部２２２と、ＲＡＭ２２３とを備える。記憶部２２０は、フラッシュメモリなどの不揮発性の記憶装置である。記憶部２２０には縮約後ニューラルネットワーク２２００が格納される。縮約後ＮＮ２２００は、第３の結合情報群２２０００とネットワーク構造情報２２００１とから構成される。電子制御装置２２に格納される縮約後ＮＮ２２００は、記憶部２０に格納される縮約後ＮＮ２０１と名称は同一であるが、データそのものは必ずしも同一ではない。ただし出荷直後の初期状態では、縮約後ＮＮ２２００と縮約後ＮＮ２０１とは同一である。
【００３１】
演算部２２１は、中央演算処理装置であるＣＰＵ２２１０を備える。ＣＰＵ２２１０はプログラム格納部２２２に格納されたプログラムに従ってニューラルネットワークを用いた推論処理やニューラルネットワークの学習処理を実行する。演算部２２１は、これら推論や学習処理を高速化するため、アクセラレータ２１０１を備えてもよい。アクセラレータ２１０１はＦＰＧＡ、ＡＳＩＣ、ＧＰＵ等のハードウェアデバイスが考えられる。プログラム格納部２２２は、フラッシュメモリ等の不揮発性半導体メモリを備える。プログラム格納部２２２には、車両走行制御部２２２０と、ＮＮ実行制御部２２２１とを実現するためのプログラムが格納される。
【００３２】
車両走行制御部２２２０は、認識、認知、および判断などの車両の走行を制御するために必要な機能を有する。なお、車両走行制御部２２２０が単独で車両の走行を制御するための認識、認知、および判断を実行しなくてもよく、たとえば車両に搭載された他の機器やネットワーク２３を介して接続される他の機器と分担・連携してもよい。
【００３３】
ＮＮ実行制御部２２２１は、記憶部２２０に格納された縮約後ＮＮ２２００を用いて、推論処理を実行する。図示はしていないが、電子制御装置２２は推論処理だけではなく、縮約後ニューラルネットワーク２２００の学習機能をさらに有してもよい。電子制御装置２２が学習機能を有することにより、サーバ２１と連携することなく、電子制御装置２２が単独でニューラルネットワークの追加学習と更新が可能になる。
【００３４】
（動作）
図４〜図５を参照して、サーバ２１によるニューラルネットワークの縮約を説明する。図４はサーバ２１によるニューラルネットワークの縮約処理を示すフローチャートである。まずステップＳ４００において、ＮＮ学習制御部２１１５は、学習済みの重み係数値ＷＬＥを備えるニューラルネットワーク、すなわち縮約前のニューラルネットワークを生成する。
【００３５】
そして、ステップＳ４０１において、記憶部２０に格納されているデータをデータセット管理テーブル３０を参照して重要データ２０２を選定する。この場合に、たとえば優先度が３以上のデータが重要データ２０２に分類され、優先度が２以下のデータが通常データ２０３に分類される。なおこの分類はデータの選定はサーバ２１のオペレータが行ってもよいし、サーバ２１が演算により選別してもよい。また、データがすでに分類済みの場合はＳ４０１の処理を省略してもよい。
【００３６】
続いてステップＳ４０２において、演算係数特定部２１１０は、学習済み重み係数値ＷＬＥのなかで、重要データ２０２に関与する重み係数を特定し、そのＩＤの集合を重要関連ＷＨＩとして記録する。すなわち重要関連ＷＨＩとは、重要データ２０２に関与する重み係数のＩＤ番号が列挙されたものである。Ｓ４０２の詳細は次の図５で説明する。
【００３７】
続くステップＳ４０３において、操作係数決定部２１１１は、データセット管理テーブル３０と重要データ２０２に基づいて操作係数ＷＣＯＥＦを算出する。操作係数ＷＣＯＥＦはそれぞれの重み係数に対応して存在し、全ての操作係数ＷＣＯＥＦの初期値は同一、たとえばゼロである。図３に示す例において最上段のオブジェクト検出用データ１に分類される重要データ２０２を用いて特定された重み係数に対応する操作係数ＷＣＯＥＦには、そのデータの操作係数３０３の値である「２」が加算される。多くの重要データ２０２により特定される重み係数に対応する操作係数ＷＣＯＥＦほど大きな値を有することになる。
【００３８】
ステップＳ４０４において、係数群算出部２１１２は、重要関連ＷＨＩと操作係数ＷＣＯＥＦを用いて、ニューラルネットワークにおける重み係数の間引き適用箇所の判定に用いる評価係数ＷＮＥＷを算出する。評価係数ＷＮＥＷも、それぞれの重み係数に対して存在する。評価係数ＷＮＥＷは、それぞれの重み係数に対して、換言するとそれぞれの重み係数のＩＤに対して、たとえば次の式１のように算出される。
ＷＮＥＷ＝Ｄ（ＷＨＩ）＊Ｖａｌ（ＩＤ）＊ＷＣＯＥＦ  ・・・  （式１）
【００３９】
ただしＤ（ＷＨＩ）は、処理対象の重み係数のＩＤが重要関連ＷＨＩに含まれる場合は「１」を返し、処理対象の重み係数のＩＤが重要関連ＷＨＩに含まれない場合はゼロを返す関数である。またＶａｌ（ＩＤ）は、処理対象のＩＤである重み係数の重み係数値を返す関数である。詳しくは後述するが、評価係数ＷＮＥＷは間引きの判定処理で参照される値であり、値が大きいほど間引きがされにくくなる。
【００４０】
続くステップＳ４０５において、間引き部２１１３は評価係数ＷＮＥＷの値に基づいて間引きの対象となる重み係数を決定する。そしてステップＳ４０６において、学習済み重み係数値ＷＬＥから間引き対象の重み係数の重み係数値をゼロにして、新たなニューラルネットワークを生成する。ただし、重み係数の行成分または列成分のすべてがゼロになった場合は、その行または列を削除してもよい。
【００４１】
さらに、各演算ユニット１００（ニューロン）に接続される全ての重み係数のセット単位で削除しても良い。これは、演算ユニット１００に接続される各重み係数の二乗和をそれぞれ算出して、その値が小さいものから順に重み係数のセットを削除する方法が考えられる。生成されたニューラルネットワークは縮約後ＮＮ２０１として記憶部２０に格納され、電子制御装置２２に送信されて記憶部２２０に保存される。なお、間引き適用箇所は１つ以上とする。
【００４２】
その後ステップＳ４０７において、ステップＳ４０６にて新たに生成された新たなニューラルネットワークにおける重み係数を再学習、すなわちファインチューニングによって最適化する。このファインチューニングにより推論精度の向上を図ることが可能となる。ただしステップＳ４０７は必須ではなくＳ４０６の実行が完了したら図４に示す処理を終了してもよい。
【００４３】
図５は、図４におけるＳ４０２の詳細を示すフローチャートである。図５に示す処理の実行主体は係数特定部２１１０である。係数特定部２１１０はまずＳ５００において、ＮＮ実行制御部２１１４に、重要データ２０２をステップＳ４００において生成したニューラルネットワークに入力して推論を実行させ、ニューラルネットワークの各演算ユニットの出力ＯＨＮＵを算出する。続くステップＳ５０１では係数特定部２１１０は、出力ＯＨＮＵに基づき、活性化度合いが高い演算ユニットＮＨＩを特定する。本処理で特定した演算ユニットは重要データ２０２に大きく関与している演算ユニットであると判断する。
【００４４】
ここで活性化度合いが高いか否かは、出力ＯＨＮＵが閾値ＡＣＴＴＨ以上か否かによって判定する方法が考えられる。別の方法としてはニューラルネットワークの各層毎の全ての出力ＯＨＮＵのうち、値が大きいものから順に上位から一定の割合を活性化度合いが高いと判定する方法が考えられる。
【００４５】
その後、ステップＳ５０２において、係数特定部２１１０は、ステップＳ５０１で特定した演算ユニットＮＨＩに対して、演算ユニットＮＨＩと接続される重み係数を特定し、特定した重み係数を重要関連ＷＨＩとすることによって、本処理フローを終了する。ステップＳ５０２の処理の一例を示すと、演算ユニットＮＨＩが図１に示す演算ユニット１００の場合に、以下のように判断する。すなわち、演算ユニット１００に接続される重み係数は結合情報１０１と結合情報１０２である。このように、それぞれの演算ユニットに接続される重み係数は、ニューラルネットワークのネットワーク構造情報から一意に特定される。
【００４６】
上述した第１の実施の形態によれば、次の作用効果が得られる。
（１）ニューラルネットワーク更新システム２は、サーバ２１および電子制御装置２２を備える。ニューラルネットワーク更新システム２は、複数のニューロン１００と、ニューロン同士を紐付ける図１の符号１０１や符号１０２に示す結合情報を複数含む結合情報群とを含むニューラルネットワークを更新する。サーバ２１は、記憶部２０と、演算部２１０と、を備える。記憶部２０は、入力値が与えられたときに出力値を決定するための第１の結合情報群２０００を格納する。演算部２１０は、所定のデータが入力値として与えられた場合に、所定のデータに対する影響度が所定値を上回る複数の結合情報である第２の結合情報群２１２０を特定する係数特定部２１１０と、第１の結合情報群２０００と、第２の結合情報群２１２０とに基づき、第１の結合情報群２０００から少なくとも１つの結合情報を削除して第３の結合情報群２０１０を作成する間引き部２１１３と、を備える。電子制御装置２２は、第３の結合情報群２０１０を含む縮約後ＮＮ２２００を格納する。
【００４７】
第３の結合情報群２０１０は第１の結合情報群２０００に比べて結合情報が削除されているので演算量、すなわち消費電力を低減できる。さらに、高精度な推論が要求される重要データに対する影響度を考慮して、削除する結合情報を決定するので、重要データに対する推論精度の低下を限定的に留めることができる。
【００４８】
（２）所定のデータとは、車両走行に関する優先度が所定値を上回るデータである。そのため車両の走行に関して高精度な推論が要求されるデータに対する推論制度の低下を限定的に留めることができる。
【００４９】
（３）間引き部２１１３は、第２の結合情報群２１２０に含まれるそれぞれの結合情報に対応する操作係数の集合である操作係数群を決定し、それぞれの操作係数を第１の結合情報群２０００に含まれる対応する結合情報に評価係数を乗算して評価係数群とし、評価係数群のうち所定値を上回る評価係数について、対応する結合情報を第１の結合情報群２０００の中から特定し、当該特定された結合情報以外の結合情報を第１の結合情報群２０００から削除して、第３の結合情報群２０１０を作成する。このように、高精度な推論が要求される重要データに対する影響度が所定値を上回る結合情報は削除しないので、重要データに対する推論精度の低下を限定的に留めることができる。
【００５０】
（４）係数特定部２１１０は、複数のニューロン１００のうち、所定のデータが与えられた場合の出力値が所定値を上回る場合に、当該出力値の決定に関与したニューロン１００を特定し、当該特定されたニューロン１００に紐付く結合情報を、第２の結合情報群２１２０を構成する結合情報として特定する。
【００５１】
（変形例１）
記憶部２０に格納されるデータ、すなわち重要データ２０２および通常データ２０３は、前方を走行する車両との相対距離が含まれていなくてもよい。記憶部２０に格納されるデータには、高精度な推論が要求されるか否かを判断可能な情報が含まれていればよい。たとえば記憶部２０に格納されるデータに物体の種別と高さが含まれる場合は、データセット管理テーブル３０を図６に示すデータセット管理テーブル３１に変更する。
【００５２】
図６に示すデータセット管理テーブル３１は、第１の実施の形態におけるデータセット管理テーブル３０と比べて優先度判定条件３０１の内容が異なり、優先度判定条件３０１は識別クラス３０１２とオブジェクト高さ３０１３とから構成される。識別クラス３０１２は物体の種別を示し、図３に示す例では物体が車両、歩行者、および自転車のいずれかの場合は優先度を高く設定される。オブジェクト高さ３０１３は物体の高さを示し、高いほうが優先度が高く設定される。
【００５３】
なお、記憶部２０に格納されるデータに様々な情報が含まれる場合は、このデータを使用するアプリケーションに応じて優先度判定条件３０１が変更されてもよい。すなわちデータごとに優先度３０２および操作係数３０３を決定できればよく、優先度判定条件３０１は他の情報を用いてもかまわない。たとえば優先度判定条件３０１が、自己位置推定、センサフュージョン、マップフュージョン、フリースペース検知、オブジェクトの移動予測、および走行軌道計画などＡＩが使用される他の自動運転ロジックに関する条件でもよい。
【００５４】
（変形例２）
電子制御装置２２の記憶部２２０に縮約前ＮＮ２２０がさらに格納され、縮約後ＮＮ２２００に何らかの問題が発生した場合に縮約前ＮＮ２２０に切り替えて、ニューラルネットワークを用いた演算処理を実行してもよい。何らかの問題とはたとえば、縮約後ＮＮ２２００の出力結果を用いたことで、衝突回避のため急ブレーキを動作せざるを得なくなることである。このような問題が生じた場合に縮約前ＮＮ２２０に切り替えることで、縮約処理を施したことによる車両走行への影響を排除することができる。
【００５５】
（変形例３）
評価係数ＷＮＥＷの決定方法は、第１の実施の形態において示した式１を用いる方法に限定されない。重要データ２０２に関与する重み係数が間引きされにくくなるように、評価係数ＷＮＥＷの値が大きくなるようにすればよい。たとえば、処理対象のＩＤである重み係数の重み係数値に対して操作係数ＷＣＯＥＦなどのような補正値を用いてビットシフト演算を行い評価係数ＷＮＥＷを算出してもよい。また処理対象のＩＤである重み係数の重み係数値に操作係数ＷＣＯＥＦなどの補正値を加算して評価係数ＷＮＥＷを算出してもよい。
【００５６】
（変形例４）
図７は変形例４における、図３に示すステップＳ４０２の詳細を示す図である。すなわち本変形例では、図５に示す処理の代わりに図６に示す処理が実行される。ただし第１の実施の形態と同一の処理には同一のステップ番号を付して説明を省略する。図７ではまずステップＳ５００を実行し、第１の実施の形態と同様に出力ＯＨＮＵを算出する。
【００５７】
続くステップＳ６０１において、ＮＮ学習制御部２１１５は通常データ２０３をニューラルネットワークへの入力として推論を実行し、ニューラルネットワークの各演算ユニットの出力ＯＬＮＵを算出する。そして、ステップＳ６０２において、演算係数特定部２１１０は、ＯＨＮＵとＯＬＮＵに基づき、たとえばＯＨＮＵとＯＬＮＵの差に基づき、活性化度合いが高い演算ユニットＮＨＩを特定する。続くＳ５０２では、第１の実施の形態と同様に重要関連ＷＨＩを特定して図７に示す処理を終了する。
【００５８】
図８は、ステップＳ６０２の処理の一例を示す図である。図８（ａ）は、ステップＳ６００における演算ユニットごとのＯＨＮＵを示す図であり、図８（ｂ）は、ステップＳ６０１における演算ユニットごとのＯＬＮＵを示す図であり、図８（ｃ）は演算ユニットごとにＯＨＮＵとＯＬＮＵの差分を示す図である。ただし図８（ａ）〜（ｃ）において横軸方向に異なる演算ユニットの出力が並んでおり、図８（ａ）〜（ｃ）の左右方向の位置が同一であれば同一の演算ユニットについて示している。
【００５９】
図８では、それぞれの演算ユニットにＩＤを割り当てている。たとえばＩＤが「ｎ１１」の演算ユニットは図８（ａ）〜図８（ｃ）の左端に示されており、図８（ａ）と図８（ｂ）の差が図８（ｃ）である。そして図８（ｃ）において、閾値ＷＴＨを設定し、閾値ＷＴＨよりも大きい演算ユニットを活性化度合いが高い演算ユニットＮＨＩとして特定する。
【００６０】
（変形例５）
図９は変形例５における、図３に示すステップＳ４０２の詳細を示す図である。すなわち本変形例では、図５に示す処理の代わりに図９に示す処理が実行される。ただし第１の実施の形態と同一の処理には同一のステップ番号を付して説明を省略する。本変形例では、重要データ２０２に大きく関連する演算ユニットを特定せずに重み係数を特定する。
【００６１】
図９ではまずステップＳ８００において、ＮＮ学習制御部２１１５は、重要データ２０２を用いてニューラルネットワークの追加学習を行い、追加学習後の重み係数ＷＨＡＤＤＬＥを算出する。ステップＳ８００における追加学習で用いるデータは、縮約前ＮＮ２００を生成する際に用いたデータとは異なるものである。
【００６２】
続くステップＳ８０１において、係数特定部２１１０は、追加学習前の重み係数値ＷＬＥと追加学習後の重み係数値ＷＨＡＤＤＬＥとに基づき、たとえば両者の重み係数値の差を演算して重要データ２０２に関与する重み関数を特定する。追加学習前の重み係数値ＷＬＥとは、図４のＳ４００において算出した重み係数値ＷＬＥである。そして図９に示す処理を終了する。
【００６３】
図１０は、図９に示す処理の一例を示す図である。図１０（ａ）は、縮約前ＮＮ２００の重み係数のＩＤごとに重み係数値ＷＬＥを示す図であり、図１０（ｂ）は、ステップＳ８００における重み係数のＩＤごとに重み係数値ＷＨＡＤＤＬＥを示す図であり、図１０（ｃ）は重み係数ごとに重み係数値ＷＨＡＤＤＬＥと重み係数値ＷＬＥの差分を示す図である。
【００６４】
たとえば、重み係数値ＷＨＡＤＤＬＥと重み係数値ＷＬＥの差が所定の閾値ＷＴＨよりも大きい重み係数を重要データ２０２に大きく関連すると判断できる。またこの際に、重み係数値ＷＨＡＤＤＬＥと重み係数値ＷＬＥの差の絶対値を評価してもよい。さらに、両者の差が大きいものから順に上位から一定の割合を活性化度合いが高い重み係数と判定してもよい。
【００６５】
（変形例６）
図１１は変形例６における、図３に示すステップＳ４０２の詳細を示す図である。すなわち本変形例では、図５に示す処理の代わりに図１１に示す処理が実行される。ただし第１の実施の形態と同一の処理には同一のステップ番号を付して説明を省略する。本変形例では、変形例５と同様に重要データ２０２に大きく関連する演算ユニットを特定せずに重み係数を特定する。
【００６６】
図１１ではまずステップＳ９００において、ＮＮ学習制御部２１１５は、重要データ２０２を用いてニューラルネットワークの学習を行い、重み係数値ＷＨＬＥを算出する。続くステップＳ９０１において、ＮＮ学習制御部２１１５は、通常データ２０３を用いてニューラルネットワークの学習を行い、重み係数値ＷＬＬＥを算出する。続くステップＳ９０２において、係数特定部２１１０は、学習済みの重み係数値ＷＨＬＥと重み係数値ＷＬＬＥに基づき、重要データ２０２に関与する重み係数を特定し、重要関連ＷＨＩと名付ける。
【００６７】
なおステップＳ９００とステップＳ９０１は、ステップＳ４００におけるニューラルネットワークを生成する処理において実行されてもよい。また、ステップＳ４００で使用したものと異なる重要データ２０２および通常データ２０３を用いてニューラルネットワークの追加学習を行い、これによりステップＳ９００とステップＳ９０１の処理を実施してもよい。
【００６８】
ステップＳ９０２の処理の一例を図１２に示す。図１２（ａ）は、ステップＳ９００における重み係数のＩＤごとの重み係数値ＷＨＬＥを示したものである。図１２（ｂ）は、ステップＳ９０１における重み係数のＩＤごとの重み係数値ＷＨＡＤＤＬＥを示したものである。図１２（ｃ）は重み係数のＩＤごとの、図１２（ａ）に示す重み係数値ＷＨＬＥと、図１２（ｂ）に示す重み係数値ＷＨＡＤＤＬＥとの差を示す図である。
【００６９】
図１２（ｃ）において、ＩＤごとの差分値が閾値ＷＴＨ以上か否かの判定を行うことで各重み係数が重要データ２０２に大きく関連するか否かを判定する。ここで重み係数値ＷＨＬＥと重み係数値ＷＬＬＥの差分結果に対して絶対値を取るようにしてもよい。別の方法としては差分値が大きいものから順に上位から一定の割合を活性化度合いが高いと判定する方法が考えられる。
【００７０】
（変形例７）
図１３は、変形例７におけるシステム構成を示す図である。本変形例では、車両で取得した走行データを活用してサーバ２１と連携しながら電子制御装置２２に対して縮約したニューラルネットワークを更新する。図１３におけるニューラルネットワーク更新システム２は、図２で示したシステム構成と比べて、以下のように電子制御装置２２の構成が異なる。
【００７１】
本変形例では、記憶部２２０に重要データ２２０１がさらに保存される。重要データ２２０１は車両に搭載されるセンサが車両の周囲をセンシングして得られたデータのうち、後述の重要データ選定部２２２２によって抽出されたデータである。プログラム格納部２２２には重要データ選定部２２２２と、ＮＮ更新制御部２２２３と、重要データアップロード部２２２４とを実行するためのプログラムがさらに格納される。
【００７２】
重要データ選定部２２２２は車両において外界センシング等によって収集したデータの中から車両走行制御に関連し優先度が高いと判定するデータを選定する。選定方法は図３で説明したものが考えられる。また別の方法として、事故発生には至らなかったが、衝突回避のため急ブレーキが動作した状況に関するセンシングデータを重要データとして選定することが考えられる。それ以外にもドライバによる手動運転時や、ニューラルネットワークを使用しない自動運転ロジックや運転支援ロジックを実行している際、ニューラルネットワークによる推論処理をバックグラウンドで実行しておき、手動運転時の出力結果やニューラルネットワークを用いないロジックの出力結果と、ニューラルネットワークによる推論処理結果に乖離がある場合に、ニューラルネットワークへの入力データを重要データとして選定することが考えられる。
【００７３】
ＮＮ更新制御部２２２３は、サーバ２１で新たに生成されたニューラルネットワークを取得し、記憶部２２０に格納される縮約後ＮＮ２２００を更新する。重要データアップロード部２２２４は、重要データ選定部２２２２で選定されて、記憶部２２０にバッファリングされた重要データ２２０１を、ネットワーク２３を介してサーバ２１にアップロードする。
【００７４】
（変形例８）
上述した第１の実施の形態では、縮約処理において演算係数を削除する構成を説明した。しかしニューロン、すなわち演算ユニットを削除してもよい。演算ユニットを削除できるのは、その演算ユニットに接続される演算係数が全てゼロになった場合、またはその演算ユニットに接続される演算係数が全て削除された場合である。
【００７５】
―第２の実施の形態―
図１４〜図１５を参照して、ニューラルネットワーク更新システムの第２の実施の形態を説明する。以下の説明では、第１の実施の形態と同じ構成要素には同じ符号を付して相違点を主に説明する。特に説明しない点については、第１の実施の形態と同じである。本実施の形態では、主に、重み係数を間引く割合を決定する点で、第１の実施の形態と異なる。重み係数を間引く割合を本実施の形態では「縮約率」と呼ぶ。
【００７６】
図１４は、第２の実施の形態におけるニューラルネットワーク更新システム２の構成図である。図１４に示す構成は、図２に示した構成と比べて、サーバ２１のプログラム格納部２１１に縮約率補正部２１１６を実現するためのプログラムがさらに格納され、記憶部２０に縮約率補正テーブル２０４がさらに格納される。縮約率補正部２１１６は、係数特定部２１１０によって特定された演算ユニットや重み係数情報と縮約率補正テーブル２０４とを用いて、間引き部２１１３で用いられる縮約率を補正する。縮約率補正テーブル２０４は、縮約率の補正値を決定するために用いられる情報である。
【００７７】
図１５は、縮約率補正テーブル２０４の一例を示す図である。縮約率補正テーブル２０４は重要データに大きく関与する演算ユニット数１４０と縮約率１４１とを対応付けて管理するためのテーブルである。重要データ関連演算ユニット数１４０の欄には、重要データに大きく関与する演算ユニットの数が記述される。縮約率１４１の欄には、縮約時に使用される縮約率が記述される。縮約率とはニューラルネットワークの層単位で重み係数を間引く程度を表す割合情報である。たとえば縮約率の規定値が２０％に設定されている場合は、その層の重み係数を２０％間引くことになる。
【００７８】
縮約率１４１の例ではもともと設定されている縮約率に対して乗算や除算で補正することを想定して記述しているが、ビットシフト演算や加減算などの別の手段で設定するようにしても良い。また、縮約率を１０％、２０％のように絶対値で設定するようにしてもよい。縮約率補正テーブル２０４を使用する場合、たとえば、ニューラルネットワークの任意の層において、係数特定部２１１０によって特定された演算ユニットの数＝２５となった場合は、その層の縮約率は本テーブル情報を使って通常の縮約率から２で除算したものとなる。なお、本例では層単位での処理を記載しているが、層単位以外のニューラルネットワークにおける任意の処理単位であってもよい。
【００７９】
上述した各実施の形態および変形例は、それぞれ組み合わせてもよい。上記では、種々の実施の形態および変形例を説明したが、本発明はこれらの内容に限定されるものではない。本発明の技術的思想の範囲内で考えられるその他の態様も本発明の範囲内に含まれる。
【符号の説明】
【００８０】
１００  …  演算ユニット
２  …  ニューラルネットワーク更新システム
２０  …  記憶部
２１  …  サーバ
２２  …  電子制御装置
２３  …  ネットワーク
２００  …  縮約前ニューラルネットワーク
２０１  …  縮約後ニューラルネットワーク
２０２  …  重要データ
２０３  …  通常データ
２０４  …  縮約率補正テーブル
２１０  …  演算部
２２０  …  記憶部
２２１  …  演算部
２０００  …  第１の結合情報群
２０１０  …  第３の結合情報群
２１１０  …  係数特定部
２１１１  …  操作係数決定部
２１１２  …  係数群算出部
２１１３  …  間引き部
２１１４  …  ＮＮ実行制御部
２１１５  …  ＮＮ学習制御部
２１１６  …  縮約率補正部
２１２０  …  第２の結合情報群
２２００  …  縮約後ＮＮ
２２１０  …  ＣＰＵ
２２００１  …  ネットワーク構造情報
３０、３１  …  データセット管理テーブル
【図１】
2020042496.tif 000003
【図２】
2020042496.tif 000004
【図３】
2020042496.tif 000005
【図４】
2020042496.tif 000006
【図５】
2020042496.tif 000007
【図６】
2020042496.tif 000008
【図７】
2020042496.tif 000009
【図８】
2020042496.tif 000010
【図９】
2020042496.tif 000011
【図１０】
2020042496.tif 000012
【図１１】
2020042496.tif 000013
【図１２】
2020042496.tif 000014
【図１３】
2020042496.tif 000015
【図１４】
2020042496.tif 000016
【図１５】
2020042496.tif 000017