(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-19
(45)【発行日】2024-08-27
(54)【発明の名称】データ処理方法及び電子機器
(51)【国際特許分類】
G06N 20/00 20190101AFI20240820BHJP
G06N 7/01 20230101ALI20240820BHJP
【FI】
G06N20/00
G06N7/01
【外国語出願】
(21)【出願番号】P 2022210067
(22)【出願日】2022-12-27
【審査請求日】2023-04-28
(31)【優先権主張番号】202111652939.2
(32)【優先日】2021-12-30
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100103894
【氏名又は名称】家入 健
(72)【発明者】
【氏名】ワン エルリ
(72)【発明者】
【氏名】フェン ルー
【審査官】大倉 崚吾
(56)【参考文献】
【文献】国際公開第2021/058588(WO,A1)
【文献】LU, Chaochao et al.,"Sample-Efficient Reinforcement Learning via Counterfactual-Based Data Augmentation",arXiv [online],2020年,[2024年04月22日検索],インターネット<URL:https://arxiv.org/abs/2012.09092v1>,2012.09092v1
【文献】谷本啓 ほか,"組合せ的行動空間におけるアウトカム予測",人工知能学会全国大会論文集 第34回全国大会(2020),2020年,p. 1-4,1I5-GS-2-01
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
(57)【特許請求の範囲】
【請求項1】
処理対象データを取得することと、
学習済みのデータ生成モデルを用いて、前記処理対象データに基づいて結果データを決定することと、
前記結果データを出力することと、
を含み、
前記処理対象データは、第1状態情報と、第1動作と、前記第1状態情報が満たされた場合に前記第1動作が実行された後の第2状態情報とのうちの少なくとも1つを示し、
前記結果データは、前記第1状態情報が満たされた場合に第2動作が実行された後の第3状態情報を示し、
前記データ生成モデルは、学習セットと、前記学習セット内の少なくとも1つのデータ項目に対応する因果モデルとに基づいて得られたものであ
り、
前記データ生成モデルは、第1サブモデルと第2サブモデルとを含み、
前記結果データを決定することは、前記第1状態情報と、前記第1動作と、前記第2状態情報とのうちの少なくとも1つを前記第1サブモデルに入力することで、前記処理対象データに対応する影響パラメータを得ることと、前記第1状態情報と、前記第2動作と、前記影響パラメータとを前記第2サブモデルに入力することで、前記第3状態情報を得ることと、を含み、
前記データ生成モデルは第3サブモデルをさらに含み、
前記第1状態情報と、前記第2動作と、前記第3状態情報とを前記第3サブモデルに入力することで、前記結果データの利用可能性を決定することをさらに含む、
データ処理方法。
【請求項2】
前記影響パラメータは、前記第1状態情報によって表される対象の属性情報、又はノイズパラメータのうちの少なくとも1つを含む、
請求項
1に記載の方法。
【請求項3】
入力状態情報を含む、ユーザからの入力情報を取得することと、
少なくとも前記結果データに基づいて生成された学習済みの方策モデルを用いて、前記入力情報に基づいて少なくとも1つの目標方策を決定することと、
前記少なくとも1つの目標方策を出力することと、
をさらに含む、
請求項1
又は2に記載の方法。
【請求項4】
前記学習セットを構築することと、
前記因果モデルを取得することと、
少なくとも前記学習セットと前記因果モデルとに基づいて、前記学習済みのデータ生成モデルを生成することと、をさらに含み、
前記学習セットは複数のデータ項目を含み、
前記複数のデータ項目における各データ項目は、第1状態情報と、動作と、前記第1状態情報の際に前記動作が実行された後の第2状態情報とのうちの少なくとも1つを含む、
請求項1
又は2に記載の方法。
【請求項5】
前記複数のデータ項目における各データ項目は、前記第1状態情報によって表される対象の属性情報をさらに含む、
請求項
4に記載の方法。
【請求項6】
前記データ生成モデルは、第1サブモデルと、第2サブモデルと、第3サブモデルとを含み、
前記第1サブモデルの入力は、前記第1状態情報と、前記動作と、前記第2状態情報とを含み、
前記第2サブモデルの入力は、前記第1状態情報と、前記動作と、前記属性情報とを含み、
前記第3サブモデルは、前記第2サブモデルの出力と前記第2状態情報との差を決定するために用いられる、
請求項
5に記載の方法。
【請求項7】
前記第2サブモデルの入力は、影響パラメータをさらに含み、
前記影響パラメータは、前記第1状態情報によって表される対象の属性情報、又はノイズパラメータのうちの少なくとも1つを含む、
請求項
6に記載の方法。
【請求項8】
前記因果モデルを取得することは、
前記複数のデータ項目のうちの少なくとも1つのデータ項目に基づいて前記因果モデルを生成することを含み、
前記因果モデルは、前記少なくとも1つのデータ項目における複数の要素の間の因果関係を示す、
請求項
4に記載の方法。
【請求項9】
前記学習済みのデータ生成モデルを生成することは、
前記因果モデルに基づいて、前記データ生成モデルのモデル構造を構築することと、
少なくとも前記学習セットに基づいて前記モデル構造に学習させることで、前記学習済みのデータ生成モデルを生成することと、
を含む、
請求項
4に記載の方法。
【請求項10】
前記処理対象データは事実に基づくデータであり、
前記結果データは反事実のデータである、
請求項1
又は2に記載の方法。
【請求項11】
第1状態情報と、第1動作と、第1属性情報と、前記第1属性情報を有する対象が前記第1状態情報の際に前記第1動作を実行した後の第2状態情報とのうちの少なくとも1つを示す処理対象データを取得することと、
前記第1状態情報と、前記第1動作と、前記第2状態情報とのうちの少なくとも1つを、学習済みのデータ生成モデルの第1サブモデルに入力することで、第2属性情報とノイズパラメータとを含む、前記処理対象データに対応する影響パラメータを得ることと、
前記第1状態情報と、前記第1動作と、前記影響パラメータとを、前記学習済みのデータ生成モデルの第2サブモデルに入力することで、結果データを得ることと、
結果データを出力することと、
を含み、
前記結果データは、前記第2属性情報を有する対象が前記第1状態情報の際に前記第1動作を実行した後の第3状態情報を示す、
データ処理方法。
【請求項12】
複数のデータ項目を含む学習セットを構築することと、
前記学習セットにおける少なくとも1つのデータ項目に対応する因果モデルを取得することと、
少なくとも前記学習セットと前記因果モデルとに基づいて、学習済みのデータ生成モデルを生成することと、
を含み、
前記複数のデータ項目における各データ項目は、第1状態情報と、動作と、前記第1状態情報の際に前記動作が実行された後の第2状態情報とのうちの少なくとも1つを含
み、
前記複数のデータ項目における各データ項目は、前記第1状態情報によって表される対象の属性情報をさらに含み、
前記データ生成モデルは、第1サブモデルと、第2サブモデルと、第3サブモデルとを含み、前記第1サブモデルの入力は、前記第1状態情報と、前記動作と、前記第2状態情報とを含み、前記第2サブモデルの入力は、前記第1状態情報と、前記動作と、前記属性情報とを含み、前記第3サブモデルは、前記第2サブモデルの出力と前記第2状態情報との差を決定するために用いられる、
モデル学習方法。
【請求項13】
前記第2サブモデルの入力は、影響パラメータをさらに含み、
前記影響パラメータは、前記第1状態情報によって表される対象の属性情報、又はノイズパラメータのうちの少なくとも1つを含む、
請求項
12に記載の方法。
【請求項14】
前記因果モデルを取得することは、
前記複数のデータ項目のうちの少なくとも1つのデータ項目に基づいて前記因果モデルを生成することを含み、
前記因果モデルは、前記少なくとも1つのデータ項目における複数の要素の間の因果関係を示す、
請求項
12又は13に記載の方法。
【請求項15】
前記学習済みのデータ生成モデルを生成することは、
前記因果モデルに基づいて、前記データ生成モデルのモデル構造を構築することと、
少なくとも前記学習セットに基づいて、前記モデル構造に学習させることで、前記学習済みのデータ生成モデルを生成することと、
を含む、
請求項
12又は13に記載の方法。
【請求項16】
複数のデータ項目を含む学習セットを構築することと、
前記学習セットにおける少なくとも1つのデータ項目に対応する因果モデルを取得することと、
少なくとも前記学習セットと前記因果モデルとに基づいて、学習済みのデータ生成モデルを生成することと、
を含み、
前記複数のデータ項目における各データ項目は、第1状態情報と、動作と、前記第1状態情報の際に前記動作が実行された後の第2状態情報とのうちの少なくとも1つを含み、
前記因果モデルを取得することは、
前記複数のデータ項目のうちの少なくとも1つのデータ項目に基づいて前記因果モデルを生成することを含み、
前記因果モデルは、前記少なくとも1つのデータ項目における複数の要素の間の因果関係を示す、
モデル学習方法。
【請求項17】
電子機器であって、
少なくとも1つのプロセッサユニットと、
前記少なくとも1つのプロセッサユニットに結合され、前記少なくとも1つのプロセッサユニットによって実行される命令を格納する少なくとも1つのメモリと
を備え、
前記命令が前記少なくとも1つのプロセッサユニットによって実行される場合に、請求項1
、2、11~13のいずれか1項に記載の方法を実行する、
電子機器。
【請求項18】
電子機器であって、
請求項1
、2、11~13のいずれか1項に記載の方法を実行するように設定された処理回路装置を備える、
電子機器。
【発明の詳細な説明】
【技術分野】
【0001】
本開示の実施形態は、主にコンピュータの分野に関し、より具体的には、データ処理方法、モデル学習方法、電子機器、コンピュータ可読記憶媒体、及びコンピュータプログラム製品に関する。
【背景技術】
【0002】
技術の発展に伴い、人工知能(AI:Artificial Intelligence)は様々な産業に応用されている。様々な分野でのAIの応用は、全て機械学習やニューラルネットワーク等のアルゴリズムに依存しており、こうしたAIのアルゴリズムは通常、大量のデータに基づき学習することで得られるものである。
【0003】
アルゴリズムの大半は、データバランス、環境バランス等の条件を仮定した上で設計されている。一般的に、データは各分野の実際のシナリオから収集されるが、実際に収集されたデータで十分に網羅できるわけではない。例えば医療分野では、完治のデータの方が未完治のデータより明らかに多い。例えば顧客満足度の分野では、満足に関するデータの方が不満のデータより明らかに多い。そのため、現在のアルゴリズムの大半は、十分に網羅的というわけではないデータに基づいて得られたものであり、その結果、アルゴリズムの予測性能の低下等の問題が生じている。
【0004】
限られた実際データの条件下で、より多くの有効且つ合理的なデータをどのように取得するかは、現在解決すべき課題の1つである。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本開示の例示的な実施形態によれば、後続の処理のために反事実のデータを得ることができる、データ処理の解決手段が提供される。
【課題を解決するための手段】
【0006】
本開示の第1の態様では、データ処理方法が提供される。データ処理方法は、処理対象データを取得することと、学習済みのデータ生成モデルを用いて、処理対象データに基づいて結果データを決定することと、当該結果データを出力することと、を含む。当該処理対象データは、第1状態情報、第1動作、及び第1状態情報が満たされた場合に第1動作が実行された後の第2状態情報のうち、少なくとも1つを示す。当該結果データは、第1状態情報が満たされた場合に第2動作が実行された後の第3状態情報を示す。当該データ生成モデルは、学習セットと、学習セット内の少なくとも1つのデータ項目に対応する因果モデルとに基づいて得られたものである。
【0007】
本開示の第2の態様では、データ処理方法が提供される。データ処理方法は、第1状態情報、第1動作、第1属性情報、第1属性情報を有する対象が第1状態情報の際に第1動作を実行した後の第2状態情報のうちの少なくとも1つを示す処理対象データを取得することと、第1状態情報、第1動作、第2状態情報のうちの少なくとも1つを、学習済みのデータ生成モデルの第1サブモデルに入力することで、第2属性情報とノイズパラメータを含む、処理対象データに対応する影響パラメータを得ることと、第1状態情報、第1動作、及び影響パラメータを、学習済みのデータ生成モデルの第2サブモデルに入力することで、結果データを得ることと、結果データを出力することと、を含む。当該結果データは、第2属性情報を有する対象が第1状態情報の際に第1動作を実行した後の第3状態情報を示す。
【0008】
本開示の第3の態様では、モデル学習方法が提供される。モデル学習方法は、複数のデータ項目を含む学習セットを構築することと、学習セットにおける少なくとも1つのデータ項目に対応する因果モデルを取得することと、学習セットと因果モデルに少なくとも基づいて、学習済みのデータ生成モデルを生成することと、を含む。複数のデータ項目における各データ項目は、第1状態情報、動作、及び第1状態情報の際に動作が実行された後の第2状態情報を含む。
【0009】
本開示の第4の態様では、電子機器が提供される。電子機器は、少なくとも1つのプロセッサユニットと、少なくとも1つのプロセッサユニットに結合され、少なくとも1つのプロセッサユニットによって実行される命令が格納された少なくとも1つのメモリと、を含む。当該命令は、少なくとも1つのプロセッサユニットによって実行されると、電子機器に以下の動作を実行させる。当該動作は、処理対象データを取得することと、学習済みのデータ生成モデルを用いて、処理対象データに基づいて結果データを決定することと、当該結果データを出力することと、を含む。当該処理対象データは、第1状態情報、第1動作、及び第1状態情報が満たされた場合に第1動作が実行された後の第2状態情報のうち、少なくとも1つを示す。当該結果データは、第1状態情報が満たされた場合に第2動作が実行された後の第3状態情報を示す。当該データ生成モデルは、学習セットと、学習セット内の少なくとも1つのデータ項目に対応する因果モデルとに基づいて得られたものである。
【0010】
本開示の第5の態様では、電子機器が提供される。電子機器は、少なくとも1つのプロセッサユニットと、少なくとも1つのプロセッサユニットに結合され、少なくとも1つのプロセッサユニットによって実行される命令が格納された少なくとも1つのメモリと、を含む。当該命令は、少なくとも1つのプロセッサユニットによって実行されると、電子機器に以下の動作を実行させる。動作は、第1状態情報、第1動作、第1属性情報、第1属性情報を有する対象が第1状態情報の際に第1動作を実行した後の第2状態情報のうちの少なくとも1つを示す処理対象データを取得することと、第1状態情報、第1動作、第2状態情報のうちの少なくとも1つを、学習済みのデータ生成モデルの第1サブモデルに入力することで、第2属性情報とノイズパラメータを含む、処理対象データに対応する影響パラメータを得ることと、第1状態情報、第1動作、及び影響パラメータを、学習済みのデータ生成モデルの第2サブモデルに入力することで、結果データを得ることと、結果データを出力することと、を含む。当該結果データは、第2属性情報を有する対象が第1状態情報の際に第1動作を実行した後の第3状態情報を示す。
【0011】
本開示の第6の態様では、電子機器が提供される。電子機器は、少なくとも1つのプロセッサユニットと、少なくとも1つのプロセッサユニットに結合され、少なくとも1つのプロセッサユニットによって実行される命令が格納された少なくとも1つのメモリと、を含む。当該命令は、少なくとも1つのプロセッサユニットによって実行されると、電子機器に以下の動作を実行させる。動作は、複数のデータ項目を含む学習セットを構築することと、学習セットにおける少なくとも1つのデータ項目に対応する因果モデルを取得することと、学習セットと因果モデルに少なくとも基づいて、学習済みのデータ生成モデルを生成することと、を含む。複数のデータ項目における各データ項目は、第1状態情報、動作、及び第1状態情報の際に動作が実行された後の第2状態情報を含む。
【0012】
本開示の第7の態様では、メモリとプロセッサを含む電子機器が提供される。メモリは、1つ又は複数のコンピュータ命令を格納するためのものであり、1つ又は複数のコンピュータ命令は、プロセッサによって実行されることで、本開示の第1の態様、第2の態様、又は第3の態様に記載の方法を実施する。
【0013】
本開示の第8の態様では、コンピュータ可読記憶媒体が提供される。当該コンピュータ可読記憶媒体には、マシン可読命令が格納されており、当該マシン可読命令は、デバイスにより実行された場合に、当該デバイスに、本開示の第1の態様、第2の態様、又は第3の態様に記載の方法を実行させる。
【0014】
本開示の第9の態様では、コンピュータプログラム製品が提供される。コンピュータプログラム製品は、コンピュータ可読命令を含み、コンピュータ可読命令は、プロセッサによって実行されると、本開示の第1の態様、第2の態様、又は第3の態様に記載の方法を実施する。
【0015】
本開示の第10の態様では、電子機器が提供される。電子機器は、本開示の第1の態様、第2の態様、又は第3の態様に記載の方法を実行するように設定された処理回路装置を備える。
【0016】
発明の概要部分は、一連の概念を簡略化して紹介するためのものである。これらについては、以下の実施形態においてさらに説明を行う。発明の概要部分の記述は、本開示の重要又は必要な特徴を標記することを意図したものではなく、本開示の範囲を限定することも意図していない。本開示のその他の特徴は、以下の説明により容易に理解できるはずである。
【図面の簡単な説明】
【0017】
図面と結び付けて以下の詳細な説明を参照することで、本開示の各実施形態の上述及びその他の特徴、利点及び態様がさらに明らかになるはずである。図中、同一又は類似の図面符号は、同一又は類似の要素を表す。
【0018】
【
図1】本開示の実施形態にかかる例示的環境のブロック図を示す。
【0019】
【
図2】本開示の実施形態にかかるデータ項目の表示の意味の模式図を示す。
【0020】
【
図3】本開示の実施形態にかかる例示的な学習プロセスのフローチャートを示す。
【0021】
【
図4】本開示の実施形態にかかるDAGの模式図を示す。
【0022】
【
図5】本開示の実施形態にかかる例示的な使用プロセスのフローチャートを示す。
【0023】
【
図6】本開示の実施形態にかかる例示的な使用プロセスのフローチャートを示す。
【0024】
【
図7】本開示の実施形態にかかる例示的な使用プロセスのフローチャートを示す。
【0025】
【
図8】本開示の実施形態にかかる模式的なフローを示す。
【0026】
【
図9】本開示の実施形態にかかる、目標方策を決定する例示的なプロセスのフローチャートを示す。
【0027】
【
図10】本開示の実施形態を実施可能な例示的なデバイスのブロック図を示す。
【発明を実施するための形態】
【0028】
以下、図面を参照しつつ、本開示の実施形態についてより詳細に説明する。図には本開示のいくつかの実施形態が示されているが、理解されるように、本開示は様々な形式で実現することが可能であり、ここに記載された実施形態に限定されると解釈すべきではなく、これら実施形態はむしろ、本開示をより徹底的且つ完全に理解するために提供されるものである。また、本開示の図面及び実施形態は例示的なものにすぎず、本開示の保護範囲を限定するためのものではない点も、理解されるべきである。
【0029】
本開示の実施形態の説明において、「含む」及び類似の用語は開放的なもの、すなわち「…を含むが、これらに限定されない」と理解されるべきである。用語「…に基づいて」は、「少なくとも部分的に基づく」と理解されるべきである。用語「1つの実施形態」又は「当該実施形態」は、「少なくとも1つの実施形態」と理解されるべきである。用語「第1」、「第2」等は、異なるか又は同一の対象を示すことができる。以下の文中ではさらに、その他の明確な定義及び暗黙の定義が含まれる可能性がある。
【0030】
本開示の実施形態で説明する個々の方法及びプロセスは、端末装置、ネットワーク装置等の様々な電子機器に適用してもよい。また、本開示の実施形態は、信号発生器、シグナルアナライザ、スペクトラムアナライザ、ネットワークアナライザ、テスト端末装置、テストネットワーク装置、チャネルエミュレータ等のテスト装置において実行されてもよい。
【0031】
本開示の実施形態の説明において、「回路」という用語は、ハードウェア回路及び/又はハードウェア回路とソフトウェアとの組合せを指してもよい。例えば、回路は、アナログ及び/又はデジタルのハードウェア回路とソフトウェア/ファームウェアとの組合せであってもよい。別の例として回路は、ソフトウェアを備えたハードウェアプロセッサのいずれかの部分であってもよく、(複数の)デジタルシグナルプロセッサ、ソフトウェア、及び(複数の)メモリを含み、(複数の)デジタルシグナルプロセッサ、ソフトウェア、及び(複数の)メモリが協働することで、例えばコンピューティングデバイスのような装置が動作して様々な機能を実行することが可能になる。さらに別の例において、回路は、マイクロプロセッサ又はマイクロプロセッサの一部等のハードウェア回路及び/又はプロセッサであってもよく、操作のためにソフトウェア/ファームウェアを必要とするが、操作にソフトウェアが必要とされない場合にはソフトウェアはなくてもよい。文中で用いられるように、「回路」という用語には、ハードウェア回路若しくは(複数の)プロセッサのみの実装、又は、ハードウェア回路若しくは(複数の)プロセッサの一部にそれ(若しくはそれら)に付随するソフトウェア及び/若しくはファームウェアを加えた実装も含まれる。
【0032】
エージェントは、多くの領域での様々な問題において、特定のタスクを完了するために一連の方策を打ち出す必要がある。例えば、アルファ碁(AlphaGo)が囲碁を打つプロセスで考慮すべき方策が挙げられる。強化学習(RL:Reinforcement Learning)アルゴリズムは、最大化された累積的な報酬を満たすことを前提に、最適なポリシーを学習することを目的としており、このため自動運転、経営管理、推薦システム等の各分野に応用されている。しかし、従来の強化学習アルゴリズムには、データの有効性等の面で依然として欠陥がある。
【0033】
データの有効性を高めるには、より多くの先験的知識を有するか、既存のデータからより多くの情報を抽出することが必要である。モデルに基づく強化学習アルゴリズムは、環境の動的モデルを学習することができるが、そのモデルによる仮定は、データの有効性を高めると同時にモデルの偏りをもたらし、結果として要求される性能を満たすことができない。データ合成技術では、既存のデータをアップサンプリングして合成データを得るが、このメカニズムは制御できないため、応用分野が限定されてしまう。
【0034】
これに鑑み、本開示の実施形態は、上述の問題及び/又は他の潜在的な問題のうち1つ以上を解決するために、データ拡張の解決手段を提出する。この解決手段では、因果モデルに基づいて得られた学習済みのデータ生成モデルを用いて、処理対象データに対応する結果データを決定することができるため、データの拡張が実現される。
【0035】
図1は、本開示の実施形態にかかる例示的環境100のブロック図を示す。
図1に示す環境100は、本開示の実施形態を実施可能な1つの例示に過ぎず、本開示の範囲を限定することを意図していないことを理解されたい。本開示の実施形態は、他のシステム又はアーキテクチャにも同様に適用される。
【0036】
図1に示すように、環境100は、コンピューティングデバイス110を備えてもよい。コンピューティングデバイス110は、計算能力を有する任意のデバイスであってよい。コンピューティングデバイス110は、パーソナルコンピュータ、サーバコンピュータ、携帯又はラップトップ型デバイス、モバイルデバイス(例えば、携帯電話、パーソナルデジタルアシスタントPDA、メディアプレーヤ等)、ウェアラブルデバイス、家庭用電気製品、ミニコンピュータ、メインフレームコンピュータ、分散コンピューティングシステム、クラウドコンピューティングリソース等を含み得るが、これらに限定されない。コンピューティングデバイス110は、コスト等の要素を考慮し、モデル学習用の十分な計算力のリソースを有してもよく、又は有しなくてもよいことを理解されたい。
【0037】
コンピューティングデバイス110は、処理対象データ120を取得し、結果データ140を出力するように設定されてもよい。結果データ140の決定に関しては、学習済みのデータ生成モデル130によって実施されてもよい。
【0038】
処理対象データ120は、ユーザによって入力されてもよく、又は記憶装置から取得されてもよく、本開示はこの点について限定しない。
【0039】
処理対象データ120は、処理される分野の対象の情報を表すために用いてもよい。処理対象データ120は、第1状態情報、第1動作、及び第1状態情報が満たされた場合に第1動作が実行された後の第2状態情報のうち、少なくとも1つを示してもよい。オプションとして、処理対象データ120は、第1動作を実行して第1状態情報から第2状態情報へ変換するプロセスにおける報酬情報をさらに含んでもよい。
【0040】
結果データ140は、処理対象データ120に類似する情報を含んでもよい。いくつかの例示において、結果データ140は、第1状態情報、第2動作、及び第1状態情報が満たされた場合に第2動作が実行された後の第3状態情報のうち、少なくとも1つを示してもよい。
【0041】
いくつかの例示において、本開示の実施形態は、スマートバランススクーターの分野に適用されてもよい。これに対応して、対象はバランススクーターを表してもよい。状態情報は、バランススクーターの移動状態を表してもよく、例えば、状態情報は、移動距離、移動速度、水平面(又は垂直方向)に対する角度、角速度等を含んでもよい。動作には、前進、後退、停止等が含まれてもよい。
【0042】
【0043】
【0044】
上記で挙げたシナリオは単に説明のためのものであり、本開示の範囲を何ら限定するものではないことを理解されたい。本開示の実施形態は、同様の問題が存在する様々な分野に適用してもよく、ここでは逐一列挙しない。また、本開示の実施形態における「動作」は、例えば「方策」等と称されてもよく、この点について本開示は限定しない。
【0045】
いくつかの実施形態において、上述のプロセスを実施する前にデータ生成モデル130に学習させてもよい。コンピューティングデバイス110によって、又はコンピューティングデバイス110の外部の他の適切なデバイスによって、データ生成モデル130に学習させてもよいことを理解されたい。学習済みのデータ生成モデル130は、コンピューティングデバイス110に配備されてもよいし、コンピューティングデバイス110の外部に配備されてもよい。以下、コンピューティングデバイス110がデータ生成モデル130に学習させる場合を例に、
図3を参照しながら例示的な学習プロセスを説明する。
【0046】
図3は、本開示の実施形態にかかる例示的な学習プロセス300のフローチャートを示す。例えば、方法300は、
図1に示すコンピューティングデバイス110によって実行することができる。理解されるように、方法300はさらに、示されていない付加的ブロックを含んでもよく、且つ/又は示されたいくつかのブロックを省略してもよい。本開示の範囲は、この点において限定されない。
【0047】
ブロック310において、学習セットを構築する。学習セットは複数のデータ項目を含み、複数のデータ項目における各データ項目は、第1状態情報、動作、第1状態情報の場合に動作が実行された後の第2状態情報を含む。
【0048】
ブロック320において、学習セットにおける少なくとも1つのデータ項目に対応する因果モデルを取得する。
【0049】
ブロック330において、少なくとも学習セットと因果モデルに基づいて、学習済みのデータ生成モデルを生成する。
【0050】
【0051】
理解できる点として、上述した例示におけるデータ項目の表示はあくまで模式的なものであり、実際のシナリオにおいて、データ項目は他の形式、例えば(動作、出力、属性)として表されてもよく、出力が変換後の第2状態情報を含んでもよく、属性が第1状態情報を含んでもよい。オプションとして、出力は報酬情報をさらに含んでいてもよく、属性は属性情報をさらに含んでいてもよい。そして、動作は実際の適用シナリオに基づいて設定されてもよく、それは任意の項目であってよいことに留意されたい。
【0052】
本開示のいくつかの実施形態において、因果モデルは経験等に従って手動で決定されてもよい。本開示のいくつかの実施形態において、因果モデルは、学習セットに基づいて学習によって得られてもよい。本開示の実施形態は、この点について限定しない。例示として、因果モデルの方法には、Peter-Clarkアルゴリズム(PC:Peter-Clark Algorithm)、GES(Greedy Equivalent Search)、線形非ガウスモデル(LinGAM:Linear non-Gaussian Model)、Causal Additiveモデル(CAM:Causal Additive Model)等が含まれ得るが、これらに限られない。
【0053】
例示として、因果モデルは、有向非巡回グラフ(DAG:Directed Acyclic Graph)として表されてもよい。DAGは複数のノードを含んでもよく、例えば、ソースノード、中間ノード、及びターゲットノードを含む。
【0054】
オプションとして、DAGを決定するプロセスにおいて、因果構造の学習方法を用いて複数の変数の間の因果構造を識別してもよい。例えば、データ項目が属性情報を含む場合、属性情報をDAGのソースノードとして設定してもよい。
【0055】
【0056】
【0057】
【0058】
【0059】
【0060】
因果モデルに基づいてデータ生成モデルのモデル構造を構築し、さらに学習セットに基づいて当該モデル構造に学習させることで、学習済みのデータ生成モデルを生成してもよい。いくつかの実施形態では、因果モデルに基づいて第2サブモデルのネットワーク構造を構築し、第1サブモデル、第2サブモデル、及び第3サブモデルに学習させることで、学習済みのデータ生成モデルを取得してもよい。例を挙げると、第2サブモデルのネットワーク構造は、2つのタイムスライスを有するベイジアンネットワーク(2-time slice Bayesian network)を含んでもよい。
【0061】
表示を簡単にするために、第1サブモデルをE、第2サブモデルをG、第3サブモデルをDと表してもよい。こうしてブロック330において、学習を通じて、学習済みのE、G、Dを取得可能であることが理解できる。
【0062】
【0063】
【0064】
【0065】
このように、本開示の実施形態では、学習により得られた学習済みのデータ生成モデルによって、また、学習プロセスにおける損失関数を用いて、平均二乗誤差の損失を考慮して、第2サブモデルの出力と実データとの差を最小化することができるので、学習プロセスを速め、効率を高めることができる。
【0066】
以上、
図3と
図4を参照してデータ生成モデル130の例示的な学習プロセスについて説明した。当該学習済みのデータ生成モデル130により、処理対象データに対応する結果データを決定することができるため、反事実に基づくデータを得ることができ、データの拡充が実現される。以下、
図5及び
図6と結び付けて、データ生成モデル130の模式的な使用プロセスについて説明する。
【0067】
図5は、本開示の実施形態にかかる例示的な使用プロセス500のフローチャートを示す。例えば、方法500は、
図1に示すコンピューティングデバイス110によって実行することができる。理解されるように、方法500はさらに、示されていない付加的ブロックを含んでもよく、且つ/又は示されたいくつかのブロックを省略してもよい。本開示の範囲は、この点において限定されない。
【0068】
ブロック510において、処理対象データを取得する。処理対象データは、第1状態情報、第1動作、及び第1状態情報が満たされた場合に第1動作が実行された後の第2状態情報のうち、少なくとも1つを示す。
【0069】
ブロック520において、学習済みのデータ生成モデルを用いて、処理対象データに基づいて結果データを決定する。結果データは、第1状態情報が満たされた場合に第2動作が実行された後の第3状態情報を示す。データ生成モデルは、学習セットと、学習セット内の少なくとも1つのデータ項目に対応する因果モデルとに基づいて得られたものである。
【0070】
ブロック530において結果データを出力する。
【0071】
本開示の実施形態において、処理対象データは、実際のシナリオで収集された実データであってもよく、一方、結果データは、実データとは異なる反事実のデータであってもよい。例えば結果データは、他の全ての面で変更がない状況においてその時点の動作が変更された場合に生じる結果を表してもよい。
【0072】
ブロック520で使用される学習済みのデータ生成モデルは、
図3~
図4と結び付けて上述したようなデータ生成モデルであってもよく、より具体的には、ブロック530において第2のサブモデルを使用して結果データを得てもよい。
【0073】
【0074】
このように、本開示の実施形態は、学習済みのデータ生成モデルを使用して、処理対象データに対応する反事実のデータを得ることができる。
【0075】
図6は、本開示の実施形態にかかる例示的な使用プロセス600のフローチャートを示す。例えば、方法600は、
図1に示すコンピューティングデバイス110によって実行することができる。理解されるように、方法600はさらに、示されていない付加的ブロックを含んでもよく、且つ/又は示されたいくつかのブロックを省略してもよい。本開示の範囲は、この点において限定されない。
【0076】
ブロック610において、処理対象データを取得する。処理対象データは、第1状態情報、第1動作、第1状態情報によって表される対象の第1属性情報、第1属性情報を有する対象が第1状態情報の際に第1動作を実行した後の第2状態情報のうち、少なくとも1つを示す。
【0077】
ブロック620において、学習済みのデータ生成モデルの第1サブモデルを用いて、影響パラメータを得る。当該影響パラメータは第2属性情報とノイズパラメータを含む。
【0078】
ボックス630において、学習済みのデータ生成モデルの第2サブモデルを用いて、結果データを得る。当該結果データは、第2属性情報を有する対象が第1状態情報の際に第1動作を実行した後の第3状態情報を示す。
【0079】
ブロック640において結果データを出力する。
【0080】
【0081】
【0082】
スマートバランススクーターを例にとると、バランススクーターは小型、軽量、シンプルでトレンディな外観、簡単な操作、エンターテインメント性と移動手段との一体化等、交通手段の1つとして多くの利点があるため、個人消費者の使用に留まらず、軍、警察、警備、居住地区の不動産、空港の地上勤務等各業界で広く利用されている。バランススクーターは、ドライバの重心の移動によって、加速、減速、方向転換等の操作を実現する。バランススクーターに使用されている動力学システムは、複数の変数に関わり、システムパラメータが互いに結合し、各変数の間が時変且つ非線形であるため、バランススクーターの動力学システムのモデルを正確に構築することは不可能である。
【0083】
1つの方法として、いくつかの特定のシナリオでデータを収集し、収集したデータを基に、例えば学習によって動力学モデルを得ることができる。しかし、実際のシナリオで収集されるデータは、特定のドライバについてしかデータ収集できない等、限定的であるため、その結果、収集されたデータは十分に網羅的とは言えない。
【0084】
【0085】
【0086】
自動運転の分野を例にとると、本開示の実施形態は、車両用の先進運転支援システム(ADAS:Advanced Driver Assistance Systems)に適用されてもよい。ADASでは、様々な車載センサを通じて車内外の環境データを収集し、静的・動的な物体の認識・検出・追跡等の技術上の処理を行うことで、ドライバが危険をいち早く察知し、対応する措置を講じ、運転の安全性を高めることができる。一般的な細分化機能としては、車線逸脱警報(LDW:Lane Departure Warning)システム、死角検出(BSD:Blind Spot Detection)システム、車線変更支援(LCA:Lane Change Assist)システム、アダプティブクルーズコントロール(ACC:Adaptive Cruise Control)システム、自動緊急ブレーキ(AEB:Autonomous Emergency Braking)システム、ドライバ・モニタリング・システム(DMS:Driver Monitoring System)等がある。
【0087】
現在、車両の故障診断は、メカニズム及び専門家の経験に基づいて行うのが一般的な方法であるが、このような方法は技術者への要求が高く、コスト高に繋がる。別の方法は、既存のデータを用いて車両を制御するものであるが、現在の利用可能なデータでは故障データが少なく網羅的ではない。
【0088】
【0089】
【0090】
図7は、本開示の実施形態にかかる例示的な使用プロセス700のフローチャートを示す。例えば、方法700は、
図1に示すコンピューティングデバイス110によって実行することができる。理解されるように、方法700はさらに、示されていない付加的ブロックを含んでもよく、且つ/又は示されたいくつかのブロックを省略してもよい。本開示の範囲は、この点において限定されない。
【0091】
ブロック710において、処理対象データを取得する。処理対象データは、第1状態情報、第1動作、第1状態情報によって表される対象の第1属性情報、第1属性情報を有する対象が第1状態情報の際に第1動作を実行した後の第2状態情報のうち、少なくとも1つを示す。
【0092】
ブロック720において、学習済みのデータ生成モデルの第1サブモデルを用いて、影響パラメータを得る。当該影響パラメータは第2属性情報とノイズパラメータを含む。
【0093】
ブロック730において、学習済みのデータ生成モデルの第2サブモデルを用いて、結果データを得る。当該結果データは、第2属性情報を有する対象が第1状態情報の際に第2動作を実行した後の第3状態情報を示す。
【0094】
ブロック740において結果データを出力する。
【0095】
【0096】
【0097】
上述の
図5~
図7の実施形態と結び付けると、処理対象データに基づいて結果データを得ることができる。当該結果データは反事実のデータであってもよい。具体的には、
図5のプロセス500と結び付けて、実データと異なる動作の反事実のデータが得られ、
図6のプロセス600と結び付けて、実データと異なる属性情報の反事実のデータが得られ、
図7のプロセス700と結び付けて、実データと異なる動作と異なる属性情報の反事実のデータが得られる。
【0098】
例示として、
図5~
図7における処理対象データは、
図3に示すような学習セットにおける複数のデータ項目のうちの1つであってもよく、それに応じて、上述した実施形態を、
図8に示すプロセス800として模式的に表してもよい。
図8に示すように、学習セット810に基づいて、因果構造学習820により、DAG830を得てもよい。学習セット810とDAG830に基づいて、因果モデル学習840により、データ生成モデル850を得てもよい。データ生成モデル850は、第1サブモデルE、第2サブモデルG、及び第3サブモデルDを含んでもよい。学習セット810とデータ生成モデル850に基づいて、反事実的推論860により、結果データ870を得てもよい。結果データ870は反事実のデータである。
図8に示すプロセスは、あくまで模式的なものであり、本開示の実施形態に対する限定として解釈されるべきではないことを理解されたい。
【0099】
図9は、本開示の実施形態にかかる、目標方策を決定するプロセス900のフローチャートを示す。
【0100】
ボックス910において、ユーザからの入力情報を取得する。入力情報は入力状態情報を含む。
【0101】
ボックス920において、少なくとも結果データに基づいて生成された学習済みの方策モデルを用いて、入力情報に基づいて少なくとも1つの目標方策を決定する。
【0102】
ボックス930において、少なくとも1つの目標方策を出力する。
【0103】
いくつかの実施形態において、方策学習セットを構築することと、少なくとも当該方策学習セットに基づいて学習済みの方策モデルを生成することとによって、学習済みの方策モデルを得てもよい。当該方策学習セットは、複数の方策データ項目を含み、各方策データ項目は、属性情報、初期状態情報、方策、初期状態情報の際に方策を適用した後の変換後の状態情報、及び初期状態情報から変換後の状態情報までのプロセスにおける報酬情報のうち、少なくとも1つを含む。例示として、複数の方策データ項目における少なくとも1つの方策データ項目は、上述のプロセスによって生成された反事実のデータに基づくものである。
【0104】
方策モデルは、状態情報セット、方策セット、変換関数、及び報酬関数を含んでもよい。変換関数は、方策の適用により状態情報が変換する確率を表すことができ、報酬関数は、方策の適用により得られる報酬を表すために用いることができる。
【0105】
オプションとして、いくつかの実施形態において、ユーザの入力情報は、出力条件に関する指示情報をさらに含んでもよい。ボックス920において、出力条件が満たされるまで、一連の目標方策、例えば複数の目標方策を決定してもよい。そして、ボックス930において複数の目標方策を出力してもよい。いくつかの実施形態において、学習済みの方策モデルに基づいて、入力状態情報に対応する第1方策スキームを決定し、さらには当該第1方策スキームに基づいて第1目標方策を決定してもよい。例示として、第1方策スキームは、複数の方策と、対応する複数の評価値とを含んでもよく、複数の評価値のうち最大の評価値に対応する方策を、第1目標方策としてもよい。入力状態情報の際に当該第1目標方策を適用した後の、変換後の状態情報を決定してもよい。そして、学習済みの方策モデルに基づいて、変換後の状態情報に対応する第2方策スキームを決定し、さらには当該第2方策スキームに基づいて、第2目標方策を決定してもよい。このようにして、出力条件を満たす複数の目標方策を決定することができ、複数の目標方策は、第1目標方策、第2目標方策...を含む。
【0106】
本開示は、出力条件を限定するものではないことに留意されたい。例えば、出力条件は、出力される複数の目標方策の数が所定値に等しいこと、複数の目標方策を経た後の状態情報が所定の状態情報であること、複数の目標方策を適用したプロセスにおける総報酬が第1所定値より大きいこと、複数の目標方策を適用したプロセスにおける総報酬が第1所定値より小さいこと等のうち、少なくとも1つを含む。
【0107】
このように、本開示の実施形態では、方策モデルを生成する際に、方策データセットに反事実のデータが含まれるので、より豊富なデータを考慮することが可能となり、その結果、得られた方策モデルの適用性がより高まり、具体的には、当該方策モデルに基づいて得られる目標方策がより正確になる。
【0108】
このように、学習によってデータ生成モデルを得て、それを用いて、処理対象データに基づいて、反事実の結果データを得ることができる。さらに、当該結果データを用いて、方策モデルに学習させることで、方策モデルに基づいて得られる少なくとも1つの目標方策を、より正確なものにすることができる。
【0109】
いくつかの実施形態において、コンピューティングデバイスは、以下の操作を実行するように設定された回路を備える。当該操作とは、処理対象データを取得することと、学習済みのデータ生成モデルを用いて、処理対象データに基づいて結果データを決定することと、結果データを出力することである。処理対象データは、第1状態情報、第1動作、及び第1状態情報が満たされた場合に第1動作が実行された後の第2状態情報のうち、少なくとも1つを示す。結果データは、第1状態情報が満たされた場合に第2動作が実行された後の第3状態情報を示す。データ生成モデルは、学習セットと、学習セット内の少なくとも1つのデータ項目に対応する因果モデルとに基づいて得られたものである。
【0110】
いくつかの実施形態において、コンピューティングデバイスは、以下の操作を実行するように設定された回路を備える。当該操作とは、第1状態情報、第1動作、第2状態情報のうちの少なくとも1つを第1サブモデルに入力することで、処理対象データに対応する影響パラメータを得ることと、第1状態情報、第2動作、及び影響パラメータを第2サブモデルに入力することで、第3状態情報を得ることである。
【0111】
いくつかの実施形態において、影響パラメータは、第1状態情報によって表される対象の属性情報、又はノイズパラメータのうちの少なくとも1つを含む。
【0112】
いくつかの実施形態において、処理対象データは事実に基づくデータであり、結果データは反事実のデータである。
【0113】
いくつかの実施形態において、コンピューティングデバイスは、第1状態情報、第2動作、及び第3状態情報を第3サブモデルに入力することで、結果データの利用可能性を決定する操作を実行するように設定された回路を備える。
【0114】
いくつかの実施形態において、コンピューティングデバイスは、以下の操作を実行するように設定された回路を備える。当該操作とは、入力状態情報を含む、ユーザからの入力情報を取得することと、少なくとも結果データに基づいて生成された学習済みの方策モデルを用いて、入力情報に基づいて少なくとも1つの目標方策を決定することと、少なくとも1つの目標方策を出力することである。
【0115】
いくつかの実施形態において、コンピューティングデバイスは、以下の操作を実行するように設定された回路を備える。当該操作とは、第1状態情報、第1動作、第1属性情報、第1属性情報を有する対象が第1状態情報の際に第1動作を実行した後の第2状態情報のうちの少なくとも1つを示す処理対象データを取得することと、第1状態情報、第1動作、第2状態情報のうちの少なくとも1つを、学習済みのデータ生成モデルの第1サブモデルに入力し、第2属性情報とノイズパラメータを含む、処理対象データに対応する影響パラメータを得ることと、第1状態情報、第1動作、及び影響パラメータを、学習済みのデータ生成モデルの第2サブモデルに入力することで、結果データを得ることと、結果データを出力することである。結果データは、第2属性情報を有する対象が第1状態情報の際に第1動作を実行した後の第3状態情報を示す。
【0116】
いくつかの実施形態において、コンピューティングデバイスは、以下の操作を実行するように設定された回路を備える。当該操作とは、複数のデータ項目を含む学習セットを構築することと、学習セットにおける少なくとも1つのデータ項目に対応する因果モデルを取得することと、学習セットと因果モデルに少なくとも基づいて、学習済みのデータ生成モデルを生成することである。複数のデータ項目における各データ項目は、第1状態情報、動作、及び第1状態情報の際に動作が実行された後の第2状態情報のうちの少なくとも1つを含む。
【0117】
いくつかの実施形態において、複数のデータ項目における各データ項目は、第1状態情報によって表される対象の属性情報をさらに含む。
【0118】
いくつかの実施形態において、データ生成モデルは、第1サブモデル、第2サブモデル、及び第3サブモデルを含む。ここで、第1サブモデルの入力は、第1状態情報、動作、及び第2状態情報を含み、第2サブモデルの入力は、第1状態情報、動作、及び属性情報を含み、第3サブモデルは、第2サブモデルの出力と第2状態情報との差を決定するために用いられる。
【0119】
いくつかの実施形態において、第2サブモデルの入力は、影響パラメータをさらに含み、影響パラメータは、第1状態情報によって表される対象の属性情報、又はノイズパラメータのうちの少なくとも1つを含む。
【0120】
いくつかの実施形態において、コンピューティングデバイスは、複数のデータ項目のうちの少なくとも1つのデータ項目に基づいて因果モデルを生成する操作を実行するように設定された回路を備える。因果モデルは、少なくとも1つのデータ項目における複数の要素の間の因果関係を示す。
【0121】
いくつかの実施形態において、コンピューティングデバイスは、以下の操作を実行するように設定された回路を備える。当該操作とは、因果モデルに基づいてデータ生成モデルのモデル構造を構築することと、少なくとも学習セットに基づいてモデル構造に学習させることで学習済みのデータ生成モデルを生成することである。
【0122】
図10は、本開示の実施形態を実施可能な例示的デバイス1000の模式的ブロック図を示す。例えば、
図1に示すコンピューティングデバイス110は、デバイス1000によって実現することができる。図に示すように、デバイス1000は、中央プロセッサユニット(CPU)1001を含む。CPU1001は、リードオンリーメモリ(ROM)1002に格納されたコンピュータプログラムの命令、又は記憶ユニット1008からランダムアクセスメモリ(RAM)1003にロードされたコンピュータプログラムの命令に基づき、各種の適切な動作及び処理を実行してもよい。RAM1003にはさらに、デバイス1000の操作に必要な各種プログラム及びデータを格納してもよい。CPU1001、ROM1002及びRAM1003はバス1004を介して互いに接続されている。入力/出力(I/O)インターフェース1005もバス1004に接続されている。
【0123】
デバイス1000における複数の部材は、I/Oインタフェース1005に接続されている。複数の部材には、キーボード、マウス等の入力ユニット1006、様々な種類のディスプレイ、スピーカ等の出力ユニット1007、磁気ディスク、光ディスク等の記憶ユニット1008、及びネットワーク・インタフェース・カード、モデム、無線通信送受信機等の通信ユニット1009が含まれる。通信ユニット1009によって、デバイス1000は、インターネットのようなコンピュータネットワーク及び/又は各種電信ネットワークを介して、他のデバイスと情報/データを交換することができる。理解されるように、本開示では、出力ユニット1007を使用して、ユーザ満足度のリアルタイムの動的変化に関する情報、満足度に関するユーザグループ又は個別ユーザのキーファクター特定情報、最適化ポリシーに関する情報、及びポリシー実施効果の評価に関する情報等を表示してもよい。
【0124】
プロセッサユニット1001は、1つ又は複数の処理回路によって実現することができる。プロセッサユニット1001は、上述した各プロセス及び処理を実行するように設定されてもよい。例えば、いくつかの実施形態において、前述のプロセスは、コンピュータソフトウェアプログラムとして実現可能であり、記憶ユニット1008のようなマシン可読媒体に有形記憶されている。いくつかの実施形態において、コンピュータプログラムの一部又は全部は、ROM1002及び/又は通信ユニット1009を経由してデバイス1000にロード及び/又はインストールすることができる。コンピュータプログラムがRAM1003にロードされCPU1001により実行されると、上述したプロセスのうち1つ又は複数のステップを実行することができる。
【0125】
本開示は、システム、方法、及び/又はコンピュータプログラム製品であってもよい。コンピュータプログラム製品は、本開示の各態様を実行するためのコンピュータ可読プログラム命令が格納されたコンピュータ可読記憶媒体を備えてもよい。
【0126】
コンピュータ可読記憶媒体は、命令実行デバイスにより使用される命令を保持し格納することができる有形デバイスであり得る。コンピュータ可読記憶媒体は例えば、電気記憶装置、磁気記憶装置、光記憶装置、電磁気記憶装置、半導体記憶装置又は上述の任意の適切な組合せであり得るが、これらに限られない。コンピュータ可読記憶媒体のより具体的な例として(全てではない)、ポータブル・コンピュータ・ディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、消去・書き込み可能なリードオンリーメモリ(EPROM又はフラッシュメモリ)、スタティックRAM(SRAM:Static Random Access Memory)、携帯型コンパクトディスクリードオンリーメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、メモリースティック、フロッピーディスク、機械的エンコーダディスク、例えば命令が格納されているパンチカード又は溝内の突起構造、及び上述の任意の適切な組合せが含まれる。ここで使用されるコンピュータ可読記憶媒体は、例えば無線電波若しくは他の自由伝播する電磁波、導波若しくは他の送信媒体を介して伝播する電磁波(例えば、光ケーブルを介する光パルス)、又は電線で送信される電気信号のような、瞬時の信号そのものであるとは解釈されない。
【0127】
ここで説明されるコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体から各計算/処理デバイスにダウンロードしてもよく、又は、ネットワーク、例えばインターネット、ローカルエリアネットワーク、ワイドエリアネットワーク及び/若しくは無線ネットワークを介して外部のコンピュータ若しくは外部記憶装置にダウンロードしてもよい。ネットワークは、銅線送信ケーブル、光ケーブル送信、無線送信、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータ及び/又はエッジサーバを含んでもよい。各計算/処理デバイスにおけるネットワークインターフェースカード又はネットワークインターフェースは、コンピュータ可読プログラム命令をネットワークから受信し、当該コンピュータ可読プログラム命令を転送し、各計算/処理デバイスのコンピュータ可読記憶媒体に格納されるようにする。
【0128】
本開示の操作を実行するためのコンピュータプログラム命令は、アセンブラ指示文、命令セットアーキテクチャ(ISA:Instruction Set Architecture)、機械語命令、機械関連命令、マイクロコード、ファームウェア命令、状態設定データ、又は、1種類若しくは複数種類のプログラミング言語の任意の組合せで記述されたソースコード若しくは対象コードであり得る。前記プログラミング言語は、Smalltalk、C++等のオブジェクト指向のプログラミング言語、及び、「C」言語又は類似のプログラミング語言のような一般的なプロセス式プログラミング言語を含む。コンピュータ可読プログラム命令は、全てユーザコンピュータ上で実行してもよいし、部分的にユーザコンピュータ上で実行してもよいし、1つの独立したソフトウェアパッケージとして実行してもよいし、ユーザコンピュータ上で部分的に実行するとともにリモートコンピュータ上で部分的に実行してもよいし、或いは、全てリモートコンピュータ又はサーバ上で実行してもよい。リモートコンピュータにかかる状況において、リモートコンピュータは、ローカルエリアネットワーク(LAN)又はワイドエリアネットワーク(WAN)を含む任意の種類のネットワークを介して、ユーザコンピュータに接続してもよく、又は、外部のコンピュータに接続してもよい(例えばインターネットサービスプロバイダを利用しインターネットを介して接続する)。いくつかの実施形態では、コンピュータ可読プログラム命令のステータス情報を利用して、例えばプログラマブルロジック回路、フィールドプログラマブルゲートアレイ(FPGA)又はプログラマブルロジックアレイ(PLA)のような電子回路をパーソナライズすることができる。当該電子回路は、コンピュータ可読プログラム命令を実行することで、本開示の各態様を実現してもよい。
【0129】
ここでは、本開示の実施形態にかかる方法、装置(システム)及びコンピュータプログラム製品のフローチャート及び/又はブロック図を参照して、本開示の各態様を説明した。理解されるように、フローチャート及び/又はブロック図の各ブロック並びにフローチャート及び/又はブロック図の各ブロックの組合せは、いずれも、コンピュータ可読プログラム命令により実現可能である。
【0130】
これらのコンピュータ可読プログラム命令は、汎用コンピュータ、専用コンピュータ又は他のプログラミング可能なデータ処理装置のプロセッサユニットに提供されて、マシンを生成してもよく、これらの命令がコンピュータ又は他のプログラミング可能なデータ処理装置のプロセッサユニットにより実行された場合、フローチャート及び/又はブロック図の1つ又は複数のブロックで規定された機能/動作を実現する装置が生成される。これらのコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体に格納されてもよい。これらの命令によって、コンピュータ、プログラミング可能なデータ処理装置及び/又はその他のデバイスは特定の方法で動作を行う。したがって、命令が格納されているコンピュータ可読媒体は、フローチャート及び/又はブロック図の1つ又は複数のブロックで規定された機能/動作を実現する各態様の命令が含まれている製品を含む。
【0131】
コンピュータ可読プログラム命令を、コンピュータ、他のプログラミング可能なデータ処理装置又は他のデバイスにロードして、コンピュータ、他のプログラミング可能なデータ処理装置又は他のデバイス上で一連の操作ステップを実行させ、コンピュータが実現するプロセスを生成してもよい。こうすることで、コンピュータ、他のプログラミング可能なデータ処理装置又は他のデバイスで実行される命令に、フローチャート及び/又はブロック図の1つ又は複数のブロックで規定された機能/動作を実現させる。
【0132】
図中のフローチャート及びブロック図は、本開示の複数の実施形態にかかるシステム、方法、コンピュータプログラム製品の実現可能なアーキテクチャ、機能及び操作を表している。この点において、フローチャート又はブロック図の各ブロックは、1つのモジュール、プログラムセグメント又は命令の一部を示すことができ、前記モジュール、プログラムセグメント又は命令の一部は、規定されたロジック機能を実現するための1つ又は複数の実行可能な命令を含む。代替としてのいくつかの実現形態において、ブロック内に表記された機能は、図中の表記と異なる順序で発生してもよい。例えば、2つの連続するブロックは実際には基本的に並行して実行されてもよいし、場合によっては反対の順序で実行されてもよい。これは、関係する機能によって定められる。また、注意すべき点として、ブロック図及び/又はフローチャートの各ブロック、並びにブロック図及び/又はフローチャートのブロックの組合せは、規定された機能又は動作を実行する、ハードウェアに基づく専用システムで実現してもよいし、或いは、専用のハードウェアとコンピュータ命令との組合せにより実現してもよい。
【0133】
以上、本開示の各実施形態を説明したが、上述した説明は、例示的なもので、全て網羅したものではなく、開示された各実施形態に限定されない。説明した各実施形態の範囲及び精神から逸脱しない状況において、当業者が複数の修正及び変更を行うことができることは明らかである。ここで使用された用語は、各実施形態の原理、実際の応用又は市場での技術改良について最適な説明を行うこと、又は当業者に本明細書で開示された各実施形態を理解させることを意図して、選択したものである。