JP7229905B2 - ニューラルネットワーク縮約装置およびその方法 - Google Patents
ニューラルネットワーク縮約装置およびその方法 Download PDFInfo
- Publication number
- JP7229905B2 JP7229905B2 JP2019220172A JP2019220172A JP7229905B2 JP 7229905 B2 JP7229905 B2 JP 7229905B2 JP 2019220172 A JP2019220172 A JP 2019220172A JP 2019220172 A JP2019220172 A JP 2019220172A JP 7229905 B2 JP7229905 B2 JP 7229905B2
- Authority
- JP
- Japan
- Prior art keywords
- neural network
- learning data
- contraction
- learning
- invalid
- 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
Links
- 238000013528 artificial neural network Methods 0.000 title claims description 64
- 230000009467 reduction Effects 0.000 title claims description 54
- 238000000034 method Methods 0.000 title claims description 26
- 230000008602 contraction Effects 0.000 claims description 120
- 210000002569 neuron Anatomy 0.000 claims description 30
- 238000012549 training Methods 0.000 claims description 27
- 230000004913 activation Effects 0.000 claims description 14
- 238000003062 neural network model Methods 0.000 claims description 14
- 230000009471 action Effects 0.000 claims description 7
- 230000008030 elimination Effects 0.000 claims 2
- 238000003379 elimination reaction Methods 0.000 claims 2
- 238000012545 processing Methods 0.000 description 41
- 238000010586 diagram Methods 0.000 description 22
- 238000004364 calculation method Methods 0.000 description 15
- 238000013461 design Methods 0.000 description 13
- 238000013527 convolutional neural network Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 9
- 230000006835 compression Effects 0.000 description 6
- 238000007906 compression Methods 0.000 description 6
- 230000001186 cumulative effect Effects 0.000 description 6
- 238000012935 Averaging Methods 0.000 description 5
- 230000015654 memory Effects 0.000 description 5
- 230000006866 deterioration Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000004904 shortening Methods 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 230000008309 brain mechanism Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000000513 principal component analysis Methods 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/0088—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0495—Quantised networks; Sparse networks; Compressed networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
- G06V10/443—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
- G06V10/449—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
- G06V10/451—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
- G06V10/454—Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/762—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/771—Feature selection, e.g. selecting representative features from a multi-dimensional feature space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/10—Machine learning using kernel methods, e.g. support vector machines [SVM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Multimedia (AREA)
- Databases & Information Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- Biophysics (AREA)
- Business, Economics & Management (AREA)
- Game Theory and Decision Science (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- Biodiversity & Conservation Biology (AREA)
- Image Analysis (AREA)
Description
本発明は,ニューラルネットワークの縮約に関する。なお,本願明細書では,縮約とは,演算量の削減(compression)を意味する
生物の脳は,多数のニューロン(神経細胞)が存在し,各ニューロンは他の多数のニューロンからの信号入力と,また他の多数のニューロンへ信号を出力するような動きを行う。このような脳の仕組みをコンピュータで実現しようとしたものがDeep Neural Network(DNN)であり,生物の神経細胞ネットワークの挙動を模倣した工学モデルである。
DNNの一例として,物体認識や行動予測に有効な畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)がある。図1にCNNの構造の一例を示す。CNNは入力層,1層以上の中間層,および出力層と呼ばれる多層の畳み込み演算層により構成させる。N層目の畳み込み演算層では,N-1層目から出力された値を入力とし,この入力値に重みフィルタを畳み込むことで,得られた結果をN+1層目の入力へ出力する。このとき,重みフィルタのカーネル係数(重み係数)をアプリケーションに応じて適切な値に設定すること(学習)で,高い汎化性能を得ることができる。
DNNの一例として,物体認識や行動予測に有効な畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)がある。図1にCNNの構造の一例を示す。CNNは入力層,1層以上の中間層,および出力層と呼ばれる多層の畳み込み演算層により構成させる。N層目の畳み込み演算層では,N-1層目から出力された値を入力とし,この入力値に重みフィルタを畳み込むことで,得られた結果をN+1層目の入力へ出力する。このとき,重みフィルタのカーネル係数(重み係数)をアプリケーションに応じて適切な値に設定すること(学習)で,高い汎化性能を得ることができる。
近年,CNNを車載ECU(Electronic Control Unit)に実装することにより,自動運転や運転支援を実現する技術の開発が加速している。自動運転向けの大規模CNNを実現するために必要な演算量は100TOPs(Tera Operations)以上である。一方で,車載ECUの一種であるAD-ECU(Autonomous Driving - Electronic Control Unit)1に搭載可能なプロセッサの演算能力は数10TOPS(Tera Operation per Sec)程度であり,リアルタイム処理を実現することは困難である。そこで,図2に示すようにCNNの演算量削減(縮約)が必要である。しかし,縮約による認識精度低下の抑制と車載プロセッサの演算能力への適合を両立可能な縮約条件を探索する縮約設計は長期間を要する。以上の観点から,既存の縮約設計手法では,自動運転向けの大規模CNNに対して(1)縮約における認識精度の低下抑制および(2)縮約設計期間の短縮を両立することは困難である。
ここで,図5に,従来の縮約設計フローを示す。なお,本処理は,従来のニューラルネットワーク縮約装置で実行される。
まず,学習用データセット1001を入力として受け付け,縮約前ニューラルネットワークモデル(縮約前NNモデル)1003に対する縮約箇所および縮約率からなる初期縮約条件を決定する(S3)。次に,初期縮約条件に対して,最適縮約条件を反映した調整を行い縮約条件1005を算出する(S4)。そして,このそして,この縮約条件1005を用いて,縮約処理を実行する(S5)。このことで,暫定縮約ニューラルネットワークモデル(暫定縮約NNモデル)1006を特定する。次に,暫定縮約NNモデルと学習用データセット1001を用いて,再学習(チューニング)を実行する(S7)。そして,再学習(S6)が最後の学習用データセット1001および推論用データセット1002まで終わったかを判断する(S7)。この結果,終わっていれば,再学習の結果を縮約後ニューラルネットワークモデル(縮約後NNモデル)1007として格納する。終わっていなければ,再学習の結果に対して最適縮約条件探索処理を実行する(S8)。そして,最適縮約条件探索処理の結果である最適縮約条件をS4に用いる。
このような処理を行った場合,以下の課題がある。例えば,車載センサデータおよび学習用データセットには,縮約後NNモデル1007を用いた推論において誤認識を誘発する画像を多数包含している。これらは例えば,偶発的もしくは悪意のある第三者の攻撃により付加された誤認識を誘発する視認できない程度の軽微なノイズが含まれた画像や限られた特殊な環境を写像した汎化性が欠如した画像などに代表される。従来のCNN縮約設計では,縮約に用いる学習用画像に,これらの有害な画像(無効学習用画像)が含まれるため,(1) 縮約後DNNモデルの認識精度低下および(2)学習用画像枚数の膨大さに起因した縮約設計の長期化が課題であった。
上記の課題を解決するために,本発明では,学習用データセットに対して,縮約設計に必要もしくは有効な有効学習用データと不要もしくは有害な無効学習用データへ分類し,当該分類の結果に応じて,前記有効学習用データおよび無効学習用データの少なくとも一方を用いたデータ縮約設計に関する学習を実行する。
より詳細には,入力された学習用データセットを用いてニューラルネットワークを縮約するニューラルネットワーク縮約装置であって,前記学習用データセットに対して推論用データセットおよびのニューラルネットワークモデルを用いて算出される推論結果に対する影響値を算出し,前記影響値に基づいて,前記学習用データセットを,前記縮約に必要な有効学習用データおよび前記縮約に不要な無効学習用データに分類して,インデックス付学習用データセットを生成する学習用画像選別部と,前記インデックス付学習用データセットおよび前記ニューラルネットワークモデルに基づいて,前記ニューラルネットワークモデルを縮約するニューラルネットワーク縮約部とを有するニューラルネットワーク縮約装置である。さらに,本本発明には,上記ニューラルネットワーク縮約装置での縮約方法も含まれる。
本発明によれば,精度や学習時間の短縮といった認識性能を向上可能な反復学習(再学習)を行うことが可能になる。
以下,本発明の各実施例(1~5)の説明の前に,図6を用いて本発明の各実施例に共通する縮約設計フローを説明する。なお,本処理フローは,後述するニューラルネットワーク縮約装置212で実行される。また,図5の符号と共通する符号は,同様の処理ないしデータを示す。ここで,同様とは,行った処理や用いたデータにより全く同一でない処理ないしデータであるものも含まれる。
まず入力された学習用データセット1001および推論用データセット1002を用いて,学習用データセット1001に含まれる各データが推論結果へ与える影響値を推定する。そして,各学習用データに対して有効学習用データまたは無効学習用データのいずれかであるかの分類を行い,インデックス付学習用データセット1004が作成する(S1)。インデックス付学習用データセット1004の生成としては,例えば,インデックスを付加する。このインデックスの付与は,少なくとも一方への付与である。一方(例えば有効)への付与を行う態様では,インデックスが付与されていない学習用データセットを他方(例えば無効)と判断することが可能である。
また,他の例としては,分類した結果を,その結果に応じたアドレスの記憶媒体に格納することで実現することも可能である。
また,他の例としては,分類した結果を,その結果に応じたアドレスの記憶媒体に格納することで実現することも可能である。
次に,インデックス付学習用データセット1004のインデックスをもとに有効学習用データを選別する(S2)。そして,選別された有効学習用データを用いて,縮約前ニューラルネットワークモデル(縮約前NNモデル)1003に対する初期縮約条件を決定する(S3)。ここで,初期縮約条件決定(S3)では,前記インデックスを用いてもよい。具体的には,図7に示すように各ニューロンに対して,前記インデックスおよび活性化状態をもとに,縮約の優先順位を決定する。各ニューロンの縮約は優先順位が高い順にユーザ設定の演算量制約を縮約後NNモデル1007が充足するまで反復される。ここでニューロンの活性化とは,当該ニューロンが非ゼロの値をとることを指す。
以上をまとめると,有効学習用画像が低,無効学習用画像が高であるニューロンは除去するように縮約を行う。有効学習用画像と無効学習用画像のいずれもが低であるニューロンも除去する。また,有効学習用画像が高であれば無効学習用画像に対する活性化頻度に関わらず,当該ニューロンの縮約は見送る。さらに,本図で示す優先度に従って該当ニューロンを縮約することが望ましい。以上のように,有効学習用画像と無効学習用画像のニューロンの活性化頻度についての組み合わせを用いて,縮約を行うことがより好適である。なお,ここでの高,低は予め定めた基準値との比較で行うことが可能である。さらに,本図のうち,縮約優先度1,2の結果のみを利用してもよい。
次に,初期縮約条件に対して,最適縮約条件を反映した調整を行い縮約条件1005を算出する(S4)。そして,この縮約条件1005を用いて,縮約処理を実行する(S5)。このことで,暫定縮約NNモデル1006を特定する。
次に,暫定縮約NNモデル1006と選別された有効学習用画像を用いて,再学習を実行する(S6)。そして,再学習(S6)が最後の学習用データセット1001および推論用データセット1002まで終わったかを判断する(S7)。この結果,終わっていれば,再学習の結果を縮約後ニューラルネットワークモデル(縮約後NNモデル)1007として格納する。終わっていなければ,再学習の結果に対して最適縮約条件探索処理を実行する(S8)。そして,最適縮約条件探索処理の結果である最適縮約条件をS4に用いる。
なお,以下の各実施例では,学習用データセットとして画像を用いたが,それ以外のデータにも,各実施例を適用可能である。
以下,本発明の各実施例を,図面を用いて説明する。
図10および図11を用いて,実施例1の概要構成および概要処理フローを説明する。
まず,図10には本実施例のニューラルネットワーク縮約装置(NN縮約装置121)を構成する各構成要件が記載されている。ニューラルネットワーク縮約装置は,図10に示すように,学習用画像選別部B100,ニューラルネットワーク縮約部(NN縮約部)B200およびメモリB300を有する。
なお,ニューラルネットワーク縮約装置は,演算装置上に実装可能である。例えば,集積回路上に実装されるFPGA(英: field-programmable gate array)として実現可能である。また,後述する各構成およびサブモジュールは,ハードウエアとして実現してもよいし,ソフトウエア(プログラム)として実現してもよい。以下,その処理について説明する。
次に、図11を用いて、本実施例1の概要処理フローを説明する。
まず,ステップS100において,学習用画像選別部B100が,学習用画像セット1001-1,推論用画像セット1002-1ならびに縮約前NNモデル1003をメモリB300から受け付ける。そして,学習用画像選別部B100が,これらからインデックス付学習用画像セット1004-1を生成する。この処理は,図6のステップS1に該当する。
以下,各実施例では,学習の対象データが,画像である場合を例に説明する。このため,学習用画像セット1001-1は,図6の学習用データセット1001の一種である。また,推論用画像セット1002-1は,図6の推論用データセット1002の一種である。なお,学習用画像セット1001-1や推論用画像セット1002-1はそれぞれ複数の学習用画像や推論用画像で構成される。
ステップS200において,学習用画像選別部B100が,インデックス付学習用画像セット1004-1から,有効学習用画像1008を選別する。この処理は,図6のステップS2に該当する。この処理は,図6のステップS2に該当する。
ステップS300において,NN縮約部B200が,有効学習用画像1008が選別されたインデックス付学習用画像セット1004-1および縮約前NNモデル1003を受け付け,縮約処理を行う。これは,図6のS3~S8に対応する。
次に,実施例1における詳細構成および詳細フローを説明する。
図12は,学習用画像選別部B100の構成を示す図である。学習用画像選別部B100は,以下のサブモジュールから構成される。B110は,学習用画像セット1001-1,推論用データセット1002ならびに縮約前NNモデル1003から影響値を算出する影響値算出部B110である。B120は,影響部算出部B110からの入力を用いて不偏分散を算出する不偏分算出部B120である。B130は,入力データに対する処理を実行するサブモジュールを選択するセレクタB130である。B140は,入力データの平均値を算出する平均化部B140である。B150は,入力データに対してクラスタ処理を実行するPCA・クラスタリング部B150である。B160は,学習用画像に対してインデックスの付与もしくは分類を実行するインデックス付加部B160である。B170およびB180は,データを格納するROM(Read Only Memory)B170,B180である。
これらの各サブモジュールにより,学習用画像選別部B100では,以下の処理を実行する。その内容を,図13に示す。
S110において,影響値算出部B110が,縮約前NNモデル1003,推論用データセット1002および学習用画像セット1001-1を受け付ける。そして,影響値算出部B110が,学習用画像セット1001-1に含まれる各学習用画像が推論用画像kの推論結果に与える影響値を計算し,推論用画像kへ与える影響値として出力する。
次に,S120において,不偏分散算出部B120が,S110で算出された推論用画像kへ与える影響値を受け付け,推論用画像の違いに対する影響値の不偏分散を計算する。また,S130において,不偏分散算出部B120が,S120で算出された不偏分散の最大値を計算する。
次に,S140において,セレクタB130が,S130で計算された不偏分散の最大値をもとに,推論用画像kへ与える影響値を伝送する先のサブモジュールを選択する。具体的には,前記不偏分散の最大値varがROMB180より読みだした任意閾値th_varより大きい場合,PCA・クラスタリング部B150を選択する。一方で,前記不偏分散の最大値varがROMB180より読みだした任意閾値th_var以下の場合,平均化部B140を選択する。
次に,S150において,PCA・クラスタリング部(B150)がS110で算出した推論用画像kへ与える影響値に主成分分析およびクラスタリング処理を適用することで各推論用画像に対する影響値を算出する。ここでの影響値の算出は,全推論用画像に対して実行することがより好適である。
また,S160において,平均化部(B140)が,S110で算出された推論用画像kへ与える影響値に平均化の処理を適用することで各推論用画像に対する影響値を算出する。ここでの影響値の算出は,全推論用画像に対して実行することがより好適である。
次に,S170において,インデックス付加部B160が,S150あるいはS160において算出された影響値をもとに,各学習用画像に有効学習用画像1008あるいは無効学習用画像1009に分類する。この分類は,有効学習用画像1008あるいは無効学習用画像1009のいずれであるかを示すインデックスを付加して実現してもよい。このことで,インデックス付加部B160は,インデックス付学習用画像セット1004-1として出力する。具体的には,前記の各推論用画像に対する影響値がROMB180より読みだした閾値th_infより大きい場合は有効学習用画像1008とし,逆にth_inf以下の場合は無効学習用画像1009と判定する。ここで無効学習用画像1009とは,汎化性の乏しい学習用画像や悪意のある第三者により誤判定を誘発するノイズを付加された学習用画像のことを指す。そして,有効学習用画像1008とは学習用画像の中で無効学習用画像1009に属さないものを指す。
次に,図14および図15を用いて,NN縮約部B200の構成および詳細処理フローを説明する。
まず,図14を用いて,NN縮約部B200の詳細構成を説明する。NN縮約部B200は,図6におけるステップS3を実行する。NN縮約部B200は,また,以下のサブモジュールから構成される。B210は,無効学習用画像1009および有効学習用画像1008から縮約条件を決定する縮約条件決定部B210である。B220は,縮約条件に従って縮約処理を実行する縮約部B220である。B203は,有効学習用画像1008を入力し,暫定縮約NNモデル1006を用いて再学習を実行する再学習部B230である。
これらの各サブモジュールにより,NN縮約部B200では,以下の処理を実行する。その内容を,図15に示す。
ステップS210において,縮約条件決定部B210は,無効学習用画像1009と有効学習用画像1008から構成されるインデックス付学習用画像セット1004-1および縮約前NNモデル1003を受け付ける。そして,縮約条件決定部B210は,これらを用いて,ニューロンの縮約優先度に基づいた縮約箇所および縮約率からなる縮約条件を決定する。
次に,S220において,縮約部B220は,ステップS210で決定された縮約条件を用いて,NNモデルの縮約を実行する。この結果,縮約部B220は仮縮約NNモデルを出力する。
次に,ステップS230では,再学習部B230が,S220で出力された仮縮約NNモデルを,有効学習用画像1008を用いて再学習する。この結果,縮約後NNモデル1007が出力される。
次に,図16および図17を用いて,PCA・クラスタリング部B150の構成および詳細処理フローを説明する。
まず,図16を用いて,PCA・クラスタリング部B150を構成するサブモジュールを説明する。B151は,影響値を受け付け,累積寄与度および主成分得点を出力するPCA部B151である。B152は,累積寄与度,主成分得点および寄与度の下限値(閾値)であるth_pcaを用いて主成分特徴量を算出する次元圧縮部B152である。B153は,主成分特徴量を受け付け,クラスタリング処理によりその重心を各推論用画像に対する影響値として算出するクラスタリング部B153である。ROMB154は,th_pcaを格納しているROMB154である。
次に,図17を用いて,PCA・クラスタリング部B150の詳細処理フローを説明する。
まず,ステップS151において,PCA部B151が,推論用画像kへ与える影響値を受け付け,累積寄与度および主成分得点を出力する。
次に,ステップS152において,次元圧縮部B152が,ステップS151で出力された累積寄与度および主成分得点ならびにROMB154から読みだした累積寄与度の下限値th_pcaを受け付ける。そして,次元圧縮部B152は,累積寄与度が下限値th_pcaを下回らない範囲で次元圧縮を行い,主成分特徴量を出力する。
次に,ステップS153において,クラスタリング部B153が,主成分特徴量に対して,クラスタリングを行う。このとき各クラスタの重心を各推論用画像に対する影響値として出力する。各推論用画像に対する影響値は,すべての推論用画像に対する影響値としてもよい。
次に,図18および図19を用いて,NN縮約部B200を構成する縮約条件決定部B210の構成および詳細処理フローを説明する。
まず,図18に,縮約条件決定部B210を構成するサブモジュールを示す。B211は,縮約前NNモデル1003,無効学習用画像1009および有効学習用画像1008を受け付け,隠れ層活性化データを出力するニューラルネットワーク順伝搬部B211である。B212は,隠れ層活性化データと各閾値(th_)を入力し,縮約条件1005を出力する巣y九役条件計算部B212である。B213は,各閾値を格納しているROMB213である。
次に,図19に,縮約条件決定部B210の詳細処理フローを示す。
ステップS211では,ニューラルネットワーク順伝搬部B211が,縮約前NNモデル1003,有効学習用画像1008および無効学習用画像1009を受け付ける。そして,ニューラルネットワーク順伝搬部B211は,有効学習用画像1008および無効学習用画像1009をそれぞれ別々にNNへ順伝搬させる。このことで,ニューラルネットワーク順伝搬部B211は,それぞれ有効学習用画像伝搬時の隠れ層活性化データact_valおよび無効学習用画像伝搬時の隠れ層活性化データact_invalを出力する。ここで隠れ層活性化データとは,隠れ層を構成するニューロンが非ゼロの値をとる頻度を示す。
次に,ステップS212およびステップS213において,縮約条件計算部B212が,隠れ層活性化データと閾値との関係を判断する。具体的には,ステップS212において,act_valが任意閾値th_val以上の場合S213の処理へ進み,act_valが任意閾値th_val未満の場合はdon’t careとする(処理を終了する)。また,ステップS213において,縮約条件計算部B212が,act_invalが任意閾値th_inval未満の場合は,第1の縮約優先順位ニューロンと判定する。逆にact_invalが任意閾値th_inval以上の場合は,第2の縮約優先順位ニューロンと判定する。これらステップS212およびS213の処理順序は限定されない。つまり,ステップS213を先に処理したり,両方のステップを並行処理してもよい。
次に,ステップS214において,縮約条件計算部B212が,第1の縮約優先順位ニューロンと第2の縮約優先順位ニューロンを受け付ける。そして,縮約条件計算部B212は,各ニューロンの優先順位が高い順に縮約対象のニューロンと設定し,縮約箇所および縮約率からなる縮約条件を出力する。
次に,実施例2について説明する。実施例2は,学習用画像選別部B100のインデックス付加部B160へ入力される閾値th_infを自動的に決定する点で,実施例1と相違する。
図20に,実施例2の学習用画像選別部B100の構成を示す。本構成では,実施例1
図12)のROMB180の代わりに,推論部B180および閾値決定部B170が設けられる。また,図21に,実施例2の学習用画像選別部B100の処理フローを示す。本処理フローでは,実施例2(図13)に対して,ステップS180が追加されている。その他の構成および処理フローは,実施例1と同様であるため,上述の相違についてのみ説明する。
図12)のROMB180の代わりに,推論部B180および閾値決定部B170が設けられる。また,図21に,実施例2の学習用画像選別部B100の処理フローを示す。本処理フローでは,実施例2(図13)に対して,ステップS180が追加されている。その他の構成および処理フローは,実施例1と同様であるため,上述の相違についてのみ説明する。
ステップS180において,推論部B180が,推論用データセット1002および縮約前NNモデル1003を受け付ける。そして,推論部B181では,これらに対して,推論を実行し,推論結果の確からしさを出力する。そして,閾値決定部B170が,本推論結果の確からしさをもとに閾値th_infの値を決定する。この閾値th_infは,ステップS170のインデックス付加に用いられる。
次に,実施例3について説明する。実施例3は,上述した各実施例をAD-ECU1に適用した例である。本実施例3では,AD-ECU1内でNNの縮約をオンラインチューニングする。なお,AD-ECU1は,自動運転ないし運転支援用ECU(単に自動運転用ECUとも称する)である。
図2に,AD-ECU1の全体構成を示す。AD-ECU1は車などの移動体に設置される車載ECUの一種で,自動運転や運転支援のための情報処理を実行する。具体的には,カメラ21,LiDAR22(Light Detection and Ranging,Laser Imaging Detection and Ranging),Rader23などのセンサ類から外界情報を取得する。また,外界情報については,LiDAR22やRader23で検知された情報を融合し,外界情報とする。そして,これら外界情報を記憶部11に格納する。また,記憶部11に格納されている学習済NNと外界情報を用い,NN推論(ニューラルネットワーク推論)やDNN推論とともに,NN縮約装置121での縮約を実行する。そして,アクチュエータ,エンジンなどを制御する制御系へ制御内容を示す行動計画を出力し,自動運転や運転支援を実現する。
図22に,AD-ECU1内のNN縮約装置121の装置構成を示す。図10に示すNN縮約装置121と,学習用画像選別部B100,NN縮約部B200およびメモリB300が構成として共通である。これに加え,制御系への行動計画(推論結果)を出力する行動計画推論部X100(出力装置)を有する。他は,図10と同様の構成を有する。本NN縮約装置121では各センサ類から取得する情報である推論用画像セット1002-1や移動体のエンジン等の状況,また,通信I/Fを介して入力される情報を用いて,行動計画(推論結果)を制御系に出力する。この際,実施例1および2で説明した縮約処理や再学習処理を行う。このことで,
走行環境に応じたNNのチューニングを適切に行うことが可能であり,走行環境の変化による縮約後NNモデル1007の認識精度低下を抑制することができる。
走行環境に応じたNNのチューニングを適切に行うことが可能であり,走行環境の変化による縮約後NNモデル1007の認識精度低下を抑制することができる。
さらに,各実施例を自動運転や運転支援に適用することで,歩行者や自動車等のオブジェクト認識精度の向上および誤認知を誘発する学習用画像を用いた第三者のサイバー攻撃に対するセキュリティ強化が見込める。
次に,実施例4について説明する。実施例4は,実施例3と同様に,各実施例の機能をAD-ECU1に適用したものである。本実施例4では,AD-ECU1内でNNのファインチューニングを実行する。
図23に,実施例4のNN縮約装置121の装置構成を示す。本構成では,実施例3とは再学習部B230にて,ファインチューニング前のチューニング前NNモデルおよびインデックス付学習用画像セット1004-1(のうち有効学習用画像)を用いて,チューニング後NNモデルを算出する。このことで,移動体の走行環境に応じた微補正が可能になる。それゆえ,自動運転や運転支援において,歩行者や自動車等のオブジェクト認識精度の向上および誤認知を誘発する学習用画像を用いた第三者のサイバー攻撃に対するセキュリティ強化が見込める。
次に,実施例5について説明する。実施例5は,本発明を用いてAD-ECU内で特定の「注目オブジェクト」に特化してNNの縮約をチューニングする例である。図24に実施例5のNN縮約装置121の装置構成を示す。本構成では,「注目オブジェクト」に関する情報も学習用画像選別部B100に入力し,選別処理に用いる。自動運転や運転支援においては,人,他車,自転車などが注目オブジェクトとして用いられる。これらを,他の画像とは区別して処理することで,歩行者や自動車等の注目オブジェクト認識精度の向上および誤認知を誘発する学習用画像を用いた第三者のサイバー攻撃に対するセキュリティ強化が見込める。
以上の各実施例によれば,以下の効果を奏する。図8および図9にResNet110で識別問題の学習を行った場合の認識精度および学習時間の評価をそれぞれ示す。本発明の各実施例を適用することで,同一程度の認識精度に到達するまでの学習時間を1/10に削減した。さらに本発明を用いて無効画像を除去することで,同一の反復回数学習した場合の認識精度は4.2 pt.向上する効果が得られる。さらに,無効学習用画像の存在に起因した(1)縮約後NNモデル1007の誤認識を抑制することができる。また,無効学習用画像を再学習に利用する学習用データセットから除外することができるので,学習用画像枚数の膨大さに起因した(2)縮約設計期間の長期化も同時に抑制することが可能である。
また,本発明の実施例によれば,図3および図4に示すように,従来技術1,2に比較して,認識精度(認識劣化の抑止)や設計期間の短縮が可能になる。
なお,本技術は深層学習のみならず,SVM(Support Vector Machine)などの古典的な機械学習の分類器にも拡張的に適用することが可能である。
学習用画像選別部…B100,ニューラルネットワーク縮約部…B200,メモリ…B300,影響値算出部…B110,インデックス付加部…B160,不偏分散算出部…B120,セレクタ…B130,平均化部…B140,PCA・クラスタリング部…B150,縮約部…B220,再学習部…B230,縮約条件決定部…B210,PCA部…B151,次元圧縮部…B152,クラスタリング部…B153,ニューラルネットワーク順伝搬部…B211, S211,ROM…B170, B180, B154, B213,B190,縮約条件計算部…B212,推論部…B181,行動計画推論部… X100
Claims (15)
- 入力された学習用データセットを用いてニューラルネットワークを縮約するニューラルネットワーク縮約装置であって,
前記学習用データセットに対して推論用データセットおよびのニューラルネットワークモデルを用いて算出される推論結果に対する影響値を算出し,前記影響値に基づいて,前記学習用データセットを,前記縮約に必要な有効学習用データおよび前記縮約に不要な無効学習用データに分類して,インデックス付学習用データセットを生成する学習用画像選別部と,
前記インデックス付学習用データセットおよび前記ニューラルネットワークモデルに基づいて,前記ニューラルネットワークモデルを縮約するニューラルネットワーク縮約部とを有することを特徴とするニューラルネットワーク縮約装置。 - 請求項1に記載のニューラルネットワーク縮約装置であって,
前記学習用画像選別部は,前記有効学習用データおよび前記無効学習用データの少なくとも一方に自身を示すインデックスを付与して前記インデックス付学習用データセットを生成することを特徴とするニューラルネットワーク縮約装置。 - 請求項2に記載のニューラルネットワーク縮約装置であって,
前記学習用画像選別部は,前記有効学習用データおよび前記無効学習用データの両方に自身を示すインデックスを付与して前記インデックス付学習用データセットを生成することを特徴とするニューラルネットワーク縮約装置。 - 請求項1に記載のニューラルネットワーク縮約装置であって,
前記学習用画像選別部は,前記有効学習用データおよび前記無効学習用データのそれぞれを,異なるアドレスの記憶媒体に格納することで,前記インデックス付学習用データセットを生成することを特徴とするニューラルネットワーク縮約装置。 - 請求項1乃至4のいずれかに記載のニューラルネットワーク縮約装置であって,
前記ニューラルネットワーク縮約部は,縮約された前記ニューラルネットワークの再学習を,前記有効学習用データを用いて実行することを特徴とするニューラルネットワーク縮約装置。 - 請求項1乃至5のいずれかに記載のニューラルネットワーク縮約装置であって,
前記ニューラルネットワーク縮約部は,前記ニューラルネットワークを構成するニューロンに対する前記有効学習用データおよび前記無効学習用データによる活性化頻度の組み合わせを用いて,当該ニューロンに対する除去を行うかを決定し,前記縮約を実行することを特徴とするニューラルネットワーク縮約装置。 - 請求項6に記載のニューラルネットワーク縮約装置であって,
前記ニューラルネットワーク縮約部は,
前記活性化頻度が,前記有効学習用データが低,前記無効学習用データが高を示すニューロンの除去を,前記有効学習用データが低,前記無効学習用データが低を示すニューロンの除去よりも優先して実行することを特徴とするニューラルネットワーク縮約装置。 - 移動体に設置される自動運転用ECUであって,
センサから取得する外界情報およびニューラルネットワークを記憶する記憶装置と,
前記記憶装置に記憶されたニューラルネットワークを縮約する請求項1乃至7のいずれに記載のニューラルネットワーク縮約装置と,
縮約された前記ニューラルネットワークを用いて,前記移動体の制御系へ当該移動体の行動計画を出力する出力装置を有することを特徴とする自動運転用ECU。 - 入力された学習用データセットを用いてニューラルネットワークを縮約するニューラルネットワーク縮約装置を用いてニューラルネットワーク縮約方法であって,
前記学習用データセットに対して推論用データセットおよびのニューラルネットワークモデルを用いて算出される推論結果に対する影響値を算出し,
前記影響値に基づいて,前記学習用データセットを,前記縮約に必要な有効学習用データおよび前記縮約に不要な無効学習用データに分類して,インデックス付学習用データセットを生成し,
前記インデックス付学習用データセットおよび前記ニューラルネットワークモデルに基づいて,前記ニューラルネットワークモデルを縮約することを特徴とするニューラルネットワーク縮約方法。 - 請求項9に記載のニューラルネットワーク縮約方法であって,
前記有効学習用データおよび前記無効学習用データの少なくとも一方に自身を示すインデックスを付与して前記インデックス付学習用データセットを生成することを特徴とするニューラルネットワーク縮約方法。 - 請求項10に記載のニューラルネットワーク縮約方法であって,
前記有効学習用データおよび前記無効学習用データの両方に自身を示すインデックスを付与して前記インデックス付学習用データセットを生成することを特徴とするニューラルネットワーク縮約方法。 - 請求項9に記載のニューラルネットワーク縮約方法であって,
前記有効学習用データおよび前記無効学習用データのそれぞれを,異なるアドレスの記憶媒体に格納することで,前記インデックス付学習用データセットを生成することを特徴とするニューラルネットワーク縮約方法。 - 請求項9乃至12のいずれかに記載のニューラルネットワーク縮約方法であって,
縮約された前記ニューラルネットワークの再学習を,前記有効学習用データを用いて実行することを特徴とするニューラルネットワーク縮約方法。 - 請求項9乃至13のいずれかに記載のニューラルネットワーク縮約方法であって,
前記ニューラルネットワークを構成するニューロンに対する前記有効学習用データおよび前記無効学習用データによる活性化頻度の組み合わせを用いて,当該ニューロンに対する除去を行うかを決定し,前記縮約を実行することを特徴とするニューラルネットワーク縮約方法。 - 請求項14に記載のニューラルネットワーク縮約方法において,
前記活性化頻度が,前記有効学習用データが低,前記無効学習用データが高を示すニューロンの除去を,前記有効学習用データが低,前記無効学習用データが低を示すニューロンの除去よりも優先して実行することを特徴とするニューラルネットワーク縮約方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019220172A JP7229905B2 (ja) | 2019-12-05 | 2019-12-05 | ニューラルネットワーク縮約装置およびその方法 |
CN202080083675.0A CN114766032A (zh) | 2019-12-05 | 2020-10-30 | 神经网络压缩装置及其方法 |
US17/781,510 US20230005244A1 (en) | 2019-12-05 | 2020-10-30 | Neural network compression device and method for same |
PCT/JP2020/040924 WO2021111788A1 (ja) | 2019-12-05 | 2020-10-30 | ニューラルネットワーク縮約装置およびその方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019220172A JP7229905B2 (ja) | 2019-12-05 | 2019-12-05 | ニューラルネットワーク縮約装置およびその方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021089628A JP2021089628A (ja) | 2021-06-10 |
JP7229905B2 true JP7229905B2 (ja) | 2023-02-28 |
Family
ID=76220197
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019220172A Active JP7229905B2 (ja) | 2019-12-05 | 2019-12-05 | ニューラルネットワーク縮約装置およびその方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230005244A1 (ja) |
JP (1) | JP7229905B2 (ja) |
CN (1) | CN114766032A (ja) |
WO (1) | WO2021111788A1 (ja) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005100121A (ja) | 2003-09-25 | 2005-04-14 | Fuji Photo Film Co Ltd | 識別処理に用いる特徴量の種類と識別条件を決定する装置、プログラムならびにプログラムを記録した記録媒体、および特定内容のデータを選別する装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0793160A (ja) * | 1993-09-20 | 1995-04-07 | Toshiba Corp | 推論装置 |
JPH08314880A (ja) * | 1995-05-15 | 1996-11-29 | Omron Corp | ニューラル・ネットワークの学習方法およびニューラル・ネットワーク・システム |
JP6789894B2 (ja) * | 2017-07-31 | 2020-11-25 | 株式会社東芝 | ネットワーク係数圧縮装置、ネットワーク係数圧縮方法およびプログラム |
JP7024687B2 (ja) * | 2018-11-07 | 2022-02-24 | 日本電信電話株式会社 | データ分析システム、学習装置、方法、及びプログラム |
CN112446476A (zh) * | 2019-09-04 | 2021-03-05 | 华为技术有限公司 | 神经网络模型压缩的方法、装置、存储介质和芯片 |
-
2019
- 2019-12-05 JP JP2019220172A patent/JP7229905B2/ja active Active
-
2020
- 2020-10-30 US US17/781,510 patent/US20230005244A1/en active Pending
- 2020-10-30 WO PCT/JP2020/040924 patent/WO2021111788A1/ja active Application Filing
- 2020-10-30 CN CN202080083675.0A patent/CN114766032A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005100121A (ja) | 2003-09-25 | 2005-04-14 | Fuji Photo Film Co Ltd | 識別処理に用いる特徴量の種類と識別条件を決定する装置、プログラムならびにプログラムを記録した記録媒体、および特定内容のデータを選別する装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2021111788A1 (ja) | 2021-06-10 |
US20230005244A1 (en) | 2023-01-05 |
JP2021089628A (ja) | 2021-06-10 |
CN114766032A (zh) | 2022-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11636670B2 (en) | Method for recognizing object in image | |
EP3652715A1 (en) | Integrated system for detection of driver condition | |
CN111079780B (zh) | 空间图卷积网络的训练方法、电子设备及存储介质 | |
WO2018235448A1 (ja) | 多層ニューラルネットワークのニューロンの出力レベル調整方法 | |
CN111310814A (zh) | 利用不平衡正负样本对业务预测模型训练的方法及装置 | |
US20200151573A1 (en) | Dynamic precision scaling at epoch granularity in neural networks | |
CN113825978B (zh) | 用于定义路径的方法和设备、存储装置 | |
CN114241388A (zh) | 基于时空记忆信息的视频实例分割方法和分割装置 | |
CN111242176B (zh) | 计算机视觉任务的处理方法、装置及电子系统 | |
US20200110985A1 (en) | Artifical neural network circuit | |
JP7229905B2 (ja) | ニューラルネットワーク縮約装置およびその方法 | |
JP7047778B2 (ja) | ニューラルネットワーク学習装置、ニューラルネットワーク学習方法、及び、ニューラルネットワーク学習プログラム | |
CN113610220A (zh) | 神经网络模型的训练方法、应用方法及装置 | |
WO2020065908A1 (ja) | パターン認識装置、パターン認識方法およびパターン認識プログラム | |
US11403498B2 (en) | Method for classifying a capture taken by a sensor | |
US11507670B2 (en) | Method for testing an artificial intelligence model using a substitute model | |
CN111652350A (zh) | 神经网络可视化解释方法及弱监督定位物体方法 | |
Kawashima et al. | The aleatoric uncertainty estimation using a separate formulation with virtual residuals | |
CN115861625A (zh) | 一种处理噪声标签的自标签修改方法 | |
TWI767122B (zh) | 模型建構方法、系統及非揮發性電腦可讀取記錄媒體 | |
CN111353944B (zh) | 一种图像重建方法、装置及计算机可读存储介质 | |
US20190355134A1 (en) | Balancing diversity and precision of generative models with complementary density estimators | |
US20240221166A1 (en) | Point-level supervision for video instance segmentation | |
US12049220B2 (en) | Method and system for determining weights for an attention based method for trajectory prediction | |
US20240096115A1 (en) | Landmark detection with an iterative neural network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220530 |
|
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: 20230207 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230215 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7229905 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |