JP2022067651A - 単純化されたコンピュータ実装ニューラルネットワークの生成 - Google Patents

単純化されたコンピュータ実装ニューラルネットワークの生成 Download PDF

Info

Publication number
JP2022067651A
JP2022067651A JP2021170953A JP2021170953A JP2022067651A JP 2022067651 A JP2022067651 A JP 2022067651A JP 2021170953 A JP2021170953 A JP 2021170953A JP 2021170953 A JP2021170953 A JP 2021170953A JP 2022067651 A JP2022067651 A JP 2022067651A
Authority
JP
Japan
Prior art keywords
neural network
pruning
matrix
substructures
given
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.)
Pending
Application number
JP2021170953A
Other languages
English (en)
Inventor
レープ ダーフィト
Reeb David
ノネンマッハー マヌエル
Nonnenmacher Manuel
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Publication of JP2022067651A publication Critical patent/JP2022067651A/ja
Pending legal-status Critical Current

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/10Interfaces, programming languages or software development kits, e.g. for simulating neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections

Landscapes

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

Abstract

【課題】コンピュータ実装ニューラルネットワークを単純化する方法、プログラム及び記憶媒体を提供する。【解決手段】方法は、複数のニューラルネットワーク下部構造を2つ以上の層の形態で含む所与のニューラルネットワークを受信するステップと、所与のニューラルネットワークに対して近似的なニューラルネットワークを計算するステップと、複数のニューラルネットワーク下部構造から1つ又は複数のニューラルネットワーク下部構造を枝刈りすることによる損失関数の変化を記述する行列を、近似的なニューラルネットワークに関して計算するステップと、行列内に記述されている損失関数の変化に基づいて、複数のニューラルネットワーク下部構造から少なくとも1つのニューラルネットワーク下部構造を枝刈りして、単純化されたニューラルネットワークを生成するステップと、を含む。【選択図】なし

Description

