IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ エレメント エーアイ インコーポレイテッドの特許一覧

特表2022-534045全結合層を使用するニューラルネットワーク実行ブロック
<>
  • 特表-全結合層を使用するニューラルネットワーク実行ブロック 図1
  • 特表-全結合層を使用するニューラルネットワーク実行ブロック 図2
  • 特表-全結合層を使用するニューラルネットワーク実行ブロック 図3
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-07-27
(54)【発明の名称】全結合層を使用するニューラルネットワーク実行ブロック
(51)【国際特許分類】
   G06N 3/04 20060101AFI20220720BHJP
【FI】
G06N3/04
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2021569427
(86)(22)【出願日】2020-05-19
(85)【翻訳文提出日】2022-01-21
(86)【国際出願番号】 CA2020050669
(87)【国際公開番号】W WO2020232541
(87)【国際公開日】2020-11-26
(31)【優先権主張番号】62/851,334
(32)【優先日】2019-05-22
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.TENSORFLOW
2.JAVA
(71)【出願人】
【識別番号】521107068
【氏名又は名称】エレメント エーアイ インコーポレイテッド
(74)【代理人】
【識別番号】100094569
【弁理士】
【氏名又は名称】田中 伸一郎
(74)【代理人】
【識別番号】100103610
【弁理士】
【氏名又は名称】▲吉▼田 和彦
(74)【代理人】
【識別番号】100109070
【弁理士】
【氏名又は名称】須田 洋之
(74)【代理人】
【識別番号】100067013
【弁理士】
【氏名又は名称】大塚 文昭
(74)【代理人】
【識別番号】100086771
【弁理士】
【氏名又は名称】西島 孝喜
(74)【代理人】
【識別番号】100109335
【弁理士】
【氏名又は名称】上杉 浩
(74)【代理人】
【識別番号】100120525
【弁理士】
【氏名又は名称】近藤 直樹
(74)【代理人】
【識別番号】100139712
【弁理士】
【氏名又は名称】那須 威夫
(74)【代理人】
【識別番号】100176418
【弁理士】
【氏名又は名称】工藤 嘉晃
(72)【発明者】
【氏名】カルポフ ドミトリー
(72)【発明者】
【氏名】オレシキン ボリス
(57)【要約】
ニューラルネットワークと共に使用されるシステム及びコンポーネント。実行ブロックと、この実行ブロックを使用するシステムアーキテクチャとを開示する。実行ブロックは、層の全結合スタックを使用し、1つの出力は時系列のフォーキャストであり、別の出力は、実行ブロックへの入力からの残差を決定するために使用できるバックキャストである。実行ブロックは、パラメータを思慮深く選択することによって生成される可能性がある波形セットを制限できる波形発生器サブユニットを使用する。これを行うことによって、実行ブロックはその機能に特化する。実行ブロックを使用するシステムは、時系列問題の解決法を提供する上で最先端技術よりも優れていることが示されている。
【選択図】図3
【特許請求の範囲】
【請求項1】
ニューラルネットワークシステムと共に使用される実行ブロックであって、
- 第1の並列分岐及び第2の並列分岐によって並行して受け取られる出力を有する、ニューラルネットワークノードの全結合層のスタックを含み、
- 前記第1の並列分岐は、前記出力を受け取るニューラルネットワークノードの第1の全結合層と、該第1の全結合層の出力を受け取る第1の波形発生器サブユニットとを含み、
- 前記第2の並列分岐は、前記出力を受け取るニューラルネットワークノードの第2の全結合層と、該第2の全結合層の出力を受け取る第2の波形発生器サブユニットとを含み、
- 前記第1の並列分岐の出力は、前記実行ブロックの基底関数の合成であり、
- 前記第2の並列分岐の出力は、前記実行ブロックへの入力の残差を形成するために使用される、
ことを特徴とする実行ブロック。
【請求項2】
前記波形発生器は、時間領域における点の集合をフォーキャスト値領域における点の集合にマッピングする関数を実装する、
請求項1に記載の実行ブロック。
【請求項3】
前記実行ブロックは、時系列出力をフォーキャストするために使用される、
請求項1に記載の実行ブロック。
【請求項4】
前記実行ブロックへの入力は、時系列の値の履歴ルックバックウィンドウを詳述する入力信号である、
請求項3に記載の実行ブロック。
【請求項5】
前記波形発生器の出力は、パラメータセットに基づく、
請求項2に記載の実行ブロック。
【請求項6】
前記第2並列分岐の出力は、前記入力のための前記実行ブロックの推定値である、
請求項3に記載の実行ブロック。
【請求項7】
前記波形発生器の出力は、時系列問題のための実行可能な解決法の構造を正規化して制約するように誘導バイアスを符号化する、
請求項3に記載の実行ブロック。
【請求項8】
前記波形発生器の出力は、複数の時変波形に基づく、
請求項3に記載の実行ブロック。
【請求項9】
前記波形は、前記波形発生器のために選択されたパラメータセットに基づいて選択される、
請求項8に記載の実行ブロック。
【請求項10】
前記実行ブロックは、ニューラルネットワークシステムにおいて時系列フォーキャストのために使用される、
請求項2に記載の実行ブロック。
【請求項11】
時系列フォーキャスティングにおいて使用されるニューラルネットワークシステムであって、
- 順に結合された複数の基底スタックを含み、各基底スタックは、少なくとも1つの実行ブロックを含み、各基底スタックの出力は、前記ニューラルネットワークシステムの累積出力に追加され、
- 少なくとも1つの実行ブロックは、
- 第1の並列分岐及び第2の並列分岐によって並行して受け取られる出力を有する、ニューラルネットワークノードの全結合層のスタックを含み、
- 前記第1の並列分岐は、前記出力を受け取るニューラルネットワークノードの第1の全結合層と、該第1の全結合層の出力を受け取る第1の波形発生器サブユニットとを含み、
- 前記第2の並列分岐は、前記出力を受け取るニューラルネットワークノードの第2の全結合層と、該第2の全結合層の出力を受け取る第2の波形発生器サブユニットとを含み、
- 前記第1の並列分岐の出力は、前記実行ブロックの基底関数の合成であり、
- 前記第2の並列分岐の出力は、前記実行ブロックへの入力の残差を形成するために使用される、
ことを特徴とするニューラルネットワークシステム。
【請求項12】
前記波形発生器は、時間領域における点の集合をフォーキャスト値領域における点の集合にマッピングする関数を実装する、
請求項11に記載のニューラルネットワークシステム。
【請求項13】
前記ニューラルネットワークシステムへの入力は、時系列の値の履歴ルックバックウィンドウを詳述する入力信号である、
請求項12に記載のニューラルネットワークシステム。
【請求項14】
前記波形発生器の出力は、パラメータセットに基づく、
請求項12に記載のニューラルネットワークシステム。
【請求項15】
前記第2並列分岐の出力は、前記入力のための前記実行ブロックの推定値である、
請求項11に記載のニューラルネットワークシステム。
【請求項16】
前記波形発生器の出力は、時系列問題のための実行可能な解決法の構造を正規化して制約するように誘導バイアスを符号化する、
請求項12に記載のニューラルネットワークシステム。
【請求項17】
前記波形発生器の出力は、複数の時変波形に基づく、
請求項12に記載のニューラルネットワークシステム。
【請求項18】
前記波形は、前記波形発生器のために選択されたパラメータセットに基づいて選択される、
請求項17に記載のニューラルネットワークシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンピュータ技術及び機械学習に関する。具体的には、本発明は、ニューラルネットワークベースのビルディングブロックアーキテクチャと、このビルディングブロックを使用する、時系列問題に関する解決法に適したシステムとに関する。
【背景技術】
【0002】
近年、深層学習の応用は、問題の性質に関する領域固有の帰納バイアスを上手く符号化するアーキテクチャの発明又は採用によって大きな成功を収めている。一例として、画像処理領域における畳み込みニューラルネットワーク(CNN)スタックの発明、再帰型ニューラルネットワーク(RNN)の発明及び使用、言語モデリングにおけるアテンション機構及びそのCNNとの組み合わせ、並びにフューショット学習(few-shot learning)におけるプロトタイプネットワークの発明などが挙げられる。
【0003】
対照的に、時系列フォーキャスティングに関連する機械学習文献における現在の研究のかなりの部分では、時系列フォーキャスティングタスクに既製の深層学習コンポーネント(主にRNN、CNN、及びこれらの組み合わせのフレーバー)を適用することに重点が置かれている。これは、ニューラルアーキテクチャにおいて時系列特有の領域知識を符号化することに重点を置かずに行われることが多い。
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記に基づき、既製の解決法ではない、この分野に新たな概念を導入する新規アーキテクチャが必要とされている。同様に、これらの新たなアーキテクチャ及びシステムは、時系列問題を解決するために現在使用されている周知のシステム及び方法を凌ぐことが好ましい。
【課題を解決するための手段】
【0005】
本発明は、ニューラルネットワークと共に使用されるシステム及びコンポーネントを提供する。実行ブロックと、この実行ブロックを使用するシステムアーキテクチャとを開示する。実行ブロックは、層の全結合スタック(fully connected stack)を使用し、1つの出力は時系列のフォーキャストであり、別の出力は、入力から実行ブロックへの残差を決定するために使用できるバックキャストである。実行ブロックは、パラメータを思慮深く選択することによって生成される可能性がある波形セットを制限できる波形発生器サブユニットを使用する。これを行うことによって、実行ブロックはその機能に特化する。実行ブロックを使用するシステムは、時系列問題の解決法を提供する上で最先端技術よりも優れていることが示されている。
【0006】
第1の態様では、本発明は、ニューラルネットワークシステムと共に使用される実行ブロックであって、
- 第1の並列分岐及び第2の並列分岐によって並行して受け取られる出力を有する、ニューラルネットワークノードの全結合層のスタックを含み、
- 前記第1の並列分岐は、
前記出力を受け取るニューラルネットワークノードの第1の全結合層と、該第1の全結合層の出力を受け取る第1の波形発生器サブユニットとを含み、
- 前記第2の並列分岐は、
前記出力を受け取るニューラルネットワークノードの第2の全結合層と、該第2の全結合層の出力を受け取る第2の波形発生器サブユニットとを含み、
- 前記第1の並列分岐の出力は、前記実行ブロックの基底関数の合成であり、
- 前記第2の並列分岐の出力は、前記実行ブロックへの入力の残差を形成するために使用される、
実行ブロックを提供する。
【0007】
第2の態様では、本発明は、時系列フォーキャスティングにおいて使用されるニューラルネットワークシステムであって、
- 順に結合された複数の基底スタックを含み、各基底スタックは、少なくとも1つの実行ブロックを含み、各基底スタックの出力は、前記ニューラルネットワークシステムの累積出力に追加され、
- 少なくとも1つの実行ブロックは、
- 第1の並列分岐及び第2の並列分岐によって並行して受け取られる出力を有する、ニューラルネットワークノードの全結合層のスタックを含み、
- 前記第1の並列分岐は、
前記出力を受け取るニューラルネットワークノードの第1の全結合層と、該第1の全結合層の出力を受け取る第1の波形発生器サブユニットとを含み、
- 前記第2の並列分岐は、
前記出力を受け取るニューラルネットワークノードの第2の全結合層と、該第2の全結合層の出力を受け取る第2の波形発生器サブユニットとを含み、
- 前記第1の並列分岐の出力は、前記実行ブロックの基底関数の合成であり、
- 前記第2の並列分岐の出力は、前記実行ブロックへの入力の残差を形成するために使用される、
ニューラルネットワークシステムを提供する。
【0008】
以下、異なる図における同一の参照数字が同一の要素を示す以下の図を参照しながら本発明の実施形態について説明する。
【図面の簡単な説明】
【0009】
図1】本発明の1つの態様による実行ブロックの概略的ブロック図である。
図2】本発明の別の態様によるニューラルネットシステムアーキテクチャの概略的ブロック図である。
図3】本発明の1つの実装の、様々な態様がどのように協働して全体的システムを形成するかを示す概略的ブロック図である。
【発明を実施するための形態】
【0010】
さらなる明確化及び読者の便宜のために、本節の最後のリストでは、以下の説明で言及する参考文献の完全な引用を見出すことができる。従って、これらの参考文献の内容は、その全体が引用により本明細書に組み入れられる。
【0011】
本発明に文脈を与えるために、本文書では一変量点フォーキャスト問題(univariate point forecast problem)について考察する。フォーキャスト期間(forecast horizon)の長さHが与えられた場合、課題は、履歴x∈Rdim(x)を所与とする将来値であるベクトルy∈RH、y=[y1,y2,...,yH]を予測(又はフォーキャスト)することである。本発明者らは、
【数1】
をyのフォーキャストとして表す。本文書では以下の指標を使用する。

