JP2022077466A - 情報処理装置およびニューラルネットワーク縮約方法 - Google Patents

情報処理装置およびニューラルネットワーク縮約方法 Download PDF

Info

Publication number
JP2022077466A
JP2022077466A JP2020188356A JP2020188356A JP2022077466A JP 2022077466 A JP2022077466 A JP 2022077466A JP 2020188356 A JP2020188356 A JP 2020188356A JP 2020188356 A JP2020188356 A JP 2020188356A JP 2022077466 A JP2022077466 A JP 2022077466A
Authority
JP
Japan
Prior art keywords
subgraph
reduction
neural network
perturbation
contraction
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.)
Granted
Application number
JP2020188356A
Other languages
English (en)
Other versions
JP7538002B2 (ja
Inventor
大智 村田
Daichi Murata
晃 北山
Akira Kitayama
浩朗 伊藤
Hiroaki Ito
昌芳 黒田
Masayoshi Kuroda
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 JP2020188356A priority Critical patent/JP7538002B2/ja
Priority to PCT/JP2021/034898 priority patent/WO2022102255A1/ja
Priority to US18/035,868 priority patent/US20240070463A1/en
Publication of JP2022077466A publication Critical patent/JP2022077466A/ja
Application granted granted Critical
Publication of JP7538002B2 publication Critical patent/JP7538002B2/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
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/93Lidar systems specially adapted for specific applications for anti-collision purposes
    • G01S17/931Lidar systems specially adapted for specific applications for anti-collision purposes of land vehicles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/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
    • 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
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/48Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
    • G01S7/4802Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00 using analysis of echo signal for target characterisation; Target signature; Target cross-section

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Neurology (AREA)
  • Electromagnetism (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

Figure 2022077466000001
【課題】
ニューラルネットワークの部分グラフ単位で,適用する縮約アルゴリズムの最適化を実現する。
【解決手段】
本発明の好ましい一側面は,ニューラルネットワークを縮約するアルゴリズムを選定する情報処理装置であって,ニューラルネットワークを部分グラフに分割する部分グラフ分割部と,前記部分グラフのそれぞれに対して,複数の縮約手法から選択された一つを対応付けた縮約コンフィグを出力する最適化部と,を備える情報処理装置である。
【選択図】 図7

Description

本発明は,ニューラルネットワークの縮約に関する。
近年,車載ECU(Electronic Control Unit)にDNN(Deep Neural Network)を実装することで,高精度な物体認識や行動予測を用いたハイレベル自動運転の実現を目指す動きが加速している。
図1に示すように,DNNは多数のニューロンから構成される演算レイヤを1層以上、多段に接続することで実現される。N層目の演算レイヤでは,N-1層目から出力された値を入力とし,この入力値を重み係数で重みづけすることで得られた結果をN+1層目の入力へ出力する。このとき,重み係数をアプリケーションに応じて適切な値に設定すること(学習)で,高い汎化性能を得ることができる。
自動運転向けDNNの一例として,LiDAR(Light Detection and Ranging、Laser Imaging Detection and Ranging、「光検出と測距」ないし「レーザー画像検出と測距」)点群を用いて物体認識やセグメンテーションなどを実現する点群AI(Artificial Intelligence)がある。
特許分文献1には、DNNに代表されるニューラルネットワークの演算量を削減(縮約)するための方法について開示がある。
US 2018/046919 A1
図2に点群AIの構成例を示す。LiDAR点群にVoxel(体積要素)を割り当て,DNN等により疑似画像を生成する。疑似画像中の所定の物体の検出をCNN(Convolutional Neural Network)で行う。
点群AIを自動運転に適用するためには,高解像度なLiDARを用いることで点群AIを高性能化する必要がある。よって自動運転向け点群AIの実装には,車載プロセッサの演算性能と比較して膨大な演算量が必要である。例えば,点群AIの一種であるPointPIllarsを用いて自動運転における物体認識を実現するためには,65GOPs(Giga Operations)以上の演算量が必要である。一方で,車載ECUへ搭載可能なプロセッサの演算性能は数10TOPS(Tera Operation per Second)程度であり,PointPillarsを含む自動運転システム全体をリアルタイム実行するためには不十分である。
そこで,自動運転向け点群AIの演算量削減と高精度な推論精度維持を両立できる演算量削減(縮約)アルゴリズムが必要である。
特許文献1記載の技術では、DNNに代表されるニューラルネットワークの演算量を削減するため、Multi-iteration compression methodによりDNNの縮約を実現する。
図3は,発明者らが創作した図であり,DNN縮約フローにおいて,任意の単一の縮約アルゴリズムを縮約対象DNN全体に一律適用する例を示している。
学習データセット301と縮約前DNNモデル302に対して,例えば予め設定してある縮約条件から選択する等して初期縮約条件を決定する(S303)。縮約前DNNモデル302は,学習データセット301で学習済みとする。
次に,初期縮約条件に基づいたDNN中の縮約箇所および縮約率に基づいて,縮約前DNNモデル302を縮約する(S304)。
次に,縮約後のDNNモデルを学習データセット301で再学習し(S305),縮約前後のDNNモデルの出力の誤差を評価するなどして,縮約を終了するか判定する(S306)。縮約が終了した場合には,縮約後のDNNモデルを縮約DNNモデル307として記録する。
縮約を終了しない場合には,縮約箇所や縮約率の最適条件を探索し(S308),再度縮約を行う(S304)。
しかし、点群AIなどの複雑な構造を有するDNNでは,DNNを構成する部位(部分グラフ)ごとに最適な縮約アルゴリズムが異なる。そこで,DNNの演算量削減と推論精度維持を両立する高精度縮約を実現するためには,部分グラフ単位で最適な縮約アルゴリズムを選定し適用する必要がある。
よって,上記の構成では,ニューラルネットワークの部分グラフ単位で,適用する縮約アルゴリズムの最適化を実現できないという課題があった。
本発明の好ましい一側面は,ニューラルネットワークを縮約するアルゴリズムを選定する情報処理装置であって,ニューラルネットワークを部分グラフに分割する部分グラフ分割部と,前記部分グラフのそれぞれに対して,複数の縮約手法から選択された一つを対応付けた縮約コンフィグを出力する最適化部と,を備える情報処理装置である。
本発明の好ましい他の一側面は,ニューラルネットワークを部分グラフに分割する第1のステップ,前記部分グラフのそれぞれに対して,複数の縮約手法から選択された一つを対応付けて仮縮約する第2のステップ,を実行するニューラルネットワーク縮約方法である。
ニューラルネットワークの部分グラフ単位で,適用する縮約アルゴリズムの最適化を実現できる。
Deep Neural Network(DNN)の構造を示す概念図。 点群AIの構成例を示す概念図。 DNN縮約フロー図(比較例)。 DNN縮約フロー図(実施例)。 縮約アルゴリズム最適化部の処理模式図。 実施例の効果を示すグラフ図。 実施例1/基本構成1のブロック図。 実施例2/基本構成2(全体構成)のブロック図。 縮約コンフィグの例を示す表図。 実施例2/基本構成2(縮約アルゴリズム最適化部)処理フロー図。 実施例2/基本構成2(縮約アルゴリズム最適化部)構成図。 実施例2/基本構成2(部分グラフ分割部)処理フロー図。 部分グラフ分割の概念図。 実施例2/基本構成2(摂動計算部1)構成図。 実施例2/基本構成2(摂動計算部2)構成図。 実施例2/基本構成2(縮約部)構成図。 実施例3/応用構成1の全体構成図。 実施例4/応用構成2の全体構成図。 実施例5/応用構成3の全体構成図。
以下に実施例を図面を用いて説明する。ただし、本発明は以下に示す実施の形態の記載内容に限定して解釈されるものではない。本発明の思想ないし趣旨から逸脱しない範囲で、その具体的構成を変更し得ることは当業者であれば容易に理解される。
以下に説明する実施例の構成において、同一部分又は同様な機能を有する部分には同一の符号を異なる図面間で共通して用い、重複する説明は省略することがある。
同一あるいは同様な機能を有する要素が複数ある場合には、同一の符号に異なる添字を付して説明する場合がある。ただし、複数の要素を区別する必要がない場合には、添字を省略して説明する場合がある。
本明細書等における「第1」、「第2」、「第3」などの表記は、構成要素を識別するために付するものであり、必ずしも、数、順序、もしくはその内容を限定するものではない。また、構成要素の識別のための番号は文脈毎に用いられ、一つの文脈で用いた番号が、他の文脈で必ずしも同一の構成を示すとは限らない。また、ある番号で識別された構成要素が、他の番号で識別された構成要素の機能を兼ねることを妨げるものではない。
図面等において示す各構成の位置、大きさ、形状、範囲などは、発明の理解を容易にするため、実際の位置、大きさ、形状、範囲などを表していない場合がある。このため、本発明は、必ずしも、図面等に開示された位置、大きさ、形状、範囲などに限定されない。
本明細書で引用した刊行物、特許および特許出願は、そのまま本明細書の説明の一部を構成する。
本明細書において単数形で表される構成要素は、特段文脈で明らかに示されない限り、複数形を含むものとする。
図4に実施例の一例のフローを示す。図3の縮約フローに対して縮約アルゴリズム最適化の処理(S409)を備えている。
縮約アルゴリズム最適化(S409)では,まず縮約前DNNモデル402を複数の部分グラフに分割し,さらに部分グラフ単位で最適な縮約アルゴリズムを高効率に探索する。
学習データセット401と縮約前DNNモデル402に対して,例えば予め設定してある縮約条件から選択する等して,部分グラフごとに初期縮約条件を決定する(S403)。縮約前DNNモデル402は,学習データセット401で学習済みとする。
次に,初期縮約条件に基づいたDNN中の縮約箇所および縮約率に基づいて,縮約前DNNモデル402を部分グラフ毎に縮約する(S404)。
次に,縮約後のDNNモデルを学習データセット401で再学習し(S405),縮約前後のDNNモデルの出力の誤差を評価するなどして,縮約を終了するか判定する(S406)。縮約が終了した場合には,縮約後のDNNモデルを縮約DNNモデル407として記録する。
ここで,縮約により検出精度が低下するため,検出精度を回復させるために再学習を実行している。再学習を実行しない場合は,縮約AIの検出率が大幅に低下する可能性がある。再学習には,基本的には縮約前DNNモデルの学習に用いたものと同じデータセットを利用してよいが,適用シーンなどに応じてデータセットは柔軟に変更することが可能である。
縮約を終了しない場合には,縮約箇所や縮約率の最適条件を探索し(S408),再度縮約を行う(S404)。
図5に縮約アルゴリズム最適化(S409)の処理を模式的に示す。まず入力された最大部分グラフ数および縮約前DNNモデル402をもとに,部分グラフ分割箇所の初期値を決定する。最大部分グラフ数は,予め設定あるいは,ユーザがその都度指定してよい。分割箇所は予め定めたルールにより、例えばニューロン数ができるだけ均等になるよう分割する。
次に,分割された部分グラフごとに縮約アルゴリズムを適用し,縮約適用前後における各部分グラフの計算結果の誤差絶対値を摂動の大きさとして出力する。縮約アルゴリズムは,例えば予め準備された複数の中から選択する。部分グラフごとに異なる縮約アルゴリズムを選択可能である。
摂動計算結果はマージして総合的に評価する。次に,任意の最適化アルゴリズムを用いて,評価した摂動の大きさが小さくなるように各部分グラフへ適用する縮約アルゴリズムの組み合わせを変更する。この時,縮約アルゴリズムの組み合わせを任意回数変更したにもかかわらず,摂動の大きさが一定閾値未満に収束しない場合,縮約前DNNモデル402の部分グラフ分割箇所を変更し,再度縮約アルゴリズの組み合わせ最適化を行う。
図6に物体認識向け点群AIであるPointPillarsに本実施例を適用した場合の効果を示す。縮約前点群AI601のDNNモデル全体に,単一の縮約手法1b(Voxel数削減)を適用した場合,NG1のように検出率が大幅に低下した。また,DNNモデル全体に,単一の縮約手法2b(Low rank近似)を適用した場合,NG2のように処理時間は短縮されるものの検出率が低下した。
本実施例では,縮約前点群AI601のDNNモデルのうち部分グラフ1に縮約手法1a(Voxelあたり点群数削減)を適用し,部分グラフ2に縮約手法2a(プルーニング)を適用した。この結果,最適縮約点群AI602が得られた。
なお、矢印603は,部分グラフ1に対する縮約手法1aで得られる検出率および処理時間の限界値を示しており,矢印604は,部分グラフ2に対する縮約手法2aで得られる検出率および処理時間の限界値を示している。斜点線605はこれらの境界を示す。このように,部分グラフごとに適した縮約手法があることがわかる。
本実施例の,最適縮約点群AI602は,PointPillarsの縮約に起因した検出率低下を抑制しつつ,推論時間を50%削減することが可能である。なお本実施例は,点群AIのみならず画像処理CNN等他のAIにも適用可能である。
図7に実施例1の構成図を示す。まずメモリより読み出された縮約前DNN(A001)を入力として受け付け,部分グラフ分割部(A004)において縮約前DNNをn個の部分グラフへ分割する。次にn個の部分グラフおよびメモリから読み出された縮約コンフィグ(A002)を入力として受け付け,縮約部(A005)において部分グラフごとに縮約をそれぞれ適用する。縮約が適用された部分グラフは再結合され,縮約DNN(A003)としてメモリに格納される。最後にメモリから読み出された縮約DNN(A003)およびLiDAR点群を入力として受け付け,推論部(A006)においてDNNの推論を実行し,推論結果を出力する。
図8Aに実施例2の構成図を示す。まずメモリから読み出された縮約前DNN(B001)およびデータセット(B004)ならびに適用可能な縮約アルゴリズムが記載された縮約テーブル(B002)を縮約アルゴリズム最適化部(B006)に入力し,縮約前DNNに適用する縮約アルゴリズムを部分グラフ単位で最適化する。ここで各部分グラフと最適縮約アルゴリズムの対応関係は,縮約コンフィグ(B003)に書き出されメモリで保持される。なお,メモリに保持されたデータセット(B004)はセンサから取得されたLiDAR点群データにより適宜更新されるものとする。
次に,縮約コンフィグ(B003)およびデータセット(B004)ならびにn個の部分グラフを縮約部(B007)に入力することで,縮約DNN(B005)を生成しメモリへ格納する。最後に,縮約DNN(B005)およびLiDAR点群を推論部(B008)に入力し,推論結果を得る。本実施例により,走行シーンの変化などに応じたDNN縮約手法の動的な調整が可能である。
図8Aのシステム構成は,サーバのような一般的な情報処理装置で構成可能である。情報記憶装置は,処理装置,記憶装置,入力装置,出力装置を備える。本実施例では計算や制御等の機能は,記憶装置に格納されたプログラムが処理装置によって実行されることで、定められた処理を他のハードウェアと協働して実現される。計算機などが実行するプログラム、その機能、あるいはその機能を実現する手段を、「機能」、「手段」、「部」、「ユニット」、「モジュール」等と呼ぶ場合がある。
図8Aにおいて,説明のため上記サーバの当然持つ構成は省略し,データや機能ブロックの形で表示している。LiDAR点群データは,例えば入力装置から入力される。縮約前DNN(B001),データセット(B004),縮約テーブル(B002)は,例えば記憶装置(メモリ)の一部であるハードディスク装置等にデータベースとして格納されており、同じく記憶装置の一部である半導体メモリなどに適宜呼び出されて使用される。縮約アルゴリズム最適化部(B006),縮約部(B007)は,記憶装置にプログラムとして実装されており,処理装置によって実行され所定の機能を実現する。縮約コンフィグ(B003),縮約DNN(B005)には,処理結果が格納される。
推論部(B008)は,AIの処理を実行するためのデバイスであり,ニューラルネットワークを実装可能なモジュールとして市販されている。モジュールとして,例えばVersal(商標),Xavier(商標),NCS2(商品名)などが知られている。
以上のサーバの構成は、単体の装置で構成してもよいし、あるいは、入力装置、出力装置、処理装置、記憶装置の任意の部分が、ネットワークで接続された他のコンピュータで構成されてもよい。
本実施例中、ソフトウエアで構成した機能と同等の機能は、FPGA(Field Programmable Gate Array)、ASIC(Application Specific Integrated Circuit)などのハードウェアでも実現できる。
図8Bは,縮約テーブル(B002)の例を示す表図である。推論部(B008)に適用可能なデバイスとして登録されている,デバイス#1,#2,#3,#4に対して,各縮約手法との親和性が記録されている。親和性の値は1~0の範囲であり,1に近いものの親和性が高い。これらの情報は,公知情報あるいはユーザの知見により,予めデータベースとして登録しておく。
以下で図8Aの縮約アルゴリズム最適化部(B006)の構成および処理フローについて詳述する。図9に処理フローを,図10に装置構成を示す。
図9のフローを順次説明する。
S000:縮約前DNN,摂動計算部2(C006)から出力された部分グラフ摂動,部分グラフへの分割数上限である最大部分グラフ数,および最適化部(C007)から出力されたグラフ分割信号を部分グラフ分割部(C003)に入力し,縮約前DNNをn個の部分グラフに分割する。最大部分グラフ数は,予め設定するか,ユーザがその都度入力する。
S001:部分グラフ,縮約テーブル(B002)および最適化部(C007)より出力された部分グラフごとの縮約アルゴリズムを仮縮約部(C004)に入力し,各部分グラフに対応する縮約アルゴリズムを適用することで,仮縮約部分グラフを生成する。図8Bに示したように,縮約テーブル(B002)には,公知の縮約アルゴリズム、例えばプーリング,Row lank,Weight Sharing,量子化などが登録されているものとする。縮約アルゴリズムの選択は,例えば縮約テーブル(B002)において,実装用デバイスと親和性が高いものを優先的に選択する。
S002:縮約前DNN,データセット,仮縮約部分グラフを摂動計算部1(C005)および摂動計算部2(C006)に入力し,縮約前後における計算結果の摂動をそれぞれNN摂動および部分グラフ摂動として生成する。ここで部分グラフ摂動はログファイル(C008)としてメモリ上に記録される。
S003:NN摂動を最適化部(C007)に入力することで,NN摂動の値が小さくなるように縮約アルゴリズムの組み合わせを補正する。組み合わせの探索は例えば、縮約テーブルB002にて,親和性が高いアルゴリズムの組み合わせを網羅的に試行し,縮約アルゴリズム最適化のループ処理を行う。
S004:最適化部(C007)の試行において,所定のk回連続でNN摂動が任意閾値以上の場合,グラフ分割信号をenableとし,S000の処理に戻る。それ以外の場合は,S005に進む。
S005:所定の終了条件により最適化の終了を判定する。終了条件としては,NN摂動が所定の条件を満たす,処理の制限時間あるいは制限回数を超える,などがある。縮約アルゴリズムの最適化を継続する場合はS001に戻る。それ以外は処理を完了する。
次に,部分グラフ分割部(C003)について述べる。
図11Aに部分グラフ分割部の処理フローを示す。図9と合わせて説明する。
図11Bに分割される部分グラフの概念を示す。
部分グラフ分割部(C003)は,通常は待ち状態になっており,グラフ分割信号がenableになったとき起動する(S004)。AIの縮約処理開始直後は,部分グラフ摂動やグラフ分割信号が適用されないため,AIは分割されておらず(すなわち部分グラフ数n=1),AI全体に同じ縮約手法を適用する(S001)。適用する縮約手法は仮縮約部(C004)が,縮約テーブル(B002)を参照して最適なものを選択している。摂動計算部1(C005)は,AI全体に対して,縮約に起因した推論結果の摂動値を計算する(S002)。この時点では部分グラフ=縮約前DNNなので,摂動計算部2(C006)は,摂動計算部1(C005)と同じ摂動値を出力する。縮約アルゴリズムの組み合わせを補正し(S003),終了条件を満足する場合には,AIを分割する必要がないので縮約処理は終了する(S005)。縮約アルゴリズムの組み合わせを補正しても,NN摂動が所定回連続で閾値以上となる場合には,グラフ分割信号をenableにしてS012(S000)へ進む(S004)。
S012:縮約前DNN(図11Bのグラフ1101)をm分木の根に保存し,m分木の根を分割対象ノードに設定する。mの値は予め設定あるいはユーザが都度入力すればよい。この例ではm=2の固定値として説明する。図11Bの縮約前DNNはこの例では8層とする。
S013:分割対象ノードに格納されたグラフをm分割し,分割対象ノードの配下にあるm個の子ノードに保存する。図11Bの例では、グラフ1101がm=2分割され,グラフ1102とグラフ1103が子ノードとなる。分割の方法は、層単位でなるべく均等になるように分割しており,この例では,各4層のグラフが部分グラフとなる。この状態では,m分木の葉ノードm個(深さ1の葉ノード:m個)にそれぞれ分割後の部分グラフ1102と1103が格納される。
S014:仮縮約部(C004)は,分割後の部分グラフごとに縮約手法を適用し(S001),摂動計算部1(C005)がAI全体に対して,縮約に起因した推論結果の摂動値を計算する(S002)。縮約アルゴリズムを補正して(S003)も尚,縮約によるNN摂動が閾値より大きい場合は、グラフ分割信号をenableにしてS015へ進む(S004)。NN摂動が閾値より小さい場合は、グラフ分割の効果が得られたとして処理を終了する(S005)。
S015:m個の子ノードに保存された部分グラフそれぞれに対して,摂動計算部2(C006)が部分グラフ摂動の値を取得する(S002)。図11Bの例では部分グラフ1102と部分グラフ1103の摂動が計算される。
S016:m個の子ノードのうち,部分グラフ摂動の絶対値が最大の子ノードを新しい分割対象ノードとして設定する。図11Bの例では部分グラフ1102の摂動が大きいとし,部分グラフ1102が分割対象ノードとなる。
S017:生成されたm分木の葉の数が最大部分グラフ数以下であれば,S013に戻る。それ以外は,処理を終了する。図11Bの例で,部分グラフ1102と部分グラフ1103まで分割されている場合は,これらが葉になるので,葉の数2が最大部分グラフ数を超えていれば分割は終了し、そうでなければS013に戻る。
S013:分割対象ノードのグラフ(この例では部分グラフ1102)が分割対象となり,m=2分割される。分割した部分グラフ1104と部分グラフ1105が,分割対象ノードのm個の子にそれぞれ格納される。この状態では、m分木の葉ノード2m-1個(深さ1の葉ノード:m-1個+深さ2の葉ノードm個)に格納された部分グラフがそれぞれ分割後の部分グラフとなる。この例では,深さ1の葉ノードは部分グラフ1103であり,深さ2の葉ノードは部分グラフ1104と1105である。これら葉ノードの数(図11Bの例では3)が部分グラフの数nに等しい。
S014:仮縮約部(C004)は,2m-1個の部分グラフごとに縮約手法を適用し,摂動計算部1(C005)がAI全体に対して,縮約に起因した推論結果の摂動値を計算する。縮約アルゴリズムを補正し(S003),縮約によるNN摂動の値が閾値より大きい場合,部分グラフ分割信号をenableにしてさらに分割を繰り返す(S004)。次の分割対象は,部分グラフ1103と1104と1105の中で,最も部分グラフ摂動が大きいグラフとなる。
ループの終了条件は,部分グラフの分割数n(m分木の葉ノードの数)が最大値を超えた場合(S017)である。
次に,摂動計算部1(C005)について述べる。摂動計算部1(C005)は,ネットワークモデル全体のNN摂動を計算する。NN摂動は,縮約手法の最適組み合わせ探索のために用いる。
図12に構成図を示す。まず0番目の仮縮約部分グラフおよびそれに対応する縮約前DNNの部分グラフを,順伝搬部B0および順伝搬部A0にそれぞれ入力し,同一のデータセットを順伝搬させる。同様にk番目の仮縮約部分グラフおよびそれに対応する縮約前DNNの部分グラフを,順伝搬部Bkおよび順伝搬部Akにそれぞれ入力し,k-1番目の順伝搬部Bk-1の演算結果および順伝搬部Ak-1の演算結果をそれぞれ順伝搬させる。以上の操作をn番目の部分グラフまで繰り返し,順伝搬部AnおよびBnの演算結果の差の絶対値を摂動計算部により算出し,NN摂動を生成する。
次に,摂動計算部2(C006)について述べる。摂動計算部2(C006)は,部分グラフごとの部分グラフ摂動を計算する。部分グラフ摂動は,ネットワークの部分グラフ分割の要否判定に用いる。
図13に構成図を示す。まず0番目の仮縮約部分グラフおよびそれに対応する縮約前DNNの部分グラフを,順伝搬部B0および順伝搬部A0にそれぞれ入力し,同一のデータセットを順伝搬させる。同様にk番目の仮縮約部分グラフおよびそれに対応する縮約前DNNの部分グラフを,順伝搬部Bkおよび順伝搬部Akにそれぞれ入力し,k-1番目の順伝搬部Ak-1の演算結果を双方に順伝搬させる。以上の操作をn番目の部分グラフまで繰り返す。このとき,順伝搬部AkおよびBkの演算結果の差の絶対値に正規化を適用した値を,部分グラフ摂動kとして生成する。正規化は,例えば(摂動p/縮約前NNの出力y)の演算で行うことができる。 最後に,縮約部(B007)について述べる。
図14に構成図を示す。まずn個の部分グラフおよび各部分グラフに適用する縮約アルゴリズムを記載した縮約コンフィグを入力として受け付け,演算量削減部(D001)において縮約を実行する。次に,各部分グラフに対する縮約結果を部分グラフ結合部(D002)において,一つのDNNに再結合する。再結合されたDNNおよびデータセットを用いて再学習部(D003)において再学習を実行し,縮約NNモデルを生成する。
図15に実施例3の構成を示す。実施例3は,実施例1に対し縮約コンフィグをデータセンタ側で生成するシステムを追加した構成である。具体的には,データセンタ側で縮約前DNN(E012)およびデータセット(E010)ならびに縮約テーブル(E013)を用いて縮約アルゴリズム最適化部(E009)により縮約コンフィグ(E011)を生成し,OTA送信機(E008)およびOTA受信機(E007)を介してAD-ECU側の縮約コンフィグ(E002)を更新する。
図16に実施例4の構成を示す。実施例4は,実施例2に対し縮約前DNNをOTA受信器(F009)により外部から受信可能とした構成である。
図17に実施例5の構成を示す。実施例5は,実施例4に対し縮約アルゴリズム最適化部で取得した摂動ログ(G010)を,メモリに記憶し,OTA送信器(G011)を通じて外部へ送信可能な構成である。
・縮約前DNN・・・A001,B001,E001,E012,F001,G001
・縮約コンフィグ・・・A002,B003,C002,E002,E011,F003,G003
・縮約DNN・・・A003,B005,E003,F005,G005
・部分グラフ分割部・・・A004,C003,E004
・縮約部・・・A005,B007,E005,F007,G007
・推論部・・・A006,B008,E006,F008,G008
・縮約テーブル・・・B002,C001,E013,F002,G002
・データセット・・・B004,E010,F004,G004
・縮約アルゴリズム最適化部・・・B006,E009,F006,G006
・仮縮約部・・・C004
・摂動計算部1・・・C005
・摂動計算部2・・・C006
・最適化部・・・C007
・ログファイル・・・C008,G010
・演算量削減部・・・D001
・部分グラフ結合部・・・D002
・再学習部・・・D003
・OTA受信器・・・E007,F009,G009
・OTA送信器・・・E008,G011

Claims (15)

  1. ニューラルネットワークを縮約するアルゴリズムを選定する情報処理装置であって,
    ニューラルネットワークを部分グラフに分割する部分グラフ分割部と,
    前記部分グラフのそれぞれに対して,複数の縮約手法から選択された一つを対応付けた縮約コンフィグを出力する最適化部と,
    を備える情報処理装置。
  2. 前記部分グラフ分割部は,階層構造を有する前記ニューラルネットワークを,層単位で分割する,
    請求項1記載の情報処理装置。
  3. さらに仮縮約部と第1の摂動計算部を備え,
    前記仮縮約部は,前記部分グラフのそれぞれに対して,複数の縮約手法から選択された一つを対応付けて縮約して仮縮約部分グラフを出力し,
    前記第1の摂動計算部は,前記ニューラルネットワークの順伝搬値および複数の前記仮縮約部分グラフを直列結合した順伝搬値の差に基づく,ニューラルネットワークの摂動を出力し,
    前記最適化部は,前記ニューラルネットワークの摂動が,所定値を満たす縮約コンフィグを出力する,
    請求項2記載の情報処理装置。
  4. 前記仮縮約部は,前記ニューラルネットワークが実装されるデバイスの種類と適用すべき縮約手法の優先度が対応付けられた縮約テーブルを参照して,複数の縮約手法から一つを選択する,
    請求項3記載の情報処理装置。
  5. さらに第2の摂動計算部を備え,
    前記第2の摂動計算部は,それぞれの前記部分グラフの順伝搬値および前記仮縮約部分グラフの順伝搬値の差に基づく,それぞれの部分グラフの摂動を出力し,
    前記部分グラフ分割部は,前記部分グラフの摂動に基づいて,さらに分割する部分グラフを選定する,
    請求項3記載の情報処理装置。
  6. 前記部分グラフ分割部は,現状において摂動が最大の部分グラフを,さらに分割する部分グラフとして選定する,
    請求項5記載の情報処理装置。
  7. さらに縮約部を備え,
    前記縮約部は,演算量削減部と部分グラフ結合部を備え,
    前記演算量削減部は,前記部分グラフと前記縮約コンフィグを入力とし,前記部分グラフのそれぞれに対して,前記縮約コンフィグに記載された縮約手法を適用して縮約後部分グラフを出力し,
    前記部分グラフ結合部は,前記演算量削減部の出力を入力とし,前記縮約後部分グラフを結合して,縮約後ニューラルネットワークを出力する,
    請求項1記載の情報処理装置。
  8. さらに再学習部を備え、
    前記再学習部は,前記縮約後ニューラルネットワークと学習用データセットを受付け,前記縮約後ニューラルネットワークを学習する,
    請求項7記載の情報処理装置。
  9. 前記部分グラフの摂動を摂動ログとしてメモリに保持することを特徴とする、
    請求項5記載の情報処理装置。
  10. 前記摂動ログを演算装置外に送信することを特徴とする、
    請求項9記載の情報処理装置。
  11. ニューラルネットワークを部分グラフに分割する第1のステップ,
    前記部分グラフのそれぞれに対して,複数の縮約手法から選択された一つを対応付けて仮縮約する第2のステップ,
    を実行するニューラルネットワーク縮約方法。
  12. 仮縮約したニューラルネットワークの摂動を計算する第3のステップ,
    前記ニューラルネットワークの摂動に基づいて,前記部分グラフに対する縮約手法の対応を変更する第4のステップ,
    を実行する請求項11記載のニューラルネットワーク縮約方法。
  13. 前記部分グラフのそれぞれに対して,仮縮約した部分グラフ単位で部分グラフの摂動を計算する第5のステップ,
    前記部分グラフの摂動に基づいて、さらに分割する部分グラフを選択する第6のステップ,
    を実行する請求項11記載のニューラルネットワーク縮約方法。
  14. 前記第1のステップにおいて,前記部分グラフへの分割方法をm分木によって管理し,
    前記ニューラルネットワークをm分木の根に保管し,前記m分木の根に保管された前記ニューラルネットワークをm分割し,前記根の子である深さ1のノードにm個の部分グラフを保管し,前記m分木の葉に保管された部分グラフを出力する,
    請求項12記載のニューラルネットワーク縮約方法。
  15. 前記根の子である深さ1のノードに保管されたm個の部分グラフのうち,部分グラフの摂動が最大のノードに格納された部分グラフをm分割し,前記部分グラフの摂動が最大のノードの子に保管する,
    請求項14記載のニューラルネットワーク縮約方法。
JP2020188356A 2020-11-11 2020-11-11 情報処理装置およびニューラルネットワーク縮約方法 Active JP7538002B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2020188356A JP7538002B2 (ja) 2020-11-11 2020-11-11 情報処理装置およびニューラルネットワーク縮約方法
PCT/JP2021/034898 WO2022102255A1 (ja) 2020-11-11 2021-09-22 情報処理装置およびニューラルネットワーク縮約方法
US18/035,868 US20240070463A1 (en) 2020-11-11 2021-09-22 Information processing device and neural network compression method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020188356A JP7538002B2 (ja) 2020-11-11 2020-11-11 情報処理装置およびニューラルネットワーク縮約方法

Publications (2)

Publication Number Publication Date
JP2022077466A true JP2022077466A (ja) 2022-05-23
JP7538002B2 JP7538002B2 (ja) 2024-08-21

Family

ID=81601815

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020188356A Active JP7538002B2 (ja) 2020-11-11 2020-11-11 情報処理装置およびニューラルネットワーク縮約方法

Country Status (3)

Country Link
US (1) US20240070463A1 (ja)
JP (1) JP7538002B2 (ja)
WO (1) WO2022102255A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118333101B (zh) * 2024-06-12 2024-08-23 上海岩芯数智人工智能科技有限公司 一种参数量可变的神经网络模型构建方法及装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019050771A1 (en) 2017-09-05 2019-03-14 Panasonic Intellectual Property Corporation Of America EXECUTION METHOD, EXECUTION DEVICE, LEARNING METHOD, LEARNING DEVICE, AND PROGRAM FOR DEEP NEURAL NETWORK
JP6574004B2 (ja) 2018-01-25 2019-09-11 株式会社モルフォ 計算手法決定システム、計算手法決定装置、処理装置、計算手法決定方法、処理方法、計算手法決定プログラム、及び、処理プログラム
JP7099968B2 (ja) 2019-01-31 2022-07-12 日立Astemo株式会社 演算装置

Also Published As

Publication number Publication date
US20240070463A1 (en) 2024-02-29
WO2022102255A1 (ja) 2022-05-19
JP7538002B2 (ja) 2024-08-21

Similar Documents

Publication Publication Date Title
JP7462623B2 (ja) 活性スパース化を用いたニューラルネットワーク加速・埋め込み圧縮システム及び方法
JP6921079B2 (ja) ニューラルネットワーク装置、車両制御システム、分解処理装置、及びプログラム
US10984308B2 (en) Compression method for deep neural networks with load balance
US10832123B2 (en) Compression of deep neural networks with proper use of mask
KR20200004700A (ko) 뉴럴 네트워크에서 파라미터를 처리하는 방법 및 장치
US12050976B2 (en) Convolution operations utilizing nonzero padding data copied from input channel data
CN115437795B (zh) 一种异构gpu集群负载感知的显存重计算优化方法及系统
CN115017178A (zh) 数据到文本生成模型的训练方法和装置
WO2022102255A1 (ja) 情報処理装置およびニューラルネットワーク縮約方法
US20220171828A1 (en) Selection of pauli strings for variational quantum eigensolver
US20170140072A1 (en) Method and system for determining a configuration of a model having a collection of entities and satisfying a set of constraints
JP2023550921A (ja) ニューラル・ネットワークにおける重みに基づく調節
CN111931939A (zh) 一种单振幅量子计算模拟方法
CN116457794A (zh) 用于神经网络模型的组平衡式稀疏激活特征图
US20220121924A1 (en) Configuring a neural network using smoothing splines
CN117910128A (zh) 基于深度算子网络的翼型设计方法及装置
US11574181B2 (en) Fusion of neural networks
CN107038244A (zh) 一种数据挖掘方法和装置、一种可读介质和存储控制器
CN117035045A (zh) 模型参数更新方法、装置、设备、存储介质和程序产品
CN113341696A (zh) 一种运载火箭姿态控制参数智能整定方法
KR102574489B1 (ko) 심층신경망의 선형변환 파라미터를 이용한 가지치기 방법 및 장치
US20220138580A1 (en) Data swapping for neural network memory conservation
US20220343162A1 (en) Method for structure learning and model compression for deep neural network
CN117933104B (zh) 固体姿轨控发动机燃气调节阀压强修正方法
US11836613B2 (en) Neural programmer interpreters with modeled primitives

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230704

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240521

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240712

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240808

R150 Certificate of patent or registration of utility model

Ref document number: 7538002

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150