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

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

▶ レモン インコーポレイテッドの特許一覧

<>
  • 特表-定期的データを用いた機械学習 図1
  • 特表-定期的データを用いた機械学習 図2
  • 特表-定期的データを用いた機械学習 図3
  • 特表-定期的データを用いた機械学習 図4
  • 特表-定期的データを用いた機械学習 図5
  • 特表-定期的データを用いた機械学習 図6
  • 特表-定期的データを用いた機械学習 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2025-02-19
(54)【発明の名称】定期的データを用いた機械学習
(51)【国際特許分類】
   G06N 20/00 20190101AFI20250212BHJP
   G06F 18/27 20230101ALI20250212BHJP
【FI】
G06N20/00
G06F18/27
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024547132
(86)(22)【出願日】2023-01-31
(85)【翻訳文提出日】2024-10-04
(86)【国際出願番号】 SG2023050052
(87)【国際公開番号】W WO2023149838
(87)【国際公開日】2023-08-10
(31)【優先権主張番号】17/666,076
(32)【優先日】2022-02-07
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】521388058
【氏名又は名称】レモン インコーポレイテッド
【氏名又は名称原語表記】Lemon Inc.
(74)【代理人】
【識別番号】110004381
【氏名又は名称】弁理士法人ITOH
(72)【発明者】
【氏名】ヤン,インシアン
(72)【発明者】
【氏名】リィウ,ティエンイ
(72)【発明者】
【氏名】ワン,タイチン
(72)【発明者】
【氏名】ワン,チョォン
(72)【発明者】
【氏名】ション,ジハン
(57)【要約】
本開示の実施形態は、周期的データを用いた機械学習に関する。本開示の実施形態によれば、入力データサンプルの特徴表現は予測モデルから取得される。フーリエ展開における第1の成分の第1のフーリエ係数は、前記特徴表現を第1のマッピングモデルに適用することで決定され、前記フーリエ展開における第2の成分の第2のフーリエ係数は、前記特徴表現を第2のマッピングモデルに適用することで決定される。前記フーリエ展開における第1フーリエ係数及び第2フーリエ係数に基づいてフーリエ展開結果が決定され、前記フーリエ展開結果に基づいて前記入力データサンプルの予測結果が決定される。
【特許請求の範囲】
【請求項1】
方法であって、
予測モデルから入力データサンプルの特徴表現を取得するステップであって、前記予測モデルは、周期性を持って入力データを処理するように構成され、前記入力データサンプルは、周期内のある時点で生成された前記入力データのサンプルであるステップと、
前記特徴表現を第1のマッピングモデルに適用することでフーリエ展開における第1の成分の第1のフーリエ係数を決定するステップであって、前記フーリエ展開は前記時点及び前記特徴表現に依存し、前記フーリエ展開は前記周期性を有するステップと、
前記特徴表現を第2のマッピングモデルに適用することで、前記フーリエ展開における第2の成分の第2のフーリエ係数を決定するステップと、
前記フーリエ展開における前記第1のフーリエ係数及び前記第2のフーリエ係数に基づいてフーリエ展開結果を決定するステップと、
前記フーリエ展開結果に基づいて前記入力データサンプルの予測結果を決定するステップとを含む、方法。
【請求項2】
前記フーリエ展開は、所定数の項を有する切り捨てフーリエ展開を含み、前記第1のフーリエ係数の数及び前記第2のフーリエ係数の数は、前記所定の数に基づく、請求項1に記載の方法。
【請求項3】
前記第1の成分は、前記時点に依存し、前記周期性を有するサイン関数に基づいており、前記第2の成分は、前記周期性を有するコサイン関数に基づいており、前記フーリエ展開結果を決定するステップは、
前記サイン関数の周波数を前記所定の回数シフトすることで、前記第1の成分に対するの第1の成分値の集合を決定するステップと、
前記コサイン関数の周波数を前記所定の回数シフトすることで、前記第2の成分に対する第2の成分値の集合を決定するステップと、
前記第1のフーリエ係数に前記第1の成分値をそれぞれ掛け算し、前記第2のフーリエ係数に前記第2の成分値を掛け算することで、前記フーリエ展開結果を決定するステップとを含む、請求項2に記載の方法。
【請求項4】
前記第1のフーリエ係数に前記第1の成分値をそれぞれ掛け算し、前記第2のフーリエ係数に前記第2の成分値を掛け算することで、前記フーリエ展開結果を決定するステップは、
前記第1のフーリエ係数に前記第1の成分値を掛け算することで第1の積を計算するステップと、
前記第2のフーリエ係数に前記第2の成分値を掛け算することで第2の積を計算するステップと、
第3のマッピングモデルを使用して前記第1の積を第1の中間展開結果にマッピングし、第4のマッピングモデルを使用して前記第2の積を第2の中間展開結果にマッピングするステップと、
前記第1の中間展開結果と前記第2の中間展開結果とを集計することで前記フーリエ展開結果を決定するステップとを含む、請求項3に記載の方法。
【請求項5】
前記フーリエ展開結果に基づいて、前記入力データサンプルの予測結果を決定するステップは、
前記フーリエ展開結果から第1の中間予測結果を決定するステップと、
前記特徴表現に基づいて、前記予測モデルの出力層から生成された第2の中間予測結果を取得するステップと、
前記第1の中間予測結果と前記第2の中間予測結果とを集計することで、前記予測結果を決定するステップとを含む、請求項1~4のいずれか一項に記載の方法。
【請求項6】
前記予測モデルは、前記入力データサンプルから複数の特徴表現を抽出するように構成された複数のサブモデルを含み、前記特徴表現を取得するステップは、
前記複数のサブモデルから前記複数の特徴表現を取得するステップと、
前記複数の特徴表現を集計することで前記特徴表現を生成するステップとを含む、請求項1~5のいずれか一項に記載の方法。
【請求項7】
前記第1のマッピングモデル及び前記第2のマッピングモデルは、活性化関数なしで構築される、請求項1~6のいずれか一項に記載の方法。
【請求項8】
少なくとも1つのプロセッサと、
少なくとも1つのメモリとを含むシステムであって、
前記メモリは、前記少なくとも1つのプロセッサに通信可能に結合され、前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに、
予測モデルから入力データサンプルの特徴表現を取得するステップであって、前記予測モデルは、周期性を持って入力データを処理するように構成され、前記入力データサンプルは、周期内のある時点で生成された前記入力データのサンプルであるステップと、
前記特徴表現を第1のマッピングモデルに適用することで、フーリエ展開における第1の成分の第1のフーリエ係数を決定するステップであって、前記フーリエ展開は前記時点及び前記特徴表現に依存し、前記フーリエ展開は前記周期性を有するステップと、
前記特徴表現を第2のマッピングモデルに適用することで、前記フーリエ展開における第2の成分の第2のフーリエ係数を決定するステップと、
前記フーリエ展開における前記第1のフーリエ係数及び前記第2のフーリエ係数に基づいて、フーリエ展開結果を決定するステップと、
前記フーリエ展開結果に基づいて、前記入力データサンプルの予測結果を決定するステップとを含む動作を実行させるコンピュータ可読命令を含む、システム。
【請求項9】
前記フーリエ展開は、所定数の項を有する切り捨てフーリエ展開を含み、前記第1のフーリエ係数の数及び前記第2のフーリエ係数の数は、前記所定の数に基づく、請求項8に記載のシステム。
【請求項10】
前記第1の成分は、前記時点に依存し、前記周期性を有するサイン関数に基づいており、前記第2の成分は、前記周期性を有するコサイン関数に基づいており、前記フーリエ展開結果を決定することは、
前記サイン関数の周波数を前記所定の回数シフトすることで、前記第1の成分に対するの第1の成分値の集合を決定するステップと、
前記コサイン関数の周波数を前記所定の回数シフトすることで、前記第2の成分に対する第2の成分値の集合を決定するステップと、
前記第1のフーリエ係数に前記第1の成分値をそれぞれ掛け算し、前記第2のフーリエ係数に前記第2の成分値を掛け算することで、前記フーリエ展開結果を決定するステップとを含む、請求項9に記載のシステム。
【請求項11】
前記第1のフーリエ係数に前記第1の成分値をそれぞれ掛け算し、前記第2のフーリエ係数に前記第2の成分値を掛け算することで、前記フーリエ展開結果を決定することは、
前記第1のフーリエ係数に前記第1の成分値を掛け算することで第1の積を計算するステップと、
前記第2のフーリエ係数に前記第2の成分値を掛け算することで第2の積を計算するステップと、
第3のマッピングモデルを使用して前記第1の積を第1の中間展開結果にマッピングし、第4のマッピングモデルを使用して前記第2の積を第2の中間展開結果にマッピングするステップと、
前記第1の中間展開結果と前記第2の中間展開結果とを集計することで前記フーリエ展開結果を決定するステップとを含む、請求項10に記載のシステム。
【請求項12】
前記フーリエ展開結果に基づいて、前記入力データサンプルの予測結果を決定することは、
前記フーリエ展開結果から第1の中間予測結果を決定するステップと、
前記特徴表現に基づいて、前記予測モデルの出力層から生成された第2の中間予測結果を取得するステップと、
前記第1の中間予測結果と前記第2の中間予測結果とを集計することで、前記予測結果を決定するステップとを含む、請求項8~11のいずれか一項に記載のシステム。
【請求項13】
前記予測モデルは、前記入力データサンプルから複数の特徴表現を抽出するように構成された複数のサブモデルを含み、前記特徴表現を取得することは、
前記複数のサブモデルから前記複数の特徴表現を取得するステップと、
前記複数の特徴表現を集計することで、前記特徴表現を生成するステップとを含む、請求項8~12のいずれか一項に記載のシステム。
【請求項14】
前記第1のマッピングモデル及び前記第2のマッピングモデルは、活性化関数なしで構築される、請求項8~13のいずれか一項に記載のシステム。
【請求項15】
コンピュータ可読命令を記憶する非一時的なコンピュータ可読記憶媒体であって、
前記コンピュータ可読命令は、コンピューティングデバイスによって実行されると、前記コンピューティングデバイスに、
予測モデルから入力データサンプルの特徴表現を取得するステップであって、前記予測モデルは、周期性を持って入力データを処理するように構成され、前記入力データサンプルは、周期内のある時点で生成された前記入力データのサンプルであるステップと、
前記特徴表現を第1のマッピングモデルに適用することで、フーリエ展開における第1の成分の第1のフーリエ係数を決定するステップであって、前記フーリエ展開は前記時点及び前記特徴表現に依存し、前記フーリエ展開は前記周期性を有するステップと、
前記特徴表現を第2のマッピングモデルに適用することで、前記フーリエ展開における第2の成分の第2のフーリエ係数を決定するステップと、
前記フーリエ展開における前記第1のフーリエ係数及び前記第2のフーリエ係数に基づいて、フーリエ展開結果を決定するステップと、
前記フーリエ展開結果に基づいて、前記入力データサンプルの予測結果を決定するステップとを含む動作を実行させる、非一時的なコンピュータ可読記憶媒体。
【請求項16】
前記フーリエ展開は、所定数の項を有する切り捨てフーリエ展開を含み、前記第1のフーリエ係数の数及び前記第2のフーリエ係数の数は、前記所定の数に基づく、請求項15に記載の非一時的なコンピュータ可読記憶媒体。
【請求項17】
前記第1の成分は、前記時点に依存し、前記周期性を有するサイン関数に基づいており、前記第2の成分は、前記周期性を有するコサイン関数に基づいており、前記フーリエ展開結果を決定することは、
前記サイン関数の周波数を前記所定の回数シフトすることで、前記第1の成分に対するの第1の成分値の集合を決定するステップと、
前記コサイン関数の周波数を前記所定の回数シフトすることで、前記第2の成分に対する第2の成分値の集合を決定するステップと、
前記第1のフーリエ係数に前記第1の成分値をそれぞれ掛け算し、前記第2のフーリエ係数に前記第2の成分値を掛け算することで、前記フーリエ展開結果を決定するステップとを含む、請求項16に記載の非一時的なコンピュータ可読記憶媒体。
【請求項18】
前記第1のフーリエ係数に前記第1の成分値をそれぞれ掛け算し、前記第2のフーリエ係数に前記第2の成分値を掛け算することで、前記フーリエ展開結果を決定することは、
前記第1のフーリエ係数に前記第1の成分値を掛け算することで第1の積を計算するステップと、
前記第2のフーリエ係数に前記第2の成分値を掛け算することで第2の積を計算するステップと、
第3のマッピングモデルを使用して前記第1の積を第1の中間展開結果にマッピングし、第4のマッピングモデルを使用して前記第2の積を第2の中間展開結果にマッピングするステップと、
前記第1の中間展開結果と前記第2の中間展開結果とを集計することで、前記フーリエ展開結果を決定するステップとを含む、請求項17に記載の非一時的なコンピュータ可読記憶媒体。
【請求項19】
前記フーリエ展開結果に基づいて、前記入力データサンプルの予測結果を決定することは、
前記フーリエ展開結果から第1の中間予測結果を決定するステップと、
前記特徴表現に基づいて、前記予測モデルの出力層から生成された第2の中間予測結果を取得するステップと、
前記第1の中間予測結果と前記第2の中間予測結果とを集計することで、前記予測結果を決定するステップとを含む、請求項15~18のいずれか一項に記載の非一時的なコンピュータ可読記憶媒体。
【請求項20】
前記予測モデルは、前記入力データサンプルから複数の特徴表現を抽出するように構成された複数のサブモデルを含み、前記特徴表現を取得することは、
前記複数のサブモデルから前記複数の特徴表現を取得するステップと、
前記複数の特徴表現を集計することで前記特徴表現を生成するステップとを含む、請求項15~19のいずれか一項に記載の非一時的なコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願の相互参照]
本出願は、2022年2月7日に出願された「定期的データを用いた機械学習(MACHINE LEARNING WITH PERIODIC DATA)」という名称の米国特許出願第17/666,076号の優先権の利益を主張し、その全内容は、参照により本明細書に組み込まれる。
【背景技術】
【0002】
定期的又は周期的データは、広範囲の機械学習シナリオで頻繁に遭遇する。例えば、レコメンダーシステムでは、ユーザーは通常、毎日比較的固定された時間枠内(例:就寝前や仕事後など)にアプリケーションにログインし得るが、その結果、ユーザーへの推薦に強い周期的なパターンが生じることが観察されている。金融市場では、資産価格が毎年定期的に上下し得るが、これは一般に「季節性」として知られる現象である。検索エンジンでは、特定のキーワードのヒットにより定期的なパターンが表示されることもあり得る。したがって、訓練データ内の周期性をどのように利用してより良い予測モデルを学習するかは、これらのアプリケーションにとって重要な問題である。
【図面の簡単な説明】
【0003】
添付の図面を参照した以下の詳細な説明を通じて、本明細書に開示される例示的な実施形態の上記及び他の目的、特徴、及び利点がより理解可能になるであろう。図面では、本明細書に開示されるいくつかの例示的な実施形態が一例としてかつ非限定的な方式で示される。
【0004】
図1】本開示の実施形態を具現できる環境のブロック図を示す。
【0005】
図2】本開示のいくつかの例示的な実施形態による、フーリエ学習を用いた機械学習システムのブロック図を示す。
【0006】
図3】本開示のいくつかの他の例示的な実施形態による、フーリエ学習を用いた機械学習システムのブロック図を示す。
【0007】
図4】本開示のいくつかのさらなる例示的な実施形態による、フーリエ学習を用いた機械学習システムのブロック図を示す。
【0008】
図5】本開示のいくつかの実施形態による、擬似勾配降下法を用いたフーリエ学習の例示的なアルゴリズムの図を示す。
【0009】
図6】本開示のいくつかの例示的な実施形態によるフーリエ学習のプロセスのフローチャートを示す。
【0010】
図7】本開示の例示的な実施形態を具現するのに適した例示的なコンピューティングシステム/デバイスのブロック図を示す。
【発明を実施するための形態】
【0011】
次に、いくつかの実施形態を参照して、本開示の原理を説明する。これらの実施形態は、説明のみを目的として記載されており、当業者が本開示を理解し実施するのを助けるものであり、本開示の範囲に関していかなる限定も示唆するものではないことを理解すべきである。本明細書に記載の開示は、以下に記載する方法以外にも様々な方法で実施されることができる。
【0012】
以下の説明及び特許請求の範囲において、別段の定義がない限り、本明細書で使用される全ての技術用語及び科学用語は、本開示が属する技術分野の当業者によって一般に理解されるのと同じ意味を有する。
【0013】
本開示における「一つの実施形態」、「一実施形態」、「例示的な実施形態」などへの言及は、記載される実施形態が特定の特徴、構造、又は特性を含み得ることを示すが、必ずしも全ての実施形態が特定の特徴、構造、又は特性を含むとは限らない。また、そのような語句は必ずしも同じ実施形態を指しているわけではない。さらに、特定の特徴、構造、又は特性が例示的な実施形態に関連して説明される場合、明示的に記載されているかどうかにかかわらず、他の実施形態に関連してそのような特徴、構造、又は特性に影響を与えることは当業者の知識の範囲内であることが指摘される。
【0014】
「第1」及び「第2」などの用語は、本明細書では様々な要素を説明するために使用され得るが、これらの要素はこれらの用語によって限定されるべきではないことを理解すべきである。これらの用語は、ある要素を別の要素と区別するためにのみ使用される。例えば、例示的な実施形態の範囲から逸脱することなく、第1の要素が第2の要素と呼ばれ得、同様に、第2の要素が第1の要素と呼ばれ得る。本明細書で使用される「及び/又は」という用語には、列挙された用語の1つ又は複数のあらゆる組み合わせが含まれる。
【0015】
本明細書で使用される用語は、特定の実施形態を説明することのみを目的としており、例示的な実施形態を限定することを意図したものではない。本明細書で使用されるように、単数形「a(一つの)」、「an(一つの)」、及び「the(その)」は、文脈上明らかに別段の指示がない限り、複数形も含むものとする。「含む」、「備える」、「有する」、「持つ」、「含む」及び/又は「包含する」という用語は、本明細書で使用される場合、記載された特徴、要素、及び/又は構成要素などの存在を特定するが、1つ又は複数の他の特徴、要素、構成要素及び/又はそれらの組み合わせの存在又は追加を排除するものではないことがさらに理解されるであろう。
【0016】
本明細書で使用されるように、「モデル」という用語は、訓練データから学習された入力と出力との間の関連付けを指し、したがって、対応する出力は訓練後に所与の入力に対して生成され得る。該関連付けは、入力を処理して出力を生成する関数によって表され得る。モデルの生成は、機械学習技術に基づき得る。機械学習技術は、人工知能(AI)技術とも呼ばれ得る。一般に、入力情報を受け取り、入力情報に基づいて予測を行う機械学習モデルが構築さされ得る。このような機械学習モデルは、予測モデルと呼ばれ得る。例えば、分類モデルは、所定セットのクラスの中から入力情報のクラスを予測し得、推薦モデルは、ユーザーに関連するコンテキスト情報に基づいてユーザーに対する推薦結果を予測し得、検索エンジンに適用されるモデルは、ユーザーの行為に基づいて特定のキーワードがヒットする確率を予測し得る。本明細書で使用されるように、「モデル」は、「機械学習モデル」、「学習モデル」、「機械学習ネットワーク」又は「学習ネットワーク」とも呼ばれ得るが、これらは本明細書では交換可能に使用される。
【0017】
一般に、機械学習は、通常、3つの段階、即ち、訓練段階、検証段階、及びアプリケーション段階(推論段階とも呼ばれる)を含み得る。訓練段階では、モデルが人間の知能が行うことができるものと同様の一貫した推論を訓練データから取得できるようになるまで、大量の訓練データを使用して所与の機械学習モデルを反復的に訓練(又は最適化)し得る。訓練中、モデルのパラメータ値の集合が訓練目標が達成されるまで反復的に更新される。訓練プロセスを通じて、機械学習モデルは訓練データから入力と出力の間の関連性(入出力マッピングとも呼ばれる)を学習できると見なされ得る。検証段階では、訓練済みの機械学習モデルに検証入力が適用されて、モデルが正しい出力を提供できるか否かをテストして、モデルのパフォーマンスを決定する。アプリケーション段階では、結果として得られる機械学習モデルを使用して、訓練プロセスから取得したパラメータ値の集合に基づいて実際のモデル入力を処理し、対応するモデル出力を決定し得る。
【0018】
訓練データ集合全体を一度に学習することで最適な機械学習モデルを生成するバッチ学習手法とは対照的に、オンライン機械学習は、訓練データが順次に利用可能になり、各ステップで未来のデータに最適な機械学習モデルを更新するために使用される機械学習の方法である。
例示的な環境
【0019】
前述したように、訓練データ内の周期性を利用してより良い予測モデルを学習することが期待されている。機械学習手法に従って予測モデルが構築され、利用される。図1を参照して、機械学習の環境を説明する。
【0020】
図1は、本開示の実施形態が具現され得る環境100のブロック図を示す。環境100では、予測タスク用の機械学習モデル105を訓練し、適用することが期待される。機械学習モデル105は、任意の機械学習又は深層学習アーキテクチャ、例えば、ニューラルネットワークであり得る。
【0021】
実際のシステムでは、機械学習モデル105は、入力データサンプルを処理し、前記入力データサンプルに対する予測結果を生成するように構成され得る。予測タスクは、機械学習モデル105が適用される実際の用途に応じて定義され得る。一例として、推薦システムでは、予測タスクは、ユーザーが興味を持つ1つ以上のアイテム又はオブジェクトを予測し、その予測に基づいてユーザーに推薦を提供することである。この例では、機械学習モデル105への入力データサンプルは、ユーザー情報、履歴ユーザーインタラクションなどのユーザーに関連するコンテキスト情報と、推薦されるアイテムに関連する情報とを含み得る。機械学習モデル105からの出力は、ユーザーがどのアイテム又はどのタイプのアイテムに興味があるかを示す予測結果である。別の例として、金融アプリケーションにおいて、予測タスクは、将来における製品の売上高を予測することである。この例では、機械学習モデル105への入力データサンプルは、さらなる時間、製品及び/又は他の関連製品に関連する情報、製品及び/又は他の関連製品の歴史的な売上高、ターゲット地理的地域及び製品のターゲットユーザーなどに関連する情報を含み得る。限られた数の例のみが上に列挙されており、機械学習モデル105は他の予測タスクを具現するように構成され得ることが理解されるであろう。
【0022】
機械学習モデル105は、入力データを処理し、予測結果として出力を生成する関数として構築され得る。機械学習モデル105は、訓練プロセスを通じて訓練データから値が学習されるパラメータの集合が構成され得る。図1では、モデル訓練システム110は、訓練データ集合112に基づいて機械学習モデル105を訓練する訓練プロセスを具現するように構成されている。初期段階では、機械学習モデル105は、初期パラメータ値が構成されていても良い。訓練プロセス中、機械学習モデル105の初期パラメータ値は、学習目標が達成されるまで反復的に更新され得る。
【0023】
訓練データ集合112は、機械学習モデル105に提供される多数の入力データサンプルと、前記入力データサンプルの対応するグラウンドトゥルースラベルを示すラベリング情報とを含み得る。いくつかの実施形態では、機械学習モデル105の出力とグラウンドトゥルースラベルとの間の誤差(又は距離)を測定するために目的関数が使用される。このような誤差は機械学習の損失とも呼ばれ、目的関数は損失関数とも呼ばれ得る。損失関数は
【数1】
として表される得るが、ここで、xは入力データサンプルを表し、f()は機械学習モデルを表し、f(x)は機械学習モデルの出力を表し、yはxのグラウンドトゥルースラベルを表す。訓練中、機械学習モデル105のパラメータ値は、目的関数から計算される誤差を減らすために更新される。学習目標は、目的関数が最適化されるまで、例えば、計算された誤差が最小化されるか、又は所望の閾値に達するまで、達成され得る。
【0024】
訓練プロセスの後、更新されたパラメータ値か構成されている訓練された機械学習モデル105は、現実世界の入力データサンプル122を機械学習モデル105に適用して入力データサンプル122に対する予測結果を出力するモデル適用システムに提供され得る。
【0025】
図1でおいて、モデル訓練システム110及びモデル適用システム120はコンピューティング能力を備えた任意のシステムであり得る。図1に示される環境内のコンポーネント及び配置は単なる例であり、本明細書に記載される主題で説明される例示的な実施を具現するのに適したコンピューティングシステムは、1つ又は複数の異なるコンポーネント、他のコンポーネント、及び/又は異なる配置方式を含み得ることを理解されたい。例えば、別個のものとして示されているが、同じシステム又はデバイスに統合され得る。本開示の実施形態は、この点に限定されない。
【0026】
場合によっては、機械学習モデルによって処理される入力データは、特定の周期性を有し得る。このようなデータは、定期的又は周期的データと呼ばれる。例えば、アプリケーションのユーザーは通常、毎日比較的固定された時間枠内(例:就寝前や仕事後など)にアプリケーションにログインし、異なる日の同じ時間枠で同じ関心を示し得る。このような周期的なパターンにより、ユーザーに対して異なる予測推薦が行われ得る。したがって、機械学習モデル105は、訓練データ内の周期性を利用するように訓練され得ることが期待される。
【0027】
より良い予測モデルを学習するために訓練データ内の周期性を利用する問題は、次のように設定され得る。
【数2】
がトリプレット、
【数3】
が入力データサンプルの予測結果、
【数4】
が入力データサンプルが生成された時点である、トリプレット(x,y,t)で表されるサンプルが与えられた場合、任意の所与の時点tに対してxを用いてyを予測できる予測モデル(f∈Fで表される)を学習することが期待される。データサンプルは周期的に到着し得る。より具体的には、tとt+δでのモデルの2つの連続更新の間では、間隔[t,t+δ)で到着したサンプルのみが訓練に利用できる。さらに、(x,y)が時間依存分布Dtから生成される場合、全てのtに対してDt=Dt-TとなるようなTの周期性が存在する。任意の(x,y,t)対して、トリプレット(x,y,mod(t,T))が結合分布p(mod(t,T))Dmod(t,T)(x,y)からサンプリングされるというさらなる仮定の下で、目標は、損失関数
【数5】
に対する以下の最適化問題のセットを解くことである:
【数6】
【0028】
XとYは凸コンパクト集合であり、損失関数
【数7】
は全てのy∈Yについてfに関して強く凸であると仮定する。式(1)の上記最適化問題のセットは、各時点
【数8】
の予想される損失を最小化するために、有限エネルギー及び連続関数f* t(x)(予想される予測モデルを表す)のセットを学習することで解決され得る。最適化は空間
【数9】
で実行されるが、これは、X上で定義される全ての有限エネルギー関数を含む関数空間である。
【0029】
周期性の概念は、式(1)において重要な役割を果たす。具体的には、周期性により、時点tに対する関数f* t(x)がt+nT(nは0より大きい整数)においても解となることが保証される。これは、時点tで学習された予測モデルが、t+nTでの予測精度を向上させるための有用な情報を提供し得ることを意味する。したがって、本発明者らは、データの周期的な性質によって提供されるそのような有用な情報を効果的に利用できる学習アルゴリズムを設計することに動機付けられている。
【0030】
驚くべきことに、既存の最適化及び機械学習手法は、訓練データ内の周期性を利用してビッグデータ環境下で式(1)を効率的に解く方法についてほとんど洞察を提供しないのに対し、産業用システムは訓練データ内の周期性を単純に過小評価するアルゴリズムを具現している。
【0031】
定期的データの機械学習に直面する場合、周期性をモデル構造にエンコードするための1つの直接的な設計は、単純にモデル入力としてtを含めて、関数f(x,t)を学習することである。残念ながら、このアプローチはそのままでは機能しない。関数f(x,t)が機械学習モデルとして表現されると、特別な活性化関数を使用しない限り、周期性を学習できないことが示されている。f(x,t)が周期性をエンコードするノンパラメトリックファミリ(周期カーネルを用いた再生核ヒルベルト空間(RKHS)又は周期スプラインを用いたソボレフヒルベルト空間など)に属している場合、周期性が全ての入力次元にわたって自動的にエンコードされるが、式(1)では、f(x,t)はxにおいて非周期的であり得る。
【0032】
このアプローチの強化版は、時間tを前処理し、代わりにf(x,t)の単一周期に焦点を当てたf(x,mod(t,T))として表される関数を学習することである。tをmod(t,T)に前処理することで推論段階での周期性が保証されるが、特にxが高次元であり、f(x,t)が複雑な設計である場合には、依然として手間のかかる特徴量エンジニアリングが必要になることがよくある。
【0033】
式(1)に対する別のアプローチは、単純にtごとに予測モデルを学習することである。これは実際には不可能であることが多いため、時間軸が離散化されることが多く、学習者はいくつかの離散化された時点でモデルの有限集合を学習するだけで済み、その結果、多元的なアプローチになる。機械学習システムの場合、このモデルの有限集合はニューラルネットワークの「ベース」部分を共有でき、最後の数層のみが異なる。良い点としては、時間依存分布Dtが時間的に区分的に一定である場合、例えば、
【数10】
である場合、このアプローチにより、各個別のモデルが時間t/T→∞としての最適解に収束することが可能になる。しかしその一方で、この多元的なアプローチでは複数のモデルを保存する必要があるが、保存に数テラバイトのメモリ空間を費やすことが多い大規模な産業システムにスケールするのは困難である。モデル間でネットワーク構造を部分的に共有するなど、計算効率の良い方法は存在するが、通常はトレードオフとして理論上の保証が損なわれる。
【0034】
連続データを使用して予測モデルを訓練するためのさらなる方案は、新しく生成された定期的データがモデルを最適化するために適用されるオンライン学習プロトコルに従うことである。学習アルゴリズムのパフォーマンスは通常、到着するデータの最新バッチのラベルを一貫して正確に予測するモデルの能力を測定する動的リグレットの概念を使用して評価される。大まかに言えば、tが離散化された値の集合を取る場合、動的リグレットは、学習されたモデルに基づく損失と式(1)で定義されたf* t(x)に基づく最適損失との間の差の累積和である
【数11】
を測定する。動的リグレス分析を改善するために多くの最適化アルゴリズムが提案されているが、それらのどれも訓練データ内の周期性を利用する方法を明らかにしていない。その上、tが発散するにつれてDtが固定された分布に収束しない場合、動的リグレットtで線形にスケールし、これは、データが周期的であることがわかっている場合でも、学習されたモデルと望ましい最適解との間のギャップが消失しないことを意味する。
【0035】
要約すると、データ分布における周期的パターンを利用してより良いモデルを訓練するという問題は、大規模な設定においては大部分が未解決の問題のままである。
作業原理及び理論分析
【0036】
本開示の実施形態によれば、周期的データを用いた機械学習の課題に取り込むための改善された方案が提供される。この方案、フーリエ学習と呼ばれる新しい学習フレームワークを提案する。フーリエ学習は、定期的データが生成される様々なアプリケーションで使用する予測モデルの学習に適用され得る。
【0037】
予測モデル内でのフーリエ学習の適用を説明する前に、フーリエ学習が、より良い予測モデルを学習するために訓練データ内の周期性を利用する問題、例えば、式(1)の最適化問題をどのように解決できるかを理論的に分析し、証明する。
【0038】
本開示の実施形態では、提案されたフーリエ学習は、時周期関数を自然に含む関数空間における単一の最適化問題として、式(1)の最適化問題のセットを解くことができる。特に、関数空間は2つのヒルベルト空間のテンソル積であり得るが、1つは固定時点のモデルスナップショットを含み、もう1つは時間周期関数を含む。以下に示すように、これによりこれらの関数の部分的なフーリエ展開に繋がることがわかる。凸解析設定では、ストリーミング確率的勾配降下法(SGD)を使用してフーリエ係数を学習することも可能である。理論的には、提案されたフーリエ学習フレームワークは2つの異なる側面からサポートされる:(i)モデリングの観点から見ると、フーリエ学習は、強く凸で実現可能な設定の下での式(1)の最適化問題と同等の関数最適化問題から自然に導出される。(ii)最適化の観点から、ストリーミングSGDで更新される係数関数がおそらく周波数領域で収束することが実証されている。実際のアプリケーションの場合、フーリエ学習を様々な予測モデルに統合して、予測モデルがより正確な予測結果を提供可能にすることができる。フーリエ学習と統合することで、定期的データの予測には1つの単一モデルフレームワークで十分であり得る。
【0039】
提案されたフーリエ学習の理論的基礎が最初に導入されが、これは関数最適化問題に対する自然な方案として導出され得る。本開示の実施形態では、式(1)の学習問題のセットは、ヒルベルト空間内の単一の学習問題として再定式化される。実際には、これにより、xとtの両方を入力として受け取る統一されたモデルを学習することが可能になる。具体的には、学習目標は以下の式(2)の形式をとるが、実際には期待値をデータ集合の経験的平均値に置き換えることができる。
【数12】
式(2)において、f(x,t)は時点tで生成された入力データxの周期性を利用するように学習されるモデルであり、yはxのグラウンドトゥルースラベルであり、トリプレット(x,y,t)は時間依存分布Dt(x,y)p(t)から生成される、ここで、Dt(x,y)は(x,y)の分布であり、p(t)はt∈[0,T]の時点tの分布である(例:p(t)=1/T)。式(2)により、ヒルベルト空間Hから、モデルf(x,t)の予測結果とグラウンドトゥルースラベルyとの間で損失を計算する損失関数
【数13】
を最小化できるモデルf(x,t)が見つかることが期待される。
【0040】
式(2)における重要な要素は、f(x,t)が検索されるヒルベルト空間Hの設計である。周期的データを用いた学習の問題では、連続的で時間的に周期的であり、単一周期内に有限のエネルギーを持つヒルベルト空間の関数に特に焦点を当てる。本発明者らは、式(2)の統一目的が、以下の補助定理1を介して式(1)に関係していることを発見した。
補助定理1.式(1)のf* t(x)について、
【数14】
とする。f0(x,t)∈Hの場合、f0(x,t)はHの損失関数L(f)を最小化する。
【0041】
補助定理1において、Tはxの周期性を表す。上記の補助定理1の証明は次のとおりである:
式(2)から始めて、任意のf(x,t)∈Hに対して、
【数15】
ここで、不等式は任意のf(x,t)∈Hに対する以下の仮定から導かれる。
【数16】
したがって、f0(x,t)は式(2)の最小化関数である。
【0042】
補助定理1は、(2)が一意の最小化関数を有し、f* t(x)がxとtの両方の関数として扱われた時にヒルベルト空間Hに属する場合、(2)の最小化関数は式(1)の解をもたらすことを意味する。したがって、実現可能な設定の下では、式(2)は式(1)を解くための代理として機能する。上記の証明によれば、補助定理1で使用される実現可能な設定及び狭義凸性の下では、式(2)で指定された代理損失を最小化することで、式(1)の所望の解の集合を取得できることが示される。
【0043】
(2)の別の重要な要素は、Hの設計である。ここでは、連続的で時間的に周期的であり、単一周期内に有限のエネルギーを持つ関数に特に焦点を当てる。さらに、Hにおける関数は、固定されたtごとに式(1)で指定されるようにL2(X)に縮退する必要がある。そんなHをデザインするために必要な2つの重要な要素が導入される。
【0044】
さらに、円上で関数を定義することは、周期関数を特徴付ける重要な方法である。これらの関数は円上の点に対して定義されているため、点の角度情報を入力として受け取るため、当然、円周によって決定される周期を持つ。最適化を容易にするために、次のように、円を端点が接着された線分とみなす直観に基づいて、これらの関数上にヒルベルト空間構造をさらに定義する:
【数17】
【0045】
式(5)は、関数fが、関数fが有限のエネルギーを有する
【数18】
にマッピングされ、関数fが周期性Tを有する
【数19】
であることを示す。結局のところ、
【数20】
このヒルベルト空間は、モデルへの入力特徴がない場合、即ち、f(x,t)がtのみに依存する場合の特殊なケースのニーズを満たす。
【0046】
L2(ST)をxとtの両方に依存する関数を含むヒルベルト空間にさらに増強するには、ヒルベルト空間間のテンソル積の概念が必要であり、これは、ユークリッド空間におけるベクトル間のクロネッカー積の概念を直接関数空間に展開したものである。
【0047】
具体的には、それぞれ
【数21】
で表される2つのヒルベルト空間が与えられる場合、H1とH2のテンソル積は、双線形マッピングφ:H1×H2→Hによって結合されたヒルベルト空間
【数22】
である。Hとφは共に、次の特性を満たす。(i)u1∈H1かつu2∈H2であるベクトルφ(u1,u2)の集合φ(u1,u2)はHの全体の部分集合を形成しなければならない。即ち、H=Span{φ(u1,u2)|u1∈H1,u2∈H2}となる。(ii)Hの内積<・,・>は任意のu1,v1∈H1及びu2,v2∈H2に対して<φ(u1,u2),φ(v1,v2)>=<u1,v1>1<u2,v2>2を満たす。H1とH2にそれぞれ、基底関数の2つの正規直交集合
【数23】
を採用すると、これらの前述の特性により、任意の要素φ(u1,u2)∈Hを
【数24】
これは、
【数25】
の線形結合である関数を含む
【数26】
の同型マッピング、即ち、
【数27】
を考慮することが可能であることを意味する。
テンソル積に基づくHの設計
【0048】
L2(ST)をL2(X)とのテンソル積で増強するには、
【数28】
を設定するのがヒルベルト空間Hの自然な選択である。
【数29】
このL2(X×ST)は、円周Tの円上に定義されたtの追加次元でL2(X)を展開するが、これにより、当然のことながら、f(x,t)∈Hは任意の固定されたx∈Xに対して時間tにわたる周期関数となるように制限される。発明者らは、Hがヒルベルト空間であることを証明しかつHと
【数30】
の間の同型性を使用してその基底関数を特徴付ける、以下の補助定理2を発見した。
補助定理2.Hが式(7)で定義されるとする。f,g∈Hについて、
【数31】
の場合、(H,<・,・>)はヒルベルト空間である。さらに、Hと
【数32】
の間には同型性が存在し、即ち、
【数33】
がそれぞれL2(X)及びL2(ST)の基底の2つの正規直交集合である場合、
【数34】
【0049】
上記の補助定理は、以下に紹介される、Hにおけるfの基底展開を通じてL(f)を最適化する理論的に保証されるアルゴリズムへの道を開く。一方、式(1)の解によってポイントごとに定義される関数f0(x,t)が温和な仮定の下でHに属するという意味で、Hは学習目的には十分一般的である。いくつかの定義と仮定を以下に紹介する。
【0050】
定義3(全体変動の下での連続性)。Dt(x)をDtの下でxが与えられた場合のyの条件付き分布とする。任意の固定されたt及び任意のε>0に対して、|t'-t|≦δのどこでも
【数35】
となるようなδ>0が存在する場合、Dt(x)は総変動距離の下でt内で連続であると見なされる。
【0051】
仮定4.仮定:(i)X及びYはコンパクトで凸な集合である。(ii)定義3のDt(x)は、全てのx∈Xの総変動の下で連続である。(iii)損失関数
【数36】
は、全てのy∈Yに対して第1の引数でσ強凸である。(iv)(1)におけるf(x)は有界であり、いくつかの定数Kに対して
【数37】
である。
【0052】
仮定4は、広範囲の機械学習システムによって容易に満たすことができる。例えば、ディープニューラルネットワーク(DNN)では、最終出力のクリッピングが強制されると、通常、出力が制限される。損失関数の均一で強い凸性は、平均二乗損失などの広範囲のlにも当てはまる。上記の定義と仮定により、本発明者らは別の補助定理である補助定理5を発見した。
【0053】
補助定理5.仮定4の下で、f* t(x)は任意の与えられたx∈Xに対してtで連続である。また、
【数38】
となる。
【0054】
補助定理5は、仮定4の下で、式(2)の最適解f0(x,t)がHに属することを意味する。補助定理1と補助定理5を組み合わせると、仮定4の充足は、式(2)を解くことで式(1)の望ましい解の集合を取得可能にすることがわかる。
定期的データを用いたフーリエ学習
【0055】
次に、部分フーリエ展開を介してデータ分布の周期性をモデルの構造に組み込み、そのフーリエ係数関数を学習することでモデルを学習する学習フレームワークであるフーリエ学習の紹介に進む。そうするために、モデリングの観点から補助定理2が呼び出され、f(x,t)∈Hは次の基底展開で表され得る:
【数39】
ここで、cj(x)∈L2(X)はiに対するci,jφi(x)の合計である。L2(ST)の基底関数の集合は、ベース周波数1/Tの三角関数であることに気づいた。本発明者らは、次の定理に到達した。
定理6.任意の関数f(x,t)∈Hはフーリエ展開で表すことができる。
【数40】
ここで、an(x),bn(x)∈L2(X)、かつa0(x)≡0となる。
【0056】
定理6は、周期モデルを設計する明示的な方法を提供し、時間特徴をどのように活用できるかを指定する。周期性を保証するために、円上に定義された重み付きL2空間を用いてHを構築することは完全に可能であることに留意すべきである。これにより、三角関数から逸脱し、他の周期関数を潜在的に使用して周期性をエンコードすることが可能になる。
【0057】

