JP7159884B2 - Information processing device and information processing method - Google Patents

Information processing device and information processing method 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
Japanese (ja)
Other versions
JP2020042753A (en
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/en
Publication of JP2020042753A publication Critical patent/JP2020042753A/en
Application granted granted Critical
Publication of JP7159884B2 publication Critical patent/JP7159884B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

本開示は、情報処理装置および情報処理方法に関する。 The present disclosure relates to an information processing device and an information processing method.

近年、脳神経系の仕組みを模した数学モデルであるニューラルネットワークが注目されている。また、ニューラルネットワークによる学習を高速化するための技術も多く提案されている。例えば、非特許文献1には、学習中にバッチサイズを変更する技術が開示されている。 In recent years, attention has been paid to neural networks, which are mathematical models that imitate the mechanisms of the nervous system. Also, many techniques for speeding up learning by neural networks have been proposed. For example, Non-Patent Document 1 discloses a technique for changing the batch size during learning.

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>Samuel L. Smith, 3 others, "Don't Decay the Learning Rate, Increase the Batch Size", November 1, 2017, [Online], [searched September 7, 2018], Internet <https: //arxiv.org/pdf/1711.00489.pdf>

しかし、非特許文献1に記載の技術は、特定の学習手法に依存しており、当該手法を採用しない学習には適用することが困難である。 However, the technology described in Non-Patent Document 1 depends on a specific learning method, and is difficult to apply to learning that does not employ that method.

本開示によれば、ニューラルネットワークによる学習に係る理想状態とのギャップ値を取得する取得部と、前記理想状態とのギャップ値に基づいて、前記ニューラルネットワークにおけるバッチサイズの値の動的な変更を指示する指示部と、を備える、情報処理装置が提供される。 According to the present disclosure, an acquisition unit that acquires a gap value from an ideal state related to learning by a neural network, and based on the gap value from the ideal state, dynamically change the batch size value in the neural network. An information processing device is provided, comprising: an instruction unit for instructing.

また、本開示によれば、プロセッサが、ニューラルネットワークによる学習に係る理想状態とのギャップ値を取得することと、前記理想状態とのギャップ値に基づいて、前記ニューラルネットワークにおけるバッチサイズの値の動的な変更を指示することと、を含む、情報処理方法が提供される。 In addition, according to the present disclosure, the processor acquires a gap value from an ideal state related to learning by the neural network, and based on the gap value from the ideal state, changes the batch size value in the neural network. A method of processing information is provided, comprising:

Step Learning rate decayを適用した場合の損失の推移の一例を示す図である。FIG. 10 is a diagram showing an example of loss transition when Step Learning rate decay is applied; 本開示の一実施形態に係るバッチサイズ変更の概要について説明するための図である。FIG. 5 is a diagram for explaining an overview of batch size change according to an embodiment of the present disclosure; FIG. 同実施形態に係る情報処理装置の機能構成例を示すブロック図である。2 is a block diagram showing an example of the functional configuration of the information processing device according to the same embodiment; FIG. 同実施形態に係る損失の傾きに基づくバッチサイズ変更をImageNet/ResNet-50に適用した際の検証結果を示す図である。FIG. 10 is a diagram showing verification results when batch size change based on the gradient of loss according to the embodiment is applied to ImageNet/ResNet-50; 同実施形態に係るトレーニングの値に基づくバッチサイズ変更をImageNet/ResNet-50に適用した際の検証結果を示す図である。FIG. 10 is a diagram showing verification results when batch size change based on training values according to the same embodiment is applied to ImageNet/ResNet-50; 同実施形態に係る損失に基づくバッチサイズ変更をMNISTを用いた学習に適用した際の検証結果を示す図である。FIG. 10 is a diagram showing verification results when batch size change based on loss according to the same embodiment is applied to learning using MNIST; 同実施形態に係る損失に基づくバッチサイズ変更をcifar10を用いた学習に適用した際の検証結果を示す図である。It is a figure which shows the verification result at the time of applying the batch size change based on the loss which concerns on the same embodiment to learning using cifar10. 同実施形態に係る損失に基づくバッチサイズ変更をcifar10を用いた学習に適用した際の検証結果を示す図である。It is a figure which shows the verification result at the time of applying the batch size change based on the loss which concerns on the same embodiment to learning using cifar10. 同実施形態に係る損失の1回微分値に基づくバッチサイズの変更を実現する訓練スクリプトおよび損失傾き計算モジュールの一例を示す図である。It is a figure which shows an example of the training script which implement|achieves the change of the batch size based on the 1 time differential value of the loss, and a loss inclination calculation module which concerns on the same embodiment. 同実施形態に係るエポックごとのバッチサイズ増加をMNISTを用いた学習に適用した場合の検証結果を示す図である。FIG. 10 is a diagram showing a verification result when increasing the batch size for each epoch according to the same embodiment is applied to learning using MNIST; 同実施形態に係る損失およびエポックに基づくバッチサイズ変化をcifar10を用いた学習に適用した場合の検証結果を示す図である。FIG. 10 is a diagram showing a verification result when batch size change based on loss and epoch according to the same embodiment is applied to learning using cifar10; 同実施形態に係る損失とエポックに基づくバッチサイズの増減を実現する訓練スクリプトの一例を示す図である。FIG. 10 is a diagram showing an example of a training script for increasing or decreasing the batch size based on losses and epochs according to the embodiment; 同実施形態に係るバッチサイズ変更部によるGPU中モデルの作り直しについて説明するための図である。FIG. 5 is a diagram for explaining recreating of a GPU medium model by a batch size changing unit according to the embodiment; 同実施形態に係るバッチサイズ変更部による計算ループ数の増減制御について説明するための図である。It is a figure for demonstrating increase/decrease control of the number of calculation loops by the batch size change part which concerns on the same embodiment. 同実施形態に係るバッチサイズ変更部による利用GPUの増減制御について説明するための図である。FIG. 5 is a diagram for explaining increase/decrease control of GPUs in use by a batch size changing unit according to the embodiment; 同実施形態に係るバッチサイズ変更部による制御の流れを示すフローチャートである。It is a flowchart which shows the flow of control by the batch size change part which concerns on the same embodiment. 本開示の一実施形態に係るハードウェア構成例を示す図である。1 is a diagram illustrating a hardware configuration example according to an embodiment of the present disclosure; FIG.

以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。 Preferred embodiments of the present disclosure will be described in detail below with reference to the accompanying drawings. In the present specification and drawings, constituent elements having substantially the same functional configuration are denoted by the same reference numerals, thereby omitting redundant description.

なお、説明は以下の順序で行うものとする。
1.実施形態
1.1.概要
1.2.情報処理装置10の機能構成例
1.3.検証結果
1.4.バッチサイズ増減の実現手法
2.ハードウェア構成例
3.まとめ
Note that the description will be given in the following order.
1. Embodiment 1.1. Overview 1.2. Functional Configuration Example of Information Processing Apparatus 10 1.3. Verification result 1.4. 2. Realization method of batch size increase/decrease. Hardware configuration example 3 . summary

<1.実施形態>
<<1.1.概要>>
まず、本開示の一実施形態の概要について説明する。上述したように、近年、ニューラルネットワークによる学習を高速化するための技術が多く提案されている。一般に、DNN(Deep Neural Network)の学習に要する時間は、パラメータの更新回数と比例関係にあることから、当該更新回数を減らすことが学習の高速化に対し有効な手段となり得る。
<1. embodiment>
<<1.1. Overview>>
First, an outline of an embodiment of the present disclosure will be described. As described above, in recent years, many techniques for speeding up learning by neural networks have been proposed. In general, the time required for DNN (Deep Neural Network) learning is proportional to the number of parameter updates. Therefore, reducing the number of updates can be an effective means for speeding up learning.

パラメータの更新回数は、例えば、バッチサイズを増加させることで減らすことが可能である。また、学習の後半においては、バッチサイズを増加させても学習が収束することが知られていることから、例えば、非特許文献1に開示されるように学習中にバッチサイズを変更し、できるだけ大きなバッチサイズを設定することで、パラメータの更新回数を削減することができ、ひいては学習を高速化させる効果が期待される。 The number of parameter updates can be reduced, for example, by increasing the batch size. Also, in the second half of learning, it is known that learning converges even if the batch size is increased. By setting a large batch size, it is possible to reduce the number of parameter updates, which is expected to have the effect of speeding up learning.

しかし、非特許文献1に記載されるバッチサイズの変更手法は、特定の学習手法にのみ適用可能な技術である。ここで、上記の特定の学習手法とは、Step Learning rate decayと呼ばれる手法を指す。 However, the method of changing the batch size described in Non-Patent Document 1 is a technology applicable only to a specific learning method. Here, the above specific learning method refers to a method called Step Learning rate decay.

図1は、Step Learning rate decayを適用した場合の損失(loss)の推移の一例を示す図である。Step Learning rate decayとは、図1に示すように、学習率を階段状に下げることで、損失を階段状に下げていく手法である。図1に示す一例を参照すると、エポック30および60付近において損失が大きく低下し、グラフが階段形状をなしていることがわかる。 FIG. 1 is a diagram showing an example of transition of loss when Step Learning rate decay is applied. Step Learning rate decay is a method of decreasing the loss stepwise by decreasing the learning rate stepwise, as shown in FIG. Referring to the example shown in FIG. 1, it can be seen that the loss drops significantly near epochs 30 and 60 and the graph has a staircase shape.

非特許文献1に記載の技術によれば、損失が大きく低下するエポック30や60のようなタイミングでバッチサイズを変更することが可能であるが、損失の推移が上記のような階段形状を示さない学習手法には適用することができない。 According to the technique described in Non-Patent Document 1, it is possible to change the batch size at timings such as epochs 30 and 60 when the loss drops significantly, but the loss transition shows a stepped shape as described above. It cannot be applied to learning methods that do not exist.

本開示に係る技術思想は上記の点に着目して発想されたものであり、DNNによる学習を学習手法に依らず効果的に高速化することを可能とする。このために、本開示の一実施形態に係る情報処理装置10は、ニューラルネットワークを用いた学習を行う学習部120を備え、学習部120は、ニューラルネットワークが出力する学習に係る理想状態とのギャップ値に基づいて、学習中にバッチサイズの値を動的に変更すること、を特徴の一つとする。 The technical idea according to the present disclosure was conceived by paying attention to the above points, and makes it possible to effectively speed up learning by DNN regardless of the learning method. For this reason, the information processing apparatus 10 according to an embodiment of the present disclosure includes a learning unit 120 that performs learning using a neural network. One of the features is to dynamically change the batch size value during learning based on the value.

ここで、上記の理想状態とのギャップ値とは、期待される出力と実際の出力との差を定量的に表した指標であってよい。本実施形態に係る理想状態とのギャップ値には、例えば、損失が含まれる。また、本実施形態に係る理想状態とのギャップ値は、トレーニングエラーやバリデーションエラーを含みうる。 Here, the gap value from the ideal state may be an index that quantitatively expresses the difference between the expected output and the actual output. The gap value from the ideal state according to this embodiment includes, for example, loss. Also, the gap value from the ideal state according to the present embodiment may include training errors and validation errors.

なお、上記ギャップ値として用いられるトレーニングエラーおよびバリエーションエラーの一例としては、例えば、損失として用いられることもある平均二乗誤差(MSE:Mean Square Error)や平均絶対誤差(MAE:Mean Absolute Error)、画像分類において用いられるTop-k-error(特に、top-1-errorやtop-5-errorなど)、また物体検出において用いられるmAP(mean Average Precision)などが挙げられる。 Examples of the training error and variation error used as the gap value include, for example, the mean square error (MSE) and the mean absolute error (MAE), which may be used as a loss, and the image Top-k-error (especially top-1-error, top-5-error, etc.) used in classification, mAP (mean Average Precision) used in object detection, and the like.

ここで、図2を参照して、本実施形態に係るバッチサイズ変更の概要について説明する。図2には、エポックの経過に伴う損失の推移を表すグラフが示されている。なお、図2以降に示す各グラフにおいては、実線がバッチサイズ変更を伴わない損失の推移(Reference)を、破線が本実施形態に係るバッチサイズ変更を適用した損失の推移(Approach)をそれぞれ示している。 Here, with reference to FIG. 2, an outline of batch size change according to the present embodiment will be described. FIG. 2 shows a graph representing changes in loss over the course of epochs. In each graph shown in FIG. 2 and subsequent figures, the solid line indicates the loss transition without changing the batch size (Reference), and the dashed line indicates the loss transition (Approach) to which the batch size change according to the present embodiment is applied. ing.

本実施形態に係る学習部120は、例えば、損失に基づいて学習の収束が推定される場合、学習中にバッチサイズの値を増加させてよい。 The learning unit 120 according to the present embodiment may increase the value of the batch size during learning, for example, when convergence of learning is estimated based on loss.

損失の値が小さくなることは、DNNが解に近づいていること、すなわち学習が収束に向かっていること(学習が安定していること)を示す。このことから、本実施形態に係る学習部120は、損失のn回微分値に基づいて、学習中にバッチサイズの値を増加させてもよい。 A smaller loss value indicates that the DNN is approaching a solution, that is, learning is converging (learning is stable). Therefore, the learning unit 120 according to the present embodiment may increase the batch size value during learning based on the n-th differential value of the loss.

例えば、本実施形態に係る学習部120は、損失の1回微分値、すなわち傾きが所定の閾値を下回る場合、バッチサイズの値を増加させることができる。図2に示す一例の場合、学習部120は、損失の傾きが落ち着いたタイミングT1(エポック30)でバッチサイズの値を32Kから64Kに増加させている。 For example, the learning unit 120 according to the present embodiment can increase the value of the batch size when the first derivative of the loss, that is, the slope is below a predetermined threshold. In the example shown in FIG. 2, the learning unit 120 increases the batch size value from 32K to 64K at the timing T1 (epoch 30) when the slope of the loss settles down.

また、例えば、本実施形態に係る学習部120は、損失の0回微分値、すなわち損失の値そのものが所定の閾値を下回る場合、バッチサイズの値を増加させることもできる。ここで、上記の閾値が0.3である場合、学習部120は、損失の値が0.3を下回ったタイミングT2(エポック60)でバッチサイズの値を増加させてよい。なお、学習部120は、n>2以上のn回微分値に基づいてバッチサイズの値を増加させてもよい。 Further, for example, the learning unit 120 according to the present embodiment can also increase the value of the batch size when the 0th differential value of loss, that is, the loss value itself is below a predetermined threshold. Here, if the above threshold is 0.3, the learning unit 120 may increase the batch size value at timing T2 (epoch 60) when the loss value falls below 0.3. Note that the learning unit 120 may increase the value of the batch size based on the n-times differentiation value of n>2 or more.

ここで、ApproachとReferenceを比較すると、本実施形態に係るバッチサイズ変更手法を適用した場合であっても、学習が発散せずに性能を保っていることがわかる。すなわち、本実施形態に係る情報処理装置10が実現するバッチ変更手法によれば、学習性能の確保と、パラメータ更新回数の削減すなわち学習時間の短縮と、を両立することが可能となる。 Here, when Approach and Reference are compared, it can be seen that learning does not diverge and performance is maintained even when the batch size changing method according to the present embodiment is applied. That is, according to the batch change method realized by the information processing apparatus 10 according to the present embodiment, it is possible to achieve both securing of learning performance and reduction of the number of parameter updates, that is, shortening of the learning time.

また、本実施形態に係るバッチ変更手法によれば、図2に示すような、損失の推移が階段形状を示さない学習手法であっても、バッチサイズを増加させ、学習時間を短縮することが可能となる。このように、本実施形態に係る情報処理装置10によれば、DNNによる学習を学習手法に依らず効果的に高速化することが可能となる。 Further, according to the batch change method according to the present embodiment, even in a learning method in which the change in loss does not show a staircase shape as shown in FIG. 2, it is possible to increase the batch size and shorten the learning time. It becomes possible. As described above, according to the information processing apparatus 10 according to the present embodiment, it is possible to effectively speed up the learning by DNN regardless of the learning method.

<<1.2.情報処理装置10の機能構成例>>
次に、本実施形態に係る情報処理装置10の機能構成例について説明する。図3は、本実施形態に係る情報処理装置10の機能構成例を示すブロック図である。図3を参照すると、本実施形態に係る情報処理装置10は、入出力制御部110、学習部120、微分計算部130、およびバッチサイズ変更部140を備える。
<<1.2. Functional Configuration Example of Information Processing Device 10>>
Next, a functional configuration example of the information processing apparatus 10 according to this embodiment will be described. FIG. 3 is a block diagram showing a functional configuration example of the information processing apparatus 10 according to this embodiment. Referring to FIG. 3 , the information processing apparatus 10 according to this embodiment includes an input/output control section 110 , a learning section 120 , a differential calculation section 130 and a batch size changing section 140 .

(入出力制御部110)
本実施形態に係る入出力制御部110は、DNNの学習に係るユーザインタフェースを制御する。例えば、本実施形態に係る入出力制御部110は、入力装置を介して入力された各種のデータを学習部120に引き渡す。また、例えば、入出力制御部110は、学習部120が出力する値を出力装置に引き渡す。
(Input/output control unit 110)
The input/output control unit 110 according to this embodiment controls a user interface related to DNN learning. For example, the input/output control unit 110 according to this embodiment hands over various data input via an input device to the learning unit 120 . Also, for example, the input/output control unit 110 delivers the value output by the learning unit 120 to the output device.

(学習部120)
本実施形態に係る学習部120は、DNNを用いた学習を行う。上述したように、本実施形態に係る学習部120は、DNNが出力する学習に係る理想状態とのギャップ値に基づいて、学習中にバッチサイズの値を動的に変更すること、を特徴の一つとする。本実施形態に係る理想状態とのギャップ値は、例えば、損失、トレーニングエラー、バリデーションエラーなどを含む。
(Learning unit 120)
The learning unit 120 according to this embodiment performs learning using DNN. As described above, the learning unit 120 according to the present embodiment is characterized by dynamically changing the batch size value during learning based on the gap value between the ideal state related to learning output by the DNN. be one. The gap value from the ideal state according to this embodiment includes, for example, loss, training error, validation error, and the like.

(微分計算部130)
本実施形態に係る微分計算部130は、学習部120から入力される損失にn回微分処理を行うことでn回微分値を算出し、当該n回微分値を学習部120に出力する。
(Differential calculator 130)
The differential calculation unit 130 according to the present embodiment performs n-time differential processing on the loss input from the learning unit 120 to calculate an n-time differential value, and outputs the n-time differential value to the learning unit 120 .

(バッチサイズ変更部140)
本実施形態に係るバッチサイズ変更部140は、学習部120が設定したバッチサイズの値に基づいて、バッチサイズの増減を制御する機能を有する。本実施形態に係るバッチサイズ変更部140が有する機能の詳細については、別途後述する。
(Batch size changing unit 140)
The batch size changing unit 140 according to the present embodiment has a function of controlling increase/decrease of the batch size based on the batch size value set by the learning unit 120 . Details of the functions of the batch size changing unit 140 according to this embodiment will be described separately later.

以上、本実施形態に係る情報処理装置10の機能構成例について説明した。なお、図3を用いて説明した上記の構成はあくまで一例であり、本実施形態に係る情報処理装置10の機能構成は係る例に限定されない。本実施形態に係る情報処理装置10の機能構成は、仕様や運用に応じて柔軟に変形可能である。 The functional configuration example of the information processing apparatus 10 according to the present embodiment has been described above. Note that the above configuration described using FIG. 3 is merely an example, and the functional configuration of the information processing apparatus 10 according to the present embodiment is not limited to the example. The functional configuration of the information processing apparatus 10 according to this embodiment can be flexibly modified according to specifications and operations.

<<1.3.検証結果>>
次に、本実施形態に係る情報処理装置10により実現されるバッチサイズ変更手法の検証結果について述べる。
<<1.3. Verification result >>
Next, verification results of the batch size changing method realized by the information processing apparatus 10 according to the present embodiment will be described.

まず、データセットにImageNetを、DNNにResNet-50を用いた場合の検証結果について説明する。図4は、本実施形態に係る損失の傾きに基づくバッチサイズ変更をImageNet/ResNet-50に適用した際の検証結果を示す図である。 First, the verification results when ImageNet is used as the data set and ResNet-50 is used as the DNN will be described. FIG. 4 is a diagram showing verification results when batch size change based on the gradient of loss according to the present embodiment is applied to ImageNet/ResNet-50.

ここでは、Referenceにおけるバッチサイズを32Kで固定し、学習を行った。一方、Approachにおいては、損失の1回微分値、すなわち傾きが閾値を下回ったタイミングT3(エポック30)において、バッチサイズを32Kから68Kに増加させ学習を継続させた。 Here, learning was performed with the batch size in Reference fixed at 32K. On the other hand, in Approach, the batch size was increased from 32K to 68K at timing T3 (epoch 30) when the first derivative of the loss, that is, the slope fell below the threshold, and learning was continued.

ReferenceとApproachを比較すると、本実施形態に係るバッチ変更手法によりバッチサイズを増加させた場合であっても、損失の収束に大きな影響を与えないことがわかる。 Comparing Reference and Approach, it can be seen that even when the batch size is increased by the batch change method according to the present embodiment, loss convergence is not significantly affected.

また、図5は、本実施形態に係るトレーニングの値に基づくバッチサイズ変更をImageNet/ResNet-50に適用した際の検証結果を示す図である。 FIG. 5 is a diagram showing verification results when applying batch size change based on training values according to the present embodiment to ImageNet/ResNet-50.

ここでは、トレーニングエラーの0回微分値が閾値1.8を下回ったタイミングT4(エポック30)において、バッチサイズを2Kから20Kに増加させ学習を継続させた。 Here, the batch size was increased from 2K to 20K at timing T4 (epoch 30) when the 0th differential value of the training error fell below the threshold value of 1.8, and learning was continued.

図5を参照すると、トレーニングエラーの0回微分値に基づいてバッチサイズを増加させた場合であっても、影響なく学習が収束に向かっていることがわかる。 Referring to FIG. 5, it can be seen that learning converges without any effect even when the batch size is increased based on the 0th derivative of the training error.

次に、データセットにMNISTを用いた場合の検証結果について説明する。図6は、本実施形態に係る損失に基づくバッチサイズ変更をMNISTを用いた学習に適用した際の検証結果を示す図である。 Next, the verification results when using MNIST for the data set will be described. FIG. 6 is a diagram showing a verification result when the loss-based batch size change according to the present embodiment is applied to learning using MNIST.

ここでは、Referenceにおけるバッチサイズを128で固定し、学習を行った。一方、Approachにおいては、損失の1回微分値が閾値を下回り、かつ損失の0回微分値が閾値0.03を下回ったタイミングT5(エポック1)において、バッチサイズを128から3072に増加させ学習を継続させた。 Here, the batch size in Reference was fixed at 128, and learning was performed. On the other hand, in Approach, the batch size is increased from 128 to 3072 at timing T5 (epoch 1) when the 1st derivative of the loss falls below the threshold and the 0th derivative of the loss falls below the threshold of 0.03. continued.

上記の制御の結果、パラメータの更新回数を2000回から560回に削減することができ、学習時間を大幅に短縮することができた。 As a result of the above control, the number of parameter updates can be reduced from 2000 to 560, and the learning time can be greatly shortened.

次に、データセットにcifar10を用いた場合の検証結果について説明する。図7および図8は、本実施形態に係る損失に基づくバッチサイズ変更をcifar10を用いた学習に適用した際の検証結果を示す図である。 Next, the verification results when cifar10 is used for the data set will be described. 7 and 8 are diagrams showing verification results when applying loss-based batch resizing according to the present embodiment to learning using cifar10.

図7に係る検証では、Referenceにおけるバッチサイズを64で固定し、学習を行った。一方、Approachにおいては、損失の1回微分値が閾値を下回り、かつ損失の0回微分値が閾値0.35を下回ったタイミングT6(エポック5)において、バッチサイズを64から1024に増加させ学習を継続させた。 In the verification according to FIG. 7, the batch size in Reference was fixed at 64 and learning was performed. On the other hand, in Approach, the batch size is increased from 64 to 1024 at timing T6 (Epoch 5) when the 1st derivative of the loss falls below the threshold and the 0th derivative of the loss falls below the threshold of 0.35. continued.

上記の制御の結果、パラメータの更新回数を20000回から5000回に削減することができ、学習時間を大幅に短縮することができた。 As a result of the above control, the number of parameter updates can be reduced from 20000 to 5000, and the learning time can be greatly shortened.

また、図8に係る検証では、図7に係る検証と同様に、Referenceにおけるバッチサイズを64で固定し、学習を行った。一方、Approachにおいては、損失の0回微分値が閾値0.35を下回ったタイミングT7(エポック8)において、バッチサイズを64から1024に増加させ学習を継続させた。 Moreover, in the verification according to FIG. 8, learning was performed with the batch size in Reference fixed at 64, as in the verification according to FIG. On the other hand, in Approach, the batch size was increased from 64 to 1024 at timing T7 (epoch 8) when the 0th differential value of the loss fell below the threshold value of 0.35, and learning was continued.

上記の制御の結果、パラメータの更新回数を20000回から7250回に削減することができ、学習時間を大幅に短縮することができた。 As a result of the above control, the number of parameter updates can be reduced from 20000 to 7250, and the learning time can be greatly shortened.

以上、本実施形態に係るバッチサイズ変更手法の検証結果について述べた。上述した検証結果では、本実施形態に係るバッチサイズ変更手法を適用した場合、性能にほぼ影響を与えずに、パラメータ更新回数を1/3~1/4程度削減できることが示されている。このように、本実施形態に係る情報処理装置10によれば、DNNによる学習を学習手法に依らず効果的に高速化することが可能となる。 The verification results of the batch size changing method according to the present embodiment have been described above. The verification results described above show that when the batch size changing method according to the present embodiment is applied, the number of parameter updates can be reduced by about 1/3 to 1/4 with almost no impact on performance. As described above, according to the information processing apparatus 10 according to the present embodiment, it is possible to effectively speed up the learning by DNN regardless of the learning method.

なお、損失の1回微分値に基づくバッチサイズの変更は、例えば、図9に示すような訓練スクリプトTS1および損失傾き計算モジュールCMにより実現することができる。なお、図9においては、コードを擬似的に示している。 It should be noted that changing the batch size based on the first derivative of the loss can be realized, for example, by a training script TS1 and a loss slope calculation module CM as shown in FIG. In addition, in FIG. 9, codes are shown in a pseudo manner.

図9に示す一例の場合、訓練スクリプトTS1では、まず、損失傾き取得APIすなわち損失傾き計算モジュールCMの呼び出し処理を実行し、返り値として現在のloss_gradの値が取得される。 In the case of the example shown in FIG. 9, the training script TS1 first executes the process of calling the loss slope acquisition API, that is, the loss slope calculation module CM, and acquires the current loss_grad value as a return value.

次に、取得されたloss_gradの値と閾値との比較処理が実行され、ここで、loss_gradの値が閾値を下回る場合、バッチサイズの増加処理が実行される。 Next, a process of comparing the obtained value of loss_grad with a threshold is performed, and if the value of loss_grad is below the threshold, a process of increasing the batch size is performed.

訓練スクリプトTS1では、学習が収束するまで、上記の各処理が繰り返し実行される。 In the training script TS1, the above processes are repeatedly executed until learning converges.

また、損失傾き計算モジュールCMは、訓練スクリプトTS1により呼び出されると、保持するlossの値をloss_prevに退避し、新たに取得したlossとloss_prevとの差を求めることで、loss_gradを算出する。この際、損失傾き計算モジュールCMは、図示するように、損失の移動平均をとりノイズを除去する処理を行なってもよい。 In addition, when called by the training script TS1, the loss gradient calculation module CM saves the retained value of loss to loss_prev, and calculates loss_grad by obtaining the difference between the newly obtained loss and loss_prev. At this time, the loss slope calculation module CM may take a moving average of losses and remove noise, as shown in the figure.

なお、上記では、バッチサイズを増加させる場合を主な例に説明したが、本実施形態に係る学習部120は、損失に基づいて学習の発散が推定される場合には、学習中バッチサイズの値を減少させることも可能である。 In the above description, the case of increasing the batch size has been described as a main example. It is also possible to decrease the value.

例えば、図5に示した一例の場合、期間D1においては学習がまだ不安定であることから、学習部120は、初期値として与えられた小さいバッチサイズの値を維持する。一方、期間D2において学習が安定した場合、学習部120はバッチサイズの値を増加させてよい。 For example, in the case of the example shown in FIG. 5, the learning is still unstable in the period D1, so the learning unit 120 maintains the small batch size value given as the initial value. On the other hand, when learning stabilizes in period D2, the learning unit 120 may increase the value of the batch size.

しかし、Step learning rate decayでは、一般に学習率を下げた直後に大きく損失が下がることから、学習率を下げる前と比較して学習が発散しやすくなることが想定される。このため、本実施形態に係る学習部120は、期間D2において一度増加させたバッチサイズの値を期間D3においては減少させることで学習の収束を図ることができる。この際、学習部120は、例えば期間D1および期間D2の間となるようなバッチサイズの値を設定してよい。 However, in step learning rate decay, since the loss generally drops significantly immediately after the learning rate is lowered, it is assumed that the learning diverges more easily than before the learning rate is lowered. Therefore, the learning unit 120 according to the present embodiment can converge learning by decreasing the value of the batch size, which is once increased in the period D2, in the period D3. At this time, the learning unit 120 may set a batch size value between the period D1 and the period D2, for example.

次に、本実施形態に係るエポックに基づくバッチサイズの変更について説明する。DNNによる学習では、学習率の減衰がない場合、学習が進むにつれ、すなわちエポックが重なるにつれ、学習が容易となる傾向が強く見られる。このため、本実施形態に係る学習部120は、エポックの経過に伴いバッチサイズの値を増加させることができる。例えば、本実施形態に係る学習部120は、エポックごとにバッチサイズの値を増加させてもよい。 Next, changing the batch size based on the epoch according to this embodiment will be described. In learning by DNN, if the learning rate does not decay, there is a strong tendency for learning to become easier as learning progresses, that is, as epochs overlap. Therefore, the learning unit 120 according to this embodiment can increase the value of the batch size as epochs elapse. For example, the learning unit 120 according to this embodiment may increase the value of the batch size for each epoch.

図10は、本実施形態に係るエポックごとのバッチサイズ増加をMNISTを用いた学習に適用した場合の検証結果を示す図である。ここでは、バッチサイズの初期値として128を設定し、エポック1(タイミングT8)でバッチサイズを256に、エポック2(タイミングT9)でバッチサイズを512に、エポック3(タイミングT10)でバッチサイズを1024に、それぞれ倍増させる制御を行った。 FIG. 10 is a diagram showing a verification result when increasing the batch size for each epoch according to this embodiment is applied to learning using MNIST. Here, the initial batch size is set to 128, the batch size is set to 256 in epoch 1 (timing T8), the batch size is set to 512 in epoch 2 (timing T9), and the batch size is set to epoch 3 (timing T10). 1024 were controlled to double each.

上記の制御の結果、パラメータの更新回数を2000回から938に削減することができた。係る検証結果によれば、エポックごとにバッチサイズを増加させた場合であっても、損失の収束に大きな影響を与えず、学習時間を大幅に削減できることがわかる。 As a result of the above control, the number of parameter updates was reduced from 2000 to 938. According to the verification results, it can be seen that even if the batch size is increased for each epoch, the learning time can be significantly reduced without significantly affecting loss convergence.

また、本実施形態に係る学習部120は、損失やエポックに基づいてバッチサイズの値を増加させた結果、学習の発散が推定された場合には、発散前、すなわち直前のエポックにおけるネットワークモデルを再読み込みすることで、学習の収束を図ることも可能である。 In addition, the learning unit 120 according to the present embodiment, as a result of increasing the batch size value based on the loss and epoch, when learning divergence is estimated, the network model before divergence, that is, in the immediately preceding epoch It is also possible to attempt convergence of learning by reloading.

図11は、本実施形態に係る損失およびエポックに基づくバッチサイズ変化をcifar10を用いた学習に適用した場合の検証結果を示す図である。 FIG. 11 is a diagram showing a verification result when batch size change based on loss and epoch according to this embodiment is applied to learning using cifar10.

ここでは、バッチサイズの初期値として64を設定し、損失の0回微分値の閾値を0.35に設定した。図11に示す一例の場合、エポック8(タイミングT11)において損失が閾値0.35を下回ったことに基づいてバッチサイズの増加処理を開始し、その後エポックごとにバッチサイズを増加させた。 Here, 64 was set as the initial value of the batch size, and the threshold value of the 0th differential value of the loss was set to 0.35. In the case of the example shown in FIG. 11, batch size increase processing was started based on the fact that the loss fell below the threshold value of 0.35 at epoch 8 (timing T11), and thereafter the batch size was increased for each epoch.

その後、エポック14(タイミングT12)においてバッチサイズを4Kに増加させたところ、学習の発散が推定された。このため、本実施形態に係る学習部120は、エポック15の開始時点でバッチサイズの値の増加を停止し、エポック14開始時点におけるモデルを再読み込みしたうえで、バッチサイズの値を2Kに固定し学習を継続した。 After that, when the batch size was increased to 4K at epoch 14 (timing T12), divergence of learning was estimated. Therefore, the learning unit 120 according to the present embodiment stops increasing the batch size value at the start of epoch 15, reloads the model at the start of epoch 14, and fixes the batch size value to 2K. and continued learning.

このように、本実施形態に係る学習部120は、過去のエポックにおけるネットワークモデルの再読み込みを行った場合、当該過去のエポックで設定した値よりも小さいバッチサイズの値を設定してよい。 In this way, the learning unit 120 according to the present embodiment may set a smaller batch size value than the value set in the past epoch when reloading the network model in the past epoch.

本実施形態に係る学習部120が有する上記の機能によれば、損失やエポックに基づいて自動でバッチサイズの値を増減することができ、学習の発散を回避しながらパラメータの更新回数を効果的に削減することが可能となる。 According to the above function of the learning unit 120 according to the present embodiment, the batch size value can be automatically increased or decreased based on the loss or epoch, and the number of parameter updates can be effectively reduced while avoiding learning divergence. can be reduced to

なお、上記のような損失とエポックに基づくバッチサイズの増減は、例えば、図12に示すような訓練スクリプトTS2より実現することができる。なお、図12においては、コードを擬似的に示している。 It should be noted that the increase and decrease of the batch size based on loss and epoch as described above can be realized by, for example, a training script TS2 as shown in FIG. Note that FIG. 12 shows codes in a pseudo manner.

図12に示す一例の場合、訓練スクリプトTS2は、まず、図9に示した損失傾き計算モジュールCMを呼び出し返り値として取得したloss_gradを、閾値と比較している。ここで、loss_gradが閾値を下回る場合、訓練スクリプトTS2は、バッチサイズの自動増加を開始する。 In the example shown in FIG. 12, the training script TS2 first compares loss_grad obtained as a return value from calling the loss gradient calculation module CM shown in FIG. 9 with a threshold. Now, if loss_grad is below the threshold, the training script TS2 starts auto-increasing the batch size.

その後、訓練スクリプトTS2は、損失が前エポックよりも閾値以上大きくなったか否かを判定する。ここで、損失の増大が認められる場合、訓練スクリプトTS2は、バッチサイズの自動増加を停止する。 The training script TS2 then determines whether the loss is greater than the previous epoch by more than a threshold. Now, if an increase in loss is observed, the training script TS2 stops automatically increasing the batch size.

また、この際、訓練スクリプトTS2は、前エポックにおけるDNNのネットワークモデルを再読み込みする。 Also, at this time, the training script TS2 reloads the network model of the DNN in the previous epoch.

<<1.4.バッチサイズ増減の実現手法>>
続いて、本実施形態に係るバッチサイズ増減の実現手法について詳細に説明する。本実施形態に係るバッチサイズ変更部140は、学習部120が設定したバッチサイズの値を取得し、当該値に基づいてGPU(Graphics Processing Unit)を制御することで、バッチサイズの増減を実現する。
<<1.4. Realization method of batch size increase/decrease >>
Subsequently, a method for realizing batch size increase/decrease according to the present embodiment will be described in detail. The batch size changing unit 140 according to the present embodiment acquires the value of the batch size set by the learning unit 120, and controls the GPU (Graphics Processing Unit) based on the value to increase or decrease the batch size. .

例えば、本実施形態に係るバッチサイズ変更部140は、GPU中のモデルを作り直すことによりバッチサイズの増減を制御してもよい。 For example, the batch size changing unit 140 according to this embodiment may control the increase or decrease of the batch size by recreating the model in the GPU.

図13は、本実施形態に係るバッチサイズ変更部140によるGPU中モデルの作り直しについて説明するための図である。この場合、まず、学習部120が損失の値を微分計算部130に入力し、当該値のn回部分値を取得する。また、学習部120は、取得したn回部分値に基づいて変更後のバッチサイズの値を決定し、当該バッチサイズの値をバッチサイズ変更部140に入力する。 FIG. 13 is a diagram for explaining recreating the GPU medium model by the batch size changing unit 140 according to the present embodiment. In this case, first, the learning unit 120 inputs the value of the loss to the differential calculation unit 130, and obtains the n-th partial value of the value. In addition, the learning unit 120 determines the value of the batch size after change based on the acquired n-times partial value, and inputs the value of the batch size to the batch size changing unit 140 .

次に、本実施形態に係るバッチサイズ変更部140は、入力されたバッチサイズの値に基づいて、現在学習に利用されているGPUにモデルの再作成指示を行う。 Next, the batch size changing unit 140 according to the present embodiment instructs the GPU currently used for learning to recreate the model based on the input batch size value.

なお、図13では、GPU_0およびGPU_1のうち、GPU_0が現在学習に用いられており、GPU_0中のモデルのバッチサイズが32である場合において、バッチサイズ変更部140がGPU_0にモデルの再作成を指示し、当該モデルのバッチサイズを64に変更させる場合の一例が示されている。 In FIG. 13, among GPU_0 and GPU_1, GPU_0 is currently used for learning, and when the batch size of the model in GPU_0 is 32, the batch size changing unit 140 instructs GPU_0 to recreate the model. and the batch size of the model is changed to 64.

本実施形態に係るバッチサイズ変更部140による上記の制御によれば、情報処理装置10が有するGPUの数に影響されずグローバルにバッチサイズを上げることができ、またGPUの並列演算能力が活きることでさらなる高速化に繋がる効果も記載される。 According to the above control by the batch size changing unit 140 according to the present embodiment, the batch size can be increased globally without being affected by the number of GPUs that the information processing apparatus 10 has, and the parallel computing capability of the GPUs can be utilized. The effect leading to further speedup is also described in .

また、例えば、本実施形態に係るバッチサイズ変更部140は、学習に係る計算のループ数を増減させることによりバッチサイズの増減を制御してもよい。上記のようなテクニックは、accum-gradとも称される。 Further, for example, the batch size changing unit 140 according to the present embodiment may control increase/decrease of the batch size by increasing/decreasing the number of loops of calculation related to learning. Techniques such as the above are also referred to as accum-grad.

図14は、本実施形態に係るバッチサイズ変更部140による計算ループ数の増減制御について説明するための図である。この場合、本実施形態に係るバッチサイズ変更部140は、学習部120から入力されたバッチサイズの値に基づいて、現在学習に利用されているGPUに計算ループ数を変更するよう指示する。 FIG. 14 is a diagram for explaining increase/decrease control of the number of calculation loops by the batch size changing unit 140 according to this embodiment. In this case, the batch size changing unit 140 according to the present embodiment instructs the GPU currently used for learning to change the number of calculation loops based on the batch size value input from the learning unit 120 .

なお、図14では、GPU_0およびGPU_1のうち、GPU_0が現在学習に用いられており、GPU_0中のモデルのバッチサイズが32である場合において、バッチサイズ変更部140がGPU_0に2回accum-gradを行うよう指示し、バッチサイズ32による学習が2回行われる場合の一例が示されている。 In FIG. 14, among GPU_0 and GPU_1, GPU_0 is currently used for learning, and when the batch size of the model in GPU_0 is 32, the batch size changing unit 140 performs accum-grad to GPU_0 twice. An example of a case where the instruction is given and learning with a batch size of 32 is performed twice is shown.

本実施形態に係るバッチサイズ変更部140による上記の制御によれば、GPUの数やメモリ容量に制限されることなくバッチサイズを上げることができ、また同期処理の回数が減るため、減った同期処理の回数分だけ学習を高速化することができる。 According to the above control by the batch size changing unit 140 according to the present embodiment, the batch size can be increased without being restricted by the number of GPUs or the memory capacity, and the number of synchronization processes is reduced. The speed of learning can be increased by the number of times of processing.

また、例えば、本実施形態に係るバッチサイズ変更部140は、学習に用いられるGPUの数を増減させることによりバッチサイズの増減を制御してもよい。 Also, for example, the batch size changing unit 140 according to the present embodiment may control increase/decrease of the batch size by increasing/decreasing the number of GPUs used for learning.

図15は、本実施形態に係るバッチサイズ変更部140による利用GPUの増減制御について説明するための図である。この場合、本実施形態に係るバッチサイズ変更部140は、学習部120から入力されたバッチサイズの値に基づいて、現在学習に利用されていないGPUに稼働を指示する。 FIG. 15 is a diagram for explaining increase/decrease control of used GPUs by the batch size changing unit 140 according to the present embodiment. In this case, the batch size changing unit 140 according to the present embodiment instructs GPUs not currently used for learning to operate based on the batch size value input from the learning unit 120 .

なお、図15では、GPU_0およびGPU_1のうち、GPU_0のみが現在学習に用いられている場合において、バッチサイズ変更部140がGPU_1に稼働を指示する場合の一例が示されている。 Note that FIG. 15 shows an example in which the batch size changing unit 140 instructs GPU_1 to operate when only GPU_0 of GPU_0 and GPU_1 is currently used for learning.

本実施形態に係るバッチサイズ変更部140による上記の制御によれば、計算資源を増やすことで、その分学習を高速化することができる。 According to the above control by the batch size changing unit 140 according to the present embodiment, learning can be speeded up by increasing computational resources.

以上、本実施形態に係るバッチサイズ変更部140によるバッチサイズの変更制御手法について説明した。なお、本実施形態に係るバッチサイズ変更部140は、例えば、図16に示すような優先度に基づいて、バッチサイズの変更制御手法を選択することで、バッチサイズ増加による高速化効果をより大きくすることができる。 The batch size change control method by the batch size change unit 140 according to the present embodiment has been described above. Note that the batch size change unit 140 according to the present embodiment selects a batch size change control method based on the priority shown in FIG. can do.

図16は、本実施形態に係るバッチサイズ変更部140による制御の流れを示すフローチャートである。 FIG. 16 is a flow chart showing the flow of control by the batch size changer 140 according to this embodiment.

図16を参照すると、バッチサイズ変更部140は、まず、追加で利用可能なGPUが存在するか否かを判定する(S1101)。 Referring to FIG. 16, the batch size changing unit 140 first determines whether or not there is an additionally usable GPU (S1101).

ここで、追加で利用可能なGPUが存在する場合(S1101:Yes)、バッチサイズ変更部140は、当該利用可能なGPUを学習に割り当てることで、バッチサイズの増加を制御する(S1102)。 Here, if there is an additionally usable GPU (S1101: Yes), the batch size changing unit 140 controls the batch size increase by allocating the usable GPU to learning (S1102).

続いて、バッチサイズ変更部140は、ステップS1102における処理により目的のバッチサイズを達成したかを判定する(S1103)。 Subsequently, the batch size changing unit 140 determines whether the target batch size has been achieved by the processing in step S1102 (S1103).

ここで、目的のバッチサイズが達成されている場合(S1103:Yes)、バッチサイズ変更部140は、バッチサイズ変更に係る処理を終了する。 Here, if the target batch size has been achieved (S1103: Yes), the batch size changing unit 140 ends the processing related to changing the batch size.

一方、目的のバッチサイズが達成されていない場合(S1103:No)、または追加で利用可能なGPUが存在しない場合(S1101:No)、バッチサイズ変更部140は、現在利用中のGPUのメモリに空き容量が存在するか否かを判定する(S1104)。 On the other hand, if the desired batch size has not been achieved (S1103: No), or if there is no additionally usable GPU (S1101: No), the batch size changing unit 140 stores It is determined whether or not there is free space (S1104).

ここで、現在利用中のGPUのメモリに空き容量が存在する場合(S1104:Yes)、バッチサイズ変更部140は、現在利用中のGPU中のモデルを作り直すことで、バッチサイズの増加を制御する(S1105)。 Here, if there is free space in the memory of the GPU currently in use (S1104: Yes), the batch size changing unit 140 controls the increase in batch size by recreating the model in the GPU currently in use. (S1105).

続いて、バッチサイズ変更部140は、ステップS1105における処理により目的のバッチサイズを達成したかを判定する(S1106)。 Subsequently, the batch size changing unit 140 determines whether the target batch size has been achieved by the processing in step S1105 (S1106).

ここで、目的のバッチサイズが達成されている場合(S1106:Yes)、バッチサイズ変更部140は、バッチサイズ変更に係る処理を終了する。 Here, if the target batch size has been achieved (S1106: Yes), the batch size changing unit 140 ends the processing related to changing the batch size.

一方、目的のバッチサイズが達成されていない場合(S1106:No)、または現在利用中のGPUのメモリに空き容量が存在しない場合(S1104:No)、バッチサイズ変更部140は、学習に係る計算のループ数を増加させることで、バッチサイズの増加を制御し(S1107)、バッチサイズ変更に係る処理を終了する。 On the other hand, if the target batch size has not been achieved (S1106: No), or if there is no free space in the memory of the GPU currently in use (S1104: No), the batch size changing unit 140 performs calculations related to learning. By increasing the number of loops, the batch size increase is controlled (S1107), and the process related to batch size change ends.

<2.ハードウェア構成例>
次に、本開示の一実施形態に係る情報処理装置10のハードウェア構成例について説明する。図17は、本開示の一実施形態に係る情報処理装置10のハードウェア構成例を示すブロック図である。図17を参照すると、情報処理装置10は、例えば、プロセッサ871と、ROM872と、RAM873と、ホストバス874と、ブリッジ875と、外部バス876と、インターフェース877と、入力装置878と、出力装置879と、ストレージ880と、ドライブ881と、接続ポート882と、通信装置883と、を有する。なお、ここで示すハードウェア構成は一例であり、構成要素の一部が省略されてもよい。また、ここで示される構成要素以外の構成要素をさらに含んでもよい。
<2. Hardware configuration example>
Next, a hardware configuration example of the information processing device 10 according to an embodiment of the present disclosure will be described. FIG. 17 is a block diagram showing a hardware configuration example of the information processing device 10 according to an embodiment of the present disclosure. Referring to FIG. 17, the information processing apparatus 10 includes, for example, a processor 871, a ROM 872, a RAM 873, a host bus 874, a bridge 875, an external bus 876, an interface 877, an input device 878, and an output device 879. , a storage 880 , a drive 881 , a connection port 882 and a communication device 883 . Note that the hardware configuration shown here is an example, and some of the components may be omitted. Moreover, it may further include components other than the components shown here.

(プロセッサ871)
プロセッサ871は、例えば、演算処理装置又は制御装置として機能し、ROM872、RAM873、ストレージ880、又はリムーバブル記録媒体901に記録された各種プログラムに基づいて各構成要素の動作全般又はその一部を制御する。プロセッサ871は、例えば、GPUやCPUを含む。なお、本開示の一実施形態に係る情報処理装置10は、少なくとも2つのGPUを備える。
(processor 871)
The processor 871 functions as, for example, an arithmetic processing device or a control device, and controls the overall operation of each component or a part thereof based on various programs recorded in the ROM 872, RAM 873, storage 880, or removable recording medium 901. . The processor 871 includes, for example, GPU and CPU. Note that the information processing device 10 according to an embodiment of the present disclosure includes at least two GPUs.

(ROM872、RAM873)
ROM872は、プロセッサ871に読み込まれるプログラムや演算に用いるデータ等を格納する手段である。RAM873には、例えば、プロセッサ871に読み込まれるプログラムや、そのプログラムを実行する際に適宜変化する各種パラメータ等が一時的又は永続的に格納される。
(ROM872, RAM873)
The ROM 872 is means for storing programs to be read into the processor 871, data used for calculation, and the like. The RAM 873 temporarily or permanently stores, for example, programs to be read into the processor 871 and various parameters that change appropriately when the programs are executed.

(ホストバス874、ブリッジ875、外部バス876、インターフェース877)
プロセッサ871、ROM872、RAM873は、例えば、高速なデータ伝送が可能なホストバス874を介して相互に接続される。一方、ホストバス874は、例えば、ブリッジ875を介して比較的データ伝送速度が低速な外部バス876に接続される。また、外部バス876は、インターフェース877を介して種々の構成要素と接続される。
(Host Bus 874, Bridge 875, External Bus 876, Interface 877)
The processor 871, ROM 872, and RAM 873 are interconnected via, for example, a host bus 874 capable of high-speed data transmission. On the other hand, the host bus 874 is connected, for example, via a bridge 875 to an external bus 876 with a relatively low data transmission speed. External bus 876 is also connected to various components via interface 877 .

(入力装置878)
入力装置878には、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチ、及びレバー等が用いられる。さらに、入力装置878としては、赤外線やその他の電波を利用して制御信号を送信することが可能なリモートコントローラ(以下、リモコン)が用いられることもある。また、入力装置878には、マイクロフォンなどの音声入力装置が含まれる。
(input device 878)
For the input device 878, for example, a mouse, keyboard, touch panel, button, switch, lever, or the like is used. Furthermore, as the input device 878, a remote controller (hereinafter referred to as a remote controller) capable of transmitting control signals using infrared rays or other radio waves may be used. The input device 878 also includes a voice input device such as a microphone.

(出力装置879)
出力装置879は、例えば、CRT(Cathode Ray Tube)、LCD、又は有機EL等のディスプレイ装置、スピーカ、ヘッドホン等のオーディオ出力装置、プリンタ、携帯電話、又はファクシミリ等、取得した情報を利用者に対して視覚的又は聴覚的に通知することが可能な装置である。また、本開示に係る出力装置879は、触覚刺激を出力することが可能な種々の振動デバイスを含む。
(output device 879)
The output device 879 is, for example, a display device such as a CRT (Cathode Ray Tube), LCD, or organic EL, an audio output device such as a speaker, headphones, a printer, a mobile phone, a facsimile, or the like, and outputs the acquired information to the user. It is a device capable of visually or audibly notifying Output devices 879 according to the present disclosure also include various vibration devices capable of outputting tactile stimuli.

(ストレージ880)
ストレージ880は、各種のデータを格納するための装置である。ストレージ880としては、例えば、ハードディスクドライブ(HDD)等の磁気記憶デバイス、半導体記憶デバイス、光記憶デバイス、又は光磁気記憶デバイス等が用いられる。
(storage 880)
Storage 880 is a device for storing various data. As the storage 880, for example, a magnetic storage device such as a hard disk drive (HDD), a semiconductor storage device, an optical storage device, a magneto-optical storage device, or the like is used.

(ドライブ881)
ドライブ881は、例えば、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体901に記録された情報を読み出し、又はリムーバブル記録媒体901に情報を書き込む装置である。
(Drive 881)
The drive 881 is, for example, a device that reads information recorded on a removable recording medium 901 such as a magnetic disk, optical disk, magneto-optical disk, or semiconductor memory, or writes information to the removable recording medium 901 .

(リムーバブル記録媒体901)
リムーバブル記録媒体901は、例えば、DVDメディア、Blu-ray(登録商標)メディア、HD DVDメディア、各種の半導体記憶メディア等である。もちろん、リムーバブル記録媒体901は、例えば、非接触型ICチップを搭載したICカード、又は電子機器等であってもよい。
(Removable recording medium 901)
The removable recording medium 901 is, for example, DVD media, Blu-ray (registered trademark) media, HD DVD media, various semiconductor storage media, and the like. Of course, the removable recording medium 901 may be, for example, an IC card equipped with a contactless IC chip, an electronic device, or the like.

(接続ポート882)
接続ポート882は、例えば、USB(Universal Serial Bus)ポート、IEEE1394ポート、SCSI(Small Computer System Interface)、RS-232Cポート、又は光オーディオ端子等のような外部接続機器902を接続するためのポートである。
(Connection port 882)
The connection port 882 is, for example, a USB (Universal Serial Bus) port, an IEEE1394 port, a SCSI (Small Computer System Interface), an RS-232C port, or a port for connecting an external connection device 902 such as an optical audio terminal. be.

(外部接続機器902)
外部接続機器902は、例えば、プリンタ、携帯音楽プレーヤ、デジタルカメラ、デジタルビデオカメラ、又はICレコーダ等である。
(External connection device 902)
The external connection device 902 is, for example, a printer, a portable music player, a digital camera, a digital video camera, an IC recorder, or the like.

(通信装置883)
通信装置883は、ネットワークに接続するための通信デバイスであり、例えば、有線又は無線LAN、Bluetooth(登録商標)、又はWUSB(Wireless USB)用の通信カード、光通信用のルータ、ADSL(Asymmetric Digital Subscriber Line)用のルータ、又は各種通信用のモデム等である。
(Communication device 883)
The communication device 883 is a communication device for connecting to a network. subscriber line) or a modem for various communications.

