JP6715900B2 - ニューラルネットワークのパラメータを適応させるための方法および装置 - Google Patents
ニューラルネットワークのパラメータを適応させるための方法および装置 Download PDFInfo
- Publication number
- JP6715900B2 JP6715900B2 JP2018167990A JP2018167990A JP6715900B2 JP 6715900 B2 JP6715900 B2 JP 6715900B2 JP 2018167990 A JP2018167990 A JP 2018167990A JP 2018167990 A JP2018167990 A JP 2018167990A JP 6715900 B2 JP6715900 B2 JP 6715900B2
- Authority
- JP
- Japan
- Prior art keywords
- dimension
- padding
- value
- neural network
- parameter
- 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 83
- 238000000034 method Methods 0.000 title claims description 69
- 230000008569 process Effects 0.000 claims description 8
- 238000003491 array Methods 0.000 claims description 2
- 238000004590 computer program Methods 0.000 claims description 2
- 238000013527 convolutional neural network Methods 0.000 description 10
- 238000011176 pooling Methods 0.000 description 10
- 239000011159 matrix material Substances 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 210000002569 neuron Anatomy 0.000 description 2
- 230000003542 behavioural effect Effects 0.000 description 1
- 238000013529 biological neural network Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- 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
-
- 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/045—Combinations of 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Neurology (AREA)
- Image Analysis (AREA)
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Length Measuring Devices By Optical Means (AREA)
- Tires In General (AREA)
Description
本開示は、一以上のプロセッサによって、前記方法が実行されるように構成されるコンピュータプログラムをさらに提供する。
図1に示すように、ニューラルネットワークの少なくとも一の層における未処理層の重みパラメータに対し、ステップ110において、一または複数の次元を選択する。
例えば、候補値の集合のサブセット{y|y=n×B、nは5以上の正の整数である}から最小値10を目標値として選択してもよい。
図3に示す実施形態において、ニューラルネットワークの設計アーキテクチャ(例えば、ニューラルネットワークのアルゴリズム設計者によって特定のアプリケーションおよび目標に基づいて予め定義されている)に基づいて、所定の層における特徴データ300に対して、予め3つの畳み込みカーネルを設定する。すなわち、畳み込みカーネル301、畳み込みカーネル302、及び畳み込みカーネル303。したがって、図3に示された実施形態において、重みパラメータの数量における次元のディメンション値は3である。
別の実施形態において、幅と高さにおいて同時にパディングすることも可能である。
重みパラメータの幅および/または高さに対してパディングする場合、重みパラメータ(畳み込みカーネルごと)の形状が変更する。
以上の記載では、畳み込みニューラルネットワークを例示として、本開示に係るニューラルネットワークのパラメータを適応させる方法の原理を述べたが、本開示の原理は、他の種類のニューラルネットワークにも適用することができる。
図8に示すように、例示装置800は、一以上のプロセッサ810を含むことができる。プロセッサ810は、汎用CPU、GPU、専用ニューラルネットワークプロセッサまたはアクセラレータなどのようなデータ処理能力および/または指令の実行能力を有する任意の形態の処理手段であってもよい。
プロセッサ810は、バスシステムおよび/または他の形態の接続機構(図示せず)を介して、メモリ830およびI/Oインターフェイス830に接続することができる。
810 プロセッサ
820 メモリ
830 I/Oインターフェイス
900 例示装置
910 検出器
920 パッダー
930 プロセッサ
Claims (16)
- ニューラルネットワークのパラメータを適応させる方法であって、
前記ニューラルネットワークの少なくとも一つの層における層ごとの重みパラメータについて、一または複数の次元を選択するステップと、
前記重みパラメータの前記一または複数の次元における次元ごとのディメンション値を決定するステップと、
前記ニューラルネットワークの演算をサポートするハードウェアのパラメータに基づいて次元ごとに対応目標値を決定するステップと、
前記重みパラメータの前記一または複数の次元のうちの少なくとも一つの次元におけるディメンション値が前記対応目標値よりも小さい場合、パディング後に得られた重みパラメータの前記一または複数の次元における次元ごとのディメンション値が前記対応目標値に等しくなるように、前記少なくとも一つの次元において重みパラメータに対してパディングするステップと
を含み、
前記対応目標値を決定するステップは、
次元ごとの前記対応目標値のための候補値の集合を、前記ニューラルネットワークの演算をサポートするハードウェアの使用率に基づいて決定することと、
次元ごとの前記対応目標値を、前記ニューラルネットワークの演算をサポートするハードウェアによって処理することができる前記重みパラメータの形式および/または数量に基づいて決定することと
を含み、
前記重みパラメータの、次元ごとの前記対応目標値は、次元ごとの前記対応目標値のための候補値の集合における最小値であり、前記重みパラメータの対応する次元におけるディメンション値より大きいまたはそれに等しい、方法。 - 前記一または複数の次元は、幅、高さ、深さ、および数量のうちの少なくとも一つを含む請求項1に記載の方法。
- 前記一または複数の次元は第1次元を含み、
前記重みパラメータの前記第1次元における前記対応目標値は、前記第1次元に関連付けられた候補値の集合のサブセットに基づいて決定され、
前記サブセットにおける候補値のそれぞれは、前記重みパラメータの第1次元のディメンション値より大きいまたはそれに等しい、請求項1に記載の方法。 - 前記重みパラメータの前記第1次元における前記対応目標値は、前記サブセットにおける最小の候補値である、請求項3に記載の方法。
- 前記第1次元は深さまたは数量を含み、
前記集合は第1パラメータと第2パラメータとの一以上の公倍数を含み、
前記第1パラメータと前記第2パラメータはハードウェアパラメータに基づいて予め定められている、請求項3に記載の方法。 - 前記一または複数の次元は、第1次元と、少なくとも一つの第2次元とを含み、
前記重みパラメータの前記第1次元と前記少なくとも一つの第2次元における前記対応目標値は、候補値配列の集合のサブセットに基づいて決定され、
前記集合における前記候補値配列のぞれぞれは、前記第1次元に対応する第1候補値と、前記少なくとも一つの第2次元にそれぞれ対応する少なくとも一つの第2候補値とを含み、
前記サブセットにおける各候補値配列のうちの候補値のそれぞれは、前記重みパラメータの対応する次元におけるディメンション値より大きいまたはそれに等しい、請求項1に記載の方法。 - 前記重みパラメータの前記第1次元における前記対応目標値は、前記サブセットに基づいて定められた最小の第1候補値である、請求項6に記載の方法。
- 前記重みパラメータの前記第1次元と前記少なくとも一つの第2次元における前記対応目標値は、それぞれ、前記サブセットの第1候補値配列における対応する候補値であり、前記第1候補値配列のすべての候補値の積は、前記サブセットにおける他の候補値配列のうちのすべての候補値の積より小さい、請求項6に記載の方法。
- 前記第1次元は、幅、または高さ、または深さを含み、
ハードウェアパラメータに基づいて予め定められた、前記重みパラメータの前記第1次元の前記少なくとも一つの第2次元における前記対応目標値のそれぞれの組み合わせに対し、前記集合は一以上の対応する候補値配列を含む、請求項6に記載の方法。 - 前記少なくとも一つの次元における次元のそれぞれに対して、前記次元に対応するパディングモードを決定し、
前記パディングモードは、前記次元において、前記重みパラメータに対してパディングする一以上のパディング位置、パディングの量及びパディングの値を設定する規則のうちの少なくとも一つを示す、請求項1に記載の方法。 - 前記一または複数の次元は、幅、高さ、深さ及び数量のうちの少なくとも一つを含み、
前記幅に対応するパディングモードが示す情報は、幅の方向の左側及び/または右側及び/または中央の一以上の位置において、一列または複数列パディングすることを含み、
前記高さに対応するパディングモードが示す情報は、高さの方向の上方及び/または下方及び/または中央の一以上の位置において、一行または複数行パディングすることを含み、
前記深さに対応するパディングモードが示す情報は、深さの方向の前方及び/または後方及び/または中央の一つまたは複数の位置において、一行または複数行パディングすることを含み、
前記数量に対応するパディングモードが示す情報は、前記重みパラメータのシーケンスの方向の前及び/または後及び/または中央の一以上の位置において、一以上のパディング値をパディングすることを含む、請求項10に記載の方法。 - 前記少なくとも一つの次元が幅および/または高さおよび/または深さを含む場合、前記重みパラメータの属する層の特徴データに対して、対応する幅および/または高さおよび/または深さにおいてパディングすることを含む、請求項1に記載の方法。
- 前記特徴データがパディングされる次元ごとのパディング位置およびパディング量は、前記重みパラメータの対応する次元におけるパディング位置およびパディング量とそれぞれ同じである、請求項12に記載の方法。
- 前記ニューラルネットワークは畳み込みニューラルネットワークである、請求項1に記載の方法。
- ニューラルネットワークのパラメータを適応させるための装置であって、
前記ニューラルネットワークの少なくとも一つの層における層ごとの重みパラメータに対して選択された一または複数の次元について、前記重みパラメータの前記一または複数の次元における次元ごとのディメンション値を決定することと、前記ニューラルネットワークの演算をサポートするハードウェアのパラメータに基づいて次元ごとに対応目標値を決定することとを行うように構成された検出器と、
前記重みパラメータの前記一または複数の次元のうちの少なくとも一つの次元におけるディメンション値が前記対応目標値よりも小さい場合、パディング後に得られた重みパラメータの前記一または複数の次元における次元ごとのディメンション値が前記対応目標値に等しくなるように、前記一または複数の次元において前記重みパラメータについてパディングするように構成されたパッダーと
を含み、
前記対応目標値を決定することは、
次元ごとの前記対応目標値のための候補値の集合を、前記ニューラルネットワークの演算をサポートするハードウェアの使用率に基づいて決定することと、
次元ごとの前記対応目標値を、前記ニューラルネットワークの演算をサポートするハードウェアによって処理することができる前記重みパラメータの形式および/または数量に基づいて決定することと
を含み、
前記重みパラメータの、次元ごとの前記対応目標値は、次元ごとの前記対応目標値のための候補値の集合における最小値であり、前記重みパラメータの対応する次元におけるディメンション値より大きいまたはそれに等しい、装置。 - 一以上のプロセッサによって、前記請求項1乃至14のいずれか一項に記載の方法が実行されるように構成されるコンピュータプログラム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710874198.XA CN107633295B (zh) | 2017-09-25 | 2017-09-25 | 用于适配神经网络的参数的方法和装置 |
CN201710874198.X | 2017-09-25 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019061664A JP2019061664A (ja) | 2019-04-18 |
JP6715900B2 true JP6715900B2 (ja) | 2020-07-01 |
Family
ID=61102463
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018167990A Active JP6715900B2 (ja) | 2017-09-25 | 2018-09-07 | ニューラルネットワークのパラメータを適応させるための方法および装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11461632B2 (ja) |
EP (1) | EP3460725A1 (ja) |
JP (1) | JP6715900B2 (ja) |
KR (1) | KR102217761B1 (ja) |
CN (1) | CN107633295B (ja) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102548718B1 (ko) * | 2017-06-07 | 2023-06-28 | 삼성전자주식회사 | 전자 장치 및 그 제어 방법 |
CN107633295B (zh) * | 2017-09-25 | 2020-04-28 | 南京地平线机器人技术有限公司 | 用于适配神经网络的参数的方法和装置 |
CN109190758B (zh) * | 2018-09-04 | 2021-06-15 | 地平线(上海)人工智能技术有限公司 | 用于展开卷积神经网络的张量数据的方法和装置 |
CN111079890A (zh) * | 2018-10-19 | 2020-04-28 | 中兴通讯股份有限公司 | 一种数据处理方法及装置、计算机可读存储介质 |
CN111832585B (zh) * | 2019-04-16 | 2023-04-18 | 杭州海康威视数字技术股份有限公司 | 图像处理的方法和装置 |
CN110188865B (zh) * | 2019-05-21 | 2022-04-26 | 深圳市商汤科技有限公司 | 信息处理方法及装置、电子设备和存储介质 |
CN110515626B (zh) * | 2019-08-20 | 2023-04-18 | Oppo广东移动通信有限公司 | 深度学习计算框架的代码编译方法及相关产品 |
CN110598855B (zh) * | 2019-09-23 | 2023-06-09 | Oppo广东移动通信有限公司 | 深度学习模型生成方法、装置、设备及存储介质 |
CN111610963B (zh) * | 2020-06-24 | 2021-08-17 | 上海西井信息科技有限公司 | 芯片结构及其乘加计算引擎 |
CN113919405B (zh) * | 2020-07-07 | 2024-01-19 | 华为技术有限公司 | 数据处理方法、装置与相关设备 |
KR102427737B1 (ko) * | 2020-09-18 | 2022-08-01 | 네이버 주식회사 | 표현적 병목 현상이 최소화된 인공 신경망을 기반으로 하는 전자 장치 및 그의 동작 방법 |
TWI752713B (zh) | 2020-11-04 | 2022-01-11 | 臺灣發展軟體科技股份有限公司 | 資料處理電路及故障減輕方法 |
CN112270376A (zh) * | 2020-11-10 | 2021-01-26 | 北京百度网讯科技有限公司 | 模型训练方法、装置、电子设备、存储介质和开发系统 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4918742A (en) | 1988-04-22 | 1990-04-17 | The Boeing Company | Image processing using multi-pass convolution with small kernels |
US4918472A (en) * | 1989-06-21 | 1990-04-17 | Reed Thomas T | Waterproof camera window |
US20050157939A1 (en) * | 2004-01-16 | 2005-07-21 | Mark Arsenault | Processes, products and systems for enhancing images of blood vessels |
JP5527340B2 (ja) | 2012-02-27 | 2014-06-18 | 日本電気株式会社 | ベクトル処理装置およびベクトル処理方法 |
JP6598479B2 (ja) * | 2014-03-31 | 2019-10-30 | キヤノン株式会社 | 画像処理装置、その制御方法、および制御プログラム |
US11016742B2 (en) * | 2015-06-24 | 2021-05-25 | Altera Corporation | Channel sizing for inter-kernel communication |
US10796220B2 (en) * | 2016-05-24 | 2020-10-06 | Marvell Asia Pte, Ltd. | Systems and methods for vectorized FFT for multi-dimensional convolution operations |
US20170344876A1 (en) | 2016-05-31 | 2017-11-30 | Samsung Electronics Co., Ltd. | Efficient sparse parallel winograd-based convolution scheme |
RU2016138608A (ru) * | 2016-09-29 | 2018-03-30 | Мэджик Лип, Инк. | Нейронная сеть для сегментации изображения глаза и оценки качества изображения |
CN106650922B (zh) * | 2016-09-29 | 2019-05-03 | 清华大学 | 硬件神经网络转换方法、计算装置、软硬件协作系统 |
US10037490B2 (en) * | 2016-12-13 | 2018-07-31 | Google Llc | Performing average pooling in hardware |
CN107103113B (zh) * | 2017-03-23 | 2019-01-11 | 中国科学院计算技术研究所 | 面向神经网络处理器的自动化设计方法、装置及优化方法 |
US11347964B2 (en) * | 2017-08-07 | 2022-05-31 | Renesas Electronics Corporation | Hardware circuit |
WO2019053835A1 (ja) * | 2017-09-14 | 2019-03-21 | 三菱電機株式会社 | 演算回路、演算方法、およびプログラム |
CN107633295B (zh) | 2017-09-25 | 2020-04-28 | 南京地平线机器人技术有限公司 | 用于适配神经网络的参数的方法和装置 |
CN107832839B (zh) * | 2017-10-31 | 2020-02-14 | 南京地平线机器人技术有限公司 | 执行卷积神经网络中的运算的方法和装置 |
-
2017
- 2017-09-25 CN CN201710874198.XA patent/CN107633295B/zh active Active
-
2018
- 2018-04-23 US US15/960,119 patent/US11461632B2/en active Active
- 2018-08-29 EP EP18191465.6A patent/EP3460725A1/en not_active Withdrawn
- 2018-09-07 JP JP2018167990A patent/JP6715900B2/ja active Active
- 2018-09-21 KR KR1020180113485A patent/KR102217761B1/ko active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
EP3460725A1 (en) | 2019-03-27 |
US20190095790A1 (en) | 2019-03-28 |
US11461632B2 (en) | 2022-10-04 |
JP2019061664A (ja) | 2019-04-18 |
KR102217761B1 (ko) | 2021-02-18 |
CN107633295B (zh) | 2020-04-28 |
CN107633295A (zh) | 2018-01-26 |
KR20190035556A (ko) | 2019-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6715900B2 (ja) | ニューラルネットワークのパラメータを適応させるための方法および装置 | |
JP7271667B2 (ja) | 行列の空間局所性変換 | |
US20230195831A1 (en) | Methods and systems for implementing a convolution transpose layer of a neural network | |
CN108229655B (zh) | 卷积神经网络(cnn)处理方法和设备 | |
JP7035080B2 (ja) | 代替ループ限界値 | |
US10802956B2 (en) | Accessing prologue and epilogue data | |
EP3891663A1 (en) | Neural network processor | |
TWI740274B (zh) | 用於在使用加法器之多維張量中存取資料之系統、電腦實施方法及設備 | |
CN109564585B (zh) | 基于点积的处理元件 | |
Chen et al. | Zara: A novel zero-free dataflow accelerator for generative adversarial networks in 3d reram | |
Gu et al. | DLUX: A LUT-based near-bank accelerator for data center deep learning training workloads | |
Yang et al. | AUTO-PRUNE: Automated DNN pruning and mapping for ReRAM-based accelerator | |
CN114792124A (zh) | 在硬件中实施扩张卷积 | |
CN113344172A (zh) | 将卷积映射到通道卷积引擎 | |
JP2022181161A (ja) | ハードウェアにおけるスパース行列乗算 | |
Arora et al. | CoMeFa: Deploying Compute-in-Memory on FPGAs for Deep Learning Acceleration | |
Yang et al. | APQ: Automated DNN pruning and quantization for ReRAM-based accelerators | |
CN115115023A (zh) | 用于生成关于卷积层权重的损失函数的梯度的方法和系统 | |
JP2023518717A (ja) | 機械学習アクセラレータの電力削減 | |
CN114595811A (zh) | 用于执行深度学习操作的方法和设备 | |
CN117492838A (zh) | 访问序言和结尾数据 | |
TWI841631B (zh) | 用於矩陣的空間地域轉換之方法及處理器電路 | |
US20240126617A1 (en) | Deep fusion of kernel execution | |
TWI841632B (zh) | 用於矩陣的空間地域轉換之方法及系統 | |
CN110163352B (zh) | 电路规划结果产生方法与系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190118 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20191220 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200114 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200409 |
|
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: 20200526 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200609 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6715900 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 |