[go: up one dir, main page]

JP7159884B2 - 情報処理装置および情報処理方法 - Google Patents

情報処理装置および情報処理方法 Download PDF

Info

Publication number
JP7159884B2
JP7159884B2 JP2019009605A JP2019009605A JP7159884B2 JP 7159884 B2 JP7159884 B2 JP 7159884B2 JP 2019009605 A JP2019009605 A JP 2019009605A JP 2019009605 A JP2019009605 A JP 2019009605A JP 7159884 B2 JP7159884 B2 JP 7159884B2
Authority
JP
Japan
Prior art keywords
value
batch size
information processing
learning
loss
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
JP2019009605A
Other languages
English (en)
Other versions
JP2020042753A (ja
Inventor
裕明 三上
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Sony Group Corp
Original Assignee
Sony Corp
Sony Group Corp
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 Sony Corp, Sony Group Corp filed Critical Sony Corp
Priority to JP2019009605A priority Critical patent/JP7159884B2/ja
Publication of JP2020042753A publication Critical patent/JP2020042753A/ja
Application granted granted Critical
Publication of JP7159884B2 publication Critical patent/JP7159884B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本開示は、情報処理装置および情報処理方法に関する。
近年、脳神経系の仕組みを模した数学モデルであるニューラルネットワークが注目されている。また、ニューラルネットワークによる学習を高速化するための技術も多く提案されている。例えば、非特許文献1には、学習中にバッチサイズを変更する技術が開示されている。
Samuel L. Smith、外3名、「Don't Decay the Learning Rate, Increase the Batch Size」、2017年11月1日、[Online]、[平成30年9月7日検索]、インターネット<https://arxiv.org/pdf/1711.00489.pdf>
しかし、非特許文献1に記載の技術は、特定の学習手法に依存しており、当該手法を採用しない学習には適用することが困難である。
本開示によれば、ニューラルネットワークによる学習に係る理想状態とのギャップ値を取得する取得部と、前記理想状態とのギャップ値に基づいて、前記ニューラルネットワークにおけるバッチサイズの値の動的な変更を指示する指示部と、を備える、情報処理装置が提供される。
また、本開示によれば、プロセッサが、ニューラルネットワークによる学習に係る理想状態とのギャップ値を取得することと、前記理想状態とのギャップ値に基づいて、前記ニューラルネットワークにおけるバッチサイズの値の動的な変更を指示することと、を含む、情報処理方法が提供される。
Step Learning rate decayを適用した場合の損失の推移の一例を示す図である。 本開示の一実施形態に係るバッチサイズ変更の概要について説明するための図である。 同実施形態に係る情報処理装置の機能構成例を示すブロック図である。 同実施形態に係る損失の傾きに基づくバッチサイズ変更をImageNet/ResNet-50に適用した際の検証結果を示す図である。 同実施形態に係るトレーニングの値に基づくバッチサイズ変更をImageNet/ResNet-50に適用した際の検証結果を示す図である。 同実施形態に係る損失に基づくバッチサイズ変更をMNISTを用いた学習に適用した際の検証結果を示す図である。 同実施形態に係る損失に基づくバッチサイズ変更をcifar10を用いた学習に適用した際の検証結果を示す図である。 同実施形態に係る損失に基づくバッチサイズ変更をcifar10を用いた学習に適用した際の検証結果を示す図である。 同実施形態に係る損失の1回微分値に基づくバッチサイズの変更を実現する訓練スクリプトおよび損失傾き計算モジュールの一例を示す図である。 同実施形態に係るエポックごとのバッチサイズ増加をMNISTを用いた学習に適用した場合の検証結果を示す図である。 同実施形態に係る損失およびエポックに基づくバッチサイズ変化をcifar10を用いた学習に適用した場合の検証結果を示す図である。 同実施形態に係る損失とエポックに基づくバッチサイズの増減を実現する訓練スクリプトの一例を示す図である。 同実施形態に係るバッチサイズ変更部によるGPU中モデルの作り直しについて説明するための図である。 同実施形態に係るバッチサイズ変更部による計算ループ数の増減制御について説明するための図である。 同実施形態に係るバッチサイズ変更部による利用GPUの増減制御について説明するための図である。 同実施形態に係るバッチサイズ変更部による制御の流れを示すフローチャートである。 本開示の一実施形態に係るハードウェア構成例を示す図である。
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
なお、説明は以下の順序で行うものとする。
1.実施形態
1.1.概要
1.2.情報処理装置10の機能構成例
1.3.検証結果
1.4.バッチサイズ増減の実現手法
2.ハードウェア構成例
3.まとめ
<1.実施形態>
<<1.1.概要>>
まず、本開示の一実施形態の概要について説明する。上述したように、近年、ニューラルネットワークによる学習を高速化するための技術が多く提案されている。一般に、DNN(Deep Neural Network)の学習に要する時間は、パラメータの更新回数と比例関係にあることから、当該更新回数を減らすことが学習の高速化に対し有効な手段となり得る。
パラメータの更新回数は、例えば、バッチサイズを増加させることで減らすことが可能である。また、学習の後半においては、バッチサイズを増加させても学習が収束することが知られていることから、例えば、非特許文献1に開示されるように学習中にバッチサイズを変更し、できるだけ大きなバッチサイズを設定することで、パラメータの更新回数を削減することができ、ひいては学習を高速化させる効果が期待される。
しかし、非特許文献1に記載されるバッチサイズの変更手法は、特定の学習手法にのみ適用可能な技術である。ここで、上記の特定の学習手法とは、Step Learning rate decayと呼ばれる手法を指す。
図1は、Step Learning rate decayを適用した場合の損失(loss)の推移の一例を示す図である。Step Learning rate decayとは、図1に示すように、学習率を階段状に下げることで、損失を階段状に下げていく手法である。図1に示す一例を参照すると、エポック30および60付近において損失が大きく低下し、グラフが階段形状をなしていることがわかる。
非特許文献1に記載の技術によれば、損失が大きく低下するエポック30や60のようなタイミングでバッチサイズを変更することが可能であるが、損失の推移が上記のような階段形状を示さない学習手法には適用することができない。
本開示に係る技術思想は上記の点に着目して発想されたものであり、DNNによる学習を学習手法に依らず効果的に高速化することを可能とする。このために、本開示の一実施形態に係る情報処理装置10は、ニューラルネットワークを用いた学習を行う学習部120を備え、学習部120は、ニューラルネットワークが出力する学習に係る理想状態とのギャップ値に基づいて、学習中にバッチサイズの値を動的に変更すること、を特徴の一つとする。
ここで、上記の理想状態とのギャップ値とは、期待される出力と実際の出力との差を定量的に表した指標であってよい。本実施形態に係る理想状態とのギャップ値には、例えば、損失が含まれる。また、本実施形態に係る理想状態とのギャップ値は、トレーニングエラーやバリデーションエラーを含みうる。
なお、上記ギャップ値として用いられるトレーニングエラーおよびバリエーションエラーの一例としては、例えば、損失として用いられることもある平均二乗誤差(MSE:Mean Square Error)や平均絶対誤差(MAE:Mean Absolute Error)、画像分類において用いられるTop-k-error(特に、top-1-errorやtop-5-errorなど)、また物体検出において用いられるmAP(mean Average Precision)などが挙げられる。
ここで、図2を参照して、本実施形態に係るバッチサイズ変更の概要について説明する。図2には、エポックの経過に伴う損失の推移を表すグラフが示されている。なお、図2以降に示す各グラフにおいては、実線がバッチサイズ変更を伴わない損失の推移(Reference)を、破線が本実施形態に係るバッチサイズ変更を適用した損失の推移(Approach)をそれぞれ示している。
本実施形態に係る学習部120は、例えば、損失に基づいて学習の収束が推定される場合、学習中にバッチサイズの値を増加させてよい。
損失の値が小さくなることは、DNNが解に近づいていること、すなわち学習が収束に向かっていること(学習が安定していること)を示す。このことから、本実施形態に係る学習部120は、損失のn回微分値に基づいて、学習中にバッチサイズの値を増加させてもよい。
例えば、本実施形態に係る学習部120は、損失の1回微分値、すなわち傾きが所定の閾値を下回る場合、バッチサイズの値を増加させることができる。図2に示す一例の場合、学習部120は、損失の傾きが落ち着いたタイミングT1(エポック30)でバッチサイズの値を32Kから64Kに増加させている。
また、例えば、本実施形態に係る学習部120は、損失の0回微分値、すなわち損失の値そのものが所定の閾値を下回る場合、バッチサイズの値を増加させることもできる。ここで、上記の閾値が0.3である場合、学習部120は、損失の値が0.3を下回ったタイミングT2(エポック60)でバッチサイズの値を増加させてよい。なお、学習部120は、n>2以上のn回微分値に基づいてバッチサイズの値を増加させてもよい。
ここで、ApproachとReferenceを比較すると、本実施形態に係るバッチサイズ変更手法を適用した場合であっても、学習が発散せずに性能を保っていることがわかる。すなわち、本実施形態に係る情報処理装置10が実現するバッチ変更手法によれば、学習性能の確保と、パラメータ更新回数の削減すなわち学習時間の短縮と、を両立することが可能となる。
また、本実施形態に係るバッチ変更手法によれば、図2に示すような、損失の推移が階段形状を示さない学習手法であっても、バッチサイズを増加させ、学習時間を短縮することが可能となる。このように、本実施形態に係る情報処理装置10によれば、DNNによる学習を学習手法に依らず効果的に高速化することが可能となる。
<<1.2.情報処理装置10の機能構成例>>
次に、本実施形態に係る情報処理装置10の機能構成例について説明する。図3は、本実施形態に係る情報処理装置10の機能構成例を示すブロック図である。図3を参照すると、本実施形態に係る情報処理装置10は、入出力制御部110、学習部120、微分計算部130、およびバッチサイズ変更部140を備える。
(入出力制御部110)
本実施形態に係る入出力制御部110は、DNNの学習に係るユーザインタフェースを制御する。例えば、本実施形態に係る入出力制御部110は、入力装置を介して入力された各種のデータを学習部120に引き渡す。また、例えば、入出力制御部110は、学習部120が出力する値を出力装置に引き渡す。
(学習部120)
本実施形態に係る学習部120は、DNNを用いた学習を行う。上述したように、本実施形態に係る学習部120は、DNNが出力する学習に係る理想状態とのギャップ値に基づいて、学習中にバッチサイズの値を動的に変更すること、を特徴の一つとする。本実施形態に係る理想状態とのギャップ値は、例えば、損失、トレーニングエラー、バリデーションエラーなどを含む。
(微分計算部130)
本実施形態に係る微分計算部130は、学習部120から入力される損失にn回微分処理を行うことでn回微分値を算出し、当該n回微分値を学習部120に出力する。
(バッチサイズ変更部140)
本実施形態に係るバッチサイズ変更部140は、学習部120が設定したバッチサイズの値に基づいて、バッチサイズの増減を制御する機能を有する。本実施形態に係るバッチサイズ変更部140が有する機能の詳細については、別途後述する。
以上、本実施形態に係る情報処理装置10の機能構成例について説明した。なお、図3を用いて説明した上記の構成はあくまで一例であり、本実施形態に係る情報処理装置10の機能構成は係る例に限定されない。本実施形態に係る情報処理装置10の機能構成は、仕様や運用に応じて柔軟に変形可能である。
<<1.3.検証結果>>
次に、本実施形態に係る情報処理装置10により実現されるバッチサイズ変更手法の検証結果について述べる。
まず、データセットにImageNetを、DNNにResNet-50を用いた場合の検証結果について説明する。図4は、本実施形態に係る損失の傾きに基づくバッチサイズ変更をImageNet/ResNet-50に適用した際の検証結果を示す図である。
ここでは、Referenceにおけるバッチサイズを32Kで固定し、学習を行った。一方、Approachにおいては、損失の1回微分値、すなわち傾きが閾値を下回ったタイミングT3(エポック30)において、バッチサイズを32Kから68Kに増加させ学習を継続させた。
ReferenceとApproachを比較すると、本実施形態に係るバッチ変更手法によりバッチサイズを増加させた場合であっても、損失の収束に大きな影響を与えないことがわかる。
また、図5は、本実施形態に係るトレーニングの値に基づくバッチサイズ変更をImageNet/ResNet-50に適用した際の検証結果を示す図である。
ここでは、トレーニングエラーの0回微分値が閾値1.8を下回ったタイミングT4(エポック30)において、バッチサイズを2Kから20Kに増加させ学習を継続させた。
図5を参照すると、トレーニングエラーの0回微分値に基づいてバッチサイズを増加させた場合であっても、影響なく学習が収束に向かっていることがわかる。
次に、データセットにMNISTを用いた場合の検証結果について説明する。図6は、本実施形態に係る損失に基づくバッチサイズ変更をMNISTを用いた学習に適用した際の検証結果を示す図である。
ここでは、Referenceにおけるバッチサイズを128で固定し、学習を行った。一方、Approachにおいては、損失の1回微分値が閾値を下回り、かつ損失の0回微分値が閾値0.03を下回ったタイミングT5(エポック1)において、バッチサイズを128から3072に増加させ学習を継続させた。
上記の制御の結果、パラメータの更新回数を2000回から560回に削減することができ、学習時間を大幅に短縮することができた。
次に、データセットにcifar10を用いた場合の検証結果について説明する。図7および図8は、本実施形態に係る損失に基づくバッチサイズ変更をcifar10を用いた学習に適用した際の検証結果を示す図である。
図7に係る検証では、Referenceにおけるバッチサイズを64で固定し、学習を行った。一方、Approachにおいては、損失の1回微分値が閾値を下回り、かつ損失の0回微分値が閾値0.35を下回ったタイミングT6(エポック5)において、バッチサイズを64から1024に増加させ学習を継続させた。
上記の制御の結果、パラメータの更新回数を20000回から5000回に削減することができ、学習時間を大幅に短縮することができた。
また、図8に係る検証では、図7に係る検証と同様に、Referenceにおけるバッチサイズを64で固定し、学習を行った。一方、Approachにおいては、損失の0回微分値が閾値0.35を下回ったタイミングT7(エポック8)において、バッチサイズを64から1024に増加させ学習を継続させた。
上記の制御の結果、パラメータの更新回数を20000回から7250回に削減することができ、学習時間を大幅に短縮することができた。
以上、本実施形態に係るバッチサイズ変更手法の検証結果について述べた。上述した検証結果では、本実施形態に係るバッチサイズ変更手法を適用した場合、性能にほぼ影響を与えずに、パラメータ更新回数を1/3~1/4程度削減できることが示されている。このように、本実施形態に係る情報処理装置10によれば、DNNによる学習を学習手法に依らず効果的に高速化することが可能となる。
なお、損失の1回微分値に基づくバッチサイズの変更は、例えば、図9に示すような訓練スクリプトTS1および損失傾き計算モジュールCMにより実現することができる。なお、図9においては、コードを擬似的に示している。
図9に示す一例の場合、訓練スクリプトTS1では、まず、損失傾き取得APIすなわち損失傾き計算モジュールCMの呼び出し処理を実行し、返り値として現在のloss_gradの値が取得される。
次に、取得されたloss_gradの値と閾値との比較処理が実行され、ここで、loss_gradの値が閾値を下回る場合、バッチサイズの増加処理が実行される。
訓練スクリプトTS1では、学習が収束するまで、上記の各処理が繰り返し実行される。
また、損失傾き計算モジュールCMは、訓練スクリプトTS1により呼び出されると、保持するlossの値をloss_prevに退避し、新たに取得したlossとloss_prevとの差を求めることで、loss_gradを算出する。この際、損失傾き計算モジュールCMは、図示するように、損失の移動平均をとりノイズを除去する処理を行なってもよい。
なお、上記では、バッチサイズを増加させる場合を主な例に説明したが、本実施形態に係る学習部120は、損失に基づいて学習の発散が推定される場合には、学習中バッチサイズの値を減少させることも可能である。
例えば、図5に示した一例の場合、期間D1においては学習がまだ不安定であることから、学習部120は、初期値として与えられた小さいバッチサイズの値を維持する。一方、期間D2において学習が安定した場合、学習部120はバッチサイズの値を増加させてよい。
しかし、Step learning rate decayでは、一般に学習率を下げた直後に大きく損失が下がることから、学習率を下げる前と比較して学習が発散しやすくなることが想定される。このため、本実施形態に係る学習部120は、期間D2において一度増加させたバッチサイズの値を期間D3においては減少させることで学習の収束を図ることができる。この際、学習部120は、例えば期間D1および期間D2の間となるようなバッチサイズの値を設定してよい。
次に、本実施形態に係るエポックに基づくバッチサイズの変更について説明する。DNNによる学習では、学習率の減衰がない場合、学習が進むにつれ、すなわちエポックが重なるにつれ、学習が容易となる傾向が強く見られる。このため、本実施形態に係る学習部120は、エポックの経過に伴いバッチサイズの値を増加させることができる。例えば、本実施形態に係る学習部120は、エポックごとにバッチサイズの値を増加させてもよい。
図10は、本実施形態に係るエポックごとのバッチサイズ増加をMNISTを用いた学習に適用した場合の検証結果を示す図である。ここでは、バッチサイズの初期値として128を設定し、エポック1(タイミングT8)でバッチサイズを256に、エポック2(タイミングT9)でバッチサイズを512に、エポック3(タイミングT10)でバッチサイズを1024に、それぞれ倍増させる制御を行った。
上記の制御の結果、パラメータの更新回数を2000回から938に削減することができた。係る検証結果によれば、エポックごとにバッチサイズを増加させた場合であっても、損失の収束に大きな影響を与えず、学習時間を大幅に削減できることがわかる。
また、本実施形態に係る学習部120は、損失やエポックに基づいてバッチサイズの値を増加させた結果、学習の発散が推定された場合には、発散前、すなわち直前のエポックにおけるネットワークモデルを再読み込みすることで、学習の収束を図ることも可能である。
図11は、本実施形態に係る損失およびエポックに基づくバッチサイズ変化をcifar10を用いた学習に適用した場合の検証結果を示す図である。
ここでは、バッチサイズの初期値として64を設定し、損失の0回微分値の閾値を0.35に設定した。図11に示す一例の場合、エポック8(タイミングT11)において損失が閾値0.35を下回ったことに基づいてバッチサイズの増加処理を開始し、その後エポックごとにバッチサイズを増加させた。
その後、エポック14(タイミングT12)においてバッチサイズを4Kに増加させたところ、学習の発散が推定された。このため、本実施形態に係る学習部120は、エポック15の開始時点でバッチサイズの値の増加を停止し、エポック14開始時点におけるモデルを再読み込みしたうえで、バッチサイズの値を2Kに固定し学習を継続した。
このように、本実施形態に係る学習部120は、過去のエポックにおけるネットワークモデルの再読み込みを行った場合、当該過去のエポックで設定した値よりも小さいバッチサイズの値を設定してよい。
本実施形態に係る学習部120が有する上記の機能によれば、損失やエポックに基づいて自動でバッチサイズの値を増減することができ、学習の発散を回避しながらパラメータの更新回数を効果的に削減することが可能となる。
なお、上記のような損失とエポックに基づくバッチサイズの増減は、例えば、図12に示すような訓練スクリプトTS2より実現することができる。なお、図12においては、コードを擬似的に示している。
図12に示す一例の場合、訓練スクリプトTS2は、まず、図9に示した損失傾き計算モジュールCMを呼び出し返り値として取得したloss_gradを、閾値と比較している。ここで、loss_gradが閾値を下回る場合、訓練スクリプトTS2は、バッチサイズの自動増加を開始する。
その後、訓練スクリプトTS2は、損失が前エポックよりも閾値以上大きくなったか否かを判定する。ここで、損失の増大が認められる場合、訓練スクリプトTS2は、バッチサイズの自動増加を停止する。
また、この際、訓練スクリプトTS2は、前エポックにおけるDNNのネットワークモデルを再読み込みする。
<<1.4.バッチサイズ増減の実現手法>>
続いて、本実施形態に係るバッチサイズ増減の実現手法について詳細に説明する。本実施形態に係るバッチサイズ変更部140は、学習部120が設定したバッチサイズの値を取得し、当該値に基づいてGPU(Graphics Processing Unit)を制御することで、バッチサイズの増減を実現する。
例えば、本実施形態に係るバッチサイズ変更部140は、GPU中のモデルを作り直すことによりバッチサイズの増減を制御してもよい。
図13は、本実施形態に係るバッチサイズ変更部140によるGPU中モデルの作り直しについて説明するための図である。この場合、まず、学習部120が損失の値を微分計算部130に入力し、当該値のn回部分値を取得する。また、学習部120は、取得したn回部分値に基づいて変更後のバッチサイズの値を決定し、当該バッチサイズの値をバッチサイズ変更部140に入力する。
次に、本実施形態に係るバッチサイズ変更部140は、入力されたバッチサイズの値に基づいて、現在学習に利用されているGPUにモデルの再作成指示を行う。
なお、図13では、GPU_0およびGPU_1のうち、GPU_0が現在学習に用いられており、GPU_0中のモデルのバッチサイズが32である場合において、バッチサイズ変更部140がGPU_0にモデルの再作成を指示し、当該モデルのバッチサイズを64に変更させる場合の一例が示されている。
本実施形態に係るバッチサイズ変更部140による上記の制御によれば、情報処理装置10が有するGPUの数に影響されずグローバルにバッチサイズを上げることができ、またGPUの並列演算能力が活きることでさらなる高速化に繋がる効果も記載される。
また、例えば、本実施形態に係るバッチサイズ変更部140は、学習に係る計算のループ数を増減させることによりバッチサイズの増減を制御してもよい。上記のようなテクニックは、accum-gradとも称される。
図14は、本実施形態に係るバッチサイズ変更部140による計算ループ数の増減制御について説明するための図である。この場合、本実施形態に係るバッチサイズ変更部140は、学習部120から入力されたバッチサイズの値に基づいて、現在学習に利用されているGPUに計算ループ数を変更するよう指示する。
なお、図14では、GPU_0およびGPU_1のうち、GPU_0が現在学習に用いられており、GPU_0中のモデルのバッチサイズが32である場合において、バッチサイズ変更部140がGPU_0に2回accum-gradを行うよう指示し、バッチサイズ32による学習が2回行われる場合の一例が示されている。
本実施形態に係るバッチサイズ変更部140による上記の制御によれば、GPUの数やメモリ容量に制限されることなくバッチサイズを上げることができ、また同期処理の回数が減るため、減った同期処理の回数分だけ学習を高速化することができる。
また、例えば、本実施形態に係るバッチサイズ変更部140は、学習に用いられるGPUの数を増減させることによりバッチサイズの増減を制御してもよい。
図15は、本実施形態に係るバッチサイズ変更部140による利用GPUの増減制御について説明するための図である。この場合、本実施形態に係るバッチサイズ変更部140は、学習部120から入力されたバッチサイズの値に基づいて、現在学習に利用されていないGPUに稼働を指示する。
なお、図15では、GPU_0およびGPU_1のうち、GPU_0のみが現在学習に用いられている場合において、バッチサイズ変更部140がGPU_1に稼働を指示する場合の一例が示されている。
本実施形態に係るバッチサイズ変更部140による上記の制御によれば、計算資源を増やすことで、その分学習を高速化することができる。
以上、本実施形態に係るバッチサイズ変更部140によるバッチサイズの変更制御手法について説明した。なお、本実施形態に係るバッチサイズ変更部140は、例えば、図16に示すような優先度に基づいて、バッチサイズの変更制御手法を選択することで、バッチサイズ増加による高速化効果をより大きくすることができる。
図16は、本実施形態に係るバッチサイズ変更部140による制御の流れを示すフローチャートである。
図16を参照すると、バッチサイズ変更部140は、まず、追加で利用可能なGPUが存在するか否かを判定する(S1101)。
ここで、追加で利用可能なGPUが存在する場合(S1101:Yes)、バッチサイズ変更部140は、当該利用可能なGPUを学習に割り当てることで、バッチサイズの増加を制御する(S1102)。
続いて、バッチサイズ変更部140は、ステップS1102における処理により目的のバッチサイズを達成したかを判定する(S1103)。
ここで、目的のバッチサイズが達成されている場合(S1103:Yes)、バッチサイズ変更部140は、バッチサイズ変更に係る処理を終了する。
一方、目的のバッチサイズが達成されていない場合(S1103:No)、または追加で利用可能なGPUが存在しない場合(S1101:No)、バッチサイズ変更部140は、現在利用中のGPUのメモリに空き容量が存在するか否かを判定する(S1104)。
ここで、現在利用中のGPUのメモリに空き容量が存在する場合(S1104:Yes)、バッチサイズ変更部140は、現在利用中のGPU中のモデルを作り直すことで、バッチサイズの増加を制御する(S1105)。
続いて、バッチサイズ変更部140は、ステップS1105における処理により目的のバッチサイズを達成したかを判定する(S1106)。
ここで、目的のバッチサイズが達成されている場合(S1106:Yes)、バッチサイズ変更部140は、バッチサイズ変更に係る処理を終了する。
一方、目的のバッチサイズが達成されていない場合(S1106:No)、または現在利用中のGPUのメモリに空き容量が存在しない場合(S1104:No)、バッチサイズ変更部140は、学習に係る計算のループ数を増加させることで、バッチサイズの増加を制御し(S1107)、バッチサイズ変更に係る処理を終了する。
<2.ハードウェア構成例>
次に、本開示の一実施形態に係る情報処理装置10のハードウェア構成例について説明する。図17は、本開示の一実施形態に係る情報処理装置10のハードウェア構成例を示すブロック図である。図17を参照すると、情報処理装置10は、例えば、プロセッサ871と、ROM872と、RAM873と、ホストバス874と、ブリッジ875と、外部バス876と、インターフェース877と、入力装置878と、出力装置879と、ストレージ880と、ドライブ881と、接続ポート882と、通信装置883と、を有する。なお、ここで示すハードウェア構成は一例であり、構成要素の一部が省略されてもよい。また、ここで示される構成要素以外の構成要素をさらに含んでもよい。
(プロセッサ871)
プロセッサ871は、例えば、演算処理装置又は制御装置として機能し、ROM872、RAM873、ストレージ880、又はリムーバブル記録媒体901に記録された各種プログラムに基づいて各構成要素の動作全般又はその一部を制御する。プロセッサ871は、例えば、GPUやCPUを含む。なお、本開示の一実施形態に係る情報処理装置10は、少なくとも2つのGPUを備える。
(ROM872、RAM873)
ROM872は、プロセッサ871に読み込まれるプログラムや演算に用いるデータ等を格納する手段である。RAM873には、例えば、プロセッサ871に読み込まれるプログラムや、そのプログラムを実行する際に適宜変化する各種パラメータ等が一時的又は永続的に格納される。
(ホストバス874、ブリッジ875、外部バス876、インターフェース877)
プロセッサ871、ROM872、RAM873は、例えば、高速なデータ伝送が可能なホストバス874を介して相互に接続される。一方、ホストバス874は、例えば、ブリッジ875を介して比較的データ伝送速度が低速な外部バス876に接続される。また、外部バス876は、インターフェース877を介して種々の構成要素と接続される。
(入力装置878)
入力装置878には、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチ、及びレバー等が用いられる。さらに、入力装置878としては、赤外線やその他の電波を利用して制御信号を送信することが可能なリモートコントローラ(以下、リモコン)が用いられることもある。また、入力装置878には、マイクロフォンなどの音声入力装置が含まれる。
(出力装置879)
出力装置879は、例えば、CRT(Cathode Ray Tube)、LCD、又は有機EL等のディスプレイ装置、スピーカ、ヘッドホン等のオーディオ出力装置、プリンタ、携帯電話、又はファクシミリ等、取得した情報を利用者に対して視覚的又は聴覚的に通知することが可能な装置である。また、本開示に係る出力装置879は、触覚刺激を出力することが可能な種々の振動デバイスを含む。
(ストレージ880)
ストレージ880は、各種のデータを格納するための装置である。ストレージ880としては、例えば、ハードディスクドライブ(HDD)等の磁気記憶デバイス、半導体記憶デバイス、光記憶デバイス、又は光磁気記憶デバイス等が用いられる。
(ドライブ881)
ドライブ881は、例えば、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体901に記録された情報を読み出し、又はリムーバブル記録媒体901に情報を書き込む装置である。
(リムーバブル記録媒体901)
リムーバブル記録媒体901は、例えば、DVDメディア、Blu-ray(登録商標)メディア、HD DVDメディア、各種の半導体記憶メディア等である。もちろん、リムーバブル記録媒体901は、例えば、非接触型ICチップを搭載したICカード、又は電子機器等であってもよい。
(接続ポート882)
接続ポート882は、例えば、USB(Universal Serial Bus)ポート、IEEE1394ポート、SCSI(Small Computer System Interface)、RS-232Cポート、又は光オーディオ端子等のような外部接続機器902を接続するためのポートである。
(外部接続機器902)
外部接続機器902は、例えば、プリンタ、携帯音楽プレーヤ、デジタルカメラ、デジタルビデオカメラ、又はICレコーダ等である。
(通信装置883)
通信装置883は、ネットワークに接続するための通信デバイスであり、例えば、有線又は無線LAN、Bluetooth(登録商標)、又はWUSB(Wireless USB)用の通信カード、光通信用のルータ、ADSL(Asymmetric Digital Subscriber Line)用のルータ、又は各種通信用のモデム等である。
<3.まとめ>
以上説明したように、本開示の一実施形態に係る情報処理装置10は、ニューラルネットワークを用いた学習を行う学習部120を備え、学習部120は、ニューラルネットワークが出力する学習に係る理想状態とのギャップ値に基づいて、学習中にバッチサイズの値を動的に変更すること、を特徴の一つとする。係る構成によれば、DNNによる学習を学習手法に依らず効果的に高速化することが可能となる。
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
また、コンピュータに内蔵されるCPU、ROMおよびRAMなどのハードウェアに、情報処理装置10が有する構成と同等の機能を発揮させるためのプログラムも作成可能であり、当該プログラムを記録した、コンピュータに読み取り可能な非一過性の記録媒体も提供され得る。
また、本明細書の情報処理装置10の処理に係る各ステップは、必ずしもフローチャートに記載された順序に沿って時系列に処理される必要はない。例えば、情報処理装置10の処理に係る各ステップは、フローチャートに記載された順序と異なる順序で処理されても、並列的に処理されてもよい。
なお、以下のような構成も本開示の技術的範囲に属する。
(1)
ニューラルネットワークによる学習に係る理想状態とのギャップ値を取得する取得部と、
前記理想状態とのギャップ値に基づいて、前記ニューラルネットワークにおけるバッチサイズの値の動的な変更を指示する指示部と、
を備える、
情報処理装置。
(2)
前記理想状態とのギャップ値は、少なくとも損失に関する値を含み、
前記取得部は、前記損失に関する値を取得し、
前記指示部は、前記損失に関する値に基づいて、前記ニューラルネットワークにおけるバッチサイズの値の動的な変更を指示する、
前記(1)に記載の情報処理装置。
(3)
前記損失に関する値は、前記損失のn回微分値(nは0以上の整数。以下同様)を含む、
前記(2)に記載の情報処理装置。
(4)
前記損失のn回微分値は、時間方向における前記損失の微分値である、
前記(3)に記載の情報処理装置。
(5)
前記取得部は、APIを介して前記前記損失に関する値を取得し、
前記指示部は、前記損失に関する値に基づいて、自動的に前記バッチサイズの値の変更を指示する、
前記(2)~(4)のいずれかに記載の情報処理装置。
(6)
前記指示部は、前記損失に関する値から学習の収束が推定される場合、バッチサイズの値の増加を指示する、
前記(2)~(5)のいずれかに記載の情報処理装置。
(7)
前記指示部は、前記損失のn回微分値の値に基づいて、バッチサイズの値の増加を指示する、
前記(3)または(4)に記載の情報処理装置。
(8)
前記指示部は、前記損失の値または前記損失の傾きの少なくともいずれかが閾値を下回ることに基づいて、バッチサイズの値の増加を指示する、
前記(7)に記載の情報処理装置。
(9)
前記指示部は、前記損失に関する値に基づいて学習の発散が推定される場合、バッチサイズの値の減少を指示する、
前記(2)~(8)のいずれかに記載の情報処理装置。
(10)
前記指示部は、前記損失に関する値に基づいて学習の発散が推定される場合、過去のエポックにおけるネットワークモデルの再読み込みを指示する、
前記(9)に記載の情報処理装置。
(11)
前記指示部は、前記過去のエポックにおけるネットワークモデルの再読み込みが行われた場合、前記過去のエポックで設定された値よりも小さいバッチサイズの値を設定させる、
前記(10)に記載の情報処理装置。
(12)
前記指示部は、GPU中のモデルの作り直しによるバッチサイズの増減を指示する、
前記(1)~(11)のいずれかに記載の情報処理装置。
(13)
前記指示部は、学習に係る計算のループ数の増減によるバッチサイズの増減を指示する、
前記(1)~(12)のいずれかに記載の情報処理装置。
(14)
前記指示部は、学習に用いられるGPUの数の増減によるバッチサイズの増減を指示する、
前記(1)~(13)のいずれかに記載の情報処理装置。
(15)
前記指示部は、追加で利用可能なGPUが存在する場合、当該GPUの学習への割り当てによるバッチサイズの増加を指示する、
前記(1)~(14)のいずれかに記載の情報処理装置。
(16)
前記指示部は、追加で利用可能なGPUが存在せず、かつ現在利用中のGPUのメモリに空き容量が存在する場合、現在利用中のGPU中のモデルを作り直しによるバッチサイズの増加を指示する、
前記(1)~(15)のいずれかに記載の情報処理装置。
(17)
前記指示部は、現在利用中のGPUのメモリに空き容量が存在しない場合、学習に係る計算のループ数の増加によるバッチサイズの増加を指示する、
前記(1)~(16)のいずれかに記載の情報処理装置。
(18)
前記理想状態とのギャップ値は、トレーニングエラーまたはバリデーションエラーのうち少なくともいずれかを含む、
前記(1)に記載の情報処理装置。
(19)
プロセッサが、ニューラルネットワークによる学習に係る理想状態とのギャップ値を取得することと、
前記理想状態とのギャップ値に基づいて、前記ニューラルネットワークにおけるバッチサイズの値の動的な変更を指示することと、
を含む、
情報処理方法。
10 情報処理装置
110 入出力制御部
120 学習部
130 微分計算部
140 バッチサイズ変更部

Claims (19)

  1. ニューラルネットワークによる学習に係る理想状態とのギャップ値を取得する取得部と、
    前記理想状態とのギャップ値に基づいて、前記ニューラルネットワークにおけるバッチサイズの値の動的な変更を指示する指示部と、
    を備える、
    情報処理装置。
  2. 前記理想状態とのギャップ値は、少なくとも損失に関する値を含み、
    前記取得部は、前記損失に関する値を取得し、
    前記指示部は、前記損失に関する値に基づいて、前記ニューラルネットワークにおけるバッチサイズの値の動的な変更を指示する、
    請求項1に記載の情報処理装置。
  3. 前記損失に関する値は、前記損失のn回微分値(nは0以上の整数。以下同様)を含む、
    請求項2に記載の情報処理装置。
  4. 前記損失のn回微分値は、時間方向における前記損失の微分値である、
    請求項3に記載の情報処理装置。
  5. 前記取得部は、APIを介し前記損失に関する値を取得し、
    前記指示部は、前記損失に関する値に基づいて、自動的に前記バッチサイズの値の変更を指示する、
    請求項2に記載の情報処理装置。
  6. 前記指示部は、前記損失に関する値から学習の収束が推定される場合、バッチサイズの値の増加を指示する、
    請求項2に記載の情報処理装置。
  7. 前記指示部は、前記損失のn回微分値の値に基づいて、バッチサイズの値の増加を指示する、
    請求項3に記載の情報処理装置。
  8. 前記指示部は、前記損失の値または前記損失の傾きの少なくともいずれかが閾値を下回ることに基づいて、バッチサイズの値の増加を指示する、
    請求項7に記載の情報処理装置。
  9. 前記指示部は、前記損失に関する値に基づいて学習の発散が推定される場合、バッチサイズの値の減少を指示する、
    請求項2に記載の情報処理装置。
  10. 前記指示部は、前記損失に関する値に基づいて学習の発散が推定される場合、過去のエポックにおけるネットワークモデルの再読み込みを指示する、
    請求項9に記載の情報処理装置。
  11. 前記指示部は、前記過去のエポックにおけるネットワークモデルの再読み込みが行われた場合、前記過去のエポックで設定された値よりも小さいバッチサイズの値を設定させる、
    請求項10に記載の情報処理装置。
  12. 前記指示部は、GPU中のモデルの作り直しによるバッチサイズの増減を指示する、
    請求項1に記載の情報処理装置。
  13. 前記指示部は、学習に係る計算のループ数の増減によるバッチサイズの増減を指示する、
    請求項1に記載の情報処理装置。
  14. 前記指示部は、学習に用いられるGPUの数の増減によるバッチサイズの増減を指示する、
    請求項1に記載の情報処理装置。
  15. 前記指示部は、追加で利用可能なGPUが存在する場合、当該GPUの学習への割り当てによるバッチサイズの増加を指示する、
    請求項1に記載の情報処理装置。
  16. 前記指示部は、追加で利用可能なGPUが存在せず、かつ現在利用中のGPUのメモリに空き容量が存在する場合、現在利用中のGPU中のモデルを作り直しによるバッチサイズの増加を指示する、
    請求項1に記載の情報処理装置。
  17. 前記指示部は、現在利用中のGPUのメモリに空き容量が存在しない場合、学習に係る計算のループ数の増加によるバッチサイズの増加を指示する、
    請求項1に記載の情報処理装置。
  18. 前記理想状態とのギャップ値は、トレーニングエラーまたはバリデーションエラーのうち少なくともいずれかを含む、
    請求項1に記載の情報処理装置。
  19. プロセッサが、ニューラルネットワークによる学習に係る理想状態とのギャップ値を取得することと、
    前記理想状態とのギャップ値に基づいて、前記ニューラルネットワークにおけるバッチサイズの値の動的な変更を指示することと、
    を含む、
    情報処理方法。
JP2019009605A 2019-01-23 2019-01-23 情報処理装置および情報処理方法 Active JP7159884B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019009605A JP7159884B2 (ja) 2019-01-23 2019-01-23 情報処理装置および情報処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019009605A JP7159884B2 (ja) 2019-01-23 2019-01-23 情報処理装置および情報処理方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2018169979A Division JP6471825B1 (ja) 2018-09-11 2018-09-11 情報処理装置および情報処理方法

Publications (2)

Publication Number Publication Date
JP2020042753A JP2020042753A (ja) 2020-03-19
JP7159884B2 true JP7159884B2 (ja) 2022-10-25

Family

ID=69798500

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019009605A Active JP7159884B2 (ja) 2019-01-23 2019-01-23 情報処理装置および情報処理方法

Country Status (1)

Country Link
JP (1) JP7159884B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220033314A (ko) 2020-09-09 2022-03-16 삼성전자주식회사 호스트 프로세서 및 가속기의 동작 방법 및 이들을 포함한 전자 장치
KR102758486B1 (ko) * 2020-12-08 2025-01-22 한국전자통신연구원 인공신경망 가속기를 위한 배치 크기 최적화 방법 및 장치

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001056802A (ja) 1999-08-19 2001-02-27 Oki Electric Ind Co Ltd ニューラルネットワークの学習方法
US20180144261A1 (en) 2016-11-18 2018-05-24 NantOmics, LLC. Methods and systems for predicting dna accessibility in the pan-cancer genome

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03223933A (ja) * 1989-12-18 1991-10-02 Hitachi Ltd 情報処理システム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001056802A (ja) 1999-08-19 2001-02-27 Oki Electric Ind Co Ltd ニューラルネットワークの学習方法
US20180144261A1 (en) 2016-11-18 2018-05-24 NantOmics, LLC. Methods and systems for predicting dna accessibility in the pan-cancer genome

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
二宮 洋,改良型online準ニュートン法によるニューラルネットワークの学習,電子情報通信学会技術研究報告,社団法人電子情報通信学会,2009年11月04日,Vol.109, No.269,pp.187-192

Also Published As

Publication number Publication date
JP2020042753A (ja) 2020-03-19

Similar Documents

Publication Publication Date Title
CN113436643B (zh) 语音增强模型的训练及应用方法、装置、设备及存储介质
CN111199269B (zh) 图像处理装置及其操作方法
JP6471825B1 (ja) 情報処理装置および情報処理方法
CN109300179B (zh) 动画制作方法、装置、终端和介质
CN111105375B (zh) 图像生成方法及其模型训练方法、装置及电子设备
KR20200013162A (ko) 전자 장치 및 그의 제어 방법
CN110189385B (zh) 模型训练及图片压缩、解压方法、装置、介质和电子设备
KR102102182B1 (ko) 영상 복원 장치 및 방법
US20210303938A1 (en) Method and apparatus for optimizing video playback start, device and storage medium
JP7159884B2 (ja) 情報処理装置および情報処理方法
CN114121029B (zh) 语音增强模型的训练方法和装置以及语音增强方法和装置
KR20210110852A (ko) 이미지 변형 제어 방법, 장치 및 하드웨어 장치
JP7287388B2 (ja) 情報処理装置および情報処理方法
WO2020097824A1 (zh) 音频处理方法、装置、存储介质及电子设备
CN114155852A (zh) 语音处理方法、装置、电子设备及存储介质
KR20200027080A (ko) 전자 장치 및 그 제어 방법
CN114747232A (zh) 音频场景变化信令
US10079028B2 (en) Sound enhancement through reverberation matching
EP3816870A1 (en) Electronic apparatus and control method thereof
WO2024184835A1 (en) Efficient adaptation of spoken language understanding based on automatic speech recognition using multi-task learning
CN117809668A (zh) 电子设备及电子设备的语音信号处理方法
CN116866661A (zh) 一种视频预渲染方法、装置、设备及存储介质
CN117194696B (zh) 基于人工智能的内容生成方法、装置、设备和存储介质
CN117744732B (zh) 深度学习模型的训练方法、推理方法、装置、设备和介质
CN119007725A (zh) 一种口型驱动、口型驱动模型的训练方法及装置

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20190515

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20190522

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210709

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220614

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220705

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220830

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220926

R151 Written notification of patent or utility model registration

Ref document number: 7159884

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151