<3.まとめ>
以上説明したように、本開示の一実施形態に係る情報処理装置10は、ニューラルネットワークを用いた学習を行う学習部120を備え、学習部120は、ニューラルネットワークが出力する学習に係る理想状態とのギャップ値に基づいて、学習中にバッチサイズの値を動的に変更すること、を特徴の一つとする。係る構成によれば、DNNによる学習を学習手法に依らず効果的に高速化することが可能となる。
<3. Summary>
As described above, the information processing apparatus 10 according to an embodiment of the present disclosure includes the learning unit 120 that performs learning using a neural network. One of the features is to dynamically change the batch size value during learning based on the gap value of . According to such a configuration, it is possible to effectively speed up learning by DNN regardless of the learning method.

以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。 Although the preferred embodiments of the present disclosure have been described in detail above with reference to the accompanying drawings, the technical scope of the present disclosure is not limited to such examples. It is obvious that those who have ordinary knowledge in the technical field of the present disclosure can conceive of various modifications or modifications within the scope of the technical idea described in the claims. is naturally within the technical scope of the present disclosure.

また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。 Also, the effects described herein are merely illustrative or exemplary, and are not limiting. In other words, the technology according to the present disclosure can produce other effects that are obvious to those skilled in the art from the description of this specification, in addition to or instead of the above effects.