技術分野
本開示は、所与のニューラルネットワークから単純化されたコンピュータ実装ニューラルネットワークを生成するための技術と、単純化されたコンピュータ実装ニューラルネットワークを適用するための技術とに関する。
背景
コンピュータ実装ニューラルネットワークは、種々異なる技術的装置において益々使用されている。この場合、多くの技術的装置のためのニューラルネットワークは、(例えば、多数のニューロン、層、及び、対応するリンクを有する)複雑な構造を有する場合がある。このことは、ニューラルネットワークを適用するために必要とされるハードウェアに対して(過度に)高い要求を課す可能性がある。従って、コンピュータ実装ニューラルネットワークの性能とその複雑さとの間の妥協点を見出す必要があり得る。
上述した問題に対処するために、いわゆる枝刈り(プルーニング)方法(“pruning methods”)が開発された。この枝刈り方法は、一方では、ニューラルネットワークのサイズを縮小して、それらの全体構造を単純化することを目的としているが、他方では、単純化されたニューラルネットワークの良好な全体性能を維持すること(又は全体性能を可能な限り損なわないようにすること)を目的としている。従って、これらの方法を使用して単純化されたニューラルネットワークは、例えば、ハードウェア資源が限られている小型の技術的機器(例えば、電動工具、園芸用機器又は家庭用機器など)のために使用可能である。他の例においては、技術的装置(例えば、自律的なロボット)の十分に迅速な反応を保証するために、コンピュータ実装ニューラルネットワークの評価時間を短縮することが必要となる場合がある。このためにも、コンピュータ実装ニューラルネットワークを単純化することが有利である。
発明の概要
本発明は、装置のための単純化されたコンピュータ実装ニューラルネットワークを生成するための方法に関する。本方法は、複数のニューラルネットワーク下部構造を2つ以上の層の形態で含む所与のニューラルネットワークを受信するステップを含む。本方法は、所与のニューラルネットワークに対して近似的なニューラルネットワークを計算するステップと、複数のニューラルネットワーク下部構造から1つ又は複数のニューラルネットワーク下部構造を枝刈りすることによる損失関数の変化を記述する行列を、近似的なニューラルネットワークに関して計算するステップとをさらに含む。行列は、所与のニューラルネットワークの2つ以上の層のうちのそれぞれ異なる層の内部に位置する複数のニューラルネットワーク下部構造から少なくとも2つのネットワーク下部構造を同時に枝刈りすることによる損失関数の変化を考慮する。本方法は、最後に、行列内に記述されている損失関数の変化に基づいて、複数のニューラルネットワーク下部構造から少なくとも1つのニューラルネットワーク下部構造を枝刈りして、単純化されたニューラルネットワークを生成するステップを含む。
本発明は、さらに、技術的装置における単純化されたコンピュータ実装ニューラルネットワークの使用と、対応する方法を用いて生成されるコンピュータ実装ニューラルネットワークとを含む。
本発明の技術は、元々の所与のニューラルネットワークと比較して、(例えば、より少ない数のニューロン及び/又はリンク及び/又は層を有する)より小さいサイズの単純化されたニューラルネットワークを生成することを目的としている。この場合、生成された単純化されたニューラルネットワークの全体性能又は精度の損失が大きくなり過ぎないようにすべきである(理想的な場合には、全体性能又は精度の損失が発生しないようにすべきである)。このような単純化された(枝刈りされた)コンピュータ実装ニューラルネットワークは、比較的手頃なハードウェア資源を有する技術的装置(例えば、可搬式の電気機器、又は、恒久的なネットワーク接続を有していない機器)のために適当であり得るし、又は、比較的高速な計算速度及び評価速度が有用であるような技術環境において(例えば、少なくとも部分自律的な車両において)適当であり得る。ただし、複雑さの軽減、及び/又は、計算速度及び評価速度の向上は、他の技術環境にも役立ち得る(例えば、電流消費量を削減するため)。
枝刈り(単純化)の前後における、元々の訓練されたニューラルネットワークを概略的に示す図である。ニューロン及びニューロンのリンクが、ノード(円)又はエッジ(矢印)として図示されている。 枝刈りベクトルδを概略的に示す図であり、枝刈りベクトルδを用いて、ヘッセ行列Hを、Q行列(複数のニューラルネットワーク下部構造から1つ又は複数のニューラルネットワーク下部構造を枝刈りすることによる損失関数の変化を記述する行列)に移行させることができる。枝刈りベクトルδは、ここではニューラルネットワークのノードpに関連していて、ノードpの1つ又は複数のリンクを枝刈りすることによる現在の重みの変化を記述する。 ボストン住宅価格データセット(即ち、標準データセット)に関して作成されたニューラルネットワークについての、Q行列の総ての計算された成分(黒色の要素は、より大きい値に対応する)と、“Lin Sum OBD”枝刈り方法を使用した枝刈りとを概略的に示す図である。Q行列のうちの、線によってマーキングされた成分に対応するニューラル構造が、反復的に削除される。 図2aと同様に、Q行列の同様の成分と、“Iterative Full OBD”枝刈り方法を使用した枝刈りとを概略的に示す図である。Q行列のうちの、白色の円によってマーキングされた成分に対応するニューラル構造が、反復的に削除される。 図2a及び図2bと同様に、Q行列の同様の成分と、“structured OBD”(“structured optimal brain damage”)枝刈り方法を使用した枝刈りとを概略的に示す図である。Q行列のうちの、白色の円によってマーキングされた成分に対応するニューラル構造が、反復的に削除される。 図2a乃至図2cにおいて使用されている枝刈り方法に関するテスト損失を、それぞれ異なる枝刈り比率の値に基づいて比較した図である。ゼロの枝刈り比率は、所与のニューラルネットワークが枝刈りされない場合に相当する。この例においては、訓練されたニューラルネットワークが、所与のニューラルネットワークとして選択されている。
詳細な説明
本開示は、所与のニューラルネットワークからその構造を枝刈りすることによって単純化されたコンピュータ実装ニューラルネットワークを生成するための方法に関する。
図1aには、例示的なニューラルネットワーク1が(概略的に)図示されている。ニューラルネットワークは、複数のニューロンから形成可能であり(図1aにおいては、例示的なニューロン2が強調表示されている)、これらの複数のニューロンは、ニューラルネットワーク1のノードを形成していて、エッジ3を介して互いに接続されている。本開示のコンピュータ実装ニューラルネットワークのニューロンは、複数の層の形態で配置されている(例えば、図1aの第3の層4は、3つのニューロンを含む)。本開示においては、ニューロン(又はノード)に入ってくる方のエッジ又はリンクが、それぞれの層の一部であるものとしてみなされる(即ち、入ってくるリンクとノードとが同一の層に位置する)。コンピュータ実装ニューラルネットワークは、2つ以上、3つ以上又は5つ以上の層を含み得る。ニューロン及びそのリンクは、種々異なる構造を有し得るものであり、グラフを用いてノード又はエッジとして表現可能である。本開示においては、ニューラルネットワークの複数の要素からなる任意の部分集合を、「ニューラルネットワーク下部構造」と称することとする。いくつかの例においては、ニューラルネットワーク下部構造は、1つ若しくは複数のエッジ、1つ若しくは複数のノード、又は、1つ若しくは複数のノード及びエッジの組合せ(例えば、1つのノードと、このノードに入ってくるエッジ及びこのノードから出て行くエッジ)を含み得る。図1aに図示されているネットワークとは異なるネットワークが、追加的な要素(例えば、フィードバック又はメモリ)を含むものとしてもよい。このような要素も、ニューラルネットワーク下部構造又はその一部であり得る。他の例においては、ニューラルネットワークの要素が、ニューラルネットワークを記述するためのパラメータであり得る(この側面については、以下においてより詳細に説明する)。
所定のニューロンjの出力は、1つ又は複数のニューロンiの印加された入力に依存し得る。特に、まず始めにニューロンjについて、重み付けされて印加された入力の合計を形成することができ、そして、総てのニューロンについて、ニューロンjからニューロンiへのθijの形式の重みを定義することができる。(θij=0は、ニューロンjがニューロンiとのリンクを有していないことを意味し得る。)最後に、それぞれのニューロンについて定義された活性化関数を、事前に計算された合計に適用した後に、ニューロンjの出力を算定することができる。従って、いくつかの例においては、ニューラルネットワークのトポロジ、及び/又は、総てのニューロンについての重みθijを指定することにより、ニューラルネットワークを定義することができる。従って、これらの重みも、本開示の意味におけるニューラルネットワーク下部構造の要素であり得る。即ち、ニューラルネットワーク構造は、ニューラルネットワークの1つ又は複数の重みを含み得る(これらの重みは、ニューラルネットワークのグラフィカル記述の1つ又は複数のエッジに相当し得る)。上記において説明した用語規則によれば、所定の層のノード又はニューロンに入ってくるリンク又はエッジの総ての重みは、この1つの層に所属する。この所定の層を起点とするエッジ又はリンクの重みは、他の層に所属することとなる。
コンピュータ実装ニューラルネットワークは、特定の装置において使用するために作成可能及び訓練可能(例えば、完全又は不完全に訓練可能)であり、この装置において発生するデータ(例えば、センサデータ)を処理し、かつ、例えば、この装置の監視及び/又は制御に関連する出力データを計算する。従って、この装置の特性、又は、所定のイベントに対するこの装置の反応を、最終的に、ニューラルネットワークのトポロジ及び重みθijの中に「隠す」ことが可能である。他の例においては、ニューラルネットワークを、重みθijとは異なる他の及び/又は追加的なパラメータによって記述することもできる。本開示においては、重みθijが、例示的なパラメータとして論述される。ただし、本明細書に記載されている技術は、他のパラメータの場合においても、同様に使用可能である。
訓練されたニューラルネットワークからネットワーク構造を枝刈りするための、従来技術において使用されるいくつかの方法は、以下のようにして実施される。即ち、タスクによって異なるトポロジを有するニューラルネットワークが生成された後、重みθijを対応して選択することができる。この重みの選択を、ニューラルネットワークの訓練又は学習と称する。このステップは、コンピュータシステム上において実行される。「教師あり学習」の間、複数の入力データセットx(例えば、センサデータ)と、対応する複数の所望の出力データセットy(例えば、技術的装置の状態、若しくは、技術的装置の環境の状態、又は、制御変数)とを利用することができる(即ち、入力データセットと出力データセットとが、それぞれ1つのペアを形成する)。それぞれN個のペア(x,y),k=1,・・・,Nから構成されるデータセットは、訓練データセットと称される。ニューラルネットワークの訓練は、最適化問題として定式化可能であり、この最適化問題においては、所与の入力xに対してニューラルネットワークによって生成される出力
Figure 2022067651000001
(ここで、
Figure 2022067651000002
は、パラメータセットθに対する、例えば重みのセットに対する、ニューラルネットワークの伝達関数である)が所望の出力yに可能な限り近づくように、ニューラルネットワークの重みθijを適合させなければならない。この最適化問題は、損失関数Lの最小化として表現可能である(いくつかの場合に、この最適化問題が式の最大化に相当していたとしても、本開示においては、損失関数の最小化について説明することとする)。損失関数は、種々異なる形式を取ることができる。一例においては、損失関数は、平均二乗誤差(“MSE”)の関数であり、例えば、
Figure 2022067651000003
である。
最小化は、総ての重みθijに関して実施可能である。この最小化の結果として、訓練された重み
Figure 2022067651000004
が決定され、この訓練された重みが、損失関数Lの局所的(又は大域的)な最小値をもたらす。このようにして、訓練されたニューラルネットワークが構築される。この訓練の目的は、訓練フェーズにおいて所望の出力
Figure 2022067651000005
を再現することだけでなく、さらなる入力xについての尤もらしい出力(即ち、未知の出力)も提供することができるようにすることである。
訓練されたニューラルネットワークは、複雑なトポロジと、多数のニューロン及びリンクとを有し得るものであり、従って、計算におけるハードウェア要件が不所望に高くなる原因となる。さらに、上の方で既に述べたように、この複雑なニューラルネットワークは、対応する装置上において使用可能となるように、まず始めに枝刈り方法によって単純化される。図1aの右側には、単純化された(枝刈りされた)ニューラルネットワーク1aが示されている。例えば、最上層とその下に位置する層5との間において、いくつかのエッジ(リンク)が枝刈りされている。さらに、最後から2番目の層6においては、1つのノードが、関連するエッジもろとも枝刈りされている。
この単純化は、1つ又は複数のニューラルネットワーク下部構造を枝刈りすることによる損失関数Lのそれぞれの変化を分析することを含み得る。構造の枝刈りは、ニューロン間の1つ又は複数のリンク(即ち、エッジ)を削除すること、及び/又は、1つ又は複数のニューロンを、それらのニューロンに入ってくるリンク及びそこから出て行くリンクと共に完全に削除することを含み得る。他の場合(又は他の図)においては、枝刈りは、1つ又は複数の重みを削除すること又はゼロにすることを含み得る(このことは、1つ又は複数のリンク又はエッジの削除に代わる記述であり得る)。他の場合においては、ニューラルネットワークは、図1aに示されている構造を超える要素(例えば、フィードバック又はメモリ)を含み得る。このようなネットワーク下部構造も、本開示の方法によって枝刈りすることができる。
いくつかの例においては、構造を枝刈りすることによる損失関数の変化を、重みθijに対する損失関数Lのテイラー展開によって所定の次数まで近似させることができる。例えば、以下の形式の展開:
Figure 2022067651000006
が与えられ得る。
ここで、δθは、所与のニューラルネットワーク(例えば、重み
Figure 2022067651000007
を有する訓練されたニューラルネットワーク)の所与の重みベクトルθについての、枝刈り後の重みの対応する変化
Figure 2022067651000008
を反映する摂動ベクトルである。δθは、δθの転置によって生じる。H(θ)=∂/∂θは、重みθijに関する損失関数L(θ)の2次の偏導関数から構成されたヘッセ行列であり、これらの重みθijは、この例においては、訓練された重み
Figure 2022067651000009
のために計算される。ここで、訓練されたネットワークの場合には(少なくとも近似的に)∂L(θ)/∂θ=0が当てはまる。なぜなら、∂L(θ)は、訓練された重み
Figure 2022067651000010
の場合には最小値を有するからである(少なくとも、近似的に所定の数値精度の範囲内において)。テイラー展開における2次よりも高次の項は、無視することができる。その場合、損失関数の変化は、
Figure 2022067651000011
によって与えられている。図1bに示されているように、
Figure 2022067651000012
は、対応する下部構造(例えば、ノードp)についての重み
Figure 2022067651000013
の枝刈りベクトルに対応する。この場合、枝刈りベクトルは、ノードpの1つ又は複数のリンクを枝刈りすることによる現在の重みの変化を記述する。他のネットワーク下部構造に対しても、枝刈りベクトルを定義することができる(例えば、対応する入ってくるエッジを有する2つ以上のノードの組合せに対しても定義することができ、なお、これらのノードは、それぞれ異なる層若しくは1つの層の内部にあり、又は、互いに隣接するノードである)。
損失関数Lのテイラー展開の式は、例として示されているに過ぎず、それぞれのベクトルに対して選択された正規化に応じて他の式を採用することもできる(例えば、δθ及びδθにおいて上に示されているテイラー展開の第2項において、係数1/2を想定してもよい。)
複数のニューラルネットワーク下部構造が枝刈りされる場合には、損失関数の変化は、複数のニューラルネットワーク下部構造から1つ又は複数のニューラルネットワーク下部構造を枝刈りすることによる損失関数の変化を記述する行列の、複数の成分にわたる合計として表現可能である。例えば、損失関数の変化を、以下の形式において、即ち、δL(θ)≒1/2Σbeschn.pqpqの形式において決定することができ、ここで、行列Qpqは、
Figure 2022067651000014
として定義されている。合計における連続的な添字p及びqは、1からSまで変化させられ、ここで、Sは、ネットワーク下部構造の総数を示す。ヘッセ行列H(θ)は、2次の偏導関数∂/∂(δθij)から構成されており、従って、この行列は、通常、無視し得るほど小さくすることができない非対角成分(即ち、交差項)を有する。このことは、損失関数Lが重みθijに関して非線形関数であり得るという事実によって説明可能である。その結果、ヘッセ行列H(θ)によって定義されている行列Qpqも、非対角形式を有し得る。要約すると、損失関数の変化は、いくつかの例においては、2つの項の合計として、δL(θ)≒1/2Σbeschn.ppp+1/2Σbeschn.p≠qpqのように表現可能である。第1項は、それぞれの下部構造pを枝刈りすることによる損失関数の変化を個別に考慮するp=qの行列Qpqの対角成分の合計である。それぞれの対角成分Qppは、対応する枝刈りされた下部構造pのみによって与えられている。第2項は、p≠qの行列Qpqの総ての非対角成分の合計を表す。従って、それぞれの非対角成分Qpqは、下部構造p及び下部構造qの両方を同時に枝刈りすることによる損失関数の変化を記述することができる。この意味において、2つの下部構造pとqとの間の相関関係について話題にすることができる。というのも、損失関数のこのような変化は、2つの下部構造が同時に枝刈りされた場合にのみ発生するからである。
損失関数の変化に関する式は簡単そうに見えるが、δL(θ)を計算する際には多少の困難が生じる可能性がある。第一に、ヘッセ行列H(θ)(及び、ひいては行列Qpq)の次元P×Pは、通常、非常に大きい。なお、Pは、ニューラルネットワーク内のリンクの総数を示す。この理由から、ヘッセ行列は、従来技術のいくつかの従前から公知の方法においては、対角行列(又はほぼ対角行列)によって近似される。しかしながら、この近似は、上記において定義された意味においての、ネットワーク構造間における可能性のある相関関係を無視している。しかも、このことにより、いずれのネットワーク下部構造がニューラルネットワークの性能に対して影響を与えるかを評価する際に(部分的にはかなりの)不正確さがもたらされる可能性がある。第二に、δL(θ)の計算は、コンピュータ実装システム上における多数の計算ステップを含み、これらの計算ステップは、訓練データセットの数Nと、枝刈りベクトルδの次元Pとに伴ってO(N・P)に即してスケーリングする。さらに、計算ステップの数は、枝刈りが検討されているネットワーク下部構造についてのそれぞれの次元Sが、ニューラルネットワークP内のリンクの総数よりも格段に少なくなり得るという事実とは完全に独立している。結果として、大きいPを有する複雑な構造に対する上述の評価は、計算的に実行することが困難であり得る。第三に、ニューラルネットワーク(特に、比較的大きくて複雑なニューラルネットワーク)の訓練は、計算的に非常に高コストであり、従って、時間のかかるタスクであり得るという問題も、追加的に生じる可能性がある。これらの問題は、いくつかの実装形態における本開示の技術によって対処可能である。
本開示の単純化されたコンピュータ実装ニューラルネットワークを生成するための方法の第1のステップは、例えば、複数のニューラルネットワーク下部構造を2つ以上の層の形態で含む所与のニューラルネットワークを受信することを含み得る。それぞれの層は、例えば、複数のニューロンと、対応する入ってくるリンクとによって与えられ得る。この場合、ある1つの層に配置されたニューロンの重み付けされた出力は、他の層に配置され得る他のニューロンの入力であり得る。例えば、図1aのニューラルネットワーク1は、4つの層を含む。所与のニューラルネットワークに関して、現在の重み
Figure 2022067651000015
が与えられ得る。いくつかの場合には、ニューラルネットワークの訓練のために使用され又は訓練のために使用されるべき訓練データセット(x,y)を受信することもできる。いくつかの場合には、所与のニューラルネットワークは、訓練されたニューラルネットワークであり得る(例えば、損失関数が訓練によって最小化されている)。他の例においては、所与のニューラルネットワークは、不完全に訓練されたニューラルネットワークであり得る(例えば、損失関数が訓練によってまだ最小化されていない)。いくつかの場合には、不完全に訓練されたニューラルネットワークは、完全な訓練のために必要とされる訓練サイクル(例えば「確率的勾配降下法」又はその他の方法の実行による訓練データセットにわたる完全な訓練の反復を表すことができる、いわゆるエポック)のうちの一部しか修了していないものであり得る(例えば、100回未満の訓練サイクル、又は、20回未満の訓練サイクル)。本開示の枝刈り方法は、特に、完全には訓練されていないニューラルネットワークにとって有利である。「早期の」枝刈りにより、訓練コストを削減することが可能である。
訓練データセット(x,y)は、種々異なる種類のデータを含み得るものであり、それぞれ1つのペアにおいて、入力データ(x)と出力データ(y)とが1つのペアになるように組み合わせられている(k=1,・・・,N)。例えば、入力データ及び出力データは、それぞれ、スカラ(例えば、スカラの測定値)、任意の長さ(即ち、1以上の長さ)のベクトル、又は、行列であり得る。入力データは、技術的装置の環境影響又は内部の動作状態を表すことができる。一例においては、入力データは、センサデータを含み得る。代替的又は追加的に、入力データは、画像データ及び/又はオーディオデータを含み得る。出力データは、装置若しくは環境の状態、又は、認識されたイベントであり得る(例えば、電気機器に関する「バッテリがほぼ空である」状態又は「雨が降っている」状態)。さらなる例においては、出力変数は、(例えば、アクチュエータのための)制御変数であり得るものであり、又は、その他の種類では、装置の反応を識別することができる。
本発明によれば、まず始めに、所与のニューラルネットワークに対して近似的なニューラルネットワークが計算される。このことは、所与のニューラルネットワークの現在の重み
Figure 2022067651000016
についての近似を含み得る。近似的なニューラルネットワークは、例えば、現在の重み
Figure 2022067651000017
についての線形化によって生成可能である。例えば、ニューラルネットワークは、重みに伴って線形にスケーリングする項が含まれた重みのセットにおける、ニューラルネットワークの伝達関数の評価の合計によって近似可能である。このことは、例えば、
Figure 2022067651000018
のように記述可能であり、ここで、
Figure 2022067651000019
は、訓練データセットにおける現在の重み
Figure 2022067651000020
において計算される、ニューラルネットワークの伝達関数の勾配である。この手段により、方法のさらなるステップをより資源効率的に実行することができるようになる(例えば、コンピュータシステム上における計算ステップがより少なくなる)。
本発明に係る方法のさらなるステップにおいては、既に生成された近似的なニューラルネットワークに関して、損失関数δL(θ)の変化を記述する行列Qpqを計算することができる。上記において説明したように、これらの変化は、複数のニューラルネットワーク下部構造から1つ又は複数のニューラルネットワーク下部構造を枝刈りすることによって引き起こされ得る。行列Qpqは、所与のニューラルネットワークのうちのそれぞれ異なる層の内部に位置する複数のニューラルネットワーク下部構造から少なくとも2つのネットワーク下部構造を同時に枝刈りすることによる損失関数の変化を記述することができる(即ち、行列Qpqは、少なくとも2つのネットワーク下部構造間のそれぞれの相関関係を考慮することができる)。さらに、いくつかの例においては、行列Qpqは、所与のニューラルネットワークの1つの層の内部に位置する複数のネットワーク下部構造を同時に枝刈りすることによる損失関数の変化を考慮することができる。いくつかの例においては、行列は、複数のニューラルネットワーク下部構造から少なくとも2つのネットワーク下部構造の複数のペア(例えば、総ての可能なペア)を同時に枝刈りすることによる損失関数の変化を記述することができる。
(従来技術のいくつかの方法のように主対角成分に基づくのみならず)行列Qpq内に記述されている損失関数の変化に基づいて、例えば、この行列の複数の(例えば総ての)計算された成分に基づいて、いずれのニューラルネットワーク下部構造が元々の所与のニューラルネットワークの全体性能に対してわずかな寄与しか果たしておらず又はそれどころか無視できる程度の寄与しか果たしていないか否かを特定することができる(例えば、全体性能が所定の尺度を超えて低下しない)。例えば、この文脈においては、枝刈り後に損失関数δL(θ)の増加又は過度の増加を引き起こさないような下部構造のみを、枝刈りされるべき下部構造として分類することができる。従って、そのように分類された下部構造を所与のニューラルネットワークから枝刈りして、装置のための単純化されたニューラルネットワークを生成することが可能である。結果として生じる単純化されたニューラルネットワークは、装置のためにデータをより迅速に供給することができ、及び/又は、所要のハードウェア資源を少なくすることができる。
上記の線形化は、枝刈りの結果として生じるδL(θ)の変化が、所与のニューラルネットワークの2次のテイラー級数を使用して現在の重み
Figure 2022067651000021
について近似される場合には、損失関数の近似に相当することができる。いくつかの場合には、所与のニューラルネットワークが、訓練されたニューラルネットワークではない場合(部分的にのみ訓練されたニューラルネットワークである場合)には、損失関数の1次導関数∂L(θ)/∂θは、その重みに応じて消失することはない。
さらに、本方法は、例えば、現在の重みについての所与のニューラルネットワークの上記の勾配φ(X)を計算することを含み得る。一例においては、勾配φ(X)の計算は、入力データセットのうちのN個のペアの入力データを含み得る現在の行列Xを使用することができる。次に、勾配φ(X)に、ネットワーク下部構造の枝刈りベクトル(摂動ベクトルとも称される)δを乗算して、次元Nの第2のベクトルφ=φ(X)δを取得することができ、ここで、それぞれの枝刈りベクトル(δ)は、枝刈りされるべきネットワーク下部構造に対応付けられている。このようにして、所与のニューラルネットワークにおける可能性のある構造的な変化を考慮するために、複数の第2のベクトルφ(即ち、S個の第2のベクトル)を導出することができる。計算コストは、これらのステップに対してO(N・P)のようにスケーリングされる。他の例においては、勾配φ(X)及び第2のベクトルφの計算を、ヤコビ・ベクトル積を使用して実施することができる。このことも、従来技術の多くの方法よりも計算的により効率的であり得る。
既に述べたように、一例においては、所与のニューラルネットワークは、訓練されたニューラルネットワークであり得る。この場合、訓練データセット(X)は、複数のペア(X={(x,y)|i≦n})から構成可能であり、それぞれのペアは、技術的装置の入力セットとそれぞれの出力セットとから形成され、所与のニューラルネットワークは、それぞれのペアの入力セットに対するそれぞれの出力セットを生成することができる。さらに、損失関数の1次導関数のベクトルは、訓練された重み
Figure 2022067651000022
の使用後に計算されたその重みに応じて、(所定の精度の範囲内において)損失関数の局所的(又は大域的)な最小値に相当する値(∂L(θ)/∂θ=0)を取ることができる。この例においては、行列Qpqの総ての成分を計算することは、訓練されたニューラルネットワークのニューラルネットワーク下部構造の複数のペア(例えば、それぞれのペア)に関する複数の第2のベクトルから取得された第2のベクトルφ及びφのスカラ積を計算することによって実施可能である。
Figure 2022067651000023
他の例においては、所与のニューラルネットワークは、不完全に訓練されたニューラルネットワークであり(「不完全に訓練された」という用語は、上記で説明した意味において理解可能である)、損失関数の1次導関数のベクトルは、現在の重み
Figure 2022067651000024
の使用後に計算されたその重みに応じて、現在の重みに対する損失関数の局所的な最小値に相当しない値(例えば、∂L(θ)/∂θ≠0を有する実質的にゼロではない値)を取ることができる。この場合、損失関数は、現在の重みに対する局所的な最小値を有さない。一例においては、ニューラルネットワークの通常の訓練を、わずかな最適化ステップ(エポック)の後に中断することができ、結果として生じるニューラルネットワークを、本開示の方法のための所与のニューラルネットワークとして使用することができる。他の例においては、ニューラルネットワークを、所定の重み値によって初期化することができる。初期化されたニューラルネットワークを、その後、直ちに本発明に係る方法に実装して、所与のニューラルネットワークとしてみなすことができる。不完全に訓練されたニューラルネットワークの使用は、ニューラルネットワークの通常の訓練が、計算的に高コストである場合、又は、ハードウェア資源が限られているために全く不可能である場合に、特に適当である。
不完全に訓練されたニューラルネットワークを使用して行列Qpqを計算することは、3つのステップを含み得る。まず始めに、訓練されたニューラルネットワークの第1の例のように、不完全に訓練されたニューラルネットワークのニューラルネットワーク下部構造の複数のペア(例えば、それぞれのペア)に関する複数の第2のベクトルから取得された第2のベクトルφ及びφのスカラ積を計算することができる。このようにして、主対角成分及び副対角成分の両方に対する(第1の)寄与を計算することができる。さらに、行列Qpqの主対角成分に対する第2の寄与が考慮され、このことは、現在の重みが引き続き代入される複数の枝刈りベクトルδに従って、かつ、複数の第1のベクトルδに従って、損失関数の1次導関数のベクトルのスカラ積を計算することによって実施される。最後に、2つの寄与が加算される。このことは、例えば、以下の形式
Figure 2022067651000025
において実施可能であり、ここで、δpqは、クロネッカのデルタである。
本方法において、所与のニューラルネットワークとして、訓練されたニューラルネットワークが使用されるか又は不完全に訓練されたニューラルネットワークが使用されるかに関係なく、行列Qpqの計算コストを、いくつかの場合には、O(N・S)によってスケーリングすることができる。要約すると、行列Qpqの総ての成分を計算するために、本発明に係る方法の総計算コストを、O(N・S)+O(N・P)によってスケーリングすることができる。従って、行列Qpqを直接的に計算することは、格段に多数の計算ステップO(N・P)を必要とする可能性があるので、本発明に係る方法は、特にS≪Pを有するより比較的大きい構造の場合に、計算コストの利点を得ることができる。
本方法の次のステップにおいては、上記の説明に即して、行列Qpq内の情報を使用して、いずれの下部構造を枝刈りすることができるかが推定される。
第1の方法においては、まず始めに、行列Qpqのそれぞれの列における総ての成分を合計して、複数の合計を得ることができる。その後、計算された合計を考慮して、複数のニューラルネットワーク下部構造が反復的に削除される。このことは、例えば、複数の合計の最小合計量が計算されたニューラルネットワーク下部構造を起点として実施可能である。これらのニューラルネットワーク下部構造は、最初に削除可能である。このいわゆる“Lin Sum OBD”(“optimal brain damage”)枝刈り方法の結果は、図2aに、ボストン住宅価格データセット(即ち、標準データセット)に関して作成されたニューラルネットワークについて例示的に示されている。図2aには、4つの例示的な列7a~7dが示されており、合計量は、点の密度によって表されている。右の列7dは、最小合計を有する。従って、これに対応するニューラルネットワーク下部構造を、最初に枝刈りすることができる。
代替的な方法においては、まず始めに、行列Qpqの主対角成分の最小量に対応するニューラルネットワーク下部構造が削除される。その後、複数のニューラルネットワーク下部構造が反復的に削除され、それぞれの削除されるべき後続のニューラルネットワーク下部構造は、以前に削除されたニューラルネットワーク下部構造に関連する行列の主対角成分及び非対角成分からの複数の合計の最小合計量に対応する。図2bには、図2aと同一のニューラルネットワークに対するこの“Iterative Full OBD”枝刈り方法の適用が示されている。例示的な対角成分及び非対角成分は、円によって表されており、円のサイズは、主対角成分のサイズ/主対角成分及び非対角成分の合計に反比例している。
さらなる代替的な方法においては、まず始めに、事前定義された値を有する行列(Qpq)の主対角成分に対応する、任意選択的に行列(Qpq)の最小の主対角成分に対応する、ニューラルネットワーク下部構造を削除することができる。一例においては、まず始めに、行列Qpqの計算された主対角成分を昇順で配置することができる。その後、最小の主対角成分に対応するニューラルネットワーク下部構造が削除される。次に、本発明に係る方法は、複数のニューラルネットワーク下部構造を反復的に削除することを含み、それぞれの削除されるべき後続のニューラルネットワーク下部構造は、配置された主対角成分の次に大きい値に対応する。図2cには、図2a及び図2bと同一のニューラルネットワークに対するこの“structured OBD”(“structured optimal brain damage”)枝刈り方法の結果が例として示されている。例示的な対角成分は、円によって表されており、円のサイズは、主対角成分のサイズに反比例している。
図3においては、図2a乃至図2cにおいて使用されている枝刈り方法に関するテスト損失が、それぞれ異なる枝刈り比率の値に基づいて比較されている。ゼロの枝刈り比率は、所与のニューラルネットワークが枝刈りされない場合に相当する。この例においては、訓練されたニューラルネットワークが、所与のニューラルネットワークとして選択されている。この図面が示すように、“Iterative Full OBD”方法の場合又は“structured OBD”方法の場合における枝刈りされたネットワークの全体性能は、枝刈り比率の値が0.7又は0.4未満である場合には実質的に影響を受けないままである。
一般に、上記の3つ総ての枝刈り方法は、単純化されたニューラルネットワークのサイズが所望のサイズを下回るまで実施される。一例においては、所望のサイズは、単純化されたニューラルネットワーク内又は単純化されたニューラルネットワークの1つの層内のニューロンの最小数によって与えられ得る。他の例においては、所望のサイズは、単純化されたニューラルネットワーク内のニューロン間のリンクの最小数によって、又は、単純化されたニューラルネットワークの1つの層内のニューロン間のリンクの最小数によって、定義可能である。所望のサイズは、例えば、単純化されたニューラルネットワークの枝刈りされていない層又は構造の最小数としても与えられ得る。他の例においては、枝刈り方法は、単純化されたニューラルネットワークの全体性能が事前定義された閾値を下回るまで実施される。例えば、全体性能は、テスト損失を用いて推定可能であり(例えば、図3を参照)、テスト損失自体は、損失関数に基づいて計算可能である。一例においては、事前定義された閾値は、単純化されたニューラルネットワークの全体性能と所与のニューラルネットワークの全体性能との間の比率として定義可能である。他の例においては、事前定義された閾値は、選択された数に対応し得る。
既に述べたように、本開示の単純化されたコンピュータ実装ニューラルネットワークは、種々異なる技術的用途において使用可能である。一般に、本開示は、一方では、コンピュータ実装ニューラルネットワークを枝刈りする方法と、その後、コンピュータ実装されたニューラルネットワークを技術的装置において使用する方法とにも関する。この使用は、例えば、単純化されたニューラルネットワークにより、技術的装置を開ループ制御(又は閉ループ制御)すること、単純化されたニューラルネットワークにより、技術的装置の動作状態(例えば、誤動作)又は技術的装置の環境の状態を認識すること、又は、単純化されたニューラルネットワークにより、技術的装置の動作状態又は技術的装置の環境の状態を評価することを含み得る。この場合、入力データは、装置の内部状態に関する状態データ(例えば、少なくとも部分的にセンサデータ)を含み得る。追加的又は代替的に、入力データは、装置の環境に関する状態データ(例えば、少なくとも部分的にセンサデータ)を含み得る。単純化されたニューラルネットワークの出力データは、装置の動作状態又は他の内部状態(例えば、エラー又は危機的な動作状態が存在するかどうか)を特徴付けることができる。出力データを使用して、特徴付けられた動作状態又は他の内部状態に応答して、装置を制御することができる。代替的又は追加的に、出力データは、装置のための制御データを含み得る。
いくつかの場合には、装置は、電気機器(例えば、工具、家庭用機器又は園芸用機器)であり得る。他の例では、装置は、モノのインタネット(“Internet of Things”)の形態の装置であり得る。代替的又は追加的に、装置は、バッテリ動作式の装置であり得る。上記のように、単純化されたコンピュータ実装ニューラルネットワークは、比較的資源効率的に構成可能であるので、これらの環境において有利である。
単純化されたコンピュータ実装ニューラルネットワークは、時系列の分類のために、特に画像データの分類のために使用可能である(即ち、装置は、画像分類器である)。画像データは、例えば、カメラ画像データ、ライダ画像データ、レーダ画像データ、超音波画像データ又は熱画像データであり得る(例えば、対応するセンサによって生成される)。画像データは、個別画像又はビデオデータを含み得る。いくつかの例においては、コンピュータ実装ニューラルネットワークは、(例えば、製造プロセスの及び/又は品質保証のための)監視装置のために又は(例えば、診断データを検索するための)医療画像化システムのために構成可能であり又はそのような装置において使用可能である。画像分類器は、画像データを受信して、複数のクラスに分類するように構成可能である。いくつかの例においては、本方法は、画像データを含む1次元(R)の入力ベクトルの形式の入力データを、分類結果を表す二次元(R)の出力ベクトルの形式の出力データにマッピングすることを含み得る。例えば、入力ベクトルの成分は、複数の受信された画像データを表すことができる。出力ベクトルのそれぞれの成分は、単純化されたコンピュータ実装ニューラルネットワークに基づいて計算された画像分類の結果を表すことができる。いくつかの例においては、画像分類は、画像のセマンティックセグメンテーション(例えば、画像の領域ごと及び画素ごとの分類)を含み得る。画像分類は、例えば、オブジェクト分類であり得る。(例えば、交通標識又は車線を自動的に認識するための運転支援システムにおいて)例えば、画像データ内の1つ又は複数のオブジェクトの存在を検出することができる。
他の例においては(又は追加的に)、コンピュータ実装ニューラルネットワークは、少なくとも部分自律的なロボットの動作状態及び/又は環境を監視するために構成可能又は使用可能である。少なくとも部分自律的なロボットは、少なくとも部分自律的な車両(又は他の少なくとも部分自律的な移動手段又は輸送手段)であり得る。他の例においては、少なくとも部分自律的なロボットは、産業用ロボットであり得る。他の例においては、装置は、機械又は機械のグループ(例えば、工場施設)であり得る。例えば、工作機械の動作状態を監視することができる。これらの例においては、出力データyは、それぞれの技術的装置の動作状態及び/又は環境に関する情報を含み得る。
さらなる例においては、監視されるべきシステムは、通信ネットワークであり得る。いくつかの例においては、ネットワークは、電気通信ネットワーク(例えば、5Gネットワーク)であり得る。これらの例においては、入力データxは、ネットワークのノードにおける使用率データを含み得るものであり、出力データyは、資源の割り当てに関する情報(例えば、チャネル、ネットワークのチャネルの帯域幅、又は、他の資源)を含み得るものである。他の例においては、ネットワークの誤動作を認識することができる。
他の例においては(又は追加的に)、コンピュータ実装ニューラルネットワークは、技術的装置を開ループ制御(又は閉ループ制御)するために構成可能又は使用可能である。装置自体は、上(又は下)で論述された装置のうちの1つ(例えば、少なくとも部分自律的なロボット又は機械)であり得る。これらの例においては、出力データyは、それぞれの技術的システムの制御変数を含み得る。
さらに他の例においては(又は追加的に)、コンピュータ実装ニューラルネットワークは、信号をフィルタリングするために構成可能又は使用可能である。いくつかの場合には、信号は、オーディオ信号又はビデオ信号であり得る。これらの例においては、出力データyは、フィルタリングされた信号を含み得る。
本開示の単純化されたコンピュータ実装ニューラルネットワークを生成及び適用するための方法は、コンピュータ実装システム上において実施可能である。コンピュータ実装システムは、少なくとも1つのプロセッサと、少なくとも1つのメモリ(実行された場合に本開示の方法を実行するプログラムを含み得る)と、入力及び出力のための少なくとも1つのインタフェースとを有し得る。コンピュータ実装システムは、「スタンドアロン」型システムであるものとしてよく、又は、ネットワーク(例えば、インタネット)を介して通信する分散型システムであるものとしてもよい。
本開示は、本開示の方法を用いて生成される(単純化された)コンピュータ実装ニューラルネットワークにも関する。本開示は、本開示の方法の総てのステップを実行するために構成されているコンピュータプログラムにも関する。本開示は、さらに、本開示の方法の総てのステップを実行するために構成されているコンピュータプログラムが格納されている機械可読記憶媒体(例えば、光記憶媒体又は不揮発性メモリ、例えばフラッシュメモリ)に関する。