式(10)によって表されるf(x,t)を用いて、式(2)の問題の解は、an(x)及びbn(x)、即ち、現在tから独立し、xのみに依存するf(x,t)のフーリエ係数を学習するように減らされる。さらに、サイン及びコサイン成分はtに依存する。式(10)は、f(x,t)の部分フーリエ展開の形式をとるため、この学習方法は「フーリエ学習」と呼ばれ得る。
【0058】
フーリエ学習は、設計者が元のモデル設計を保持可能にするが、同時に最後の隠れ層の専門家のアドバイスを時間に依存した方式でミクスィングする。予測モデルにおけるtのこの明示的な役割により、特徴tがf(x,t)の形式で暗黙的にモデルに追加されるときに必要となる面倒な特徴エンジニアリングが回避される。
【0059】
目標は、周波数領域における係数関数を学習することに移る。扱いやすい学習のために、カットオフ周波数N/Tが導入され得るため、代わりにf(x,t)の切り捨てられたフーリエ展開を次のように表し得る:
【数41】
ここで、Nは、1より大きい整数である所定の数である。
【0060】
式(11)の切り捨てフーリエ展開は、式(10)のフーリエ展開の近似である。式(11)の全てのf∈Hの近似誤差は、次のように決定され得るEN(f)として表され得る:
【数42】
実際のシステムでは、全てのf∈Hに対しlimN→∞EN(f)=であると一般的に想定できる。したがって、適切に選択されたNにより、モデルパラメータの量だけでなく近似誤差も制限され得る。
【0061】
式(11)のフーリエ学習におけるフーリエ展開では、モデルf(x,t)の予測結果を生成するためにフーリエ係数an(x)、bn(x)を決定する必要がある。フーリエ係数an(x)及びbn(x)は、様々なレジームの下で学習できる、xに依存する係数関数と考えられ得る。例えば、これらは、関数最適化アルゴリズムを使用してノンパラメトリックに学習できる。
【0062】
いくつかの実施形態では、フーリエ係数an(x)及びbn(x)がニューラルネットワークなどのパラメトリック形式を有する場合、確率的勾配降下法は標準的仮定の下である割合で停留点に収束することが知られており、これについては以下で詳しく紹介し得る。いくつかの実施形態では、上記のパラメトリックフレームワークとは別に、フーリエ学習はノンパラメトリックレジームにも適合するが、これについては以下で詳しく紹介し得る。
フーリエ学習に基づく機械学習システム
【0063】
以下では、フーリエ学習を大規模な機械学習シナリオに適用するために、ニューラルネットワークを用いたan(x)及びbn(x)のパラメータ化について説明する。
【0064】
上記の理論分析は、フーリエ学習に基づいて構築されたモデルが訓練データの周期性を直観的に利用でき、その周期性を有する周期関数として表現できることを示している。したがって、フーリエ学習は機械学習ベースの予測モデルに適応できる。本開示の実施形態では、式(11)のf(x,t)のフーリエ展開に従って、xを、ある時点tで生成された入力データサンプルに関連する情報とみなすことが提案される。入力データサンプルは、定期的データのデータサンプルであり得る。フーリエ展開結果はフーリエ展開に基づいて決定することができ、入力データサンプルの予測結果はフーリエ展開結果に基づいて決定される。
【0065】
ここで図2を参照すると、図2は、本開示のいくつかの例示的な実施形態によるフーリエ学習を用いた機械学習システム200のブロック図を示す。機械学習システム200は、環境100における機械学習モデル105として具現され得る。図示されるように、機械学習システム200は、予測モデル210と、フーリエ層220とを含む。
【0066】
予測モデル210は、予測タスクを具現するように任意のモデルアーキテクチャが構成されていても良い。本開示の実施形態において、予測モデル210によって処理される入力データは、一定の周期性(Tで表される)を有する定期的データである。予測モデル210への入力は、ある時点tで生成された入力データサンプルである。フーリエ層220は、入力データ内の周期性を考慮することで、より正確な予測結果を生成可能にするために導入される。いずれの場合でも、フーリエ層220の追加により周期性をさらに活用できるため、予測モデル210は、入力データの周期性を利用する、又は利用しない任意の方式で構築され得ることに留意すべきである。
【0067】
フーリエ層220は、以下の直観によって設計される:xが元の予測モデルの最後の隠れ層の出力とみなされる場合、式(11)は、図2に示されるアーキテクチャを有するネットワークの出力層とみなすことができる。具体的には、フーリエ層220は、まずxをan(x)及びbn(x)に変換し、次にそれらを基底ベクトルSIN及びCOSと要素ごとに掛け算して、(2N+1)次元の結果を得る。この結果は加算されて、スカラー出力が得られる。特に、全てのn≧1に対してan(x)=bn(x)=0の場合、最終出力はb0(x)に等しく、これ自体は元のモデルの出力として解釈できる。これは、元のモデルの出力層をフーリエ層220に置き換えることでその容量を増加させ、面倒な特徴量エンジニアリングの必要が回避されることを意味する。
【0068】
特に、フーリエ層220は、予測モデル210によって抽出された入力データサンプルの特徴表現を受け取る。予測モデル210は一般に2つの部分から構成されると考えられ得るが、1つは入力データ内の隠れた特徴を抽出することであり、もう1つは、最終的な隠れた特徴に基づいてモデル出力を決定することである。いくつかの実施形態では、予測モデル210は、入力データサンプルを受け取る入力層と、前記入力データサンプルを処理して入力データ内の隠れた特徴を特徴付ける特徴表現を生成する1つ以上の隠れ層と、モデル出力を生成する出力層とを含む、複数の層を含み得る。予測モデル210の層は層ごとに接続され、ある層からの出力が入力として次の層に提供される。
【0069】
いくつかの実施形態では、予測モデル210の最後の隠れ層212で抽出された特徴表現は、入力としてフーリエ層220に提供される。この特徴表現はxで表される。通常、入力データサンプルは冗長な情報を含み得、より高い次元のものであり得る。予測モデルでの特徴抽出を通じて、特徴表現により、比較的小さい次元の入力データサンプル内の有用な特徴情報を特徴付けできる場合があり得る。フーリエ層220は、特徴表現xをさらに処理して、入力データサンプルの予測結果を生成できる場合があり得る。
【0070】
xは次元d1であり、入力データサンプルの予測結果は次元d2であると仮定する。特徴表現xの次元及び予測結果(d2)の次元は、予測モデル210の構成に依存し得る。一般に、d1は1より大きく、d2は1以上であり得る。例えば、予測結果は、例えばユーザーがターゲットアイテムに興味を持つ確率を示す単次元出力であり得、或いは、例えばユーザーが複数のアイテムに興味を持つそれぞれの確率を示す多次元出力であり得る。
【0071】
フーリエ層220の入力(即ち、特徴表現x)及び出力(即ち、予測結果)が与えられると、フーリエ層220の処理は、次元d1の入力を次元d2の出力にマッピングすることとみなされ得る。フーリエ層220のモデル構造は、フーリエ展開に基づいてそのようなマッピングを具現するように設計され得る。
【0072】
図示のように、フーリエ層220は、フーリエ展開におけるフーリエ係数an(x)を生成するマッピングモデル230と、フーリエ展開におけるフーリエ係数bn(x)を生成するマッピングモデル240を含む。所定の数(N+1)の項を有する式(11)の切り捨てフーリエ展開に続いて、マッピングモデル230は、次元d1の特徴表現xを次元Nの出力に変換するように構成され得、マッピングモデル240は、次元d1の特徴表現xを次元(N+1)の出力に変換するように構成され得る。マッピングモデル230の出力におけるN個の要素は、N個のフーリエ係数
【数43】
として決定され得る。マッピングモデル240の出力における(N+1)個の要素は、(N+1)個のフーリエ係数
【数44】
として決定され得る。
【0073】
マッピングモデル230及びマッピングモデル240は、任意の機械学習アーキテクチャに基づいて構築され得る。いくつかの実施形態では、マッピングモデル230及びマッピングモデル240は、活性化関数なしで構築され得る。一般に、機械学習モデルに適用される活性化関数(例:シグモイド関数、tanh関数、ReLU関数)は、モデル出力の振幅をある一定の範囲に制限し得る。フーリエ展開では、フーリエ係数の振幅に明示的な制限がないため、マッピングモデル230及びマッピングモデル240は活性化なしで構成され得る。
【0074】
フーリエ展開は一般に、サイン関数ベースの成分と、コサイン関数ベースの成分とを含む。したがって、図2に示すように、フーリエ層220は、フーリエ展開におけるサイン成分の値を決定するサイン関数ユニット232と、フーリエ展開におけるコサイン成分の値を決定するコサイン関数ユニット242とをさらに含む。式(11)に示すように、サイン成分は周期性Tを持つ周期関数である時点tに依存するサイン関数に基づいており、コサイン成分は周期性Tを持つ周期関数である時点tに依存するコサイン関数に基づいている。
【0075】
サイン関数ユニット232は、サイン成分値の集合を列ベクトル
【数45】
として提供し得、コサイン関数ユニット242は、コサイン成分値の集合を列ベクトル
【数46】
として提供し得る。いくつかの実施形態では、時間はt∈[0,T]によって可変である。即ち、入力データサンプルが生成された実際の時点は、例えばmod演算を通じてT周期内の時点に変換される。
【0076】
N個のサイン成分値
【数47】
は、サイン関数の周波数をN回シフトすることで生成され得、(N+1)個のコサイン成分値
【数48】
は、サイン関数の周波数を(N+1)回シフトすることで生成され得る。位相ゼロから開始して、位相シフトのたびに2πt/Tの位相シフトがサイン関数及びコサイン関数に適用される。サイン関数及びコサイン関数は同じ回数(N+1)回位相シフトされ得るが、最初の時点でゼロフレーズにおけるサイン成分値がゼロであることに留意すべきである。
【0077】
フーリエ層220では、各時点で生成された入力データサンプルに応答して、フーリエ係数
【数49】
及びフーリエ係数
【数50】
がリアルタイムで決定される。いくつかの実施形態では、サイン及びコサイン成分値
【数51】
は、使用のために事前計算され、メモリに格納され得る。
【0078】
N個のサイン成分値及びN個のフーリエ係数は、乗算器234に提供され得る。乗算器234は、N個のサイン成分値及びN個のフーリエ係数に対して要素ごとの掛け算を実行して、N個の積を生成するように構成される。(N+1)個のコサイン成分値及び(N+1)個のフーリエ係数は、乗算器244に提供される。乗算器244は、(N+1)個のコサイン成分値及び(N+1)個のフーリエ係数に対して要素ごとの掛け算を実行して(N+1)個の積を生成するように構成される。(2N+1)個の積は、フーリエ展開に関わっている個々の項に対応する。
【0079】
次元d2の予測結果を得るために、乗算器234からのN個の積はマッピングモデル236に入力され得、乗算器244からの(N+1)個の積はマッピングモデル246に入力され得る。マッピングモデル236は、乗算器234からのN個の積を、次元d2の第1の中間展開結果に変換するように構成され得、マッピングモデル246は、乗算器244からの(N+1)個の積を次元d2の第2の中間展開結果に変換するように構成され得る。第1及び第2の中間展開結果は、第1及び第2の中間展開結果に対して要素ごとの合計を実行して、次元d2の入力データサンプルの予測結果として決定され得るフーリエ展開結果を提供するように構成されるアグリゲータ250に提供され得る。
【0080】
いくつかの実施形態では、予測結果が一次元出力である場合、マッピングモデル236及び246はフーリエ層220から省略され得る。この場合、乗算器234及び244からの積が合計されて、予測結果として決定され得るフーリエ展開結果を提供する。
【0081】
いくつかの実施形態では、マッピングモデル230及びマッピングモデル240は、多層パーセプトロン(MLP)モデルとして構築され得る。いくつかの実施形態では、マッピングモデル236及びマッピングモデル246は、MLPモデルとして構築され得る。したがって、フーリエ層220は、フーリエMLP(F-MLP)層とみなされ得る。
【0082】
フーリエ層220におけるマッピングモデル220、240、236、246のパラメータ値は訓練プロセスを通じて決定され得る。いくつかの実施形態では、これらのマッピングモデルは、予測モデル210を用いて訓練され得る。訓練データは、予測モデル210への入力データサンプルと、入力データサンプルに対する対応するグラウンドトゥルースラベルを示すラベリング情報とを含み得る。いくつかの実施形態では、フーリエ層におけるマッピングモデルは、予測モデル210を用いてエンドツーエンド方式で訓練されて得る。いくつかの実施形態では、予測モデル210は、最初に訓練され、次にフーリエ層におけるマッピングモデルと一緒に再訓練され得る。
【0083】
いくつかの実施形態では、フーリエ層220は、入力次元d1及び出力次元d2有するF-MLPに対して、
【数52】
として一般化され得、その処理は以下のように表され得る:
【数53】
ここで、
【数54】
はフーリエ層220への入力であり、
【数55】
は、xを次元Nのベクトルにマッピングする、活性化を持たない通常のMLPである。
【数56】
はパラメータ値である。一方、SIN及びCOSは、行ベクトル
【数57】
を合計d2回積み重ねた行列である。演算子
【数58】
はアダマール積である。d2=1(出力が1次元であることを意味する)の場合、W1及びW2はそれぞれ式(11)のan(x)及びbn(x)の役割を果たす
【数59】
にマージされ得る。
【0084】
フーリエ解析を深層学習システムと組み合わせることを提案するアプローチがいくつかあることに留意すべきである。ただし、これらのアプローチのほとんどは、時間内の分布の周期性に焦点を当てるのではなく、入力データ自体の分布内の固有の高周波成分を学習することを目的としている。特に、本発明者らは、予測モデルの既存の設計への本開示のフーリエ層の具現が、モデル内の各処理ユニットの物理的意味を根本的に変更することを観察した:通常のモデルでは、各処理ユニットは時間の経過とともに決定を変更する専門家である。本開示のフーリエ層の下では、各処理ユニットは、所与の周波数で時間の経過とともに決定をどれだけ大幅に変更するかを決定する専門家の周波数成分を保持する。前者では、各専門家にとって常に変化する最適値を追跡するオンライン学習アルゴリズムを設計することを必要とするが、後者では、三角関数による補間を使用して未来最適値を予測できる。これにより、オンライン学習アプローチよりも利点が得られる。
【0085】
図2の例示的実施形態では、フーリエ層220が予測モデル210の出力層として導入され、したがってその出力が入力データサンプルの予測結果として決定される。いくつかの実施形態では、フーリエ層220は、完全な予測モデル210(それ自体の出力層を含む)とともに動作し得、フーリエ層220からの出力と予測モデル210からの出力とが集約されて最終的な予測結果が生成する。図3は、そのような実施形態による機械学習システム200を示す。
【0086】
図3に示すように、予測モデル210は、他の層の中で、最後の隠れ層212から特徴表現xを受け取る出力層312を含む。予測モデル210の出力層312は、特徴表現xを処理し、中間予測結果を生成し得る。出力層312における処理は、異なる予測タスクにおいて変更され得る予測モデル210の構成に依存し得る。フーリエ層220はまた、図2に関する実施形態に従って説明されるように、最後の隠れ層212から特徴表現xを受け取り、フーリエ展開結果に基づいて中間予測結果を生成し得る。
【0087】
機械学習システム200は、予測モデル210及びフーリエ層220からの2つの中間予測結果をミクスィングするように構成されたアグリゲータ330をさらに含み得る。例えば、アグリゲータ330は、2つの中間予測結果の加重和を決定し得る。中間予測結果の集計は次のように表され得る:
【数60】
ここで、f(x,t)は入力データサンプルの予測結果を表し、fOCO(x,t)は予測モデル210の出力層312による中間予測結果を表し、ffl(x,t)はフーリエ層220によって生成された中間予測結果を表し、λは2つの中間予測結果の重み付けに使用されるパラメータである。λは、所定の値、例えば、0.5又は他の任意の値であり得る。
【0088】
いくつかの実施形態では、予測モデル210は、複雑な構造を有し得、例えば、異なるモデル構造を有する複数のサブモデルを含み得る。この場合、フーリエ層220への入力は慎重に設計され得る。図3は、そのような実施形態による機械学習システム200を示す。
【0089】
図4に示すように、予測モデル210は、サブモデル410-1、・・・、サブモデル410-K(議論の目的で集合的に又は個別にサブモデル410と呼ぶ)などの複数のサブモデル(例:K個のサブモデル)を含み得る。Kは1より大きい整数である。サブモデルの出力は、予測モデル210における出力層312で加算されてモデルの出力を提供し得る。この場合、出力層312は、K個のサブモデル410からのそれぞれの出力に対して合計を実行するアグリゲータを含み得る。したがって、予測モデル210は、
【数61】
として表され得、ここで、fm(x,t)はm番目のサブモデル410を表す。
【0090】
図4に示される予測モデル210の構造により、サブモデル410は、最後の隠れ層で入力データサンプルから特徴表現を抽出し、前記特徴表現に基づいてその出力層でそれ自体の出力を決定し得る。サブモデル410からの特徴表現は、フーリエ層220に入力される特徴表現xを生成するために集約され得る。いくつかの実施形態では、サブモデル410からの特徴表現は、異なる次元のものであり得る。図4の実施形態では、サブモデル410からの特徴表現を集約するために、機械学習モデル200は、サブモデル410からの異なる次元を有するそれぞれの特徴表現を同じ次元を有する特徴表現に変換する次元整列層420をさらに含み得る。いくつかの実施形態では、次元整列層420は、サブモデル410のうちの1つからの特徴表現を同じ次元を有する特徴表現に変換するようにそれぞれ構成された複数のMLPを含み得る。
【0091】
フーリエ層220はその入力に対して線形変換を実行するため、次元整列層420から生成された同じ次元を有する特徴表現を加算してフーリエ層220に入力する特徴表現xを取得し得る。この場合、次元整列層420は、サブモデル410からの異なる次元を有する特徴表現を、d1の次元を有する特徴表現に変換し得る。
【0092】
図4では、フーリエ層220からの出力が、図3と同様にアグリゲータ330によって予測モデル210からの出力と集約されることが示されている。他の実施形態では、特徴表現に対する処理は、図2に示されるシステム200に統合され得ることが理解されるであろう。
機械学習システムの訓練
【0093】
フーリエ層220の訓練は、ストリーミングSGDの手順に従って、予測モデルと共同して実行される。この手順は、実際にはサンプルデータ(x,y,t)~Dt(x,y)p(t)が必要となる標準SGDとは異なる。ただし、p(t)からのサンプリングは、データが順次到着するリアルタイム更新要件により、多くのオンラインアプリケーションでは困難である。ここでは、ストリーミングSGDを使用すると、優れた実用的なパフォーマンス及び収束保証を維持しながら、この問題を回避できることを示す。
【0094】
訓練手順は以下の通りである。an(x)及びbn(x)は、それぞれan(x;θn)及びbn(x;ρn)によってパラメータ化され得る。θn及びρnはニューラルネットワークパラメータである。周期的なデータの場合、データのτ番目のミニバッチがk番目のサイクルで収集され、モデルが次の更新ルールで更新され得る:
【数62】
ここで、
【数63】
は、収集されたデータのミニバッチを使用して計算された勾配である。
【数64】
ここで、
【数65】
は式(11)で計算され、
【数66】
はこのデータのミニバッチに対する式(2)の損失の経験的バージョンである。全体的な訓練手順は、図5に示すようなアルゴリズム500にまとめられている。その収束分析は以下のように示される。
【0095】
収束特性は、ストリーミングSGDを用いたフーリエ学習に基づいて機械学習システムを訓練するときに議論される。切り捨てfN(x,t)を使用すると、式(2)の問題は周波数領域で以下の式(17)の最適値を見つけることに帰着することが思い出されたい:
【数67】
式(11)の係数関数の最適集合はa* n(x)及びb* n(x)として示され、対応するモデルf* N(x,t)は式(18)として表すことができる。
【数68】
【0096】
以下では、まず、一般的な非凸設定の下でのストリーミングSGDの勾配ノルム収束結果を示し、次に、強凸性の仮定の下での大域収束結果を導入する。その前に、いくつかの追加の仮定を導入する。
【0097】
仮定7.仮定:(i)全てのn,k,τに対して、更新方向の二次モーメントが制限される:一部の
【数69】
ここでF(k)は全てのn,κ<k及び1<τ<Γに対して
【数70】
によって生成される最小のσ代数である。さらに、全てのf1,f2∈Hに対して
【数71】
【0098】
仮定7は、更新方向の有界二次モーメント及び勾配のリプシッツ性を仮定するが、これらは通常、SGDタイプのアルゴリズムの収束解析で必要とされる。次の結果は、適切な学習率を持つストリーミングSGDが、非凸設定及び強凸設定の両方の下で収束を達成することを示している。
【0099】
定理8(ストリーミングSGDの収束)。仮定4と仮定7の(i)、(ii)が成り立つとし、全ての
【数72】
を合わせた関節パラメータベクトルに対する勾配として
【数73】
を定義する。
【数74】
【0100】
簡単に言うと、学習フレームワークは、一般的な非凸設定の下では
【数75】
の収束率、強凸設定の下では
【数76】
の収束率を提供する。N→∞がさらに導出される場合、f0(x,t)の全体的な学習誤差は任意で小さくされ得る。データ生成分布の変化速度及び確率的勾配の分散の両方によって動的リグレットが影響を受けるオンライン学習ベンチマークと比較して、フーリエ学習は、はるかに小さい学習誤差を生じさせるため、多くの実際的なシナリオで潜在的にはるかに優れたパフォーマンスを提供する。
【0101】
上述したように、上記のパラメトリックフレームワークとは別に、いくつかの実施形態では、提案されたフーリエ学習は、ノンパラメトリックレジームにも適合し、ここで、an及びbnは直接更新される:
【数77】
【0102】
L2関数勾配はディラックのδ関数を含むことが多く、不連続な更新を引き起こすため、代わりに関数勾配をそのカーネル埋め込みで置き換える。具体的には、
【数78】
が、最小固有値が0から離れるように有界である正定値カーネルであって、
【数79】
とする。
これらのカーネル埋め込みが各反復でan(x)及びbn(x)の継続的な更新を生じさせるということは容易に検証できる。同時に、
【数80】
は正確な勾配に「十分に近く」、収束の保証を保持している(Yang他、2019)。
【数81】
をゼロに初期化すると、
【数82】
はカーネルの有限集合の線形結合として記述できる。ノンパラメトリックの場合の収束結果は以下の定理9に示されている。
定理9.仮定4及び仮定7が成立するとする。式(20)で定義されるように、
【数83】
を、反復(k,τ)におけるΚ(・,・)を持つ関数勾配のカーネル埋め込みとする。
【数84】
例示的なプロセス
【0103】
図6は、本開示のいくつかの例示的な実施形態によるフーリエ学習のためのプロセス600のフローチャートを示す。プロセス600は、機械学習システム200で具現され得るか、又は入力データを機械学習システム200に適用して対応する予測タスクを実行できるモデル適用システム120によって具現され得る。議論の目的で、図1を参照してプロセス600を議論する。
【0104】
ブロック610で、モデル適用システム120は、予測モデルから入力データサンプルの特徴表現を得る。前記予測モデルは、周期性を持って入力データを処理するように構成される。前記入力データサンプルは、周期内の時点で生成された入力データのサンプルである。
【0105】
ブロック620で、モデル適用システム120は、特徴表現を第1のマッピングモデルに適用することで、フーリエ展開における第1の成分の第1のフーリエ係数を決定する。前記フーリエ展開は周期性があり、前記時点及び前記特徴表現に依存する。ブロック620で、モデル適用システム120は、特徴表現を第2のマッピングモデルに適用することで、フーリエ展開における第2の成分の第2のフーリエ係数を決定する。
【0106】
ブロック640で、モデル適用システム120は、フーリエ展開における第1のフーリエ係数及び第2のフーリエ係数に基づいてフーリエ展開結果を決定する。ブロック650で、モデル適用システム120は、前記フーリエ展開結果に基づいて入力データサンプルの予測結果を決定する。
【0107】
いくつかの実施形態では、前記フーリエ展開は、所定数の項を有する切り捨てフーリエ展開を含み、前記第1のフーリエ係数の数及び前記第2のフーリエ係数の数は、前記所定の数に基づく。
【0108】
いくつかの実施形態では、前記第1の成分は、前記時点に依存し、前記周期性を有するサイン関数に基づいており、前記第2の成分は前記周期性を有するコサイン関数に基づく。
【0109】
いくつかの実施形態では、フーリエ展開結果を決定するために、モデル適用システム120は、サイン関数の周波数を所定の回数シフトすることで第1の成分の第1の成分値の集合を決定し、コサイン関数の周波数を所定の回数シフトすることで、第2成分の第2成分値の集合を決定する。モデル適用システム120は、第1のフーリエ係数に第1の成分値をそれぞれ掛け算し、第2のフーリエ係数に第2の成分値を掛け算することでフーリエ展開結果を決定する。
【0110】
いくつかの実施形態では、フーリエ展開結果を決定するために、モデル適用システム120は、第1のフーリエ係数に第1の成分値を掛け算することで第1の積を計算し、第2のフーリエ係数に第2の成分値を掛け算することで第2の積を計算する。モデル適用システム120は、第3マッピングモデルを使用して第1の積を第1の中間展開結果にマッピングし、第4マッピングモデルを使用して第2の積を第2の中間展開結果にマッピングする。モデル適用システム120は、前記第1の中間展開結果と前記第2の中間展開結果とを集計することでフーリエ展開結果を決定する。
【0111】
いくつかの実施形態では、予測結果を決定するために、モデル適用システム120は、フーリエ拡張結果から第1の中間予測結果を決定し、特徴表現に基づいて予測モデルの出力層から生成された第2の中間予測結果を取得する。モデル適用システム120は、前記第1の中間予測結果と前記第2の中間予測結果とを集計することで予測結果を決定する。
【0112】
いくつかの実施形態では、予測モデルは、入力データサンプルから複数の特徴表現を抽出するように構成された複数のサブモデルを含む。いくつかの実施形態では、モデル適用システム120は、前記複数のサブモデルから複数の特徴表現を取得し、前記複数の特徴表現を集計することで特徴表現を生成する。
【0113】
いくつかの実施形態では、第1のマッピングモデル及び第2のマッピングモデルは、活性化関数なしで構築される。いくつかの実施形態では、第3のマッピングモデル及び第4のマッピングモデルは、活性化関数なしで構築される。いくつかの実施形態では、マッピングモデルは、予測モデルと共同して訓練される。
例示的なシステム/デバイス
【0114】
図7は、本開示の例示的な実施形態を具現するのに適した例示的なコンピューティングシステム/デバイス700のブロック図を示す。モデル適用システム120及び/又はモデル訓練システム110は、システム/デバイス700として具現され得るか、又はシステム/デバイス700に含まれ得る。システム/デバイス700は、汎用コンピュータ又はコンピュータシステム、物理コンピューティングシステム/デバイス、又はポータブル電子デバイスであり得るか、或いは、通信ネットワークを介してリンクされたリモート処理デバイスによってタスクが実行される分散型クラウドコンピューティング環境で実行され得る。システム/デバイス700は、図6のプロセス600を具現するために使用され得る。
【0115】
図示されるように、システム/デバイス700は、読み取り専用メモリ(ROM)702に格納されたプログラム又は記憶ユニット708からランダムアクセスメモリ(RAM)703にロードされたプログラムに従って様々な処理を実行することができるプロセッサ701を含む。RAM703には、プロセッサ701が各種の処理を実行する上で必要なデータなども必要に応じて記憶される。プロセッサ701、ROM702及びRAM703は、バス704を介して相互に接続されている。また、入出力(I/O)インターフェース705もバス704に接続されている。
【0116】
プロセッサ701は、ローカル技術ネットワークに適した任意のタイプのものであり得、汎用コンピュータ、専用コンピュータ、マイクロプロセッサ、デジタル信号プロセッサ(DSP)、グラフィック処理ユニット(GPU)、コプロセッサ、及びマルチコアプロセッサアーキテクチャに基づくプロセッサのうちの1つ又は複数を非限定的な例として含み得る。システム/デバイス700は、メインプロセッサを同期させるクロックに合わせてスレーブされる特定用途向け集積回路チップなどの複数のプロセッサを有し得る。
【0117】
システム/デバイス700内の複数のコンポーネントは、キーボード、マウスなどの入力ユニット707、陰極線管(CRT)、液晶ディスプレイ(LCD)等のディスプレイを含む出力ユニット707、拡声器などを含むI/Oインターフェース705と、ディスク、光ディスクなどの記憶ユニット708と、ネットワークカード、モデム、無線トランシーバなどの通信ユニット709とに接続される。通信ユニット709は、システム/装置700が、インターネット、様々な電気通信ネットワークなどの通信ネットワークを介して他のデバイスと情報/データを交換できるようにする。
【0118】
プロセス600などの上述の方法及びプロセスは、プロセッサ701によって実行することもできる。いくつかの実施形態では、プロセス600は、コンピュータ可読媒体、例えば記憶ユニット708に有形的に含まれるコンピュータソフトウェアプログラム又はコンピュータプログラム製品として具現され得る。いくつかの実施形態では、コンピュータプログラムは、ROM702及び/又は通信ユニット709を介してシステム/デバイス700に部分的又は完全にロード及び/又は具現化され得る。コンピュータプログラムは、関連するプロセッサ701によって実行されるコンピュータ実行可能命令を含む。コンピュータプログラムがRAM703にロードされ、プロセッサ701によって実行されると、上述のプロセス600の1つ又は複数の動作を具現することができる。代替形態として、プロセッサ701は、他の実施形態においてプロセス600を実行するために、他の任意の適切な方式(例:ファームウェアによる)を介して構成され得る。
【0119】
本開示のいくつかの例示的な実施形態では、装置のプロセッサによって実行されると、前記装置に上述の方法のいずれか1つのステップを実行させる命令を含むコンピュータプログラム製品が提供される。
【0120】
本開示のいくつかの例示的な実施形態では、装置に上述の方法のいずれか1つのステップを実行させるためのプログラム命令を含むコンピュータ可読媒体が提供される。いくつかの実施形態では、コンピュータ可読媒体は、非一時的なコンピュータ可読媒体であり得る。
【0121】
第8の態様では、本開示の例示的な実施形態は、装置に少なくとも上述の第2の態様の方法を実行させるためのプログラム命令を含むコンピュータ可読媒体を提供する。いくつかの実施形態では、コンピュータ可読媒体は、非一時的なコンピュータ可読媒体であり得る。
【0122】
一般に、本開示の様々な例示的な実施形態は、ハードウェア又は専用回路、ソフトウェア、ロジック又はそれらの任意の組み合わせで具現され得る。いくつかの態様はハードウェアで実装され得るが、他の態様は、コントローラ、マイクロプロセッサ又は他のコンピューティングデバイスによって実行され得るファームウェア又はソフトウェアで具現され得る。本開示の例示的な実施形態の様々な態様が、ブロック図、フローチャート、又は他の図的表現を使用して図示及び説明されたが、本明細書に記載されるブロック、装置、システム、技術又は方法は、非限定的な例として、ハードウェア、ソフトウェア、ファームウェア、専用回路又はロジック、汎用ハードウェア又はコントローラ又は他のコンピューティングデバイス、又はそれらの何らかの組み合わせで具現され得ることが理解されるであろう。
【0123】
本開示は、非一時的なコンピュータ可読記憶媒体に有形的に記憶される少なくとも1つのコンピュータプログラム製品も提供する。前記コンピュータプログラム製品は、上述の方法/プロセスを実行するために、ターゲットの実プロセッサ又は仮想プロセッサ上のデバイスで実行される、プログラムモジュールに含まれる命令などのコンピュータ実行可能命令を含む。一般に、プログラムモジュールには、特定のタスクを実行するか特定の抽象タイプを具現するルーチン、プログラム、ライブラリ、オブジェクト、クラス、コンポーネント、データ構造などが含まれる。プログラムモジュールの機能は、様々な実施形態において、必要に応じてプログラムモジュール間で結合又は分割され得る。プログラムモジュールのコンピュータ実行可能命令は、ローカル又は分散デバイス内で実行され得る。分散デバイスでは、プログラムモジュールはローカルとリモートの両方の記憶媒体に配置され得る。
【0124】
コンピュータ可読媒体は、コンピュータ可読信号媒体又はコンピュータ可読記憶媒体であり得る。コンピュータ可読媒体には、電子、磁気、光学、電磁、赤外線、又は半導体システム、装置、又はデバイス、又は前述のものの任意の適切な組み合わせが含まれ得るが、これらに限定されない。コンピュータ可読記憶媒体のより具体的な例としては、1つ又は複数のワイヤを有する電気接続、ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、読出し専用メモリ(ROM)、消去可能プログラマブル読出し専用メモリ(EPROM又はフラッシュメモリ)、光ファイバ、ポータブルコンパクトディスク読出し専用メモリ(CD-ROM)、光記憶デバイス,磁気記憶デバイス、又は前述のものの任意の適切な組み合わせが含まれ得る。
【0125】
本明細書に開示される方法を実行するためのコンピュータプログラムコードは、1つ又は複数のプログラミング言語の任意の組み合わせで記述され得る。プログラムコードは、プロセッサ又はコントローラによって実行されるときに、プログラムコードがフローチャート及び/又はブロック図で指定された機能/動作を具現させるように、汎用コンピュータ、専用コンピュータ又は他のプログラム可能なデータ処理装置のプロセッサ又はコントローラに提供され得る。プログラムコードは、全体的にコンピュータ上で、部分的にコンピュータ上で、スタンドアロンソフトウェアパッケージとして、部分的にコンピュータ上でかつ部分的にリモートコンピュータ上で又は全体的にリモートコンピュータ又はサーバ上で実行され得る。プログラムコードは、本明細書では一般に「モジュール」と呼ばれる特別にプログラムされたデバイス上に配布され得る。モジュールのソフトウェアコンポーネント部分は、任意のコンピュータ言語で書かれ得、モノリシックコードベースの一部であり得、又はオブジェクト指向コンピュータ言語で一般的であるようなより分離的なコード部分で開発され得る。さらに、モジュールは、複数のコンピュータプラットフォーム、サーバ、端末、モバイルデバイスなどにわたって分散され得る。所与のモジュールは、記載された機能が別個のプロセッサ及び/又はコンピューティングハードウェアプラットフォームによって実行されるように具現されてもよい。
【0126】
動作が特定の順序で示されているが、これは、望ましい結果を達成するために、そのような動作が示された特定の順序又は連続した順序で実行されること、或いは図示された全ての動作が実行されることを必要とするものとして理解されるべきではない。特定の状況では、マルチタスク及び並列処理が有利な場合がある。同様に、いくつかの特定の具現の詳細が上記の説明に含まれているが、これらは本開示の範囲に対する限定として解釈されるべきではなく、特定の実施形態に特有の特徴の説明として解釈されるべきである。別個の実施形態の文脈で説明される特定の特徴は、単一の実施形態で組み合わせて具現されてもよい。逆に、単一の実施形態の文脈で説明される様々な特徴は、複数の実施形態で個別に、又は任意の適切なサブコンビネーションで具現されててもよい。
【0127】
本開示が構造的特徴及び/又は方法論的行為に特有の言語で説明されたが、添付の特許請求の範囲で定義される本開示は、必ずしも上記の特定の特徴又は行為に限定されないことが理解されるべきである。むしろ、上記の特定の特徴及び動作は、特許請求の範囲を具現する例示的な形態として開示されている。