また、コンピュータに内蔵されるCPU、ROMおよびRAMなどのハードウェアに、情報処理装置10が有する構成と同等の機能を発揮させるためのプログラムも作成可能であり、当該プログラムを記録した、コンピュータに読み取り可能な非一過性の記録媒体も提供され得る。 It is also possible to create a program for causing hardware such as a CPU, ROM, and RAM built into a computer to exhibit functions equivalent to those of the configuration of the information processing apparatus 10. A possible non-transitory recording medium may also be provided.

また、本明細書の情報処理装置10の処理に係る各ステップは、必ずしもフローチャートに記載された順序に沿って時系列に処理される必要はない。例えば、情報処理装置10の処理に係る各ステップは、フローチャートに記載された順序と異なる順序で処理されても、並列的に処理されてもよい。 Further, each step related to the processing of the information processing apparatus 10 of this specification does not necessarily have to be processed in chronological order according to the order described in the flowchart. For example, each step related to the processing of the information processing device 10 may be processed in an order different from the order described in the flowchart, or may be processed in parallel.

なお、以下のような構成も本開示の技術的範囲に属する。
(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)
プロセッサが、ニューラルネットワークによる学習に係る理想状態とのギャップ値を取得することと、
前記理想状態とのギャップ値に基づいて、前記ニューラルネットワークにおけるバッチサイズの値の動的な変更を指示することと、
を含む、
情報処理方法。
Note that the following configuration also belongs to the technical scope of the present disclosure.
(1)
an acquisition unit that acquires a gap value between an ideal state and an ideal state related to learning by a neural network;
an instruction unit that instructs dynamic change of the batch size value in the neural network based on the gap value from the ideal state;
comprising
Information processing equipment.
(2)
The gap value from the ideal state includes at least a loss-related value,
The acquisition unit acquires a value related to the loss,
The instruction unit instructs a dynamic change of the batch size value in the neural network based on the loss-related value.
The information processing device according to (1) above.
(3)
The value related to the loss includes the n-th differential value of the loss (n is an integer of 0 or more, the same applies hereinafter),
The information processing device according to (2) above.
(4)
The n-th differential value of the loss is the differential value of the loss in the time direction,
The information processing device according to (3) above.
(5)
The acquisition unit acquires the value related to the loss via an API,
The instruction unit automatically instructs a change in the batch size value based on the loss-related value.
The information processing apparatus according to any one of (2) to (4) above.
(6)
The instruction unit instructs to increase the value of the batch size when convergence of learning is estimated from the value related to the loss,
The information processing apparatus according to any one of (2) to (5).
(7)
The instruction unit instructs to increase the batch size value based on the value of the n-th differential value of the loss.
The information processing apparatus according to (3) or (4).
(8)
The instruction unit instructs to increase the batch size value based on at least one of the loss value or the loss slope being below a threshold.
The information processing device according to (7) above.
(9)
The instruction unit instructs a decrease in the batch size value when learning divergence is estimated based on the loss-related value.
The information processing apparatus according to any one of (2) to (8).
(10)
The instruction unit instructs reloading of the network model in a past epoch when learning divergence is estimated based on the loss-related value.
The information processing device according to (9) above.
(11)
When the network model is reloaded in the past epoch, the instruction unit causes the batch size value to be set smaller than the value set in the past epoch.
The information processing device according to (10) above.
(12)
The instruction unit instructs to increase or decrease the batch size by recreating the model in the GPU.
The information processing apparatus according to any one of (1) to (11) above.
(13)
The instruction unit instructs to increase or decrease the batch size by increasing or decreasing the number of loops for calculation related to learning,
The information processing apparatus according to any one of (1) to (12) above.
(14)
The instruction unit instructs an increase or decrease in batch size due to an increase or decrease in the number of GPUs used for learning,
The information processing apparatus according to any one of (1) to (13) above.
(15)
If there is an additional available GPU, the instruction unit instructs to increase the batch size by allocating the GPU to learning.
The information processing apparatus according to any one of (1) to (14) above.
(16)
If there is no additionally usable GPU and there is free space in the memory of the GPU currently in use, the instruction unit instructs to increase the batch size by recreating the model in the GPU currently in use. ,
The information processing apparatus according to any one of (1) to (15).
(17)
The instruction unit instructs to increase the batch size by increasing the number of loops for calculation related to learning when there is no free space in the memory of the GPU currently in use.
The information processing apparatus according to any one of (1) to (16) above.
(18)
The gap value with the ideal state includes at least one of training error or validation error,
The information processing device according to (1) above.
(19)
A processor acquiring a gap value between an ideal state and an ideal state related to learning by a neural network;
Directing a dynamic change of a batch size value in the neural network based on the gap value from the ideal state;
including,
Information processing methods.

