(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-10-07
(45)【発行日】2025-10-16
(54)【発明の名称】オンライン時系列予測のためのシステムおよび方法
(51)【国際特許分類】
   G06N   3/09        20230101AFI20251008BHJP        
   G06F  18/27        20230101ALI20251008BHJP        
   G06N   3/0464      20230101ALI20251008BHJP        
   G06F 123/02        20230101ALN20251008BHJP        
【FI】
G06N3/09 
G06F18/27 
G06N3/0464 
G06F123:02 
(21)【出願番号】P 2024545160
(86)(22)【出願日】2023-01-13
(86)【国際出願番号】 US2023060618
(87)【国際公開番号】W WO2023147227
(87)【国際公開日】2023-08-03
【審査請求日】2024-07-30
(32)【優先日】2022-01-31
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2022-07-22
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】506332063
【氏名又は名称】セールスフォース  インコーポレイテッド
(74)【代理人】
【識別番号】110004381
【氏名又は名称】弁理士法人ITOH
(72)【発明者】
【氏名】ファム,ホン-クアン
(72)【発明者】
【氏名】リウ,チェンハオ
(72)【発明者】
【氏名】サフー,ドイアン
(72)【発明者】
【氏名】ホイ,チュ  ホン
【審査官】佐藤  直樹
(56)【参考文献】
【文献】特開2019-045905(JP,A)      
【文献】国際公開第2021/252798(WO,A1)    
【文献】佐野  隼乙 ほか,LSTNetに基づく多変量時系列予測精度改善法,電子情報通信学会技術研究報告,日本,一般社団法人電子情報通信学会,2021年12月09日,Vol.121,No.304,pp.71-76
(58)【調査した分野】(Int.Cl.,DB名)
G06N      3/00  -  99/00
G06F    18/00  -  18/40
G06F  123/02
(57)【特許請求の範囲】
【請求項1】
  動的システムにおいて将来のタイムスタンプにおける時系列データを予測する方法であって、
前記方法は、コンピュータによって実行され、
            
  データインターフェースを介して、ルックバック時間ウィンドウ内の複数のタイムスタンプに対応する複数のデータポイントを含む時系列データセットを受信することと、
  畳み込み層のスタックの第1の畳み込み層において、前記第1の畳み込み層に対応する勾配の指数移動平均に基づいて第1の勾配を計算することと、
  前記第1の畳み込み層に対応する第1の適応パラメータを、前記第1の適応パラメータの要素への前記第1の勾配の部分のマッピングに基づいて決定することと、
  適応された特徴マップを、前記第1の適応パラメータと、先行する畳み込み層からの前の適応された特徴マップとに少なくとも部分的に基づいて計算することと、
  リグレッサを介して、前記ルックバック時間ウィンドウ内の前記時系列データに対応する前記畳み込み層のスタックから出力された最終特徴マップに基づいて、将来の時間ウィンドウに対応する時系列予測データを生成することと、
  前記将来の時間ウィンドウに対応する前記生成された時系列予測データとグラウンドトゥルースデータとに基づいて予測損失を計算することと、
  逆伝搬を介して前記予測損失に基づいて前記畳み込み層のスタックを更新することと
  を含む方法。
【請求項2】
  前記第1の適応パラメータは、第1の重み適応成分と第1の特徴適応成分とを含む、請求項1に記載の方法。
【請求項3】
  時間畳み込みニューラルネットワークの少なくとも1つの畳み込み層について、
      前記複数のデータポイントに基づいて、前記複数のデータポイントにしたがった全体的な予測損失に対するそれぞれの畳み込み層の損失寄与を示す層予測損失を決定することと、
      前記層予測損失に基づいて前記少なくとも1つの畳み込み層を更新することと
  
をさらに含む、請求項2に記載の方法。
【請求項4】
  前記更新された畳み込み層の前記第1の勾配と、前記少なくとも1つの畳み込み層に関連付けられた長期的な勾配との間のコサイン類似度を計算することと、
  前記コサイン類似度が予め定義されたしきい値よりも大きいという決定を決定したことに応答して、
      前記第1の畳み込み層に対応するインデックス付きメモリから、現在の適応パラメータを取り出すことと、
      前記現在の適応パラメータと前記第1の適応パラメータとに基づいて、前記インデックス付きメモリに記憶されたコンテンツを更新することと、
      前記取り出された現在の適応パラメータとの加重平均をとることによって前記第1の適応パラメータを更新することと
  をさらに含む、請求項3に記載の方法。
【請求項5】
  前記第1の重み適応成分と前記第1の層に対応する層パラメータとに基づいて第1の適応された重みを生成することに基づいて、適応された層パラメータを計算することと、
  前記第1の特徴適応成分を用いて前記第1の畳み込み層の特徴マップを生成することと
  をさらに含む、請求項4に記載の方法。
【請求項6】
  前記適応された特徴マップは、前記第1の特徴適応成分と前記第1の畳み込み層の第1の特徴マップとに基づいて計算され、前記第1の特徴マップは、前記適応された層パラメータと前の層からの前の適応された特徴マップとの畳み込みである、請求項5に記載の方法。
【請求項7】
  前記畳み込み層のスタックおよび前記リグレッサは、
  確率的勾配降下法を介して前記リグレッサを更新することと、
  前記第1の畳み込み層において、前記第1の勾配および前記第1の適応パラメータを更新することと
  によって更新される、
  請求項6に記載の方法。
【請求項8】
  前記コサイン類似度が予め定義されたしきい値よりも大きいという決定を決定したことに応答して、
      勾配の現在のパターンをキャプチャするメモリ読取りまたは書込み動作をトリガすること
  をさらに含む、請求項4に記載の方法。
【請求項9】
  前記現在のパターンは、
  前記メモリの現在のコンテンツと現在の適応パラメータとに基づいてアテンションを計算することと、
  前記計算されたアテンションから関連性の高いアテンションのセットを選択することと、
  前記関連性の高いアテンションのセットによって重み付けされた前記メモリの前記現在のコンテンツの加重和をとることによって、前記現在の適応パラメータを更新することと
  によってキャプチャされる、請求項8に記載の方法。
【請求項10】
  前記更新された現在の適応パラメータに基づいて前記メモリの前記現在のコンテンツを更新および蓄積するために書込み動作を実行すること
  をさらに含む、請求項9に記載の方法。
【請求項11】
  動的システムにおいて将来のタイムスタンプにおける時系列データを予測するためのシステムであって、
  ルックバック時間ウィンドウ内の複数のタイムスタンプに対応する複数のデータポイントを含む時系列データセットを受信するデータインターフェースと、
  複数のプロセッサ実行可能命令を記憶するメモリと、
  前記メモリから前記命令を読み出し、動作を実行するために前記命令を実行するプロセッサと
  を備え、前記動作は、
      畳み込み層のスタックの第1の畳み込み層において、前記第1の畳み込み層に対応する勾配の指数移動平均に基づいて第1の勾配を計算することと、
      前記第1の畳み込み層に対応する第1の適応パラメータを、前記第1の適応パラメータの要素への前記第1の勾配の部分のマッピングに基づいて決定することと、
      適応された特徴マップを、前記第1の適応パラメータと、先行する畳み込み層からの前の適応された特徴マップとに少なくとも部分的に基づいて計算することと、
      リグレッサを介して、前記ルックバック時間ウィンドウ内の前記時系列データに対応する前記畳み込み層のスタックから出力された最終特徴マップに基づいて、将来の時間ウィンドウに対応する時系列予測データを生成することと、
      前記将来の時間ウィンドウに対応する前記生成された時系列予測データとグラウンドトゥルースデータとに基づいて予測損失を計算することと、
      逆伝搬を介して前記予測損失に基づいて前記畳み込み層のスタックを更新することと
  を含む、システム。
【請求項12】
  前記第1の適応パラメータは、第1の重み適応成分と第1の特徴適応成分とを含む、請求項11に記載のシステム。
【請求項13】
  前記動作は、
  時間畳み込みニューラルネットワークの少なくとも1つの畳み込み層について、
      前記複数のデータポイントに基づいて、前記複数のデータポイントにしたがった全体的な予測損失に対するそれぞれの畳み込み層の損失寄与を示す層予測損失を決定することと、
      前記層予測損失に基づいて前記少なくとも1つの畳み込み層を更新することと
  をさらに含む、請求項12に記載のシステム。
【請求項14】
  前記動作は、
  前記更新された畳み込み層の前記第1の勾配と、前記少なくとも1つの畳み込み層に関連付けられた長期的な勾配との間のコサイン類似度を計算することと、
  前記コサイン類似度が予め定義されたしきい値よりも大きいという決定を決定したことに応答して、
      前記第1の畳み込み層に対応するインデックス付きメモリから、現在の適応パラメータを取り出すことと、
      前記現在の適応パラメータと前記第1の適応パラメータとに基づいて、前記インデックス付きメモリに記憶されたコンテンツを更新することと、
      前記取り出された現在の適応パラメータとの加重平均をとることによって前記第1の適応パラメータを更新することと
  をさらに含む、請求項13に記載のシステム。
【請求項15】
  前記動作は、
  前記第1の重み適応成分と前記第1の層に対応する層パラメータとに基づいて第1の適応された重みを生成することに基づいて、適応された層パラメータを計算することと、
      前記第1の特徴適応成分を用いて前記第1の畳み込み層の特徴マップを生成することと
  をさらに含む、請求項14に記載のシステム。
【請求項16】
  前記適応された特徴マップは、前記第1の特徴適応成分と前記第1の畳み込み層の第1の特徴マップとに基づいて計算され、前記第1の特徴マップは、前記適応された層パラメータと前の層からの前の適応された特徴マップとの畳み込みである、請求項15に記載のシステム。
【請求項17】
  前記畳み込み層のスタックおよび前記リグレッサは、
  確率的勾配降下法を介して前記リグレッサを更新することと、
  前記第1の畳み込み層において、前記第1の勾配および前記第1の適応パラメータを更新することと
  によって更新される、請求項16に記載のシステム。
【請求項18】
  前記動作は、
  前記コサイン類似度が予め定義されたしきい値よりも大きいという決定を決定したことに応答して、
      勾配の現在のパターンをキャプチャするメモリ読取りまたは書込み動作をトリガすること
  をさらに含む、請求項14に記載のシステム。
【請求項19】
  前記現在のパターンは、
  前記メモリの現在のコンテンツと現在の適応パラメータとに基づいてアテンションを計算することと、
  前記計算されたアテンションから関連性の高いアテンションのセットを選択することと、
  前記関連性の高いアテンションのセットによって重み付けされた前記メモリの前記現在のコンテンツの加重和をとることによって、前記現在の適応パラメータを更新することと
  によってキャプチャされる、請求項18に記載のシステム。
【請求項20】
  動的システムにおいて将来のタイムスタンプにおける時系列データを予測するためのプロセッサ可読命令を記憶する非一時的プロセッサ可読記憶媒体であって、前記命令は、動作を実行するためにプロセッサによって実行され、前記動作は、
  データインターフェースを介して、ルックバック時間ウィンドウ内の複数のタイムスタンプに対応する複数のデータポイントを含む時系列データセットを受信することと、
  畳み込み層のスタックの第1の畳み込み層において、前記第1の畳み込み層に対応する勾配の指数移動平均に基づいて第1の勾配を計算することと、
  前記第1の畳み込み層に対応する第1の適応パラメータを、前記第1の適応パラメータの要素への前記第1の勾配の部分のマッピングに基づいて決定することと、
  適応された特徴マップを、前記第1の適応パラメータと、先行する畳み込み層からの前の適応された特徴マップとに少なくとも部分的に基づいて計算することと、
  リグレッサを介して、前記ルックバック時間ウィンドウ内の前記時系列データに対応する前記畳み込み層のスタックから出力された最終特徴マップに基づいて、将来の時間ウィンドウに対応する時系列予測データを生成することと、
  前記将来の時間ウィンドウに対応する前記生成された時系列予測データとグラウンドトゥルースデータとに基づいて予測損失を計算することと、
  逆伝搬を介して前記予測損失に基づいて前記畳み込み層のスタックを更新することと
  を含む、非一時的プロセッサ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
[相互参照]
  本開示は、2022年7月22日に出願された米国非仮特許出願第17/871,819号、および2022年1月31日に出願された米国仮特許出願第63/305,145号に対する優先権を主張するものであり、参照によりその全体が本明細書に明示的に組み込まれる。
【0002】
[技術分野]
  実施形態は、一般に、機械学習システムに関し、より具体的には、オンライン時系列予測に関する。
【背景技術】
【0003】
  ディープニューラルネットワークモデルは、時系列予測において広く使用されている。例えば、学習モデルは、将来のある期間にわたる連続的な市場データ、気象データ、および/または同様のものなどの時系列データを予測するために使用され得る。既存のディープモデルは、時系列予測タスクのためにバッチ学習を採用する。そのようなモデルは、トレーニング中にルックバックウィンドウおよび予測ウィンドウをランダムにサンプリングし、評価中にモデルをフリーズさせることが多く、時系列の時変(非定常)性質を破壊する。
【0004】
  したがって、オンライン時間予測のために効率的かつ適応的なディープラーニングフレームワークが必要とされている。
【図面の簡単な説明】
【0005】
            【
図1】本明細書で説明される実施形態による、時系列を予測するためのFSNetフレームワークの例示的な構造を示す簡略図である。
 
            【
図2】本明細書で説明される実施形態による、
図1に記載のFSNetフレームワークのTCN層(ブロック)の例示的な構造を示す簡略図である。
 
            【
図3】本明細書で説明される実施形態による、
図2に記載のTCN層(ブロック)中の拡張畳み込み層の例示的な構造を示す簡略図である。
 
            【
図4】本明細書で説明されるいくつかの実施形態による、FSNetフレームワークを実装するコンピューティングデバイスの簡略図である。
 
            【
図5】本明細書で説明される実施形態による、
図1~
図3に記載のFSNetフレームワークにおいて実装される高速学習ネットワークおよび低速学習ネットワークのための簡略化された擬似コードセグメントである。
 
            【
図6】本明細書で説明される実施形態による、
図5の擬似コードアルゴリズムに対応する例示的なプロセスを示す簡略化された論理フロー図である。
 
            【
図7】本明細書で説明される実施形態による、例示的なデータ実験におけるFSNetの性能を示す例示的なデータチャートおよびプロットである。
 
            【
図8】本明細書で説明される実施形態による、例示的なデータ実験におけるFSNetの性能を示す例示的なデータチャートおよびプロットである。
 
            【
図9】本明細書で説明される実施形態による、例示的なデータ実験におけるFSNetの性能を示す例示的なデータチャートおよびプロットである。
 
          
【0006】
  図において、同じ名称を有する要素は、同じまたは同様の機能を有する。
【発明を実施するための形態】
【0007】
  本明細書で使用される場合、「ネットワーク」という用語は、任意の人工知能ネットワークもしくはシステム、ニューラルネットワークもしくはシステム、および/またはその上にもしくはそれとともに実装される任意のトレーニングもしくは学習モデルを含む、任意のハードウェアまたはソフトウェアベースのフレームワークを備え得る。
【0008】
  本明細書で使用される場合、「モジュール」という用語は、1つまたは複数の機能を実行するハードウェアまたはソフトウェアベースのフレームワークを備え得る。いくつかの実施形態では、モジュールは、1つまたは複数のニューラルネットワーク上に実装され得る。
【0009】
  時系列とは、異なる時点における関心のあるパラメータに対応する値のセットである。パラメータの例としては、株価、温度測定値などを挙げることができる。時系列予測とは、時系列における値のセットを超えて将来のデータポイントまたは将来のデータポイントのセットを決定するプロセスである。ディープラーニングによる動的データの時系列予測は依然として困難である。
【0010】
  実施形態は、高速学習ネットワークと低速学習ネットワークとを組み合わせたフレームワーク(「FSNet」と呼ばれる)を提供して、オンライン時系列予測のためにオンザフライでディープニューラル予測器をレーニングする。FSNetは、新しい概念と再帰的概念の両方への高速適応を容易にするために2つの相補的構成要素を有するディープニューラルネットワークバックボーン(低速学習器)上に構築される。この目的のために、FSNetは層ごとのアダプタを採用し、その偏導関数を介して予測損失への各層の寄与を監視する。アダプタは、各層の重みおよび特徴を、その最近の勾配に基づいて各ステップで変換し、現在の損失を最適化するために層ごとの細粒の高速適応を可能にする。加えて、FSNetは、トレーニング中に観察された重要な繰り返しパターンを記憶するために、第2の相補的な連想メモリ(associative  memory)構成要素を採用する。アダプタは、メモリと対話して、前の変換の記憶、更新、および取り出しを行い、そのようなパターンの高速学習を容易にする。
【0011】
  このようにして、FSNetフレームワークは、時系列における高速変化するパターンおよび長期的な繰り返しパターンに適応することができる。具体的には、FSNetでは、ディープニューラルネットワークは新皮質の役目を果たし、一方、アダプタおよびそのメモリは海馬構成要素として作用する。
            FSNetフレームワークの概要
         
【0012】
  図1は、本明細書で説明される実施形態による、時系列を予測するためのFSNetフレームワーク100の例示的な構造を示す簡略図である。
 
【0013】
  FSNetフレームワーク100は、リグレッサ105に接続された複数の畳み込みブロック104a~nを備える。FSNetフレームワーク100は、メモリまたはネットワークアダプタなどの入力インターフェースから、各々がn次元を有するT個の観測値の時系列として
            【数1】
と表される時系列データ102を受信し得る。いくつかの実施形態では、時系列データ102は、時間iから始まる長さeのルックバックウィンドウ内のデータであり得る:χ
i,e=(x
i,...,x
i+e)。モデル100は、GPUメモリなどのメモリの利用可能性に基づいて、時系列データのサイズに基づいて、またはデータの季節性などに基づいて、ルックバックウィンドウを使用し得る。モデル100は、入力された時系列データ102に基づいて時系列の次のHステップを予測するオンライン予測106、例えば、f
ω(X
i,H)=(x
i+e+1...x
i+e+H)を生成し得、ここで、wは予測モデルのパラメータを示す。ここでは、トレーニングサンプルとして、ルックバックウィンドウと予測ウィンドウのデータのペアを考える。複数ステップ予測(H>1)の場合、線形リグレッサ105を採用して、ホライズン内のすべてのHステップを同時に予測する。
 
【0014】
  一実施形態では、FSNetフレームワーク100は、パラメータ
            【数2】
をもつL層(例えば、ブロック1~L  104a~n)を有する時間畳み込みニューラルネットワーク(TCN)バックボーンを含み得る。TCNバックボーン104a~nは、時系列データ102などの入力を受信し、時系列データ102内の様々な態様/オブジェクトに重要度(学習可能な重みおよびバイアス)を割り当て、時系列データ102内の様々な態様/オブジェクトを時系列データ102内の他の態様/オブジェクトと区別するディープラーニングアルゴリズム(オンラインでゆっくりと学習し、ディープニューラルネットワークである)を実装し得る。TCNバックボーン104a~nは、時系列データ102から時系列特徴表現を抽出し得る。
 
【0015】
  TCNバックボーン104a~nに基づいて、FSNetフレームワーク100は、各TCN層104a~nのための層ごとのアダプタφ
1(
図3に315で示す)および各TCN層104a~nのための層ごとの連想メモリ(associate  memory)M
1(
図3に318で示す)という2つの相補的な構成要素をさらに含む。したがって、フレームワークのトレーニング可能な全パラメータは、ω={θ
l,φ
l}であり、すべての連想メモリは、M={M
l}
l=1,...,Lである。
 
【0016】
  図2は、本明細書で説明される実施形態による、
図1に記載のFSNetフレームワークのTCN層(ブロック)104aの例示的な構造を示す簡略図である。各TCN層(ブロック)、例えば104aにおいて、ブロック入力202は、いくつかの拡張畳み込み層204、206によって処理され得、畳み込み出力が元のブロック入力202に加算されて、ブロック出力208が生成される。
図2には2つの拡張畳み込み層204および206が説明のためだけに示されているが、任意の他の数の拡張畳み込み層がTCNブロック中で使用されてもよいことに留意されたい。
 
【0017】
  一実施形態では、各TCNブロック104aは、そのアダプタ315および連想メモリ318に依存して、時系列データ102の変化に迅速に適応するか、または限られたデータでより効率的に学習し得る。各ブロックまたは層104a~104nは、適応を、ネットワークの深さ、すなわち、ネットワーク104a~nの深さにわたる勾配降下に制限するのではなく、独立して適応し得る。各層104a~nの偏導関数
            【数3】
は、予測損失lに対する畳み込み層θ
l  104a~nの寄与を特徴付ける。
            
【数4】
は、l番目の層θ
lを更新するために使用され得る。いくつかの実施形態では、各畳み込み層に関連付けられた勾配は、偏導関数
            
【数5】
に基づいて計算され得る。そのような勾配は、
図3に関連して説明されるように、拡張畳み込み204または206内の指数移動(EMA)平均を使用してさらに平滑化され得る。
 
【0018】
  したがって、各畳み込みフィルタスタックには、アダプタおよび連想メモリが付随する。
図3に関連してさらに示されるように、各層において、アダプタは勾配EMAを受信し、それに応じてメモリおよび畳み込みフィルタと対話する。
 
【0019】
  図3は、本明細書で説明される実施形態による、
図2に記載のTCN層(ブロック)104a中の拡張畳み込み層204(または206)の例示的な構造を示す簡略図である。拡張畳み込み層204は、畳み込みフィルタ310と、層ごとのアダプタ315と、層ごとのメモリ318とを備え得る。拡張畳み込み層204への入力202は、畳み込みフィルタ310に供給され得、畳み込みフィルタが、TCNバックボーンの勾配の指数移動平均(EMA)313を計算する。具体的には、単一のサンプルの勾配は大きく変動し、適応パラメータにノイズを導入する可能性があるので、以下によってオンライントレーニングのノイズを平滑化するEMAが使用される:
            
【数6】
          
【0020】
  いくつかの実施形態では、高速アダプタ315は、継続学習のためのその効率により、適応プロセスとして要素ごとの変換を使用し得る。結果として得られる適応パラメータul316は、ul=[αl;βl]として連結された、(i)重み適応パラメータαlおよび(ii)特徴適応パラメータβlという2つの成分を含み得る。いくつかの実施形態では、高速アダプタ315は、簡潔にするために、バイアス変換パラメータをα1に吸収し得る。
【0021】
  一実施形態では、層θ
lのための適応は、319に示されるように、重み適応および特徴適応を含み得る。まず、重み適応パラメータα
lは、以下のように、要素ごとの乗算を介してバックボーンネットワークの対応する重みに作用する。
            
【数7】
ここで、θは、C個のチャネルおよび長さLのI個の特徴マップのスタックであり、θ
lは、適応された重みを示し、tile(α
l)は、重みアダプタがタイル関数を介してすべてのフィルタに対してチャネルごとに適用されることを示し、
            
【数8】
は、要素ごとの乗算を示す。
 
【0022】
  同様に、勾配の特徴適応成分β
lであり、特徴適応パラメータは、特徴適応成分と第1の畳み込み層特徴マップとの間の要素ごとの乗算に基づいて畳み込み層特徴マップを変更する。例えば、特徴適応β
lはまた、次のように、出力特徴マップh
lと対話し、以下として出力322を生成する:
            
【数9】
          
【0023】
  このようにして、畳み込み層θlは、重み適応成分αlと特徴適応成分βlとに基づいて更新され得る。
【0024】
  いくつかの実施形態では、勾配は、要素ごとの適応パラメータに直接マッピングされ得、これは、非常に高次元のマッピングをもたらし得る。
【0025】
  いくつかの実施形態では、Ω(・;Φ
l),と示されるチャンキング動作を実施して、勾配を等しいサイズのチャンクに分割してから、各チャンクを適応パラメータの要素にマッピングし得る。具体的には、チャンキング動作は、(1)TCNモデル120の対応するブロックの勾配EMAをベクトルに平坦化すること、(2)勾配ベクトルをd個のチャンクに分割すること、(3)各チャンクを隠れ表現にマッピングすること、および(4)各隠れ表現をターゲット適応パラメータuの座標にマッピングすることとして実施され得る。例えば、テンソルをベクトルに平坦化するベクトル化演算(vec(・))と、ベクトルeを、各々がサイズdim(e)/Bを有するB個のセグメントに分割する分割演算(e,B)と使用することで、TCNバックボーンのバックボーンの層のEMA勾配313は、次のようにチャンキングプロセスを介して適応係数
            
【数10】
となる:
            
【数11】
このようにして、チャネルごとに適応が適用され得、これは、メモリオーバーヘッドを大幅に低減し、圧縮および一般化を提供する。
 
【0026】
  要約すると、
            【数12】
が畳み込み演算を示すものとすると、ステップtにおいて、FSNetアダプタは、l番目の層に対して高速適応手順を使用し得、以下のように要約される:
            
【数13】
          
【0027】
  一実施形態では、時系列で、古いパターンが将来再び現れることがあり、学習をさらに容易にするために過去の同様の知識を思い出すことが有益である。元のデータを記憶することでこの問題を軽減することができるが、プライバシーの問題から、多くのドメインにおいて適用可能ではない場合がある。したがって、連想メモリ318を実装して、学習中に遭遇する反復イベントの適応係数を記憶し得る。アダプタ315は、短い時間スケールにわたって高速の最近の変化を処理することができるが、再帰的パターンは、メモリ318に記憶され、それらが将来再び現れたときに取り出される。この目的のために、各アダプタ315は、
            【数14】
で示される連想メモリ318を備え、ここで、dはu
lの次元性を示し、Nは要素の数を示す。連想メモリ318は、このような重要なイベントの記憶、取り出し、および更新を行うために、アダプタと疎らにしか対話しない。
 
【0028】
  具体的には、すべてのステップでメモリ318と対話することは高価であり、ノイズの影響を受けやすいので、メモリ対話は、表現の実質的な変化が検出されたときのみトリガされ得る。現在の表現と過去の表現との間の干渉は、勾配間のドット積によって特徴付けることができる。したがって、干渉がしきい値を下回ったとき(これはパターンが著しく変化したことを示し得る)にメモリ対話をトリガするために、最近の勾配と長期的な勾配との間のコサイン類似度が計算および監視され得る。この目的のために、勾配EMA
            【数15】
(313)を計算することに加えて、より小さい係数γ’<γを有する第2の勾配EMA
            
【数16】
が計算され、メモリ対話をトリガするためのそれらのコサイン類似度は、以下のようになる:
            
【数17】
ここで、τ>0は、干渉の有意な程度を決定するハイパーパラメータである。さらに、τは、比較的高い値(例えば、0.7)に設定され得、これにより、メモリは、重要であり得、再び現れる可能性がある有意な変化パターンのみを記憶する。例えば、例示的なEMAハイパーパラメータは、次のように設定され得る:アダプタのEMA係数γ=0.9、メモリ対話をトリガするための勾配EMAγ’=0.3、メモリトリガしきい値τ=0.75。
 
【0029】
  一実施形態では、現在の適応パラメータが、いくつかのサンプルに及び得るイベント全体をキャプチャしない可能性があるとき、メモリ読取りおよび書込み動作は、現在のパターンを完全にキャプチャするために適応パラメータのEMA(係数γ’を有する)を使用して実行され得る。u
lのEMAは、g
^
            lと同じ方法で計算される。メモリ対話がトリガされると、アダプタは、メモリ項目にわたる加重和であるアテンション読取り動作を介して過去の最も類似する変換を照会し、取り出す:
            
【数18】
メモリは競合するパターンを記憶する可能性があるので、上位k個(例えばk=2)の最も関連性のあるメモリ項目を取り出すことによって、疎なアテンションが適用される。取り出された適応パラメータは、過去に現在のパターンに適応する際の古い経験を特徴付けるものであり、次のように現在のパラメータとの重み付け和をとることによって現時点での学習を改善することができる:
            
【数19】
ここで、同じしきい値τを使用して、疎らなメモリ対話および適応パラメータの加重和を決定することができる。次に、M
1に記憶された知識を更新し、蓄積するために書込み動作が実行される:
            
【数20】
ここで、
            
【数21】
は外積演算子を表し、これは、
            
【数22】
によって示される最も関連性のある位置に新しい知識を効率的に書き込むことを可能にする。次いで、メモリは、その値が指数関数的にスケーリングすることを回避するために正規化される。
 
【0030】
  一実施形態では、
図1~
図3に関連して説明されたFSNetフレームワークは、明示的にタスクがいつ切り替わるかを検出する必要がないので、タスクフリーのオンライン継続学習シナリオに適している。代わりに、タスク境界定義を緩和して、モデルが現在のサンプルに対するその学習を連続的に改善することを可能にすることができる。
            
コンピューティング環境
          
【0031】
  図4は、本明細書で説明されるいくつかの実施形態による、FSNetフレームワークを実装するコンピューティングデバイスの簡略図である。
図4に示すように、コンピューティングデバイス400は、メモリ420に結合されたプロセッサ410を含む。コンピューティングデバイス400の動作は、プロセッサ410によって制御される。コンピューティングデバイス400は、1つのみのプロセッサ410とともに示されているが、プロセッサ410は、コンピューティングデバイス400内の1つまたは複数の中央処理装置、マルチコアプロセッサ、マイクロプロセッサ、マイクロコントローラ、デジタルシグナルプロセッサ、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、グラフィックス処理ユニット(GPU)および/または同様のものを代表するものであり得ることが理解される。コンピューティングデバイス400は、スタンドアロンサブシステムとして、コンピューティングデバイスに追加された基板として、および/または仮想マシンとして実装され得る。
 
【0032】
  メモリ420は、コンピューティングデバイス400によって実行されるソフトウェアおよび/またはコンピューティングデバイス400の動作中に使用される1つまたは複数のデータ構造を記憶するために使用され得る。メモリ420は、1つまたは複数のタイプの機械可読媒体を含み得る。機械可読媒体のいくつかの一般的な形態は、フロッピー(登録商標)ディスク、フレキシブルディスク、ハードディスク、磁気テープ、任意の他の磁気媒体、CD-ROM、任意の他の光媒体、パンチカード、紙テープ、穴のパターンを有する任意の他の物理媒体、RAM、PROM、EPROM、FLASH-EPROM、任意の他のメモリチップもしくはカートリッジ、および/またはプロセッサもしくはコンピュータがそこから読み取るように適合された任意の他の媒体を含み得る。
【0033】
  プロセッサ410および/またはメモリ420は、任意の適切な物理的配置で配置され得る。いくつかの実施形態では、プロセッサ410および/またはメモリ420は、同じ基板上、同じパッケージ(例えば、システムインパッケージ)内、同じチップ(例えば、システムオンチップ)上などに実装され得る。いくつかの実施形態では、プロセッサ410および/またはメモリ420は、分散、仮想化、および/またはコンテナ化されたコンピューティングリソースを含み得る。そのような実施形態と一致して、プロセッサ410および/またはメモリ420は、1つまたは複数のデータセンターおよび/またはクラウドコンピューティング施設内に位置し得る。
【0034】
  いくつかの例では、メモリ420は、1つまたは複数のプロセッサ(例えば、プロセッサ410)によって実行されると、1つまたは複数のプロセッサに、本明細書でさらに詳細に説明される方法を実行させ得る実行可能コードを含む非一時的有形機械可読媒体を含み得る。例えば、示されるように、メモリ420は、システムおよびモデルを実装および/もしくはエミュレートするために、ならびに/または本明細書でさらに説明される方法のうちのいずれかを実装するために使用され得る、オンライン時系列予測モジュール430のための命令を含む。いくつかの例では、オンライン時系列予測モジュール430は、データインターフェース415を介して、例えばルックバックウィンドウ内の時系列データなどの入力440を受信し得る。データインターフェース415は、アップロードされた時系列データを受信するユーザインターフェース、またはルックバックウィンドウおよび予測ウィンドウの以前に記憶されたサンプルをデータベースから受信または取り出し得る通信インターフェースのいずれかであり得る。時系列予測モジュール430は、入力440に対する予測などの出力450を生成し得る。
【0035】
  いくつかの実施形態では、時系列予測モジュール430は、一連のTCNブロック431a~n(
図1に示す104a~nと同様)と、リグレッサ432(
図1に示す105と同様)とをさらに含み得る。一実装形態では、時系列予測モジュール430およびそのサブモジュール431~432は、ソフトウェア、ハードウェア、および/またはそれらの組合せを介して実装され得る。
 
【0036】
  コンピューティングデバイス400などのコンピューティングデバイスのいくつかの例は、1つまたは複数のプロセッサ(例えば、プロセッサ410)によって実行されると、1つまたは複数のプロセッサに、本開示全体にわたって説明される方法のプロセスを実行させ得る実行可能コードを含む非一時的有形機械可読媒体を含み得る。方法のプロセスを含み得る機械可読媒体のいくつかの一般的な形態は、例えば、フロッピー(登録商標)ディスク、フレキシブルディスク、ハードディスク、磁気テープ、任意の他の磁気媒体、CD-ROM、任意の他の光媒体、パンチカード、紙テープ、穴のパターンを有する任意の他の物理媒体、RAM、PROM、EPROM、FLASH-EPROM、任意の他のメモリチップもしくはカートリッジ、および/またはプロセッサもしくはコンピュータがそこから読み取るように適合された任意の他の媒体である。
            ワークフローの例
         
【0037】
  図5は、本明細書で説明される実施形態による、
図1~
図3に記載のFSNetフレームワークにおいて実装される高速学習ネットワークおよび低速学習ネットワークのための簡略化された擬似コードセグメントである。例えば、L層(例えば、
図1中の104a~n)のスタックの場合、各層における重み適応成分α
lと特徴適応成分β
lとを含む適応パラメータを計算するために、順方向計算が実行され得る。メモリ読取りおよび書込み動作は、チャンキングプロセスを介して実行され得、適応パラメータは、現在の適応パラメータと過去の適応パラメータの加重和によって更新され得る。
 
【0038】
  次に、式(5)にしたがって重み適応および特徴適応が実行され得る。L層にわたる順方向計算によって適応パラメータを更新した後、リグレッサ(例えば、
図1の105)を介して予測データを生成することができる。次いで、予測データを、トレーニングサンプルからのグラウンドトゥルースの将来のデータと比較して予測損失を計算し、その後、予測損失を使用して、逆伝搬を介してL層のスタックを更新する。リグレッサはまた、確率的勾配降下法(SGD)を介して更新され得る。次に、適応パラメータおよびEMA適応パラメータが後方に更新される。
 
【0039】
  図6は、本明細書で説明される実施形態による、
図5の擬似コードアルゴリズムに対応する例示的なプロセス600を示す簡略化された論理フロー図である。方法600のプロセスのうちの1つまたは複数は、少なくとも部分的に、1つまたは複数のプロセッサによって実行されると、1つまたは複数のプロセッサに、プロセスのうちの1つまたは複数を実行させ得る、非一時的有形機械可読媒体上に記憶された実行可能コードの形態で実装され得る。いくつかの実施形態では、方法600は、動的システムにおいて将来のタイムスタンプにおける時系列データを予測するためのFSNetフレームワーク100(
図1)の動作に対応する。
 
【0040】
  ステップ602において、ルックバック時間ウィンドウ(例えば、
図1の102)内の複数のタイムスタンプに対応する複数のデータポイントを含む時系列データセットが、データインターフェース(例えば、
図4の415)を介して受信され得る。
 
【0041】
  ステップ604において、畳み込み層のスタック(例えば、
図1のブロック104a~n)からの畳み込み層(例えば、
図1~
図2のブロック104a)は、例えば、式(1)にしたがって、それぞれの畳み込み層に対応する勾配の指数移動平均に基づいて第1の勾配を計算し得る。
 
【0042】
  ステップ606において、畳み込み層に対応する第1の適応パラメータu1が、第1の勾配の部分を第1の適応パラメータの要素にマッピングすることによって決定され得る。例えば、第1の適応パラメータは、第1の重み適応成分αlおよび第1の特徴適応成分βlを含む。
【0043】
  ステップ608において、時間畳み込みニューラルネットワークの少なくとも1つの畳み込み層について、複数のデータポイントにしたがった全体的な予測損失に対するそれぞれの畳み込み層の損失寄与を示す層予測損失が、複数のデータポイントに基づいて任意選択で決定され得る。例えば、層予測損失は、偏導関数
            【数23】
を介して計算され得る。
 
【0044】
  ステップ610において、任意選択で、少なくとも1つの畳み込み層が、層予測損失に基づいて更新され得る。このように、各層を独立して監視および修正して、層予測損失を通じて学習することによって現在の損失を学習し得る。
【0045】
  ステップ612において、更新された畳み込み層の第1の勾配と少なくとも1つの第1の畳み込み層に関連付けられた長期的な勾配との間のコサイン類似度が、例えば、式(6)にしたがって計算され得る。
【0046】
  ステップ614において、コサイン類似度が予め定義されたしきい値よりも大きい場合、方法600はステップ616に進み、メモリ読出しおよび書込みのためのチャンキングプロセスを実行する。具体的には、ステップ616において、畳み込み層に対応するインデックス付きメモリ(例えば、
図3の318)から現在の適応パラメータが取り出される。ステップ618において、インデックス付きメモリ(例えば、
図3の318)に記憶されたコンテンツが、現在の適応パラメータと第1の適応パラメータとに基づいて更新される。ステップ620において、第1の適応パラメータは、取り出された現在の適応パラメータとの加重平均をとることによって更新される。
 
【0047】
  ステップ622において、例えば、式(5)にしたがって、第1の重み適応成分α
lと第1の層に対応する層パラメータθ
lとに基づいて、適応された層パラメータ
            
【数24】
が計算される。
 
【0048】
  ステップ624において、第1の畳み込み層の特徴マップh
lが、第1の特徴適応成分β
lを用いて生成される。例えば、第1の特徴マップは、適応された層パラメータと前の層からの前の適応された特徴マップとの畳み込みである。ステップ626において、第1の特徴適応成分β
lと第1の畳み込み層の第1の特徴マップh
lとに基づいて、適応された特徴マップ
            
【数25】
が計算される。
 
【0049】
  ステップ628において、リグレッサ(例えば、
図1の105)は、ルックバック時間ウィンドウ内の時系列データに対応する畳み込み層のスタックから出力された最終特徴マップに基づいて、将来の時間ウィンドウに対応する時系列予測データを生成し得る。
 
【0050】
  ステップ630において、生成された時系列予測データと将来の時間ウィンドウに対応するグラウンドトゥルースデータとに基づいて、予測損失が計算され得る。
【0051】
  次いで、畳み込み層のスタックおよびリグレッサが、逆伝搬を介して予測損失に基づいて更新され得る。ステップ632において、リグレッサは、確率的勾配降下法を介して更新され得る。次いで、ステップ634において、スタックの各層の勾配および適応パラメータが後方に更新され得る。
            性能の例
         
【0052】
  以下の仮説を検証するためにデータ実験を実施した:(i)FSNetは、既存のストラテジと比較して、新しい概念と再帰的概念の両方へのより高速な適応を容易にする;(ii)FSNetは、他の方法よりも高速かつ良好な収束を達成する;(iii)偏導関数をモデル化することは、高速適応のための重要な要素である。
【0053】
  具体的には、広範囲の時系列予測データセットをデータ実験に使用した:(i)ETT1(Zhou  et  al.,  Informer:  Beyond  efficient  transformer  for  long  sequence  time-series  forecasting,  in  Proceedings  of  AAAI,  2021)は、2年間にわたって「油温」の目標値および6つの電力負荷特徴を記録したものである。ETTh2およびETTm1ベンチマークが使用され、それぞれ1時間間隔および15分間隔で観測値が記録される。(ii)ECL(Electricty  Consuming  Load)2データセットは、2012年から2014年までの321人のクライアントの電気消費量を収集したものである。(iii)Traffic3データセットは、サンフランシスコ湾岸地帯の高速道路の道路占有率を記録したものである。(iv)Weather4データセットは、2010年から2013年まで1時間間隔で、米国の約1,600箇所の11の気候特徴を記録したものである。
【0054】
  加えて、2つの合成データセットを構築して、新たなおよび再帰的概念ドリフトに対処するモデルの能力を明示的に試験する。タスクは、係数φを有する一次自己回帰プロセスARφ(1)から1,000個のサンプルをサンプリングすることによって合成され得、ここで、異なるタスクは異なるφ値に対応する。第1の合成データS-Abruptは、サンプルが、AR0.1(1)、AR0.4(1)、AR0.6(1)、AR0.1(1)、AR0.3(1)、AR0.6(1)という順序であるARプロセスから別のARプロセスに突然切り替わる、突然および再帰的概念を含む。第2のデータS-Gradualは、段階的で漸進的なシフトを含み、このシフトは、各タスクの最後の20%から開始する。このシナリオでは、タスクの最後の20%のサンプルは、上記のような順序で2つのARプロセスから平均化される。
【0055】
  実装時に、データは、25:75の比でウォームアップフェーズとオンライントレーニングフェーズとに分割され、Informerベースラインを除いて、実験のためのTCNバックボーンを考慮する。AdamWオプティマイザを用いてl2(MSE)損失を最適化することによる、Zhang  et  al.,  Informer:  Beyond  efficient  transformer  for  long  sequence  time-series  forecasting,  in  Proceedings  of  AAAI,  2021に記載の最適化の詳細。エポックおよびバッチサイズの両方は、オンライン学習設定に従うように1に設定される。すべてのベースラインがFSNetと同じ総メモリバジェットを使用することを保証することによって公正な比較が実施され、これには、ネットワークサイズの3倍、すなわち、1つの作業モデルおよびその勾配の2つのEMAが含まれる。したがって、ER、MIR、およびDER++については、このバジェットを満たすために、以前のサンプルを記憶するエピソード記憶を使用する。残りのベースラインについては、代わりに、バックボーンサイズを増加させることができる。最後に、ウォームアップフェーズにおいて、平均および標準偏が計算されて、オンライントレーニングサンプルを正規化し、ハイパーパラメータ相互検証を実行する。すべてのベンチマークについて、ルックバックウィンドウ長は60に設定され、予測ホライズンはH=1に設定される。H∈{1,24,48}を変化させることによって、より長いホライズンを予測するモデルの能力を試験する。
【0056】
  比較のために、継続学習および時系列予測の両方からの一連のトレーニングが採用される。1つ目は、単に連続的にトレーニングするOnlineTCNストラテジ(Zinkevich,  Online  convex  programming  and  generalized  infinitesimal  gradient  ascent,  in  Proceedings  of  the  20th  international  conference  on  machine  learning  (icml-03),  pages  928-936,461,  2003に記載)である。2つ目は、Experience  Replay(ER)ストラテジ(Lin,  Self-improving  reactive  agents  based  on  reinforcement  learning,  planning  and  teaching,  Machine  learning,  8(3-4):293-321,  1992に記載)であり、ここでは、以前のデータを記憶し、より新しいサンプルの学習中に古いサンプルをインターリーブするためにバッファが採用される。ERの3つの最近の高度な変形例。まず、TFCL(Aljundi  et  al.,  Task-free  continual  learning,  in  Proceedings  of  the  IEEE/CVF  Conference  on  Computer  Vision  and  Pattern  Recognition,  pages  11254-11263,325,  2019)が、ネットワークの出力を正則化することによって、タスク境界検出メカニズムおよび知識統合ストラテジを導入する。次に、MIR(Aljundi  et  al.,  Online  continual  learning  with  maximal  interfered  retrieval.  Advances  in  Neural  Information  Processing  Systems,  32:11849-11860,  2019)が、ERにおけるランダムサンプリングを、最も多くの忘却を引き起こすサンプルを選択することに置き換える。最後に、DER++(Buzzega  et  al.,  Dark  experience  for  general  continual  learning:  a  strong,  simple  baseline,  in  34th  Conference  on  Neural  Information  Processing  Systems  (NeurIPS  2020),  2020)は、知識蒸留ストラテジ(Hinton  et  al.,  Distilling  the  knowledge  in  a  neural  network.  arXiv  preprint  arXiv:1503.02531,  2015に記載)で標準的なERを強化する。ERおよびその変形は、単一のサンプルからのノイズを大幅に低減し、より高速で良好な収束を提供するミニバッチでのトレーニングの利益を享受するので、オンライン設定における強力なベースラインである(Bottou  et  al.,  Online  learning  and  stochastic  approximations,  Online  learning  in  neural  networks,  17(9):142,  1998を参照されたい)。前述のベースラインは、TCNバックボーン、Informerを使用するが、トランスフォーマアーキテクチャに基づく時系列予測方法(Vaswani  et  al.,  Attention  is  all  you  need.  Advances  in  neural  information  processing  systems,  30,  2017)も含まれる。
【0057】
  まず、単に連続的にトレーニングするOnline  Gradient  Descent(OGD)(Zinkevich,  Online  convex  and  generalized  infinitesimal  gradient  ascent,  in  proceedings  of  the  20th  international  conference  on  machine  learning,  pp.  928-936,  2003に記載)ストラテジである。層ごとに2倍のTCNのフィルタを有するOGDの大きな変形であるOGD(L)も含まれ、おおよそ2倍の数のparameters5をもたらす。もう1つのベースラインは、以前のデータを記憶し、より新しいサンプルの学習中に古いサンプルをインターリーブするためにバッファが採用されるExperiment  Repla(Chaudhry  et  al.,  On  tiny  episodic  memories  in  continual  learning,  arXiv  preprint  arXiv:1902.10486,  2019に記載)ストラテジを含む。もう1つのベースラインは、知識蒸留(Hinton  et  al.,  Distilling  the  knowledge  in  a  neural  network,  arXiv  preprint  arXiv:1503.02531,  2015に記載)損失をERにさらに追加するDER++(Buzzega  et  al.,  Dark  experience  for  general  continual  learning:  a  strong,  simple  baseline,  in  proceedings  of  34th  Conference  on  Neural  Information  Processing  Systems  (NeurIPS  2020),  2020)を含む。ERおよびDER++は、単一のサンプルからのノイズを大幅に低減し、より高速で良好な収束を提供するミニバッチでのトレーニングの利益を享受するので、オンライン設定における強力なベースラインである。
【0058】
  図7は、トレーニング終了時の累積平均二乗誤差(MSE)および平均絶対誤差(MAE)を報告する。ERおよびDER++は強力な競合相手であり、OGDストラテジよりも大幅に改善できることが観察される。しかしながら、そのような方法は、複数のタスクの切り替え(S-Abrupt)の下では依然としてうまく機能することができない。さらに、明確なタスク境界がないこと場合(S-Gradua)、さらに困難な問題が生じ、ほとんどのモデルのエラーが増加する。一方、FSNetは、すべてのデータセットで有望な結果を示しており、異なる予測ホライズンにわたってほとんどの競合ベースラインを上回る。さらに、この改善は、合成ベンチマークに対して有意であり、LSFNetが、明確なタスク境界がなくても、非定常環境に迅速に適応し、以前の知識を思い出すことができることを示している。
 
【0059】
  図8は、検討された方法に関する収束挙動を報告する。その結果は、OGDと比較して学習中の収束がより速いことによるERの利点を示すものである。しかしながら、元のデータを記憶することは、多くのドメインに適用されない場合があることに留意することが重要である。S-Abruptでは、ほとんどのベースラインが、概念ドリフトから迅速に回復することができないことを実証しており、増加するエラー曲線によって示される。また、ほとんどのデータセットでFSNetの有望な結果が観察され、ETT、WTH、およびS-Abruptデータセットではベースラインよりも大幅に改善されている。ECLデータセットは、欠損値があり(Li  et  al.,  2019)、次元内および次元にわたる変動が大きいためより困難であり、より良好なデータ正規化を計算することを必要とし得る。FSNetは、ECLに対して有望な結果を達成したが、上記の課題に対処することで、その性能をさらに向上させることができる。全体として、この結果は、オンライン時系列予測の課題を明らかにし、FSNetの有望な結果を実証する。
 
【0060】
  S-Abruptに関するモデルの予測品質は、単変量時系列であるため、
図8に示されるように視覚化される。残りの実世界データセットは多変量であり、視覚化することが困難である。特に、2つの時点、すなわち、
図9のt=900および学習終了時であるt=5900におけるモデルの予測がプロットされている。タスクごとのサンプルが限られており、複数の概念ドリフトが存在するので、標準的なオンライン最適化は、ゼロ付近のランダムノイズを予測する素朴なソリューションに崩壊した。しかしながら、FSNetは、時系列パターンをうまくキャプチャし、より良好な予測を提供することができる。
 
【0061】
  発明的な態様、実施形態、実装形態、または適用例を示すこの説明および添付の図面は、限定的なものとして解釈されるべきではない。本明細書および特許請求の範囲の趣旨および範囲から逸脱することなく、様々な機械的、組成的、構造的、電気的、および動作上の変更が行われ得る。いくつかの事例では、周知の回路、構造、または技法は、本開示の実施形態を不明瞭にしないために、詳細に示されていないか、または説明されていない。2つ以上の図における同様の番号は、同じまたは類似の要素を表す。
【0062】
  この説明では、本開示と一致するいくつかの実施形態を説明する具体的な詳細が記載される。実施形態の完全な理解を提供するために、多数の具体的な詳細が記載される。しかしながら、いくつかの実施形態は、これらの具体的な詳細の一部または全部がなくても実施され得ることが当業者には明らかであろう。本明細書中に開示される特定の実施形態は、例示的なものであり、限定的であることを意味するものではない。当業者は、本明細書で具体的に説明されていないが、本開示の範囲および趣旨内にある他の要素を認識し得る。加えて、不必要な繰り返しを避けるために、一実施形態に関連して示され、説明される1つまたは複数の特徴は、特に別様に説明されない限り、または1つまたは複数の特徴が実施形態を非機能的にする場合、他の実施形態に組み込まれ得る。
【0063】
  実例となる実施形態が示され、説明されたが、広範囲の修正、変更、および置換が、前述の開示において想定され、いくつかの事例では、実施形態のいくつかの特徴は、他の特徴の対応する使用を伴わずに採用され得る。当業者であれば、多くの変形、代替、および修正を認識するであろう。したがって、本発明の範囲は、以下の特許請求の範囲によってのみ限定されるべきであり、特許請求の範囲は、広範にかつ本明細書に開示される実施形態の範囲と一致するように解釈されることが適切である。