【新規性喪失の例外の表示】特許法第30条第2項適用 平成27年6月26日 http://link.springer.com/article/10.1007%2Fs00521−015−1955−3を通じて発表
【文献】
杉浦 孔明 外2名,「Deep Recurrent Neural Networkによる環境モニタリングデータの予測」,一般社団法人 人工知能学会 第29回全国大会論文集CD−ROM [CD−ROM],人工知能学会,2015年 6月12日,2C3−OS−06b−3,pp.1−4
(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0022】
以下、学習装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
【0023】
(実施の形態1)
本実施の形態において、プレトレーニングにおいてDPTを用いた場合であり、ファインチューニングにおいてDRNNを用いた場合に、結果値に対する関連度が予め決められた条件を満たすほど小さい1個以上の特徴量の影響を無くす特徴量削除処理を行い、学習データを取得する学習装置について説明する。
【0024】
また、本実施の形態において、1個または2個以上の時系列の特徴量群である2個以上の各部分時系列に対して、学習の回数に応じて、変化する重要度を与え、重要度に応じてネットワークの重みを変化させながら、複数回繰り返して、オートエンコーダの学習を行う学習装置について説明する。
【0025】
さらに、本実施の形態において、測定データとして、PM2.5等の環境モニタリングデータを用いて、学習データを取得する学習装置について説明する。
【0026】
図1は、本実施の形態における学習装置1のブロック図である。学習装置1は、ベクトルデータ格納部11、学習データ格納部12、プレトレーニング部13、ファインチューニング部14、および蓄積部15を備える。
【0027】
ベクトルデータ格納部11は、2つ以上のベクトルデータが格納される。2つ以上のベクトルデータは、時系列のベクトルデータであり、時系列の順序を保っている。ベクトルデータは、2個以上の特徴量である特徴量群と結果を示す結果値とを有する。なお、ベクトルデータは、例えば、時刻を示す時刻情報に対応付いている。ベクトルデータと時刻情報とが対応付いていることは、ベクトルデータが時刻情報を含むことでも良い。また、結果値も特徴量の一つである、と考えても良い。また、特徴量は、例えば、PM2.5の飛散量、予め決められた1都市または2都市以上の各近隣都市のPM2.5の飛散量、風速、気温、風向き、日射量、湿度、降雨量等である。また、PM2.5の飛散量は、単にPM2.5と言う場合がある。
【0028】
学習データ格納部12は、学習データを格納し得る。学習データは、2個以上の時系列のベクトルデータを学習して得られたDRNNである。
【0029】
また、学習データは、結果値に対する関連度が予め決められた条件を満たすほど小さい1個以上の特徴量を特徴量群から除いた特徴量群と結果値とを有するベクトルデータであり、時系列の2つ以上のベクトルデータを学習して得られたDRNNである。
【0030】
プレトレーニング部13は、学習データを構成するために、DRNNの層ごとの学習を、複数回、繰り返して行う。プレトレーニング部13は、オートエンコーダの学習を行う。さらに具体的には、プレトレーニング部13は、2個以上の各部分時系列に対して、学習回数に応じて、変化する重要度を与え、当該重要度を与えられた2個以上の部分時系列であるサンプルを作成し、サンプルを用いて、複数回繰り返して、オートエンコーダの学習を行う。部分時系列とは、2つ以上のベクトルデータの部分集合であり、1個または2個以上の時系列の特徴量群である。なお、学習の回数は、通常、予め決められているが、動的に変化しても良い。学習の回数が動的に変化する場合、例えば、プレトレーニング部13は、前回の学習結果におけるDRNNが有する重みベクトルと、今回の学習結果におけるDRNNが有する重みベクトルとの差異が閾値より小さい場合に、学習を終了するようにする。
【0031】
また、上記の変化する重要度は、学習の回数が進行する場合に、増加する傾向となることは好適である。また、重要度は、0から1の間の値をとるように変化することは好適である。
【0032】
つまり、例えば、プレトレーニング部13は、2個以上の各部分時系列に対して、学習の回数に応じて、変化する重要度であり、0から1の間の値をとり得る重要度であり、学習の回数が進行する場合に、増加する傾向の重要度を与え、重要度を与えられた2個以上の部分時系列であるサンプルを作成し、サンプルを用いて、複数回、オートエンコーダの学習を行い、多層ニューラルネットワークを取得する。
【0033】
さらに具体的には、プレトレーニング部13は、例えば、以下に説明するDPTというアルゴリズムにより、オートエンコーダの学習を行う。つまり、例えば、L時間前までの時系列の観測データを用いて、N時間後のPM2.5等のデータを予測する時系列予測問題では、Nが大きくなるにつれて予測誤差が増加すると考えることが合理的である。そこで、DPTでは、この特徴を利用して学習サンプルを徐々に変化させ、タスクの複雑さを少しずつ増加させる。なお、DPTは、DynPTとも言う。
【0034】
DPTでは、上述したように、プレトテーニングにおけるオートエンコーダの学習を対象とする。そして、今、長さDの時系列ベクトル「x={x
1,・・・,x
D}」が得られ、ベクトルデータ格納部11に蓄積された、とする。なお、ここでは、表記の都合上、特徴量は1次元であるものとする。ただし、実際には多次元の特徴量を扱う。プレトレーニング部13は、入力時系列xを、順序を保ったままη個の部分時系列である部分時系列に分割する。分割されたj(=1,・・・,η)番目の部分時系列z
jは以下の数式1により与えられる。
【0035】
【数1】
ここに、j=1,・・・,ηであり、m(=D/η)は部分集合(部分時系列)の要素数である。
【0036】
各部分時系列において、学習の回数であるエポック数eに応じて変化する重要度w
j(e)∈[0,1]が割り当てられる。ここでは、例えば、重要度は[0,1]に含まれる実数であるものとする。重要度を模式的に示したものが
図2である。
図2において、2個以上の各部分時系列に対して、エポック数eに応じて、重要度の値が0から1の間に変化し、かつエポック数eが進行する場合に、重要度は増加する傾向であることを示す。
【0037】
また、重要度w
j(e)は、以下の数式2のように更新される。
【0039】
ここに、c=ceiling(e/η)、γ=H/η、Hはエポック数の最大値である。プレトレーニング部13は、上記のw
j(e)を用いて各部分時系列を重み付けして結合し、実際の学習に用いるサンプルx
〜(e)を作成する。なお、「x
〜(e)」の「〜」は、「x」の真上に配置される、とする。また、「x
〜(e)」は、以下の数式3で定義される.
【0040】
【数3】
ここで、e=1,・・・,Hである。
【0041】
そして、プレトレーニング部13は、xからx
〜に変換された入力を用いて、Stocastic Gradient Descentにより以下の数式4に示す損失関数L
DPTを最小化する学習パラメータを探索する。
【0043】
ここで、f,gはそれぞれエンコーダ、デコーダである。
【0044】
また、プレトレーニング部13は、DPTを用いた学習終了後に、学習されたDRNNを得る。
【0045】
ファインチューニング部14は、プレトレーニング部13における学習結果から得られるDRNNに対してファインチューニングを行い、ファインチューニング後のDRNNに対して、特徴量削除処理を行う。なお、ファインチューニングは、DRNN全体の最適化を行う処理であり、公知技術である。
【0046】
ここで、特徴量削除処理とは、結果値に対する関連度が予め決められた条件を満たすほど小さい1個以上の特徴量を決定し、決定した1個以上の特徴量の影響を無くす処理である。特徴量削除処理は、DRNNにおいて、決定された1個以上の各特徴量からのリンクの重みをゼロにする処理でも良い。また、特徴量削除処理は、DRNNにおいて、決定された1個以上の各特徴量を削除する処理でも良い。なお、結果値に対する関連度が予め決められた条件を満たすほど小さい1個以上の特徴量を決定する処理は、例えば、Elastic Net、Ridge、Lasso等が使用可能である。また、Elastic Net等を用いれば、結果値に対する関連度が予め決められた条件を満たすほど小さい1個以上の特徴量を除くことができる。
【0047】
さらに具体的には、ファインチューニング部14は、例えば、以下のようにして、特徴量削除処理を行う。
【0048】
つまり、ファインチューニング部14は、特徴量群に含まれる2個以上の各特徴量ごとに、誤差情報を算出する。そして、ファインチューニング部14は、特徴量群に含まれる2個以上の各特徴量ごとに、特徴量の影響度を算出する。次に、ファインチューニング部14は、誤差情報と影響度とをパラメータとする増加関数によりコストを算出する。そして、コストが予め決められた条件を満たすほど大きい特徴量を、結果値に対する関連度が、予め決められた条件を満たすほど小さい特徴量であるとして、使用しない特徴量であると決定する。なお、誤差情報とは、学習データを用いて予測した結果値である予測結果値と実測した結果値である実測結果値との誤差に関する情報である。また、影響度とは、特徴量の結果値に対する影響の度合いを示す情報である。
【0049】
ファインチューニング部14は、特徴量群に含まれる2個以上の各特徴量に対して、1以上の重みである1種類以上の重みベクトル(θ)ごとに、特徴量群を用いて予測した結果値である予測結果値と実測した結果値である実測結果値との誤差に関する情報である誤差情報を算出する。
【0050】
ファインチューニング部14は、例えば、数式5により、誤差情報を算出する。数式5において、Nは、学習データを構成する元になったベクトルデータの数である。また、数式5において「y
i」は実測結果値である。また、「y〜
i」は予測結果値である。なお、数式5において「y〜
i」の「〜」は「y」の真上に配置されている。また、ファインチューニング部14は、予め格納されている1個以上の予測結果値を読み出すか、1個以上の予測結果値を算出して、1個以上の予測結果値を取得する。また、ファインチューニング部14は、予め格納されている1個以上の実測結果値を読み出す。そして、ファインチューニング部14は、例えば、ベクトルデータごとに、実測結果値と予測結果値の差の2乗を算出し、数式5に従って、誤差情報を算出する。なお、予測結果値「y〜
i」は重みベクトル(θ)を用いて算出される。さらに、予測結果値「y〜
i」を算出する技術は公知技術であるので、詳細な説明は省略する。
【0052】
また、ファインチューニング部14は、特徴量群に含まれる2個以上の各特徴量に対して、1種類以上の重みベクトルごとに、各特徴量から結果値への1個以上の重みをパラメータとする増加関数により、各特徴量の影響度を算出する。
【0053】
ファインチューニング部14は、例えば、数式6により、影響度を算出する。数式6において、λは予め決められた定数である。λは非負値のハイパーパラメータ(nonnegative hyper-parameter)である。また、τは「0<=τ<=1」を満たす定数である。また、θは1個以上の重みの集合であり、1個以上の重みを要素とするベクトルである。θは、(w
1,w
2,・・・,w
n)である。重み「w
1」「w
2」・・・「w
n」は、着目する特徴量から結果値へ繋がっているニューラルネットワークの重みである。
【0055】
なお、ファインチューニング部14が使用する演算式(例えば、数式6)は、使用する特徴量(パラメータ)を減らす働きがある。
【0056】
次に、ファインチューニング部14は、特徴量群に含まれる2個以上の各特徴量に対して、1種類以上の重みベクトルごとに、誤差情報と影響度とをパラメータとする増加関数によりコストを算出する。ファインチューニング部14は、例えば、数式7により、コストを算出する。なお、数式7において、Nは学習サンプル数である。
【0058】
次に、ファインチューニング部14は、算出したコストが予め決められた条件(適宜、第一条件と言う。)を満たす1個以上の重み(θ)に対応するコストが予め決められた条件(適宜、第二条件と言う。)を満たすか否かを判断する。コストが予め決められた条件を満たすか否かは、通常、コストが閾値以上または閾値より大きいことである。
【0059】
ファインチューニング部14は、例えば、コストが最小になる1個以上の重み(θ)に対応するコストが予め決められた条件を満たすか否かを判断することは好適である。なお、例えば、第一条件は、コストが最小であることである。また、第二条件は、例えば、最小のコストが閾値以上であることである。
【0060】
次に、ファインチューニング部14は、コストが予め決められた条件を満たすと判断した特徴量を、使用しない特徴量であると決定する。
【0061】
そして、ファインチューニング部14は、例えば、プレトレーニング部13における学習結果から得られるDRNNに対して、使用しない特徴量であると決定した1個以上の特徴量からのリンクの重みをゼロにする。なお、ファインチューニング部14が最終的に取得するデータも、DRNNである。
【0062】
なお、ファインチューニング部14は、プレトレーニング部13が取得したDRNNに対して、ファインチューニングを行った後、特徴量削除処理を行うことは好適である。ただし、ファインチューニング部14は、プレトレーニング部13が取得したDRNNに対して、特徴量削除処理を行った後、DRNN全体の最適化を行うファインチューニングを実施しても良い。
【0063】
蓄積部15は、ファインチューニング部14が行った処理の結果のDRNNである学習データを蓄積する。蓄積部15は、通常、ローカルの学習データ格納部12に学習データを蓄積するが、外部の装置に学習データを蓄積しても良い。
【0064】
ベクトルデータ格納部11、および学習データ格納部12は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
【0065】
ベクトルデータ格納部11等にベクトルデータ等が記憶される過程は問わない。例えば、記録媒体を介してベクトルデータ等がベクトルデータ格納部11等で記憶されるようになってもよく、通信回線等を介して送信されたベクトルデータ等がベクトルデータ格納部11等で記憶されるようになってもよく、あるいは、入力デバイスを介して入力されたベクトルデータ等がベクトルデータ格納部11等で記憶されるようになってもよい。
【0066】
プレトレーニング部13、ファインチューニング部14、および蓄積部15は、通常、MPUやメモリ等から実現され得る。プレトレーニング部13等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
【0067】
次に、学習装置1の動作について、
図3のフローチャートを用いて説明する。
【0068】
(ステップS301)プレトレーニング部13は、2つ以上のベクトルデータをベクトルデータ格納部11から読み出す。なお、ベクトルデータは、通常、1要素以上の実測値からなる。実測値は、特徴量または結果値である。
【0069】
(ステップS302)プレトレーニング部13は、ステップS301で読み出した2つ以上のベクトルデータを用いて、プレトレーニングを行う。プレトレーニングの処理は、
図4のフローチャートを用いて後述する。
【0070】
(ステップS303)ファインチューニング部14は、ステップS302で構成された学習データ(DRNN)に対して、通常のファインチューニングを行う。通常のファインチューニングは公知技術である。
【0071】
(ステップS304)ファインチューニング部14は、ステップS303でファインチューニングされた結果であるDRNNから、1個以上の特徴量を削減し、処理を終了する。かかる特徴量削減処理は、
図5のフローチャートを用いて後述する。
【0072】
(ステップS305)蓄積部15は、ステップS305で取得された学習済みのDRNN(DPT−DRNNと言っても良い)を、学習データ格納部12に蓄積する。
【0073】
次に、ステップS302のプレトレーニングの処理を、
図4のフローチャートを用いて説明する。なお、学習のエポック数に応じて変化する重要度は、例えば、予めベクトルデータ格納部11に格納されている、とする。
【0074】
(ステップS401)プレトレーニング部13は、2つ以上のベクトルデータから、2個以上の部分時系列を取得する。
【0075】
(ステップS402)プレトレーニング部13は、カウンタiに1を代入する。
【0076】
(ステップS403)プレトレーニング部13は、i番目の学習を行うか否かを判断する。i番目の学習を行うと判断した場合はステップS404に行き、i番目の学習を行わないと判断した場合は上位処理にリターンする。
【0077】
(ステップS404)プレトレーニング部13は、i番目の学習における各部分時系列の重要度を取得する。
【0078】
(ステップS405)プレトレーニング部13は、ステップS404で取得した各部分時系列の重要度を、ステップS401で取得した2個以上の部分時系列に適用し(通常、乗算し)、サンプルを取得する。
【0079】
(ステップS406)プレトレーニング部13は、ステップS405で取得したサンプルと最新のDRNNを用いて、損失関数L
DPTを最小化する学習パラメータを取得し、DRNNに反映させる。なお、最新のDRNNとは、初期値のDRNNまたは前回のループの処理のステップS406で取得されたDRNNである。
【0080】
(ステップS407)プレトレーニング部13は、カウンタiを1、インクリメントし、ステップS403に戻る。
【0081】
次に、ステップS304の特徴量削減処理を、
図5のフローチャートを用いて説明する。
【0082】
(ステップS501)プレトレーニング部13は、カウンタiに1を代入する。
【0083】
(ステップS502)プレトレーニング部13は、削減候補のi番目の特徴量が存在するか否かを判断する。i番目の特徴量が存在する場合はステップS503に行き、i番目の特徴量が存在しない場合は上位処理にリターンする。なお、削減候補の特徴量は、通常、ベクトルデータ格納部11のベクトルデータを構成するすべての要素である。
【0084】
(ステップS503)プレトレーニング部13は、カウンタjに1を代入する。
【0085】
(ステップS504)プレトレーニング部13は、コストを算出する対象の重みベクトルのうち、j番目の重みベクトルを使用するか否かを判断する。j番目の重みベクトルを使用する場合はステップS505に行き、j番目の重みベクトルを使用しない場合はステップS509に行く。
【0086】
(ステップS505)プレトレーニング部13は、j番目の重みベクトルと、ベクトルデータ格納部11のベクトルデータとを用いて、誤差情報を取得する。
【0087】
(ステップS506)プレトレーニング部13は、j番目の重みベクトルと、ベクトルデータ格納部11のベクトルデータとを用いて、影響度を取得する。
【0088】
(ステップS507)プレトレーニング部13は、ステップS505で算出された誤差情報とステップS506で算出された影響度とをパラメータとする増加関数によりコストを算出する。
【0089】
(ステップS508)プレトレーニング部13は、カウンタjを1、インクリメントし、ステップS504に戻る。
【0090】
(ステップS509)プレトレーニング部13は、i番目の特徴量に対して、ステップステップS507で算出された1個または2個以上のコストの中から、最小のコストを取得する。
【0091】
(ステップS510)プレトレーニング部13は、ステップS509で取得された最小のコストが予め決められた条件を満たすか否かを判断する。予め決められた条件を満たす場合はステップS511に行き、予め決められた条件を満たさない場合はステップS512に行く。
【0092】
(ステップS511)プレトレーニング部13は、i番目の特徴量を使用しない特徴量であると決定する。そして、プレトレーニング部13は、DRNNに対して、i番目の特徴量からのリンクの重みをゼロにする、またはi番目の特徴量を削除する。
【0093】
(ステップS512)プレトレーニング部13は、カウンタiを1、インクリメントし、ステップS502に戻る。
【0094】
以上、本実施の形態によれば、より少ない数の時系列の測定データから、精度の高い予測値が得られる学習データを構築できる。
【0095】
なお、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをCD−ROMなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態における学習装置1を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータがアクセス可能な記憶媒体は、2個以上の特徴量である特徴量群と結果を示す結果値とを有するベクトルデータであり、時系列の2つ以上のベクトルデータが格納されるベクトルデータ格納部を具備し、コンピュータを、前記2つ以上のベクトルデータの部分集合であり、1個または2個以上の時系列の特徴量群である2個以上の各部分時系列に対して、学習の回数に応じて、変化する重要度を与え、当該重要度を与えられた2個以上の部分時系列であるサンプルを作成し、当該サンプルを用いて、複数回繰り返して、オートエンコーダの学習を行うプレトレーニング部と、
前記プレトレーニング部における学習結果から得られるDRNNに対してファインチューニングを行い、結果値に対する関連度が予め決められた条件を満たすほど小さい1個以上の特徴量を決定し、前記ファインチューニング後のDRNNに対して、前記決定した1個以上の特徴量の影響を無くす特徴量削除処理を行うファインチューニング部と、前記ファインチューニング部が行った処理の結果のDRNNである学習データを蓄積する蓄積部として機能させるためのプログラムである。
【0096】
また、上記プログラムにおいて、前記プレトレーニング部は、前記2個以上の各部分時系列に対して、学習の回数に応じて、変化する重要度であり、0から1の間の値をとる重要度であり、学習の回数が進行する場合に、増加する傾向の重要度を与え、当該重要度を与えられた2個以上の部分時系列であるサンプルを作成し、当該サンプルを用いて、複数回、オートエンコーダの学習を行い、多層ニューラルネットワークを取得するものとして、コンピュータを機能させるプログラムであることは好適である。
【0097】
(実施の形態2)
本実施の形態において、実施の形態1の学習装置1が取得した学習データを用いた予測装置2について説明する。
【0098】
図6は、本実施の形態における予測装置2のブロック図である。予測装置2は、学習データ格納部12、予測部21、出力部22を備える。
【0099】
学習データ格納部12は、学習装置1が取得した学習データが格納される。この学習データは、上述したDPT−DRNNである。
【0100】
予測部21は、結果値に対する関連度が、予め決められた条件を満たすほど小さい1個以上の特徴量が除かれた2個以上の特徴量である入力特徴量群を学習データに適用し、将来の結果値を取得する。この入力特徴量群は、予測装置2に予め格納されていても良いし、予測装置2が受け付けても良い。なお、予測部21の処理は公知技術であるので、詳細な説明を省略する。
【0101】
予測部21は、通常、MPUやメモリ等から実現され得る。予測部21の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
【0102】
出力部22は、予測部21が取得した結果値を出力する。ここで、出力とは、ディスプレイへの表示、プロジェクターを用いた投影、プリンタでの印字、音出力、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。
【0103】
出力部22は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。出力部22は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
【0104】
次に、予測装置2の動作について、
図7のフローチャートを用いて説明する。
【0105】
(ステップS701)予測部122は使用する入力特徴量群を読み出す。なお、入力特徴量群には、実施の形態1において、学習データを構築する際に使用しないと決定された1個以上の特徴量は含まれない。
【0106】
(ステップS702)予測部122は、ステップS701で読み出した入力特徴量群を、学習データ格納部12の学習データ(DPT−DRNN)に対して適用し、予測結果値を取得する。
【0107】
(ステップS703)出力部13は、ステップS702で取得された予測結果値を出力し、処理を終了する。
【0108】
以下、実施の形態1の学習装置1および本実施の形態2の予測装置2の動作の概要について、
図8の処理の概念図を用いて説明する。なお、本具体例において、PM2.5の値を予測する場合について説明する。
【0109】
学習装置1は、学習フェーズ(
図8の801)において、以下のように、学習フェーズを実行する。
【0110】
つまり、まず、プレトレーニング部13は、2つ以上のベクトルデータ(
図9を用いて後述する)をベクトルデータ格納部11から読み出す。
【0111】
次に、プレトレーニング部13は、読み出した2つ以上のベクトルデータを用いて、上述したDPTのアルゴリズムにより、プレトレーニングを行い、DPT−DRNNを構成する(
図8の8011)。
【0112】
次に、ファインチューニング部14は、DPT−DRNNに対して、ファインチューニングの処理を行い、かつElastic Netにより1個以上の特徴量を削減する処理を行う(8012)。そして、1個以上の特徴量が削減された、学習済みのDPT−DRNNが得られる(8013)。
【0113】
次に、予測装置2の予測部21は、削減済み特徴量(8021)を受け付け、当該削減済み特徴量と、学習装置1によって取得されたDPT−DRNNである学習データを用いて、予測値を取得する(8022)。そして、予測部21が取得した予測値を出力する(8023)。なお、削減済み特徴量は、Elastic Netにより選択された関連が高い特徴量である。
【0114】
(実験結果)
以下、学習装置1および予測装置2の実験について説明する。今、ベクトルデータ格納部11には、
図9に示すような多数のベクトルデータを格納している、とする。ベクトルデータは、予測の対象都市のPM2.5の値、近隣都市のPM2.5の値、風速、風向き、気温、日射量、湿度、降雨量の値(要素)を有する。また、例えば、ベクトルデータ901は、3月1日の正午における測定データであり、時刻「t−3」の時点(例えば、3時間前)におけるPM2.5の値「x
11」、時刻「t−2」の時点(例えば、2時間前)におけるPM2.5の値「x
12」、時刻「t−1」の時点(例えば、1時間前)におけるPM2.5の値「x
13」、時刻「t」の時点(例えば、現在)におけるPM2.5の値「x
14」、時刻「t−3」の時点(例えば、3時間前)における風速「x
15」、時刻「t−2」の時点(例えば、2時間前)における風速「x
16」等を有する。
【0115】
さらに具体的には、本実験において、PM2.5の値、風速、風向き、気温、日射量、湿度については、独立行政法人国立環境研究所により公開されているデータ(http://www.nies.go.jp/igreen/tj_down.html参照)を用いた。また、降雨量の値は気象庁によって提供されたデータを用いた(http://www.jma.go.jp/jma/indexe.html参照)。
【0116】
また、入力特徴量の選択には,VENUSで用いられている入力量を参考に選定した。 また、PM2.5(対象都市)は、予測対象の都市の過去D時間分のデータであり、PM2.5(近隣都市)は対象都市近隣のK個の都市におけるPM2.5の濃度である。用いたデータの例を
図10に示す。
図10の(1)はPM2.5(対象都市)、(2)は降雨量、(3)は風速、(4)は照度である。
【0117】
また、本実験において、52箇所の対象都市は日本各地に分散するよう、県庁所在地を中心に選択した。これらの都市における観測値は公開されており、その中から約2年分のデータを用いた。このうち、学習データ(training set)、検証データ(validation set)、テストデータ(test set)の割合を60%、20%、20%とした。手法のハイパーパラメータはクロスバリデーション(Cross-Validation)により自動的に決定した。パラメータの設定値を
図11にまとめる。なお、データの事前処理として標準的に用いられる外れ値の除去および正規化を行った。
(実験1)
【0118】
上記の状況において、まず、プレトレーニング部13が行うDPTについて、以下のように評価した。
【0119】
つまり、DPT(DynPTとも言う。)と標準的なオートエンコーダ(CanAEとも言う。)とノイズ除去されているオートエンコーダ(DenAEとも言う。)とを比較実験した。なお、標準的なオートエンコーダについては、「Vincent P, Larochelle H, Bengio Y, Manzagol P-A (2008) Extracting and composing robust features with denoising autoencoders. In: Proceedings of the 25th international conference on machine learning, ICML'08, pp 1096-1103, New York, NY, USA. ACM」を参照のこと。また、DenAEについて、「Vincent, P., Larochelle, H., Bengio, Y., and Manzagol, P. A.: Extracting and Composing Robust Features with Denoising Autoencoders, in Proceedings of the 25th International Conference on Machine Learning, ICML '08, pp. 1096-1103, New York, NY, USA (2008), ACM」を参照のこと。
【0120】
本実験では、各ケース(DynPT、CanAE、DenAE)に対して、52都市のPM2.5において、10回実行された。
【0121】
また、評価の尺度として、以下の数式8の二乗平均平方根(RMSE)を使用した。
【0123】
数式8において、「y
i」はPM2.5の真値(実測結果値)である。また、「y^
i」は予測値である。さらに、Nはベクトルデータの数である。なお、予測の良好さについては種々の尺度があり得るが、本実験では、RMSEが小さいことを予測精度が高いとみなす。
【0124】
そして、本実験において、52都市における10回のすべての実行における、RMSEの平均値を、各ケースについて算出した。
【0125】
モデルは、過去の48時間の情報に基づいて、12時間の予測を生成するために、ネットワークのAE層と基本MLP層を積層することによって初期化されたニューラルネットワークである。
【0126】
また、すべてのケースにおいて、ネットワークに対して、プレトレーニングと、確率的勾配降下(stochastic gradient descent)によるファインチューニングが行われた。
【0127】
本実験では、各ケース(DynPT、CanAE、DenAE)に対して、エポック数は200回であった。また、各ケースに対して、プレトレーニングとファインチューニングのための学習率の値は、それぞれ、0.01および0.001に設定された。また、DynPTでは、一時的な部分時系列数(η)は25に設定された。DenAEについて、モデル選択は、欠損率(ν)のいくつかの値に対して行った。ただし、採用したモデルは、欠損率(ν)=0.2の場合である。この欠損率(ν)は、DenAEの文献において、推奨されている値である。
【0128】
以下の
図12は、各ケース(DynPT、CanAE、DenAE)の実験結果である。
図12は、各ケースについて、52都市における10回のすべての実行における、RMSEの平均値を示す。
【0129】
図12によれば、DynPTが、最も優れていることが分かる。また、DenAEは、CanAEよりも劣っている。この結果は、DenAEのような先進的なAEは、画像分類及び他の分野において優れた性能を実現するが、時系列予測等の分野には適さないことを示している。
(実験2)
【0130】
また、実験2において、PM2.5等のデータを予測する時系列予測問題において、4つのニューラルネットワークのアーキテクチャーの中で、最適なアーキテクチャーを決定した。ここで、4つのアーキテクチャーとは、フィードフォワードニューラルネットワーク(FNN)、リカレントニューラルネットワーク(RNN)、ディープフィードフォワードニューラルネットワーク(DFNN)、DRNNである。
【0131】
本実験において、1時間の観測周期で、48時間の過去の観測データを用いて、12時間後のPN2.5の値を予測した。また、各ケースにおいて、上記と同様、52都市のデータに対して、10回、実行した。かかる場合のパラメータは、
図11である。
【0132】
4つのニューラルネットワークのタイプのネットワークトポロジーは、4から9層の範囲のレイヤを有し、各レイヤにおいて、30のノード、および300のノードを有する場合について実験した。各レイヤにおいて、ノード数は同じである必要はないが、本実験では、簡単化のために同じにした。
【0133】
本実験の結果を
図13に示す。
図13の(a)は各レイヤのノード数が30の場合のRMSEを示すグラフであり、
図13の(b)は各レイヤのノード数が300の場合のRMSEを示すグラフである。
図13によれば、層の数が増加すれば、急速に過剰適合(過学習)が発生することが分かる。また、本実験の結果、層の数は、4から7のいずれかが好適であり、さらに4または5層がより良いことが分かる。また、
図13によれば、ノード数は30より300が良いことが分かる。さらに、
図13によれば、DRNNが他の構造より優れていることが分かる。そこで、最も良いアーキテクチャーとトポロジーは、DRNNで、5層のレイヤで、各層のノード数が300であった。
(実験3)
【0134】
実験3では、実験2で取得したDRNNで、5層のレイヤで、各層のノード数が300のニューラルネットワークを用いて、本発明の提案手法(DPT−DRNN)の性能とVENUSの性能とを比較した。
【0135】
VENUSの環境と同じ環境で比較実験をするため、VENUSに与えられる入力と同じ気象データを収集した。収集したデータは、毎時ごとの、PM2.5の濃度、風速、風向、温度、照度、湿度、降雨であった。
【0136】
また、公開されているVENUSの予測結果は連続値でないため、2値分類問題として本発明の提案手法との比較評価を行った。また、上述の52都市に対し、ウェブサイトで公開されているVENUSの予測結果を取得し、1 日平均値の環境基準である35μg/m
3を基準として2値化した。35μg/m
3という基準は、環境基本法第16条第1項において、人の健康の適切な保護を図るために維持されることが望ましい水準として定められている。DPT−DRNNについては、出力を上記の基準で2値化した。また、学習データに含まれていないテストデータとして、2013年12月から2014年2月のデータを用いた。12時間後のPM2.5の予測値について、VENUSとDPT−DRNNの予測精度を比較した。ここで、評価尺度として、適合率(P)、再現率(R)、およびF値(F=2PR/(P+R))を用いた。
図14に評価結果を示す。
図14の値は52都市の平均を示したものである。
図14より、適合率はDPT−DRNNが優れ,再現率はVENUSが優れることがわかる。ただし,適合率と再現率の調和平均であるF値について、DPT−DRNNが優れている、という結果を得た。
【0137】
以上の結果は,これまで難しかった都市におけるPM2.5の予測について,提案手法により良好な結果が得られることを示している。都市のPM2.5は社会活動を含む複雑な関係に影響され得るが、提案手法を用いて都市ごとに周辺の都市の状況を取り込んだモデルを別々に学習させることで、既存システムを超える予測精度が達成可能であることを示唆している。
(実験4)
【0138】
実験4において、データの欠損を前提とした、本手法と他の手法との比較実験を行った。
【0139】
本実験において、
図15に示すような国立環境研究所が公開しているオープンデータを用いた。本データは、環境モニタリングデータであり、21%のデータが欠損している(missing value)。データは、対象都市のPM2.5、近隣都市のPM2.5、風速、風向き、日射量、湿度、降雨量を有する。なお、
図15の矢印は、データの欠損を示す。
【0140】
また、学習装置1の手法を用いた場合のコストの算出には、上述した数式7を用いた。また、本実験において、(1)Ridge、(2)Lasso、(3)Elastic Net(EN)、と(4)本手法とを比較した。(1)から(3)は公知の方法である。(1)はデータの欠損が無いベースライン手法である。(2)については、「Tibshirani R (1994) Regression shrinkage and selection via the lasso. J R Stat Soc Ser B 58:267-288」を参照のこと。また、(3)については、「Zou H, Hastie T (2005) Regularization and variable selection via the elastic net. J R Stat Soc Ser B 67:301-320」を参照のこと。
【0141】
かかる実験結果を
図16に示す。
図16において、「Parameters」は、数式7等に与えたλ、τの値である。「Sparsity」は、スパース度である。「χ/M」は欠損しているセンサの割合(センサのスパース度とも言う)を示す。本手法(4)において、21%のデータ(センサ)が欠損しているにも関わらず、すべてのデータが揃っている(1)と「RMSE」は同等であり、本手法の有効性を示している。
(実験5)
【0142】
PM2.5の濃度は、頻繁に変化しないであろう、と予測できる。かかる仮説を検証するために、実験5において、本手法によるPM2.5の濃度予測と、自己回帰モデル(ARモデル)によるPM2.5の濃度予測とを比較評価した。なお、ARモデルについて、「Whitle P (1951) Hypothesis testing in time series analysis. Statistics. Almqvist and Wiksells」を参照のこと。
【0143】
ARモデルは、多くの場合、時系列を記述するために採用されているランダムプロセスのタイプの表現である。ARモデルは、広く予測モデルと比較するために使用される。ARモデルの出力変数は、何ステップ前に遡るかに依存しており、モデルのオーダーと言われている。なお、ARモデルのオーダーPをAR(P)と記載することとする。
【0144】
また、DRNNのデータと同じデータを使用する場合の最も良いARモデルのオーダーを決定するために、1から10の範囲で実験を行ったところ、最も良いARモデルのオーダーは6(AR(6))であった。
【0145】
そして、AR(6)におけるRMSEは20.8であり、約3倍も、DRNNと比較して悪い結果であった。従って、PM2.5の予測に、ARモデルは使用できないことが分かった。つまり、ARモデルのような単純なモデルには限界があることが分かる。
(実験6)
【0146】
次に、標準的な時系列のベンチマークを実施した。CATSベンチマークといわれるベンチマークを実施した。CATSベンチマークは、「Lendasse A, Oja E, Simula O, Verleysen M (2007) Time series prediction competition: the CATS benchmark. Neurocomputing70(13-15):2325-2329」を参照のこと。
本実験の目標は、5000の観測データのうち、100の欠損値が存在する場合の予測である。
【0147】
本実験において、欠損値は、20の連続した値を有する5組にグループ分けされている。CATSベンチマークにおいて、アルゴリズムの性能を比較するために、平均二乗誤差に基づいた2つのエラー基準が提案されている。2つのエラー基準のうち、第一の基準(E
1)は、各アルゴリズムのランキングのために使用されており、第二の基準(E
2)はモデルプロパティの追加情報のための基準である。そこで、本実験では、第一の基準(E
1)のみを用いた。
【0148】
本実験において、本手法のDRNNと、Kuremotoらによって提案されたRBMに基づく手法(以下、RBMと略記する。)と、ARIMAと、MLPとを比較した。RBMは、2つのRestrictedボルツマンマシンからなるDeep Belief ネットワークベースのモデルを用いている。RBMの詳細については、「Kuremoto T, Kimura S, Kobayashi K, Obayashi M (2014) Time series forecasting using a deep belief network with restricted Boltzmann machines. Neurocomputing 137:47-56」を参照のこと。また、上記のRBMの文献において、RBMは、MLPや線形モデルARIMA等の従来のニューラルネットワークモデルよりも優れていることが報告されている。なお、ARIMAについて、「Box GEP, Jenkins GM (1976) Time series analysis: forecasting and control. Cambridge University Press, Cambridge」を参照のこと。
【0149】
そして、本実験では、
図17に示すように、本手法のモデルDynPTにおけるE
1スコアは1198であり、他のモデルよりも優れていた。
(実験7)
【0150】
上述したように、RMSEは、パラメータλ、τに大きく依存する。そして、本実験において、RMSEとセンサのスパース度とを評価するために、λ={0.01,0.001,...,0.000001}、τ={0.01,...,1}とした。かかる場合の実験結果を
図18に示す。
図18(a)は、λおよびτを変動させた場合のRMSEの変化(単位「100μg/m
3」)を示す。
図18(b)は、λおよびτを変動させた場合の「χ/M」の変化を示す。
図18(b)において、λの値が高いほど、欠損するセンサの数が増加することを示す。
図18(a)は、1つまたは2つのセンサが欠損した場合でも、パラメータによっては、RMSEは大変悪くなる可能性があることを示している。また、λが小さい場合、RMSEは最も小さい値になり、ほぼゼロになる傾向があることが分かる。最小のRMSE値は、λ=1e−4、τ=0.9で検出された。
【0151】
また、本実験において、本ネットワークにとって、好適なハイパーパラメータを検出した。
図19に示すように、本実験において、エポック数(H)を50から400に変動させて、RMSE(単位「μg/m
3」)を算出した。
図19によれば、エポック数が大きくなれば、RMSEは急速に減少し、200以降はあまり変化がないことが分かる。
【0152】
以上、本実施の形態によれば、より少ない数の特徴量の時系列の測定データからでも、精度の高い環境予測値が得られた。
【0153】
なお、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをCD−ROMなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態における予測装置2を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムについて、コンピュータがアクセス可能な記憶媒体は、学習装置1が蓄積した学習データが格納される学習データ格納部を具備し、コンピュータを、結果値に対する関連度が、予め決められた条件を満たすほど小さい1個以上の特徴量を特徴量群から除いた2個以上の特徴量である入力特徴量群を前記学習データに適用し、将来の結果値を取得する予測部と、前記予測部が取得した結果値を出力する出力部として機能させるためのプログラムである。
【0154】
また、
図20は、本明細書で述べたプログラムを実行して、上述した種々の実施の形態の学習装置等を実現するコンピュータの外観を示す。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。
図20は、このコンピュータシステム300の概観図であり、
図21は、システム300のブロック図である。
【0155】
図20において、コンピュータシステム300は、CD−ROMドライブ3012を含むコンピュータ301と、キーボード302と、マウス303と、モニタ304とを含む。
【0156】
図21において、コンピュータ301は、CD−ROMドライブ3012、MPU3013、CD−ROMドライブ3012とMPU3013とに接続されたバス3014、ブートアッププログラム等のプログラムを記憶するためのROM3015、MPU3013に接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのRAM3016、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのハードディスク3017を含む。ここでは、図示しないが、コンピュータ301は、さらに、インターネット(ネットワーク)への接続を提供するネットワークカードを含んでも良い。
【0157】
コンピュータシステム300に、上述した実施の形態の学習装置1等の機能を実行させるプログラムは、CD−ROM3101に記憶されて、CD−ROMドライブ3012に挿入され、さらにハードディスク3017に転送されても良い。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ301に送信され、ハードディスク3017に記憶されても良い。プログラムは実行の際にRAM3016にロードされる。プログラムは、CD−ROM3101または図示しないネットワークから直接、ロードされても良い。
【0158】
プログラムは、コンピュータ301に、上述した実施の形態の学習装置1等の機能を実行させるオペレーティングシステム(OS)、またはサードパーティープログラム等は、必ずしも含まなくても良い。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。コンピュータシステム300がどのように動作するかは周知であり、詳細な説明は省略する。
【0159】
また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
【0160】
また、上記各実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
【0161】
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。