10 情報処理装置
110 入出力制御部
120 学習部
130 微分計算部
140 バッチサイズ変更部
10 Information Processing Device 110 Input/Output Control Unit 120 Learning Unit 130 Differential Calculation Unit 140 Batch Size Changing Unit

Claims (19)

ニューラルネットワークによる学習に係る理想状態とのギャップ値を取得する取得部と、
前記理想状態とのギャップ値に基づいて、前記ニューラルネットワークにおけるバッチサイズの値の動的な変更を指示する指示部と、
を備える、
情報処理装置。
an acquisition unit that acquires a gap value between an ideal state and an ideal state related to learning by a neural network;
an instruction unit that instructs dynamic change of the batch size value in the neural network based on the gap value from the ideal state;
comprising
Information processing equipment.
前記理想状態とのギャップ値は、少なくとも損失に関する値を含み、
前記取得部は、前記損失に関する値を取得し、
前記指示部は、前記損失に関する値に基づいて、前記ニューラルネットワークにおけるバッチサイズの値の動的な変更を指示する、
請求項1に記載の情報処理装置。
The gap value from the ideal state includes at least a loss-related value,
The acquisition unit acquires a value related to the loss,
The instruction unit instructs a dynamic change of the batch size value in the neural network based on the loss-related value.
The information processing device according to claim 1 .
前記損失に関する値は、前記損失のn回微分値(nは0以上の整数。以下同様)を含む、
請求項2に記載の情報処理装置。
The value related to the loss includes the n-th differential value of the loss (n is an integer of 0 or more, the same applies hereinafter),
The information processing apparatus according to claim 2.
前記損失のn回微分値は、時間方向における前記損失の微分値である、
請求項3に記載の情報処理装置。
The n-th differential value of the loss is the differential value of the loss in the time direction,
The information processing apparatus according to claim 3.
前記取得部は、APIを介し前記損失に関する値を取得し、
前記指示部は、前記損失に関する値に基づいて、自動的に前記バッチサイズの値の変更を指示する、
請求項2に記載の情報処理装置。
The acquisition unit acquires a value related to the loss via an API,
The instruction unit automatically instructs a change in the batch size value based on the loss-related value.
The information processing apparatus according to claim 2.
前記指示部は、前記損失に関する値から学習の収束が推定される場合、バッチサイズの値の増加を指示する、
請求項2に記載の情報処理装置。
The instruction unit instructs to increase the value of the batch size when convergence of learning is estimated from the value related to the loss,
The information processing apparatus according to claim 2.
前記指示部は、前記損失のn回微分値の値に基づいて、バッチサイズの値の増加を指示する、
請求項3に記載の情報処理装置。
The instruction unit instructs to increase the batch size value based on the value of the n-th differential value of the loss.
The information processing apparatus according to claim 3.
前記指示部は、前記損失の値または前記損失の傾きの少なくともいずれかが閾値を下回ることに基づいて、バッチサイズの値の増加を指示する、
請求項7に記載の情報処理装置。
The instruction unit instructs to increase the batch size value based on at least one of the loss value or the loss slope being below a threshold.
The information processing apparatus according to claim 7.
前記指示部は、前記損失に関する値に基づいて学習の発散が推定される場合、バッチサイズの値の減少を指示する、
請求項2に記載の情報処理装置。
The instruction unit instructs a decrease in the batch size value when learning divergence is estimated based on the loss-related value.
The information processing apparatus according to claim 2.
前記指示部は、前記損失に関する値に基づいて学習の発散が推定される場合、過去のエポックにおけるネットワークモデルの再読み込みを指示する、
請求項9に記載の情報処理装置。
The instruction unit instructs reloading of the network model in a past epoch when learning divergence is estimated based on the loss-related value.
The information processing apparatus according to claim 9 .
前記指示部は、前記過去のエポックにおけるネットワークモデルの再読み込みが行われた場合、前記過去のエポックで設定された値よりも小さいバッチサイズの値を設定させる、
請求項10に記載の情報処理装置。
When the network model is reloaded in the past epoch, the instruction unit causes the batch size value to be set smaller than the value set in the past epoch.
The information processing apparatus according to claim 10.
前記指示部は、GPU中のモデルの作り直しによるバッチサイズの増減を指示する、
請求項1に記載の情報処理装置。
The instruction unit instructs to increase or decrease the batch size by recreating the model in the GPU.
The information processing device according to claim 1 .
前記指示部は、学習に係る計算のループ数の増減によるバッチサイズの増減を指示する、
請求項1に記載の情報処理装置。
The instruction unit instructs to increase or decrease the batch size by increasing or decreasing the number of loops for calculation related to learning,
The information processing device according to claim 1 .
前記指示部は、学習に用いられるGPUの数の増減によるバッチサイズの増減を指示する、
請求項1に記載の情報処理装置。
The instruction unit instructs an increase or decrease in batch size due to an increase or decrease in the number of GPUs used for learning,
The information processing device according to claim 1 .
前記指示部は、追加で利用可能なGPUが存在する場合、当該GPUの学習への割り当てによるバッチサイズの増加を指示する、
請求項1に記載の情報処理装置。
If there is an additional available GPU, the instruction unit instructs to increase the batch size by allocating the GPU to learning.
The information processing device according to claim 1 .
前記指示部は、追加で利用可能なGPUが存在せず、かつ現在利用中のGPUのメモリに空き容量が存在する場合、現在利用中のGPU中のモデルを作り直しによるバッチサイズの増加を指示する、
請求項1に記載の情報処理装置。
If there is no additionally usable GPU and there is free space in the memory of the GPU currently in use, the instruction unit instructs to increase the batch size by recreating the model in the GPU currently in use. ,
The information processing device according to claim 1 .
前記指示部は、現在利用中のGPUのメモリに空き容量が存在しない場合、学習に係る計算のループ数の増加によるバッチサイズの増加を指示する、
請求項1に記載の情報処理装置。
The instruction unit instructs to increase the batch size by increasing the number of loops for calculation related to learning when there is no free space in the memory of the GPU currently in use.
The information processing device according to claim 1 .
前記理想状態とのギャップ値は、トレーニングエラーまたはバリデーションエラーのうち少なくともいずれかを含む、
請求項1に記載の情報処理装置。
The gap value from the ideal state includes at least one of training error or validation error,
The information processing device according to claim 1 .
プロセッサが、ニューラルネットワークによる学習に係る理想状態とのギャップ値を取得することと、
前記理想状態とのギャップ値に基づいて、前記ニューラルネットワークにおけるバッチサイズの値の動的な変更を指示することと、
を含む、
情報処理方法。
A processor acquiring a gap value between an ideal state and an ideal state related to learning by a neural network;
Directing dynamic change of a batch size value in the neural network based on the gap value from the ideal state;
including,
Information processing methods.
JP2019009605A 2019-01-23 2019-01-23 Information processing device and information processing method Active JP7159884B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019009605A JP7159884B2 (en) 2019-01-23 2019-01-23 Information processing device and information processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019009605A JP7159884B2 (en) 2019-01-23 2019-01-23 Information processing device and information processing method

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2018169979A Division JP6471825B1 (en) 2018-09-11 2018-09-11 Information processing apparatus and information processing method

