(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-01-27
(45)【発行日】2025-02-04
(54)【発明の名称】KPI最適化システム及びこれを提供するためのクラウドベースの大規模作業処理システム
(51)【国際特許分類】
G06Q 10/04 20230101AFI20250128BHJP
G06Q 10/0637 20230101ALI20250128BHJP
【FI】
G06Q10/04
G06Q10/0637
(21)【出願番号】P 2023179248
(22)【出願日】2023-10-18
【審査請求日】2024-07-04
(31)【優先権主張番号】10-2023-0064112
(32)【優先日】2023-05-18
(33)【優先権主張国・地域又は機関】KR
【早期審査対象出願】
(73)【特許権者】
【識別番号】523394561
【氏名又は名称】ティルダ コーポレーション
(74)【代理人】
【識別番号】100169960
【氏名又は名称】清水 貴光
(72)【発明者】
【氏名】チョン・ジリャン
(72)【発明者】
【氏名】イ・サンヒョン
(72)【発明者】
【氏名】イム・ジンソク
(72)【発明者】
【氏名】シン・ヨンチョル
【審査官】加舎 理紅子
(56)【参考文献】
【文献】国際公開第2017/056367(WO,A1)
【文献】特開2018-195308(JP,A)
【文献】特表2023-538611(JP,A)
【文献】特開2022-065828(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00 - 99/00
(57)【特許請求の範囲】
【請求項1】
目標KPIを設定し、前記目標KPIに関連する多数の第1の特徴ベクトルを分析して多数の第2の特徴ベクトルを選択する分析部であって、前記目標KPIは、最適化対象であるKPIと最適化の態様から構成され、前記最適化の態様は、最大化、最小化又は特定の値への収束のうちのいずれか一つである前記分析部と、
前記多数の第2の特徴ベクトルを環境要因値、アクション値及びKPI先行指標に分類して前処理する前処理部であって、前記多数の第2の特徴ベクトルは、第1の環境要因値、第1のアクション値及び第1のKPI先行指標に該当する特徴ベクトルをそれぞれ少なくとも一つ含む前記前処理部と、
前記第1の環境要因値の入力を受けて少なくとも1種類の第2のアクション値を出力するアクション値出力部と、
前記第1の環境要因値と前記第2のアクション値の入力を受けて前記第1のKPI先行指標を予測するように既に学習された、或いは数学的-物理的数式で定義されたモデルであるデジタルツインであって、前記デジタルツインは、前記前処理部がKPI先行指標に分類して前処理した特徴ベクトルと一致するKPI先行指標を出力する前記デジタルツインと、
前記第2のアクション値と予測された前記第1のKPI先行指標とを演算して少なくとも1つの第1のKPI値を算出するKPI算出部と、を含み、
前記アクション値出力部は、前記目標KPIを最適化するために、進化アルゴリズムに基づいてアクション値を最適化し、前記第1のKPI値に基づいて進化アルゴリズムを実行して、更新された少なくとも一つのアクション値を出力し、
前記デジタルツインは、前記第1の環境要因値と前記更新された少なくとも一つのアクション値の入力を受けて、更新された少なくとも一つのKPI先行指標を出力し、
前記第1のKPI値は、前記目標KPIの最適化に寄与するKPI値を少なくとも1つ含み、
前記アクション値出力部は、前記目標KPIの最適化に寄与するKPI値を算出するために演算されたアクション値の組み合わせに進化アルゴリズムを実行して前記少なくとも1つのアクション値を更新し、
前記目標KPIを最適化する最適のアクション値を処方する、KPI最適化システム。
【請求項2】
前記デジタルツインは、前記第1の環境要因値と前記第1のアクション値の入力を受け、前記第1のKPI先行指標を予測するように学習されたモデルである、請求項1に記載のKPI最適化システム。
【請求項3】
前記アクション値出力部は、オプティマイザモデルであり、
前記オプティマイザモデルは、前記
目標KPIの最適化に寄与するKPI値を算出するために演算されたアクション値を出力したハイパーパラメータ又は重みの組み合わせに進化アルゴリズムを実行して前記オプティマイザモデルのハイパーパラメータ又は重みを更新することにより、前記少なくとも1つのアクション値を更新する、請求項1に記載のKPI最適化システム。
【請求項4】
前記多数の第2の特徴ベクトルは、多重共線性を診断する分散膨張要因の値が10以下である、請求項1に記載のKPI最適化システム。
【請求項5】
請求項1に記載のKPI最適化システムを提供するためのクラウドベースの大規模作業処理システムであって、
ユーザ端末から大規模作業処理要求情報の伝送を受けるAPIと、
前記APIから前記大規模作業処理要求情報の伝達を受け、前記大規模作業を担当する作業管理
部に前記大規模作業を割り当てる監視
部と、
前記大規模作業に対する分割の必要性を判断し、分割の基準を決定して前記大規模作業を多数の作業に分割し、前記多数の作業をキュー(Queue)に格納する前記作業管理
部と、を含む、クラウドベースの大規模作業処理システム。
【請求項6】
前記多数の作業をプーリングして前記多数の作業を行う多数の作業コンテナを生成し、固定インスタンスと約定インスタンスのうちの固定インスタンスを前記多数の作業コンテナに優先的に割り当てるコンテナオーケストレーションをさらに含む、請求項
5に記載のクラウドベースの大規模作業処理システム。
【請求項7】
前記多数の作業コンテナは、作業実行の結果をデータベースに格納し、前記監視
部は、前記データベースに格納された前記作業実行の結果を前記APIに伝達し、前記APIは、前記作業実行の結果を前記ユーザ端末に伝送する、請求項
6に記載のクラウドベースの大規模作業処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、KPI最適化システム及びこれを提供するためのクラウドベースの大規模な作業処理システムに関する。KPI最適化システムは、進化アルゴリズム(Evolutionary Algorithm、EA)を用いた処方的分析に基づき、クラウドベースの大規模作業処理システムは、特に作業の分割に基づく。
【背景技術】
【0002】
COVID-19以降の企業経営の環境は、これまで以上に難しく不透明になっている。そして、すべての産業領域でデジタル転換が求められており、企業経営において考慮すべき変数は持続的に増加している。企業の生存を左右する迅速かつ正確な運営戦略の決定がこれまで以上に必要な状況である。
【0003】
企業経営者は、運営戦略を決定する前に、予測分析(Predictive Analytics)を利用することができる。予測分析は、運営ビッグデータ-としての現在及び過去のデータ-を分析して予測モデルを学習した後、将来の運営状況を予測する方法である。予測モデルが将来の運営状況を予測すると、企業経営者は、予測された結果に基づいて運営戦略を決定することができる。しかし、企業経営者は、従来の規則ベース又は経験ベースの方法に依存するという欠点がある。これは、従来の方法で決定された運営戦略が必ずしも最良の運営戦略であるとは限らないからである。例えば、予測モデルが、A企業の次週月曜日の売上が前月曜日の売上よりも10%減少すると予測した場合、企業経営者は、売上減少量を減らすか或いは売上を増加に反転させるために、どの商品にどの価格変化を与えるかを決定しなければならないが、従来の方法のみでは現代社会で最良の運営戦略を決定するのに限界がある。
【0004】
最適化ソリューションの一つとして数学的最適化がある。数学的最適化は、グローバル最適(Global Optimum)が証明された方法である。ところが、変数に対する整数化や正規分布性などの仮定が必要であってモデルの精度が低く、変数が増加するほど、要求されるコンピューティング能力と計算時間が指数関数的に増加するという欠点がある。
【0005】
最適化ソリューションの他の一つとして、強化学習ベースの処方的分析がある。ところが、強化学習の特性上、数多くの学習データが必要であり、これにより、事実上、無制限のコンピューティング能力とエピソードを格納するためのメモリが必要であるという欠点がある。特に、勾配(Gradient)ベースの学習のためには、解空間(Solution Space)が微分可能な滑らかさ(Smoothness)を持たなければならないという制限がある。
【0006】
最適化ソリューションの別の一つとして、クラウドを活用した大規模なマシンラーニングがある。従来のマシンラーニング、ディープラーニングベースの大規模データ学習の際に、一つの高性能コンピューティングリソースで学習した。クラウド環境で特定時間が経過した場合、或いは一定量以上のデータが蓄積された場合、クラウド作業者は、高性能コンピューティングリソースを動的に割り当てて学習を持続させ、学習結果を格納する。しかし、サービス利用者からリアルタイム学習を要求される場合、高性能コンピューティングリソースは限られたリソースであるため、高性能コンピューティングリソースを動的に割り当てるのにかかる時間が遅れることがあり、これにより学習を完了する時点が遅れるという欠点がある。一方、高性能コンピューティングリソースを使用すると高く課金されるという欠点がある。
【先行技術文献】
【特許文献】
【0007】
【文献】米国登録特許公報第11,514,328号(2022年11月29日)
【発明の概要】
【発明が解決しようとする課題】
【0008】
本発明は、予測モデルが予測した結果を改善するためにユーザが取るべきアクションを処方(Prescriptive Analytics)することができるシステムの提供を目的とする。
【0009】
本発明は、解決可能な問題の範囲が広く、必要データのサイズとコンピューティング能力の面で効率的なシステムの提供を目的とする。
【0010】
本発明は、有利でない学習環境で最適な運営戦略を漸進的に探索することができるシステムの提供を目的とする。
【0011】
本発明は、学習時間を短縮することができ、ユーザに学習結果を迅速に伝達することができ、クラウド使用費用を下げることができるシステムの提供を目的とする。
【課題を解決するための手段】
【0012】
本発明の一態様は、KPI最適化システムであって、目標KPIを設定し、目標KPIに関連する多数の第1の特徴を分析して多数の第2の特徴を選択する分析部と、多数の第2の特徴を環境要因値、アクション値及びKPI先行指標に分類して前処理する前処理部であって、多数の第2の特徴は、第1の環境要因値、第1のアクション値及び第1のKPI先行指標に該当する特徴をそれぞれ少なくとも一つ含む前処理部と、第1の環境要因値の入力を受けて少なくとも1種類の第2のアクション値を出力するアクション値出力部と、第1の環境要因値と第2のアクション値の入力を受けて第1のKPI先行指標を予測するように既に学習された、或いは数学的-物理的数式で定義されたモデルであるデジタルツインと、第2のアクション値と予測された第1のKPI先行指標と、を演算して少なくとも1つの第1のKPI値を算出するKPI算出部と、を含み、アクション値出力部は、目標KPIを最適化するために、第1のKPI値に基づいて進化アルゴリズムを実行して、更新された少なくとも一つのアクション値を出力し、デジタルツインは、第1の環境要因値と更新された少なくとも一つのアクション値の入力を受けて、更新された少なくとも一つのKPI先行指標を出力する。
【0013】
デジタルツインは、第1の環境要因値と第1のアクション値の入力を受け、第1のKPI先行指標を予測するように学習されたモデルである。
【0014】
第1のKPI値は、目標KPIの最適化に寄与する第2のKPI値を少なくとも1つ含み、アクション値出力部は、第2のKPI値を算出するために演算されたアクション値の組み合わせに進化アルゴリズムを実行して少なくとも1つのアクション値を更新する。
【0015】
第1のKPI値は、目標KPIの最適化に寄与する第2のKPI値を少なくとも1つ含み、アクション値出力部は、オプティマイザモデルであり、オプティマイザモデルは、第2のKPI値を算出するために演算されたアクション値を出力したハイパーパラメータ又は重みの組み合わせに進化アルゴリズムを実行してオプティマイザモデルのハイパーパラメータ又は重みを更新することにより、少なくとも1つのアクション値を更新する。
【0016】
多数の第2の特徴は、多重共線性を診断する分散膨張要因の値が10以下であることが好ましい。
【0017】
本発明の別の一態様は、上述したKPI最適化システムを提供するためのクラウドベースの大規模作業処理システムであって、ユーザ端末から大規模作業処理要求情報の伝送を受けるAPIと、APIから大規模作業処理要求情報の伝達を受け、大規模作業を担当する作業管理者に大規模作業を割り当てる監視者と、大規模作業に対する分割の必要性を判断し、分割の基準を決定して大規模作業を多数の作業に分割し、多数の作業をキュー(Queue)に格納する作業管理者と、を含む。
【0018】
本発明は、多数の作業をプーリングして多数の作業を行う多数の作業コンテナを生成し、固定インスタンスと約定インスタンスのうちの固定インスタンスを多数の作業コンテナに優先的に割り当てるコンテナオーケストレーションをさらに含む。
【0019】
多数の作業コンテナは、作業実行の結果をデータベースに格納し、監視者は、データベースに格納された作業実行の結果をAPIに伝達し、APIは、作業実行の結果をユーザ端末に伝送する。
【発明の効果】
【0020】
本発明は、予測された結果を改善するために、ユーザが取るべきアクションを処方することにより、従来の予測分析の欠点を解消することができる。
【0021】
本発明は、群集ベースの進化アルゴリズムを活用することにより、数学的最適化及び強化学習ベースの処方的分析と対比して、解決可能な問題の範囲面で精度を改善することができ、必要データのサイズ及びコンピューティング能力の面で効率性を改善することができる。
【0022】
本発明は、継続学習(Continuous Learning)を介して初期データが非常に少ないか或いは偏向されている場合でも、漸進的に最適な戦略を探索することができる。さらに、本発明は、市場トレンドの変化や政策の変化などにより運営環境が変わる場合でも、これを追跡し、最適な戦略を探索することができる。
【0023】
本発明は、大規模作業を分割することにより、固定インスタンスを作業にまず割り当てて学習を開始し、必要に応じてスポットインスタンスを用いて並列に学習を進めることにより、学習時間を短縮することができ、ユーザに学習結果を迅速に伝達することができ、低い性能のインスタンスを用いて従来よりもクラウド使用費用を下げることができる。
【図面の簡単な説明】
【0024】
【
図1】本発明の一実施例によるKPI最適化システムの概略構成を示す。
【
図2】本発明の一実施例による分析部の概略構成を示す。
【
図3】本発明の一実施例による学習部の概略構成を示す。
【
図4】本発明の一実施例によるクラウドベースの大規模作業処理システムの概略構成を示す。
【
図5】ビッグデータを分析するための大規模作業処理システムの構成を示す。
【
図6】アルゴリズムの学習と性能に優れたモデルとを選定するための大規模作業処理システムの構成を示す。
【
図7】染色体を学習するための大規模作業処理システムの構成を示す。
【発明を実施するための形態】
【0025】
以下、本発明について詳細に説明する。ただし、本発明は、例示的な実施例によって制限又は限定されるものではない。本発明の目的及び効果は、下記の説明によって自然に理解されるか或いはより明らかになることができ、下記の記載のみで本発明の目的及び効果が限定されるものではない。また、本発明を説明する際に、本発明に関連する公知技術についての具体的な説明が本発明の要旨を不要に曖昧にするおそれがあると判断される場合には、その詳細な説明を省略する。
【0026】
図1は、本発明の一実施例によるKPI最適化システムの概略構成を示す。
図1を参照すると、KPI最適化システム10は、分析部100、前処理部200、及び学習部300を含むことができ、適用部400と再学習部500をさらに含むことができる。
【0027】
図2は、本発明の一実施例による分析部の概略構成を示す。
図2を参照すると、分析部100は、目標KPI設定部110、特徴分析部120及び特徴選択部130を含むことができる。
【0028】
目標KPI設定部110は、目標KPI(Key Performance Indicator:核心性と指標)を設定することができる。目標KPIは、最適化対象であるKPIと最適化の態様から構成できる。最適化の態様は、最大化、最小化又は特定の値への収束のうちのいずれか一つであり得る。目標KPIの例として、次の実施例1~3を例示することができる。しかし、目標KPIが実施例1~3に限定されるものではなく、最適化が要求されてもよく、演算を介して最適化可能なものであれば目標KPIになってもよい。
実施例1:野球競技チケット売上高の最大化。
実施例2:製造設備電力値の最小化。
実施例3:ガス生産基地の流量値を特定値に収束。
【0029】
本発明の一実施例によれば、目標KPI設定部110は、APIを介して外部機器、例えばユーザ端末と通信することができる。ユーザ端末は、目標KPI情報をAPIに入力することができ、APIは、入力された目標KPI情報を目標KPI設定部110に伝達することができる。目標KPI設定部110は、伝達された目標KPI情報に基づいて目標KPIを設定することができる。
【0030】
特徴分析部120は、目標KPIに関連する特徴を分析することができる。目標KPIに関連する特徴(以下、関連特徴)は、KPIの最適化に直接的又は間接的に必要な特徴ベクトルを意味することができる。特徴分析部120は、多数の種類(少なくとも3種類)の関連特徴を分析することが好ましく、後述する環境要因値、アクション値及びKPI先行指標に該当する関連特徴をそれぞれ少なくとも1つ分析することがさらに好ましい。各種類の関連特徴は、少なくとも1つの特徴値を含むことが好ましく、少なくとも2つの特徴値を含むことがさらに好ましい。ここで、「少なくとも1つ」、「少なくとも2つ」は、必ずしも1つ、2つなどの少ない個数を意味するものではない。
【0031】
次に、実施例1~3の関連特徴を例示する。しかし、目標KPIが実施例1~3に限定されないのと同様に、関連特徴も次の例に限定されない。
【0032】
実施例1:野球競技チケット売上高の最大化-競技場位置/気候/天気、競技チーム、競技チームの順位/選抜投手/4番打者、チケットの価格/割引率/販売量、おやつの価格/割引率/販売量など。
【0033】
実施例2:製造設備電力値の最小化-流量、濃度、電力測定値、無負荷電力測定値など。
【0034】
実施例3:ガス生産基地の流量値を特定値に収束-圧力値、吐出流量値、温度、大気圧など。
【0035】
特徴分析部120が分析する関連特徴に、カテゴリー型データが含まれることができる。後述する前処理部200は、ワンホットエンコーディング(One-hot Encoding)、バイナリエンコーディング(Binary Encoding)又はラベルエンコーディング(Label Encoding)を行うことにより、カテゴリー型データを数値型データに変換して特徴分析部120に提供することができる。
【0036】
特徴選択部130は、特徴分析部120が分析した関連特徴のうち、目標KPIとの相関関係が高く、他の特徴とは多重共線性(Multi-collinearity)は低い関連特徴を選択することができる。特徴選択部130は、多数種類(少なくとも3種類)の関連特徴を選択することが好ましく、後述する環境要因値、アクション値及びKPI先行指標に該当する関連特徴をそれぞれ少なくとも1つ選択することがさらに好ましい。上述のように、各種類の関連特徴は、少なくとも1つの特徴値を含むことが好ましく、少なくとも2つの特徴値を含むことがさらに好ましい。ここで、「少なくとも1つ」、「少なくとも2つ」とは、必ずしも1つ、2つなどの少ない個数を意味するものではない。
【0037】
上述した多重共線性は、分散膨張要因(Variance Inflation Factor、VIF)を介して診断することができる。分散膨張要因は、多数の独立変数がある場合、特定の独立変数を従属変数として設定し、残りの独立変数を独立変数として設定した後、回帰分析を行って変数間の関係性を測定する。本発明の一実施例によれば、分散膨張要因値が10を超えれば、多重共線性が高いと診断することができ、分散膨張要因値が10以下であれば、多重共線性が低いと診断することができる。
【0038】
前処理部200は、特徴選択部130が選択した関連特徴を環境要因値、アクション値及びKPI先行指標に分類することができ、各値を前処理することができる。環境要因値、アクション値及びKPI先行指標は、次のとおりに定義される。
【0039】
-環境要因値:環境要因値は、KPI最適化システム10のユーザが意図的に変更することができない値として定義される。目標KPIに応じて、さまざまな関連特徴が環境要因値に該当することができる。実施例1において、環境要因値は、競技場の位置/気候/天候、競技チーム、競技チームの順位などであり得る。
【0040】
-アクション値:アクション値は、KPI最適化システム10のユーザがKPIの最適化のために意図的に変更することができる値として定義され、アクション値を最適化することにより、KPIを最適化することができる。実施例1において、アクション値は、チケットの価格/割引率、おやつの価格/割引率などであり得る。一方、アクション値は、KPI最適化システム10のユーザがKPIを最適化するために取るべきアクションを数値で表現した値であるといえることができる。KPI最適化システム10のユーザが野球競技場の運営者であり、運営者が野球競技チケットの売上高を最大化するためにチケット価格を変更しようとするとき、変更後のチケット価格としてアクション値を採用することができる。
【0041】
-KPI先行指標:KPI先行指標(Leading Indicators)は、KPIの最適化に主導的な影響を及ぼす指標であって、KPIの最適化のために先行的に予測又は導出されるべき指標として定義される。実施例1において、KPI先行指標は、観客の数になることができる。観客の数によって野球競技チケットの売上高の最大化か否かを見計らうことができるためである。一方、KPI先行指標は、KPIの算出に必要な変数のうち、KPI最適化システム10の安定性のために維持しなければならない値に該当する。
【0042】
前処理部200は、次のような順序で前処理を行うことができる。
【0043】
1.欠測値処理(環境要因値、アクション値、KPI先行指標共通):データ収集の際に発生した欠測値を処理する。前処理部200は、欠損値を0に置換するか、或いは欠損値を欠損発生前の時点の値に置き換えることができる。
【0044】
2.重複データの除去(環境要因値、アクション値、KPI先行指標共通):データ収集の際に誤入力された重複データを除去する。
【0045】
3.循環特性情報の埋め込み(Embedding Cyclical Information)(環境要因値):時間経過に伴って現れる情報の循環特性を用いた前処理方法であって、カテゴリー型変数又は時間値を二次元ベクトルに変換する。下記数式1を参照すると、第1の次元はSin(サイン)値に、第2の次元はCos(コサイン)値に変換する。
【0046】
【0047】
4.差分データの生成(アクション値、KPI先行指標):時系列データの特性上、以前の時点から現在の時点への変化量は、KPI最適化システム10を生成するときに重要な情報となり得る。よって、アクション値の差分値とKPI先行指標の差分値を学習データの一つとして使用する。
【0048】
5.リサンプリング(環境要因値、アクション値、KPI先行指標共通):学習データの入力の際に、データの入力パターンが一定でないことがある。例えば、10秒単位でデータが一定に入力されなければならないが、無分別に30秒或いは40秒後にデータが入力できるため、このような現象に備えるためにリサンプリングを行う。
【0049】
6.データスケーリング(環境要因値、アクション値、KPI先行指標共通):データ値の範囲を調整する。データ値があまり大きいか小さい場合、アルゴリズム学習過程でデータ値が0に収束するか或いは無限に発散することができるためである。分類タスクでは、標準スケーラ(Standard Scaler)-特徴値を、平均が0で分散が1である正規分布を持つようにする-を適用し、回帰タスクでは、最小/最大スケーラ(MinMax Scaler)-特徴値の最大値、最小値がそれぞれ1、0となるようにする-を適用する。
【0050】
図3は、本発明の一実施例による学習部の概略構成を示す。
図3を参照すると、学習部300は、アクション値出力部310、デジタルツインモデル320及びKPI算出部330を含むことができる。
【0051】
デジタルツインモデル320は、下記数式2のとおりに、環境要因値とアクション値の入力を受けることができ、KPI先行指標を予測することができる。デジタルツインモデル320の入力を受ける環境要因値とアクション値は、前処理部200が前処理した関連特徴である。デジタルツインモデル320は、マシンラーニングモデル又はディープラーニングモデルであってもよく、場合によっては規則ベースのモデルであってもよい。KPI先行指標を予測する際に、相対的に複雑度の高いKPI先行指標の場合は、デジタルツインモデル320を学習モデルで構成し、相対的に複雑度の低いKPI先行指標の場合は、デジタルツインモデル320を数学物理的モデルで構成する。
【0052】
【0053】
デジタルツインモデル320の構成方法について詳述する。
【0054】
本発明の一実施例によれば、デジタルツインモデル320は、前記数式2のとおりに、環境要因値とアクション値の入力を受けてKPI先行指標を予測するように学習する(学習した)モデルであり得る。
【0055】
本発明の他の一実施例によれば、デジタルツインモデル320は、数学的-物理的数式を介して導出できるので、デジタルツインモデル320は、数学的-物理的モデルであり得る。簡単に言えば、デジタルツインモデル320を数学的モデルと呼ぶことができ、数式として導出されるとも言える。数学的-物理的モデルであるデジタルツインモデル320は、上記数式2のとおりに、環境要因値とアクション値の入力を受けてKPI先行指標を予測することができる。
【0056】
デジタルツインモデル320は、前処理部200から少なくとも1種類の環境要因値の入力を受けることができる。実施例1において、デジタルツインモデル320は、競技場位置に該当する環境要因値のみの入力を受けるか、或いは競技場位置に該当する環境要因値及び競技チームに該当する環境要因値の入力を一緒に受けることもできる。
【0057】
デジタルツインモデル320は、前処理部200から少なくとも1種類のアクション値の入力を受けることができる。実施例1において、デジタルツインモデル320は、チケット価格に該当するアクション値のみの入力を受けてもよく、チケット価格に該当するアクション値及びおやつ価格に該当するアクション値の入力を一緒に受けてもよい。
【0058】
デジタルツインモデル320は、少なくとも1種類のKPI先行指標を予測(導出)することができ、各種類のKPI先行指標は、少なくとも1つの値を含むことができる。実施例1において、デジタルツインモデル320は、一日の観客の数を予測することもでき、座席別に観客の数を予測することもできる。デジタルツインモデル320は、前処理部200がKPI先行指標に分類して前処理した関連特徴の特徴値と一致するKPI先行指標を出力することが好ましい。
【0059】
デジタルツインモデル320が学習モデルである場合、学習された多数のデジタルツインモデルの中から信頼度の最も高いモデルを選択して学習部300を構成することが好ましい。タスク(Task)別に少なくとも2つのデジタルツインモデルを生成することができるため、生成されたデジタルツインモデルのうち、性能が最も優れたデジタルツインモデルを選択して学習部300を構成することにより、アクション値出力部310とKPI算出部330との相互作用を向上させることができる。
【0060】
アクション値出力部310は、少なくとも1種類の環境要因値-前処理部200が前処理した関連特徴-の入力を受けることができ、少なくとも1種類のアクション値を出力することができ、各種類のアクション値は、少なくとも1つの値を含むことができる。アクション値出力部310は、既に構成されたデジタルツインモデル320に入力したときにKPIを最適化することが可能なアクション値を出力することを最終目的とする。アクション値出力部310は、進化アルゴリズムを実行することができ、KPI算出部330が算出したKPI値に基づいてアクション値を更新して出力することができる。アクション値出力部310は、前処理部200がアクション値に分類して前処理した関連特徴の特徴値と必ずしも一致するアクション値を出力しなければならず、一致しないアクション値を出力することもできる。
【0061】
アクション値出力部310は、最適値探索部310A又はオプティマイザモデル310Bで構成できる。KPIを最適化する際に、相対的に複雑度の低いKPIの場合は、アクション値出力部310を最適値探索部310Aで構成し、相対的に複雑度の高いKPIの場合は、アクション値出力部310をオプティマイザモデル310Bで構成する。
【0062】
アクション値出力部310が最適値探索部310Aで構成された場合について先ず説明する。最適値探索部310Aは、デジタルツインモデル320に入力したときにKPIを最適化することができる最適なアクション値を、進化アルゴリズムを用いて探索することができ、出力することができる。進化アルゴリズムの一例示である遺伝アルゴリズム(Genetic Algorithm、GA)は、次の順で駆動する。
【0063】
1.初期染色体の集合生成:任意の値で初期染色体(Chromosome)の集合を生成する。ここで、任意の値として、前処理部200がアクション値として分類して前処理した関連特徴の特徴値を用いる。
【0064】
2.初期染色体適合度の計算:染色体に表現された情報と適合度関数に基づいて適合度を計算する。
【0065】
3.選択(Selection):適合度が高いほど、親解として選択される確率が高くなるようにする方式であるルーレット選択方法(Roulette wheel selection)を用いて、適合度の最も高い染色体を選択する。
【0066】
4.交叉(Cross-over):交叉演算を用いて、選択された染色体を掛け合わせ、新しい構造を有する子孫の染色体を生成する。
【0067】
5.変異(Mutation):局所最適(Local Optimum)の問題が発生しないように変異演算を追加して適用する。
【0068】
最適値探索部310Aは、目標KPIに対して適合度関数(Fitness Function)を定義することができ、適合度関数を介して目標KPIをどれだけ、どのように最適化するかを決定することができる。進化アルゴリズムに基づく最適化問題の場合、問題領域に関連する計算、媒介変数集合の和などの基本機能を適合度関数として活用することができる。実施例1において、チケット売上高の最適化が必要な場合、総チケット売上高は、平日競技のチケット売上高と週末競技のチケット売上高との合計にして、総チケット売上高が最大となる適合度関数を追加して最適化問題を解決することができる。
【0069】
既に構成されたデジタルツインモデル320は、前処理部200から少なくとも1種類の環境要因値の入力を受けることができ、最適値探索部310Aから少なくとも1種類のアクション値の入力を受けることができ、少なくとも1種類のKPI先行指標値を予測して出力することができる。
【0070】
KPI算出部330は、最適値探索部310Aが出力したアクション値とデジタルツインモデル320が予測したKPI先行指標とを演算して少なくとも1種類のKPI値を算出することができる。実施例1において、KPI算出部330は、チケット価格(アクション値)と観客の数(KPI先行指標)とを乗じてKPI値を算出することができる。
【0071】
KPI算出部330が特定の種類に対して多数のKPI値を算出した場合、多数のKPI値は、KPIの最適化に寄与するKPI値のみで構成されるか、或いはKPIの最適化に寄与しないKPI値のみで構成されるか、或いはKPIの最適化に寄与するKPI値とKPIの最適化に寄与しないKPI値で構成されることができる。
【0072】
KPI算出部330が特定の種類に対して多数のKPI値を算出し、多数のKPI値がKPIの最適化に寄与するKPI値を少なくとも一つ、好ましくは少なくとも2つ含む場合、最適値探索部310Aは、アクション値の組み合わせに進化アルゴリズム(交叉、変位など)を行うことにより、最適値探索部310Aが出力するアクション値を更新することができる。ここで、組み合わせられるアクション値とは、KPIの最適化に寄与するKPI値を算出したアクション値をいう。これにより、入力される環境要因値が同じであっても、最適値探索部310Aは、アクション値を更新して出力することができる。実施例1において、目標KPIは、チケット売上高の最大化である。KPI算出部330が多数のチケット売上高を算出した場合、最適値探索部310Aは、チケット売上高が大きい順に、チケット売上高を少なくとも1つ、好ましくは少なくとも2つ選択することができ、選択されたチケット売上高を算出したチケット価格を組み合わせ、交叉又は変異させてチケット価格を更新することができる。
【0073】
既に構成されたデジタルツインモデル320は、前処理部200から少なくとも1種類の環境要因値の入力を受けることができ、最適値探索部310Aから更新された少なくとも1種類のアクション値の入力を受けることができる。ここで、既に構成されたデジタルツインモデル320が入力を受けた環境要因値は、最適値探索部310Aが入力を受けた環境要因値と同じであってもよい。既に構成されたデジタルツインモデル320は、更新された少なくとも1種類のKPI先行指標を出力することができる。KPI算出部330は、最適値探索部310Aが出力した更新アクション値と、デジタルツインモデル320が出力した更新KPI先行指標とを演算して、更新された少なくとも1種類のKPI値を算出すことができる。最適値探索部310Aのアクション値の更新、既に構成されたデジタルツインモデル320のKPI先行指標の更新及びKPI算出部330のKPI値の更新は、最適値探索部310Aが目標KPIを達成することができるアクション値を出力するまで繰り返し行われることができる。
【0074】
アクション値出力部310がオプティマイザモデル310Bで構成された場合について説明する。ただし、最適値探索部310Aについての説明と重複する説明は省略し、最適値探索部310Aとの相違点について説明する。オプティマイザモデル310Bは、下記数式3の通りに、環境要因値の入力を受けてアクション値を出力するように学習することができる。オプティマイザモデル310Bは、マシンラーニングモデル又はディープラーニングモデルであり得る。
【0075】
【0076】
オプティマイザモデル310Bがマシンラーニングモデルで構成される場合、従来の逆伝播(Back Propagation)方式ではなく、進化アルゴリズムを実行してハイパーパラメータを更新することができる。オプティマイザモデル310Bがディープラーニングモデルで構成される場合にも、従来の逆伝播方式ではなく、進化アルゴリズムを実行して重みを更新することができる。
【0077】
オプティマイザモデル310Bは、ハイパーパラメータの組み合わせ又は重みの組み合わせに進化アルゴリズム(交叉、変化など)を実行してハイパーパラメータ又は重みを更新することができる。これにより、入力される環境要因値が同一であっても、オプティマイザモデル310Bは、アクション値を更新して出力することができる。ここで、ハイパーパラメータの組み合わせ又は重みの組み合わせとは、KPIの最適化に寄与するKPI値を算出したアクション値を出力したハイパーパラメータの組み合わせ又は重みの組み合わせをいう。
【0078】
適用部400は、学習ステップとは異なり、環境要因値に対して前処理部200で行う前処理と同じ前処理を行うことができ、環境要因値を最適化されたオプティマイザモデル310Bに入力すると、オプティマイザモデル310Bは、最終的に生成されたアルゴリズムによって目標KPIを達成することができる最適なアクション値を出力することができる。
【0079】
再学習部500は、デジタルツインの予測値が高い信頼度を示すといっても、様々な原因によって予測値と実測定値との間に誤差が発生する可能性があるため、システム10に含まれてもよい。誤差を引き起こす原因として、学習データの不足、トレンドの変化、認知度の変化などであり得る。再学習部500は、誤差(=|予測KPI-実際KPI|)データを用いて[デジタルツインモデルの学習]-[最適値探索部の適用]のサイクル或いは[デジタルツインモデルの学習]-[オプティマイザモデルの学習]-[適用]のサイクルを繰り返すことにより、システム10は、運営環境の変化を追跡することができる。
【0080】
以下、KPI最適化システム10を提供するための、クラウドベースの大規模作業処理システム70について説明する。
図4は、本発明の一実施例によるクラウドベースの大規模作業処理システムの概略構成を示す。
図4を参照すると、クラウドベースの大規模作業処理システム70は、API710、監視者(Supervisor)720、作業管理者(Job Manager)730、キュー(Queue)740、コンテナオーケストレーション(Container Orchestration)750、多数の作業コンテナ(Job Containers)760-1、760-2、・・・、760-n(nは2以上の自然数、以下、括弧省略)、インスタンス770及びデータベース780を含むことができる。
【0081】
API710は、ユーザ端末600と大規模作業処理システム70とが通信することができるようにインターフェースとして機能する。ユーザ端末600は、大規模作業処理要求情報をAPI710に伝送することができ、API710は、ユーザ端末600の大規模作業処理要求情報を監視者720に伝達することができる。ここで、大規模作業処理要求情報は、処理対象データ又は情報などを含むことができる。
【0082】
監視者720は、作業管理者730に大規模作業(Job)を割り当てることができる。監視者720は、作業管理者730に作業分割の必要性を判断することを命令することができる。大規模作業処理システム70は、多数の作業管理者を含むことができ、各作業管理者が担当する作業は、互いに異なることができる。監視者720は、ユーザ端末600が要求した大規模作業処理と同じ種類の作業を担当する作業管理者730に大規模作業を割り当てることができる。
【0083】
作業管理者730は、処理対象データ又は情報を分析して、作業の分割が必要であるか否かを判断することができる。作業管理者730が作業の分割を必要とすると判断した場合、作業分割の基準を決定して大規模作業Jobtotalを多数個の小規模の作業Job1、Job2、…、Jobn(nは2以上の自然数、以下、括弧省略)に分割することができる。作業管理者730は、多数の小規模の作業Job1、Job2、…、Jobnをキュー740に格納することができる。キュー740は、データが格納される資料構造の1つであって、先に入力されたものが先に処理される先入れ先出しの構造を有し、多数の小規模の作業Job1、Job2、…、Jobnを格納(記録)することができる。
【0084】
コンテナオーケストレーション750は、キュー740に格納された多数の小規模の作業Job1、Job2、…、Jobnをプーリング(Pulling)し、多数の小規模の作業を実行する多数の作業コンテナ760-1、760-2、…、760-n)(nは2以上の自然数、以下、括弧省略)を生成することができ、各作業コンテナ760-1、760-2、…、760-nに各小規模の作業を割り当てることができる。小規模作業の数と作業コンテナの数は同じであることが好ましい。
【0085】
コンテナオーケストレーション750は、インスタンス770のリソースを各作業コンテナ760-1、760-2、…、760-nに割り当てることができる。インスタンス770は、固定インスタンス(Fixed Instances)771とスポットインスタンス(Spot Instances)772とを含むことができる。固定インスタンス771は、ユーザと大規模作業処理サービス提供者との間で締結された約定に従って割り当てられる固定リソース(CPU、GPU、メモリなど)を指し、スポットインスタンス772は、作業実行の際にコンテナオーケストレーション750が流動的に割り当てることができる予備リソース(CPU、GPU、メモリなど)を指す。
【0086】
作業コンテナは、割り当てられた小規模の作業を実行することができる。作業コンテナは、固定インスタンス771のリソースを優先的に用いて作業を実行することができ、作業コンテナが稼働率、進行率、データサイズなどを考慮したときに追加リソースが必要な状況であるが、追加リソースが固定インスタンス771に足りないかないと判断した場合、コンテナオーケストレーション750は、スポットインスタンス772のリソースを、追加のリソースが必要な作業コンテナに割り当てることができ、作業コンテナは、割り当てられたスポットインスタンス772のリソースを用いて作業を続けることができる。
【0087】
作業コンテナ760-1、760-2、…、760-nは、作業実行の結果をデータベース780に格納することができる。監視者720は、データベース780に格納された作業実行の結果を取り合わせてAPI710に伝達することができ、API710は、取り合わせられた作業実行の結果をユーザ端末600に伝達することができる。
【0088】
以下では、
図5~
図7を介してクラウドベースの大規模作業処理システム70の具体的な実施例を示す。インスタンス770の割当と使用は、前述した通りであるので、これについては省略する。
【0089】
図5は、ビッグデータを分析するための大規模作業処理システムの構成を示す。まず、
図5に示されたビッグデータについて説明する。ビッグデータは、列(Column)の項目(A、B、C)を除外したとき、9999個の行(Row)と3つの列で構成される。そして、B列のデータとC列のデータとの間に相関関係があると仮定する。
【0090】
ユーザ端末600は、ビッグデータ分析要求情報をAPI710に伝送し、API710は、ビッグデータ分析要求情報を監視者720に伝達する。ここで、ビッグデータ分析要求情報は、上述したビッグデータを含む。
【0091】
監視者720は、データ分析を担当する作業管理者730にビッグデータ分析作業を割り当てる。作業管理者730は、データの量が多いため、ビッグデータ分析作業Jobtotalを分割する必要があると判断し、ビッグデータを列(Column)別に分析することと、列(Colum)の分析とは別にB列のデータとC列のデータとの相関関係を分析することを決定する。作業管理者730は、ビッグデータ分析作業JobtotalをA列分析作業Job1、B列分析作業Job2、C列分析作業(図示せず)、及びB列のデータとC列のデータとの相関分析作業Job4に分割し、分割された作業Job1、Job2、…、Job4をキュー740に格納する。
【0092】
コンテナオーケストレーション750は、キュー740に格納された作業Job1、Job2、…、Job4をプーリングして、各作業を実行する作業コンテナ760-1、760-2、…、760-4を生成する。コンテナオーケストレーション750は、例えば、作業コンテナ760-1にA列分析作業Job1を割り当て、作業コンテナ760-2にB列分析作業Job2を割り当てる。そして、作業コンテナ760-3にC列分析作業を割り当て、作業コンテナ760-4に相関分析作業Job4を割り当てる。
【0093】
作業コンテナ760-1、760-2、…、760-4は、分析実行の結果をデータベース780に格納する。監視者720は、データベース780に格納された分析実行の結果を取り合わせてAPI710に伝達し、API710は、取り合わせられた分析実行の結果をユーザ端末600に伝送する。
【0094】
図6は、アルゴリズムの学習と、性能に優れたモデルを選定するための大規模作業処理システムの構成を示す。以下において、「モデル」とは、学習を完了したアルゴリズムを意味するものとする。
図6を参照すると、ユーザ端末600は、A、B、…、Zアルゴリズムの学習要求情報と性能に最も優れたモデルの選定要求情報をAPI710に伝送し、API710は、アルゴリズムの学習要求情報と最優秀モデルの選定要求情報を監視者720に伝達する。
【0095】
監視者720は、デジタルツインの学習を担当する作業管理者730にA、B、…、Zアルゴリズムの学習作業を割り当てる。作業管理者730は、学習すべきアルゴリズムの数が多いため、A、B、…、Zアルゴリズムの学習作業Jobtotalを分割する必要があると判断し、アルゴリズム別に学習作業を行うことを決定する。作業管理者730はA、B、…、Zアルゴリズムの学習作業JobtotalをAアルゴリズム学習作業Job1、Bアルゴリズム学習作業Job2、…、Zアルゴリズム分析作業Job26に分割し、分割された作業Job1、Job2、…、Job26をキュー740に格納する。
【0096】
コンテナオーケストレーション750は、キュー740に格納された作業Job1、Job2、…、Job26をプーリングして、各作業を実行する作業コンテナ760-1、760-2、…、760-26を生成する。コンテナオーケストレーション750は、例えば、作業コンテナ760-1にAアルゴリズム学習作業Job1を割り当て、作業コンテナ760-2にBアルゴリズム学習作業Job2を割り当て、作業コンテナ760-26にZアルゴリズム学習作業Job26を割り当てる。
【0097】
作業コンテナ760-1、760-2、…、760-26は、学習実行の結果とモデルをデータベース780に格納する。監視者720は、データベース780に格納された学習実行の結果とモデル-最優秀モデル又はすべてのモデルを指す-をAPI710に伝達することができ、API710は、学習実行の結果とモデルをユーザ端末に伝送することができる。
【0098】
図7は、染色体を学習するための大規模作業処理システムの構成を示す。
図7を参照すると、ユーザ端末600は、染色体100個に対する学習要求情報をAPI710に伝送し、API710は、染色体100個に対する学習要求情報を監視者720に伝達する。
【0099】
監視者720は、進化アルゴリズムの実行を担当する作業管理者730に染色体100個の学習作業を割り当てる。作業管理者730は、学習すべき染色体の数が多いため、染色体100個の学習作業Jobtotalを分割する必要があると判断し、染色体100個を10個ずつ分けて学習作業を実行することを決定する。作業管理者730は、染色体100の学習作業Jobtotalを1~10番目の染色体学習作業Job1、11~20番目の染色体学習作業Job2、…、91~100番目の染色体学習作業Job10に分割する。作業管理者730は、分割された作業Job1、Job2、…、Job10をキュー740に格納する。さらに、作業管理者730は、1つの学習作業に合計10個のCPUを割り当てることをコンテナオーケストレーション750に要求することができる。
【0100】
コンテナオーケストレーション750は、キュー740に格納された作業Job1、Job2、…、Job10をプーリングして、各作業を実行する作業コンテナ760-1、760-2、…、760-10を生成する。コンテナオーケストレーション750は、例えば、作業コンテナ760-1に1~10番目の染色体学習作業Job1を割り当て、作業コンテナ760-2に11~20番目の染色体学習作業Job2を割り当て、作業コンテナ760-10に91~100番目の染色体学習作業Job10を割り当てる。
【0101】
作業コンテナ760-1、760-2、…、760-10は、学習実行の結果をデータベース780に格納する。監視者720は、データベース780に格納された学習実行の結果を取り合わせてAPI710に伝達し、API710は、取り合わせられた学習実行の結果をユーザ端末600に伝送する。
【0102】
以上、代表的な実施例を介して本発明を詳細に説明したが、本発明の属する技術分野における通常の知識を有する者は、上述した実施例について本発明の範疇から逸脱することなく、様々な変形が可能であることを理解するであろう。したがって、本発明の権利範囲は、説明した実施例に限定されてはならず、後述する請求の範囲だけでなく、請求の範囲と均等概念から導出される全ての変更又は変形形態によって定められるべきである。
【符号の説明】
【0103】
10 KPI最適化システム
100 分析部
200 前処理部
300 学習部
310 アクション値出力部
310A 最適値探索部
310B オプティマイザモデル
320 デジタルツインモデル
330 KPI算出部
400 適用部
500 再学習部
600 ユーザ端末
70 大規模作業処理システム
710 API
720 監視者
730 作業管理者
740 キュー
750 コンテナオーケストレーション
760 作業コンテナ
770 インスタンス
780 データベース