Claims (17)

  1. 装置のための単純化されたコンピュータ実装ニューラルネットワークを生成するための方法であって、
    複数のニューラルネットワーク下部構造を2つ以上の層の形態で含む所与のニューラルネットワークを受信するステップと、
    前記所与のニューラルネットワークに対して近似的なニューラルネットワークを計算するステップと、
    前記近似的なニューラルネットワークに関して、前記複数のニューラルネットワーク下部構造から1つ又は複数のニューラルネットワーク下部構造を枝刈りすることによる損失関数の変化を記述する行列(Qpq)を計算するステップであって、前記行列(Qpq)は、前記所与のニューラルネットワークの2つ以上の層のうちのそれぞれ異なる層の内部に位置する複数のニューラルネットワーク下部構造から少なくとも2つのネットワーク下部構造を同時に枝刈りすることによる前記損失関数の変化を記述する、ステップと、
    前記行列(Qpq)内に記述されている前記損失関数の変化に基づいて、前記複数のニューラルネットワーク下部構造から少なくとも1つのニューラルネットワーク下部構造を枝刈りして、単純化されたニューラルネットワークを生成するステップと、
    を含む方法。
  2. 前記近似的なニューラルネットワークを計算することは、前記所与のニューラルネットワークの現在の重みについての線形化を含む、
    請求項1に記載の方法。
  3. 前記行列(Qpq)を計算することは、勾配(φ(X))に複数の枝刈りベクトル(δ)を乗算して、複数の第2のベクトル(φ)を算定することを含み、
    前記勾配(φ(X))は、前記所与のニューラルネットワークの現在の重みによって与えられており、
    前記複数の枝刈りベクトル(δ)からのそれぞれの枝刈りベクトル(δ)は、枝刈りされるべきネットワーク下部構造に対応付けられており、
    前記複数の枝刈りベクトル(δ)からのそれぞれの枝刈りベクトル(δ)は、それぞれのニューラルネットワーク下部構造を枝刈りすることによる前記現在の重みの変化を記述し、
    それぞれの第2のベクトル(φ)には、前記乗算によってそれぞれの枝刈りベクトル(δ)が対応付けられる、
    請求項1又は2に記載の方法。
  4. 前記所与のニューラルネットワークは、訓練されたニューラルネットワークであり、
    訓練データセット(X)は、前記装置の挙動を記述し、
    前記訓練データセット(X)は、複数のペア(X={(x,y)|i≦n})から構成されており、
    それぞれのペアは、前記装置の入力セットとそれぞれの出力セットとから形成され、
    前記所与のニューラルネットワークは、それぞれのペアの前記入力セットに対するそれぞれの出力セットを生成する、
    請求項3に記載の方法。
  5. 前記行列(Qpq)を計算することは、
    前記訓練されたニューラルネットワークの前記複数のニューラルネットワーク下部構造からの、ニューラルネットワーク下部構造の複数のペアに関する、任意選択的にそれぞれのペアに関する前記複数の第2のベクトルからの第2のベクトル(φ,φ)のスカラ積を計算することによって実施される、
    請求項4に記載の方法。
  6. 前記所与のニューラルネットワークは、不完全に訓練されたニューラルネットワークであり、
    前記損失関数の1次導関数のベクトルは、前記現在の重みの使用後に計算されたその重みに応じて、前記現在の重みに対する前記損失関数の局所的な最小値に相当しない値を取る、
    請求項3に記載の方法。
  7. 前記行列(Qpq)を計算することは、
    前記複数のニューラルネットワーク下部構造からの、ニューラルネットワーク下部構造の複数のペアに関する、任意選択的にそれぞれのペアに関する前記複数の第2のベクトルからの第2のベクトル(φ,φ)のスカラ積を計算することにより、第1の寄与を計算するステップと、
    前記現在の重みが引き続き代入される複数の枝刈りベクトル(δ)に従って、かつ、複数の枝刈りベクトル(δ)に従って、前記損失関数の前記1次導関数のベクトルのスカラ積を計算することにより、前記行列(Qpq)の主対角成分に対する第2の寄与を計算するステップと、
    前記第1の寄与と前記第2の寄与とを合計するステップと、
    を含む、請求項6に記載の方法。
  8. 前記枝刈りすることは、
    前記行列(Qpq)のそれぞれの列における総ての成分を合計して、複数の合計を得ることと、
    前記複数の合計の最小合計量に対応するニューラルネットワーク下部構造を起点として、複数のニューラルネットワーク下部構造を反復的に削除することと、
    を含む、請求項5又は7に記載の方法。
  9. 前記枝刈りすることは、
    前記行列(Qpq)の主対角成分の最小量に対応するニューラルネットワーク下部構造を削除することと、
    複数のニューラルネットワーク下部構造を反復的に削除することと、
    を含み、
    それぞれの削除されるべき後続のニューラルネットワーク下部構造は、以前に削除されたニューラルネットワーク下部構造に関連する前記行列(Qpq)の主対角成分及び非対角成分からの複数の合計の最小合計量に対応する、
    請求項5又は7に記載の方法。
  10. 前記枝刈りすることは、
    事前定義された値を有する前記行列(Qpq)の主対角成分に対応する、任意選択的に前記行列(Qpq)の最小の主対角成分に対応するニューラルネットワーク下部構造を削除することと、
    複数のニューラルネットワーク下部構造を反復的に削除することと、
    を含み、
    それぞれの削除されるべき後続のニューラルネットワーク下部構造は、前記行列(Qpq)の主対角成分の次に大きい値に対応する、
    請求項5又は7に記載の方法。
  11. 前記反復的に削除することは、前記単純化されたニューラルネットワークのサイズが所望のサイズを下回るまで実施される、
    請求項8乃至10のいずれか一項に記載の方法。
  12. 前記反復的に削除することは、前記単純化されたニューラルネットワークの全体性能が事前定義された閾値を下回るまで実施される、
    請求項8乃至10のいずれか一項に記載の方法。
  13. 前記損失関数の変化は、前記所与のニューラルネットワークの2次のテイラー級数を使用して現在の重みについて近似され、
    任意選択的に、前記テイラー級数は、1次の項も含む、
    請求項1乃至12のいずれか一項に記載の方法。
  14. 前記ニューラルネットワークは、画像分類器であり、
    前記画像分類器は、画像データの形態で入力データを受信し、任意選択的に前記画像データのセマンティックセグメンテーションに基づいて、前記画像データを1つ又は複数のクラスに分類するように構成されている、
    請求項1乃至13のいずれか一項に記載の方法。
  15. 前記単純化されたニューラルネットワークにより、前記装置を制御すること、又は、
    前記単純化されたニューラルネットワークにより、前記装置の動作状態又は前記装置の環境の状態を認識すること、又は、
    前記単純化されたニューラルネットワークにより、前記装置の動作状態又は前記装置の環境の状態を評価すること、
    をさらに含む、請求項1乃至14のいずれか一項に記載の方法。
  16. 請求項1乃至14のいずれか一項に記載の方法の総てのステップを実行するために構成されているコンピュータプログラム。
  17. 請求項16に記載のコンピュータプログラムが格納されている機械可読記憶媒体。
