JP2018018422A - 予測装置、予測方法および予測プログラム - Google Patents
予測装置、予測方法および予測プログラム Download PDFInfo
- Publication number
- JP2018018422A JP2018018422A JP2016150221A JP2016150221A JP2018018422A JP 2018018422 A JP2018018422 A JP 2018018422A JP 2016150221 A JP2016150221 A JP 2016150221A JP 2016150221 A JP2016150221 A JP 2016150221A JP 2018018422 A JP2018018422 A JP 2018018422A
- Authority
- JP
- Japan
- Prior art keywords
- learning
- gpu
- nodes
- prediction
- batch size
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 61
- 238000004364 calculation method Methods 0.000 claims description 65
- 230000008569 process Effects 0.000 claims description 42
- 238000013527 convolutional neural network Methods 0.000 claims description 34
- 230000006870 function Effects 0.000 claims description 18
- 230000006854 communication Effects 0.000 claims description 10
- 238000012886 linear function Methods 0.000 claims description 6
- 238000004891 communication Methods 0.000 claims description 5
- 238000013528 artificial neural network Methods 0.000 abstract description 11
- 238000012545 processing Methods 0.000 description 30
- 238000011176 pooling Methods 0.000 description 10
- 239000013598 vector Substances 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000001994 activation Methods 0.000 description 7
- 230000004913 activation Effects 0.000 description 4
- 230000009466 transformation Effects 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012417 linear regression Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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/08—Learning methods
-
- 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/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Image Analysis (AREA)
Abstract
Description
TEpoch=(NFile×TGPU)/(NNode×NGPU×NSubbatch) ・・・(1)
ここで、TEpochは前記学習時間、NNodeは前記ノード台数、NSubbatchは前記サブバッチ数、NFileは総学習データ数、NGPUは各ノードが有するGPU数、TGPUは各GPUが1回の重み更新量を算出するのに要する時間である。
NBatch=(NNode×NGPU×NSubbatch×TAllreduce)/TGPU ・・・(2)
ここで、NBatchは前記平均ミニバッチサイズ、NNodeは前記ノード台数、NSubbatchは前記サブバッチ数、NGPUは各ノードが有するGPU数、TGPUは各GPUが1回の重み更新量を算出するのに要する時間、TAllreduceは前記CPUが通信を行って重みを更新するのに要する時間である。
前記TGPUは、前記CPUが重み更新量を算出するのに必要な各処理に要する時間の総和であってもよい。
この場合、複数の前記サブバッチ数について、前記各処理に要する時間を計測してフィッティングを行うことにより、前記一次関数を定める定数を算出するパラメータ算出部を備えるのが望ましい。
この場合、前記判定部は、前記平均ミニバッチサイズが予め定めた範囲に収まる前記ノード台数および前記サブバッチ数の組のうち、前記学習時間が最小となる組を特定してもよい。
あるいは、前記判定部は、前記平均ミニバッチサイズが予め定めた範囲に収まる前記ノード台数および前記サブバッチ数の組のうち、前記ノード台数が最小となる組を特定してもよい。
また、前記判定部は、前記平均ミニバッチサイズが予め定めた範囲に収まる前記ノード台数および前記サブバッチ数の組のうち、前記ノード台数と前記学習時間との積が最小となる組を特定してもよい。
まずは、畳み込みニューラルネットワーク(Convolutional Neural Network:CNN)および重みの学習について説明する。次いで、複数のノード(計算機クラスタ)を用いてミニバッチ学習を行う学習システムを説明する。その上で、学習時間やミニバッチサイズを予測する手法を詳しく説明する。
W←W−r*dW ・・・(1)
rは学習係数と呼ばれるスカラ量であり、更新の度に小さな値にしてもよいし、常に一定の値であってもよい。dWはコスト関数の重みに対する微分を表したものである。すなわち、重みの更新には、現時点での重みWと、微分値dWとが用いられる。
バッファARResultBufの排他制御を獲得するまで待機する。なお、本処理に要する時間をTLockARResult_GPUと表記し、他の処理も同様とする。
前回のFetchARResultの後に、バッファARResultBufが更新されている場合、パラメータWeightsにバッファARResultBufの値をコピーする。
ストレージ13からサブバッチ数NSubbatch個の学習データを読み込む。
読み込んだ学習データの画像に対して、透視投影変換、射影変換、弾性ひずみ(Elastic distortion)、レンズ効果、クロッピング、左右反転、RGB値に対する乱数乗算などの変形を加える。
変形後の学習データに対して、畳み込み演算および逆拡散計算を行う。本処理の詳細は後述する。
上記のパラメータWeightsおよび逆拡散計算による勾配に基づいて、微分値すなわち重み更新量Gradを計算する。
バッファGradBufの排他制御を獲得するまで待機する。
前回のUpdateGradientの後に、バッファGradBufが更新されている場合、ComputeUpdateValで得られた重み更新量GradをバッファGradBufにコピーし、更新されていない場合、バッファGradBufに加算する。
TGPU=
TLockARResult_GPU +
+TFetchARResult +
TLoadImage +
TDeformImage +
TCNN +
TComputeUpdateVal +
TLockGradient_GPU +
TUpdateGradient ・・・(2)
バッファGradBufの排他制御を獲得するまで待機する。
学習スレッドによって格納されたバッファGradBufが更新されている場合、その総和をパラメータSendBufに代入する。
MPIランクをn(n=0〜NNode−1)としたとき、バッファARResultBufに格納された最新の値の{NParam×n/NNode}〜{NParam×(n+1)/NNode}番目の要素をバッファOldWeightsにコピーする。ここで、NParamは学習すべき全重み数である。
バッファSendBufに、パラメータOldWeightsと、前回の重み更新量との差分に関するパラメータDeltaWeightsを加算する。
Allreduce命令を発行してバッファSendBufを全ノードで加算し、その結果をバッファRecvBufに代入する。この時点で、バッファRecvBufには更新された重みが格納される。
バッファRecvBufおよびパラメータOldWeightsを用いて、重み更新前後の差分をパラメータDeltaWeightsに代入する。
バッファARResultBufの排他制御を獲得するまで待機する。
バッファRecvBufをバッファARResultBufにコピーする。
TAllreduce=
TLockGradient_AR +
TSumGradient +
TUpdateOldWeights +
TAddMomentum +
TMPI_Allreduce +
TUpdateMomentum +
TLockARResult_AR +
TUpdateARResult ・・・(3)
NNode×NGPU×TAllreduce/TGPU ・・・(4)
NBatch=(NNode×NGPU×NSubbatch×TAllreduce)/TGPU ・・・(5)
TEpoch=NFile×TAllreduce/NBatch
=(NFile×TGPU)/(NNode×NGPU×NSubbatch) ・・・(6)
まずは、上記(2)式に基づくTGPUの算出について説明する。
TLockARResult_GPUは各学習スレッドのロック時間の総和であり、下記(2A)式で表される。
TFetchARResultは前回のFetchARResultの後に、バッファARResultBufが更新されているか否かに依存する。更新されている確率は、TAllreduce>TGPUであればTGPU/TAllreduceであり、TAllreduce<TGPUであれば1と仮定できる。よって、TFetchARResultは下記(2B)式で表される。
TFetchARResult = α1×NParam×min(TGPU/TAllreduce,1)
・・・(2B)
ここで、α1は学習システムに応じた固定パラメータであり、パラメータ算出部32によって予め算出されている。
TLoadImageはストレージ13からサブバッチ数NSubbatch個の学習データを読み込むのに要する時間であり、下記(2C)式で表される。
TLoadImage = α2×NSubbatch+β2 ・・・(2C)
ここで、α2,β2は学習システムに応じた固定パラメータであり、パラメータ算出部32によって予め算出されている。
TDeformImageはサブバッチ数NSubbatch個の学習データに変形を加えるのに要する時間であり、下記(2D)式で表される。
TDeformImage = α3×NSubbatch+β3 ・・・(2D)
ここで、α3,β3は学習システムに応じた固定パラメータであり、パラメータ算出部32によって予め算出されている。
TCNNは畳み込み演算および逆拡散計算、具体的には図8に示すアルゴリズムを実行するのに要する時間である。
画像を列ベクトルに変換する。l層目におけるこの処理に要する時間は、上記l層目のマップサイズxlおよびマップ数mlならびに畳み込みフィルタサイズcを用いて下記(2E1’)式で表される。
Tim2col_l=α11l×xl×c2×ml-1×NSubbatch+β11l
・・・(2E1’)
ここで、α11l,β11lは学習システムに応じた固定パラメータであり、パラメータ算出部32によって予め算出されている。
そして、本処理に要する合計時間は下記(2E1)式で表される。
列ベクトルに対して畳み込みを行う。l層目におけるこの処理に要する時間は下記(2E2’)式で表される。
Tconvolution_l=α12l×xl 2×NSubbatch×ml×c2×ml-1+β12l
・・・(2E2’)
ここで、α12l,β12lは学習システムに応じた固定パラメータであり、パラメータ算出部32によって予め算出されている。
そして、本処理に要する合計時間は下記(2E2)式で表される。
全結合処理を行う。より詳しくは、特徴マップの全要素を使った線形結合と活性化処理であり、全結合層が複数層連続する場合には、線形結合と活性化処理とが繰り返される。l層目におけるこの処理に要する時間は下記(2E3’)式で表される。
Tfc_l=α13l×NSubbatch×ml×xl-1 2×ml-1+β13l ・・・(2E3’)
ここで、α13l,β13lは学習システムに応じた固定パラメータであり、パラメータ算出部32によって予め算出されている。
そして、本処理に要する合計時間は下記(2E3)式で表される。
バイアスの加算および活性化処理であり、l層目におけるこの処理に要する時間は下記(2E4’)式で表される。
Tactivation_l=α14l×xl 2×ml×NSubbatch+β14l ・・・(2E4’)
ここで、α14l,β14lは学習システムに応じた固定パラメータであり、パラメータ算出部32によって予め算出されている。
そして、本処理に要する合計時間は下記(2E4)式で表される。
プーリング処理であり、l層目におけるこの処理に要する時間は、l層目のプーリンググリッドサイズplを用いて下記(2E5’)式で表される。
Tpooling_l=α15l×pl 2×xl 2×ml×NSubbatch+β15l
・・・(2E5’)
ここで、α15l,β15lは学習システムに応じた固定パラメータであり、パラメータ算出部32によって予め算出されている。
そして、本処理に要する合計時間は下記(2E5)式で表される。
列ベクトル画像に再変換する。この処理に要する時間は下記(2E6)式で表される。
Tc2f=α16×xl 2×ml×NSubbatch+β16 ・・・(2E6)
ここで、α16,β16は学習システムに応じた固定パラメータであり、パラメータ算出部32によって予め算出されている。
バイアスの加算であり、この処理に要する時間は下記(2E7)式で表される。
Tbias=α17×mL×NSubbatch+β17 ・・・(2E7)
ここで、α17,β17は学習システムに応じた固定パラメータであり、パラメータ算出部32によって予め算出されている。
ソフトマックス処理であり、この処理に要する時間は下記(2E8)式で表される。
Tsoftmax=α18×mL×NSubbatch ・・・(2E8)
ここで、α18は学習システムに応じた固定パラメータであり、パラメータ算出部32によって予め算出されている。
コスト関数の、ソフトマックス関数の入力に対する微分計算であり、この処理に要する時間は下記(2E9)式で表される。
Tsoftmax_B=α19×mL×NSubbatch ・・・(2E9)
ここで、α19は学習システムに応じた固定パラメータであり、パラメータ算出部32によって予め算出されている。
将来のベクトルに対する逆拡散処理であり、l層目におけるこの処理に要する時間は下記(2E10’)式で表される。
Tdedx_fc_l=α20l×NSubbatch×xl 2×ml×ml+1+β20l
・・・(2E10’)
ここで、α20l,β20lは学習システムに応じた固定パラメータであり、パラメータ算出部32によって予め算出されている。
そして、本処理に要する合計時間は下記(2E10)式で表される。
将来のベクトルに対する逆拡散処理であり、l層目におけるこの処理に要する時間は下記(2E11’)式で表される。
Tdedx_conv=α21l×xl+1 2×NSubbatch×c2×ml×ml+1+β21l
・・・(2E11’)
ここで、α21l,β21lは学習システムに応じた固定パラメータであり、パラメータ算出部32によって予め算出されている。
そして、本処理に要する合計時間は下記(2E11)式で表される。
c2fの逆演算であり、この処理に要する時間は下記(2E12)式で表される。
Tc2f_B=α22×xl 2×ml×NSubbatch+β22 ・・・(2E12)
ここで、α22,β22は学習システムに応じた固定パラメータであり、パラメータ算出部32によって予め算出されている。
im2colの逆演算であり、l層目におけるこの処理に要する時間は下記(2E13’)式で表される。
Tim2col_B_l=α23l×xl 2×c2×ml×NSubbtach+β23l
・・・(2E13’)
ここで、α23l,β23lは学習システムに応じた固定パラメータであり、パラメータ算出部32によって予め算出されている。
そして、本処理に要する合計時間は下記(2E13)式で表される。
プーリングの逆演算であり、l層目におけるこの処理に要する時間は下記(2E14’)式で表される。
Tpooling_B=α24l×xl 2×ml×NSubbatch+β24l ・・・(2E14’)
ここで、α24l,β24lは学習システムに応じた固定パラメータであり、パラメータ算出部32によって予め算出されている。
そして、本処理に要する合計時間は下記(2E14)式で表される。
コスト関数の、活性化関数の入力に対する微分計算であり、l層目におけるこの処理に要する時間は下記(2E15’)式で表される。
Tactivation_B=α25l×xl 2×ml×NSubbatch+β25l
・・・(2E15’)
ここで、α25l,β25lは学習システムに応じた固定パラメータであり、パラメータ算出部32によって予め算出されている。
そして、本処理に要する合計時間は下記(2E15)式で表される。
コスト関数の、重みに対する微分計算であり、l層目におけるこの処理に要する時間は下記(2E16’)式で表される。
Tdedw_l=α26l×cl-1 2×ml-1×ml×xl 2×NSubbatch
+β26l ・・・(2E16’)
ここで、α26l,β26lは学習システムに応じた固定パラメータであり、パラメータ算出部32によって予め算出されている。
そして、本処理に要する合計時間は下記(2E16)式で表される。
コスト関数の、バイアスに対する微分計算であり、l層目におけるこの処理に要する時間は下記(2E17’)式で表される。
Tdedb_l=α27l×ml×xl 2×NSubbatch+β27l ・・・(2E17’)
ここで、α27l,β27lは学習システムに応じた固定パラメータであり、パラメータ算出部32によって予め算出されている。
そして、本処理に要する合計時間は下記(2E17)式で表される。
TCNN=
Tim2col +
Tconvolution +
Tfc +
Tactivation +
Tpooling +
Tc2f +
Tbias +
Tsoftmax +
Tsoftmax_B +
Tdedx_fc +
Tdedx_conv +
Tc2f_B +
Tim2col_B +
Tpooling_B +
Tactivation_B +
Tdedw +
Tdedb ・・・(2E)
[TComputeUpdateVal]
TComputeUpdateValは長さNParamのベクトル同士の演算に要する時間であり、下記(2F)式で表される。
TComputeUpdateVal=α4×NParam ・・・(2F)
ここで、α4は学習システムに応じた固定パラメータであり、パラメータ算出部32によって予め算出されている。
TLockGradient_GPUは下記(2G)式で表される。
TLockGradient_GPU=(TSumGradient/NGPU)2/(2×TAllreduce)
・・・(2G)
なお、TSumGradientは後述する(3B)式で表される。
TUpdateGradientは主にホストメモリへの転送時間であり、下記(2H)式で表される。
TUpdateGradient=α5×NParam ・・・(2H)
ここで、α5は学習システムに応じた固定パラメータであり、パラメータ算出部32によって予め算出されている。
続いて、上記(3)式に基づくTAllreduceの算出について説明する。
TLockGradient_ARはTLockARResult_GPUと同様に下記(3A)式で表される。
TLockTrResutl_A=NGPU×TUpdateGradient 2/(2×TGPU)
・・・(3A)
TSumGradientはTFetchARResultと同様に考えることができ、下記(3B)式で表される。
TSumGradient=α31×NGPU×NParam×min(TAllreduce/TGPU,1)
・・・(3B)
ここで、α31は学習システムに応じた固定パラメータであり、パラメータ算出部32によって予め算出されている。
TUpdateOldWeightsはNNodeに反比例した長さのベクトル計算を行うため、下記(3C)式で表される。
TSumGradient=α32×NParam/NNode ・・・(3C)
ここで、α32は学習システムに応じた固定パラメータであり、パラメータ算出部32によって予め算出されている。
TAddMomentumはNNodeに反比例した長さのベクトル計算を行うため、下記(3D)式で表される。
TAddMomentum=α33×NParam/NNode ・・・(3D)
ここで、α33は学習システムに応じた固定パラメータであり、パラメータ算出部32によって予め算出されている。
TMPI_AllreduceはAllreduceによる足し合わせを2ノードずつ行うとして、下記(3E)式で表される。
TMPI_Allreduce=(α34×log2NNode+β34)×NParam
・・・(3E)
ここで、α34,β34は学習システムに応じた固定パラメータであり、パラメータ算出部32によって予め算出されている。
TUpdateMomentumはNNodeに反比例した長さのベクトル計算を行うため、下記(3F)式で表される。
TUpdateMomentum=α35×NParam/NNode ・・・(3F)
ここで、α35は学習システムに応じた固定パラメータであり、パラメータ算出部32によって予め算出されている。
TLockARResult_ARはTLockGradient_ARと同様に下記(3G)式で表される。
TLockARResult_AR=NGPU×TFetchARResult 2/(2×TGPU)
・・・(3G)
TUpdateARResultは長さNParamの配列のメモリコピーであるから、下記(3E)式で表される。
TUpdateARResult=α36×NParam ・・・(3E)
ここで、α36は学習システムに応じた固定パラメータであり、パラメータ算出部32によって予め算出されている。
11 CPU
12 GPU
13 ストレージ
21 畳み込み層
22 プーリング部
23 多層ニューラルネットワーク構造
31 予測部
32 パラメータ算出部
41 NParam算出部
42 TGPU・TAllreduce算出部
43 TEpoch算出部
44 NBatcch算出部
Claims (13)
- それぞれがCPUおよびGPUを有する複数のノードから構成され、前記CPUが前記GPUを用いて複数の学習データに基づく畳み込みニューラルネットワーク用の重み更新量を算出するとともに、ノード間で前記重み更新量を通信して重みを更新する学習システムにおける学習時間および/または1回の重み更新に用いられる平均学習データ数である平均ミニバッチサイズを予測する予測装置であって、
畳み込みニューラルネットワーク構造を示すパラメータと、ノード台数と、各GPUに一括処理させる学習データ数であるサブバッチ数と、に基づいて、前記学習時間および/または前記平均ミニバッチサイズを予測する予測部を備える予測装置。 - 前記予測部は、下記(1)式に基づいて前記学習時間を予測する、請求項1に記載の予測装置。
TEpoch=(NFile×TGPU)/(NNode×NGPU×NSubbatch) ・・・(1)
ここで、TEpochは前記学習時間、NNodeは前記ノード台数、NSubbatchは前記サブバッチ数、NFileは総学習データ数、NGPUは各ノードが有するGPU数、TGPUは各GPUが1回の重み更新量を算出するのに要する時間。 - 前記予測部は、下記(2)式に基づいて平均ミニバッチサイズを予測する、請求項1または2に記載の予測装置。
NBatch=(NNode×NGPU×NSubbatch×TAllreduce)/TGPU ・・・(2)
ここで、NBatchは前記平均ミニバッチサイズ、NNodeは前記ノード台数、NSubbatchは前記サブバッチ数、NGPUは各ノードが有するGPU数、TGPUは各GPUが1回の重み更新量を算出するのに要する時間、TAllreduceは前記CPUが通信を行って重みを更新するのに要する時間。 - 前記TAllreduceは、前記CPUが通信を行って重みを更新するのに必要な各処理に要する時間の総和である、請求項3に記載の予測装置。
- 前記TGPUは、前記CPUが重み更新量を算出するのに必要な各処理に要する時間の総和である、請求項2乃至4のいずれかに記載の予測装置。
- 前記各処理に要する時間は、前記サブバッチ数についての一次関数で与えられる、請求項4または5に記載の予測装置。
- 複数の前記サブバッチ数について、前記各処理に要する時間を計測してフィッティングを行うことにより、前記一次関数を定める定数を算出するパラメータ算出部を備える、請求項6に記載の予測装置。
- 前記予測部によって予測された前記平均ミニバッチサイズが予め定めた範囲に収まるか否かを判定する判定部を備える請求項1乃至7のいずれかに記載の予測装置。
- 前記判定部は、前記平均ミニバッチサイズが予め定めた範囲に収まる前記ノード台数および前記サブバッチ数の組のうち、前記学習時間が最小となる組を特定する、請求項8に記載の予測装置。
- 前記判定部は、前記平均ミニバッチサイズが予め定めた範囲に収まる前記ノード台数および前記サブバッチ数の組のうち、前記ノード台数が最小となる組を特定する、請求項8に記載の予測装置。
- 前記判定部は、前記平均ミニバッチサイズが予め定めた範囲に収まる前記ノード台数および前記サブバッチ数の組のうち、前記ノード台数と前記学習時間との積が最小となる組を特定する、請求項8に記載の予測装置。
- それぞれがCPUおよびGPUを有する複数のノードから構成され、前記CPUが前記GPUを用いて複数の学習データに基づく畳み込みニューラルネットワーク用の重み更新量を算出するとともに、ノード間で前記重み更新量を通信して重みを更新する学習システムにおける学習時間および/または1回の重み更新に用いられる平均学習データ数である平均ミニバッチサイズを予測する予測方法であって、
畳み込みニューラルネットワーク構造を示すパラメータと、ノード台数と、各GPUに一括処理させる学習データ数であるサブバッチ数と、に基づいて、前記学習時間および/または前記平均ミニバッチサイズを予測する予測方法。 - それぞれがCPUおよびGPUを有する複数のノードから構成され、前記CPUが前記GPUを用いて複数の学習データに基づく畳み込みニューラルネットワーク用の重み更新量を算出するとともに、ノード間で前記重み更新量を通信して重みを更新する学習システムにおける学習時間および/または1回の重み更新に用いられる平均学習データ数である平均ミニバッチサイズを予測する予測プログラムであって、コンピュータを、
畳み込みニューラルネットワーク構造を示すパラメータと、ノード台数と、各GPUに一括処理させる学習データ数であるサブバッチ数と、に基づいて、前記学習時間および/または前記平均ミニバッチサイズを予測する予測手段として機能させる予測プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016150221A JP6635265B2 (ja) | 2016-07-29 | 2016-07-29 | 予測装置、予測方法および予測プログラム |
US15/439,304 US20180032865A1 (en) | 2016-07-29 | 2017-02-22 | Prediction apparatus, prediction method, and prediction program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016150221A JP6635265B2 (ja) | 2016-07-29 | 2016-07-29 | 予測装置、予測方法および予測プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018018422A true JP2018018422A (ja) | 2018-02-01 |
JP6635265B2 JP6635265B2 (ja) | 2020-01-22 |
Family
ID=61009651
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016150221A Active JP6635265B2 (ja) | 2016-07-29 | 2016-07-29 | 予測装置、予測方法および予測プログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US20180032865A1 (ja) |
JP (1) | JP6635265B2 (ja) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108764250A (zh) * | 2018-05-02 | 2018-11-06 | 西北工业大学 | 一种运用卷积神经网络提取本质图像的方法 |
CN109727376A (zh) * | 2018-12-29 | 2019-05-07 | 北京沃东天骏信息技术有限公司 | 生成配置文件的方法、装置及售货设备 |
WO2020031281A1 (ja) * | 2018-08-07 | 2020-02-13 | 日本電気株式会社 | 情報処理装置、情報処理方法、及びコンピュータ読み取り可能な記録媒体 |
WO2020045314A1 (ja) * | 2018-08-27 | 2020-03-05 | 日本電信電話株式会社 | 照合装置、照合方法および照合プログラム |
WO2020095729A1 (ja) * | 2018-11-09 | 2020-05-14 | 日本電信電話株式会社 | 分散深層学習システムおよびデータ転送方法 |
CN111160531A (zh) * | 2019-12-30 | 2020-05-15 | 北京迈格威科技有限公司 | 神经网络模型的分布式训练方法、装置及电子设备 |
JP2020135908A (ja) * | 2019-02-18 | 2020-08-31 | 日本放送協会 | 復号装置、ホログラム再生装置、及び復号方法 |
EP4050521A1 (en) | 2021-02-26 | 2022-08-31 | Fujitsu Limited | Machine learning program, machine learning method, and information processing device |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10943171B2 (en) * | 2017-09-01 | 2021-03-09 | Facebook, Inc. | Sparse neural network training optimization |
CN108734211B (zh) * | 2018-05-17 | 2019-12-24 | 腾讯科技(深圳)有限公司 | 图像处理的方法和装置 |
US20200050971A1 (en) * | 2018-08-08 | 2020-02-13 | International Business Machines Corporation | Minibatch Parallel Machine Learning System Design |
EP3640856A1 (en) * | 2018-10-19 | 2020-04-22 | Fujitsu Limited | A method, apparatus and computer program to carry out a training procedure in a convolutional neural network |
CN111273953B (zh) * | 2018-11-19 | 2021-07-16 | Oppo广东移动通信有限公司 | 模型处理方法、装置、终端及存储介质 |
CN110059813B (zh) * | 2019-02-13 | 2021-04-06 | 创新先进技术有限公司 | 利用gpu集群更新卷积神经网络的方法、装置及设备 |
KR20210157636A (ko) | 2020-06-22 | 2021-12-29 | 삼성전자주식회사 | 가속기, 가속기의 동작 방법 및 이를 포함한 가속기 시스템 |
US12106201B2 (en) * | 2020-09-30 | 2024-10-01 | Stmicroelectronics S.R.L. | Reconfigurable hardware buffer in a neural networks accelerator framework |
US20220201295A1 (en) * | 2020-12-21 | 2022-06-23 | Electronics And Telecommunications Research Institute | Method, apparatus and storage medium for image encoding/decoding using prediction |
CN113033784A (zh) * | 2021-04-18 | 2021-06-25 | 沈阳雅译网络技术有限公司 | 一种针对cpu和gpu设备搜索神经网络结构的方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0660050A (ja) * | 1992-08-11 | 1994-03-04 | Hitachi Ltd | ニューラルネットワークの学習支援装置 |
US20140142929A1 (en) * | 2012-11-20 | 2014-05-22 | Microsoft Corporation | Deep neural networks training for speech and pattern recognition |
-
2016
- 2016-07-29 JP JP2016150221A patent/JP6635265B2/ja active Active
-
2017
- 2017-02-22 US US15/439,304 patent/US20180032865A1/en not_active Abandoned
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0660050A (ja) * | 1992-08-11 | 1994-03-04 | Hitachi Ltd | ニューラルネットワークの学習支援装置 |
US20140142929A1 (en) * | 2012-11-20 | 2014-05-22 | Microsoft Corporation | Deep neural networks training for speech and pattern recognition |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108764250B (zh) * | 2018-05-02 | 2021-09-17 | 西北工业大学 | 一种运用卷积神经网络提取本质图像的方法 |
CN108764250A (zh) * | 2018-05-02 | 2018-11-06 | 西北工业大学 | 一种运用卷积神经网络提取本质图像的方法 |
JPWO2020031281A1 (ja) * | 2018-08-07 | 2021-08-02 | 日本電気株式会社 | 情報処理装置、情報処理方法、及びプログラム |
WO2020031281A1 (ja) * | 2018-08-07 | 2020-02-13 | 日本電気株式会社 | 情報処理装置、情報処理方法、及びコンピュータ読み取り可能な記録媒体 |
WO2020045314A1 (ja) * | 2018-08-27 | 2020-03-05 | 日本電信電話株式会社 | 照合装置、照合方法および照合プログラム |
JP2020035006A (ja) * | 2018-08-27 | 2020-03-05 | 日本電信電話株式会社 | 照合装置、照合方法および照合プログラム |
JP7091940B2 (ja) | 2018-08-27 | 2022-06-28 | 日本電信電話株式会社 | 照合装置、照合方法および照合プログラム |
WO2020095729A1 (ja) * | 2018-11-09 | 2020-05-14 | 日本電信電話株式会社 | 分散深層学習システムおよびデータ転送方法 |
JP2020077300A (ja) * | 2018-11-09 | 2020-05-21 | 日本電信電話株式会社 | 分散深層学習システムおよびデータ転送方法 |
CN109727376A (zh) * | 2018-12-29 | 2019-05-07 | 北京沃东天骏信息技术有限公司 | 生成配置文件的方法、装置及售货设备 |
JP2020135908A (ja) * | 2019-02-18 | 2020-08-31 | 日本放送協会 | 復号装置、ホログラム再生装置、及び復号方法 |
JP7212543B2 (ja) | 2019-02-18 | 2023-01-25 | 日本放送協会 | 復号装置、ホログラム再生装置、及び復号方法 |
CN111160531A (zh) * | 2019-12-30 | 2020-05-15 | 北京迈格威科技有限公司 | 神经网络模型的分布式训练方法、装置及电子设备 |
CN111160531B (zh) * | 2019-12-30 | 2023-09-22 | 北京迈格威科技有限公司 | 神经网络模型的分布式训练方法、装置及电子设备 |
EP4050521A1 (en) | 2021-02-26 | 2022-08-31 | Fujitsu Limited | Machine learning program, machine learning method, and information processing device |
Also Published As
Publication number | Publication date |
---|---|
JP6635265B2 (ja) | 2020-01-22 |
US20180032865A1 (en) | 2018-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6635265B2 (ja) | 予測装置、予測方法および予測プログラム | |
US11568258B2 (en) | Operation method | |
US10726336B2 (en) | Apparatus and method for compression coding for artificial neural network | |
US20190065934A1 (en) | Apparatus and methods for forward propagation in fully connected layers of convolutional neural networks | |
US20180260709A1 (en) | Calculating device and method for a sparsely connected artificial neural network | |
WO2017185391A1 (zh) | 一种用于执行卷积神经网络训练的装置和方法 | |
CN115841137A (zh) | 一种用于对待量化数据进行定点化处理的方法及计算装置 | |
JP6610278B2 (ja) | 機械学習装置、機械学習方法及び機械学習プログラム | |
WO2020109891A1 (en) | Decentralized distributed deep learning | |
CN115456161A (zh) | 一种数据处理方法和数据处理系统 | |
US20190065938A1 (en) | Apparatus and Methods for Pooling Operations | |
JP6898778B2 (ja) | 機械学習システム及び機械学習方法 | |
US20190138922A1 (en) | Apparatus and methods for forward propagation in neural networks supporting discrete data | |
US20190311266A1 (en) | Device and method for artificial neural network operation | |
CN113449859A (zh) | 一种数据处理方法及其装置 | |
CN111160531B (zh) | 神经网络模型的分布式训练方法、装置及电子设备 | |
Chen et al. | Otov2: Automatic, generic, user-friendly | |
JP7150651B2 (ja) | ニューラルネットワークのモデル縮約装置 | |
US20190130274A1 (en) | Apparatus and methods for backward propagation in neural networks supporting discrete data | |
US20190080241A1 (en) | Apparatus and methods for backward propagation in neural networks supporting discrete data | |
WO2020054402A1 (ja) | ニューラルネットワーク処理装置、コンピュータプログラム、ニューラルネットワーク製造方法、ニューラルネットワークデータの製造方法、ニューラルネットワーク利用装置、及びニューラルネットワーク小規模化方法 | |
US20190073584A1 (en) | Apparatus and methods for forward propagation in neural networks supporting discrete data | |
JP2022075307A (ja) | 演算デバイス、計算機システム、及び演算方法 | |
CN113591781B (zh) | 基于服务机器人云平台的图像处理方法及系统 | |
JP7505640B2 (ja) | 推論装置、推論方法および推論プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A80 | Written request to apply exceptions to lack of novelty of invention |
Free format text: JAPANESE INTERMEDIATE CODE: A80 Effective date: 20160825 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20181109 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20181109 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20191016 |
|
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: 20191112 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20191203 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6635265 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 |