【数2】
【0012】
なお、sMAPE(対称平均絶対パーセント誤差:symmetric Mean Absolute Percentage Error)及びMASE(平均絶対スケール誤差:Mean Absolute Scaled Error)は、フォーキャスティング業界で広く使用されている標準的指標である。OWA(全体的加重平均:Overall Weighted Average)は、上記2つの他の指標に基づく指標である。
【0013】
本発明は、1つの態様では、上述した時系列/フォーキャスト問題を解決するのに有用なアーキテクチャにおいて使用できる基本実行ブロックを提供する。図1に、基本ビルディングブロック又は実行ブロックを示す。このブロックは、入力信号xを受け入れて2つの信号
【数3】
及び
【数4】
を出力する。入力xは、一定長の履歴ルックバックウィンドウ(history lookback window)であり、
【数5】
は長さHのブロックフォーキャスト予測であり、
【数6】
は、ブロックが信号を近似するために使用できる関数空間に対する制約を所与とするxのブロック最良推定値である。入力ウィンドウの長さはフォーキャスト期間の長さHの関数であり、本発明者らの設定におけるxの典型的な長さは2H、3H、...、7Hである。
【0014】
基本ビルディングブロックは、内部的には2つの異なる部分から成る。第1に、波形発生器gθ:TH→YHは、時間領域内の点集合TH⊂RHからフォーキャスト値領域内の点集合YH⊂Rへのマップである。波形発生器は、パラメータセットθ∈Θでパラメータ化される。第2に、波形発生器のパラメータの前方予測子及び後方予測子
【数7】
及び
【数8】
である。gθの機能は、(i)θを変化させることによって選択可能な十分に豊富な時変波形セット(set of time varying waveforms)を提供すること、及び(ii)実行可能な解決法の構造を正規化して適切に制約するために、時系列フォーキャスト領域に固有の帰納バイアスを符号化すること、という2要素から成る。
【数9】
及び
【数10】
の機能は関連しているが、全く同じではない。これらはいずれもgθのパラメータを予測し、従ってgθが及ぶ空間内の全ての利用可能な波形から最良の波形を選択しようと試みる。
【0015】
基本ビルディングブロックは、入力された時系列ウィンドウに基づいて基底展開係数(basis expansion coefficients)を前方θ(フォーキャスト)及び後方θb(バックキャスト)の両方で予測する全結合層のスタックである。
【0016】
図1で分かるように、実行ブロック10は、複数のニューラルネットワーク層の全結合スタック20を有する。このスタック20は、2つの並列分岐によって受け取られる出力を有する。第1の分岐は全結合層30を有し、この層30の出力は波形発生器サブユニット40によって受け取られる。第2の分岐も、全結合層50及び同様の波形発生器サブユニット60を有する。第1の分岐の出力は、実行ブロックの入力の残差を決定するために使用され、第2の分岐の出力はフォーキャストのために使用される。
【0017】
図2に、図1の実行ブロックを使用するシステムアーキテクチャのブロック図を示す。このアーキテクチャの基本ビルディングブロック(層)は、同じ出力基底関数に対応する層のスタックを形成するために使用される。全結合層の重みは基底スタック内で共有される。スタックは、ディープニューラルネットワーク内でさらに連鎖する。
【0018】
図2を参照すると、システム100は、それぞれがフォーキャストを生成する複数の基底スタック110、120、130を有する。これらのフォーキャスト出力の各々が追加されてシステム出力を生成する。各基底スタック内には、それぞれが図1に示す実行ブロックのインスタンスである複数の層が存在する。図で分かるように、各層/実行ブロックのフォーキャスト出力は、スタックフォーキャスト出力に追加される。各層/実行ブロックの各バックキャスト出力は、その層/実行ブロックへの入力の残差を決定するために使用され、この残差は、直後の層/実行ブロックへの入力として使用される。
【0019】
図2のアーキテクチャは2つの残差分岐(residual branches)を有しており、一方は各ブロックのバックキャスト予測分岐上を流れ、他方は各ブロックのフォーキャスト分岐上を流れる。バックキャスト残差分岐は、信号の逐次解析を実行するとの解釈を有し、バックキャスト残差分岐を通じて逆伝搬される勾配は、その後のブロックによって実行されるタスクを容易にするように各ブロック(図1)のパラメータを駆動する。フォーキャスト残差分岐は、最初はスタックのレベルで、その後にスタックを超えて全フォーキャストに集約される(階層的側面)。各スタックは、各層につき同じgθを有する。この時、階層的フォーキャスト集約(hierarchical forecast aggregation)の解釈は、(i)流れを下る各層がより正確なフォーキャストを提供していること、及び(ii)より重要なこととして、スタックレベルで集約されたフォーキャストが、gθの性質に符号化されたフォーキャストの側面をモデル化すること、という2要素から成る。
【0020】
図で分かるように、図1に示す基本ビルディングブロックは、ブロックの基底におけるルックバックウィンドウ近似(バックキャスト)、及びその基底関数の合成に基づくフォーキャストという2つの出力を生成する。各基本ブロックのバックキャスト出力は、その基本ブロックの入力の残差、及びその基底における入力のブロック近似を形成するために使用される。図2から、フォーキャスト出力は基底スタックの出力に追加される。先行する層の残差は、次の層の入力として使用される。これらの基本層が積み重なってディープニューラルネットワークになる。
【0021】
上述した実行ブロックのトレンドモデルを実装するには、トレンドの典型的な特性がほとんどの場合に単調関数又は少なくともゆっくりと変化する関数であることに留意しなければならない。従って、この種の関数をモデル化するには、gθの表現範囲をフォーキャストウィンドウ全体にわたってゆっくりと変化する関数に限定すれば十分である。このような挙動を模倣するために、gθは、小さな次数pの多項式であるように制約される。
【数11】
【0022】
すると、トレンドフォーキャストは以下の形態を有するようになり、
【数12】
ここで、θi,jは、スタックiの層jの全結合ネットワークによって予測される多項式係数であり、T=[1,t,...,tp]は、0(次のサンプルフォーキャスト)からH-1に及んでHステップ先をフォーキャストする時間ベクトルt=[0,1,2,...,H-2,H-1]Tの累乗を含む固定行列(fixed matrix)である。例えばpを2又は3などのように低く設定すると、
【数13】
がトレンドを模倣するように制約されるようになる。
【0023】
上記アーキテクチャを使用して季節性モデルも実装するには、季節性の典型的特徴が規則的、周期的、反復的変動であることに留意すべきである。従って、季節性をモデル化するには、gθが周期関数gθ(t)=gθ(t-s)のクラスに属するように制約され、ここでsは季節性期間である。周期関数をモデル化する基底の自然な選択はフーリエ級数である。
【数14】
【0024】
この時、季節性フォーキャストは、以下のような形態を有し、
【数15】
ここで、θi,jは、上記と同様にスタックiの層jの全結合ネットワークによって予測されるフーリエ係数であり、
は正弦波の固定行列である。設計上、季節性フォーキャスト
【数16】
は、典型的な季節パターンを模倣するのに最適な周期関数である。
【0025】
本発明の1つのバージョンでは、解釈可能アーキテクチャ(interpretable architecture)を実装することもできる。このアーキテクチャは、図示の全体的アーキテクチャのアプローチを再利用して各スタックのgθにさらなる構造を追加することによって構築することができる。TS(時系列)をフォーキャストする実行者は、STL(1990年に開発された時系列を分解するための「Loessを使用した季節及びトレンドの分解」法)及びX13-ARIMA(X-13 ARIMAは、米国国勢調査局の季節調整のためのソフトウェアパッケージである)手順によって実行されるような、TSのトレンド及び季節性への分解を使用することが多い。本発明の1つの実装では、トレンド及び季節性の分解が、スタック出力をより解釈しやすくするモデルに設計される。
【0026】
1つの実装では、全体的な解釈可能アーキテクチャが、トレンドモデリングスタックの後に季節性モデリングスタックが続く2つのスタックで構成される。フォーキャスト/バックキャスト原則と組み合わせた二重残差スタッキング(doubly residual stacking)の結果、(i)トレンド成分が季節性分析スタックに投入される前に入力ウィンドウxから除去され、(ii)トレンド及び季節性の部分的フォーキャストが別個の解釈可能な出力として利用可能になる。構造的には、各スタックは図1に示すような残差結合(residual connections)で結合された複数のブロックから成り、各ブロックはそれぞれの学習不能なgθ(non-learnable gθ)を共有する。ブロック数は、トレンド及び季節性ともに3つである。gθを共有することに加え、スタック内のブロックにわたって全ての重みを共有することで、検証セットに対する性能が向上することが分かった。
【0027】
図3では、本発明の1つの実装の1つの全体的システムビューを見ることができる。この実装では、基本ビルディングブロックが、ReLU非線形性を有する多層FCネットワークである。この多層FCネットワークは、基底展開係数を前方θf(フォーキャスト)及び後方θb(バックキャスト)の両方で予測する。ブロックは、二重残差スタッキング原理を使用してスタックに編成される。スタックは、gθを共有する層を有することができる。フォーキャストは階層的に集約される。これにより、解釈可能な出力を有する非常に深いニューラルネットワークの構築が可能になる。
【0028】
本発明の実装及び試験については、ビジネス、金融及び経済のフォーキャスティングにおいてしばしば遭遇するデータから成り、サンプリング頻度が1時間から1年の範囲である、大規模かつ多様な100kシリーズデータセットから試験サブセットが導出される。1つの実装では、ソースデータセットが、年度毎、四半期毎、月毎及びその他(週毎、日毎、時間毎)のデータの時系列から成り、データセットの最小観察数が、年度毎で13、四半期毎で16、月毎で42、週毎で80、日毎で93、時間毎で700である。データセットの時系列は、主に経済、金融、人口統計、産業分野からのものであり、観光、貿易、労働及び賃金、不動産、交通、天然資源、環境からのデータも含む。検証及び訓練サブセットは、各時系列の最終期間の境界で完全な訓練セットを分割することによって取得される。訓練及び検証サブセットは、ハイパーパラメータの調整及びアブレーション研究結果の報告に使用される。ハイパーパラメータが決定されると、完全な訓練セット上でモデルが訓練され、試験セットに関する報告が行われる。
【0029】
アーキテクチャの実装及びニューラルアーキテクチャの訓練の実行にはTensorflowを使用した。ネットワークのパラメータは期間にわたって共有され、従って期間当たり1つずつの合計6つのモデルが存在する。全ての時系列は、別のタスクとして解釈される場合、複数のタスク上で学習を行って一般化を改善することによってニューラルネットワークを正規化するマルチタスク学習にリンクバックすることができる。なお、異なる期間にわたるモデルは同じアーキテクチャを再利用し、全てのハイパーパラメータは後述するささいな例外を除いて期間にわたって同じ値に固定されることを強調しておく。期間にわたるアーキテクチャ及びハイパーパラメータは再利用することができるので、本発明のアーキテクチャ設計が異なる性質の時系列にわたって十分に一般化していることを示す。48k個の時系列(月毎)及び359個の時系列(週毎)を有する期間上で同じアーキテクチャが正常に訓練される。これは、例えば異なる期間のために手作りされる全く異なるアーキテクチャを使用する必要があった人々によって達成される結果よりもはるかに強力な結果である。
【0030】
ネットワークパラメータを更新するために、各サンプルが同じ期間からのTSから成る固定サイズの1024個の訓練バッチをサンプリングする。従って、この期間に対応するニューラルネットワークのみが更新される。バッチは、最初にデータセット内のこの期間のTSの割合に等しい確率で期間をサンプリングすることによって組み立てられる(例えば、23k個のTSから成る年度毎の期間6は、0.23の確率でサンプリングされる)。期間が与えられると、この期間からの1024個のTS idが置換を伴って均一にランダムで選択される。選択された各TS idについて、TSの訓練部分の最後のポイントの直前の長さLHHの履歴範囲からのランダムなフォーキャストポイントが選択される。LHは、膨大な数の時系列を含む期間(年度毎、月毎、四半期毎)では1.5に等しく、その他に含まれる時系列の数が少なく控えめな期間(週毎、日毎、時間毎)では15に等しいハイパーパラメータである。サンプリングされたフォーキャストポイントが与えられると、これに続くポイントに値する1つの期間が目標フォーキャストウィンドウyに設定され、これに先行する長さ2H、3H、...、7Hのうちの1つのポイントの履歴がネットワークへの入力xに設定される。デフォルト設定及び初期学習率0.001のアダムオプティマイザ(Adam optimizer)を使用する。ニューラルネットワーク訓練は、30kバッチにわたる実行である。1つのアンサンブルメンバのGPUベースの訓練は、ニューラルネットワーク設定及びハードウェアに応じて30分~2時間を要する。
【0031】
本発明を既知のアーキテクチャに対して試験するには、本発明の試験対象である既知のアーキテクチャがアンサンブリングを使用することを明らかにすべきである。これらのアーキテクチャと比較するために、本発明でもアンサンブリングを使用した。個々のモデルを多様化する複数の方法を使用してアンサンブルを構築することを選択した。最初に、sMAPE、MASE、及び分母のみにグランドトゥルース値を有するsMAPEの非対称バージョンという3つの異なる指標に対してアンサンブルモデルを適合させる。2つ目の多様化法は、異なる長さの入力ウィンドウ上で訓練されたモデルを含むことに基づく。アンサンブルは、期間H毎に、長さ2H、3H、...、7Hの6つのウィンドウ長オプションの入力ウィンドウx上で訓練された個々のモデルから成る。従って、全体的なアンサンブルは、これに対するマルチスケールの側面を有する。最後に、時系列のサブセット及びx個のエントリのサブセットをサンプリングして各アンサンブルメンバを訓練することによって、標準的なバギング手順(bagging procedure)を実行した。各個々のモデルは、その期間に属する時系列の20%で訓練され、xのエントリの75%を使用している。アンサンブル内の180のモデルを使用し、アンサンブル設定を検証セット上で交差検証した。
【0032】
汎用的なもの(Ours-G)、解釈可能なもの(Ours-I)、及びこれらのアンサンブル(Our-I+G)という本発明の2つの構成の性能について検討した。これらを、それぞれが異なるモデルクラスのものである4つの異なるアーキテクチャと比較した。これらの4つのアーキテクチャは、純粋なML、純粋な統計、ML/TSの組み合わせ、及びDL/TSの混成である。以下に示す表では、最良の純粋なMLが純粋なMLアーキテクチャであり、最良の統計が純粋な統計モデルであり、最良のML/TSが(いくつかの統計的時系列モデルによって提供される時系列特有の機能とその上の機械学習層との組み合わせに基づく)機械学習/時系列アーキテクチャであり、DL/TSが(CNN/LSTMスタックと学習可能パラメータを有するHolt-Winters時系列エンジンとの融合に基づく)深層学習/時系列アーキテクチャである。
【0033】
表1及び表2に試験結果を示す。これらの表から、本発明は時系列の全てのサブセットにおいて他の全ての手法よりも優れており、本発明者らの一般的モデルとDL/TS混成との間のOWAギャップ(0.821-0.799=0.022)は、DL/TS混成と2番目に良好なアーキテクチャとの間のギャップ(0.838-0.821=0.017)よりも大きいことが明確にわかる。本発明者らの一般的モデルは、純粋であることに特化して設計したものである。このモデルは、時系列フォーキャスト問題に固有のものとみなすことができる特徴エンジニアリング、スケーリング及び内部構造部品を一切使用していない。
【表1】
【表2】
【0034】
従って、本発明は、上述した試験データセットによって捉えられる幅広い時系列フォーキャスティングタスクにおいて極めて良好に機能することが分かる。基本的に、本発明は各実行ブロックを特殊化に強制する。時系列における連続エントリをフォーキャストするのに必要な全ての機能を実行ブロックに実行させるのではなく、波形発生器が使用する波形関数の範囲を制限することによって、実行ブロックはより小さなサブセット/グループの波形を生成することに特化する。従って、gθを思慮深く制約することによって、各実行ブロックの特殊化を選択することができる。
【0035】
実装については、本発明のシステムは、当業者が理解するような好適なハードウェア及びソフトウェア上で実装することができる。1つの実装では、システムを好適なハードウェアシステム上で実行される完全なソフトウェアシステムとして実装できることが明らかであろう。従って、このような実装では、図3のスタックの各々及び図3のブロックの各々が、ハードウェアシステムのメモリ内のソフトウェア構成物である。
【0036】
別の実装では、ハードウェアベースの実装が、アーキテクチャ内のブロック/層の各々に1又は2以上の処理モジュールを使用することができる。このような実装では、図2に示す各層(及び図3の各ブロック)を1又は2以上のハードウェア処理モジュールとして実装することができる。このような実装の潜在的問題点は、ブロック又は層を追加するとシステムにハードウェア処理モジュールを追加することが必要になり得る点である。
【0037】
さらなる実装は、実装のためのハードウェア要件を最小化することができる。この実装では、単一の処理モジュールをアーキテクチャ内のブロック/層として使用することができる。このような実装では、ブロック1に入力されたデータが単一の処理モジュールに供給されてブロック1の出力を生成するようになる。その後、これらのブロック1の出力は、必要に応じて保存又は蓄積される。この時、関連するブロック1の出力(すなわち残差出力)は、ブロック2への入力と共に単一の処理モジュールに戻される。結果として得られるブロック2の結果は、必要に応じてブロック1の結果と共に蓄積され、関連するブロック2の結果(すなわち、ブロック2の残差結果)は、ブロック3の入力として単一の処理モジュールにフィードバックされる。その後、最終結果が得られるまで、又は十分な量のブロックが入力を実行し終えるまで、必要に応じてプロセスを繰り返すことができる。
【0038】
別の実装は、上述した最後の2つの実装の混成とすることができる。この実装では、単一の処理モジュール又は無限数の処理モジュールを有する代わりに固定数の処理モジュールが使用される。これらの処理モジュールは、入力をカスケーディンググループとして処理するために使用される。従って、3つの処理モジュールが存在する場合、最初の反復ではこれらの3つの処理モジュールを使用してブロック1、2、3を実装する。これらの3つのブロックの出力は必要に応じて蓄積され、ブロック3の残差出力はブロック4の入力としてフィードバックされる。そして、次の反復では、3つの処理ブロックを使用してブロック4、5、6を実装する。その後、このプロセスは必要に応じて繰り返され、固定数の処理ブロックを使用して複数のブロック/層を実装する。
【0039】
上記の説明では、本発明の実行ブロック及びシステムを時系列問題の解決のために使用しているが、本発明のこれらの態様は他の文脈でも使用できることが明らかであろう。実行ブロック、及び実行ブロックを使用するシステムアーキテクチャは、他の問題の解決、及びニューラルネットワーク又は他の機械学習システム/コンポーネントに適した他の実装において使用することができる。
【0040】
本発明の様々な態様は、全体的なソフトウェアシステム内のソフトウェアモジュールとして実装できることが明らかであろう。従って、本発明は、実行時に様々なソフトウェアモジュールに所定の機能を実行させるコンピュータ実行命令の形態をとることができる。
【0041】
本発明の実施形態は、コンピュータプロセッサ、又は方法ステップの形でプログラムされた同様の装置によって実行することも、或いはこれらのステップを実行するための手段を備えた電子システムによって実行することもできる。同様に、コンピュータディスケット、CD-ROM、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)又は当業で周知の同様のコンピュータソフトウェア記憶媒体などの電子メモリ手段を、このような方法ステップを実行するようにプログラムすることもできる。また、これらの方法ステップを表す電子信号を、通信ネットワークを介して送信することもできる。
【0042】
本発明の実施形態は、いずれかの従来のコンピュータプログラミング言語で実装することができる。例えば、好ましい実施形態は、手続き型プログラミング言語(例えば、「C」又は「Go」)又はオブジェクト指向型言語(例えば、「C++」、「java」、「PHP」、「PYTHON」又は「C#」)で実装することができる。本発明の別の実施形態は、予めプログラムされたハードウェア要素、他の関連コンポーネント、又はハードウェアコンポーネントとソフトウェアコンポーネントとの組み合わせとして実装することができる。
【0043】
実施形態は、コンピュータシステムと共に使用されるコンピュータプログラム製品として実装することができる。このような実装は、コンピュータ可読媒体(例えば、ディスケット、CD-ROM、ROM、又は固定ディスク)などの有形媒体上に固定された、或いは媒体を介してネットワークに接続された通信アダプタなどのモデム又はその他のインターフェイス装置を介してコンピュータシステムに送信できる一連のコンピュータ命令を含むことができる。媒体は、有形媒体(例えば、光又は電気通信回線)とすることも、又は無線技術(例えば、マイクロ波、赤外線又はその他の送信技術)を実装する媒体とすることもできる。一連のコンピュータ命令は、本明細書で上述した機能の全部又は一部を具現化する。当業者であれば、このようなコンピュータ命令は、多くのコンピュータアーキテクチャ又はオペレーティングシステムと共に使用される複数のプログラム言語で書くことができると理解しているはずである。さらに、このような命令は、半導体、磁気、光学又はその他のメモリデバイスなどのいずれかのメモリデバイスに記憶することができ、光学、赤外線、マイクロ波又はその他の送信技術などのいずれかの通信技術を使用して送信することができる。このようなコンピュータプログラム製品は、印刷又は電子資料を伴う取り外し可能媒体(例えば、パッケージソフトウェア)として配布することも、コンピュータシステム(例えば、オンシステムROM又は固定ディスク)を使用して予めロードしておくことも、或いはネットワーク(例えば、インターネット又はワールドワイドウェブ)を介してサーバから配信することもできると見込まれる。当然ながら、本発明のいくつかの実施形態は、ソフトウェア(例えば、コンピュータプログラム製品)及びハードウェアの両方の組み合わせとして実装することができる。本発明のさらに他の実施形態は、完全にハードウェアとして、又は完全にソフトウェア(例えば、コンピュータプログラム製品)として実装することができる。
【0044】
本発明を理解した人物であれば、この時点で別の構造及び実施形態又は上記の変形例を思い付くと考えられるが、これらは全て、以下の特許請求の範囲に定める本発明の範囲に含まれるように意図される。
図1
図2
図3
【国際調査報告】