図1
図2
図3
図4
図5
図6
図7
【手続補正書】
【提出日】2024-10-04
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
方法であって、
予測モデルから入力データサンプルの特徴表現を取得するステップであって、前記予測モデルは、周期性を持って入力データを処理するように構成され、前記入力データサンプルは、周期内のある時点で生成された前記入力データのサンプルであるステップと、
前記特徴表現を第1のマッピングモデルに適用することでフーリエ展開における第1の成分の第1のフーリエ係数を決定するステップであって、前記フーリエ展開は前記時点及び前記特徴表現に依存し、前記フーリエ展開は前記周期性を有するステップと、
前記特徴表現を第2のマッピングモデルに適用することで、前記フーリエ展開における第2の成分の第2のフーリエ係数を決定するステップと、
前記フーリエ展開における前記第1のフーリエ係数及び前記第2のフーリエ係数に基づいてフーリエ展開結果を決定するステップと、
前記フーリエ展開結果に基づいて前記入力データサンプルの予測結果を決定するステップとを含む、方法。
【請求項2】
前記フーリエ展開は、所定数の項を有する切り捨てフーリエ展開を含み、前記第1のフーリエ係数の数及び前記第2のフーリエ係数の数は、前記所定に基づく、請求項1に記載の方法。
【請求項3】
前記第1の成分は、前記時点に依存し、前記周期性を有するサイン関数に基づいており、前記第2の成分は、前記周期性を有するコサイン関数に基づいており、前記フーリエ展開結果を決定するステップは、
前記サイン関数の周波数を定の回数シフトすることで、前記第1の成分に対するの第1の成分値の集合を決定するステップと、
前記コサイン関数の周波数を前記所定の回数シフトすることで、前記第2の成分に対する第2の成分値の集合を決定するステップと、
前記第1のフーリエ係数に前記第1の成分値をそれぞれ掛け算し、前記第2のフーリエ係数に前記第2の成分値を掛け算することで、前記フーリエ展開結果を決定するステップとを含む、請求項2に記載の方法。
【請求項4】
前記第1のフーリエ係数に前記第1の成分値をそれぞれ掛け算し、前記第2のフーリエ係数に前記第2の成分値を掛け算することで、前記フーリエ展開結果を決定するステップは、
前記第1のフーリエ係数に前記第1の成分値を掛け算することで第1の積を計算するステップと、
前記第2のフーリエ係数に前記第2の成分値を掛け算することで第2の積を計算するステップと、
第3のマッピングモデルを使用して前記第1の積を第1の中間展開結果にマッピングし、第4のマッピングモデルを使用して前記第2の積を第2の中間展開結果にマッピングするステップと、
前記第1の中間展開結果と前記第2の中間展開結果とを集計することで前記フーリエ展開結果を決定するステップとを含む、請求項3に記載の方法。
【請求項5】
前記フーリエ展開結果に基づいて、前記入力データサンプルの予測結果を決定するステップは、
前記フーリエ展開結果から第1の中間予測結果を決定するステップと、
前記特徴表現に基づいて、前記予測モデルの出力層から生成された第2の中間予測結果を取得するステップと、
前記第1の中間予測結果と前記第2の中間予測結果とを集計することで、前記予測結果を決定するステップとを含む、請求項に記載の方法。
【請求項6】
前記予測モデルは、前記入力データサンプルから複数の特徴表現を抽出するように構成された複数のサブモデルを含み、前記特徴表現を取得するステップは、
前記複数のサブモデルから前記複数の特徴表現を取得するステップと、
前記複数の特徴表現を集計することで前記特徴表現を生成するステップとを含む、請求項に記載の方法。
【請求項7】
前記第1のマッピングモデル及び前記第2のマッピングモデルは、活性化関数なしで構築される、請求項に記載の方法。
【請求項8】
少なくとも1つのプロセッサと、
少なくとも1つのメモリとを含むシステムであって、
前記メモリは、前記少なくとも1つのプロセッサに通信可能に結合され、前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに、
予測モデルから入力データサンプルの特徴表現を取得するステップであって、前記予測モデルは、周期性を持って入力データを処理するように構成され、前記入力データサンプルは、周期内のある時点で生成された前記入力データのサンプルであるステップと、
前記特徴表現を第1のマッピングモデルに適用することで、フーリエ展開における第1の成分の第1のフーリエ係数を決定するステップであって、前記フーリエ展開は前記時点及び前記特徴表現に依存し、前記フーリエ展開は前記周期性を有するステップと、
前記特徴表現を第2のマッピングモデルに適用することで、前記フーリエ展開における第2の成分の第2のフーリエ係数を決定するステップと、
前記フーリエ展開における前記第1のフーリエ係数及び前記第2のフーリエ係数に基づいて、フーリエ展開結果を決定するステップと、
前記フーリエ展開結果に基づいて、前記入力データサンプルの予測結果を決定するステップとを含む動作を実行させるコンピュータ可読命令を含む、システム。
【請求項9】
前記フーリエ展開は、所定数の項を有する切り捨てフーリエ展開を含み、前記第1のフーリエ係数の数及び前記第2のフーリエ係数の数は、前記所定数に基づく、請求項8に記載のシステム。
【請求項10】
前記第1の成分は、前記時点に依存し、前記周期性を有するサイン関数に基づいており、前記第2の成分は、前記周期性を有するコサイン関数に基づいており、前記フーリエ展開結果を決定することは、
前記サイン関数の周波数を定の回数シフトすることで、前記第1の成分に対するの第1の成分値の集合を決定するステップと、
前記コサイン関数の周波数を前記所定の回数シフトすることで、前記第2の成分に対する第2の成分値の集合を決定するステップと、
前記第1のフーリエ係数に前記第1の成分値をそれぞれ掛け算し、前記第2のフーリエ係数に前記第2の成分値を掛け算することで、前記フーリエ展開結果を決定するステップとを含む、請求項9に記載のシステム。
【請求項11】
前記第1のフーリエ係数に前記第1の成分値をそれぞれ掛け算し、前記第2のフーリエ係数に前記第2の成分値を掛け算することで、前記フーリエ展開結果を決定することは、
前記第1のフーリエ係数に前記第1の成分値を掛け算することで第1の積を計算するステップと、
前記第2のフーリエ係数に前記第2の成分値を掛け算することで第2の積を計算するステップと、
第3のマッピングモデルを使用して前記第1の積を第1の中間展開結果にマッピングし、第4のマッピングモデルを使用して前記第2の積を第2の中間展開結果にマッピングするステップと、
前記第1の中間展開結果と前記第2の中間展開結果とを集計することで前記フーリエ展開結果を決定するステップとを含む、請求項10に記載のシステム。
【請求項12】
前記フーリエ展開結果に基づいて、前記入力データサンプルの予測結果を決定することは、
前記フーリエ展開結果から第1の中間予測結果を決定するステップと、
前記特徴表現に基づいて、前記予測モデルの出力層から生成された第2の中間予測結果を取得するステップと、
前記第1の中間予測結果と前記第2の中間予測結果とを集計することで、前記予測結果を決定するステップとを含む、請求項に記載のシステム。
【請求項13】
前記予測モデルは、前記入力データサンプルから複数の特徴表現を抽出するように構成された複数のサブモデルを含み、前記特徴表現を取得することは、
前記複数のサブモデルから前記複数の特徴表現を取得するステップと、
前記複数の特徴表現を集計することで、前記特徴表現を生成するステップとを含む、請求項に記載のシステム。
【請求項14】
前記第1のマッピングモデル及び前記第2のマッピングモデルは、活性化関数なしで構築される、請求項に記載のシステム。
【請求項15】
コンピュータ可読命令を記憶する非一時的なコンピュータ可読記憶媒体であって、
前記コンピュータ可読命令は、コンピューティングデバイスによって実行されると、前記コンピューティングデバイスに、
予測モデルから入力データサンプルの特徴表現を取得するステップであって、前記予測モデルは、周期性を持って入力データを処理するように構成され、前記入力データサンプルは、周期内のある時点で生成された前記入力データのサンプルであるステップと、
前記特徴表現を第1のマッピングモデルに適用することで、フーリエ展開における第1の成分の第1のフーリエ係数を決定するステップであって、前記フーリエ展開は前記時点及び前記特徴表現に依存し、前記フーリエ展開は前記周期性を有するステップと、
前記特徴表現を第2のマッピングモデルに適用することで、前記フーリエ展開における第2の成分の第2のフーリエ係数を決定するステップと、
前記フーリエ展開における前記第1のフーリエ係数及び前記第2のフーリエ係数に基づいて、フーリエ展開結果を決定するステップと、
前記フーリエ展開結果に基づいて、前記入力データサンプルの予測結果を決定するステップとを含む動作を実行させる、非一時的なコンピュータ可読記憶媒体。
【請求項16】
前記フーリエ展開は、所定数の項を有する切り捨てフーリエ展開を含み、前記第1のフーリエ係数の数及び前記第2のフーリエ係数の数は、前記所定に基づく、請求項15に記載の非一時的なコンピュータ可読記憶媒体。
【請求項17】
前記第1の成分は、前記時点に依存し、前記周期性を有するサイン関数に基づいており、前記第2の成分は、前記周期性を有するコサイン関数に基づいており、前記フーリエ展開結果を決定することは、
前記サイン関数の周波数を定の回数シフトすることで、前記第1の成分に対するの第1の成分値の集合を決定するステップと、
前記コサイン関数の周波数を前記所定の回数シフトすることで、前記第2の成分に対する第2の成分値の集合を決定するステップと、
前記第1のフーリエ係数に前記第1の成分値をそれぞれ掛け算し、前記第2のフーリエ係数に前記第2の成分値を掛け算することで、前記フーリエ展開結果を決定するステップとを含む、請求項16に記載の非一時的なコンピュータ可読記憶媒体。
【請求項18】
前記第1のフーリエ係数に前記第1の成分値をそれぞれ掛け算し、前記第2のフーリエ係数に前記第2の成分値を掛け算することで、前記フーリエ展開結果を決定することは、
前記第1のフーリエ係数に前記第1の成分値を掛け算することで第1の積を計算するステップと、
前記第2のフーリエ係数に前記第2の成分値を掛け算することで第2の積を計算するステップと、
第3のマッピングモデルを使用して前記第1の積を第1の中間展開結果にマッピングし、第4のマッピングモデルを使用して前記第2の積を第2の中間展開結果にマッピングするステップと、
前記第1の中間展開結果と前記第2の中間展開結果とを集計することで、前記フーリエ展開結果を決定するステップとを含む、請求項17に記載の非一時的なコンピュータ可読記憶媒体。
【請求項19】
前記フーリエ展開結果に基づいて、前記入力データサンプルの予測結果を決定することは、
前記フーリエ展開結果から第1の中間予測結果を決定するステップと、
前記特徴表現に基づいて、前記予測モデルの出力層から生成された第2の中間予測結果を取得するステップと、
前記第1の中間予測結果と前記第2の中間予測結果とを集計することで、前記予測結果を決定するステップとを含む、請求項15に記載の非一時的なコンピュータ可読記憶媒体。
【請求項20】
前記予測モデルは、前記入力データサンプルから複数の特徴表現を抽出するように構成された複数のサブモデルを含み、前記特徴表現を取得することは、
前記複数のサブモデルから前記複数の特徴表現を取得するステップと、
前記複数の特徴表現を集計することで前記特徴表現を生成するステップとを含む、請求項15に記載の非一時的なコンピュータ可読記憶媒体。
【国際調査報告】