JP7171477B2 - Information processing device, information processing method and information processing program - Google Patents
Information processing device, information processing method and information processing program Download PDFInfo
- Publication number
- JP7171477B2 JP7171477B2 JP2019047310A JP2019047310A JP7171477B2 JP 7171477 B2 JP7171477 B2 JP 7171477B2 JP 2019047310 A JP2019047310 A JP 2019047310A JP 2019047310 A JP2019047310 A JP 2019047310A JP 7171477 B2 JP7171477 B2 JP 7171477B2
- Authority
- JP
- Japan
- Prior art keywords
- model
- unit
- learned
- learning data
- information processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000010365 information processing Effects 0.000 title claims description 47
- 238000003672 processing method Methods 0.000 title claims description 13
- 230000006870 function Effects 0.000 claims description 75
- 238000000034 method Methods 0.000 claims description 63
- 230000006872 improvement Effects 0.000 claims description 52
- 230000001360 synchronised effect Effects 0.000 claims description 11
- 238000004891 communication Methods 0.000 claims description 10
- 230000002068 genetic effect Effects 0.000 claims description 8
- 230000001934 delay Effects 0.000 claims 2
- 238000012545 processing Methods 0.000 description 48
- 238000004364 calculation method Methods 0.000 description 31
- 230000008569 process Effects 0.000 description 28
- 230000008859 change Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 9
- 238000012935 Averaging Methods 0.000 description 8
- 238000005259 measurement Methods 0.000 description 8
- 238000013528 artificial neural network Methods 0.000 description 6
- 238000012549 training Methods 0.000 description 6
- 239000000284 extract Substances 0.000 description 5
- 230000015654 memory Effects 0.000 description 4
- 230000001186 cumulative effect Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000011478 gradient descent method Methods 0.000 description 1
- 230000035772 mutation Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Debugging And Monitoring (AREA)
Description
特許法第30条第2項適用 投稿論文 一般社団法人日本音響学会2019年春季研究発表会概要 http://www.asj.gr.jp/annualmeeting/index.htmlApplication of Article 30,
本発明は、情報処理装置、情報処理方法および情報処理プログラムに関する。 The present invention relates to an information processing device, an information processing method, and an information processing program.
従来、DNN(Deep Neural Network)といったモデルを用いた各種の分類処理が実現されている。このようなDNNを用いた分類処理を実現するため、統計的勾配降下法(Stochastic Gradient Descent, SGD)を用いたモデルの学習方法が知られている。例えば、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)といった演算装置に対してそれぞれ異なる学習データを配布し、配布された学習データを用いて各演算装置にモデルの学習を行わせ、各演算装置の学習結果を同期させる処理を繰り返し行う技術が知られている。また、各演算装置における学習結果の同期処理のコストを軽減するため、各演算装置に学習処理を複数回行わせてから同期を行う技術が知られている。 Conventionally, various classification processes using models such as DNNs (Deep Neural Networks) have been implemented. A method of learning a model using the stochastic gradient descent (SGD) method is known in order to realize classification processing using such a DNN. For example, different learning data is distributed to each arithmetic unit such as a CPU (Central Processing Unit) or a GPU (Graphics Processing Unit), and each arithmetic unit learns a model using the distributed learning data. A technique for repeatedly performing processing for synchronizing learning results of devices is known. Also, in order to reduce the cost of synchronizing processing of learning results in each arithmetic unit, a technique is known in which synchronization is performed after each arithmetic unit performs learning processing a plurality of times.
しかしながら、上述した技術では、モデルの精度を向上させる余地がある。 However, the technique described above leaves room for improving the accuracy of the model.
例えば、上述した技術では、各演算装置がそれぞれ異なる学習データを用いて学習を行ったモデルを同期させるため、最終的に得られるモデルは、全ての学習データを用いて学習が行われたモデルの近似に過ぎなくなる。また、上述した技術では、同期処理の回数が十分ではない場合に、学習データが有する特徴を適切に学習することができなくなる恐れがある。 For example, in the above-described technology, each arithmetic unit synchronizes models trained using different learning data, so the model finally obtained is the same as the model trained using all the learning data. It becomes only an approximation. Moreover, with the above-described technology, there is a possibility that the characteristics of the learning data cannot be learned appropriately if the number of times of synchronization processing is not sufficient.
本願は、上記に鑑みてなされたものであって、複数の演算装置を用いたモデルの学習精度を改善することを目的とする。 The present application has been made in view of the above, and an object thereof is to improve the learning accuracy of a model using a plurality of arithmetic units.
本願に係る情報処理装置は、配布された学習データを用いてそれぞれ個別にモデルの学習を行う複数の演算装置に対し、それぞれ異なる学習データを配布する配布部と、配布された学習データを用いて各演算装置が実行した学習の結果に応じた態様で、各演算装置が学習したモデルの同期を行う同期部とを有することを特徴とする。 An information processing device according to the present application includes a distribution unit that distributes different learning data to a plurality of computing devices that individually perform model learning using the distributed learning data, and a distribution unit that distributes the distributed learning data. and a synchronizing unit for synchronizing the model learned by each arithmetic unit in a mode according to the result of learning executed by each arithmetic unit.
実施形態の一態様によれば、複数の演算装置を用いたモデルの学習精度を改善することができる。 According to one aspect of the embodiments, it is possible to improve the learning accuracy of a model using a plurality of computing devices.
以下に、本願に係る情報処理装置、情報処理方法および情報処理プログラムを実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る情報処理装置、情報処理方法および情報処理プログラムが限定されるものではない。また、各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。 Embodiments for implementing an information processing apparatus, an information processing method, and an information processing program according to the present application (hereinafter referred to as "embodiments") will be described in detail below with reference to the drawings. The information processing apparatus, information processing method, and information processing program according to the present application are not limited to this embodiment. Further, each embodiment can be appropriately combined within a range that does not contradict the processing contents. Also, in each of the following embodiments, the same parts are denoted by the same reference numerals, and overlapping descriptions are omitted.
〔1.情報提供装置について〕
まず、図1を用いて、情報処理装置の一例である情報提供装置10が実行する情報処理方法の一例について説明する。図1は、実施形態に係る情報提供装置が実行する処理の一例を示す図である。図1では、情報提供装置10が実行する処理として、モデルの学習を行う学習処理と、学習済のモデル(以下、「学習モデル」と記載する場合がある。)を用いて情報の分類を行う分類処理の流れの一例について記載した。
[1. About the information providing device]
First, an example of an information processing method executed by an
図1に示す情報提供装置10は、情報処理装置であり、例えば、サーバ装置やクラウドシステム等により実現される。また、図1に示すデータサーバ100は、各種のデータを管理しており、例えば、サーバ装置やクラウドシステム等により実現される。また、利用者端末200は、分類処理の結果を利用する利用者により利用される端末装置であり、例えば、PC(Personal Computer)やサーバ装置、各種のスマートデバイス等により実現される。
An
ここで、情報提供装置10は、データサーバ100から学習データを取得し、取得した学習データが有する特徴をモデルに学習させる。そして、情報提供装置10は、利用者端末200から各種の測定データを取得すると、学習モデルを用いて、測定データが有する特徴に応じた分類処理を実行し、分類結果を利用者端末200へと提供することとなる。
Here, the
なお、このような一連の処理において、どのようなデータを学習データとするか、学習データが有するどのような特徴をモデルに学習させるか、どのようなデータを測定データとするか、どのような特徴に基づいた分類を行うかについては、任意の設定が採用可能である。具体的な例を挙げると、情報提供装置10は、利用者のデモグラフィック属性やサイコグラフィック属性を示す属性情報、閲覧したコンテンツの履歴や取引対象(商品やサービス)の購入履歴、位置履歴等を示す各種履歴情報といった情報を学習データとして取得する。ここで、各学習データに対し、例えば、利用者が選択した広告の種別等を示す情報がラベルとして登録されている場合、情報提供装置10は、モデルに各種の履歴情報を入力した際に、対応するラベル(すなわち、履歴情報と対応する利用者が選択した広告を示す情報)を示す情報を出力するように、モデルの学習を行う。そして、情報提供装置10は、測定データとして利用者の各種属性情報を取得すると、取得した属性情報を学習モデルに入力することで、その利用者が選択する可能性が高い広告を推定する。
In this series of processes, what kind of data should be used as learning data, what kind of characteristics of the learning data should be learned by the model, what kind of data should be used as measurement data, what kind of Arbitrary settings can be adopted as to whether to perform feature-based classification. As a specific example, the
なお、このようなモデルは、複数のノードをそれぞれ個別の接続係数が設定された接続経路を介して接続したニューラルネットワーク、すなわちDNNにより実現される。なお、モデルは、オートエンコーダやCNN(Convolutional Neural Network)、RNN(Recurrent Neural Network)やその拡張であるLSTM(Long short-term memory))等、任意の構造を有するニューラルネットワークであってよい。 Such a model is realized by a neural network, that is, a DNN, in which a plurality of nodes are connected via connection paths set with individual connection coefficients. Note that the model may be a neural network having an arbitrary structure such as an autoencoder, CNN (Convolutional Neural Network), RNN (Recurrent Neural Network), or its extension LSTM (Long short-term memory).
また、情報提供装置10は、1つの学習データが有する特徴をモデルに学習させる場合、統計的勾配降下法を用いた学習を行うこととなる。例えば、情報提供装置10は、モデルに対する入力情報と出力情報とに応じた任意の目的関数を設定し、設定した目的関数が所定の条件を満たすように、誤差逆伝播法(Backpropagation)等を用いてモデルが有する接続係数(すなわち、パラメータ)を修正することで、学習データが有する特徴をモデルに学習させることとなる。
Further, when the
なお、情報提供装置10は、例えば、目的関数が入力情報と出力情報の誤差を示す場合、目的関数の値が小さくなるように、パラメータの修正を行うこととなる。一方、情報提供装置10は、例えば、目的関数がクロスエントロピーに基づいた値を示す場合、目的関数の値が大きくなるように、パラメータの修正を行う。そこで、以下の説明においては、ある学習データを用いた学習前と学習後とで目的関数が所定の条件を満たす方向に変化した量を「改善量」と記載する場合がある。例えば、目的関数が入力情報と出力情報の誤差を示す場合、学習前の目的関数の値から学習後の目的関数の値を減算した値が「改善量」に対応し、目的関数がクロスエントロピーに基づいた値を示す場合、学習後の目的関数の値から学習前の目的関数の値を減算した値が「改善量」に対応する。
For example, when the objective function indicates an error between the input information and the output information, the
〔1-1.ミニバッチ学習とモデル平均法について〕
ここで、情報提供装置10が実行する学習処理の説明に先駆けて、ミニバッチ学習の概要について説明する。例えば、情報提供装置10は、ミニバッチ学習を用いた学習処理を実行する場合、N個の全学習データからランダムに選択されたM個のデータをミニバッチとし、ミニバッチごとにモデルのパラメータの更新を行う。
[1-1. About mini-batch learning and model averaging]
Before explaining the learning process executed by the
ここで、このようなミニバッチ学習を並列に実行することで、学習を高速化する手法が考えられる。例えば、CPUやGPU、若しくはそれらのコアといった複数の演算装置のそれぞれに対して、それぞれ異なるミニバッチを配布し、各演算装置ごとに独立したモデルの学習処理を実行させる。そして、各演算装置による学習結果を同期させ、新たなミニバッチの配布を繰り替えす手法が考えられる。例えば、各演算装置により学習されたモデルのパラメータの平均値を用いて新たなモデルを生成し、各演算装置に新たなモデルを配布し、それぞれ異なるミニバッチを用いて再度学習処理を実行させる。 Here, a method of speeding up the learning by executing such mini-batch learning in parallel is conceivable. For example, a different mini-batch is distributed to each of a plurality of arithmetic units such as CPUs, GPUs, or their cores, and independent model learning processing is executed for each arithmetic unit. Then, a method of synchronizing the learning results of each arithmetic unit and repeatedly distributing new mini-batches is conceivable. For example, a new model is generated using the average values of the parameters of the model learned by each arithmetic unit, the new model is distributed to each arithmetic unit, and the learning process is executed again using different mini-batches.
このようなミニバッチ学習を行った場合、演算装置の数をK個とすると、学習処理に要する時間のうち各モデルの修正量の計算に要する時間を1/Kに短縮することが期待される。しかしながら、このようなミニバッチ学習では、各演算装置間で通信を行うことにより、各演算装置が独自に学習したモデルの同期を行う。このため、全学習データをN個、ミニバッチに含まれる学習データの数をM個とすると、1つのミニバッチごとに全演算装置の同期を行った場合は、N/M回の同期処理がオーバーヘッドとして処理時間に加わることとなる。 When such mini-batch learning is performed, if the number of arithmetic units is K, it is expected that the time required for calculating the correction amount of each model in the time required for learning processing is reduced to 1/K. However, in such mini-batch learning, the model independently learned by each arithmetic unit is synchronized by communicating between each arithmetic unit. Therefore, assuming that the total number of learning data is N and the number of learning data included in a mini-batch is M, when synchronization of all arithmetic units is performed for each mini-batch, N/M times of synchronization processing is required as an overhead. This will add to the processing time.
このような同期処理のオーバーヘッドを削減するため、ミニバッチ学習が所定回数行われる度に同期処理を行うモデル平均法が知られている。例えば、情報提供装置10は、モデル平均法でモデルの学習を行う場合、ミニバッチの学習が行われる度に同期処理を実行するのではなく、各演算装置に対して所定の回数(例えば、F回)、ミニバッチ学習を行わせた後に、各演算装置のモデルを同期させる。このような処理を実行した場合、同期回数がN/(M×F)となるので、同期処理のオーバーヘッドを1/Fに削減することができる。
In order to reduce the overhead of such synchronization processing, a model averaging method is known in which synchronization processing is performed each time mini-batch learning is performed a predetermined number of times. For example, when performing model learning by the model averaging method, the
〔1-2.学習処理について〕
しかしながら、上述したモデル平均法では、同期処理を減らしたことによりモデルの識別精度が劣化する恐れがある。また、ミニバッチ学習により最終的に得られるモデルは、それぞれ異なる学習データの特徴を学習したモデルの平均となるので、単一のモデルに対して全学習データを1つずつ入力し、学習データを入力する度に目的関数が改善するようにパラメータを修正したモデルの近似に過ぎない。このため、ミニバッチ学習やモデル平均法には、モデルの精度を向上させる余地があると言える。
[1-2. About learning process]
However, in the model averaging method described above, there is a possibility that the accuracy of model identification may be degraded due to the reduction in synchronization processing. Also, since the model that is finally obtained by mini-batch learning is the average of the models that learned the characteristics of each different training data, input all the training data one by one for a single model and input the training data It is just an approximation of a model with modified parameters so that the objective function improves each time. For this reason, it can be said that mini-batch learning and model averaging methods have room for improving model accuracy.
そこで、情報提供装置10は、以下の学習処理を実行する。まず、情報提供装置10は、配布された学習データを用いてそれぞれ個別にモデルの学習を行う複数の演算装置に対し、それぞれ異なる学習データを配布する。そして、情報提供装置10は、配布された学習データを用いて各演算装置が実行した学習の結果に応じた態様で、各演算装置が学習したモデルの同期を行う。すなわち、情報提供装置10は、単にモデルの単純平均を同期結果とするのではなく、各演算装置によるモデルの学習結果に応じて適用的にモデルの同期を行う。
Therefore, the
例えば、改善量が大きいモデルは、学習データが有する特徴を適切に学習したモデルであると言える。このため、各演算装置が学習したモデルのうち、改善量が大きいモデルのパラメータは、最終的なモデルの精度に対して大きく寄与すると考えられる。そこで、情報提供装置10は、改善量が大きいモデル程重要視されるようにモデルの同期を行う。すなわち、情報提供装置10は、改善量が大きいモデルほど、より大きい重みを適用した状態で、各モデルを統合したモデルを同期結果として生成する。このような処理の結果、例えば、情報提供装置10は、より改善量が大きいモデル、すなわち、最終的なモデルの精度をより高くすると推定されるモデルを優先的に用いた同期結果を生成することができるので、最終的に生成されるモデルの精度を向上させることができる。
For example, a model with a large amount of improvement can be said to be a model that has appropriately learned the features of the learning data. For this reason, among the models learned by each arithmetic unit, the parameters of the model with a large improvement amount are considered to greatly contribute to the accuracy of the final model. Therefore, the
また、情報提供装置10は、学習処理におけるモデルの同期タイミングを動的に変更する。例えば、情報提供装置10は、各演算装置が新たに配布された学習データを用いてモデルの学習を行う回数がランダムとなるように、各モデルを同期させる。より具体的には、情報提供装置10は、区間[1,F]内における整数乱数を生成し、生成した乱数が示す回数のミニバッチ学習が行われた後で、各モデルの同期を行う。このような処理の結果、情報提供装置10は、最終的に生成されるモデルの目的関数が極小値に陥る可能性を軽減することができるので、同期処理のオーバーヘッドを削減しつつ、最終的に生成されるモデルの精度を向上させることができると考えられる。
In addition, the
〔1-3.情報提供装置が実行する処理の流れの一例について〕
以下、図1を用いて、情報提供装置10が実行する処理の流れの一例を説明する。なお、以下の説明では、演算装置として、GPU#1~#KまでのK個のGPUを並列に用いてモデルの学習を行う例について説明する。まず、情報提供装置10は、データサーバ100から学習データを取得する(ステップS1)。このような場合、情報提供装置10は、学習データを学習データデータベース31に登録する。そして、情報提供装置10は、ミニバッチ学習において各GPUにより学習が行われたモデルの同期タイミングを動的に変動させる(ステップS2)。
[1-3. An example of the flow of processing executed by the information providing device]
An example of the flow of processing executed by the
例えば、情報提供装置10は、学習データデータベース31からランダムに学習データ#1-1~#1-Mを抽出する。続いて、情報提供装置10は、抽出した学習データをK個のミニバッチに分割し、各ミニバッチをGPU#1~#Kに配布する。すなわち、情報提供装置10は、M/K個の学習データをミニバッチとして各GPU#1~#Kに配布する。換言すると、情報提供装置10は、それぞれ異なる学習データを各演算装置に対して配布する。
For example, the
ここで、各GPU#1~#Kは、配布された学習データを用いて、モデルの学習を行う。すなわち、各GPU#1~#Kは、配布されたミニバッチを用いたミニバッチ学習を実行する。例えば、GPU#1は、学習対象となるモデルのコピーをM/K個だけ生成し、生成した各コピーに対してそれぞれ異なる学習データを入力する。そして、GPU#1は、コピーした各モデルの目的関数が改善するように、各モデルのパラメータを修正し、修正後のパラメータを統合したモデルを1回目の学習結果とする。例えば、GPU#1は、修正された各モデルのパラメータの平均値を学習結果となるモデルのパラメータとしてもよい。なお、GPU#1は、モデルのコピーを行わずに、M/K個の学習データを用いて、1つのモデルの学習を行ってもよい。また、他のGPU#2~#Kも同様に、各GPU#1~#Kに対して個別に配布された学習データを用いたミニバッチ学習を実行する。
Here, each
ここで、情報提供装置10は、ミニバッチ学習が行われる度に、各GPU#1~#Kの学習結果を同期させるのではなく、ランダムな回数でミニバッチ学習が行われる度に、各GPU#1~#Kの学習結果を同期させる。例えば、情報提供装置10は、所定の範囲内の乱数を生成し、例えば、生成された乱数が「3」である場合は、ミニバッチ学習を3回実行させる。
Here, instead of synchronizing the learning results of each
例えば、情報提供装置10は、学習データ#1-1~#1-MをK個のミニバッチ#1-1~#1-Kに分割し、各ミニバッチ#1-1~#1-Kをそれぞれ個別のGPU#1~#Kに配布して1回目のミニバッチ学習を実行させる。続いて、情報提供装置10は、各GPU#1~#Kのモデルを同期させることなく、新たな学習データ#2-1~#2-Mを学習データデータベース31から抽出し、抽出した学習データ#2-1~#2-MをK個のミニバッチ#2-1~#2-Kに分割する。そして、情報提供装置10は、各ミニバッチ#2-1~#2-Kをそれぞれ個別のGPU#1~#Kに配布して2回目のミニバッチ学習を実行させる。同様に、情報提供装置10は、新たなミニバッチ#3-1~#3-Kを生成し、それぞれ個別のGPU#1~#Kに配布して3回目のミニバッチ学習を実行させる。そして、情報提供装置10は、ミニバッチ学習を3回実行させた場合は、各GPU#1~#Kのモデルを同期させる。
For example, the
続いて、情報提供装置10は、新たな乱数を生成し、例えば、生成された乱数が「1」である場合は、各GPU#1~#Kに対して4回目のミニバッチ学習を実行させる。そして、情報提供装置10は、4回目のミニバッチ学習の後に、各GPU#1~#Kのモデルを同期させる。このように、情報提供装置10は、各GPU#1~#Kが実行するミニバッチ学習の回数がランダムとなるように、モデルの同期を実行する。すなわち、情報提供装置10は、各GPU#1~#Kのモデルの同期タイミングをランダムに変更する。
Subsequently, the
すなわち、情報提供装置10は、学習データを用いてモデルが有するパラメータの値を修正することで、学習データが有する特徴をモデルに学習させる複数の演算装置に対し、それぞれ異なる学習データを配布する。そして、情報提供装置10は、ランダムなタイミングで各モデルのパラメータの値を同期させ、各演算装置に新たな学習データを配布することで、新たに配布される学習データを用いて同期されたモデルの学習を行う処理を繰り返し実行する。
That is, the
ここで、情報提供装置10は、各GPU#1~#Kのモデルを同期させる場合、各モデルの目的関数の改善量に基づいた重みを適用して、各モデルのパラメータを合成したモデルに同期させる(ステップS3)。例えば、3回目のミニバッチ学習後にモデルの同期を行う場合、情報提供装置10は、各モデルの目的関数の改善量を算出する。例えば、情報提供装置10は、GPU#1が2回目のミニバッチ学習で生成したモデル#1-2の目的関数の値と、3回目のミニバッチ学習で生成したモデル#1-3の目的関数の値とから改善量#1を算出する。同様に、情報提供装置10は、GPU#2~#Kが2回目のミニバッチ学習で生成したモデル#2-2~#K-2の目的関数の値と、3回目のミニバッチ学習で生成したモデル#2-3~#K-3の目的関数の値とから改善量#2~#Kを算出する。
Here, when synchronizing the models of the
そして、情報提供装置10は、各改善量#1~#Kの値に基づいた重み#1~#Kを設定する。例えば、情報提供装置10は、各改善量#1~#Kの和で改善量#1~#Kの値をそれぞれ除算した値を重み#1~#Kとしてもよい。また、情報提供装置10は、改善量の値が大きいモデルほど、より大きい重みとなるように、各重み#1~#Kを設定するのであれば、任意の方式により算出される重み#1~#Kを設定して良い。
Then, the
続いて、情報提供装置10は、各重み#1~#Kを用いて、各モデル#1-3~#K-3を統合する。例えば、情報提供装置10は、モデル#1-3のパラメータに重み#1を積算した値を算出する。同様に、情報提供装置10は、各モデル#2-3~#K-3のパラメータに対して、それぞれ個別の重み#2~#Kを積算した値を算出する。そして、情報提供装置10は、算出した値を合計することで、各モデル#1-3~#K-3を統合したモデル#X-4のパラメータを生成する。
Subsequently, the
その後、情報提供装置10は、モデル#X-4を4回目の学習を行うモデルとして各GPU#1~#Kに配布する。この結果、各GPU#1~#Kは、モデル#X-4に対し、それぞれ異なるミニバッチを用いたミニバッチ学習を実行することとなる。
After that, the
また、情報提供装置10は、所定の条件を満たすまで、新たな学習データを用いた学習を繰り返し実行する。そして、情報提供装置10は、所定の条件が満たされた場合は、最終的な各モデルを統合した学習モデルを生成する(ステップS4)。例えば、情報提供装置10は、学習データデータベース31に登録された全ての学習データを用いたミニバッチ学習が行われるまで、学習処理を繰り返し実行する。そして、情報提供装置10は、全ての学習データを用いたミニバッチ学習が完了した場合は、各GPU#1~#Kのモデルを同期させる。例えば、情報提供装置10は、各モデルのパラメータの平均を取ってもよく、各モデルの目的関数の値の改善量に応じた重みを考慮した統合を行ってもよい。
In addition, the
そして、情報提供装置10は、生成した学習モデルを用いた分類処理を実行する。例えば、情報提供装置10は、利用者端末200から測定データを取得する(ステップS5)。このような場合、情報提供装置10は、測定データを学習モデルに入力し、学習モデルが出力した情報に基づいた分類結果を利用者端末200に提供する(ステップS6)。なお、情報提供装置10は、分類結果そのものの提供ではなく、例えば、分類結果に応じたコンテンツ配信等、分類結果に応した情報配信を行ってもよい。また、情報提供装置10は、分類結果を利用者端末200ではなく、利用者端末200に対して各種サービスを提供するサービス提供サーバに提供してもよい。このような場合、サービス提供サーバは、分類結果に応じた内容のサービスを利用者端末200に対して提供することとなる。
Then, the
〔1-4.同期タイミングについて〕
上述した説明では、情報提供装置10は、ランダムなタイミングで各演算装置(すなわち、GPU)によりミニバッチ学習が行われたモデルの同期を行った。しかしながら、実施形態は、これに限定されるものではない。情報提供装置10は、モデルの同期タイミングを動的に変更するのであれば、任意の指標に基づいて、モデルの同期タイミングを決定して良い。
[1-4. About synchronization timing]
In the above description, the
例えば、情報提供装置10は、各演算装置が実行した学習の結果が所定の条件を満たした場合は、各モデルを同期させてもよい。例えば、情報提供装置10は、少なくともいずれかの演算装置により学習が行われたモデルの学習前における目的関数の値と学習後における目的関数の値との間の改善量が所定の条件を満たす場合は、各モデルを同期させてもよい。
For example, the
より具体的な例を挙げると、情報提供装置10は、各モデルの目的関数の改善量を取得し、改善量が所定の閾値を超えたモデルの数を計数する。そして、情報提供装置10は、計数した数が所定の閾値を超える場合は、各モデルの同期を行わせてもよい。例えば、情報提供装置10は、改善量が所定の閾値を超えたモデルが1つでも存在する場合は、各モデルを同期させてもよい。例えば、情報提供装置10は、改善量が所定の閾値を超えたモデルの重みを、他のモデルの重みよりも大きい値に設定し、各モデルの統合を行ってもよい。
As a more specific example, the
また、情報提供装置10は、改善量の累積に応じた同期タイミングを設定してもよい。例えば、情報提供装置10は、ミニバッチ学習を行う度に各モデルの改善量の累積を算出し、累積が所定の閾値を超えたモデルの数が所定の閾値を超えた場合に、同期を行ってもよい。また、情報提供装置10は、全モデルの改善量の累積が所定の閾値を超えた場合に、同期を行ってもよい。また、情報提供装置10は、同期を行う度に改善量の閾値をランダムに変更してもよい。
Further, the
なお、情報提供装置10は、改善量が所定の閾値を超えたモデルの数が所定の閾値を超えないように、同期を行ってもよい。例えば、情報提供装置10は、改善量の履歴や累積等に基づいて、次回のミニバッチ学習を行った際に改善量が所定の閾値を超えるモデルの数が所定の閾値を超えるか否かを推定し、超えると推定された場合は、同期を行ってもよい。
Note that the
〔1-5.同期手法について〕
上述した説明では、情報提供装置10は、各モデルの学習前における目的関数の値と学習後における目的関数の値との間の改善量に応じた重みを考慮して、各モデルのパラメータの荷重和を算出し、算出したパラメータの荷重和を同期後のモデルのパラメータとした。しかしながら、実施形態は、これに限定されるものではない。
[1-5. Synchronization method]
In the above description, the
例えば、情報提供装置10は、各演算装置により学習が行われたモデルの目的関数の値に応じた態様で、各モデルの同期を行うのであれば、任意の処理を実行してもよい。例えば、情報提供装置10は、目的関数の値が所定の閾値を超えたモデル(若しくは、目的関数の値が所定の閾値を下回ったモデル)のみを抽出し、抽出したモデルのパラメータの平均若しくは荷重和を同期結果としてもよい。
For example, the
また、情報提供装置10は、各モデルの目的関数の値に応じた重みを考慮して、各モデルを統合したモデルを同期結果としてもよい。すなわち、情報提供装置10は、改善量ではなく、目的関数の値そのものに応じた重みを考慮してもよい。例えば、情報提供装置10は、各モデルの目的関数の値が低ければ低いほど(若しくは、高ければ高いほど)、より大きい値の重みを設定してもよい。
Further, the
また、情報提供装置10は、目的関数の値が最も小さい(若しくは、最も大きい)モデルを特定し、特定したモデルを同期結果として各演算装置に配布してもよい。また、情報提供装置10は、目的関数の改善量が最も大きいモデルを特定し、特定したモデルを同期結果として各演算装置に配布してもよい。
Further, the
また、情報提供装置10は、目的関数の値に応じてモデルの選択を行う遺伝的アルゴリズムを用いて、各モデルの同期を行ってもよい。例えば、情報提供装置10は、各モデルの目的関数の値若しくは目的関数の改善量を各モデルの適応度とし、適応度に応じた確率で選択されたモデルのコピー、交叉、もしくは突然変異(以下、「操作」と記載する場合がある。)を実行することで、次世代のモデルを生成する。例えば、情報提供装置10は、2つのモデルを選択し、選択したモデルのパラメータをランダムに交叉させてもよく、選択したモデルのパラメータをランダムに変更してもよい。このような処理を実行することで、情報提供装置10は、n回目のミニバッチ学習が行われたK個のモデルから、n+1回目のミニバッチ学習の対象となる新たなK個のモデルを生成し、生成したK個のモデルを各演算装置に配布してもよい。また、情報提供装置10は、各種任意の遺伝的アルゴリズムに基づいた態様で、モデルの同期を行ってもよい。
Further, the
なお、情報提供装置10は、目的関数以外にも、各演算装置における学習の結果に応じて、各モデルの同期態様を適応的に変更するのであれば、任意の態様でモデルを同期させてよい。例えば、情報提供装置10は、各演算装置がミニバッチ学習に要した時間に応じた重みを考慮して、各モデルのパラメータの荷重和を算出してもよく、時間に応じた確率で遺伝的アルゴリズムにおける各種操作の対象となるモデルの選択をおこなってよい。
In addition to the objective function, the
〔1-6.同期対象について〕
なお、情報提供装置10は、全ての演算装置により学習が行われたモデルの同期を行わずともよい。例えば、情報提供装置10は、複数の演算装置のうち、一部の演算装置により学習が行われたモデルの同期を行ってもよい。例えば、情報提供装置10は、GPU#1~#10、GPU#11~#20というように、各演算装置を所定数ずつのグループに分割し、グループごとの同期を行ってもよい。例えば、情報提供装置10は、全ての演算装置により学習が行われたモデルのうち目的関数の改善量が所定の閾値を超えたモデルが存在する場合は、そのモデルの学習を行った演算装置を含むグループ内でのみ、モデルの同期を行ってもよい。なお、このような処理を行う場合、同期対象とならなかった演算装置は、前回のミニバッチ学習の結果となるモデルの学習を継続して行うこととなる。
[1-6. Synchronization target]
Note that the
また、情報提供装置10は、複数の演算装置のうち、通信遅延が所定の範囲内に収まる複数の演算装置により学習が行われたモデルの同期を行ってもよい。例えば、情報提供装置10は、物理的に近傍に配置された所定の数の演算装置により学習が行われたモデルを同期対象としてもよい。
Further, the
また、情報提供装置10は、複数の演算装置のうち、ランダムに選択された一部の演算装置により学習が行われたモデルの同期を行ってもよい。例えば、情報提供装置10は、演算装置の中からランダムに選択した所定の数の演算装置により学習が行われたモデルのみを同期対象としてもよい。また、情報提供装置10は、目的関数の値や改善量が所定の閾値を超えたモデルと、ランダムに選択された所定の数の演算装置により学習が行われたモデルのみを同期対象としてもよい。
Further, the
また、情報提供装置10は、複数の演算装置のうち、各演算装置が演算可能な情報の次元数と、全ての演算装置に対して配布される学習データの数とに応じた数の演算装置により学習が行われたモデルの同期を行ってもよい。すなわち、情報提供装置10は、各演算装置の性能や各演算装置の数、全学習データの数、ミニバッチとする学習データの数等に応じて、効率的に学習を行うことができると推定される数のモデルを同期対象としてもよい。
Further, the
〔1-7.演算装置について〕
なお、上述した例では、演算装置として、複数のGPUを用いる処理について記載したが、実施形態は、これに限定されるものではない。例えば、情報提供装置10は、複数のCPUに対して上述した学習処理を適用してもよく、例えば、1つ又は複数のコンピュータクラスタを1つの演算装置とみなし、このようなコンピュータクラスタをネットワークで接続したシステムに対して、上述した学習処理を適用してもよい。また、情報提供装置10は、1つのCPUやGPUに含まれる複数のコアを演算装置と見做して上述した学習処理を実行してもよい。また、情報提供装置10は、1つ若しくは複数のグラフィックカード上に配置されたGPUやGPUコアを演算装置と見做してもよい。また、情報提供装置10は、複数のCPUやGPUを1つの演算装置と見做してもよく、これらのCPUやGPUに含まれる1つ若しくは複数のコアを1つの演算装置と見做してもよい。
[1-7. About arithmetic unit]
In the example described above, the processing using a plurality of GPUs as arithmetic devices has been described, but the embodiment is not limited to this. For example, the
また、情報提供装置10は、上述した演算装置を自装置の筐体内に有していてもよく、異なる筐体内に有していてもよい。例えば、情報提供装置10は、各種のネットワークを介して接続されたサーバ装置内にある演算装置を用いて、上述した学習処理を実行してもよい。
Further, the
すなわち、情報提供装置10は、個別にモデルの学習を実行可能な装置を演算装置と見做して、上述した学習処理を実行するのであれば、任意の装置を演算装置と見做してもよい。なお、各演算装置が独立した記憶装置を有する必要はなく、例えば、各演算装置若しくは一部の演算装置は、メモリやレジスタ等の記憶装置を共用するものであってもよい。また、各演算装置は、例えば、所謂仮想マシン(Virtual Machine)であってもよい。
That is, the
〔1-8.実行主体について〕
なお、上述した学習処理は、任意の実行主体により実行されてよい。例えば、情報提供装置10は、各演算装置とは別に、各演算装置の制御を行う制御装置を有してもよい。このような場合、かかる制御装置が、学習データの配布および同期を行ってもよい。また、同期タイミングの決定やモデルの同期処理については、各演算装置が協調して動作することで、実現されてもよい。
[1-8. About the executing body]
Note that the learning process described above may be executed by any execution subject. For example, the
〔1-9.同期タイミングと同期手法の関係性について〕
また、情報提供装置10は、上述した同期タイミングの動的な変更と、学習結果に応じたモデルの同期とをそれぞれ独立して実行してもよく、関連付けて実行してもよい。例えば、情報提供装置10は、動的に同期タイミングを変更する場合、モデルの同期については、単純平均を算出することで実現してもよい。また、情報提供装置10は、学習結果に応じた態様でモデルを同期させる場合、同期タイミングについては、動的に変化させる必要はない。
[1-9. Regarding the relationship between synchronization timing and synchronization method]
Further, the
また、例えば、情報提供装置10は、同期処理を実行する度に、同期態様を変更してもよい。例えば、情報提供装置10は、同期処理を実行する度に、単純な平均によりモデルを同期する手法、改善量に応じた重みを採用する手法、改善量が最も大きいモデルを同期結果とする手法等、複数の手法の中から、ランダム若しくは学習結果に応じた確率でいずれかの手法を選択し、選択した手法によりモデルの同期を行ってもよい。また、情報提供装置10は、前回採用した同期手法に応じた同期タイミングで同期を行ってもよい。例えば、情報提供装置10は、単純な平均によりモデルを同期した場合は、いずれかのモデルの改善量が所定の閾値を超えた場合に次の同期を行い、改善量に応じた重みを採用する手法によりモデルを同期させた場合は、次に同期するまでのミニバッチ学習の回数をランダムに選択してもよい。
Further, for example, the
〔2.機能構成の一例〕
以下、上記した学習処理を実現する情報提供装置10が有する機能構成の一例について説明する。図2は、実施形態に係る情報提供装置の構成例を示す図である。図2に示すように、情報提供装置10は、通信部20、記憶部30、第1演算部40および第2演算部50を有する。
[2. Example of functional configuration]
An example of the functional configuration of the
通信部20は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部20は、ネットワークNと有線または無線で接続され、例えば、データサーバ100や利用者端末200との間で情報の送受信を行う。
The communication unit 20 is realized by, for example, a NIC (Network Interface Card) or the like. The communication unit 20 is connected to the network N by wire or wirelessly, and transmits and receives information to and from the
記憶部30は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。また、記憶部30は、学習データデータベース31およびモデルデータベース32を記憶する。
The storage unit 30 is implemented by, for example, a semiconductor memory device such as a RAM (Random Access Memory) or a flash memory, or a storage device such as a hard disk or an optical disk. The storage unit 30 also stores a learning
学習データデータベース31は、学習データが登録される。例えば、学習データデータベース31には、データサーバ100から取得した各種の学習データが登録される。また、モデルデータベース32には、上述した学習処理によって学習が行われた学習モデルのデータが登録される。
Learning data is registered in the learning
第1演算部40は、コントローラ(controller)であり、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等のプロセッサによって、情報提供装置10内部の記憶装置に記憶されている各種プログラムがRAM等を作業領域として実行されることにより実現される。また、第1演算部40は、コントローラ(controller)であり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現されてもよい。
The
図2に示すように、第1演算部40は、学習制御部41および情報提供部42を有する。学習制御部41は、第2演算部50を制御することで、上述した学習処理を実行する。例えば、学習制御部41は、データサーバ100から学習データを取得し、取得した学習データを学習データデータベース31に登録する。また、学習制御部41は、学習データデータベース31に登録された学習データを第2演算部50に提供し、上述した学習処理を実行させることで、学習モデルを取得する。そして、学習制御部41は、学習モデルをモデルデータベース32に登録する。
As shown in FIG. 2 , the
情報提供部42は、学習モデルを用いた測定データの分類結果を提供する。例えば、情報提供部42は、利用者端末200から測定データを取得すると、モデルデータベース32から学習モデルを読み出し、読み出した学習モデルに測定データを入力する。そして、情報提供部42は、学習モデルが出力した分類結果に応じた情報を利用者端末200等に出力する。
The
第2演算部50は、複数の演算装置を有する情報処理ユニットであり、例えば、複数のGPUやGPUコアが配置されたグラフィックカード、若しくは、複数のグラフィックカードにより実現される。例えば、第2演算部50は、演算部51、および演算制御部52を有する。
The
ここで、図3は、実施形態に係る第2演算部が有する機能構成の一例を示す図である。図3に示すように、演算部51は、複数の演算装置を有する。なお、各演算装置は、例えば、GPU若しくはGPUのコアであり、配布された学習データのミニバッチを用いて、モデルの学習を行う。すなわち、各演算装置は、それぞれ独自にモデルを保持し、配布された学習データを用いてモデルが有するパラメータの値を修正することで、学習データが有する特徴をモデルに学習させる。
Here, FIG. 3 is a diagram showing an example of the functional configuration of the second calculation unit according to the embodiment. As shown in FIG. 3, the
また、演算制御部52は、配布部521と同期部522とを有する。なお、配布部521と同期部522は、第2演算部50が情報提供装置10内部の記憶装置に記憶されている各種プログラムがRAM等を作業領域として実行されることにより実現されることとなる。なお、演算制御部52は、例えば、演算部51が有する演算装置のうちいずれかにより実現されてもよい。
Further, the
ここで、配布部521は、配布された学習データを用いてそれぞれ個別にモデルの学習を行う複数の演算装置に対し、それぞれ異なる学習データを配布する。例えば、配布部521は、演算部51に演算装置がK個存在する場合、学習データからランダムに選択されたM個のデータをK個に分割したミニバッチを生成する。そして、配布部521は、生成したミニバッチをそれぞれ異なる演算装置へと配布することで、各演算装置にミニバッチ学習を実行させる。また、配布部521は、各演算装置がそれぞれミニバッチ学習を実行した場合は、新たなM個の学習データからK個のミニバッチを生成し、生成したミニバッチを再度各演算装置へと配布する。
Here, the distributing unit 521 distributes different learning data to each of the plurality of arithmetic units that individually perform model learning using the distributed learning data. For example, when the
同期部522は、配布された学習データを用いて各演算装置が実行した学習の結果に応じた態様で、各演算装置が学習したモデルの同期を行う。より具体的には、同期部522は、各モデルのパラメータの値を同期させ、同期後のパラメータの値を各演算装置に配布する。すなわち、同期部522は、同期結果となるモデルを各演算装置に配布し、ミニバッチ学習を継続させる。
The
また、同期部522は、複数の演算装置により学習が行われたモデルの同期機会を動的に変更する。例えば、同期部522は、各演算装置が新たに配布された学習データを用いて前記モデルの学習を行う回数がランダムとなるように、各モデルを同期させる。より具体的には、同期部522は、ランダムに選択された回数、各演算装置がミニバッチ学習を実行した場合は、各演算装置により学習が行われたモデルの目的関数の値に応じた態様で、各モデルの同期を行う。そして、同期部522は、再度、ランダムに選択された回数、各モデルのミニバッチ学習を実行させる。
Also, the
例えば、同期部522は、各演算装置がミニバッチ学習を実行した場合は、各演算装置が個別に学習を行ったモデルの目的関数の値を特定し、特定した目的関数の値に応じた重みを考慮して、各モデルを統合したモデルを同期結果とする。例えば、同期部522は、各モデルの学習前における目的関数の値と学習後における目的関数の値との間の改善量に応じた重みを考慮して、各モデルを統合したモデルを同期結果としてもよい。そして、同期部522は、同期結果となるモデルを各演算装置に配布し、再度ミニバッチ学習を実行させる。
For example, when each arithmetic unit executes mini-batch learning, the
なお、同期部522は、各モデルのうち、学習前における目的関数の値と学習後における目的関数の値との間の改善量が最も大きいモデルを同期結果として各演算装置に配布してもよい。また、同期部522は、目的関数の値に応じてモデルの選択を行う遺伝的アルゴリズムを用いて、各モデルの同期を行ってもよい。
Note that the synchronizing
また、同期部522は、各演算装置が実行した学習の結果が所定の条件を満たした場合に、各モデルを同期させてもよい。例えば、同期部522は、ミニバッチ学習の度に各演算装置のモデルの目的関数の値を改善量を取得し、少なくともいずれかのモデルの改善量が所定の条件を満たす場合は、各モデルを同期させてもよい。
Further, the
また、同期部522は、複数の演算装置のうち、一部の演算装置により学習が行われたモデルの同期を行ってもよい。例えば、同期部522は、複数の演算装置のうち、通信遅延が所定の範囲内に収まる複数の演算装置により学習が行われたモデルの同期を行ってもよい。また、同期部522は、複数の演算装置のうち、ランダムに選択された一部の演算装置により学習が行われたモデルの同期を行ってもよい。
Further, the
また、同期部522は、複数の演算装置のうち、各演算装置が演算可能な情報の次元数と、全ての演算装置に対して配布される学習データの数とに応じた数の演算装置により学習が行われたモデルの同期を行ってもよい。すなわち、同期部522は、各演算装置の性能や学習データの数等に応じて、同期対象とする演算装置の数を動的に変更してもよい。
In addition, the
また、同期部522は、全ての学習データを配布した場合や、各モデルの改善量が継続して変化しなかった場合は、学習終了条件が満たされたと判定し、各モデルを統合した学習モデルを生成する。そして、同期部522は、学習モデルを第1演算部40に出力する。
In addition, the
〔3.情報提供装置が実行する処理の流れについて〕
次に、図4を用いて、情報提供装置10が実行する処理の流れの一例について説明する。図4は、実施形態に係る情報提供装置が実行する処理の流れの一例を示すフローチャートである。
[3. Regarding the flow of processing executed by the information providing device]
Next, an example of the flow of processing executed by the
例えば、情報提供装置10は、未配布の学習データからM個のデータをランダムに抽出する(ステップS101)。続いて、情報提供装置10は、抽出したM個のデータをK個のグループに分割し、各グループのデータをそれぞれ異なる演算ユニットに配布する(ステップS102)。そして、情報提供装置10は、所定の学習終了条件を満たすか否かを判定する(ステップS103)。
For example, the
ここで、情報提供装置10は、学習終了条件が満たされないと判定した場合は(ステップS103:No)、各モデルの目的関数が所定の同期条件を満たすか否かを判定し(ステップS104)、満たすと判定した場合は(ステップS104:Yes)、各モデルの目的関数の改善値に応じた重みで、各モデルを同期させたモデルを生成する(ステップS105)。そして、情報提供装置10は、各演算ユニットに新たなモデルを配布し(ステップS106)、ステップS101を再度実行する。また、情報提供装置10は、各モデルの目的関数が所定の同期条件を満たさないと判定した場合も(ステップS104:No)、ステップS101を再度実行する。
Here, when the
そして、情報提供装置10は、学習終了条件が満たされると判定した場合は(ステップS103:Yes)、各演算ユニットのモデルを同期させた学習モデルを生成し(ステップS107)、処理を終了する。
Then, when the
〔4.変形例〕
上記では、情報提供装置10による処理の一例について説明した。しかしながら、実施形態は、これに限定されるものではない。以下、情報提供装置10が実行する処理のバリエーションについて説明する。
[4. Modification]
An example of processing by the
〔4-1.装置構成〕
記憶部30に登録された各データベース31、32は、外部のストレージサーバに保持されていてもよく、また、第1演算部40や第2演算部50が個別に保持する各種の記憶装置内に保持されていてもよい。また、情報提供装置10は、第2演算部50を筐体内に有する必要はなく、例えば、外付けの筐体内に有していてもよい。また、情報提供装置10は、複数の第2演算部50を有し、各第2演算部50が有する演算装置を統合的に用いた学習処理を実行してもよい。
[4-1. Device configuration〕
Each
〔4-2.その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、逆に、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
[4-2. others〕
Further, among the processes described in the above embodiments, all or part of the processes described as being automatically performed can be manually performed, and conversely, the processes described as being performed manually can be performed manually. can also be performed automatically by known methods. In addition, information including processing procedures, specific names, various data and parameters shown in the above documents and drawings can be arbitrarily changed unless otherwise specified. For example, the various information shown in each drawing is not limited to the illustrated information.
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。 Also, each component of each device illustrated is functionally conceptual, and does not necessarily need to be physically configured as illustrated. In other words, the specific form of distribution and integration of each device is not limited to the one shown in the figure, and all or part of them can be functionally or physically distributed and integrated in arbitrary units according to various loads and usage conditions. Can be integrated and configured.
また、上記してきた各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。 Moreover, each of the embodiments described above can be appropriately combined within a range that does not contradict the processing contents.
〔4-3.プログラム〕
また、上述した実施形態に係る情報提供装置10は、例えば図5に示すような構成のコンピュータ1000によって実現される。図5は、ハードウェア構成の一例を示す図である。コンピュータ1000は、出力装置1010、入力装置1020と接続され、第1演算装置1030、第2演算装置1031、一次記憶装置1040、二次記憶装置1050、出力IF(Interface)1060、入力IF1070、ネットワークIF1080がバス1090により接続された形態を有する。
[4-3. program〕
Also, the
第1演算装置1030は、一次記憶装置1040や二次記憶装置1050に格納されたプログラムや入力装置1020から読み出したプログラム等に基づいて動作し、各種の処理を実行する。一次記憶装置1040は、RAM等、第1演算装置1030が各種の演算に用いるデータを一次的に記憶するメモリ装置である。また、二次記憶装置1050は、第1演算装置1030が各種の演算に用いるデータや、各種のデータベースが登録される記憶装置であり、ROM(Read Only Memory)、HDD(Hard Disk Drive)、フラッシュメモリ等により実現される。
The first arithmetic unit 1030 operates based on programs stored in the primary storage device 1040 and the
第2演算装置1031は、上述したモデルの学習を行う演算装置、すなわち、複数のコアを有する。例えば、第2演算装置1031は、GPUが設置されたグラフィックカード等により実現される。 The second arithmetic unit 1031 has an arithmetic unit for learning the model described above, that is, a plurality of cores. For example, the second arithmetic unit 1031 is realized by a graphic card or the like in which a GPU is installed.
出力IF1060は、モニタやプリンタといった各種の情報を出力する出力装置1010に対し、出力対象となる情報を送信するためのインタフェースであり、例えば、USB(Universal Serial Bus)やDVI(Digital Visual Interface)、HDMI(登録商標)(High Definition Multimedia Interface)といった規格のコネクタにより実現される。また、入力IF1070は、マウス、キーボード、およびスキャナ等といった各種の入力装置1020から情報を受信するためのインタフェースであり、例えば、USB等により実現される。
The output IF 1060 is an interface for transmitting information to be output to the
なお、入力装置1020は、例えば、CD(Compact Disc)、DVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等から情報を読み出す装置であってもよい。また、入力装置1020は、USBメモリ等の外付け記憶媒体であってもよい。
Note that the
ネットワークIF1080は、ネットワークNを介して他の機器からデータを受信して第1演算装置1030へ送り、また、ネットワークNを介して第1演算装置1030が生成したデータを他の機器へ送信する。 The network IF 1080 receives data from other equipment via the network N and sends the data to the first arithmetic unit 1030, and also transmits data generated by the first arithmetic unit 1030 to other equipment via the network N.
第1演算装置1030は、出力IF1060や入力IF1070を介して、出力装置1010や入力装置1020の制御を行う。例えば、第1演算装置1030は、入力装置1020や二次記憶装置1050からプログラムを一次記憶装置1040上にロードし、ロードしたプログラムを実行する。
The first arithmetic unit 1030 controls the
例えば、コンピュータ1000が情報提供装置10として機能する場合、コンピュータ1000の第1演算装置1030は、一次記憶装置1040上にロードされたプログラムまたはデータを実行することにより、第1演算部40の機能を実現し、第2演算装置1031は、一次記憶装置1040上にロードされたプログラムまたはデータを実行することにより、第2演算部50として動作する。コンピュータ1000の第1演算装置1030および第2演算装置1031は、これらのプログラムまたはデータを一次記憶装置1040から読み取って実行するが、他の例として、他の装置からネットワークNを介してこれらのプログラムを取得してもよい。
For example, when the computer 1000 functions as the
〔5.効果〕
上述したように、情報提供装置10は、配布された学習データを用いてそれぞれ個別にモデルの学習を行う複数の演算装置に対し、それぞれ異なる学習データを配布する。そして、情報提供装置10は、配布された学習データを用いて各演算装置が実行した学習の結果に応じた態様で、各演算装置が学習したモデルの同期を行う。このような処理の結果、情報提供装置10は、より適切な学習が行われたモデルを重視した同期を実現するので、複数の演算装置を用いたモデルの学習精度を改善することができる。
[5. effect〕
As described above, the
また、情報提供装置10は、各演算装置により学習が行われたモデルの目的関数の値に応じた態様で、各モデルの同期を行う。例えば、情報提供装置10は、各モデルの目的関数の値に応じた重みを考慮して、各モデルを統合したモデルを同期結果とする。また、例えば、情報提供装置10は、各モデルの学習前における目的関数の値と学習後における目的関数の値との間の改善量に応じた重みを考慮して、各モデルを統合したモデルを同期結果とする。なお、例えば、情報提供装置10は、各モデルのうち、学習前における目的関数の値と学習後における目的関数の値との間の改善量が最も大きいモデルを同期結果としてもよい。また、情報提供装置10は、目的関数の値に応じてモデルの選択を行う遺伝的アルゴリズムを用いて、各モデルの同期を行ってもよい。このような処理の結果、情報提供装置10は、各演算装置が個別に学習したモデルのうち、より精度の改善に寄与すると考えられるモデルを重視した同期を行うことができるので、モデルの学習精度を改善することができる。
Further, the
また、情報提供装置10は、学習データを用いてモデルが有するパラメータの値を修正することで、当該学習データが有する特徴をモデルに学習させる複数の演算装置に対し、それぞれ異なる学習データを配布し、各モデルのパラメータの値を同期させる。また、情報提供装置10は、新たに配布される学習データを用いて同期部により同期されたモデルの学習を行う複数の演算装置に対し、それぞれ異なる学習データを新たに配布する。このため、情報提供装置10は、各種ニューラルネットワークの学習精度を改善できる。
Further, the
また、情報提供装置10は、各演算装置によってモデルの学習が行われる度に、各演算装置に対してそれぞれ異なる学習データを新たに配布し、複数の演算装置により学習が行われたモデルの同期機会を動的に変更する。
In addition, the
例えば、情報提供装置10は、各演算装置が新たに配布された学習データを用いてモデルの学習を行う回数がランダムとなるように、各モデルを同期させる。また、情報提供装置10は、各演算装置が実行した学習の結果が所定の条件を満たした場合は、各モデルを同期させる。また、情報提供装置10は、少なくともいずれかの演算装置により学習が行われたモデルの学習前における目的関数の値と学習後における目的関数の値との間の改善量が所定の条件を満たす場合は、各モデルを同期させる。このため、情報提供装置10は、同期処理によるオーバーヘッドの増大を防ぎつつ、モデルの学習精度を向上させることができる。
For example, the
また、情報提供装置10は、複数の演算装置のうち、一部の演算装置により学習が行われたモデルの同期を行う。例えば、情報提供装置10は、複数の演算装置のうち、通信遅延が所定の範囲内に収まる複数の演算装置により学習が行われたモデルの同期を行う。また、例えば、情報提供装置10は、複数の演算装置のうち、ランダムに選択された一部の演算装置により学習が行われたモデルの同期を行う。このため、情報提供装置10は、同期処理におけるオーバーヘッドをさらに削減することができる。
In addition, the
また、情報提供装置10は、複数の演算装置のうち、各演算装置が演算可能な情報の次元数と、全ての演算装置に対して配布される学習データの数とに応じた数の演算装置により学習が行われたモデルの同期を行う。このため、情報提供装置10は、より効率的なモデルの学習を実現できる。
Further, the
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。 As described above, some of the embodiments of the present application have been described in detail based on the drawings. It is possible to carry out the invention in other forms with modifications.
また、上記してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、検出部は、検出手段や検出回路に読み替えることができる。 Also, the "section, module, unit" described above can be read as "means" or "circuit". For example, the detection unit can be read as detection means or a detection circuit.
10 情報提供装置
20 通信部
30 記憶部
31 学習データデータベース
32 モデルデータベース
40 第1演算部
41 学習制御部
42 情報提供部
50 第2演算部
51 演算部
52 演算制御部
521 配布部
522 同期部
100 データサーバ
200 利用者端末
10 information providing device 20 communication section 30
Claims (18)
配布された学習データを用いて各演算装置が実行した学習したモデルのうちいずれかのモデルが所定の条件を満たした場合は、各演算装置が学習したモデルの同期を行う同期部と
を有し、
前記同期部は、各演算装置により学習が行われたモデルの目的関数の値に応じてモデルの選択を行う遺伝的アルゴリズムを用いて、各モデルの同期を行う
ことを特徴とする情報処理装置。 a distributing unit that newly distributes different learning data each time the model is learned by each arithmetic unit to a plurality of arithmetic units that individually learn a model using the distributed learning data;
a synchronizing unit for synchronizing the model learned by each computing unit when one of the learned models executed by each computing unit using the distributed learning data satisfies a predetermined condition; ,
The information processing apparatus, wherein the synchronization unit synchronizes the models using a genetic algorithm that selects the model according to the value of the objective function of the model trained by each arithmetic unit.
ことを特徴とする請求項1に記載の情報処理装置。 2. The information processing apparatus according to claim 1, wherein the synchronization unit considers a weight according to the value of the objective function of each model, and sets a model obtained by integrating each model as a synchronization result.
ことを特徴とする請求項1または2に記載の情報処理装置。 The synchronization unit considers a weight corresponding to an improvement amount between the objective function value of each model before learning and the objective function value after learning, and sets a model obtained by integrating each model as a synchronization result. 3. The information processing apparatus according to claim 1 or 2, characterized by:
ことを特徴とする請求項1~3のうちいずれか1つに記載の情報処理装置。 4. The synchronizing unit, among the models, sets the model having the largest improvement between the value of the objective function before learning and the value of the objective function after learning as the synchronizing result. The information processing apparatus according to any one of
前記同期部は、各モデルのパラメータの値を同期させる
ことを特徴とする請求項1~4のうちいずれか1つに記載の情報処理装置。 The distribution unit corrects the parameter values of the model using the learning data, thereby distributing different learning data to a plurality of computing devices that cause the model to learn the features of the learning data. ,
The information processing apparatus according to any one of claims 1 to 4, wherein the synchronization unit synchronizes values of parameters of each model.
ことを特徴とする請求項1~5のうちいずれか1つに記載の情報処理装置。 3. The distributing unit newly distributes different learning data to a plurality of arithmetic units that perform model learning synchronized by the synchronization unit using the newly distributed learning data. 6. The information processing device according to any one of 1 to 5.
配布された学習データを用いて各演算装置が実行した学習したモデルのうちいずれかのモデルが所定の条件を満たした場合は、各演算装置が学習したモデルの同期を行う同期部と
を有し、
前記同期部は、各演算装置が実行した学習の結果が所定の条件を満たした場合は、各モデルを同期させる
ことを特徴とする情報処理装置。 a distributing unit that newly distributes different learning data each time the model is learned by each arithmetic unit to a plurality of arithmetic units that individually learn a model using the distributed learning data;
a synchronizing unit for synchronizing the model learned by each computing unit when one of the learned models executed by each computing unit using the distributed learning data satisfies a predetermined condition; ,
The information processing apparatus, wherein the synchronization unit synchronizes each model when a result of learning executed by each arithmetic unit satisfies a predetermined condition.
ことを特徴とする請求項7に記載の情報処理装置。 The synchronizing unit, when the improvement amount between the value of the objective function before learning and the value of the objective function after learning of the model trained by at least one of the arithmetic devices satisfies a predetermined condition, The information processing apparatus according to claim 7, wherein the models are synchronized.
配布された学習データを用いて各演算装置が実行した学習したモデルのうちいずれかのモデルが所定の条件を満たした場合は、各演算装置が学習したモデルの同期を行う同期部と
を有し、
前記同期部は、前記複数の演算装置のうち一部の演算装置により学習されたモデルであって、通信遅延が所定の範囲内に収まる複数の演算装置により学習が行われたモデルの同期を行う
ことを特徴とする情報処理装置。 a distributing unit that newly distributes different learning data each time the model is learned by each arithmetic unit to a plurality of arithmetic units that individually learn a model using the distributed learning data;
a synchronizing unit for synchronizing the model learned by each computing unit when one of the learned models executed by each computing unit using the distributed learning data satisfies a predetermined condition; ,
The synchronizing unit synchronizes the models learned by some of the plurality of arithmetic devices, the models learned by the plurality of arithmetic devices having communication delays within a predetermined range. An information processing device characterized by:
配布された学習データを用いて各演算装置が実行した学習したモデルのうちいずれかのモデルが所定の条件を満たした場合は、各演算装置が学習したモデルの同期を行う同期部と
を有し、
前記同期部は、前記複数の演算装置のうち一部の演算装置により学習されたモデルであって、各演算装置が演算可能な情報の次元数と、全ての演算装置に対して配布される学習データの数とに応じた数の演算装置により学習が行われたモデルの同期を行う
ことを特徴とする情報処理装置。 a distributing unit that newly distributes different learning data each time the model is learned by each arithmetic unit to a plurality of arithmetic units that individually learn a model using the distributed learning data;
a synchronizing unit for synchronizing the model learned by each computing unit when one of the learned models executed by each computing unit using the distributed learning data satisfies a predetermined condition; ,
The synchronizing unit is a model learned by some of the plurality of arithmetic units, and has a number of dimensions of information that can be calculated by each arithmetic unit and learning distributed to all the arithmetic units. An information processing device characterized by synchronizing a model trained by a number of arithmetic units corresponding to the number of data.
配布された学習データを用いてそれぞれ個別にモデルの学習を行う複数の演算装置に対し、各演算装置によって前記モデルの学習が行われる度に、それぞれ異なる学習データを配布する配布工程と、
配布された学習データを用いて各演算装置が実行した学習したモデルのうちいずれかのモデルが所定の条件を満たした場合は、各演算装置が学習したモデルの同期を行う同期工程と
を含み、
前記同期工程は、各演算装置により学習が行われたモデルの目的関数の値に応じてモデルの選択を行う遺伝的アルゴリズムを用いて、各モデルの同期を行う
ことを特徴とする情報処理方法。 An information processing method executed by an information processing device,
a distributing step of distributing different learning data each time the model is learned by each computing device to a plurality of computing devices that individually learn a model using the distributed learning data;
a synchronization step of synchronizing the model learned by each computing device when one of the learned models executed by each computing device using the distributed learning data satisfies a predetermined condition,
The information processing method, wherein the synchronizing step synchronizes each model using a genetic algorithm that selects a model according to the value of the objective function of the model trained by each arithmetic unit.
配布された学習データを用いて各演算装置が実行した学習したモデルのうちいずれかのモデルが所定の条件を満たした場合は、各演算装置が学習したモデルの同期を行う同期手順と
をコンピュータに実行させるための情報処理プログラムであって、
前記同期手順は、各演算装置により学習が行われたモデルの目的関数の値に応じてモデルの選択を行う遺伝的アルゴリズムを用いて、各モデルの同期を行う
ことを特徴とする情報処理プログラム。 a distribution procedure for distributing different learning data each time the model is learned by each computing device to a plurality of computing devices that individually learn a model using the distributed learning data;
a synchronization procedure for synchronizing the model learned by each computing unit when any of the learned models executed by each computing unit using the distributed learning data satisfies a predetermined condition; An information processing program for execution,
The information processing program, wherein the synchronization procedure synchronizes each model using a genetic algorithm that selects a model according to the value of the objective function of the model trained by each arithmetic unit.
配布された学習データを用いてそれぞれ個別にモデルの学習を行う複数の演算装置に対し、各演算装置によって前記モデルの学習が行われる度に、それぞれ異なる学習データを新たに配布する配布工程と、
配布された学習データを用いて各演算装置が実行した学習したモデルのうちいずれかのモデルが所定の条件を満たした場合は、各演算装置が学習したモデルの同期を行う同期工程と
を含み、
前記同期工程は、各演算装置が実行した学習の結果が所定の条件を満たした場合は、各モデルを同期させる
ことを特徴とする情報処理方法。 An information processing method executed by an information processing device,
a distribution step of newly distributing different learning data each time the model is learned by each computing device to a plurality of computing devices that individually learn a model using the distributed learning data;
a synchronization step of synchronizing the model learned by each computing device when one of the learned models executed by each computing device using the distributed learning data satisfies a predetermined condition,
The information processing method, wherein the synchronizing step synchronizes each model when a result of learning executed by each arithmetic unit satisfies a predetermined condition.
配布された学習データを用いて各演算装置が実行した学習したモデルのうちいずれかのモデルが所定の条件を満たした場合は、各演算装置が学習したモデルの同期を行う同期手順と
をコンピュータに実行させるための情報処理プログラムであって、
前記同期手順は、各演算装置が実行した学習の結果が所定の条件を満たした場合は、各モデルを同期させる
ことを特徴とする情報処理プログラム。 a distribution procedure for newly distributing different learning data each time the model is learned by each arithmetic unit to a plurality of arithmetic units that individually learn a model using the distributed learning data;
a synchronization procedure for synchronizing the model learned by each computing unit when any of the learned models executed by each computing unit using the distributed learning data satisfies a predetermined condition; An information processing program for execution,
The information processing program, wherein the synchronization procedure synchronizes each model when a result of learning executed by each arithmetic unit satisfies a predetermined condition.
配布された学習データを用いてそれぞれ個別にモデルの学習を行う複数の演算装置に対し、各演算装置によって前記モデルの学習が行われる度に、それぞれ異なる学習データを新たに配布する配布工程と、
配布された学習データを用いて各演算装置が実行した学習したモデルのうちいずれかのモデルが所定の条件を満たした場合は、各演算装置が学習したモデルの同期を行う同期工程と
を含み、
前記同期工程は、前記複数の演算装置のうち一部の演算装置により学習されたモデルであって、通信遅延が所定の範囲内に収まる複数の演算装置により学習が行われたモデルの同期を行う
ことを特徴とする情報処理方法。 An information processing method executed by an information processing device,
a distribution step of newly distributing different learning data each time the model is learned by each computing device to a plurality of computing devices that individually learn a model using the distributed learning data;
a synchronization step of synchronizing the model learned by each computing device when one of the learned models executed by each computing device using the distributed learning data satisfies a predetermined condition,
The synchronizing step synchronizes the models learned by a part of the plurality of arithmetic devices, and the models learned by the plurality of arithmetic devices whose communication delay is within a predetermined range. An information processing method characterized by:
配布された学習データを用いて各演算装置が実行した学習したモデルのうちいずれかのモデルが所定の条件を満たした場合は、各演算装置が学習したモデルの同期を行う同期手順と
をコンピュータに実行させるための情報処理プログラムであって、
前記同期手順は、前記複数の演算装置のうち一部の演算装置により学習されたモデルであって、通信遅延が所定の範囲内に収まる複数の演算装置により学習が行われたモデルの同期を行う
ことを特徴とする情報処理プログラム。 a distribution procedure for newly distributing different learning data each time the model is learned by each arithmetic unit to a plurality of arithmetic units that individually learn a model using the distributed learning data;
a synchronization procedure for synchronizing the model learned by each computing unit when any of the learned models executed by each computing unit using the distributed learning data satisfies a predetermined condition; An information processing program for execution,
The synchronization procedure synchronizes the models learned by some of the plurality of arithmetic units, and the models learned by the plurality of arithmetic units having communication delays within a predetermined range. An information processing program characterized by:
配布された学習データを用いてそれぞれ個別にモデルの学習を行う複数の演算装置に対し、各演算装置によって前記モデルの学習が行われる度に、それぞれ異なる学習データを新たに配布する配布工程と、
配布された学習データを用いて各演算装置が実行した学習したモデルのうちいずれかのモデルが所定の条件を満たした場合は、各演算装置が学習したモデルの同期を行う同期工程と
を含み、
前記同期工程は、前記複数の演算装置のうち一部の演算装置により学習されたモデルであって、各演算装置が演算可能な情報の次元数と、全ての演算装置に対して配布される学習データの数とに応じた数の演算装置により学習が行われたモデルの同期を行う
ことを特徴とする情報処理方法。 An information processing method executed by an information processing device,
a distribution step of newly distributing different learning data each time the model is learned by each computing device to a plurality of computing devices that individually learn a model using the distributed learning data;
a synchronization step of synchronizing the model learned by each computing device when one of the learned models executed by each computing device using the distributed learning data satisfies a predetermined condition,
In the synchronization step, a model learned by a part of the plurality of arithmetic units, the number of dimensions of information that can be calculated by each arithmetic unit, and the learning distributed to all the arithmetic units. An information processing method characterized by synchronizing a model trained by a number of arithmetic units corresponding to the number of data.
配布された学習データを用いて各演算装置が実行した学習したモデルのうちいずれかのモデルが所定の条件を満たした場合は、各演算装置が学習したモデルの同期を行う同期手順と
をコンピュータに実行させるための情報処理プログラムであって、
前記同期手順は、前記複数の演算装置のうち一部の演算装置により学習されたモデルであって、各演算装置が演算可能な情報の次元数と、全ての演算装置に対して配布される学習データの数とに応じた数の演算装置により学習が行われたモデルの同期を行う
ことを特徴とする情報処理プログラム。 a distribution procedure for newly distributing different learning data each time the model is learned by each arithmetic unit to a plurality of arithmetic units that individually learn a model using the distributed learning data;
a synchronization procedure for synchronizing the model learned by each computing unit when any of the learned models executed by each computing unit using the distributed learning data satisfies a predetermined condition; An information processing program for execution,
The synchronization procedure is a model learned by a part of the plurality of arithmetic units, the number of dimensions of information that can be calculated by each arithmetic unit, and the learning distributed to all the arithmetic units. An information processing program characterized by synchronizing a model trained by a number of arithmetic units corresponding to the number of data.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019047310A JP7171477B2 (en) | 2019-03-14 | 2019-03-14 | Information processing device, information processing method and information processing program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019047310A JP7171477B2 (en) | 2019-03-14 | 2019-03-14 | Information processing device, information processing method and information processing program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020149460A JP2020149460A (en) | 2020-09-17 |
JP7171477B2 true JP7171477B2 (en) | 2022-11-15 |
Family
ID=72429692
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019047310A Active JP7171477B2 (en) | 2019-03-14 | 2019-03-14 | Information processing device, information processing method and information processing program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7171477B2 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017174298A (en) | 2016-03-25 | 2017-09-28 | 株式会社デンソーアイティーラボラトリ | Neural network system, terminal equipment, management device, and learning method for weight parameter in neural network |
JP2018018451A (en) | 2016-07-29 | 2018-02-01 | 富士通株式会社 | Machine learning method, machine learning program and information processing device |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150324689A1 (en) * | 2014-05-12 | 2015-11-12 | Qualcomm Incorporated | Customized classifier over common features |
JP6699891B2 (en) * | 2016-08-30 | 2020-05-27 | 株式会社東芝 | Electronic device, method and information processing system |
US11461656B2 (en) * | 2017-03-15 | 2022-10-04 | Rakuten Group Inc. | Genetic programming for partial layers of a deep learning model |
-
2019
- 2019-03-14 JP JP2019047310A patent/JP7171477B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017174298A (en) | 2016-03-25 | 2017-09-28 | 株式会社デンソーアイティーラボラトリ | Neural network system, terminal equipment, management device, and learning method for weight parameter in neural network |
JP2018018451A (en) | 2016-07-29 | 2018-02-01 | 富士通株式会社 | Machine learning method, machine learning program and information processing device |
Non-Patent Citations (3)
Title |
---|
国英明、高橋良希、首藤一幸,広域分散を想定した深層学習法の比較,第11回データ工学と情報マネジメントに関するフォーラム(第17回日本データベース学会年次大会),日本,日本データベース学会,2019年3月6日,pp.1-7 |
小田哲、中山心太、上西康太、木下真吾,Jubatus:Big Dataのリアルタイム処理を可能にする分散処理技術,電子情報通信学会技術研究報告,日本,社団法人電子情報通信学会,2012年1月19日,Vol.111,No.409,pp.35-40 |
横田理央、大沢和樹、辻陽平、上野裕一郎、成瀬彰,大規模並列深層学習における2次の最適化手法の効果,電子情報通信学会2019年総合大会講演論文集,日本,一般社団法人電子情報通信学会,2019年3月5日,pp.SS-3~SS-6 |
Also Published As
Publication number | Publication date |
---|---|
JP2020149460A (en) | 2020-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11170320B2 (en) | Updating machine learning models on edge servers | |
WO2019072107A1 (en) | Prediction of spending power | |
US10332015B2 (en) | Particle thompson sampling for online matrix factorization recommendation | |
JP6414363B2 (en) | Prediction system, method and program | |
US20190005399A1 (en) | Learning device, generation device, learning method, generation method, and non-transitory computer readable storage medium | |
WO2017148269A1 (en) | Method and apparatus for acquiring score credit and outputting feature vector value | |
JP6311851B2 (en) | Co-clustering system, method and program | |
JP2019046236A (en) | Learning apparatus, information processing apparatus, learning method, and program | |
CN111783810A (en) | Method and apparatus for determining attribute information of user | |
JP2019503014A (en) | Method and apparatus for processing user behavior data | |
US20160342899A1 (en) | Collaborative filtering in directed graph | |
CN103782290A (en) | Generation of recommendation values | |
US20240163344A1 (en) | Methods and apparatus to perform computer-based community detection in a network | |
JP7231322B2 (en) | LEARNING DEVICE, LEARNING METHOD, LEARNING PROGRAM AND PROGRAM | |
JP7171477B2 (en) | Information processing device, information processing method and information processing program | |
JP6692739B2 (en) | Extraction device, extraction method, and extraction program | |
TWI758223B (en) | Computing method with dynamic minibatch sizes and computing system and computer-readable storage media for performing the same | |
EP4300947A1 (en) | Systems, apparatus, articles of manufacture, and methods for eye gaze correction in camera image streams | |
JP7077185B2 (en) | Information processing equipment, information processing methods, and information processing programs | |
JP6963988B2 (en) | Providing equipment, providing method and providing program | |
JP6910873B2 (en) | Specific device and specific method | |
CN112218114A (en) | Video cache control method, device and computer readable storage medium | |
CN105139020A (en) | User clustering method and device | |
CN105528379B (en) | Resource recommendation method and device | |
CN108958902B (en) | Graph calculation method and system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A80 | Written request to apply exceptions to lack of novelty of invention |
Free format text: JAPANESE INTERMEDIATE CODE: A80 Effective date: 20190409 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20191101 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20191108 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200309 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210303 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210330 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210528 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20211012 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20211228 |
|
C60 | Trial request (containing other claim documents, opposition documents) |
Free format text: JAPANESE INTERMEDIATE CODE: C60 Effective date: 20211228 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20220117 |
|
C21 | Notice of transfer of a case for reconsideration by examiners before appeal proceedings |
Free format text: JAPANESE INTERMEDIATE CODE: C21 Effective date: 20220118 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20220210 |
|
C211 | Notice of termination of reconsideration by examiners before appeal proceedings |
Free format text: JAPANESE INTERMEDIATE CODE: C211 Effective date: 20220215 |
|
C22 | Notice of designation (change) of administrative judge |
Free format text: JAPANESE INTERMEDIATE CODE: C22 Effective date: 20220531 |
|
C22 | Notice of designation (change) of administrative judge |
Free format text: JAPANESE INTERMEDIATE CODE: C22 Effective date: 20220705 |
|
C302 | Record of communication |
Free format text: JAPANESE INTERMEDIATE CODE: C302 Effective date: 20220706 |
|
C13 | Notice of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: C13 Effective date: 20220712 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220809 |
|
C23 | Notice of termination of proceedings |
Free format text: JAPANESE INTERMEDIATE CODE: C23 Effective date: 20220830 |
|
C03 | Trial/appeal decision taken |
Free format text: JAPANESE INTERMEDIATE CODE: C03 Effective date: 20221004 |
|
C30A | Notification sent |
Free format text: JAPANESE INTERMEDIATE CODE: C3012 Effective date: 20221004 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20221102 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7171477 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |