JP7099968B2 - 演算装置 - Google Patents

演算装置 Download PDF

Info

Publication number
JP7099968B2
JP7099968B2 JP2019016217A JP2019016217A JP7099968B2 JP 7099968 B2 JP7099968 B2 JP 7099968B2 JP 2019016217 A JP2019016217 A JP 2019016217A JP 2019016217 A JP2019016217 A JP 2019016217A JP 7099968 B2 JP7099968 B2 JP 7099968B2
Authority
JP
Japan
Prior art keywords
unit
reduction
contraction
neural network
dnn
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
JP2019016217A
Other languages
English (en)
Other versions
JP2020123269A (ja
Inventor
大智 村田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Astemo Ltd
Original Assignee
Hitachi 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 JP2019016217A priority Critical patent/JP7099968B2/ja
Priority to CN201980088624.4A priority patent/CN113366509A/zh
Priority to US17/420,823 priority patent/US20220092395A1/en
Priority to PCT/JP2019/040272 priority patent/WO2020158058A1/ja
Publication of JP2020123269A publication Critical patent/JP2020123269A/ja
Application granted granted Critical
Publication of JP7099968B2 publication Critical patent/JP7099968B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Neurology (AREA)
  • Image Analysis (AREA)

Description

本発明は、ニューラルネットワークを利用する演算装置に関する。
物体の認識や、行動の予測を自動的に行う技術として、DNN(Deep Neural Network)を用いた機械学習が知られている。DNNを自動運転車両へ適用する場合には、車載装置の演算能力を考慮してDNNの演算量を削減する必要が生じる。DNNの演算量を削減する技術としては、例えば、特許文献1が知られている。
特許文献1には、ニューラルネットワークの重み係数の閾値を変化させて、認識精度の大きな劣化が発生する直前の閾値を決定し、当該閾値より認識精度の絶対値が小さいニューロンをプルーニングし、DNNを縮約する技術が開示されている。
米国特許出願公開第2018/0096249号明細書
しかしながら、上記従来技術では、再学習と推論を繰り返すことでDNNの縮約(または最適化)を実施するため、自動運転車両用のDNNのように大規模なニューラルネットワークに適用した場合、探索対象の組み合わせが膨大となって、処理が完了するまでに膨大な時間を要する、という問題があった。
また、上記従来技術では、重み係数によってニューラルネットワークの縮約を実施しているため、適用先のアプリケーションに応じて縮約を実施することが難しい、という問題があった。
そこで本発明は、上記問題点に鑑みてなされたもので、縮約の際の演算量を削減して短時間で処理を完了させることを目的とする。
本発明は、 入力データと、重み係数を用いて演算を行うニューラルネットワークを有する演算装置であって、前記入力データによる前記ニューラルネットワークのニューロンの発火状態を算出するネットワーク解析部と、前記ニューロンの発火状態に基づいて、前記ニューラルネットワークの縮約率が設定された複数の縮約パターンから縮約パターンの候補を絞り込み、前記絞り込んだ縮約パターンの候補に基づいて前記ニューラルネットワークの縮約を実行して縮約後のニューラルネットワークを生成する縮約部と、前記縮約部で生成された前記縮約後のニューラルネットワークに推論を実行して推論誤差を算出し、前記複数の縮約パターンの中から前記推論誤差に基づいて縮約パターンを抽出する最適化エンジン部と、を有し、前記最適化エンジン部は、前記推論誤差が最小となる縮約パターンを抽出する
したがって、本発明は、ニューロンの発火状態に基づいて縮約を実行できるため、縮約の際の演算量を削減して短時間で縮約処理を完了させることが可能となる。また、適用先のアプリケーション(または装置)に応じたニューラルネットワーク(DNN)を生成することが可能となる。
本明細書において開示される主題の、少なくとも一つの実施の詳細は、添付されている図面と以下の記述の中で述べられる。開示される主題のその他の特徴、態様、効果は、以下の開示、図面、請求項により明らかにされる。
本発明の実施例1を示し、DNN縮約自動化装置の一例を示すブロック図である。 本発明の実施例1を示し、DNN縮約自動化装置で行われる処理の一例を示す図である。 本発明の実施例1を示し、縮約パターンと縮約率と認識精度への感度の関係を示す図である。 本発明の実施例1を示し、設計期間と縮約率の関係を示すグラフである。 本発明の実施例2を示し、DNN縮約自動化装置を車両に搭載する例を示す車両制御システムのブロック図である。 本発明の実施例3を示し、DNN縮約自動化装置で行われる処理の一例を示す図である。 本発明の実施例4を示し、DNN縮約自動化装置で行われる処理の一例を示す図である。
以下、本発明の実施形態を添付図面に基づいて説明する。
図1は、本発明の実施例1を示し、DNN(Deep Neural Network)縮約自動化装置1の一例を示すブロック図である。
DNN縮約自動化装置1は、縮約(または最適化)対象のDNN100と、DNN100へ入力するデータセット200を格納するストレージ90と、中間データなどを保持するメモリ10と、ネットワーク解析部20と、縮約部30と、再学習部40と、最適化エンジン部50と、縮約率補正部60と、精度判定部70と、ネットワーク解析部20~精度判定部70の各機能部を制御するスケジューラ80と、各部を接続するインターコネクト6を含む演算装置である。なお、インターコネクト6としては、例えば、AXi(Advanced eXtensible Interface)を採用することができる。
また、メモリ10、ネットワーク解析部20~精度判定部70はスレーブとして機能し、スケジューラ80は、上記スレーブを制御するマスタとして機能する。
本実施例1のDNN縮約自動化装置1は、ネットワーク解析部20~精度判定部70の各機能部及びスケジューラ80がハードウェアで実装される。DNN縮約自動化装置1は、例えば、計算機の拡張スロットに装着されてデータの授受を行うことができる。なお、ハードウェアとしては、ASIC(Application Specific Integrated Circuit)等を採用することができる。
また、本実施例1では、ハードウェアで各機能部を構成する例を示すが、これに限定されるものではなない。例えば、ネットワーク解析部20~スケジューラ80の一部又は全てをソフトウェアで実装することも可能である。また、以下の説明では、DNNの各層をニューラルネットワークとして説明する。
ストレージ90に格納される縮約前のDNN100は、ニューラルネットワークと重み係数及びバイアスを含む。また、データセット200は、DNN100の適用先のアプリケーション(または装置)に応じたデータで、正解付きのデータと、ニューラルネットワークの発火(活性化)状態を検出するためのデータが含まれる。縮約済みのDNN300は、ネットワーク解析部20~精度判定部70で縮約処理を実行した結果である。
スケジューラ80は、縮約前のDNN100とデータセット200を受け付けると、予め設定された順序で上記各機能部を制御してニューラルネットワーク(ニューロン)の縮約処理を実行し、縮約済みのDNN300を生成させる。
本実施例1のDNN縮約自動化装置1では、入力された縮約前のDNN100と適用先のアプリケーションに応じたデータセット200から、最適な縮約率を自動的に算出し、縮約済みのDNN300の縮約に要する設計期間の短縮を実現する。
本実施例1では、縮約率を、縮約済みのDNN300の演算量/縮約前のDNN100の演算量で表す。ただし、演算量は、単位時間当たりの処理量数(Operation per second)を用いることができる。なお、縮約率としては、上記の他に、縮約済みのDNN300のニューロン数/縮約前のDNN100のニューロン数で表すことができ、あるいは、縮約済みのDNN300のノード数/縮約前のDNN100のノード数で表すことができる。
以下、DNN縮約自動化装置1で行われる処理の概要を説明した後に、各機能部の詳細について説明する。
<処理の概要>
まず、スケジューラ80は、縮約前のDNN100をネットワーク解析部20へ入力する。スケジューラ80は、データセット200から適用先アプリケーションに応じたデータをネットワーク解析部20へ入力して、DNN100の特徴量を算出させる。
ネットワーク解析部20では、データセット200のデータをDNN100へ入力し、ニューラルネットワークのニューロンの発火状態から特徴量を算出する。そして、スケジューラ80は、ネットワーク解析部20で算出された特徴量を縮約部30へ入力して、有望な縮約率の組合せ候補について絞り込みを実施させる。
縮約部30では、特徴量からニューラルネットワークの認識精度への感度を算出し、感度が低い部分については縮約率を高く設定し、感度が高い部分については縮約率を低く設定する。
縮約部30は、DNN100の各層のニューラルネットワークについて上記縮約率を設定し、縮約率の組合せ候補を複数生成し、これらの候補の中から縮約率と認識精度(への感度)の条件を満たす候補を絞り込む。なお、以下の説明では、縮約率の組合せ候補を縮約パターンとする。そして、縮約部30は、絞り込んだ縮約パターンについてDNN100の縮約を実行し、縮約後のDNNの候補(DNN候補110)として出力する。
スケジューラ80は、縮約部30が縮約を実行中に、再学習部40によってDNNの再学習を反復的に実行させる。再学習部40は、再学習によって縮約に対して頑健なDNN候補110を構築する。次に、スケジューラ80は、縮約部30から出力された縮約後のDNN候補110と、DNN100を最適化エンジン部50へ入力して、最適化を実施させる。
最適化エンジン部50は、縮約後のDNN候補110に対して縮約率の最適化や、縮約方法の選択などを実施し、縮約に必要なパラメータ(例えば、重み係数など)の補正値を決定する。最適化エンジン部50は、例えば、縮約後のDNN候補110の推論誤差からベイズ推論に基づく最適化アルゴリズムを用いて、最適な縮約パターンやパラメータを推定し、ニューラルネットワーク毎の縮約率の補正値を決定する。
最適化エンジン部50は、算出された縮約パターンやパラメータを縮約率補正部60へ出力する。縮約率補正部60では、縮約後のDNN候補110に上記縮約率とパラメータを適用して縮約率を補正し、縮約後のDNN候補110を構築する。スケジューラ80は、縮約率補正部60で構築された縮約後のDNN候補110を精度判定部70へ入力し、推論を実行させる。
精度判定部70は、データセット200から正解付きデータを取得して、縮約後のDNN候補110へ入力して推論を実施する。精度判定部70は、推論の結果と正解から縮約後のDNN候補110の推論誤差(または推論精度)を判定し、推論誤差が所定の閾値th未満となるまで上記処理を繰り返す。なお、推論誤差は、例えば、DNN候補110の推論結果の正解率の逆数に基づく統計値(平均値など)を用いればよい。
そして、精度判定部70は、縮約部30で絞り込まれた縮約パターンのうち、推論誤差が所定の閾値th未満のDNN候補110を、最適化が完了した縮約済みのDNN300として出力する。
以上のように、DNN縮約自動化装置1は、ネットワーク解析部20によるDNN100の解析(1)と、縮約部30による複数の縮約率の組み合わせ(縮約パターン)の候補の絞り込み及び縮約の実行(2)と、再学習部40による縮約対象のDNNの再学習(3)と、最適化エンジン部50によるパラメータの最適化及び縮約率補正部60での縮約後のDNN候補110の再構築(4)と、精度判定部70による縮約後のDNN候補110の推論誤差の判定(5)を実施し、複数の縮約パターンの中から推論誤差が閾値th未満のDNN300を自動的に出力することができる。
DNN縮約自動化装置1は、縮約前のDNN100を解析して、上記(1)~(5)の処理を推論誤差が所定の閾値th未満となるまで繰り返すことで、複数の縮約パターンの中から縮約率と推論精度(認識精度)に優れた縮約済みのDNN300を、DNN300の適用先のアプリケーション(または装置)に応じて自動的に生成することが可能となる。
DNN縮約自動化装置1は、DNN300の適用先のアプリケーションに応じたデータセットで、縮約前のDNN100のニューラルネットワークを解析して、特徴量(発火状態)を算出しておくことで、有望な縮約率の組み合わせを絞り込んでから探索することが可能となり、縮約の際の演算量を削減して短時間で処理を完了させることが可能となる。
さらに、DNN縮約自動化装置1は、縮約パターンの候補の絞り込みに加えて、ベイズ推論による確率的探索を組み合わせることで、閾値thを満足する範囲内で認識精度の低下を最小とする縮約済みのDNN300を出力することができる。
<機能部の詳細>
まず、ネットワーク解析部20は、縮約による認識精度への感度を解析し、縮約前のDNN100のニューラルネットワーク毎に特徴量を算出する。ネットワーク解析部20は、縮約済みのDNN300の適用先のアプリケーションに応じた複数のデータをデータセット200から読み込んで、縮約前のDNN100へ順次入力し、DNN100のニューラルネットワーク毎に発火状態を推定(数値化)して特徴量とする。
また、ネットワーク解析部20は、ニューラルネットワークのニューロンの発火状態をヒートマップとして算出し、このヒートマップを特徴量としてもよい。また、ネットワーク解析部20が算出する特徴量は、ニューラルネットワーク毎に限定されるものではなく、例えば、ニューロン毎に算出してもよい。
各ニューロンの発火状態を推定して数値化する技術としては、公知または周知の技術を適用することができ、例えば、国際公開第2011/007569号に開示される技術を適用すればよい。
本実施例1では、適用先のデータの特徴に応じて発火するニューロンと、発火しないニューロンの分布が異なる点に着目し、DNN300の適用先のアプリケーションに応じたデータセット200によるニューロンの発火状態を特徴量とする。なお、特徴量は、複数のデータをDNN100へ順次入力した場合の統計値としてもよい。また、特徴量は、縮約済みDNN300の適用先に特有の特徴を包含した解析結果として出力される。
ネットワーク解析部20は、入力されたデータに対して頻繁に発火するニューロン(またはニューラルネットワーク)を認識精度への感度が大きいと判定することができ、逆に、発火する頻度の低いニューロン(またはニューラルネットワーク)を認識精度への感度が低いと判定することができる。
縮約部30は、ネットワーク解析部20から、ニューラルネットワーク(またはニューロン)の発火状態に基づく特徴量を受け付けて、縮約率の組み合わせ(縮約パターン)の候補を絞り込んで、縮約を実行する。縮約部30は、ニューラルネットワーク毎の特徴量に基づいて、複数の縮約パターンの候補から絞り込みを実施し、絞り込んだ複数の縮約パターンについて縮約を実行し、縮約後のDNN候補110を生成する。
図3は、縮約パターンと縮約率と認識精度への感度の関係を示す図である。図3の例では、DNN100をn層のニューラルネットワークで構成し、各層毎に縮約率を設定する例を示す。図示の例では、1層目が入力層、2層目~n-1層目が隠れ層(中間層)、n層目が出力層となる。
本実施例1において、1つの縮約パターンは、各層の縮約率をそれそれ有する。換言すれば、縮約パターンは、各層毎の縮約率の組み合わせで構成される。
縮約パターン1~3は、各層(ニューラルネットワーク)毎に縮約率が異なる組み合わせで設定される。縮約パターンは、予め設定されたパターンを使用してもよいし、予め設定された縮約率の組み合わせから縮約部30が生成してもよい。また、縮約パターンの数は、3つに限定されるものではなく、DNN100の規模に応じて適宜変更することができる。
縮約部30は、上述したように、DNN300の適用先に対応するデータの認識精度に対する感度が高いニューラルネットワークについては、縮約率を低く設定する。これにより、上記感度が高い領域では、ニューロンの数が必要以上に減少して認識(推定)精度が低下するのを抑制する。
一方、DNN300の適用先に対応するデータの認識精度に対する感度が低いニューラルネットワークについては、縮約率を高く設定する。これにより、感度が低い領域では、ニューロンの数を大幅に削減しても認識精度が低下するのを抑制でき、かつ、演算量も削減できる。
感度と縮約率の関係は、例えば、認識精度に対する感度が70%のニューラルネットワークの縮約率を30%とし、認識精度に対する感度が30%のニューラルネットワークの縮約率を70%とする。
縮約率を増大させていくと、削減可能なニューロンが連鎖的に増大するため、演算量を大幅に削減することが可能となる。一方で、認識精度に対する感度に関わらず縮約率を増大させると、認識精度が低下(推定誤差の拡大)するという問題が発生するが、本実施例1のように、ニューラルネットワークの特徴量を認識精度に対する感度と関連させることで、縮約率と認識精度の最適解を探索することが可能となる。
なお、上記ではニューラルネットワーク毎に縮約率を設定する例を示したが、これに限定されるものではない。例えば、各層毎の縮約率を維持しながら、ニューラルネットワーク内のニューロンの特徴量に応じて、縮約すべきニューロンと維持すべきニューロンを分類するようにしてもよい。
このように、縮約部30は、特徴量に基づいてニューラルネットワーク毎の縮約率を決定することで、ニューロンの数を大幅に削減してから縮約パターンの最適化などの演算を行うことが可能となって、演算時間を短縮することが可能となる。
次に、縮約部30は、複数の縮約パターンから絞り込みを実行して、縮約処理の演算時間を現実的な値とする。絞り込みの例としては、DNN全体の縮約率と認識精度への感度の降順で上位から所定順位までの縮約パターンに絞り込む。あるいは、縮約率が所定値以上の縮約パターンに絞り込む等、絞り込みについては、公知または周知の技術を適用すればよい。
縮約部30は、絞り込みを行った複数の縮約パターンについて、縮約を実施して縮約後のDNN候補110として出力する。
再学習部40は、上述したように、縮約部30で縮約中のDNNに対してデータセット200による再学習を実施する。これにより、汎化性能の高い(=縮約に対して頑健な)DNNを構築することができる。
再学習部40は、縮約中のDNNと当該DNNのパラメタ(重み係数)の最適解の候補を入力として受け付けて、受け付けたDNNおよびパラメータを初期値として、再び学習を行うことでDNNを再構築する。再構築された結果は、再学習済みのニューラルネットワーク及び再学習済みの重み係数として出力される。
最適化エンジン部50は、縮約部30から出力された複数のDNN候補110について、データセット200による推論を実施して推論誤差を算出し、推論誤差に基づいて最適な縮約率の組み合わせ(縮約パターン)を推定する。すなわち、最適化エンジン部50は、ベイズ推論に基づく確率論的探索を実施して、ニューロン毎に適切な縮約率を確率的に決定する。そして、最適化エンジン部50は、決定された縮約率の組み合わせ(縮約パターン)を縮約率補正部60へ出力する。
最適化エンジン部50は、縮約部30から出力された、複数のDNN候補110に対応する縮約パターンの中から推論誤差が最小となる縮約パターンを算出する。
また、最適化エンジン部50は、縮約部30から、複数のDNN候補110および再学習済みの重み係数を入力として受け付けて、ベイズ推論に基づく確率論的探索を用いて、縮約パターンを推定してもよい。
縮約率補正部60は、最適化エンジン部50から受け付けた縮約率で縮約後のDNN候補110の縮約率を補正して再構築する。
精度判定部70は、DNN候補110へ正解付きデータを入力して推論を実施し、推論の結果と正解から縮約後のDNN候補110の推論誤差が所定の閾値th未満であれば、縮約が完了した縮約済みDNN300として出力する。
一方、精度判定部70は、推論誤差が所定の閾値th以上の場合には、スケジューラ80へ処理の繰り返しを通知する。スケジューラ80は、精度判定部70から処理の繰り返しの通知を受け付けると、縮約部30に処理の繰り返しを実行させる。
以上のように、DNN縮約自動化装置1は、ネットワーク解析部20がニューロンの発火状態に基づいて特徴量を算出し、縮約部30が有望な縮約パターンに絞り込んでから縮約を実行してDNN候補110を複数出力し、再学習部40が縮約対象のDNN候補110の再学習を実施し、最適化エンジン部50が、推論の誤差に基づいて適正な縮約率を算出し、縮約率補正部60が適正な縮約率でDNN候補110を再構築し、精度判定部70が縮約後のDNN候補110の推論誤差の判定を実施し、複数の縮約パターン(DNN候補110)の中から推論誤差が閾値th未満のDNN300を自動的に出力することができる。
DNN縮約自動化装置1は、DNN300の適用先のアプリケーション(または装置)に応じたデータセット200で発火状態に基づく特徴量を算出することで、縮約率と認識精度に優れた縮約パターンに絞り込むことが可能となって、縮約の際の演算量を削減して短時間で縮約処理を完了させることが可能となる。また、DNN縮約自動化装置1は、DNN100の縮約処理に、人手を必要としないため、DNN100の縮約にかかる労力を大幅に削減することが可能となる。
また、本実施例1のDNN縮約自動化装置1は、適用先のアプリケーションに応じたデータセット200でニューロンの発火状態を推定するので、縮約済みDNN300の適用先の環境に応じたDNNを生成することが可能となる。
図4は、DNN100の縮約に要する設計期間と縮約率の関係を示すグラフである。図示のグラフは、横軸を縮約率とし、縦軸を縮約の設計期間とする。
図中実線は、本実施例1のDNN縮約自動化装置1で大規模なDNN100を縮約した場合の縮約率と設計期間(処理時間)の関係を示す。図中破線は、大規模なDNN100を人手によって縮約を実施した例を示す。
本実施例1のDNN縮約自動化装置1では、人手によって7.8日を要していた縮約率=70%の縮約を、約1/10の≒10時間で完了することができる。さらに、本実施例1のDNN縮約自動化装置1では、ネットワーク解析部20による有望な縮約率の組み合わせ(縮約パターン)を絞り込むことにより、縮約の設計期間を大幅に短縮し、かつ、認識精度を向上させることが可能となる。
図5は、本発明の実施例2を示し、DNN縮約自動化装置を車両に搭載する例を示す車両制御システムのブロック図である。本実施例2では、前記実施例1に示したDNN縮約自動化装置1を、自動運転が可能な車両(エッジ)3とデータセンタ(クラウド)4にそれぞれ配置して、自動運転を行う車両3の走行環境に応じてDNN100Bの縮約を最適化する例を示す。
データセンタ4は、DNN縮約自動化装置1Aと、大規模なDNN100Aに学習を行う学習装置5を含み、DNN100Aの大幅なアップデートを実行する。データセンタ4は、無線ネットワーク(図示省略)を介して車両3と接続される。
学習装置5は、車両3から走行環境や走行状態に関する情報を取得する。学習装置5は、車両3から取得した情報でDNN100Aの学習を実行する。学習装置5は、学習が完了したDNN100Aを縮約前のDNNとしてDNN縮約自動化装置1Aに入力する。
DNN縮約自動化装置1Aは、前記実施例1と同様に構成され、縮約済みDNNを出力する。データセンタ4は、DNN縮約自動化装置1Aから出力されたDNNを、所定のタイミングで車両3へ送信し、アップデートを依頼する。
車両3は、カメラ210と、LiDAR(Light Detection And Ranging)220と、レーダ230のセンサ類と、センサからのデータを組み合わせるフュージョン240と、カメラ210とフュージョン240からの情報に基づいて自動運転を実行する自動運転ECU(Electronic Control Unit)2を有する。なお、カメラ210とフュージョン240で収集した情報は、無線ネットワークを介してデータセンタ4へ送信される。
自動運転ECU2は、運転シーン識別部120と、DNN縮約自動化装置(エッジ)1Aと、DNN100Bと、推論回路700を含む。
運転シーン識別部120は、カメラ210からの画像と、フュージョン240からのセンサデータに基づいて車両3の走行環境を検出し、走行環境が変化した場合には、DNN100Bの補正をDNN縮約自動化装置1Bに指令する。運転シーン識別部120が検出する走行環境としては、例えば、一般道や高速道路などの道路種別や、時間帯や、天候等が含まれる。
運転シーン識別部120がDNN縮約自動化装置1Bへ指令するDNN100Bの補正の内容としては、例えば、縮約の条件や、縮約の方法であり、これらの補正内容が走行環境に応じて予め設定される。
DNN縮約自動化装置1Bは、指令された補正内容でDNN100Bを縮約して、縮約後のDNNを推論回路700に出力する。推論回路700は、縮約後のDNNを用いて、センサデータやカメラ210の画像データから所定の認識処理を実行し、制御系(図示省略)へ出力する。なお、制御系とは、駆動力制御装置や操舵装置や制動装置やナビゲーション装置を含む。
データセンタ4では、車両3から収集したセンサデータで大規模なDNN100Aの学習処理を行い、DNN縮約自動化装置1Aは、学習済みのDNN100Aに集約処理を行ってアップデートを行う。アップデートの内容は、例えば、認識対象の追加や、誤認識の低減などが含まれ、DNN100Aの認識精度を向上させる。
車両3では、運転シーン識別部120が、走行環境の変化を検出すると、DNN縮約自動化装置1BがDNN100Bの補正を実行することで、走行環境に適応した認識精度を確保することが可能となる。
また、車両3では、データセンタ4からアップデートが行われたDNNを受信して、DNN100Bを更新することで、最新のDNNで自動運転を実現することが可能となる。
図6は、本発明の実施例3を示し、DNN縮約自動化装置で行われる処理の一例を示す図である。本実施例3では、前記実施例1に示したDNN縮約自動化装置1の特徴量の算出方法と、縮約方法を複数有する例を示す。なお、その他の構成は、前記実施例1のDNN縮約自動化装置1と同様である。
ネットワーク解析部20は、SmoothGrad21と、発火状態抽出22と、重み係数解析23と、解析結果マージ24を含む。
SmoothGrad21は、DNN100が物体を認識する際に、ニューラルネットワークは注視する入力画像の領域を出力する。発火状態抽出22は、データの認識の際にニューラルネットワークのニューロンがゼロか非ゼロかを出力する。重み係数解析23は、DNN100のニューロンの結合の強さ(重み)を解析し、結合の弱い部分を縮約の対象とすることができる。
解析結果マージ24は、SmoothGrad21と、発火状態抽出22と、重み係数解析23の結果を統合し、ニューラルネットワークの特徴量を算出する。
縮約部30は、プルーニング31と、Low rank(低ランク)近似32と、Weight Sharing(重み共有)33と、低ビット化34を含む。
プルーニング31と、Low rank近似32では、不要または影響の少ないニューロンを削減して、縮約を実行する。Weight Sharing33では、複数のニューロンの結合で重み係数を共有することでデータ量を削減する。低ビット化34では、演算で使用するビット幅を制限することで演算負荷を削減する。ただし、ビット幅の制限は、推論誤差が許容される範囲内とする。
縮約部30は、上記4つの縮約方法のいずれか、あるいは複数の縮約方法の組み合わせで縮約を実行する。いずれの縮約方法を適用するかは、スケジューラ80が指令してもよい。
また、再学習部40の一例としては、BC(Between-class) learning41を適用することで、縮約した後にも認識精度を確保可能なDNNを生成することができる。
ネットワーク解析部20と、縮約部30及び再学習部40は、上記のような構成要素を利用することで、縮約率と認識精度に優れたDNNを生成することができる。例えば、前記実施例2のように、エッジデバイス(自動運転ECU2)のように、走行環境に応じてDNNの補正を行う場合には、縮約部30の縮約方法を上記のプルーニング31~低ビット化34から選択するようにしてもよい。
また、縮約部30は、縮約手法が異なる複数の縮約実行部として、プルーニング31と、Low rank(低ランク)近似32と、Weight Sharing(重み共有)33と、低ビット化34を例示したが、これらに限定されるものではない。縮約済み胃DNN300の適用先に応じた縮約手法を適宜採用すればよい。
図7は、本発明の実施例4を示し、DNN縮約自動化装置1で行われる処理の一例を示す図である。本実施例4では、前記実施例3に示したDNN縮約自動化装置1の縮約部30で、プルーニング31と、Low rank近似32で、縮約情報を共有させる。
プルーニング31で縮約するニューロンと、Low rank近似32で縮約する行列を連携させることで、不要な演算を削減して処理の高速化を図ることができ、縮約部30における演算量を削減して、DNN縮約自動化装置1の縮約にかかる時間を短縮することができる。
<まとめ>
以上のように、上記実施例1~4のDNN縮約自動化装置1は、以下のような構成とすることができる。
(1).入力データ(データセット200)と、重み係数を用いて演算を行うニューラルネットワーク(DNN100)を有する演算装置(DNN縮約自動化装置1)であって、前記入力データ(200)による前記ニューラルネットワーク(DNN100)のニューロンの発火状態を算出するネットワーク解析部(20)と、前記ニューロンの発火状態に基づいて、前記ニューラルネットワーク(100)の縮約率が設定された複数の縮約パターンから縮約パターンの候補を絞り込み、前記絞り込んだ縮約パターンの候補に基づいて前記ニューラルネットワーク(100)の縮約を実行して縮約後のニューラルネットワーク(110)を生成する縮約部30と、を有する。
ネットワーク解析部20は、適用先の特徴に応じて発火するニューロンと、発火しないニューロンの分布が異なる点に着目し、DNN300の適用先のアプリケーションに応じたデータセット200によるニューロンの発火状態を特徴量とする。そして、ネットワーク解析部20は、ニューラルネットワーク(DNN100)の特徴量を認識精度に対する感度と関連させることで、縮約率と認識精度の最適解を探索することが可能となる。
縮約部30は、特徴量に基づいてニューラルネットワーク毎の縮約率を決定することで、ニューロンの数を大幅に削減してから縮約パターンの最適化などの演算を行うことが可能となって、縮約に要する演算時間を短縮することが可能となる。
(2).上記(1)に記載の演算装置であって、前記縮約部(30)で生成された前記縮約後のニューラルネットワーク(110)に推論を実行して推論誤差を算出し、前記複数の縮約パターンの中から前記推論誤差に基づいて縮約パターンを抽出する最適化エンジン部を(50)さらに有する。
上記構成により、DNN縮約自動化装置1は、最適化エンジン部50では、縮約後のDNN候補110の推論誤差を縮約率(縮約パターン)にフィードバックすることで、認識精度の高い縮約済みDNN300を生成することができる。
(3).上記(2)に記載の演算装置であって、前記最適化エンジン部(50)は、前記推論誤差が最小となる縮約パターンを抽出する。
上記構成により、DNN縮約自動化装置1は、推論誤差が最小となる縮約パターンによって、認識精度の高い縮約済みDNN300を生成することができる。
(4).上記(1)に記載の演算装置であって、前記縮約部(30)で生成された前記縮約後のニューラルネットワーク(110)に対して、前記入力データ(200)によって再度学習を実施する再学習部(40)を、さらに有する。
上記構成により、汎化性能の高い(縮約に対して頑健な)DNNを構築することができる
(5).上記(2)に記載の演算装置であって、前記縮約部(30)で生成された前記縮約後のニューラルネットワーク(110)に対して、前記入力データ(200)によって再度学習を実施する再学習部(40)を、さらに有し、前記ネットワーク解析部(20)と、前記縮約部(30)および前記最適化エンジン部(50)ならびに前記再学習部(40)の演算途中における中間データを一時的に格納するメモリ(10)と、前記ネットワーク解析部(20)と、前記縮約部(30)と、前記再学習部(40)と、前記最適化エンジン部(50)および前記メモリ(10)をスレーブとし、前記スレーブを制御するマスタとしてのスケジューラ(80)と、前記マスタと前記スレーブを接続するインターコネクト(5)と、をさらに有する。
上記構成により、DNN縮約自動化装置1をハードウェアで構成することで、縮約処理の高速化を図ることが可能となる。
(6).上記(1)に記載の演算装置であって、前記ネットワーク解析部(20)は、前記ニューラルネットワーク(100)と、前記縮約後のニューラルネットワーク(300)の適用先に応じた入力データ(200)を受け付け、前記ニューラルネットワーク(100)の各ニューロンの発火状態を推定して数値化した特徴量を算出し、当該特徴量を前記適用先に特有の特徴を包含した解析結果として出力する。
縮約済みDNN300の適用先に応じたデータセット200によるニューロンの発火状態に基づく特徴量を解析結果とすることで、適用先のアプリケーションに最適な縮約率の組み合わせを提供することが可能となる。
(7).上記(6)に記載の演算装置であって、前記縮約部(30)は、前記ネットワーク解析部(20)の解析結果を受け付け、前記解析結果において数値化された特徴量に基づいてニューラルネットワーク(100)の縮約を実行し、前記縮約後のニューラルネットワーク(110)および前記重み係数の最適解候補を複数出力する。
上記構成によって、DNN縮約自動化装置1は、特徴量を算出しておくことで、縮約率と認識精度に優れた縮約パターンに絞り込むことが可能となって、縮約の際の演算量を削減して短時間で縮約処理を完了させることが可能となる。また、DNN縮約自動化装置1は、DNN100の縮約処理に、人手を必要としないため、DNN100の縮約にかかる労力を大幅に削減することが可能となる。
(8).上記(1)に記載の演算装置であって、前記縮約部(30)は、縮約手法が異なる複数の縮約実行部(プルーニング31、低ランク近似32、重み共有33、低ビット化34)を有し、前記ニューラルネットワーク(300)の適用先に応じて前記縮約実行部(31)~34を切り替える。
上記構成によって、縮約部30は、縮約済みDNN300の適用先に応じた縮約の手法を選択することが可能となって、処理時間の削減と、認識精度の向上を図ることができる。
(9).上記(7)に記載の演算装置であって、前記縮約部(30)が出力する縮約後のニューラルネットワーク(110)に対して、前記入力データ(200)によって再度学習を実施する再学習部(40)を、さらに有し、前記再学習部(40)は、前記ニューラルネットワーク(200)および前記重み係数の最適解候補を入力として受け付け、前記ニューラルネットワーク(200)および前記重み係数を初期値として、再び学習を行うことで、再学習済みのニューラルネットワーク(110)及び再学習済みの重み係数を出力する。
上記構成によって、再学習部40は、縮約した後にも認識精度を確保可能なDNN300を生成することができる。
(10).上記(9)に記載の演算装置であって、前記縮約部(30)で縮約を実行した縮約後のニューラルネットワーク(110)に推論を実行して推論誤差を算出し、前記複数の縮約パターンの中から前記推論誤差に基づいて縮約パターンを抽出する最適化エンジン部(50)を、さらに有し、前記最適化エンジン部(50)は、複数の前記ニューラルネットワーク(110)および前記再学習済みの重み係数を入力として受け付けて、予め設定された確率論的探索を用いて、前記縮約パターンを算出する。
上記構成によって、最適化エンジン部50は、推論誤差を低減可能な縮約パターンを推定することが可能となる。
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に記載したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加、削除、又は置換のいずれもが、単独で、又は組み合わせても適用可能である。
また、上記の各構成、機能、処理部、及び処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、及び機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
1 DNN縮約自動化装置
4 データセンタ
5 インターコネクト
10 メモリ
20 ネットワーク解析部
30 縮約部
40 再学習部
50 最適化エンジン部
60 縮約率補正部
70 精度判定部
80 スケジューラ
90 ストレージ
100、300 DNN
200 データセット200

Claims (8)

  1. 入力データと、重み係数を用いて演算を行うニューラルネットワークを有する演算装置であって、
    前記入力データによる前記ニューラルネットワークのニューロンの発火状態を算出するネットワーク解析部と、
    前記ニューロンの発火状態に基づいて、前記ニューラルネットワークの縮約率が設定された複数の縮約パターンから縮約パターンの候補を絞り込み、前記絞り込んだ縮約パターンの候補に基づいて前記ニューラルネットワークの縮約を実行して縮約後のニューラルネットワークを生成する縮約部と、
    前記縮約部で生成された前記縮約後のニューラルネットワークに推論を実行して推論誤差を算出し、前記複数の縮約パターンの中から前記推論誤差に基づいて縮約パターンを抽出する最適化エンジン部と、
    を有し、
    前記最適化エンジン部は、
    前記推論誤差が最小となる縮約パターンを抽出することを特徴とする演算装置。
  2. 請求項1に記載の演算装置であって、
    前記縮約部で生成された前記縮約後のニューラルネットワークに対して、前記入力データによって再度学習を実施する再学習部を、さらに有することを特徴とする演算装置。
  3. 請求項1に記載の演算装置であって、
    前記縮約部で生成された前記縮約後のニューラルネットワークに対して、前記入力データによって再度学習を実施する再学習部を、さらに有し、
    前記ネットワーク解析部と、前記縮約部および前記最適化エンジン部ならびに前記再学習部の演算途中における中間データを一時的に格納するメモリと、
    前記ネットワーク解析部と、前記縮約部と、前記再学習部と、前記最適化エンジン部および前記メモリをスレーブとし、前記スレーブを制御するマスタとしてのスケジューラと、
    前記マスタと前記スレーブを接続するインターコネクトと、をさらに有することを特徴とする演算装置。
  4. 請求項1に記載の演算装置であって、
    前記ネットワーク解析部は、
    前記ニューラルネットワークと、前記縮約後のニューラルネットワークの適用先に応じた入力データとして受け付け、前記ニューラルネットワークの各ニューロンの発火状態を推定して数値化した特徴量を算出し、当該特徴量を前記適用先に特有の特徴を包含した解析結果として出力することを特徴とする演算装置。
  5. 請求項4に記載の演算装置であって、
    前記縮約部は、
    前記ネットワーク解析部の解析結果を受け付け、前記解析結果において数値化された特徴量に基づいてニューラルネットワークの縮約を実行し、前記縮約後のニューラルネットワークおよび前記重み係数の最適解候補を複数出力することを特徴とする演算装置。
  6. 請求項1に記載の演算装置であって、
    前記縮約部は、
    縮約手法が異なる複数の縮約実行部を有し、前記ニューラルネットワークの適用先に応じて前記縮約実行部を切り替えることを特徴とする演算装置。
  7. 請求項5に記載の演算装置であって、
    前記縮約部が出力する縮約後のニューラルネットワークに対して、前記入力データによって再度学習を実施する再学習部を、さらに有し、
    前記再学習部は、
    前記ニューラルネットワークおよび前記重み係数の最適解候補を入力として受け付け、前記ニューラルネットワークおよび前記重み係数を初期値として、再び学習を行うことで、再学習済みのニューラルネットワーク及び再学習済みの重み係数を出力することを特徴とする演算装置。
  8. 請求項7に記載の演算装置であって、
    前記縮約部で縮約を実行した縮約後のニューラルネットワークに推論を実行して推論誤差を算出し、前記複数の縮約パターンの中から前記推論誤差に基づいて縮約パターンを抽出する最適化エンジン部を、さらに有し、
    前記最適化エンジン部は、
    複数の前記ニューラルネットワークおよび前記再学習済みの重み係数を入力として受け付けて、予め設定された確率論的探索を用いて、前記縮約パターンを算出することを特徴とする演算装置。
JP2019016217A 2019-01-31 2019-01-31 演算装置 Active JP7099968B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2019016217A JP7099968B2 (ja) 2019-01-31 2019-01-31 演算装置
CN201980088624.4A CN113366509A (zh) 2019-01-31 2019-10-11 运算装置
US17/420,823 US20220092395A1 (en) 2019-01-31 2019-10-11 Computing device
PCT/JP2019/040272 WO2020158058A1 (ja) 2019-01-31 2019-10-11 演算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019016217A JP7099968B2 (ja) 2019-01-31 2019-01-31 演算装置

Publications (2)

Publication Number Publication Date
JP2020123269A JP2020123269A (ja) 2020-08-13
JP7099968B2 true JP7099968B2 (ja) 2022-07-12

Family

ID=71840539

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019016217A Active JP7099968B2 (ja) 2019-01-31 2019-01-31 演算装置

Country Status (4)

Country Link
US (1) US20220092395A1 (ja)
JP (1) JP7099968B2 (ja)
CN (1) CN113366509A (ja)
WO (1) WO2020158058A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220046324A (ko) * 2020-10-07 2022-04-14 삼성전자주식회사 인공 신경망을 이용한 추론을 위한 트레이닝 방법, 인공 신경망을 이용한 추론 방법, 및 추론 장치
JP2022077466A (ja) * 2020-11-11 2022-05-23 日立Astemo株式会社 情報処理装置およびニューラルネットワーク縮約方法
DE112021004853T5 (de) * 2020-11-16 2023-07-13 Hitachi Astemo, Ltd. Dnn-kontraktionsvorrichtung und bordrechenvorrichtung
JP2023063944A (ja) 2021-10-25 2023-05-10 富士通株式会社 機械学習プログラム、機械学習方法、及び、情報処理装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005346472A (ja) 2004-06-03 2005-12-15 Canon Inc 情報処理方法、情報処理装置、撮像装置
JP2019159693A (ja) 2018-03-12 2019-09-19 Kddi株式会社 情報処理装置、情報処理端末、及びプログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2877413B2 (ja) * 1990-02-06 1999-03-31 富士通株式会社 余剰ニューロン決定処理方式
US8700552B2 (en) * 2011-11-28 2014-04-15 Microsoft Corporation Exploiting sparseness in training deep neural networks
CN106503654A (zh) * 2016-10-24 2017-03-15 中国地质大学(武汉) 一种基于深度稀疏自编码网络的人脸情感识别方法
CN111860826A (zh) * 2016-11-17 2020-10-30 北京图森智途科技有限公司 一种低计算能力处理设备的图像数据处理方法及装置
EP3340129B1 (en) * 2016-12-21 2019-01-30 Axis AB Artificial neural network class-based pruning
CN108154232A (zh) * 2018-01-23 2018-06-12 厦门中控智慧信息技术有限公司 人工神经网络的剪枝方法、装置、设备及可读存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005346472A (ja) 2004-06-03 2005-12-15 Canon Inc 情報処理方法、情報処理装置、撮像装置
US20070244842A1 (en) 2004-06-03 2007-10-18 Mie Ishii Information Processing Method and Apparatus, and Image Pickup Device
JP2019159693A (ja) 2018-03-12 2019-09-19 Kddi株式会社 情報処理装置、情報処理端末、及びプログラム

Also Published As

Publication number Publication date
CN113366509A (zh) 2021-09-07
US20220092395A1 (en) 2022-03-24
WO2020158058A1 (ja) 2020-08-06
JP2020123269A (ja) 2020-08-13

Similar Documents

Publication Publication Date Title
JP7099968B2 (ja) 演算装置
US11661068B2 (en) Vehicle system for recognizing objects
KR102582194B1 (ko) 선택적 역전파
KR102570706B1 (ko) 분류를 위한 강제된 희소성
CN112771543A (zh) 通过包括实现成本作为目标来训练神经网络
KR20170140214A (ko) 신경망을 위한 훈련 기준으로서의 필터 특이성
WO2018084948A1 (en) Enhanced siamese trackers
CN111670415A (zh) 用于控制系统的预测控制器、车辆及方法
JP7366274B2 (ja) ニューラル・ネットワークのための適応的探索方法および装置
KR101876051B1 (ko) 기계 학습 시스템 및 그의 사용자 제어 패턴 학습 방법
US20100082126A1 (en) Control device, control program, and control method
JP7091209B2 (ja) 情報処理方法及び情報処理システム
US20210357782A1 (en) Methods and systems for support policy learning
US20220156508A1 (en) Method For Automatically Designing Efficient Hardware-Aware Neural Networks For Visual Recognition Using Knowledge Distillation
CN114162146B (zh) 行驶策略模型训练方法以及自动驾驶的控制方法
JP7059214B2 (ja) 演算装置
US20210319272A1 (en) Meta-learning neural architecture search via graph networks on search space lattices
CN110674920A (zh) 用于二元神经网络的概率性训练
US10902312B2 (en) Tracking axes during model conversion
KR20220081782A (ko) 뉴럴 네트워크를 이용하는 데이터 처리 방법, 데이터 처리 장치 및 이를 포함한 전자 장치
US11967141B2 (en) Neural architecture search for fusing multiple networks into one
US20220413496A1 (en) Predictive Modeling of Aircraft Dynamics
US20220284271A1 (en) Sparsity-based neural network mapping to computing units in a system-on-chip
CN112541568A (zh) 用于运行人工神经网络的方法、设备和计算机程序
JP6990636B2 (ja) 情報処理システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210309

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220405

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220426

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220630

R150 Certificate of patent or registration of utility model

Ref document number: 7099968

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150