JP2021170953A 2020-10-20 2021-10-19 単純化されたコンピュータ実装ニューラルネットワークの生成 Pending JP2022067651A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102020213238.0A DE102020213238A1 (de) 2020-10-20 2020-10-20 Erzeugung von vereinfachten computer-implementierten neuronalen netzwerken
DE102020213238.0 2020-10-20

Publications (1)

Publication Number Publication Date
JP2022067651A true JP2022067651A (ja) 2022-05-06

Family

ID=80929041

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021170953A Pending JP2022067651A (ja) 2020-10-20 2021-10-19 単純化されたコンピュータ実装ニューラルネットワークの生成

Country Status (4)

Country Link
US (1) US20220121960A1 (ja)
JP (1) JP2022067651A (ja)
CN (1) CN114386558A (ja)
DE (1) DE102020213238A1 (ja)

Also Published As

Publication number Publication date
US20220121960A1 (en) 2022-04-21
DE102020213238A1 (de) 2022-04-21
CN114386558A (zh) 2022-04-22

Similar Documents

Publication Publication Date Title
JP6902645B2 (ja) センサデータを与える複数の装置を含むシステムを管理する方法
US10581893B2 (en) Modeling of attacks on cyber-physical systems
CN110263780B (zh) 实现异构图、分子空间结构性质识别的方法、装置和设备
US20130282635A1 (en) Method For The Computer-Assisted Modeling Of A Technical System
Bontempi et al. Local learning for iterated time series prediction
CN114615019B (zh) 基于微服务拓扑关系生成的异常检测方法
WO2019160138A1 (ja) 因果推定装置、因果推定方法、及びプログラム
Joshi et al. A survey of fractional calculus applications in artificial neural networks
CN110162783A (zh) 用于语言处理的循环神经网络中隐状态的生成方法和装置
Levy et al. Data Center predictions using MATLAB machine learning toolbox
Matei et al. Learning constitutive equations of physical components with constraints discovery
WO2020185207A1 (en) Computerized system and method for generative circuit design with machine-learned networks
CN112241802A (zh) 一种风电功率的区间预测方法
Lopez-Ramos et al. Explainable nonlinear modelling of multiple time series with invertible neural networks
Khandelwal Automating data-driven modelling of dynamical systems: an evolutionary computation approach
Andolfatto et al. On neural networks’ ability to approximate geometrical variation propagation in assembly
JP2022067651A (ja) 単純化されたコンピュータ実装ニューラルネットワークの生成
Gupta et al. Nonlinear space–time varying parameter estimation using consensus-based in-network distributed strategy
CN116524296A (zh) 设备缺陷检测模型的训练方法、装置和设备缺陷检测方法
CN116028891A (zh) 一种基于多模型融合的工业异常检测模型训练方法和装置
CN115426671A (zh) 图神经网络训练、无线小区故障预测方法、系统及设备
Su et al. Neural network procedures for experimental analysis with censored data
US20230024743A1 (en) Efficient second order pruning of computer-implemented neural networks
KR102567137B1 (ko) 과거 일별 판매량 추정 및 미래 판매량 예측 모델 생성 방법
JP2018147103A (ja) モデル学習装置、制御量算出装置、及びプログラム