Publications (2)

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

Family

ID=69798500

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019009605A Active JP7159884B2 (en) 2019-01-23 2019-01-23 Information processing device and information processing method

Country Status (1)

Country Link
JP (1) JP7159884B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220033314A (en) 2020-09-09 2022-03-16 삼성전자주식회사 Method for operating host processor and accelerator, and electronic device including the same

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001056802A (en) 1999-08-19 2001-02-27 Oki Electric Ind Co Ltd Learning method of neural network
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 (en) * 1989-12-18 1991-10-02 Hitachi Ltd Information processing system, alarm information processing system, and character recognizing system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001056802A (en) 1999-08-19 2001-02-27 Oki Electric Ind Co Ltd Learning method of neural network
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 (en) 2020-03-19

Similar Documents

Publication Publication Date Title
CN109300179B (en) Animation production method, device, terminal and medium
JP6471825B1 (en) Information processing apparatus and information processing method
KR20200013162A (en) Electronic apparatus and control method thereof
US20190138899A1 (en) Processing apparatus, processing method, and nonvolatile recording medium
CN111105375B (en) Image generation method, model training method and device thereof, and electronic equipment
US20210303938A1 (en) Method and apparatus for optimizing video playback start, device and storage medium
CN110189385B (en) Model training and picture compression and decompression method and device, medium and electronic equipment
US20220193549A1 (en) Adaptive audio mixing
KR20200027080A (en) Electronic apparatus and control method thereof
WO2020097824A1 (en) Audio processing method and apparatus, storage medium, and electronic device
US10079028B2 (en) Sound enhancement through reverberation matching
JP7287388B2 (en) Information processing device and information processing method
CN112767960A (en) Audio noise reduction method, system, device and medium
JP7159884B2 (en) Information processing device and information processing method
CN117729370A (en) Text generation video method and system based on potential diffusion model
CN114155852A (en) Voice processing method and device, electronic equipment and storage medium
KR20220053475A (en) Electronic apparatus and method for controlling thereof
CN117809668A (en) Electronic device and voice signal processing method thereof
KR20210153386A (en) Display device for generating multimedia contents and method thereof
KR102663654B1 (en) Adaptive visual speech recognition
EP3816870A1 (en) Electronic apparatus and control method thereof
JP7352243B2 (en) Computer program, server device, terminal device, learned model, program generation method, and method
CN113886639A (en) Digital human video generation method and device, electronic equipment and storage medium
WO2024184835A1 (en) Efficient adaptation of spoken language understanding based on automatic speech recognition using multi-task learning
KR102689642B1 (en) Method and apparattus for generative model with arbitrary resolution and scale using diffusion model and implicit neural network

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