JP6755849B2 - 人工ニューラルネットワークのクラスに基づく枝刈り - Google Patents

人工ニューラルネットワークのクラスに基づく枝刈り Download PDF

Info

Publication number
JP6755849B2
JP6755849B2 JP2017231460A JP2017231460A JP6755849B2 JP 6755849 B2 JP6755849 B2 JP 6755849B2 JP 2017231460 A JP2017231460 A JP 2017231460A JP 2017231460 A JP2017231460 A JP 2017231460A JP 6755849 B2 JP6755849 B2 JP 6755849B2
Authority
JP
Japan
Prior art keywords
neural network
artificial neural
neurons
activation frequency
class
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
JP2017231460A
Other languages
English (en)
Other versions
JP2018129033A (ja
JP2018129033A5 (ja
Inventor
ロビン セイボルド,
ロビン セイボルド,
チエンタン チェン,
チエンタン チェン,
ハンナ ビュオグヴィンスドッティル,
ハンナ ビュオグヴィンスドッティル,
マルティン ユングクヴィスト,
マルティン ユングクヴィスト,
Original Assignee
アクシス アーベー
アクシス アーベー
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 アクシス アーベー, アクシス アーベー filed Critical アクシス アーベー
Publication of JP2018129033A publication Critical patent/JP2018129033A/ja
Publication of JP2018129033A5 publication Critical patent/JP2018129033A5/ja
Application granted granted Critical
Publication of JP6755849B2 publication Critical patent/JP6755849B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/40Software arrangements specially adapted for pattern recognition, e.g. user interfaces or toolboxes therefor
    • 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/061Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using biological neurons, e.g. biological neurons connected to an integrated circuit
    • 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
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/52Surveillance or monitoring of activities, e.g. for recognising suspicious objects

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Neurology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Multimedia (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Image Analysis (AREA)

Description

本発明は、人工ニューラルネットワークに関し、特に、オブジェクト認識及び検証のために使用される人工ニューラルネットワークに関する。近年、ネットワーク拡張及び訓練データの増加のおかげで、そのような人工ニューラルネットワークが、大幅に改良されてきた。しかし、複雑な人工ニューラルネットワークのアーキテクチャは、しばしば、何千万又は何億のパラメータを含む。そのような人工ニューラルネットワークは精度に優れるが、大量のパラメータは、殊に、しばしば、計算能力を制限してきた埋め込みシステムにおいて、展開を不可能にし得る。人工ニューラルネットワークのサイズを増加した結果として、改良を維持するために、計算能力を制限してきたシステム内に実装されることを可能にすると同時に、人工ニューラルネットワークを圧縮することに関心が高まっている。
上述したように、人工ニューラルネットワークは、通常、非常に大きいので、それらは、しばしば、「過剰にパラメータ化」され得る。これは、人工ニューラルネットワークの性能に大きな影響を与えることなく、重み及びバイアスなどのパラメータ、又は全体のニューロンを除去することを可能にする。この手順は、通常、人工ニューラルネットワークの「枝刈り」と称される。ニューロンが除去されるときに、そのニューロンに対する計算をバックトレース(back-trace)することが可能である。その後、そのニューロンをもたらす全ての重みが、安全に除去され得ることが見られ得る。ニューロン出力を追跡し、そのニューロンから行く(going from)重みを除去することも可能である。しかし、枝刈りプロセスにおいてどのニューロンを除去するかを特定すること、及び、性能が得られるようなやり方で枝刈りプロセスを実施することは、尋常なことではない。
枝刈りは、訓練可能なパラメータを含む層、従来から完全に接続されている層、及び畳み込み層(convolutional layer)に適用可能である。これは、計算を単純化し速度を上げる助けとなる。例えば、完全に接続されている層からニューロンを除去することは、行列の行とベクトルとの間のドット積(dot product)をスキップすることに等しい。結果として、行列は、より小さくなる。畳み込み層からニューロンを除去することは、1つの行列の行と1つの行列の列との間のドット積をスキップすることを意味し、それは、1つの畳み込みをスキップすることと同じである。ニューロンの除去は、以下の詳細な説明で更に詳細に説明されることとなる。人工ニューラルネットワークの精度に重大な影響を与えることなく除去され得るニューロンを決定することは、訓練/試験段階の間に、どのニューロンが「死んで」いるか、すなわち、どのニューロンが、ゼロではない出力をほとんど又は全く生み出さないかを特定する結果としてのデータから、ニューロンを解析することによって行われ得る。ニューロンが、死んでいるものとして規定されないために、ゼロではない出力を何回生み出さなければいけないかを決定することは、種々の閾値を使用して、性能を比較することによって行われ得る。そして、ニューロンが除去された後で、性能を改良するために再訓練が行われ得る。これは、繰り返し行われ得る。
枝刈りのための別の1つのアプローチは、既に訓練ステップ中に一部の重みをゼロに強制するために、閾値を使用するか又はノルム(norm)を用いた正規化を使用して、重みを除去することに重点を置いている。正規化は、例えば、(幾つかの値をゼロに強制する)希薄さ(sparsity)又は滑らかさなどの条件を実施するために使用される、当業者に周知の数学的/統計的方法である。枝刈りのための正規化についての更なる詳細は、次の論文を参照すべし。「Memory bounded deep convolutional networks」arXiv CoRR 2014 - Section 3: Regularization Updates available online at https://arxiv.org/abs/1412.1442.
これらのやり方で人工ニューラルネットワークを十分に枝刈りすることによって、実施は除去されたパラメータに対する計算を避けることができるので、人工ニューラルネットワークを実行するための計算はフルネットワークの場合よりも低くなる。
本発明の目的は、上述の問題を全体的又は部分的に除去することである。この目的は、請求項1に記載の方法、請求項9に記載のコンピュータプログラム製品、請求項15に記載の記憶媒体によって実現される。
第1の態様によれば、本発明は、コンピュータシステムにおいて、特定の監視状況のための人口ニューラルネットワークを構成するための方法に関する。該方法は、以下のステップによって特徴付けられる。すなわち、
人口ニューラルネットワークが訓練される全てのオブジェクトクラスの部分集合を形成する、監視状況に特有の幾つかのオブジェクトクラスを選択するステップ、
人工ニューラルネットワーク内のニューロンに対する起動頻度の値を含むデータベースにアクセスするステップであって、起動頻度の値がオブジェクトクラスの関数である、アクセスするステップ、及び
選択されたオブジェクトクラスの部分集合に対する閾値未満である起動頻度の値を有するそれらのニューロンを、人工ニューラルネットワークから除去するステップである。
これは、負担が軽く、したがって、カメラ又は携帯デバイスなどの埋め込みデバイスに対して適切な、人工ニューラルネットワークを生成するやり方を提供する。特に、幾つかのクラス(すなわち、全ての可能なクラスの部分集合)のみが、ニューロンの使用頻度に基づいて、予測され、それらのクラスに人工ニューラルネットワークを枝刈りし得ることを知ることによって、大規模な人工ニューラルネットワークを必要に応じて異なる前提条件に適合させることが可能であり、従来のように人工ニューラルネットワークを再訓練する必要はない。人工ニューラルネットワークを再訓練することは、通常、かなりの時間を必要とし、且つ、再訓練のための新しいデータを必要とするが、人工ニューラルネットワークを特定の組のクラスに枝刈りすることは、より速い作業である。更に、この方法は(例えば、閾値処理又は正規化を使用して重みをゼロにする)他の従来の方法と組み合わせて使用されて、更により多数のニューロンを除去することができ、埋め込みデバイスに人工ニューラルネットワークを展開するために、計算性能を更に低下させることができる。
一実施形態によれば、閾値は、人工ニューラルネットワークのための訓練手順中に各クラス毎に決定された静的値(static value)である。異なる関連するクラスに対して異なる閾値を可能にすることによって、関連するクラス毎に同じ閾値が全体的に使用された場合と比較して、システムの精度を向上させることが可能になる。
一実施形態によれば、閾値は、システム性能に基づいて各クラスに対して適合的(adaptive)である。システム性能に基づく適合的閾値を有することによって、システムが展開される実際の監視状況から得られたデータに基づいて、システムを更に強化することができる。
一実施形態によれば、監視状況に特有のオブジェクトクラスの選択は、一定期間にわたって収集されたデータに基づいて精緻化することができ、オブジェクトクラスの精緻化された選択のために、選択するステップ、アクセスするステップ、及び除去するステップを繰り返すことができる。これにより、実際の観測データとシステム性能の評価に基づいて、システムの更なる精緻化と微調整が可能となる。
一実施形態によれば、選択するステップ、アクセスするステップ、及び除去するステップのうちの少なくとも一部は、ユーザインターフェースを介して受信されたユーザ入力に応じて実行される。ユーザインターフェースを有することにより、ユーザは、枝刈りを、ユーザからの入力に基づくか、どの程度自動化すべきかを決定することができる。例えば、ユーザは、枝刈りされた人工ニューラルネットワークの機能を更に改善するために、関連するクラスの追加又は削除、個々のクラスに対する閾値の変更などを決定することができる。
一実施形態によれば、完全に接続された人工ニューラルネットワークにおけるニューロンを除去することは、人工ニューラルネットワークの個々の層の数学的表現を形成する行列から行及び列を除去することに対応する。重みを除去するだけではなく、ニューロン全体を除去することによって、人工ニューラルネットワークからの出力を計算するのに必要な計算回数を大幅に削減することができる。
一実施形態によれば、人工ニューラルネットワークからの出力を計算するために必要な計算資源の削減が、除去されたニューロンに関する記録を維持するのに必要な計算資源の増加を上回るように、人工ニューラルネットワークからニューロンを除去することは、十分な数のニューロンを除去することを含む。すなわち、人工ニューラルネットワークの枝刈りが、枝刈りされていないネットワークに比べて必要な計算資源が非常に少なく、したがって、人工ニューラルネットワークの性能が高いままであると同時に、埋め込みデバイスへの展開を適切にするように、損益分岐点が見つけられ得る。
一実施形態によれば、人工ニューラルネットワークは、埋め込みデバイスへ展開される。例えば、埋め込みデバイスは、監視カメラ又は携帯電話であり得る。人工ニューラルネットワークをこの種類の埋め込みデバイスで使用し得るようにすることによって、埋め込みデバイスの動作が大幅に高められ得る。
第2の態様によれば、本発明は、特定の監視状況のための人工ニューラルネットワークを構成するためのコンピュータプログラムに関する。コンピュータプログラムは、以下のステップに対応する指示命令を含む。すなわち、
人工ニューラルネットワークが訓練される全てのオブジェクトクラスの部分集合を形成する、監視状況に特有の幾つかのオブジェクトクラスを選択するステップ、
人工ニューラルネットワーク内のニューロンに対する起動頻度の値を含むデータベースにアクセスするステップであって、起動頻度の値がオブジェクトクラスの関数である、アクセスするステップ、及び
選択されたオブジェクトクラスの部分集合に対する閾値未満の起動頻度の値を有するそれらのニューロンを、人工ニューラルネットワークから除去するステップである。
第3の態様によれば、本発明は、そのようなプログラムを含むデジタル記憶媒体に関する。コンピュータプログラムと記憶媒体は、その方法のものと対応する利点を含み、同様に変更され得る。
本発明の1以上の実施形態の詳細が、添付の図面及び以下の詳細な説明において説明される。本発明の他の特徴と利点は、詳細な説明、図面、及び特許請求の範囲から明らかである。
一実施形態による、人工ニューラルネットワークを枝刈りするためのプロセス100のフローチャートを示す。 一実施形態による、人工ニューラルネットワーク200の概略図を示す。 一実施形態による、枝刈り前の図2のニューラルネットワークの完全な計算のための方程式300を示す。 一実施形態による、枝刈り後の図2のニューラルネットワークの計算のための方程式400を示す。
様々な図面内の類似の参照記号は、類似の要素を示す。
概観
上述されたように、本発明の1つの目的は、人工ニューラルネットワークを、カメラ及び携帯デバイスなどの埋め込みデバイス内で使用可能とするために、人工ニューラルネットワークを枝刈りすることである。本明細書で説明される様々な実施形態は、特定のクラスの画像のためのニューロンの使用頻度に基づいて、オブジェクトの各クラスに対して別々に重みを枝刈りすることによって、これを達成する。これは、従来技術と同様のやり方で、例えば、試験段階中の人工ニューラルネットワークのニューロンを解析することによって、どのニューロンがそれほど頻繁に使用されないかを特定する、そのような解析の結果から行うことができる。しかし、本明細書で説明される実施形態によれば、あるクラスに属する画像のみが、人工ニューラルネットワークを介して供給され、低性能ニューロンが特定される。
当業者によって認められるように、本発明の態様は、システム、方法、又はコンピュータプログラム製品として具現化が可能である。したがって、本発明の態様は、全体的にハードウェアの実施形態、全体的に(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)ソフトウェアの実施形態、又はソフトウェアとハードウェアを組み合わせた(本明細書で、概して、「回路」、「モジュール」、又は「システム」と称され得る)態様の実施形態の形を採り得る。更に、本発明の態様は、そこで具現化されたコンピュータ可読プログラムコードを有する(1以上の)コンピュータ可読媒体に具現化されたコンピュータプログラム製品の形態を採り得る。
1以上のコンピュータ可読媒体の任意の組み合わせが利用され得る。コンピュータ可読媒体は、コンピュータ可読信号媒体又はコンピュータ可読記憶媒体であり得る。例えば、コンピュータ可読記憶媒体は、電気的、磁気的、光の、電磁気的、赤外線の、又は半導体のシステム、装置、若しくはデバイス、又はそれらの任意の適切な組み合わせであり得るが、それらに限定されるものではない。コンピュータ可読記憶媒体のより具体的な例(網羅的でないリスト)は、以下のものを含み得る。すなわち、1以上のワイヤーを有する電気的な接続、携帯型コンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、消去可能プログラマブルリードオンリーメモリ(EPROM又はフラッシュメモリ)、光ファイバー、携帯型コンパクトディスクリードオンリーメモリ(CD‐ROM)、光記憶デバイス、磁気記憶デバイス、又はそれらの任意の適切な組み合わせである。この文書の文脈では、コンピュータ可読記憶媒体は、指示命令実行システム、装置、若しくはデバイスによって又はそれらとの関連で使用されるプログラムを含み又は記憶することができる、任意の有形の媒体であり得る。
コンピュータ可読信号媒体は、内部で具現化されるコンピュータ可読プログラムコードを有する、例えば、ベースバンド内で又は搬送波の部分として伝搬されるデータ信号を含み得る。そのような伝搬される信号は、電磁気的、光の、又はそれらの任意の適切な組み合わせを含む、任意の様々な形態を採り得るが、それらに限定されるものではない。コンピュータ可読信号媒体は、コンピュータ可読記憶媒体ではなく、指示命令実行システム、装置、若しくはデバイスによって又はそれらとの関連で使用されるプログラムを通信、伝搬、又は移送することができる、任意のコンピュータ媒体であり得る。
コンピュータ可読媒体で具現化されるプログラムコードは、無線、有線、光ファイバーケーブル、RFなど、又はそれらの任意の適切な組み合わせを含む、任意の適切な媒体を使用して送信され得る。本発明の態様のために動作を実行するためのコンピュータプログラムコードは、Java、Smalltalk、C++などのオブジェクト指向のプログラミング言語、及び、「C」プログラミング言語又は類似のプログラミング言語などの従来の手続き型のプログラミング言語を含む、1以上のプログラミング言語の任意の組み合わせにおいて書かれ得る。プログラムコードは、ユーザのコンピュータで全体的に、ユーザのコンピュータで部分的に、独立型ソフトウェアパッケージとして、ユーザのコンピュータで部分的に、遠隔コンピュータで部分的に、又は遠隔コンピュータ若しくはサーバで全体的に実行され得る。後者のシナリオでは、遠隔コンピュータが、ローカルエリアネットワーク(LAN)若しくはワイドエリアネットワーク(WAN)を含む、任意の種類のネットワークを通じてユーザのコンピュータに接続され得る。または、(例えば、インターネットサービスプロバイダーを使用して、インターネットを通じて)外部コンピュータに対する接続が行われ得る。
本発明の態様は、本発明の実施形態による、方法、装置(システム)、並びにコンピュータプログラム製品のフローチャート図解及び/又はブロック図を参照して、以下で説明される。フローチャート図解及び/又はブロック図の各ブロック、並びにフローチャート図解及び/又はブロック図内のブロックの組み合わせは、コンピュータプログラム指示命令によって実施され得ることが理解される。コンピュータ又は他のプログラマブルデータ処理装置を介して実行される指示命令が、フローチャート及び/又はブロック図の1以上のブロック内で特定される機能/動作を実施する、ための手段を生成するように機械を生産するために、汎用コンピュータ、専用コンピュータ、又は他のプログラマブルデータ処理装置のプロセッサに、これらのプログラム指示命令が提供され得る。
これらのコンピュータプログラム指示命令は、特定のやり方で機能するようにコンピュータ、他のプログラマブルデータ処理装置、又は他のデバイスに指示することができるコンピュータ可読媒体にも記憶され得る。それによって、コンピュータ可読媒体に記憶された指示命令は、フローチャート及び/又はブロック図の1以上のブロック内で特定される機能/動作を実施する指示命令を含む製品を製造する。
コンピュータプログラム指示命令は、コンピュータ、他のプログラマブルデータ処理装置、又は他のデバイスにもロードされ、一連の動作ステップがコンピュータ、他のプログラマグルデータ処理装置、又は他のデバイスで実行されて、コンピュータ実施プロセスを生み出すことをもたらし得る。それによって、コンピュータ又は他のプログラマブル装置で実行される指示命令は、フローチャート及び/又はブロック図の1以上のブロック内で特定された機能/動作を実施するためのプロセスを提供する。
人工ニューラルネットワークの枝刈り
次に、本発明の様々な実施形態による技術が、実施例によって図1〜図4を参照しながら説明される。この実施例では、1000のクラスに対して訓練が実行されたところの、人工ニューラルネットワークが存在すると想定する。しかし、画像が監視カメラによって記録される状況では、例えば、ユーザは、1000のクラスのうちの12しか関心がない。
図1は、本発明の一実施形態による、人工ニューラルネットワークを枝刈りするためのプロセス100を示しているフローチャートである。図1で示され得るように、これらのクラスに対してどのニューロンが低性能であるかを理解するために、ステップ102でデータベースがアクセスされる。データベースは、人工ニューラルネットワーク内のニューロンに対する起動頻度の値を、オブジェクトクラスの関数として含む。
次に、ステップ104で、人工ニューラルネットワークから安全に除去され得る低性能のニューロンが特定される。これは、例えば、12のクラスの各々に対するニューロンのための起動頻度の値を調べることによって、及び、どの起動頻度の値が低性能のニューロンを構成するかを規定する閾値を使用することによって、行われ得る。閾値は、人工ニューラルネットワークの訓練手順の間に種々のクラスに従って予め決定され、又は予測性能に従って推論手順の間に適合的(adaptive)であり得る。すなわち、閾値は、システム性能に適合され得る。
最後に、ステップ106で、低性能のニューロンが人工ニューラルネットワークから除去される。これによりプロセス100が終了し、ユーザの必要に応じてそのアーキテクチャを調整することができる、「適合的人工ニューラルネットワーク」をもたらす。
ある実施形態では、このプロセスが、ユーザインターフェース(UI)を介したユーザからの特定の入力を必要とし、プロセスは、望まれるように繰り返され得る。例えば、一実施形態では、特定の監視状況の完全な評価の期間(例えば、一週間)が存在し得る。その後に、その期間に特定されたクラスを選択及び枝刈りすることが行われる。
自動化の様々な程度が、ユーザがクラスを選択する助けとなるように使用され得る。例えば、ある実施形態では、クラスの選択が完全に自動で行われ得る。他の実施形態では、ユーザに、自動的に選択されたクラスの部分集合が提示され得る。それらから、ユーザが手動で選択を行い得る。更に他の実施形態では、ユーザが、全てのクラスの中から自由に選択し得る。ある実施形態は、ユーザが一組の選択されたクラスに対する追加を行うことも可能にする。それは、ユーザが、そのような追加が目前の特定の状況に対して有益であり得ると判定した場合である。特定の状況に基づいて、当業者は、多くの変形例を想起し得る。
図2は、小さい人工ニューラルネットワーク200の概略図を示している。それは、適合的人工ニューラルネットワークを生成するために、上述の技術を使用して、(破線で示されている)特定のニューロンが除去されたところの、完全に接続された層のみから成る。図3は、ニューロンが実際に除去される前の、人工ニューラルネットワークに対する完全な計算300を示している。そして、図4は、除去されたニューロンに対応する計算を除去した後の計算400、すなわち、結果としての適合的人工ニューラルネットワークによって実行される計算を示している。
それぞれ、図3と図4の方程式を比較することによって見られ得るように、低性能のニューロンを除去した後で、計算量が大幅に低減されている。データを訓練することにおける変動性が低減され、それによって、より薄い人工ニューラルネットワークをもたらすので、通常、枝刈りがより少ないクラスに基づくならば(例えば、ユーザが12の代わりに6のクラスのみに関心があったならば)、より多くのニューロン及び重みが枝刈りされ得る。
疎行列の表現
人工ニューラルネットワークの枝刈りの従来のやり方は、独立して重み値を見ること、及び特定の閾値未満である重みを除去することによって、行われる。これにより、層に希薄さが導入されるが、その希薄さは構造化されてない。その代わりに、枝刈りがニューロンに基づくならば、枝刈りされたニューロンに貢献する全ての重みは除去され、構造化された希薄さをもたらし得る。完全に接続された層を有する人工ニューラルネットワークの場合では、これは、出力計算における全体の行と列が除去され得ることを意味する。
重み行列で必要とされる唯一の演算は乗算であるため、枝刈りされたニューロンに対応する行と列は、結果に影響を与えることなしに除去され得る。この技術を使用すると、従来の枝刈り方法でも一般的であるように、行列のサイズが小さくなるが、疎行列を表現するために使用される指標(indices)は、行列毎には記憶されず、最終的な完全なサイズの出力を再構築するためにのみ、結果としての行列について記憶される。これは、更なる利益ももたらし得る。例えば、結果としての疎行列は、以下で更に詳細に説明されるように、「ブックキーピング」を扱うためのより少ない計算能力を必要とする構造を有し得る。
かなりな数の枝刈りされたニューロンが存在する限り、結果としての疎行列の乗算は、完全な行列の乗算よりも速い。それは、より多くのブックキーピング(すなわち、枝刈りされたニューロンが位置する指標を追跡すること)を必要とするが、より速い少ない乗算を必要とする。それは、従来の方法と比較して記憶及びメモリ空間も節約し、通常、疎行列では不可能である単一命令多重データ(SIMD)などのベクトル演算を容易にし、SIMDは演算をより速くし得る。正確にどれが「かなりな数の」枝刈りされたニューロンを構成するかは、ケースバイケースで変動する。しかし、どの場合でも、より少ない計算における利得が記録を維持することにおける損失を上回る、損益分岐点が存在するだろう。
更に、疎行列は、数学的に多くの異なるやり方で表現され得る。それは、特定の構造に対する正しい表現を使用することによって、この損益分岐点に到達するための閾値を更に低減させ得る可能性が高い。
最後に、当業者が理解するように、本明細書で示されている計算から行列の全体の行と列が除去されたときに、結果として生じる疎行列の次元は変化することとなる。結論として、ニューラルネットワークの最後の層が枝刈りされるならば、特定の出力を特定のクラスに関連付けることを可能とするために、クラスラベルファイルを更新する必要がある。別の一代替例は、最後の層を枝刈りしない。その場合、元々のクラスラベルファイルが、そのまま使用され得る。
本発明の様々な実施形態による、システム、方法、及びコンピュータプログラム製品の可能な実施態様のアーキテクチャ、機能、及び動作を示す図面のフローチャートとブロック図が、開示された。これに関して、フローチャート又はブロック図内の各ブロックは、(1以上の)特定の論理機能を実施するための1以上の実行可能な指示命令を含む、モジュール、セグメント、又はコードの部分を表し得る。ある代替的な実施態様では、ブロック内で記された機能が、図面で記されたのとは異なる順序で生じ得ることも留意されるべきである。例えば、連続して示された2つのブロックは、実際、実質的に同時に実行され得る。または、ブロックは、時々、含まれる機能に応じて、逆順に実行され得る。ブロック図及び/又はフローチャート図解の各ブロック、並びにブロック図及び/又はフローチャート図解内のブロックの組み合わせが、特定の機能若しくは動作を実行する、専用ハードウェアベースシステム、又は専用ハードウェアとコンピュータ指示命令の組み合わせによって実施され得る。
本明細書で使用される用語は、特定の実施形態を説明することのみを目的としており、本発明を限定することを意図していない。本明細書で使用される際に、単一形「a」、「an」、及び「the」は、文脈が明確にその逆を示している場合を除き、複数形も含むことが意図されている。「含む、備える(comprise)」及び/又は「含む、備える(comprising)」という用語は、この明細書で使用されるときに、述べられている特徴、完全体、ステップ、動作、要素、及び/又は構成要素の存在を特定するが、1以上の他の特徴、完全体、ステップ、動作、要素、構成要素、及び/又はそれらの群の存在又は追加を排除するものではないことが、更に理解される。
以下の特許請求の範囲内の全て手段又はステップと機能要素に対応する構造、材料、動作、及び等価物は、具体的に請求された他の請求された要素との組み合わせにおいて機能を実行するための任意の構造、材料、又は動作を含むことが意図されている。本発明の説明が、例示及び説明を目的として提示されてきたが、それは、網羅的なものであること、又は本発明を開示された形態に限定することを意図するものではない。本発明の範囲及び精神から逸脱することなく、多くの修正例及び変形例が、当業者には明らかであろう。例えば、本明細書で説明された方法は、独立した方法としてのみ実行され得るわけではなく、他の既知の方法とも組み合わされて、人工ニューラルネットワークの枝刈りを向上させる。本発明の原理及び実施の用途を最も優れて説明するため、他の当業者が、熟考された特定の使用に適した様々な変形例を有する様々な実施形態について、本発明を理解することを可能にするために、特定の実施形態が選ばれ説明された。

Claims (7)

  1. 埋め込み装置に特定の監視状況のための人工ニューラルネットワークを構成するための方法であって、
    前記人工ニューラルネットワークが訓練される全てのオブジェクトクラスの部分集合を形成する、前記監視状況に特有の幾つかのオブジェクトクラスを選択するステップ
    前記人工ニューラルネットワーク内のニューロンに対する起動頻度の値を含むデータベースにアクセスするステップであって、前記起動頻度の値がオブジェクトクラスに関する少なくとも1つの起動頻度の値を含む、アクセスするステップ、及び
    前記人工ニューラルネットワークから、前記選択されたオブジェクトクラスの前記部分集合に対する起動頻度閾値未満である起動頻度の値を有する前記ニューロンを除去するステップであって、前記除去されるニューロンの数は、前記人工ニューラルネットワークからの出力を計算するために必要な計算資源における低減が、前記除去されたニューロンについての記録を維持するために必要とされる計算資源における増加を上回るようなものである、除去するステップ、を含む、方法。
  2. 前記起動頻度閾値が、前記人工ニューラルネットワークの訓練/試験手順中に各クラス毎に決定された静的値である、請求項1に記載の方法。
  3. 前記起動頻度閾値が、前記人工ニューラルネットワークの性能に基づいて各クラスに対して適合的である、請求項1に記載の方法。
  4. 前記監視状況に特有の前記オブジェクトクラスの選択を、一定期間にわたって収集されたデータに基づいて精緻化すること、並びに
    前記オブジェクトクラスの前記精緻化された選択のために、前記選択するステップ、前記アクセスするステップ、及び前記除去するステップを繰り返すこと、を更に含む、請求項1から3のいずれか一項に記載の方法。
  5. 前記選択するステップ、前記アクセスするステップ、及び前記除去するステップのうちの少なくとも一部が、ユーザインターフェースを介して受信されたユーザ入力に応じて実行される、請求項1から4のいずれか一項に記載の方法。
  6. 完全に接続された人工ニューラルネットワークにおいて、ニューロンを除去することが、前記人工ニューラルネットワークの個々の層の数学的表現を形成する行列から行及び列を除去することに対応し、それによって、前記人工ニューラルネットワークからの前記出力を計算することにおいて必要とされる計算の回数を低減させる、請求項1から5のいずれか一項に記載の方法。
  7. 処理システムにおいて実行されたときに、前記処理システムに、特定の監視状況のための埋め込み装置に用いられる人工ニューラルネットワークを構成するための方法を実行させる指示を含む非一時的なコンピュータ可読記憶媒体であって、前記方法が、
    前記人工ニューラルネットワークが訓練される全てのオブジェクトクラスの部分集合を形成する、前記監視状況に特有の幾つかのオブジェクトクラスを選択するステップ、
    前記人工ニューラルネットワーク内のニューロンに対する起動頻度の値を含むデータベースにアクセスするステップであって、前記起動頻度の値がオブジェクトクラスに関する少なくとも1つの起動頻度の値を含む、アクセスするステップ、及び
    前記人工ニューラルネットワークから、前記選択されたオブジェクトクラスの前記部分集合に対する起動頻度閾値未満である起動頻度の値を有する前記ニューロンを除去するステップであって、前記除去されるニューロンの数は、前記人工ニューラルネットワークからの出力を計算するために必要な計算資源における低減が、前記除去されたニューロンについての記録を維持するために必要とされる計算資源における増加を上回るようなものである、除去するステップ、を含む非一時的なコンピュータ可読記憶媒体
JP2017231460A 2016-12-21 2017-12-01 人工ニューラルネットワークのクラスに基づく枝刈り Active JP6755849B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP16205831.7A EP3340129B1 (en) 2016-12-21 2016-12-21 Artificial neural network class-based pruning
EP16205831.7 2016-12-21

Publications (3)

Publication Number Publication Date
JP2018129033A JP2018129033A (ja) 2018-08-16
JP2018129033A5 JP2018129033A5 (ja) 2020-05-14
JP6755849B2 true JP6755849B2 (ja) 2020-09-16

Family

ID=57583087

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017231460A Active JP6755849B2 (ja) 2016-12-21 2017-12-01 人工ニューラルネットワークのクラスに基づく枝刈り

Country Status (6)

Country Link
US (1) US10552737B2 (ja)
EP (1) EP3340129B1 (ja)
JP (1) JP6755849B2 (ja)
KR (1) KR102110486B1 (ja)
CN (1) CN108229667B (ja)
TW (1) TWI698807B (ja)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108268947A (zh) * 2016-12-30 2018-07-10 富士通株式会社 用于提高神经网络的处理速度的装置和方法及其应用
US10892050B2 (en) * 2018-04-13 2021-01-12 International Business Machines Corporation Deep image classification of medical images
KR101989793B1 (ko) 2018-10-22 2019-06-17 한국기술교육대학교 산학협력단 컨볼루션 신경망을 위한 가속기 인식 가지 치기 방법 및 기록 매체
KR20200070831A (ko) 2018-12-10 2020-06-18 삼성전자주식회사 인공 신경망을 압축하기 위한 장치 및 방법
US11551093B2 (en) * 2019-01-22 2023-01-10 Adobe Inc. Resource-aware training for neural networks
KR102214837B1 (ko) * 2019-01-29 2021-02-10 주식회사 디퍼아이 컨벌루션 신경망 파라미터 최적화 방법, 컨벌루션 신경망 연산방법 및 그 장치
JP7099968B2 (ja) * 2019-01-31 2022-07-12 日立Astemo株式会社 演算装置
JP7225876B2 (ja) 2019-02-08 2023-02-21 富士通株式会社 情報処理装置、演算処理装置および情報処理装置の制御方法
DE102019202816A1 (de) * 2019-03-01 2020-09-03 Robert Bosch Gmbh Training neuronaler Netzwerke für effizientes Implementieren auf Hardware
KR102368962B1 (ko) 2019-03-22 2022-03-03 국민대학교산학협력단 멤리스터 어레이 회로를 제어하기 위한 게이트 회로를 포함하는 뉴럴 네트워크 시스템
JP7150651B2 (ja) * 2019-03-22 2022-10-11 株式会社日立ソリューションズ・テクノロジー ニューラルネットワークのモデル縮約装置
JP2022095999A (ja) * 2019-04-19 2022-06-29 国立大学法人北海道大学 ニューラル計算装置、および、ニューラル計算方法
KR20200129458A (ko) 2019-05-08 2020-11-18 삼성전자주식회사 인공 신경망 모델을 트레이닝하는 컴퓨팅 장치, 인공 신경망 모델을 트레이닝하는 방법 및 이를 저장하는 메모리 시스템
JP6787444B1 (ja) 2019-05-23 2020-11-18 沖電気工業株式会社 ニューラルネットワーク軽量化装置、ニューラルネットワーク軽量化方法およびプログラム
CN110210614B (zh) * 2019-05-31 2020-08-25 中科寒武纪科技股份有限公司 运算方法、装置及相关产品
US11514311B2 (en) * 2019-07-03 2022-11-29 International Business Machines Corporation Automated data slicing based on an artificial neural network
CN114341825A (zh) * 2019-08-29 2022-04-12 阿里巴巴集团控股有限公司 用于在神经网络中提供向量稀疏化的方法及系统
JP7111671B2 (ja) * 2019-09-05 2022-08-02 株式会社東芝 学習装置、学習システム、および学習方法
DE102019128715A1 (de) * 2019-10-24 2021-04-29 Krohne Messtechnik Gmbh Verfahren zur Erzeugung eines neuronalen Netzes für ein Feldgerät zur Vorhersage von Feldgerätfehlern und ein entsprechendes System
US11816574B2 (en) * 2019-10-25 2023-11-14 Alibaba Group Holding Limited Structured pruning for machine learning model
JP7396117B2 (ja) * 2020-02-27 2023-12-12 オムロン株式会社 モデル更新装置、方法、及びプログラム
JP7495833B2 (ja) 2020-07-07 2024-06-05 株式会社日立ソリューションズ・テクノロジー Dnnモデル圧縮システム
EP3945470A1 (en) * 2020-07-31 2022-02-02 Aptiv Technologies Limited Methods and systems for reducing the complexity of a computational network
GB202118066D0 (en) 2021-12-14 2022-01-26 Univ Dublin Class separation aware artificial neural network pruning method
US12061632B2 (en) * 2022-03-29 2024-08-13 Treasure Data, Inc. Interactive adaptation of machine learning models for time series data
KR20240028055A (ko) * 2022-08-24 2024-03-05 동국대학교 산학협력단 사이버 공격에 강인한 인공 신경망 구조 재구성 장치 및 방법

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5787408A (en) * 1996-08-23 1998-07-28 The United States Of America As Represented By The Secretary Of The Navy System and method for determining node functionality in artificial neural networks
JP2000298661A (ja) * 1999-04-15 2000-10-24 Fuji Xerox Co Ltd ニューラルネットワーク装置
US7308418B2 (en) * 2004-05-24 2007-12-11 Affinova, Inc. Determining design preferences of a group
JP4175296B2 (ja) * 2004-06-25 2008-11-05 キャタピラージャパン株式会社 建設機械のデータ処理装置及び建設機械のデータ処理方法
CN101310294A (zh) * 2005-11-15 2008-11-19 伯纳黛特·加纳 神经网络的训练方法
US7800490B2 (en) * 2008-01-09 2010-09-21 Sensormatic Electronics, LLC Electronic article surveillance system neural network minimizing false alarms and failures to deactivate
JP5860054B2 (ja) * 2010-10-27 2016-02-16 ソリド デザイン オートメーション インコーポレイティド まれな不良事象率を識別するための方法およびシステム
US9147155B2 (en) * 2011-08-16 2015-09-29 Qualcomm Incorporated Method and apparatus for neural temporal coding, learning and recognition
KR101359352B1 (ko) * 2012-06-28 2014-02-21 한국과학기술원 시각신경 회로장치 및 이를 이용한 시각신경 모방 시스템
US9406017B2 (en) * 2012-12-24 2016-08-02 Google Inc. System and method for addressing overfitting in a neural network
CN103209417B (zh) * 2013-03-05 2016-01-20 北京邮电大学 基于神经网络的频谱占用状态的预测方法以及装置
US9747554B2 (en) * 2013-05-24 2017-08-29 Qualcomm Incorporated Learning device with continuous configuration capability
US9721204B2 (en) * 2013-10-28 2017-08-01 Qualcomm Incorporated Evaluation of a system including separable sub-systems over a multidimensional range
US10373054B2 (en) * 2015-04-19 2019-08-06 International Business Machines Corporation Annealed dropout training of neural networks
CN107563497B (zh) * 2016-01-20 2021-03-19 中科寒武纪科技股份有限公司 用于稀疏人工神经网络的计算装置和运算方法
US11315018B2 (en) * 2016-10-21 2022-04-26 Nvidia Corporation Systems and methods for pruning neural networks for resource efficient inference

Also Published As

Publication number Publication date
CN108229667A (zh) 2018-06-29
TW201824093A (zh) 2018-07-01
EP3340129B1 (en) 2019-01-30
TWI698807B (zh) 2020-07-11
CN108229667B (zh) 2019-09-10
JP2018129033A (ja) 2018-08-16
KR102110486B1 (ko) 2020-05-13
EP3340129A1 (en) 2018-06-27
US20180181867A1 (en) 2018-06-28
KR20180072562A (ko) 2018-06-29
US10552737B2 (en) 2020-02-04

Similar Documents

Publication Publication Date Title
JP6755849B2 (ja) 人工ニューラルネットワークのクラスに基づく枝刈り
CN109844773B (zh) 使用卷积神经网络处理序列
US11556778B2 (en) Automated generation of machine learning models
US10810491B1 (en) Real-time visualization of machine learning models
CN106557563B (zh) 基于人工智能的查询语句推荐方法及装置
CN111523640B (zh) 神经网络模型的训练方法和装置
JP2019528502A (ja) パターン認識に適用可能なモデルを最適化するための方法および装置ならびに端末デバイス
WO2019210737A1 (zh) 对象预测方法及装置、电子设备和存储介质
EP3620982B1 (en) Sample processing method and device
KR20210032140A (ko) 뉴럴 네트워크에 대한 프루닝을 수행하는 방법 및 장치
US20220147877A1 (en) System and method for automatic building of learning machines using learning machines
JP2017224027A (ja) データのラベリングモデルに係る機械学習方法、コンピュータおよびプログラム
CN112990427A (zh) 域自适应的神经网络实现的装置和方法
CN113065525A (zh) 年龄识别模型训练方法、人脸年龄识别方法及相关装置
CN114358274A (zh) 训练用于图像识别的神经网络的方法和设备
CA3143928A1 (en) Dynamic image resolution assessment
KR102413588B1 (ko) 학습 데이터에 따른 객체 인식 모델 추천 방법, 시스템 및 컴퓨터 프로그램
CN111062477B (zh) 一种数据处理方法、装置及存储介质
JP2019095894A (ja) 推定装置、学習装置、学習済みモデル、推定方法、学習方法、及びプログラム
JP7507172B2 (ja) 情報処理方法、情報処理システム及び情報処理装置
CN111931058B (zh) 一种基于自适应网络深度的序列推荐方法和系统
US20210312231A1 (en) Neural network device
CN117827653A (zh) 一种模型问题定位方法及装置、设备、存储介质
CN114329174A (zh) 数据召回方法及装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200403

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200403

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20200403

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20200406

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200722

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200826

R150 Certificate of patent or registration of utility model

Ref document number: 6755849

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250