JP2016126596A - 差分学習管理プログラム、差分学習管理装置及び差分学習管理方法 - Google Patents
差分学習管理プログラム、差分学習管理装置及び差分学習管理方法 Download PDFInfo
- Publication number
- JP2016126596A JP2016126596A JP2015000885A JP2015000885A JP2016126596A JP 2016126596 A JP2016126596 A JP 2016126596A JP 2015000885 A JP2015000885 A JP 2015000885A JP 2015000885 A JP2015000885 A JP 2015000885A JP 2016126596 A JP2016126596 A JP 2016126596A
- Authority
- JP
- Japan
- Prior art keywords
- learning
- sampling rate
- window size
- data
- time
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/10—Machine learning using kernel methods, e.g. support vector machines [SVM]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Complex Calculations (AREA)
- Testing And Monitoring For Control Systems (AREA)
Abstract
【課題】差分学習において入力レートに応じた学習時間の制限範囲内でウィンドウサイズ及びサンプリングレートを可変に設定することを目的とする。【解決手段】順次入力される入力データから、設定されたウィンドウサイズ及びサンプリングレートにより抽出したデータに対する差分学習処理をコンピュータに実行させる差分学習管理プログラムであって、前記ウィンドウサイズと前記抽出したデータに対する学習時間とを対応付けた学習履歴情報と、前記サンプリングレートとを記憶し、前記入力データのデータレートを計測し、前記計測したデータレートと前記学習履歴情報と前記サンプリングレートに基づき、前記ウィンドウサイズ及びサンプリングレートを算出する、差分学習管理プログラムが提供される。【選択図】図10
Description
本発明は、差分学習管理プログラム、差分学習管理装置及び差分学習管理方法に関する。
近年、インターネットや各種センサーから発生する大量の時系列データから、ビジネスに役立つ新たな知識や情報を得ることを目的とした機械学習の技術が注目されている。大量の時系列データを対象とした機械学習では、短い学習時間と高い精度の両立が重要である。
図1に示すように、機械学習には「バッチ型学習」、「オンライン型学習」、「差分型学習」の3種類のカテゴリの学習方法が存在する。精度と学習時間とのバランスの観点では、学習データの入力レートによって差分型とオンライン型の学習方法のどちらが優位であるかが変わる。それぞれの学習法の性能(学習時間)と精度の関係を図1に示す。
入力レートが高ければ(例:数千〜数万個/秒)、最近の更新分のデータを数ミリ秒で学習できるオンライン学習方法でしか学習できない。一方、入力レートが一定の値を超えなければ(例:数十〜数百個/秒)、差分型学習がオンライン型学習よりも高い精度が得られる。
「差分型学習」は、バッチ型学習とほぼ同等の精度を持ちながら、データが発生するたびにゼロから学習を行わないで前回の結果を流用して学習を継続することができる。差分型の機械学習を行う場合、順次リアルタイムに入力されるデータを図2に示すように区切って、纏めた形で差分学習器に渡す必要がある。以下では、その区切り方を、「ウィンドウサイズ」という。例えばある差分学習器では、今までの学習結果であるM個の学習済みのモデルデータと新しいN個の学習データとを結合し、差分学習のアルゴリズムによって差分学習処理を実行する。その場合、M個のモデルデータが一定のオーバーヘッド(モデルの再学習にかかる時間)を発生させる主な要因となる。
このため、N個の新しい学習データに対して、図3に示すようにウィンドウサイズNが小さすぎると、差分学習のオーバーヘッドの影響により学習スピードが入力データの蓄積スピード(以下、「入力レート」ともいう。)より下がってしまう。一方、学習時間がO((M+N)2)(すなわち、学習時間がデータ量(M+N)2を超えることがない)のようなアルゴリズムでは、ウィンドウサイズNが大きすぎると学習のスピードが入力レートを大きく下回ることになる。よって、入力レートが多少変動しても学習時間が入力データの蓄積時間を超えない領域Aに対応するN1〜N2個の範囲内にウィンドウサイズを設定することが好ましい。
また、図4に示すように、学習の実行中に入力レートが上昇すると、学習スピードが入力レートを上回る領域Aは小さくなる。図4の入力レート140個/sのように入力レートが大きすぎると、入力データ(新しい未学習のデータ)の蓄積時間が小さくなり、すべてのウィンドウサイズにおいて学習スピードは入力レートを下回ることになるため、適切なウィンドウサイズを設定することが困難になる。
差分型の機械学習の一例としては、図5に示すサポートベクターマシンの差分学習技術が知られている(例えば、非特許文献1参照)。差分学習器では、主にネットワークを通じて収集される大量の時系列データから差分型の機械学習が行われる。
Zhao, J. Parallelized incremental support vector machines based on MapReduce and Bagging technique, 2012
しかしながら、上記サポートベクターマシンでは、ウィンドウサイズ(入力バッファーに蓄積される入力データ数)は、事前に決定される固定値であり、動的に変動させることはできない。また、サポートベクターマシン以外の差分学習アルゴリズムもたくさん研究されているが、いずれもウィンドウサイズは固定されている。ウィンドウサイズを固定値にすると、学習スピードが入力レートと同一又は速くなるようにウィンドウサイズが決まる。例えば、図6のウィンドウサイズがN3個及び入力レートが100個/sとき、学習時間は、入力バッファーへの入力データの蓄積時間よりも短くなる。
ただし、ウィンドウサイズを決定後、図6に示すように入力レートが100個/sから120個/sに上がると、ウィンドウサイズN3において学習スピードが入力レートよりも遅くなる可能性がある。例えば、図6のウィンドウサイズがN3及び入力レートが120個/sとき、学習時間は、入力バッファーへの入力データの蓄積時間よりも長くなる。このように入力レートが変動する場合、変動後においても学習スピードが入力レート以下となるウィンドウサイズN4を予め予測することは困難である。
一方、すべてのデータを学習せず一定の割合でサンプリングしたものだけを学習するようにすれば、M個のモデルを用いた再学習にかかる時間が小さくなり、学習スピードを高めることができ、再び学習時間が入力データの蓄積時間より短くなるように制御することが出来る。例えば、図7では、サンプリングレートを20%から15%に下げると、同じウィンドウサイズでも学習スピードが入力レートよりも高くなり、学習時間が入力データの蓄積時間よりも短くなる。
ただし、サンプリングを行うことによって、全ての入力データが学習に使われないため、学習結果の精度が下がる。例えば、図8では、サンプリングレートを20から15%に下げると、学習結果の精度が下がることが示されている。つまり、必要以上にサンプリングレートを下げると、差分学習の結果が適切な精度を維持できないことになる。例えば、図7に示すように、サンプリングレートを20%から15%に下げると、学習結果の精度は、85%から82%に低下する。
図9に示すように、ウィンドウサイズをN5に固定してサンプリングレートだけを変化させるよりも、サンプリングレートとウィンドウサイズの両方を調整すれば、学習結果の精度を必要以上に下げることを回避しながら、適切なウィンドウサイズN6を設定できる。しかしながら、ウィンドウサイズとサンプリングレートとの両方を適切に調整する方法は知られていない。
そこで、一側面では、本発明は、差分学習において入力レートに応じた学習時間の制限範囲内でウィンドウサイズ及びサンプリングレートを可変に設定することを目的とする。
そこで、一側面では、本発明は、差分学習において入力レートに応じた学習時間の制限範囲内でウィンドウサイズ及びサンプリングレートを可変に設定することを目的とする。
一つの案では、順次入力される入力データから、設定されたウィンドウサイズ及びサンプリングレートにより抽出したデータに対する差分学習処理をコンピュータに実行させる差分学習管理プログラムであって、前記ウィンドウサイズと前記抽出したデータに対する学習時間とを対応付けた学習履歴情報と、前記サンプリングレートとを記憶し、前記入力データのデータレートを計測し、前記計測したデータレートと前記学習履歴情報と前記サンプリングレートに基づき、ウィンドウサイズ及びサンプリングレートを算出する、差分学習管理プログラムが提供される。
一側面によれば、差分学習において入力レートに応じた学習時間の制限範囲内でウィンドウサイズ及びサンプリングレートを可変に設定することで、学習結果の精度と学習時間との両立を図ることができる。
以下、本発明の実施形態について添付の図面を参照しながら説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複した説明を省く。
(はじめに)
機械学習には、図1に示す「バッチ型学習」、「オンライン型学習」、「差分型学習」の3種類のカテゴリの学習方法が存在する。従来の「バッチ型学習」では精度が非常に高いが、学習時間は長い。特に、「バッチ型学習」は、新しいデータが発生するたびに過去の全てのデータを含めてゼロから再学習を行う必要があるため、リアルタイムの時系列データに個の学習方法を使うことは非現実的である。
機械学習には、図1に示す「バッチ型学習」、「オンライン型学習」、「差分型学習」の3種類のカテゴリの学習方法が存在する。従来の「バッチ型学習」では精度が非常に高いが、学習時間は長い。特に、「バッチ型学習」は、新しいデータが発生するたびに過去の全てのデータを含めてゼロから再学習を行う必要があるため、リアルタイムの時系列データに個の学習方法を使うことは非現実的である。
「オンライン型学習」や「ミニバッチ型学習」というカテゴリの学習方法は、学習が早いため、大量の時系列データをほぼリアルタイムに学習することができる。しかし、これらの学習方法は、線形分離不可能なデータに対しては予測精度が低い。
「差分型学習」というカテゴリの学習方法は、バッチ型学習とほぼ同等の精度を持ちながら、データが発生するたびにゼロから学習を行わないで、前回の結果を流用して学習を継続することができる。そうすることで、学習時間はバッチに比べて短く、高い精度を保ったままで時系列データに対してほぼリアルタイムに学習を行うことが可能になる。
図1に示すように、入力レートが一定の値を超えなければ(例:数十〜数百個/秒)、差分型学習は、オンライン型学習よりも高い精度が得られる。そこで、以下に説明する本発明の一実施形態では、学習精度の高い学習結果を得るために、差分学習において入力レートに応じた学習時間の制限範囲内で、ウィンドウサイズ及びサンプリングレートを可変に設定する差分学習管理装置について説明する。
なお、以下の説明では、ウィンドウサイズは、一回あたりの学習に使う入力データ数であり、「N」で示される。また、サンピングレートは、ウィンドウサイズNのうちから実際に学習に使用するサンプルデータの抽出レートであり、「S」で示される。入力レートは、一秒間に入力されるデータ量(データレート)であり、「R」で示される。
[差分学習管理装置の構成]
まず、本発明の一実施形態に係る差分学習管理装置1の構成の一例について、図10を参照しながら説明する。差分学習装置2では、差分学習器2eにより差分型の機械学習が行われる。この場合、順次リアルタイムに入力されるデータ(追加のデータ)を、入力データテーブル2aに一時的に保存する。追加のデータうちのウィンドウサイズNで設定されたN個のデータは、入力バッファー2bに蓄積されたのち、サンプラ2cに入力される。サンプラ2cでは、サンプリングレートSに従い入力された追加データのS%がサンプリングされ、追加の学習データテーブル2dに保存される。
まず、本発明の一実施形態に係る差分学習管理装置1の構成の一例について、図10を参照しながら説明する。差分学習装置2では、差分学習器2eにより差分型の機械学習が行われる。この場合、順次リアルタイムに入力されるデータ(追加のデータ)を、入力データテーブル2aに一時的に保存する。追加のデータうちのウィンドウサイズNで設定されたN個のデータは、入力バッファー2bに蓄積されたのち、サンプラ2cに入力される。サンプラ2cでは、サンプリングレートSに従い入力された追加データのS%がサンプリングされ、追加の学習データテーブル2dに保存される。
差分学習器2eは、今までの学習結果であるM個のモデルデータと新しい追加の学習データとを結合し、結合したデータを用いて差分学習のアルゴリズムに従い差分学習を行う。M個の学習済みデータのモデルは、モデルテーブル2fに保存される。
差分学習装置2は、例えば、あるサービスを提供しているユーザの端末から送信されるデータを受信し、それらのデータを用いてユーザが行動パターンをモデル化する。差分学習の結果は、そのユーザの次の行動を予測する等の用途に使用される。例えばあるサービスから退会した他のユーザの行動パターンと、モデル化したユーザの行動パターンとが類似している場合、そのユーザがサービスから退会する可能性が高いと予測し、退会を回避するようにユーザに何らかのアクションをする等の利用が考えられる。
一実施形態に係る差分学習管理装置1は、差分学習装置2を管理する装置である。差分学習管理装置1は、入力レート計測部11、記憶部12、学習時間算出部13、精度算出部14及び最適化部15を有する。
入力レート計測部11は、入力データテーブル2aに入力される、ネットワーク等を介して受信したデータ(追加のデータ)の流量(入力レート、データレート)を計測する。入力レート計測部11は、例えば一秒間当たりに何個のデータを受信したかをカウントする。入力レート計測部11は、入力レートが低い場合は1分間や1時間当たりのカウントを行ってもよい。
記憶部12は、学習履歴情報テーブル121、学習時間予測モデルテーブル122、精度履歴情報テーブル123及び精度予測モデルテーブル124を有する。学習履歴情報テーブル121は、図11に一例を示すように、ウィンドウサイズ(N)121aと学習時間(t)121bとを対応づけて記憶する。例えば、ウィンドウサイズ(N)121aが1000のとき学習時間121bが2分、ウィンドウサイズ(N)121aが2000のとき学習時間121bが3分かかることがわかる。なお、学習履歴情報テーブル121に蓄積されたウィンドウサイズと学習時間とは、学習履歴情報の一例である。
学習時間予測モデルテーブル122は、図12に一例を示すように、学習時間予測モデルの構造を示す。例えば、学習時間のモデル化に多項式モデルを使用した非線形回帰分析(以下、「多項式回帰」ともいう。)を適用した場合、学習時間予測モデルテーブル122には、多項式回帰分析の結果得られた係数が記憶される。図12では、多項式回帰分析の結果得られた係数(k2)122a、係数(k2)122b、係数(k3)122c)が記憶される。後述されるように、学習時間予測モデルテーブル122に記憶された各係数を使って、学習時間の関数T(N、S)=k2(N・S)2+k1(N・S)+k0で示すモデルが計算可能となる。N・Sは、差分学習器2eで学習される新たな追加データ数である。
精度履歴情報テーブル123は、図13に一例を示すように、サンプリングレート(S)123aと精度(A)123bとを対応づけて記憶する。例えば、サンプリングレート(S)123aが10%のとき精度(A)123bは40%となり、サンプリングレート(S)123aが20%のとき精度(A)123bは60%となる。
精度予測モデルテーブル124は、図14に一例を示すように、精度予測モデルの構造を示す。例えば、精度のモデル化に対数モデルを使用した非線形回帰分析(以下、「対数回帰」ともいう。)を適用した場合、対数回帰分析の結果得られた係数が記憶される。図14では、対数回帰分析の結果得られた係数(K1)124a、係数(K0)124bが記憶される。
学習時間算出部13は、学習時間計測部131、学習時間モデル化部132及び学習時間予測部133を有する。
学習時間計測部131は、入力バッファー2bから次の差分学習のための新たなデータ(追加データ)を受け取り、差分学習を行う前後の時刻を記録することで、学習時間tを計測する。計測された学習時間tは、その時点で設定されたウィンドウサイズNに対応付けて学習履歴情報テーブル121に格納される。差分学習器2eでN個のデータが学習されるたびに、学習時間計測部131は学習時間を算出する。
学習時間モデル化部132は、学習履歴情報テーブル121から、過去において行われた全ての学習時間とデータ量を取り出して、それらの情報に基づき回帰処理を行う。回帰処理が終わると、学習時間モデル化部132は、回帰処理の結果得られた係数を学習時間予測モデルテーブル122に記録する。ただし、回帰処理は、必ずしも過去において行われた全ての学習時間とデータ量を取り出して実行されなくてもよく、例えば、過去において行われた一部の学習時間とデータ量に基づき実行されてもよい。
回帰のステップには例えば線形回帰、多項式回帰、ノンパラメトリック回帰などの回帰技術を使うことが出来る。どのような回帰技術を使うかは、ユーザの指定によって決めることができる。多項式回帰を使って行う場合は、モデル化したい学習時間の関数T(N、S)が、例えば関数T(N、S)=k2(N・S)2+k1(N・S)+k0のような形式であると仮定する。そして、過去の学習履歴情報テーブル121に記憶された学習時間に基づき、係数k2,係数k1,係数k0が回帰的に定められる。ここで、N×Sは、新たに差分学習器2eに追加されるデータの量である。
上記学習時間のモデル化は、学習時間の形式をある程度事前に知っていれば、有効な手法である。一方、学習時間の形式を事前に知らない場合には、ノンパラメトリック回帰の手法を利用する。ノンパラメトリック回帰には例えばGaussian Process回帰がある。
学習時間予測部133は、学習時間のモデル化に利用する、ユーザが指定した又はあらかじめ設定された回帰技術に合わせて学習時間を予測する。たとえば、学習時間のモデル化に多項式回帰を使用した場合、多項式回帰の結果で得られた係数(例:k2,k1,k0)を使って、学習時間の関数T(N、S)=k2(N・S)2+k1(N・S)+k0を計算する。これにより、学習時間の予測値Tが算出される。
精度算出部14は、精度計測部141、精度モデル化部142及び精度予測部143を有する。精度計測部141は、差分学習装置2が差分学習したモデルデータ(入力データ)を受け取り、設定されたサンプリングレートSによる学習結果の精度を計測する。精度の算出には、例えば、精度をモデル化した関数A(S)により算出可能である。精度計測部141は、モデルデータの替わりにテストデータを取得してもよい。計測され精度Pは、精度履歴情報テーブル123に格納される。
精度モデル化部142は、精度予測モデルテーブル124に基づき回帰処理を行う。対数回帰を使って行う場合は、モデル化したい精度の関数P(S:サンピングレート)が、例えばA(S)=k0+k1log(N・S)のような形式であると仮定し、精度をモデル化する。
精度予測部143は、精度のモデル化に利用する、ユーザが指定した又はあらかじめ設定された回帰技術に合わせて精度を予測する。
なお、学習時間算出部13及び精度算出部14は、計測したデータレートと学習履歴情報と現状のサンプリングレートSに基づき、ウィンドウサイズN及びサンプリングレートSを算出(最適化)するする算出部の一例である。
最適化部15は、サンプリングレートSに応じた精度に基づき、ウィンドウサイズN及びサンプリングレートSを最適化する。これにより、最適化されたウィンドウサイズNに基づき、入力バッファー2bに蓄積する追加データのデータ数を適正値に可変に制御できる。また、最適化されたサンプリングレートSに基づき、サンプラ2cから差分学習器2eに出力されるデータのサンプリング数を適正値に可変に制御できる。
[ウィンドウサイズ/サンプリングレート設定処理]
次に、一実施形態に係るウィンドウサイズN及びサンプリングレートSの設定処理について、図15を参照して説明する。
次に、一実施形態に係るウィンドウサイズN及びサンプリングレートSの設定処理について、図15を参照して説明する。
本処理が開始されると、入力データが受信され(ステップS1)、入力バッファー2bに蓄積され、入力バッファー2bにウィンドウサイズのN個のデータが蓄積されると、入力バッファー2bからN個のデータが出力され、出力データはサンプラ2cによりサンプリングされる(ステップS2)。入力バッファーの出力処理については、図16を参照して後述される。
学習時間算出部13は、サンプラ2cによりサンプリングされたN×S個の出力データを取得し、差分学習器2eによる学習時間を計測する(ステップS3)。学習時間の計測処理の詳細については、図17を参照して後述される。
次に、学習時間算出部13は、学習時間予測モデルテーブル122に基づき、回帰処理により算出した回帰式の係数を利用して、設定された回帰技術に合わせて学習時間を算出する(ステップS4)。学習時間のモデル化処理については、図18を参照して後述される。
次に、精度算出部14は、精度予測モデルテーブル124に基づき、回帰式の係数を利用して設定された回帰技術に合わせて精度を算出する(ステップS5)。学習時間算出部13及び精度算出部14による(N,S)の探索処理については、図19〜図22を参照して後述される。
次に、最適化部15は、この時点の入力レート111と、学習時間予測モデルテーブル122及び精度予測モデルテーブル124に基づき、ウィンドウサイズN及びサンプリングレートSを最適化する(ステップS6)。次に、最適化部15は、精度Aに基づきウィンドウサイズNと最適化されたウィンドウサイズNを設定し、入力バッファー2bを制御する(ステップS7)。次に、最適化部15は、最適化されたサンプリングレートSを設定し、サンプラ2cを制御し(ステップS8)、ステップS2に戻り、ステップS2〜ステップS8の処理を繰り返す。
(入力バッファー出力処理)
一実施形態に係る入力バッファーの出力処理は、図16に示すフローチャートに従い、以下のように行われる。まず、入力データが受信されると(ステップS10)、差分学習装置2は、入力バッファー2bに入力データを記録する(ステップS12)。次に、差分学習装置2は、入力バッファー2bにウィンドウサイズで定められたN個のデータが保存されたかを判定する(ステップS14)。入力バッファー2bにN個のデータが保存されていないと判定された場合、差分学習装置2は、次の入力データを待ち(ステップS16)、入力バッファー2bにN個のデータが保存されるまで、ステップS10〜ステップS16の処理を繰り返す。
(入力バッファー出力処理)
一実施形態に係る入力バッファーの出力処理は、図16に示すフローチャートに従い、以下のように行われる。まず、入力データが受信されると(ステップS10)、差分学習装置2は、入力バッファー2bに入力データを記録する(ステップS12)。次に、差分学習装置2は、入力バッファー2bにウィンドウサイズで定められたN個のデータが保存されたかを判定する(ステップS14)。入力バッファー2bにN個のデータが保存されていないと判定された場合、差分学習装置2は、次の入力データを待ち(ステップS16)、入力バッファー2bにN個のデータが保存されるまで、ステップS10〜ステップS16の処理を繰り返す。
入力バッファー2bにN個のデータが保存されたと判定された場合、差分学習器2eは、入力バッファー2bから出力され、サンプラ2cにて抽出されたデータをを取得し(ステップS18)、取得したデータを学習時間計測部131に出力する(ステップS20)。その後、入力バッファー2bは、次の入力データを待ち(ステップS16)、新たな入力データが受信されると(ステップS10)、ステップS10〜ステップS20の処理が繰り返される。これにより、入力バッファー2bにN個のデータが蓄積されるたびに、差分学習が行われ、次の学習時間計測処理により、差分学習に対応する学習履歴情報が学習履歴情報テーブル121に蓄積される。
(学習時間計測処理)
一実施形態に係る学習時間計測処理は、図17に示すフローチャートに従い、以下のように行われる。なお、本処理は、入力バッファー出力処理が終了した後に実行される。まず、学習時間計測部131は、入力バッファー2bから入力データを取得する(ステップ30)。次に、学習時間計測部131は、差分学習器2eにより入力データとモデルとの差分学習が開始された時間(開始時間)を記録する(ステップS32)。次に、学習時間計測部131は、差分学習を実行する(ステップS34)。学習時間計測部131は、差分学習器2eにより差分学習が終了された時間(終了時間)を記録する(ステップS36)。次に、学習時間計測部131は、終了時間と開始時間との差分を学習時間として算出する(ステップS38)。次に、学習時間計測部131は、算出した学習時間を学習履歴情報テーブル121に記録する(ステップS40)。
(学習時間モデル化処理)
一実施形態に係る学習時間モデル化処理は、図18に示すフローチャートに従い、以下のように行われる。なお、本処理は、学習時間計測処理が終了した後に実行される。まず、学習時間モデル化部132は、学習履歴情報テーブル121から学習時間を取得する(ステップS50)。
(学習時間計測処理)
一実施形態に係る学習時間計測処理は、図17に示すフローチャートに従い、以下のように行われる。なお、本処理は、入力バッファー出力処理が終了した後に実行される。まず、学習時間計測部131は、入力バッファー2bから入力データを取得する(ステップ30)。次に、学習時間計測部131は、差分学習器2eにより入力データとモデルとの差分学習が開始された時間(開始時間)を記録する(ステップS32)。次に、学習時間計測部131は、差分学習を実行する(ステップS34)。学習時間計測部131は、差分学習器2eにより差分学習が終了された時間(終了時間)を記録する(ステップS36)。次に、学習時間計測部131は、終了時間と開始時間との差分を学習時間として算出する(ステップS38)。次に、学習時間計測部131は、算出した学習時間を学習履歴情報テーブル121に記録する(ステップS40)。
(学習時間モデル化処理)
一実施形態に係る学習時間モデル化処理は、図18に示すフローチャートに従い、以下のように行われる。なお、本処理は、学習時間計測処理が終了した後に実行される。まず、学習時間モデル化部132は、学習履歴情報テーブル121から学習時間を取得する(ステップS50)。
次に、学習時間モデル化部132は、取得した学習時間に基づき回帰処理を行う(ステップS52)。回帰処理が終わると、学習時間モデル化部132は、回帰処理の結果得られた係数を学習時間予測モデルテーブル122に記録し(ステップS54)、本処理を終了する。
(ウィンドウサイズNとサンプリングレートSの探索) 学習時間のモデルが更新されるたびに、また、入力レートが大きく(一定の割合以上に)変わるたびに、ウィンドウサイズNとサンプリングレートSを再設定し、(ウィンドウサイズN,サンプリングレートSS)の組合せの最適化を行う。
(ウィンドウサイズNとサンプリングレートSの探索) 学習時間のモデルが更新されるたびに、また、入力レートが大きく(一定の割合以上に)変わるたびに、ウィンドウサイズNとサンプリングレートSを再設定し、(ウィンドウサイズN,サンプリングレートSS)の組合せの最適化を行う。
最適な組合せ(N,S)を求める手法として、以下の2つの手法が考えられる。
・学習時間関数の差分方程式
学習時間関数の差分方程式は、処理時間が早いが、適用できない場合がある(汎用性が低い)。学習時間のモデル化に多項式回帰を使用した場合に利用する。
・山登り法
処理時間が遅いが、どんな場合にも適用できる(汎用性が高い)。学習時間のモデル化にノンパラメトリック回帰を使用した場合に利用する。
・学習時間関数の差分方程式
学習時間関数の差分方程式は、処理時間が早いが、適用できない場合がある(汎用性が低い)。学習時間のモデル化に多項式回帰を使用した場合に利用する。
・山登り法
処理時間が遅いが、どんな場合にも適用できる(汎用性が高い)。学習時間のモデル化にノンパラメトリック回帰を使用した場合に利用する。
学習時間関数の差分方程式を使った最適化
学習スピードと入力レートを同等にする各(N,S)の組合せを、S=F(N)のような関数と、その微分関数ds(N)/dNも定式化することができて、かつ、ds(N)/dN=0となるNmax(K)の定式化ができる場合に適用可能である。Kはモデル化した学習時間のモデルを表す。例えば2乗の多項式の場合、K={k0,k1,k2}である。
学習スピードと入力レートを同等にする各(N,S)の組合せを、S=F(N)のような関数と、その微分関数ds(N)/dNも定式化することができて、かつ、ds(N)/dN=0となるNmax(K)の定式化ができる場合に適用可能である。Kはモデル化した学習時間のモデルを表す。例えば2乗の多項式の場合、K={k0,k1,k2}である。
以下に従って、Nmax(k2、k0)とSmax(k2、k0)を予め定式化し、実行時に学習時間のモデル化して得られたk2とk0とを学習時間予測モデルテーブル122から取得して、NmaxとSmaxとを直接求める。
例えば、本実施形態では、学習時間は関数T(N、S)=k2(N・S)2+k0で示されるモデル式(A)を使用し、精度はA(S)=k0+k1log(N・S)で示されるモデル式(B)を使用する。
以下では、一例として上記山登り法(劣勾配法)を用いて、ウィンドウサイズNとサンプリングレートSとの最適値を選択する。山登り法を用いた二つのパラメータ(ウィンドウサイズN及びサンプリングレートS)の最適化では、学習スピードTS(N、S)が入力レートRと同一又は近似するときの多数の(N、S)の組合せの中から、精度A(S)が一番高い組合せが選択される。
(N/Sの探索処理)
本実施形態に係る探索処理は、図19に示すフローチャートに従い、以下のように行われる。なお、本処理は、学習時間モデル化処理と精度モデル化処理とが終了した後に実行され、モデル化された学習時間Tとモデル化された精度Aとが使用される。
本実施形態に係る探索処理は、図19に示すフローチャートに従い、以下のように行われる。なお、本処理は、学習時間モデル化処理と精度モデル化処理とが終了した後に実行され、モデル化された学習時間Tとモデル化された精度Aとが使用される。
一例として、本実施形態では、モデル化された学習時間Tとしては、関数T(N、S)=k2(N・S)2+k0で示されるモデル式が使用される。また、モデル化された精度Aとしては、関数A(S)=k0+k1log(N・S)で示されるモデルが使用される。
ただし、学習時間Tのモデル及び精度Aのモデルはこれらに限らない。学習時間T(N,S)は、例えば、多項式回帰や線形補完の手法を用いてモデル化することができる。
まず、学習時間算出部13は、この時点のウィンドウサイズNを固定にし、学習スピードTS(N,S)がこの時点の入力レートRと等しくなるサンプリングレートSnextを探す(ステップS62)。
本実施形態では、図19のステップS62から右側に分岐するステップ群(S64〜S78)では、図20に示すスタートから右側に進行し、山登り法を用いて学習時間T(N,S)のモデルに従いウィンドウサイズNとサンプリングレートSとを探索する。図19のステップS62から左側に分岐するステップ群(S80〜S96)では、図20に示す探索のスタートから左側に進行し、同様に山登り法を用いて予め定められた学習時間T(N,S)のモデルに従いウィンドウサイズNとサンプリングレートSとを探索する。
(右探索)
ここでは、先に、右側に分岐するステップ群により実行される、ウィンドウサイズNとサンプリングレートSの右探索について説明する。学習時間算出部13は、ステップS62においてウィンドウサイズNを固定し、学習スピードTS(N,S)=この時点の入力レートRとなるサンプリングレートSnextを探索する。この結果、図21の(a)の(1)に示すように、スタート地点からウィンドウサイズNを変えずにサンプリングレートSを変化させ、学習時間T(N,S)のモデルから点(N1,S1)が選択される。このとき、学習スピードTS(N,S)がこの時点の入力レートR以下の値になる条件(最適線)の範囲内の点(N1,S1)が選択される。
ここでは、先に、右側に分岐するステップ群により実行される、ウィンドウサイズNとサンプリングレートSの右探索について説明する。学習時間算出部13は、ステップS62においてウィンドウサイズNを固定し、学習スピードTS(N,S)=この時点の入力レートRとなるサンプリングレートSnextを探索する。この結果、図21の(a)の(1)に示すように、スタート地点からウィンドウサイズNを変えずにサンプリングレートSを変化させ、学習時間T(N,S)のモデルから点(N1,S1)が選択される。このとき、学習スピードTS(N,S)がこの時点の入力レートR以下の値になる条件(最適線)の範囲内の点(N1,S1)が選択される。
次に、学習時間算出部13は、サンプリングレートSをサンプリングレートSnextを変えずにウィンドウサイズNを大きくし、学習時間T(N,S)のモデルに従い探索してウィンドウサイズNnext(図21の(a)ではN2)を探索する(ステップS64)。この時点では、N1とN2との差分が右探索のステップサイズとなる。
次に、学習時間算出部13は、この時点のウィンドウサイズNを固定にし、学習スピードTS(N,S)がこの時点の入力レートRと等しくなるサンプリングレートSnextを探索する(ステップS66)。この結果、図21の(a)の(2)に示すように、ウィンドウサイズN2を変えずにサンプリングレートSを変化させ、学習時間T(N,S)のモデルに従い到達した点(N2,S2)が特定される。
次に、精度算出部14は、この時点でのサンプリングレートSnextに基づき、予め定められた精度A(S)のモデルに従い精度A(Snext)を予測する(ステップS68)。次に、精度算出部14は、前回よりも低い精度Aかを判定する(ステップS70)。精度算出部14は、前回よりも低い精度Aでないと判定した場合、精度改善(前回の精度との差分)が閾値よりも高いかを判定する(ステップS72)。精度算出部14は、精度改善が閾値よりも高いと判定した場合、精度が改善していると判断し、ステップS64に戻り、ステップS64以降の処理を繰り返す。
一方、精度算出部14は、前回よりも低い精度Aではないと判定し(ステップS70)、かつ、精度改善が閾値以下であると判定した場合(ステップS72)、これ以上の探索では精度改善の見込みがないと判断し、この時点の(N,S)の組み合わせを最適値として選択する(ステップS78)。
ステップS70において、精度算出部14は、前回よりも低い精度Aであると判定した場合、学習時間T(N,S)のモデルの頂点(変曲点)から下った地点にいると判断し、ステップサイズを小さくし、ステップ方向(探索する方向)を逆方向にする(ステップS74)。次に、学習時間算出部13は、この時点でのステップサイズが予め定められた最小値と等しいかを判定する(ステップS76)。学習時間算出部13は、この時点でのステップサイズが最小値と異なると判定した場合、ステップS64に戻り、ステップS64以降の処理を繰り返す。
一方、学習時間算出部13は、この時点でのステップサイズが最小値と等しいと判定した場合、ウィンドウサイズN及びサンプリングレートSの最適値が得られたと判断し、この時点での(N,S)の組み合わせを最適値として選択し(ステップS78)、本処理を終了する。
これにより、図21の(a)の「最適解」に示すように、学習スピードTS(N,S)が入力レートR以下になる制約を表した最適線上のウィンドウサイズN及びサンプリングレートSの最適値(N4、S4)を算出することができる。
これは、図21の(b)の「最適解」に示すように、(N,S)の組み合わせの最適値を算出するとともに、サンプリングレートSを上昇させても、ある程度のところで精度Aの改善が見られない場合には処理を打切り、無駄な探索処理を繰り返さないことを示す。
また、図21の(c)の「最適解」に示すように、学習スピードTS(N,S)が入力レートR以下になる制約の下、ウィンドウサイズN及びサンプリングレートSの最適値が求められる。
(左探索)
次に、ステップS62から左側に分岐するステップ群により実行される、ウィンドウサイズNとサンプリングレートSの左探索について説明する。学習時間算出部13は、ステップS62においてウィンドウサイズNを固定し、学習スピードTS(N,S)=この時点の入力レートRとなるサンプリングレートSnextを探索する。この結果、図22の(a)の(1)に示すように、スタート地点からウィンドウサイズNを変えずにサンプリングレートSを変化させ、学習時間T(N,S)のモデルに従い到達した点が選択される。このとき、学習スピードTS(N,S)が、この時点の入力レートR以下の値になる条件(最適線)の範囲内の点が選択される。
次に、ステップS62から左側に分岐するステップ群により実行される、ウィンドウサイズNとサンプリングレートSの左探索について説明する。学習時間算出部13は、ステップS62においてウィンドウサイズNを固定し、学習スピードTS(N,S)=この時点の入力レートRとなるサンプリングレートSnextを探索する。この結果、図22の(a)の(1)に示すように、スタート地点からウィンドウサイズNを変えずにサンプリングレートSを変化させ、学習時間T(N,S)のモデルに従い到達した点が選択される。このとき、学習スピードTS(N,S)が、この時点の入力レートR以下の値になる条件(最適線)の範囲内の点が選択される。
次に、学習時間算出部13は、サンプリングレートSをサンプリングレートSnextを変えずにウィンドウサイズNを小さくし、学習時間T(N,S)のモデルに従い探索してウィンドウサイズNnextを探索する(ステップS80)。これにより、左探索のステップサイズが定まる。
次に、学習時間算出部13は、この時点のウィンドウサイズNを固定にし、学習スピードTS(N,S)がこの時点の入力レートRと等しくなるサンプリングレートSnextを探索する(ステップS82)。この結果、図22の(a)の(2)に示すように、ウィンドウサイズNを変えずにサンプリングレートSを変化させ、学習時間T(N,S)のモデルに従い到達した点が特定される。
次に、学習時間算出部13は、この時点でのサンプリングレートSnextに基づき、予め定められた精度A(S)のモデルに従い精度A(Snext)を予測する(ステップS84)。次に、精度算出部14は、前回よりも低い精度Aかを判定する(ステップS86)。精度算出部14は、前回よりも低い精度Aでないと判定した場合、この時点のウィンドウサイズNを固定し、学習スピードTS(N,S)がこの時点の入力レートRと等しくなるサンプリングレートSnextを探索する(ステップS88)。この結果、サンプリングレートSnextが見つかった場合(ステップS90:「Yes」)、学習時間算出部13は、ステップS80に戻り、ステップS80以降の処理を繰り返す。
一方、ステップS88においてサンプリングレートSnextが見つからなかった場合(ステップS90:「No」)、または、ステップS86において精度Aが前回よりも低いと判定された場合、精度算出部14は、ステップサイズを小さくし、ステップ方向(探索する方向)を逆方向にする(ステップS92)。
次に、学習時間算出部13は、この時点でのステップサイズが予め定められた最小値と等しいかを判定する(ステップS94)。学習時間算出部13は、この時点でのステップサイズが最小値と異なると判定した場合、ステップS80に戻り、ステップS80以降の処理を繰り返す。
一方、学習時間算出部13は、この時点でのステップサイズが最小値と等しいと判定した場合、ウィンドウサイズN及びサンプリングレートSの最適値が得られたと判断し、この時点での(N,S)の組み合わせを最適値として選択し(ステップS96)、本処理を終了する。
これにより、図22の(a)の「最適解」に示すように、学習スピードTS(N,S)が入力レートR以下になる制約を表した最適線上のウィンドウサイズN及びサンプリングレートSの最適値を算出することができる。これにより、図20に示す右探索で得られた最適値M1と、左探索で得られた最適値M2とが選択された状態となる。
学習時間がT(N)=log(N)のような形式の場合、サンプリングレートSをいくら増やしても、僅かな精度改善しか見られない場合がある。これに対して、本実施形態に係る探索方法によれば、ステップS72に示すように精度改善の見込みが一定の閾値より小さければ、それ以上にサンプリングレートSを大きくして処理を続行することを避けて、この時点のウィンドウサイズN及びサンプリングレートSの値を最適値にすることができる。
具体的には、サンプリングレートSが高ければ高いほど精度A(S)は上がる。しかしながら、場合によっては無条件にサンプリングレートSを高くしない方が望ましい。例えば学習時間がT(N)=log(N)のような関数の場合、無条件にSを大きくしても、それに合わせてNを大きくすれば、学習スピードTS(N,S)を入力レートRと同等にすることができるが、一回の差分の学習時間も大きくなる。このため、モデルの鮮度が失われる。
しかし、精度もA(S)=log(S)のように、サンプリングレートSが増えれば増えるほど、精度A(S)の改善が小さくなる。このため、一定のサンプリングレートSを超えれば、サンプリングレートAを増やしても効果がほとんど見られなくなる。よって、本実施形態のように、精度A(S)の改善を見通した(N,S)、ウィンドウサイズN及びサンプリングレートSの最適値の選択が好ましい。
[ウィンドウサイズ/サンプリングレートの最適化制御処理]
最後に、ウィンドウサイズN及びサンプリングレートSの最適化と差分学習装置2の制御処理について、図23を参照しながら説明する。
最後に、ウィンドウサイズN及びサンプリングレートSの最適化と差分学習装置2の制御処理について、図23を参照しながら説明する。
本処理が開始されると、最適化部15は、現状の入力レートRに基づき、ウィンドウサイズN及びサンプリングレートSの最適値(Nmax、Smax)の組み合わせを設定する(ステップS100)。最適化部15は、図19において右探索の結果得られた最適値と左探索の結果得られた最適値とのうち、精度Sが高い最適値をこの時点でのウィンドウサイズNの最適値Nmax及びサンプリングレートSの最適値Smaxとする。
ただし、最適化部15は、二つのウィンドウサイズN及びサンプリングレートSの最適値のいずれか(例えば、図20では最適値M1,M2のいずれか)を用いて差分学習装置2を制御してもよい。
次に、最適化部15は、入力バッファー2bのウィンドウサイズNを設定されたウィンドウサイズNmaxに変更し(ステップS102)、入力バッファー2bに保持するデータ量を増減させる。
次に、サンプラ2cのサンプリングレートSを最適化部15は、設定されたサンプリングレートSmaxに変更し(ステップS104)、入力バッファー2bから出力されたデータのうち、サンプラ2cがサンプリングするデータ量を増減させる。
以上に説明したように、本実施形態に係る差分学習管理装置1によれば、入力レートRと学習時間Tの予測に基づき、最適なウィンドウサイズNとサンプリングレートSとの組み合わせ(S,N)が選択される。具体的には、サンプリングレートSを下げて差分学習の処理速度を上げつつ、ウィンドウサイズNも変えて学習の精度Aが最高となる組合せを見つける。
これにより、差分学習において入力レートRに応じた学習時間Tの制限範囲内で、つまり、学習時間Tが入力データの入力バッファー2bへの蓄積時間を越えない範囲で、ウィンドウサイズN及びサンプリングレートSを可変に設定する。この結果、図24に一例を示すように、精度と学習時間とのバランスを考慮しながら、ウィンドウサイズN及びサンプリングレートSを適正値に調整することで、精度の高い差分学習の結果を得ることができる。
(多項式回帰を使った場合のNmaxとSmaxの定式化)
なお、ウィンドウサイズNとサンプリングレートSとの最適化の手法に関しては、予め定式化した数式を用いて行う手法と、汎用的なソルバーを使う手法がある。つまり、上記で説明したウィンドウサイズNとサンプリングレートSとの最適化の手法は、一例でありこれに限らない。例えば、学習時間Tのモデル式(A)及び精度Aのモデル式(B)は、各ファクターを算出する際の方法の一例であり、これに限らない。例えば、下記の式(1)と(2)を使用して、ウィンドウサイズの最大値Nmaxとサンプリングレートの最大値Smaxとを、k2とk0とに基づき直接計算してもよい。学習時間T(N')=k2(N')2+k0以外の形式であっても、同様にしてNmaxとSmaxとを定式化することで、直接計算することができる。
・学習時間:T
T(N,S)=k2(M+S.N)2+k0(Mはモデルのサイズ)
k2とk0とは実行時に以下の形式の多項回帰式から算出されている。
T(N')=k2(N')2+k0(N'=M+S×N)
・学習スピード:TS(N,S)=N/T(N,S)
実行時に(入力レートRが変わる度に)、学習スピードTS(N,S)が入力レートRと同等になるような、各(N,S)の組合わせのうち、精度を最大化する最適なウィンドウサイズとサンプリングレートとの組合せ(Nmax,Smax)を次のように求める。
(多項式回帰を使った場合のNmaxとSmaxの定式化)
なお、ウィンドウサイズNとサンプリングレートSとの最適化の手法に関しては、予め定式化した数式を用いて行う手法と、汎用的なソルバーを使う手法がある。つまり、上記で説明したウィンドウサイズNとサンプリングレートSとの最適化の手法は、一例でありこれに限らない。例えば、学習時間Tのモデル式(A)及び精度Aのモデル式(B)は、各ファクターを算出する際の方法の一例であり、これに限らない。例えば、下記の式(1)と(2)を使用して、ウィンドウサイズの最大値Nmaxとサンプリングレートの最大値Smaxとを、k2とk0とに基づき直接計算してもよい。学習時間T(N')=k2(N')2+k0以外の形式であっても、同様にしてNmaxとSmaxとを定式化することで、直接計算することができる。
・学習時間:T
T(N,S)=k2(M+S.N)2+k0(Mはモデルのサイズ)
k2とk0とは実行時に以下の形式の多項回帰式から算出されている。
T(N')=k2(N')2+k0(N'=M+S×N)
・学習スピード:TS(N,S)=N/T(N,S)
実行時に(入力レートRが変わる度に)、学習スピードTS(N,S)が入力レートRと同等になるような、各(N,S)の組合わせのうち、精度を最大化する最適なウィンドウサイズとサンプリングレートとの組合せ(Nmax,Smax)を次のように求める。
学習スピードTS(N,S)と入力レートRが等しくなる条件から、精度A=F(N,k2,k0)の関数を予め(実行前に)抽出する。さらに、S(N,k2,k0)の微分関数S'(N,k2,k0)=ds(N,k2,k0)/dNを求める。そして、S'(N,k2,k0)が0となるNmax(k2,k0)の関数を予め(実行前)求めることで、実行時の回帰処理で決まったk2とk0とを使ってNの最適値Nmaxを単純に計算する。
例えば、学習スピードTS(N,S)=入力レートRの条件から以下のようにS(N,k2,k0)の関数を予め(実行前に)抽出しておく。具体的には、以下の式(1)及び式(2)に基づき式(3)が得られる。式(3)に基づき、式(4)で示すS(N,k2,k0)の関数が得られる。
上記S(N)の微分関数S'(N,k2,k0)=ds(N,k2,k0)/dNを計算することで以下の式(5)が得られる。そして、式(6)で示すように微分関数S'(N,k2,k0)が0となるNmax(k2,k0)の関数を、式(5)及び式(6)に基づき予め(実行前)求める。これにより、式(7)に示すように微分関数S'(N,k2,k0)が0となるNmax(k2,k0)の関数が得られる。これにより、実行時の回帰処理で決まったk2とk0とに基づきウィンドウサイズNの最適値Nmax(k2,k0)が算出される。
式(7)に基づき算出された最適値Nmax(k2,k0)を式(8)に代入することで、サンプリングレートSの最適値Smax(k2,k0)が算出される。
(ハードウェア構成例)
最後に、本実施形態に係る差分学習管理装置1のハードウェア構成例について、図15を参照して説明する。差分学習管理装置1は、入力装置101、表示装置102、外部I/F103、RAM(Random Access Memory)104、ROM(Read Only Memory)105、CPU(Central Processing Unit)106、通信I/F107、及びHDD(Hard Disk Drive)108を備える。各部はバスBで相互に接続されている。
最後に、本実施形態に係る差分学習管理装置1のハードウェア構成例について、図15を参照して説明する。差分学習管理装置1は、入力装置101、表示装置102、外部I/F103、RAM(Random Access Memory)104、ROM(Read Only Memory)105、CPU(Central Processing Unit)106、通信I/F107、及びHDD(Hard Disk Drive)108を備える。各部はバスBで相互に接続されている。
入力装置101は、キーボードやマウスなどを含み、差分学習管理装置1に各操作信号を入力するのに用いられる。表示装置102は、ディスプレイなどを含み、各種の処理結果を表示する。
通信I/F107は、差分学習管理装置1をネットワークに接続するインタフェースである。これにより、差分学習管理装置1は、通信I/F107を介して、他の機器とデータ通信を行うことができる。
HDD108は、プログラムやデータを格納している不揮発性の記憶装置である。格納されるプログラムやデータには、装置全体を制御する基本ソフトウェア及びアプリケーションソフトウェアがある。例えば、HDD108には、各種のDB情報やプログラム等が格納されている。
外部I/F103は、外部装置とのインタフェースである。外部装置には、記録媒体103aなどがある。これにより、差分学習管理装置1は、外部I/F103を介して記録媒体103aの読み取り及び/又は書き込みを行うことができる。記録媒体103aには、CD(Compact Disk)、及びDVD(Digital Versatile Disk)、ならびに、SDメモリカード(SD Memory card)やUSBメモリ(Universal Serial Bus memory)などがある。
ROM105は、電源を切っても内部データを保持することができる不揮発性の半導体メモリ(記憶装置)である。ROM105には、ネットワーク設定などのプログラムやデータが格納されている。RAM104は、プログラムやデータを一時保持する揮発性の半導体メモリ(記憶装置)である。CPU106は、上記記憶装置(例えば「HDD108」や「ROM105」など)から、プログラムやデータをRAM104上に読み出し、処理を実行することで、装置全体の制御や搭載機能を実現する演算装置である。
上記ハードウェア構成により、本実施形態に係る差分学習管理装置1は、差分学習装置2の管理を行うことができる。例えば、CPU106が、ROM105やHDD108内に格納されたデータ及びプログラムを用いてウィンドウサイズ/サンプリングレート(N/S)の最適化処理を実行する。この結果、本実施形態では、差分学習装置2にて入力レートに応じた学習時間の制限範囲内で、ウィンドウサイズ及びサンプリングレートを可変に設定することで、学習精度の高い学習結果を得ることができる。なお、学習履歴情報テーブル121、学習時間予測モデルテーブル122、精度履歴情報テーブル123及び精度予測モデルテーブル124に関する情報は、RAM104、HDD108、又はネットワークを介し差分学習管理装置1に接続されるクラウド上のサーバー等に格納され得る。
以上、差分学習管理プログラム、差分学習管理装置及び差分学習管理方法を上記実施形態により説明した。しかしながら、本発明にかかる差分学習管理プログラム、差分学習管理装置及び差分学習管理方法は上記実施形態に限定されるものではなく、本発明の範囲内で種々の変形及び改良が可能である。また、上記複数の実施形態に記載された事項は、矛盾しない範囲で組み合わせることができる。また、上記差分学習管理装置の各機能は、ハードウェアにより構成されてもよく、ソフトウェアにより構成されてもよく、ハードウェアとソフトウェアとを組み合わせて構成されてもよい。
以上の説明に関し、更に以下の項を開示する。
(付記1)
順次入力される入力データから、設定されたウィンドウサイズ及びサンプリングレートにより抽出したデータに対する差分学習処理をコンピュータに実行させる差分学習管理プログラムであって、
前記ウィンドウサイズと前記抽出したデータに対する学習時間とを対応付けた学習履歴情報と、前記サンプリングレートとを記憶し、
前記入力データのデータレートを計測し、
前記計測したデータレートと前記学習履歴情報と前記サンプリングレートに基づき、ウィンドウサイズ及びサンプリングレートを算出する、
差分学習管理プログラム。
(付記2)
前記学習履歴情報に基づき、学習時間のモデルを生成し、
前記計測したデータレートに基づき、前記学習時間のモデルから前記ウィンドウサイズ及びサンプリングレートを算出する、
付記1に記載の差分学習管理プログラム。
(付記3)
前記設定されたサンプリングレートに応じた差分学習の精度が所定の閾値以下の場合、前記ウィンドウサイズ及びサンプリングレートの算出を終了し、最後に算出されたウィンドウサイズ及びサンプリングレートを設定する、
付記1又は2に記載の差分学習管理プログラム。
(付記4)
順次入力される入力データから、設定されたウィンドウサイズ及びサンプリングレートにより抽出したデータに対する差分学習を行う差分学習装置を管理する差分学習管理装置であって、
前記ウィンドウサイズと前記抽出したデータに対する学習時間とを対応付けた学習履歴情報と、前記サンプリングレートとを記憶する記憶部と、
前記入力データのデータレートを計測する入力レート計測部と、
前記計測したデータレートと前記学習履歴情報と前記サンプリングレートに基づき、ウィンドウサイズ及びサンプリングレートを算出する算出部と、
を有する差分学習管理装置。
(付記5)
前記算出部は、
前記学習履歴情報に基づき、学習時間のモデルを生成し、
前記計測したデータレートに基づき、前記学習時間のモデルから前記ウィンドウサイズ及びサンプリングレートを算出する、
学習時間算出部を有する、
付記4に記載の差分学習管理装置。
(付記6)
前記算出部は、
前記設定されたサンプリングレートに応じた差分学習の精度が所定の閾値以下の場合、前記ウィンドウサイズ及びサンプリングレートの算出を終了し、最後に算出されたウィンドウサイズ及びサンプリングレートを設定する、
精度算出部を有する、
付記4又は5に記載の差分学習管理装置。
(付記7)
順次入力される入力データから、設定されたウィンドウサイズ及びサンプリングレートにより抽出したデータに対する差分学習処理をコンピュータが実行する差分学習管理方法であって、
前記ウィンドウサイズと前記抽出したデータに対する学習時間とを対応付けた学習履歴情報と、前記サンプリングレートとを記憶し、
前記入力データのデータレートを計測し、
前記計測したデータレートと前記学習履歴情報と前記サンプリングレートに基づき、ウィンドウサイズ及びサンプリングレートを算出する、
差分学習管理方法。
(付記8)
前記学習履歴情報に基づき、学習時間のモデルを生成し、
前記計測したデータレートに基づき、前記学習時間のモデルから前記ウィンドウサイズ及びサンプリングレートを算出する、
付記7に記載の差分学習管理方法。
(付記9)
前記設定されたサンプリングレートに応じた差分学習の精度が所定の閾値以下の場合、前記ウィンドウサイズ及びサンプリングレートの算出を終了し、最後に算出されたウィンドウサイズ及びサンプリングレートを設定する、
付記7又は8に記載の差分学習管理方法。
(付記1)
順次入力される入力データから、設定されたウィンドウサイズ及びサンプリングレートにより抽出したデータに対する差分学習処理をコンピュータに実行させる差分学習管理プログラムであって、
前記ウィンドウサイズと前記抽出したデータに対する学習時間とを対応付けた学習履歴情報と、前記サンプリングレートとを記憶し、
前記入力データのデータレートを計測し、
前記計測したデータレートと前記学習履歴情報と前記サンプリングレートに基づき、ウィンドウサイズ及びサンプリングレートを算出する、
差分学習管理プログラム。
(付記2)
前記学習履歴情報に基づき、学習時間のモデルを生成し、
前記計測したデータレートに基づき、前記学習時間のモデルから前記ウィンドウサイズ及びサンプリングレートを算出する、
付記1に記載の差分学習管理プログラム。
(付記3)
前記設定されたサンプリングレートに応じた差分学習の精度が所定の閾値以下の場合、前記ウィンドウサイズ及びサンプリングレートの算出を終了し、最後に算出されたウィンドウサイズ及びサンプリングレートを設定する、
付記1又は2に記載の差分学習管理プログラム。
(付記4)
順次入力される入力データから、設定されたウィンドウサイズ及びサンプリングレートにより抽出したデータに対する差分学習を行う差分学習装置を管理する差分学習管理装置であって、
前記ウィンドウサイズと前記抽出したデータに対する学習時間とを対応付けた学習履歴情報と、前記サンプリングレートとを記憶する記憶部と、
前記入力データのデータレートを計測する入力レート計測部と、
前記計測したデータレートと前記学習履歴情報と前記サンプリングレートに基づき、ウィンドウサイズ及びサンプリングレートを算出する算出部と、
を有する差分学習管理装置。
(付記5)
前記算出部は、
前記学習履歴情報に基づき、学習時間のモデルを生成し、
前記計測したデータレートに基づき、前記学習時間のモデルから前記ウィンドウサイズ及びサンプリングレートを算出する、
学習時間算出部を有する、
付記4に記載の差分学習管理装置。
(付記6)
前記算出部は、
前記設定されたサンプリングレートに応じた差分学習の精度が所定の閾値以下の場合、前記ウィンドウサイズ及びサンプリングレートの算出を終了し、最後に算出されたウィンドウサイズ及びサンプリングレートを設定する、
精度算出部を有する、
付記4又は5に記載の差分学習管理装置。
(付記7)
順次入力される入力データから、設定されたウィンドウサイズ及びサンプリングレートにより抽出したデータに対する差分学習処理をコンピュータが実行する差分学習管理方法であって、
前記ウィンドウサイズと前記抽出したデータに対する学習時間とを対応付けた学習履歴情報と、前記サンプリングレートとを記憶し、
前記入力データのデータレートを計測し、
前記計測したデータレートと前記学習履歴情報と前記サンプリングレートに基づき、ウィンドウサイズ及びサンプリングレートを算出する、
差分学習管理方法。
(付記8)
前記学習履歴情報に基づき、学習時間のモデルを生成し、
前記計測したデータレートに基づき、前記学習時間のモデルから前記ウィンドウサイズ及びサンプリングレートを算出する、
付記7に記載の差分学習管理方法。
(付記9)
前記設定されたサンプリングレートに応じた差分学習の精度が所定の閾値以下の場合、前記ウィンドウサイズ及びサンプリングレートの算出を終了し、最後に算出されたウィンドウサイズ及びサンプリングレートを設定する、
付記7又は8に記載の差分学習管理方法。
1:差分学習管理装置
2:差分学習装置
2b:入力バッファー
2c:サンプラ
2e:差分学習器
11:入力レート計測部
12:記憶部
13:学習時間算出部
14:精度算出部
15:最適化部
121:学習履歴情報テーブル
122:学習時間予測モデルテーブル
123精度履歴情報テーブル
124:精度予測モデルテーブル
131:学習時間計測部
132:学習時間モデル化部
133:学習時間予測部
141:精度計測部
142:精度モデル化部
143:精度予測部
N:ウィンドウサイズ
S:サンプリングレート
R:入力レート
2:差分学習装置
2b:入力バッファー
2c:サンプラ
2e:差分学習器
11:入力レート計測部
12:記憶部
13:学習時間算出部
14:精度算出部
15:最適化部
121:学習履歴情報テーブル
122:学習時間予測モデルテーブル
123精度履歴情報テーブル
124:精度予測モデルテーブル
131:学習時間計測部
132:学習時間モデル化部
133:学習時間予測部
141:精度計測部
142:精度モデル化部
143:精度予測部
N:ウィンドウサイズ
S:サンプリングレート
R:入力レート
Claims (5)
- 順次入力される入力データから、設定されたウィンドウサイズ及びサンプリングレートにより抽出したデータに対する差分学習処理をコンピュータに実行させる差分学習管理プログラムであって、
前記ウィンドウサイズと前記抽出したデータに対する学習時間とを対応付けた学習履歴情報と、前記サンプリングレートとを記憶し、
前記入力データのデータレートを計測し、
前記計測したデータレートと前記学習履歴情報と前記サンプリングレートに基づき、ウィンドウサイズ及びサンプリングレートを算出する、
差分学習管理プログラム。 - 前記学習履歴情報に基づき、学習時間のモデルを生成し、
前記計測したデータレートに基づき、前記学習時間のモデルから前記ウィンドウサイズ及びサンプリングレートを算出する、
請求項1に記載の差分学習管理プログラム。 - 前記設定されたサンプリングレートに応じた差分学習の精度が所定の閾値以下の場合、前記ウィンドウサイズ及びサンプリングレートの算出を終了し、最後に算出されたウィンドウサイズ及びサンプリングレートを設定する、
請求項1又は2に記載の差分学習管理プログラム。 - 順次入力される入力データから、設定されたウィンドウサイズ及びサンプリングレートにより抽出したデータに対する差分学習を行う差分学習装置を管理する差分学習管理装置であって、
前記ウィンドウサイズと前記抽出したデータに対する学習時間とを対応付けた学習履歴情報と、前記サンプリングレートとを記憶する記憶部と、
前記入力データのデータレートを計測する入力レート計測部と、
前記計測したデータレートと前記学習履歴情報と前記サンプリングレートに基づき、ウィンドウサイズ及びサンプリングレートを算出する算出部と、
を有する差分学習管理装置。 - 順次入力される入力データから、設定されたウィンドウサイズ及びサンプリングレートにより抽出したデータに対する差分学習処理をコンピュータが実行する差分学習管理方法であって、
前記ウィンドウサイズと前記抽出したデータに対する学習時間とを対応付けた学習履歴情報と、前記サンプリングレートとを記憶し、
前記入力データのデータレートを計測し、
前記計測したデータレートと前記学習履歴情報と前記サンプリングレートに基づき、ウィンドウサイズ及びサンプリングレートを算出する、
差分学習管理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015000885A JP2016126596A (ja) | 2015-01-06 | 2015-01-06 | 差分学習管理プログラム、差分学習管理装置及び差分学習管理方法 |
US14/970,728 US20160196506A1 (en) | 2015-01-06 | 2015-12-16 | Incremental learning management device, incremental learning management method and computer readable recording medium storing incremental learning management program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015000885A JP2016126596A (ja) | 2015-01-06 | 2015-01-06 | 差分学習管理プログラム、差分学習管理装置及び差分学習管理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016126596A true JP2016126596A (ja) | 2016-07-11 |
Family
ID=56286704
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015000885A Pending JP2016126596A (ja) | 2015-01-06 | 2015-01-06 | 差分学習管理プログラム、差分学習管理装置及び差分学習管理方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20160196506A1 (ja) |
JP (1) | JP2016126596A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018041443A (ja) * | 2016-07-14 | 2018-03-15 | 株式会社シーサイドジャパン | ディープラーニング人工神経網基盤のタスク提供プラットフォーム |
JP2019067272A (ja) * | 2017-10-04 | 2019-04-25 | 富士通株式会社 | 学習プログラム、学習装置及び学習方法 |
KR102204958B1 (ko) * | 2019-10-28 | 2021-01-20 | 삼성에스디에스 주식회사 | 의료 검사 결과 데이터의 처리 방법 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200175384A1 (en) * | 2018-11-30 | 2020-06-04 | Samsung Electronics Co., Ltd. | System and method for incremental learning |
-
2015
- 2015-01-06 JP JP2015000885A patent/JP2016126596A/ja active Pending
- 2015-12-16 US US14/970,728 patent/US20160196506A1/en not_active Abandoned
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018041443A (ja) * | 2016-07-14 | 2018-03-15 | 株式会社シーサイドジャパン | ディープラーニング人工神経網基盤のタスク提供プラットフォーム |
JP2019067272A (ja) * | 2017-10-04 | 2019-04-25 | 富士通株式会社 | 学習プログラム、学習装置及び学習方法 |
KR102204958B1 (ko) * | 2019-10-28 | 2021-01-20 | 삼성에스디에스 주식회사 | 의료 검사 결과 데이터의 처리 방법 |
Also Published As
Publication number | Publication date |
---|---|
US20160196506A1 (en) | 2016-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10565516B2 (en) | Updating prediction model | |
WO2018039011A1 (en) | Asychronous training of machine learning model | |
JP2012244897A (ja) | 短期電力負荷を予測する方法及び装置 | |
JP2016126596A (ja) | 差分学習管理プログラム、差分学習管理装置及び差分学習管理方法 | |
WO2012149705A1 (zh) | 一种网络流量的长期预测方法及装置 | |
KR20210017342A (ko) | 과거 데이터에 기초한 시계열 예측 방법 및 장치 | |
US8327196B2 (en) | Identifying an optimized test bit pattern for analyzing electrical communications channel topologies | |
JP7173234B2 (ja) | 情報処理に用いられる方法、装置、デバイス及び記憶媒体 | |
JP2022088556A (ja) | 量子測定機器の較正方法および装置、電子機器ならびに媒体 | |
CN112764660A (zh) | 用于数据搬移的方法、设备和计算机可读存储介质 | |
JP5791555B2 (ja) | 状態追跡装置、方法、及びプログラム | |
WO2019224909A1 (ja) | パラメータ選択方法、パラメータ選択プログラム、及び情報処理装置 | |
JP6203313B2 (ja) | 特徴選択装置、特徴選択方法およびプログラム | |
US11734256B2 (en) | Anomaly detection method and non-transitory computer-readable recording medium | |
CN118414621A (zh) | 使用预算感知的贝叶斯优化的超参数选择 | |
CN112784165B (zh) | 关联关系预估模型的训练方法以及预估文件热度的方法 | |
JP2023061477A (ja) | プログラム、データ処理方法及びデータ処理装置 | |
JP2023512508A (ja) | 異なる時定数を使用するモーメント推定を用いた学習 | |
CN113641905B (zh) | 模型训练方法、信息推送方法、装置、设备及存储介质 | |
US8135563B2 (en) | Apparatus and method for evaluating the performance of systems having time-varying output characteristics | |
CN114442904B (zh) | 用于管理存储系统的方法、设备和计算机程序产品 | |
KR102413753B1 (ko) | 정보 처리 장치, 정보 처리 방법 및 기록 매체에 저장된 정보 처리 프로그램 | |
JP7375922B2 (ja) | 推定方法、推定装置及びプログラム | |
JP6740193B2 (ja) | パラメータ推定装置、パラメータ推定方法及びパラメータ推定プログラム | |
JP6183359B2 (ja) | 設計支援装置、設計支援方法及びプログラム |