(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-17
(45)【発行日】2024-09-26
(54)【発明の名称】タスク学習システムおよび方法、ならびに関連デバイス
(51)【国際特許分類】
G06N 20/00 20190101AFI20240918BHJP
G06N 5/00 20230101ALI20240918BHJP
G06F 16/90 20190101ALI20240918BHJP
【FI】
G06N20/00
G06N5/00
G06F16/90 100
(21)【出願番号】P 2023527103
(86)(22)【出願日】2021-10-30
(86)【国際出願番号】 CN2021127748
(87)【国際公開番号】W WO2022095807
(87)【国際公開日】2022-05-12
【審査請求日】2023-06-12
(31)【優先権主張番号】202011210952.8
(32)【優先日】2020-11-03
(33)【優先権主張国・地域又は機関】CN
(31)【優先権主張番号】202011417335.5
(32)【優先日】2020-12-07
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】521486206
【氏名又は名称】ホアウェイ クラウド コンピューティング テクノロジーズ カンパニー リミテッド
【氏名又は名称原語表記】Huawei Cloud Computing Technologies Co., Ltd.
【住所又は居所原語表記】Huawei Cloud Data Center,Jiaoxinggong Road,Qianzhong Avenue, Gui’an New District, Guizhou,550025,China
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133569
【氏名又は名称】野村 進
(72)【発明者】
【氏名】▲鄭▼ 子木
(72)【発明者】
【氏名】普 杰
(72)【発明者】
【氏名】王 烽
(72)【発明者】
【氏名】李 嘉豪
【審査官】真木 健彦
(56)【参考文献】
【文献】特開2020-064358(JP,A)
【文献】特表2017-520068(JP,A)
【文献】特開2007-065911(JP,A)
【文献】特開2002-312337(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
G06N 5/00
G06F 16/90
(57)【特許請求の範囲】
【請求項1】
タスク学習システムであって、
知識ベースモジュールと、タスク処理装置と、を備え、
前記知識ベースモジュールが、タスク属性、および前記タスク属性に対応するタスクモデルを記憶するように構成され、
前記タスク処理装置が、入力サンプルを取得
するように構成され、
前記タスク処理装置が、目標のタスク属性と前記知識ベースモジュールに記憶されたタスク属性との間の差に基づいて、前記入力サンプルに対応する推論タスクが未知のタスクであると決定するように構成されるか、または
前記タスク処理装置が、各タスクモデルを使用することによって前記入力サンプルに対して推論を実施する信頼度、モデル移行率、およびタスクモデル品質のうちの任意の1つまたは複数に基づいて、前記入力サンプルに対応する推論タスクが未知のタスクであると決定するように構成され、
前記タスク処理装置が、前記入力サンプルに対応する
前記推論タスクが
前記未知のタスクであるとき、前記知識ベースモジュールに記憶されたタスク属性および対応するタスクモデルに基づいて、前記未知のタスクのための推論モデルを生成し、前記推論モデルを使用することによって前記入力サンプルに対して推論を実施して目標の推論結果を取得する、ように
更に構成される、システム。
【請求項2】
前記タスク処理装置が、前記入力サンプル、および前記入力サンプルの前記タスク属性に基づいて、前記入力サンプルの
前記目標のタスク属性を決定し、前記目標のタスク属性と、前記知識ベースモジュールに記憶された前記タスク属性および前記対応するタスクモデルとに基づいて、前記入力サンプルに対応する前記推論タスクが
前記未知のタスクであると決定する、ように更に構成される、請求項1に記載のシステム。
【請求項3】
前記タスク処理装置が、前記目標のタスク属性と、前記知識ベースモジュールに記憶された前記タスク属性および前記対応するタスクモデルとに基づいて、前記未知のタスクのための前記推論モデルを生成するように構成される、請求項
2に記載のシステム。
【請求項4】
前記知識ベースモジュールが、タスク関係を記憶するように更に構成され、前記タスク関係が、下位関係および/または移行関係を含み、
前記タスク処理装置が、前記目標のタスク属性と、前記知識ベースモジュールに記憶された前記タスク属性および前記タスクモデルと、前記タスク関係とに基づいて、前記未知のタスクのための前記推論モデルを生成するように構成される、請求項
3に記載のシステム。
【請求項5】
前記タスク処理装置が、前記目標のタスク属性に基づいて、前記タスクモデル内の複数の候補タスクモデルを決定し、前記複数の候補タスクモデルを前記推論モデルとして使用する、ように構成される、請求項
3に記載のシステム。
【請求項6】
前記知識ベースモジュールが、前記タスク属性に対応する訓練サンプルを記憶するように更に構成され、
前記タスク処理装置が、
前記目標のタスク属性に基づいて、前記タスクモデル内の複数の候補タスクモデルにそれぞれ対応する訓練サンプルを決定し、
前記複数の候補タスクモデルにそれぞれ対応する前記訓練サンプルに基づいて、1つまたは複数の候補タスクモデルを再訓練し、再訓練を通して取得された1つまたは複数の候補タスクモデルを前記推論モデルとして使用する、ように構成される、請求項
3に記載のシステム。
【請求項7】
前記知識ベースモジュールが、前記タスク属性に対応する訓練サンプルを記憶するように更に構成され、
前記タスク処理装置が、
前記目標のタスク属性に基づいて、前記タスクモデル内の複数の候補タスクモデルにそれぞれ対応する訓練サンプルを決定し、
前記複数の候補タスクモデルにそれぞれ対応する前記訓練サンプルに基づいて訓練を実施して新規のタスクモデルを取得し、前記新規のタスクモデルを前記推論モデルとして使用する、ように構成される、請求項
3に記載のシステム。
【請求項8】
前記タスク処理装置が、モデル決定モジュールと、推論モジュールと、を備え、前記モデル決定モジュールが、クラウド内、またはエッジ側ネットワーク内に配備され、前記推論モジュールが、前記エッジ側ネットワーク内に配備され、
前記モデル決定モジュールが、前記入力サンプルに対応する前記推論タスクが未知のタスクであるとき、前記タスク属性および前記対応するタスクモデルに基づいて、前記未知のタスクのための前記推論モデルを生成するように構成され、
前記推論モジュールが、前記推論モデルを使用することによって前記入力サンプルに対して推論を実施して前記目標の推論結果を取得するように構成される、請求項1から
7のいずれか一項に記載のシステム。
【請求項9】
前記タスク処理装置が、属性定義モジュールと、タスク決定モジュールと、を更に備え、前記属性定義モジュールおよび前記タスク決定モジュールが、エッジ側ネットワーク内に配備され、
前記属性定義モジュールが、前記入力サンプルと、前記知識ベースモジュールに記憶された前記入力サンプルの前記タスク属性とに基づいて、前記入力サンプルの前記目標のタスク属性を決定するように構成され、
前記タスク決定モジュールが、前記目標のタスク属性と、前記知識ベースモジュールに記憶された前記タスク属性および前記対応するタスクモデルとに基づいて、前記入力サンプルに対応する前記推論タスクが未知のタスクであると決定するように構成される、請求項1から
8のいずれか一項に記載のシステム。
【請求項10】
前記知識ベースモジュールが、クラウド内に配備される、請求項1から
9のいずれか一項に記載のシステム。
【請求項11】
前記タスク処理装置が、前記入力サンプルの前記目標のタスク属性と、前記推論モデルとに基づいて、前記知識ベースモジュールに記憶されたタスク属性およびタスクモデルを更新するように更に構成される、請求項1から
10のいずれか一項に記載のシステム。
【請求項12】
前記知識ベースモジュールが、既存のタスク属性、前記目標のタスク属性、前記タスクモデル、および前記推論モデルを同時に記憶するように、前記タスク処理装置が、前記目標のタスク属性および前記推論モデルを前記知識ベースモジュールに追加するように構成される、請求項
11に記載のシステム。
【請求項13】
前記タスク処理装置が、前記知識ベースモジュール内の対応するタスク属性を前記目標のタスク属性と置換し、前記知識ベースモジュール内の対応するタスクモデルを前記推論モデルと置換する、ように構成される、請求項
11に記載のシステム。
【請求項14】
前記タスク処理装置が、知識ベース更新モジュールを備え、前記知識ベース更新モジュールが、クラウド内、またはエッジ側ネットワーク内に配備され、
前記知識ベース更新モジュールが、前記入力サンプルの前記目標のタスク属性と、前記推論モデルとに基づいて、前記知識ベースモジュールに記憶された前記タスク属性および前記タスクモデルを更新するように構成される、請求項
12または
13に記載のシステム。
【請求項15】
前記推論モデルが複数のモデルを含むとき、前記タスク処理装置が、
すべての前記モデルを使用することによって前記入力サンプルに対して推論を実施してすべての前記モデルによって出力された推論結果を取得し、
すべての前記モデルによって出力された前記推論結果における前記目標の推論結果を決定する、ように構成される、請求項1から
14のいずれか一項に記載のシステム。
【請求項16】
タスク学習方法であって、
入力サンプルを取得するステップと、
目標のタスク属性と知識ベース内のタスク属性との間の差に基づいて、前記入力サンプルに対応する推論タスクが未知のタスクであると決定するステップ、または
タスクモデルを使用することによって前記入力サンプルに対して推論を実施する信頼度、モデル移行率、およびタスクモデル品質のうちの任意の1つまたは複数に基づいて、前記入力サンプルに対応する推論タスクが未知のタスクであると決定するステップと、
前記入力サンプルに対応する
前記推論タスクが
前記未知のタスクであるとき、
前記知識ベース内のタスク属性および前記タスク属性に対応するタスクモデルに基づいて、前記未知のタスクのための推論モデルを生成するステップと、
前記推論モデルを使用することによって前記入力サンプルに対して推論を実施して目標の推論結果を取得するステップと、を含む方法。
【請求項17】
前記入力サンプル、および前記入力サンプルの前記タスク属性に基づいて、前記入力サンプルの
前記目標のタスク属性を決定するステップと、
前記目標のタスク属性と、前記知識ベース内の前記タスク属性および前記タスクモデルとに基づいて、前記入力サンプルに対応する前記推論タスクが
前記未知のタスクであると決定するステップと、を更に含む、請求項
16に記載の方法。
【請求項18】
前記知識ベース内のタスク属性および前記タスク属性に対応するタスクモデルに基づいて、前記未知のタスクのための推論モデルを生成する前記ステップが、
前記目標のタスク属性と、前記知識ベース内の前記タスク属性および前記タスクモデルとに基づいて、前記未知のタスクのための前記推論モデルを生成するステップを含む、請求項17に記載の方法。
【請求項19】
前記知識ベースがタスク関係を更に記憶し、前記タスク関係が、下位関係および/または移行関係を含み、
前記知識ベース内のタスク属性および前記タスク属性に対応するタスクモデルに基づいて、前記未知のタスクのための推論モデルを生成する前記ステップが、
前記目標のタスク属性と、前記知識ベース内の前記タスク属性および前記タスクモデルと、前記タスク関係とに基づいて、前記未知のタスクのための前記推論モデルを生成するステップを含む、請求項18に記載の方法。
【請求項20】
前記知識ベース内のタスク属性および前記タスク属性に対応するタスクモデルに基づいて、前記未知のタスクのための推論モデルを生成する前記ステップが、
前記目標のタスク属性に基づいて、前記タスクモデル内の複数の候補タスクモデルを決定し、前記複数の候補タスクモデルを前記推論モデルとして使用するステップを含む、請求項18に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、2020年11月3日に中国国家知識産権局に出願された「TASK LEARNING SYSTEM AND METHOD」という名称の中国特許出願第202011210952.8号、および2020年12月7日に中国国家知識産権局に出願された「TASK LEARNING SYSTEM AND METHOD, AND RELATED DEVICE」という名称の中国特許出願第202011417335.5号の優先権を主張する。前述の2つの出願は、その全体が参照により本明細書に組み込まれる。
【0002】
本出願の実施形態は、機械学習技術の分野に関し、特に、タスク学習システムおよび方法、ならびに関連デバイスに関する。
【背景技術】
【0003】
機械学習(machine learning)は、データからルールを自動的に分析し、取得し、ルールを使用することによって未知のデータを予測する処理であり、データマイニング、コンピュータビジョン、自然言語処理、検索エンジン、音声および手書き認識、証券市場分析、ならびに医療診断など多くの分野で広く使用されている。特定のサンプルに対する機械学習処理は、タスク(task)と称される場合がある。
【0004】
従来の機械学習処理では、既知の機械学習モデル(すなわち、事前訓練モデル)は、ユーザによって提供された入力サンプル(sample)に対して推論を実施し、推論結果を出力するために、通常使用される(推論結果の推論精度は、モデルの事前訓練を通して担保され得る)。しかしながら、実際の応用時には、ユーザは多様な入力サンプルを提供する。したがって、既知の機械学習モデルを多様な入力サンプルに適用することが困難であり得る。その結果、ユーザによって提供された、いくつかの入力サンプルについて、既知の機械学習モデルを使用することによって推論を通して取得された結果は、低い精度であり、ユーザの実際の適用要件を満たすことが困難である。例えば、顔認識シナリオでは、既知の顔認識モデルを使用することによって昼間の監視映像に対する顔認識の結果の精度は高い。しかしながら、ユーザが夜間の監視映像を顔認識モデルに入力すると、顔認識モデルによって出力された顔認識結果の精度は、低くなる場合がある。したがって、現在、ユーザが多様な入力サンプルを提供するときに、正確な推論結果が提供され得るように、タスク学習システムが緊急に必要とされている。
【発明の概要】
【課題を解決するための手段】
【0005】
本出願の実施形態は、ユーザによって提供された多様な入力サンプルについて、正確な推論結果が取得され得るような、タスク学習システムおよび方法、デバイス、記憶媒体、ならびにコンピュータプログラム製品を提供する。
【0006】
第1の態様によれば、本出願の一実施形態はタスク学習システムを提供する。システムは、知識ベースモジュールと、タスク処理装置と、を含む。知識ベースモジュールは、知識ベースを使用することによって構築され得、タスク属性、およびタスク属性に対応するタスクモデルを記憶するように構成される。タスク属性およびタスクモデルは、既知の知識に属し、既知のタスクの入力サンプルに対して正確な推論を実施するために使用され得る。しかしながら、単一のタスクモデルを使用することによって未知のタスクの入力サンプルに対して正確な推論を実施することは困難である。タスク処理装置は、入力サンプルを取得し、入力サンプルに対応する推論タスクが未知のタスクであるとき、知識ベースモジュールに記憶されたタスク属性および対応するタスクモデルに基づいて、未知のタスクのための推論モデルを生成し、生成された推論モデルを使用することによって入力サンプルに対して正確な推論を実施して目標の推論結果を取得する、ように構成され得る。
【0007】
このように、ユーザによって提供された入力サンプルに対応する推論タスクが未知のタスクであるとき、新規の推論モデルが、入力サンプルに対して自動的に生成され得、入力サンプルに対する推論は、既存の単一のタスクモデルの代わりに、新規に生成された推論モデルを使用することによって完了される。したがって、入力サンプルの推論精度は、効果的に向上され得、ユーザは、推論モデルをカスタマイズする必要がなく、それにより、ユーザのカスタマイズコストが低減される。
【0008】
1つの可能な実施態様では、タスク処理装置は、ユーザによって提供された入力サンプルと、知識ベースモジュールに記憶されたタスク属性とに基づいて、入力サンプルの目標のタスク属性を決定するように更に構成されてもよい。次いで、タスク処理装置は、入力サンプルの目標のタスク属性と、知識ベースモジュールに記憶されたタスク属性と、知識ベースモジュールに記憶されたタスクモデルとに基づいて、入力サンプルに対応する推論タスクが未知のタスクであると決定し得る。このようにして、ユーザが入力サンプルを提供した後、入力サンプルに対応する推論タスクが既知のタスクであるか、または未知のタスクであるかを、タスク処理装置は決定し得る。したがって、推論タスクが既知のタスクであると決定すると、タスク処理装置は、既知のタスクモデルを使用することによって入力サンプルに対して推論を実施し得、推論タスクが未知のタスクであると決定すると、タスク処理装置は、新規に生成された推論モデルを使用することによって、入力サンプルに対して推論を実施する。
【0009】
1つの可能な実施態様では、入力サンプルの目標のタスク属性と知識ベースモジュールに記憶されたタスク属性との間の差に基づいて、タスク処理装置は、入力サンプルに対応する推論タスクが未知のタスクであると決定するように特に構成される。例えば、目標のタスク属性と知識ベースモジュールに記憶された各タスク属性との間に大きな差があるとき、タスク処理装置は、入力サンプルに対応する推論タスクが未知のタスクであると決定してもよい。しかしながら、知識ベースモジュールに記憶されたタスク属性が、目標のタスク属性との差が小さい1つまたは複数のタスク属性を含むとき、タスク処理装置は、入力サンプルに対応する推論タスクが既知のタスクであると決定し、目標のタスク属性との差が小さいタスク属性に関連付けられた既知のタスクモデルを使用することによって入力サンプルに対して推論を実施し得る。
【0010】
1つの可能な実施態様では、目標のタスク属性と知識ベースモジュールに記憶されたタスク属性との間の差は、目標のタスク属性の属性値と知識ベースモジュールに記憶されたタスク属性の属性値との間の最小編集距離を使用することによって測定されてもよい。具体的には、最小編集距離が小さいほど、2つのタスク属性間の差が小さいことを示す。それに対して、最小編集距離が大きいほど、2つのタスク属性間の差が大きいことを示す。
【0011】
1つの可能な実施態様では、知識ベースモジュールに記憶されたタスクモデルを使用することによって入力サンプルに対して推論を実施する信頼度、モデル移行率、およびタスクモデル品質のうちの任意の1つまたは複数に基づいて、タスク処理装置は、入力サンプルに対応する推論タスクが未知のタスクであるか否かを特に決定してもよい。もちろん、実際の応用時には、別の方式が、決定のために代替的に使用されてもよい。
【0012】
1つの可能な実施態様では、推論モデルを生成するとき、タスク処理装置は、入力サンプルの目標のタスク属性と、知識ベースモジュールに記憶されたタスク属性およびタスクモデルとに基づいて、未知のタスクのための推論モデルを特に生成してもよい。例えば、タスク処理装置は、目標のタスク属性に基づいて、知識ベースモジュールに記憶され、目標のタスク属性との相関性が高いタスク属性を決定し、タスク属性に基づいて、複数の対応するタスクモデル、または複数のタスクモデルにそれぞれ対応する訓練サンプルを更に決定し得る。このように、新規の推論モデルは、複数のタスクモデル、または複数のタスクモデルに対応する訓練サンプルを使用することによって、生成され得る。
【0013】
1つの可能な実施態様では、知識ベースモジュールは、タスク関係を記憶するように更に構成され、タスク関係は、下位関係および/または移行関係を含む。推論モデルを生成するとき、タスク処理装置は、入力サンプルの目標のタスク属性と、知識ベースモジュールに記憶されたタスク属性およびタスクモデルと、タスク関係とに基づいて、未知のタスクのための推論モデルを特に生成し得る。このように、タスク処理装置は、タスク関係を使用することによって知識ベースモジュールのいくつかの知識に対してフィルタリングを実施し得、それにより、推論モデルを生成する効率が向上され得る。
【0014】
1つの可能な実施態様では、推論モデルを生成するとき、タスク処理装置は、入力サンプルの目標のタスク属性に基づいて、知識ベースモジュールに記憶されたタスクモデル内の複数の候補タスクモデルを特に決定し、複数の候補タスクモデルを推論モデルとして使用してもよい。このように、推論モデルは、複数の既存の既知のタスクモデルを組み合わせることによって生成され得、それにより、推論モデルの生成効率が向上される。
【0015】
1つの可能な実施態様では、知識ベースモジュールは、タスク属性に対応する訓練サンプルを記憶するように更に構成される。このように、推論モデルを生成するとき、タスク処理装置は、入力サンプルの目標のタスク属性に基づいて、知識ベースモジュールに記憶されたタスクモデル内の複数の候補タスクモデルを特に決定し、複数の候補タスクモデルにそれぞれ対応する訓練サンプルを更に決定し得る。次いで、タスク処理装置は、複数の候補タスクモデルにそれぞれ対応する訓練サンプルに基づいて、1つまたは複数の候補タスクモデルを再訓練し、再訓練を通して取得された1つまたは複数の候補タスクモデルを推論モデルとして使用し得る。このように、タスク処理装置は、既存のタスクモデルに対してファインチューニングを実施することによって推論モデルを生成し得、それにより、入力サンプルの推論精度が高く、推論モデルの生成効率も高い。
【0016】
1つの可能な実施態様では、知識ベースモジュールは、タスク属性に対応する訓練サンプルを記憶するように更に構成される。このように、推論モデルを生成するとき、タスク処理装置は、入力サンプルの目標のタスク属性に基づいて、知識ベースモジュールに記憶されたタスクモデル内の複数の候補タスクモデルを特に決定し、複数の候補タスクモデルにそれぞれ対応する訓練サンプルを更に決定し得る。次いで、タスク処理装置は、複数の候補タスクモデルにそれぞれ対応する訓練サンプルに基づいて、訓練を実施して新規のタスクモデルを取得し、新規のタスクモデルを推論モデルとして使用し得る。このように、タスク処理装置は、知識ベースモジュールに記憶された訓練サンプルを使用することによって新規のタスクモデルを取得し得、それにより、入力サンプルの推論精度は高くなり得る。
【0017】
1つの可能な実施態様では、タスク処理装置は、モデル決定モジュールと、推論モジュールと、を含み得る。モデル決定モジュールは、入力サンプルに対応する推論タスクが未知のタスクであるとき、知識ベースモジュールに記憶されたタスク属性およびタスクモデルに基づいて、未知のタスクのための推論モデルを生成するように構成される。推論モジュールは、モデル決定モジュールによって生成された推論モデルを使用することによって入力サンプルに対して推論を実施して目標の推論結果を取得する。タスク処理装置が配備されるとき、タスク処理装置内のモデル決定モジュールは、クラウド内、またはエッジ側ネットワーク内に配備されてもよく、推論モジュールは、エッジ側ネットワーク内に配備されてもよい。もちろん、実際の応用時には、モデル決定モジュールおよび推論モデルは、ランダムに配備されてもよい。例えば、モデル決定モジュールと推論モデルとの両方がクラウド内に配備されるか、またはモデル決定モジュールが分散方式で配備される。これについては本出願では限定されない。モデル決定モジュールがクラウド内に配備されると、クラウド計算リソースは、完全に使用され得る。特に、モデル決定モジュールが、既知のモデルの組合せを使用するか、または未知のタスクのモデルを再訓練するとき、モデル決定モジュールによって必要とされる大量の記憶リソースおよび計算リソースは、クラウドによって担われ得、それにより、モデル決定モジュールによって推論モデルを生成する効率が向上される。しかしながら、モデル決定モジュールがエッジ側ネットワーク内に配備されると、モデル決定モジュールは、エッジ側ネットワークの計算リソースおよび記憶リソースを使用することによって、入力サンプルに対して推論を実施するための推論モデルを決定し得る。このように、モデル決定モジュールの計算処理に関与する関連データは、クラウドにアップロードされなくてもよく、それにより、ユーザデータのプライバシーが保護され得る。
【0018】
1つの可能な実施態様では、タスク処理装置は、属性定義モジュールと、タスク決定モジュールと、を更に含む。属性定義モジュールは、入力サンプルと、知識ベースモジュールに記憶されたタスク属性とに基づいて、入力サンプルの目標のタスク属性を決定するように構成される。タスク決定モジュールは、属性定義モジュールによって決定された目標のタスク属性と、知識ベースモジュールに記憶されたタスク属性およびタスクモデルとに基づいて、入力サンプルに対応する推論タスクが未知のタスクであるか否かを決定するように構成される。タスク処理装置が配備されると、タスク処理装置内の属性定義モジュールとタスク決定モジュールとの両方は、エッジ側ネットワーク内に配備されてもよい。もちろん、実際の応用時には、属性定義モジュールとタスク決定モジュールとの両方は、クラウド内などに配備されてもよい。これについては本出願では限定されない。
【0019】
1つの可能な実施態様では、知識ベースモジュールはクラウド内に配備される。このように、クラウドリソースに基づいて、知識ベースモジュールは、モデル、サンプル、および他の情報などの大規模データを提供し得、それにより、タスク学習システムは、入力サンプルに対応する推論タスクを既知のタスクとして容易に識別し得る。これは、入力サンプルの推論効率を向上させ、入力サンプルの推論精度を向上させ得る。加えて、入力サンプルに対応する推論タスクが未知のタスクに属する場合でも、クラウド内の知識ベースモジュールはまた、類似したタスクモデルなどのデータを提供し得る。したがって、タスク学習システムが、データに基づいて未知のタスクの推論効果を向上させ得る可能性が高い。もちろん、別の可能な実施態様では、知識ベースモジュールは、分散方式で代替的に配備され得る。具体的には、複数のサブ知識ベースは、エッジ側ネットワーク内に配備され得、各サブ知識ベースに記憶された知識は、クラウド内の知識ベースモジュールに記憶された何らかの知識であり得る。知識ベースモジュールの配備は、本出願では限定されない。
【0020】
1つの可能な実施態様では、タスク処理装置は、入力サンプルの目標のタスク属性と、生成された推論モデルとに基づいて、知識ベースモジュールに記憶されたタスク属性およびタスクモデルを更新するように更に構成されてもよい。したがって、同じ推論タスクが続いて記憶されるとき、推論タスクに対して推論は、知識ベースモジュールに記憶された更新された知識を使用することによって実施され得る。
【0021】
1つの可能な実施態様では、知識ベースモジュール内の知識を更新すると、タスク処理装置は、入力サンプルの目標のタスク属性、および生成された推論モデルを、知識ベースモジュールに特に追加し得る。この場合、知識ベースモジュールは、既存のタスク属性、目標のタスク属性、既存のタスクモデル、および推論モデルを同時に記憶する。このように、新規の知識は、知識ベースモジュールの知識の蓄積を実現するために、既存の知識を保持することに基づいて追加される。
【0022】
1つの可能な実施態様では、知識ベースモジュールに記憶された知識を更新すると、タスク処理装置は、知識ベースモジュール内の対応するタスク属性を、入力サンプルの目標のタスク属性と特に置換し、知識ベースモジュール内の対応するタスクモデルを、新規に生成された推論モデルと置換してもよい。このように、知識ベースモジュールに記憶された知識は、常に最新の知識であり得る。
【0023】
1つの可能な実施態様では、タスク処理装置は、知識ベース更新モジュールを含んでもよい。知識ベース更新モジュールは、入力サンプルの目標のタスク属性と、新規に生成された推論モデルとに基づいて、知識ベースモジュールに記憶されたタスク属性およびタスクモデルを更新するように構成され得る。知識ベース更新モジュールは、クラウド内、またはエッジ側ネットワーク内に配備され得る。知識ベース更新モジュールがクラウド内に配備されると、知識ベース更新モジュールは、好適な更新効果を実現するために、クラウド内で、訓練サンプルおよびタスクモデルなどの多くのデータ、ならびに多くの計算リソースを使用することによって、知識ベースモジュールに記憶された知識を更新し得る。しかしながら、知識ベース更新モジュールがエッジ側ネットワーク内に配備されると、入力サンプルと、入力サンプルに対して推論を実施する処理に関与する中間データとの両方が、エッジ側ネットワーク内に配置され得、それにより、ユーザデータのプライバシーは、効果的に保護され得る。別の実施態様では、知識ベース更新モジュールは、代替的に分散方式などで配備されてもよい。これについては本出願では限定されない。
【0024】
1つの可能な実施態様では、推論モデルが複数のモデルを含むとき、および推論モデルを使用することによって入力サンプルに対して推論を実施するとき、タスク処理装置は、推論モデル内のすべてのモデルを使用することによって入力サンプルに対して推論を特に実施してすべてのモデルによって出力された推論結果を取得し、次いで、すべてのモデルによって出力された推論結果における目標の推論結果を決定してもよい。例えば、複数の推論結果における同一または類似の推論結果の最大量が、投票を通して最終的な目標の推論結果として使用されてもよく、または、複数の推論結果の平均値が、計算され、その平均値が、最終的な目標の推論結果として使用される。
【0025】
第2の態様によれば、本出願の一実施形態は、タスク学習方法を更に提供する。本方法は、入力サンプルを取得することと、入力サンプルに対応する推論タスクが未知のタスクであるとき、知識ベース内のタスク属性およびタスク属性に対応するタスクモデルに基づいて、未知のタスクのための推論モデルを生成することと、推論モデルを使用することによって入力サンプルに対して推論を実施して目標の推論結果を取得することと、を含む。
【0026】
1つの可能な実施態様では、本方法は、入力サンプルと、タスク属性とに基づいて、入力サンプルの目標のタスク属性を決定することと、目標のタスク属性と、知識ベース内のタスク属性およびタスクモデルとに基づいて、入力サンプルに対応する推論タスクが未知のタスクであると決定することと、を更に含む。
【0027】
1つの可能な実施態様では、目標のタスク属性と、知識ベース内のタスク属性およびタスクモデルとに基づいて、入力サンプルに対応する推論タスクが未知のタスクであると決定することが、目標のタスク属性と知識ベース内のタスク属性との間の差に基づいて、入力サンプルに対応する推論タスクが未知のタスクであると決定すること、を含む。
【0028】
1つの可能な実施態様では、目標のタスク属性と、知識ベース内のタスク属性およびタスクモデルとに基づいて、入力サンプルに対応する推論タスクが未知のタスクであると決定することが、タスクモデル使用することによって入力サンプルに対して推論を実施する信頼度、モデル移行率、およびタスクモデル品質のうちの任意の1つまたは複数に基づいて、入力サンプルに対応する推論タスクが未知のタスクであると決定すること、を含む。
【0029】
1つの可能な実施態様では、知識ベース内のタスク属性およびタスク属性に対応するタスクモデルに基づいて、未知のタスクのための推論モデルを生成することが、目標のタスク属性と、知識ベース内のタスク属性およびタスクモデルとに基づいて、未知のタスクのための推論モデルを生成すること、を含む。
【0030】
1つの可能な実施態様では、知識ベースが、タスク関係を更に記憶し、タスク関係が、下位関係および/または移行関係を含む。知識ベース内のタスク属性およびタスク属性に対応するタスクモデルに基づいて、未知のタスクのための推論モデルを生成することが、目標のタスク属性と、知識ベース内のタスク属性およびタスクモデルと、タスク関係とに基づいて、未知のタスクのための推論モデルを生成すること、を含む。
【0031】
1つの可能な実施態様では、知識ベース内のタスク属性およびタスク属性に対応するタスクモデルに基づいて、未知のタスクのための推論モデルを生成することが、目標のタスク属性に基づいて、タスクモデル内の複数の候補タスクモデルを決定することと、複数の候補タスクモデルを推論モデルとして使用することと、を含む。
【0032】
1つの可能な実施態様では、知識ベースが、タスク属性に対応する訓練サンプルを更に記憶する。知識ベース内のタスク属性およびタスク属性に対応するタスクモデルに基づいて、未知のタスクのための推論モデルを生成することが、目標のタスク属性に基づいて、タスクモデル内の複数の候補タスクモデルにそれぞれ対応する訓練サンプルを決定することと、複数の候補タスクモデルにそれぞれ対応する訓練サンプルに基づいて、1つまたは複数の候補タスクモデルを再訓練し、再訓練を通して取得された1つまたは複数の候補タスクモデルを推論モデルとして使用することと、を含む。
【0033】
1つの可能な実施態様では、知識ベースが、タスク属性に対応する訓練サンプルを更に記憶する。
【0034】
知識ベース内のタスク属性およびタスク属性に対応するタスクモデルに基づいて、未知のタスクのための推論モデルを生成することが、目標のタスク属性に基づいて、タスクモデル内の複数の候補タスクモデルにそれぞれ対応する訓練サンプルを決定することと、複数の候補タスクモデルにそれぞれ対応する訓練サンプルに基づいて訓練を実施して新規のタスクモデルを取得し、新規のタスクモデルを推論モデルとして使用することと、を含む。
【0035】
1つの可能な実施態様では、本方法は、入力サンプルの目標のタスク属性と、推論モデルとに基づいて、知識ベース内のタスク属性およびタスクモデルを更新すること、を更に含む。
【0036】
1つの可能な実施態様では、入力サンプルの目標のタスク属性と、推論モデルとに基づいて、知識ベース内のタスク属性およびタスクモデルを更新することが、知識ベースが既存のタスク属性、目標のタスク属性、タスクモデル、および推論モデルを同時に記憶するように、目標のタスク属性および推論モデルを知識ベースに追加すること、を含む。
【0037】
1つの可能な実施態様では、入力サンプルの目標のタスク属性と、推論モデルとに基づいて、知識ベース内のタスク属性およびタスクモデルを更新することが、知識ベース内の対応するタスク属性を目標のタスク属性と置換し、知識ベース内の対応するタスクモデルを推論モデルと置換すること、を含む。
【0038】
1つの可能な実施態様では、推論モデルが複数のモデルを含むとき、推論モデルを使用することによって入力サンプルに対して推論を実施して目標の推論結果を取得することが、すべてのモデルを使用することによって入力サンプルに対して推論を実施してすべてのモデルによって出力された推論結果を取得することと、すべてのモデルによって出力された推論結果における目標の推論結果を決定することと、を含む。
【0039】
第2の態様によるタスク学習方法は、第1の態様によるタスク学習システムに対応する。したがって、第2の態様の任意の実装形態の具体的な実装形態およびその技術的効果については、第1の態様の関連する説明を参照されたい。
【0040】
第3の態様によれば、本出願の一実施形態は、デバイスを提供する。デバイスは、プロセッサと、メモリと、を含む。メモリは、命令を記憶するように構成される。デバイスが動作すると、プロセッサは、メモリに記憶された命令を実行し、それにより、デバイスは、第2の態様、または第2の態様の実施態様のいずれか1つによるタスク学習方法を実施する。メモリは、プロセッサに統合されてもよいし、またはプロセッサから独立していてもよいことに留意されたい。本デバイスは、バスを更に含み得る。プロセッサは、バスを通してメモリに接続される。メモリは、可読メモリと、ランダム・アクセス・メモリと、を含んでもよい。
【0041】
第4の態様によれば、本出願の一実施形態は、可読記憶媒体を更に提供する。可読記憶媒体は、プログラムまたは命令を記憶し、プログラムまたは命令がコンピュータ上で実行されると、第2の態様、または第2の態様の実施態様のいずれか1つによるタスク学習方法が実施される。
【0042】
第5の態様によれば、本出願の一実施形態は、命令を含むコンピュータプログラム製品を更に提供する。コンピュータプログラム製品が、コンピュータ上で実行されると、コンピュータは、第2の態様、または第2の態様の実施態様のいずれか1つによるタスク学習方法を実施することを可能にされる。
【0043】
加えて、第2の態様から第5の態様の任意の実施態様によってもたらされる技術的効果については、第1の態様の異なる実施態様によってもたらされる技術的効果を参照されたい。
【0044】
本出願の実施形態の技術的解決策を明確に説明するために、以下は、実施形態を説明するための添付図面を簡単に説明する。以下の説明における添付の図面は本出願のいくつかの実施形態を示すものに過ぎず、当業者なら添付の図面を基にして別の図面を作り出し得ることは明らかである。
【図面の簡単な説明】
【0045】
【
図2】本出願の一実施形態による、タスク学習システムの一例の構造の概略図である。
【
図3】本出願の一実施形態による、知識ベース内のタスク関連関係の概略図である。
【
図4】本出願の一実施形態による、別の知識ベース内のタスク関連関係の概略図である。
【
図5】本出願の一実施形態による、推論目標入力インターフェースの一例の概略図である。
【
図6】本出願の一実施形態による、知識更新の一例の概略図である。
【
図7】本出願の一実施形態による、知識更新の一例の概略図である。
【
図8】本出願の一実施形態による、タスク学習システム200における各モジュールの配備の概略図である。
【
図9】本出願の一実施形態による、別のタスク学習システム200における各モジュールの配備の概略図である。
【
図10】本出願の一実施形態による、目標のタスク属性に基づいて教師なしモデルによってDMDを出力する概略原理図である。
【
図11】本出願の一実施形態による、信頼度モデルを使用することによってMMDを決定する概略図である。
【
図12】知識ベースに記憶されたチラーエネルギー消費データの概略図である。
【
図13】本出願の一実施形態による、複数の既知のタスクモデルを組み合わせることによって推論モデルを生成する概略図である。
【
図14】本出願の一実施形態による、異なる撮影シナリオの概略図である。
【
図15】本出願の一実施形態による、タスク学習方法の概略フローチャートである。
【
図16】本出願の一実施形態による、デバイスのハードウェア構造の概略図である。
【発明を実施するための形態】
【0046】
本出願の実施形態における「第1」および「第2」という用語は、単に説明の目的のための物であり、相対的な重要性の指示もしくは暗示、または示された技術的特徴の数の暗黙の指示として理解されるべきではない。したがって、「第1の」または「第2の」によって限定される特徴は、1つまたは複数の特徴を明示的または暗示的に含む場合がある。
【0047】
図1に示されるように、機械学習処理では、ユーザ101によって提供された入力サンプルに対して機械学習を実施する処理は、デフォルトで既知のタスクと通常考えられる。言い換えれば、ユーザによって提供された入力サンプルは、デフォルトで、機械学習モデル訓練に使用される訓練サンプルと同じまたは類似していると考えられ、それにより、知識ベース102に記憶された既知の機械学習モデルは、入力サンプルに対して推論を実施するために使用され得、正確な推論結果が取得され得る。しかしながら、いくつかの実際の応用シナリオでは、ユーザ101によって提供された入力サンプルは、機械学習モデル訓練のために使用される訓練サンプルとは大きく異なる場合がある。この場合、既知の機械学習モデルを使用することによって、入力サンプルに対して推論を実施することによって取得された推論結果の精度は低くなり得る。例えば、顔認識シナリオでは、機械学習モデルは、昼間の顔画像を含むサンプルの1つまたは複数のグループを使用することによって訓練されてもよい。このように、ユーザによって提供された入力サンプルが昼間のサンプルであるとき、サンプルに含まれる顔は、機械学習モデルを使用することによって正確に認識され得る。しかしながら、ユーザによって提供された入力サンプルが夜間の顔画像を含むサンプルであるとき、サンプルで反射された光の輝度が暗いので、顔認識が機械学習モデルを使用することによって実施されると、顔認識の精度は、大幅に低下する可能性がある。
【0048】
これに基づいて、本出願の一実施形態は、タスク学習システムを提供する。ユーザによって提供された入力サンプルに対応する推論タスクが未知のタスクであるとき、タスク学習システムは、正確な目標の推論結果を取得するために、新規の推論モデルを使用することによって入力サンプルに対して推論を実施するように、未知のタスクのための新規の推論モデルを自動的に生成し得る。このように、ユーザによって提供された入力サンプルが、既知のタスクモデルの訓練サンプルと大きく異なるとき、新規の推論モデルは、入力サンプルに対して自動的に生成され得、入力サンプルに対する推論は、新規に生成された推論モデルを使用することによって完了される。したがって、入力サンプルの推論精度は、効果的に向上され得、ユーザは、推論モデルをカスタマイズする必要がなく、それにより、ユーザのカスタマイズコストが低減される。
【0049】
本出願の目的、特徴、および利点を明白に、理解可能にするために、以下では、例を使用することによって添付の図面を参照して、本出願の実施形態における様々な非限定的な実施態様を説明する。説明されている実施形態は、本出願の実施形態の全部ではなく一部であることは明らかである。創造的な努力なしに本出願の実施形態に基づいて当業者によって取得される他のすべての実施形態は、本出願の保護範囲内に入るものとする。
【0050】
図2は、本出願の実施形態による、タスク学習システムのアーキテクチャの概略図である。
図2に示されるように、タスク学習システム200は、知識ベースモジュール210と、タスク処理装置220と、を含み得る。タスク処理装置220は、知識ベースモジュール210に記憶されたデータ(知識)を使用することによって推論モデルを生成し、推論モデルを使用することによって、ユーザによって提供された入力サンプルに対して推論を実施し得る。もちろん、入力サンプルに対応する推論タスクが、既知のタスクに属するとき、タスク処理装置220は、知識ベースモジュール210内の既存のタスクモデルを使用することによって入力サンプルに対して推論を実施し得る。
【0051】
例示的な実施態様では、タスク処理装置220は、属性定義モジュール221と、タスク決定モジュール222と、モデル決定モジュール223と、推論モジュール224とを、含んでもよい。
【0052】
知識ベースモジュール210は、タスク情報を記憶し、検索するように構成され得る。本実施形態では、知識ベースモジュール210に記憶されたタスク情報は、具体的には、タスク属性、およびタスク属性に対応するタスクモデルであり得る。
【0053】
タスク属性は、タスク属性カテゴリと、属性値と、を含み得る。例えば、顔認識シナリオでは、1つのタスク属性は、映像または写真の撮影天気であってもよい(撮影された映像または写真は、対応するモデル入力として使用される)。この場合、タスク属性カテゴリは、撮影天気であり、属性値は、「晴れ」または「雨」といった天気を示すために使用される値である。実際の応用時には、知識ベースモジュール210に記憶されたタスク属性は、ユーザまたは技術専門家によって定義され、知識ベースモジュール210に予め追加されてもよい。もちろん、タスク属性は、別の方式で知識ベースモジュール210に代替的に追加されてもよい。例えば、後述するように、タスク処理装置220は、新規のタスク属性を知識ベースモジュール210に更新するように構成された知識ベース更新モジュール225を更に含む。
【0054】
タスク属性に対応するタスクモデルは、タスク属性を有する訓練サンプルを使用することによって訓練を通して取得された機械学習モデルである。タスクモデルは、タスク属性を有する入力サンプルに対して推論を実施し、対応する推論結果を出力するために使用される。タスクモデルを記憶するとき、知識ベースモジュール210は、タスクモデルに対応する、訓練方法、モデルハイパーパラメータ、およびモデルパラメータなどの情報を更に記憶し得る。訓練方法は、タスクモデルによって使用される機械学習アルゴリズムであり、例えば、ニューラルネットワークまたはサポート・ベクトル・マシンの機械学習アルゴリズムであってもよい。モデルハイパーパラメータは、機械学習アルゴリズムの構成項目であり、モデルが訓練される前にタスクモデルに設定されるパラメータ、例えばニューラルネットワークにおける学習率である。モデルパラメータは、モデル内にある、タスクモデルを訓練することによって決定されるパラメータであり、例えば、ニューラルネットワークにおける重み、またはサポート・ベクトル・マシンにおけるサポートベクトルである。
【0055】
一例では、知識ベースモジュール210は、記憶および検索機能を有する知識ベースを使用することによって特に実施されてもよく、知識ベースに記憶された情報は、前述のタスク情報である。例えば、知識ベースモジュール210は、各タスクモデルに対応する訓練サンプルを更に記憶してもよい。各タスクモデルに対応する訓練サンプルは、タスクモデルを訓練するために使用され、訓練サンプルは、ラベル付きサンプルおよび/またはラベルなしサンプルであってもよい。加えて、異なるタスクを実施するため、異なるサンプルが、タスクモデルを訓練するために使用されるので、少ない訓練サンプルの数による各タスクモデルの推論精度の低下を可能な限り防止するために、知識ベースモジュール210は、各タスクモデルに対応するタスク制約、例えば、訓練サンプルの数の下限を更に記憶し得る。
【0056】
1つの可能な実施態様では、知識ベースモジュール210に記憶されたタスク属性は、クラスタリング方式で生成されてもよい。具体的には、データセットが取得され得る。データセットは、訓練サンプル内のデータであってもよいし、他のデータであってもよい。次いで、1つまたは複数のクラスタセットを取得するために、クラスタリングは、データセットにおいて実施され得、データセット内の類似のデータ項目が抽出される。そして、各クラスタセット内のデータ項目間の類似度が計算され、類似度分散(variance)が、その類似度に基づいて、更に計算される。したがって、類似度分散が所定の値未満であるクラスタセットは、カテゴリとして決定され得、カテゴリは、1つのタスク属性として使用される。もちろん、タスク属性は、別の方式で代替的に決定されてもよく、例えば、モデル方式または設定方式などの方式で生成されてもよい。タスク属性を構築する具体的な実施態様は、本実施形態では限定されない。
【0057】
実際の応用時には、一部のタスクは、互いに関連付けられてもよい。例えば、冬季の都市Aの温度変化が、秋季の都市Bの温度変化と類似している場合、冬季の都市Aの温度予測タスクは、秋季の都市Bの温度予測タスクと類似する。したがって、いくつかの応用シナリオでは、都市Aの冬季の温度は、都市Bの秋季の温度予測モデルを使用することによって予測されてもよい。これに基づいて、更なる1つの可能な実施態様では、知識ベースモジュール210は、異なるタスク間のタスク関係を更に記憶してもよい。異なるタスク間のタスク関係は、例えば、下位関係であってもよいし、移行関係であってもよい。下位関係とは、任意のタスクが別のタスクの子タスクと考えられ得ることを意味する。例えば、都市Aの秋季の温度予測タスクaと、都市Aの冬季の温度予測タスクbとが、組み合わされた後、都市Aの秋季-冬季温度予測タスクcが、取得されてもよい。この場合、タスクaおよびタスクbは、タスクcの子タスクと考えられ、下位関係が満たされる。したがって、タスクaまたはタスクbは、タスクcに対応するタスクモデルを使用することによって実施され得る(もちろん、タスクモデルの推論精度が低下される可能性がある)。加えて、下位関係は、下位度を使用することによって測定されてもよい。移行関係は、1つのタスクを実施するためのタスクモデルが別のタスクを実施するために使用されてもよいことを意味する(もちろん、タスクモデルの推論精度が低下される可能性がある)。例えば、都市Aの冬季の温度変化を予測するための前述のモデルは、都市Bの秋季の温度変化を予測するためにも使用され得る。加えて、移行関係は、移行度を使用することによって測定されてもよい。本実施形態では、タスク関係が下位関係であり、移行関係である一例が、使用される。他の実施形態では、タスク関係は、代替的に、他のタスク間の関係であってもよい。これは本実施形態では限定されない。異なるタスク間のタスク関係は、代替的に、異なるタスクを実施するための異なるタスクモデル間の関係であってもよいことが理解されよう。
【0058】
一般的に、異なるタスクモデルは、異なるタスクに属するサンプルに対する推論を実施するために使用される。したがって、知識ベースモジュール210が情報の問い合わせおよび管理を実施することを助けるために、知識ベースモジュール210は、各タスクモデルに対応するタスク、例えば、顔認識タスクまたは空調機性能予測タスクを更に記憶し得る。これに対応して、各タスクは、タスク属性、訓練サンプル、タスクモデル、タスク制約、およびタスク関係などの情報を有し得、
図3に示されるタスク関連関係は、知識ベースにおいて確立され得る。
【0059】
知識ベースモジュール210は、類似の関係を有する複数のタスクを1つのグループに集約するために、異なる記憶されたタスクを更にクラスタリングし得る。グループは、以下でタスクグループと称される。タスクグループは、1つまたは複数のタスクを含み得る。同様に、各タスクグループは、対応するタスクグループ属性、対応するタスクグループ制約(例えば、タスクグループに含まれる最小のサンプルの数)、対応するタスクリスト、対応するタスク・グループ・サンプル(複数のタスクモデルの訓練サンプルのセット)、および対応するタスク・グループ・モデル(すなわち、タスクグループ内の各タスクを実施するために使用されるモデル)を有し得、それにより、
図4に示されるタスク関連関係は、知識ベースにおいて確立され得る。
【0060】
ユーザが入力サンプルを提供すると、属性定義モジュール221は、入力サンプルに対応する推論タスクが未知のタスクであるか否かを続いて決定するために、入力サンプルと、知識ベースモジュール210に記憶されたタスク属性とに基づいて、入力サンプルの目標のタスク属性を決定し得る。
【0061】
一実施態様例では、入力サンプルが具体的にデータ項目情報であるとき、属性定義モジュール221は、入力サンプルに含まれるタスク属性カテゴリを決定し、タスク属性カテゴリに対応する属性値を更に決定するために、入力サンプルを知識ベースモジュール210に記憶された各タスク属性と一致してもよい。例えば、空調機性能予測シナリオでは、ユーザによって提供される入力サンプルは、知識ベースモジュール210に記憶された1つのタスク属性「季節」に一致するように、データ情報「季節」を含んでもよい。この場合、入力サンプルに対応するタスク属性カテゴリは、「季節」として決定され得、タスク属性カテゴリの属性値「夏季」は、入力サンプルからを更に読み出され得る。
【0062】
しかしながら、別の例では、入力サンプルがデータ項目に属していないとき、属性定義モジュール221は、事前訓練された分類器を使用することによって入力サンプルに対応する目標のタスク属性を抽出してもよい。例えば、顔検出シナリオでは、知識ベースモジュール210に記憶されたタスク属性は、撮影天気を含む。この場合、属性定義モジュール221は、撮影天気に対応する分類器を使用することによって入力サンプル(写真または映像)を分類し、分類器によって出力された分類結果「晴れ」を、入力サンプルに対応する目標のタスク属性として(具体的には、目標のタスク属性の属性値として)使用し得る。属性定義モジュール221は、ユーザによって入力された推論目標に基づいてタスク属性カテゴリを決定し、タスク属性カテゴリに対応する分類器を使用することによってタスク属性カテゴリの属性値を決定し得る。例えば、タスク学習システムは、
図5に示される推論目標入力インターフェースをユーザに提供してもよく、ユーザは、推論目標入力インターフェースに推論目標を入力する。例えば、ユーザは、「顔認識」を入力してもよく、それにより、属性定義モジュール221は、推論目標「顔認識」に対応する分類器を使用することによって属性値を決定してもよい。ユーザは、タスク入力インターフェース上の「サンプル入力」ボタンをタップすることによって、タスク学習システムの入力サンプルを更に提供し得る。
【0063】
入力サンプルの目標のタスク属性を決定した後、タスク決定モジュール222は、目標のタスク属性と、知識ベースモジュール210に記憶されたタスク情報とに基づいて、入力サンプルに対応する推論タスクが未知のタスクであるか否かを決定し得る。推論タスクが未知のタスクであると決定されると、それは、知識ベースモジュール210に現在記憶されている各タスクモデルを使用することによって入力サンプルに対して推論を正確に実施することが困難であることを示す。しかしながら、推論タスクが既知のタスクであると決定されると(すなわち、未知のタスクではない)、それは、正確な推論が、知識ベースモジュール210に現在記憶されている1つのタスクモデルを使用することによって入力サンプルに対して実施され得ることを示す。
【0064】
タスク決定例では、タスク決定モジュール222は、目標のタスク属性とタスク情報内のタスク属性との間の差に基づいて、入力サンプルに対応する推論タスクが未知のタスクであると決定し得る。具体的には、タスク決定モジュール222が、目標のタスク属性と、知識ベースモジュール210に記憶されたタスク属性との間の差が小さいと決定すると、入力サンプル、およびモデル訓練に使用され、タスク属性に対応する訓練サンプルは、類似のタスク属性を有し、それにより、訓練サンプルを使用することによって訓練されたタスクモデルは、一般的に、入力サンプルに対する推論にも適用可能である。この場合、タスク決定モジュール222は、入力サンプルに対応する推論タスクが既知のタスクであると決定し得、推論は、知識ベースモジュール210に記憶された対応するタスクモデルを使用することによって入力サンプルに対して実施され得る。しかしながら、タスク決定モジュール222が、目標のタスク属性と、知識ベースモジュール210に記憶された各タスク属性との間の差が大きいと決定すると、それは、各タスクモデルに対応する入力サンプルおよび訓練サンプルが、異なるタスク属性を有することを示し、知識ベースモジュール210に記憶されたタスクモデルごとに、入力サンプルに対して正確な推論を実施することが困難であり得る。この場合、タスク決定モジュール222は、入力サンプルに対応する推論タスクが未知のタスクであると決定し得る。
【0065】
例えば、目標のタスク属性と、知識ベースモジュール210に記憶された各タスク属性との間の差は、最小編集距離を使用することによって特に測定されてもよい。最小編集距離が大きいほど、タスク属性間の差が大きいことを示す。それに対して、最小編集距離が小さいほど、タスク属性間の差が小さいことを示す。具体的実施時に、タスク決定モジュール222は、目標のタスク属性の属性値と、知識ベースモジュール210内の各タスク属性の属性値との間の最小編集距離を計算し、目標のタスク属性と知識ベースモジュール210に記憶された各タスク属性との間の最小編集距離を、編集距離閾値と比較し得る。目標のタスク属性からの最小編集距離が編集距離閾値未満であるタスク属性があるとき、それは、2つのタスク属性間の差が小さいことを示し、それにより、タスク決定モジュール222は、ユーザによって提供された入力サンプルに対応する推論タスクが既知のタスクに属すると決定し得る。目標のタスク属性からの最小編集距離が編集距離閾値未満であるタスク属性が存在しないとき、それは、2つのタスク属性間の差が大きいことを示し、それにより、タスク決定モジュール222は、入力サンプルに対応する推論タスクが既知のタスクに属すると決定し得る。もちろん、別の例では、2つのタスク属性間の差は、代替的に別の方式で測定されてもよい。これは本実施形態では限定されない。
【0066】
別のタスク決定例では、タスク情報内のタスクモデルを使用することによって入力サンプルに対して推論を実施する信頼度、入力サンプルのモデル移行率、およびタスクモデル品質のうちの任意の1つまたは複数に基づいて、タスク決定モジュール222は、入力サンプルに対応する推論タスクが未知のタスクであるか否かを決定し得る。
【0067】
タスクモデルを使用することによって入力サンプルに対して推論を実施する信頼度は、タスクモデルが入力サンプルに対して推論を実施した後に出力された推論結果の信頼の度合いである。信頼度が高い(例えば、所定の信頼閾値よりも大きい)とき、タスクモデルは、入力サンプルに対する推論に適していると考えられ得る。この場合、タスク決定モジュール222は、入力サンプルに対応する推論タスクが既知のタスクであると決定し得る。しかしながら、信頼度が低いとき、タスクモデルは、入力サンプルに対する推論に適していないと考えられる。加えて、知識ベースモジュール210に記憶された各タスクモデルを使用することによって入力サンプルに対して推論を実施する信頼度が低い場合、タスク決定モジュール222は、入力サンプルに対応する推論タスクが未知のタスクであると決定し得る。
【0068】
例えば、タスクモデルを使用することによって入力サンプルに対して推論を実施する信頼度は、タスクモデルに対応する信頼度モデルを使用する決定されてもよい。具体的には、知識ベースモジュール210に記憶されたタスクモデルごとに、信頼度モデルは、タスクモデルのために事前訓練されてもよい。信頼度モデルは、ニューラルネットワークまたはサポート・ベクトル・マシンに基づいて構築され得る。加えて、信頼度モデルが訓練されるとき、入力は、知識ベースモジュール210に記憶された既知のサンプルであり、出力は、タスクモデルを使用することによって既知のサンプルを予測する誤差率である(予測誤差率は、例えば、事前に手動でマークされてもよい)。このように、信頼度モデルは、特定のサンプルの数を使用することによって、反復訓練を通して取得され得る。このように、ユーザによって提供された入力サンプルについて、入力サンプルは、タスクモデルに対応する信頼度モデルに入力され得、信頼度モデルは、タスクモデルを使用することによって入力サンプルに対して推論を実施する信頼度を出力する。
【0069】
入力サンプルに対するモデル移行率は、知識ベースモジュール210に記憶された既知のタスクモデルを使用することによって入力サンプルに対して推論を実施する適切度である。モデル移行率が大きいほど、既知のタスクモデルが入力サンプルに対する推論のためのモデルとして使用に適していることを示し、それに対応して、取得された推論結果の精度は通常高い。モデル移行率が所定の移行率閾値より大きいとき、タスク決定モジュール222は、入力サンプルに対応する推論タスクが既知のタスクであると決定し得る。この場合、入力サンプルに対して推論を実施するためのモデルが、タスクモデルである。それに対して、モデル移行率が小さいほど、タスクモデルが、入力サンプルに対する推論のためのモデルとして、一般的に使用に適していないことを示す。加えて、知識ベースモジュール210に記憶された各タスクモデルに対応するモデル移行率が、所定の移行率閾値未満であるとき、タスク決定モジュール222は、入力サンプルに対応する推論タスクが未知のタスクであると決定し得る。
【0070】
例えば、モデル移行率は、サンプル類似性に基づいて決定されてもよい。具体的には、タスクモデルごとに、タスク決定モジュール222は、入力サンプルと、タスクモデルに対応する訓練サンプルとの間のサンプル類似度を計算し得、それにより、サンプル類似度は、タスクモデルに対応するモデル移行率として使用され得る。もちろん、別の実施形態では、モデル移行率は、別の実施態様に従って代替的に決定されてもよい。例えば、前述の信頼度と同様に、モデル移行率を決定するために使用される機械学習モデルはまた、タスクモデルのための訓練を通して取得されてもよく、それにより、機械学習モデルは、入力サンプルに基づいて、タスクモデルに対応するモデル移行率を出力してもよい。モデル移行率を決定する具体的な実施態様は、本実施形態では限定されない。
【0071】
タスクモデル品質は、タスクモデルの普遍性を測定するために使用され得る。例えば、タスクモデル品質は、タスクモデルの訓練サンプルの数であってもよい。一般的に、統計の観点から、タスクモデルを訓練するためのサンプルの数が多いほど、タスクモデルを使用することによって入力サンプルに対して推論を実施する信頼度が高いことを示し、すなわち、タスクモデルは、入力サンプルに対する推論の実施に適している。したがって、タスクモデルの訓練サンプルの数が、所定のサンプル数閾値より大きいとき、タスク決定モジュール222は、入力サンプルに対応する推論タスクが既知のタスクであると決定し得る。この場合、入力サンプルに対して推論を実施するためのモデルが、タスクモデルである。しかしながら、訓練サンプルの数が所定のサンプル数閾値よりも大きいタスクモデルを、知識ベースモジュール210が含まないとき、タスク決定モジュール222は、入力サンプルに対応する推論タスクが未知のタスクであると決定し得る。
【0072】
別の例では、タスクモデル品質はまた、タスクモデルによって多様なデータセットを試験する安定度を測定するために使用されてもよい。本実施形態では、タスクモデルが複数の異なるデータセットを試験するとき、タスクモデルの出力結果が常に高い推論精度を有する場合、タスクモデルのモデル品質は、高いと考えられ得、タスクモデルは、入力サンプルに対して推論を実施するためのモデルとして使用され得る。この場合、タスク決定モジュール222は、入力サンプルに対応する推論タスクが既知のタスクであると決定し得る。それに対して、知識ベースモジュール210に記憶された複数のタスクモデルにおいてモデル品質の高いタスクモデルがない場合、タスク決定モジュール222は、入力サンプルに対応する推論タスクが未知のタスクであると決定し得る。タスクモデルによって、多様なデータセットを試験する安定度は、多様化なデータセットに対するタスクモデルの推論精度を使用することによって測定され得る。精度が所定の精度閾値に達すると、タスクモデルが高い安定度を有する、すなわちタスクモデルが高い品質を有すると決定され得、そうでない場合、タスクモデルが低品質であると決定される。
【0073】
実際の応用時には、タスク決定モジュール222は、信頼度、モデル移行率、およびタスクモデル品質の組合せ、または任意それらの2つに基づいて、入力サンプルに対応する推論タスクが未知のタスクであるか否かを、代替的に決定し得る。もちろん、タスク決定は、前述の例の方式以外の方式で、代替的に実施されてもよい。これは本実施形態では限定されない。
【0074】
いくつかの実施態様では、タスク決定モジュール222は、信頼度、モデル移行率、およびタスクモデル品質を、測定のために複数のレベル、例えば、単一のサンプルレベル、タスクレベル、およびマルチ・タスク・レベルに分割し得る。単一のサンプルレベルは、タスクモデルの複数の訓練サンプルのうちのいくつかに基づいて取得される信頼度、モデル移行率、およびタスクモデル品質などの情報である。これに対応して、タスクレベルは、タスクモデルのすべての訓練サンプルを使用することによって取得された信頼度などの情報であり、マルチ・タスク・レベルは、タスクグループ内のすべてのタスクを訓練するための訓練サンプルを使用することによって取得された信頼度などの情報である。このようにして、タスクモデルの信頼度などの情報は、サンプルセットの階層関係の観点から詳細に分割され得る。
【0075】
知識ベースモジュール210に記憶された複数のタスクモデルにおいて入力サンプルに対して推論を実施するためのタスクモデルがあるか否かを決定するとき、タスク決定モジュール222は、タスク関係に基づいて決定処理を更に加速し得る。例えば、入力サンプルに対して推論を実施するためのタスクモデルの信頼度またはモデル移行率が低い(すなわち、対応する閾値よりも小さい)場合、タスクモデルと共に下位関係または移行関係を有する別のタスクモデルは、入力サンプルに対する推論に通常適していない可能性が高い。この場合、タスク決定モジュール222は、タスクモデルと関連付けられた別のタスクモデルを決定する必要がなくてもよく、タスクモデルとの前述のタスク関係を有しない残りのタスクモデルを決定し続け得る。このように、タスク決定モジュール222によって、タスクが未知であるか否かを決定する効率は、いくつかのタスクモデルが計算に関与する必要がないので、向上され得る。
【0076】
入力サンプルに対応する推論タスクが未知のタスクであると、タスク決定モジュール222が決定すると、推論モジュール224は、タスク決定モジュール222によって決定された既知のタスクモデルに基づいて、タスクモデルによって出力された推論結果を取得するために、ユーザによって提供された入力サンプルに対して推論を実施し得、それにより、推論モジュール224は、入力サンプルに対して推論を完了するために、推論結果をユーザにフィードバックし得る。
【0077】
しかしながら、タスク決定モジュール222が、入力サンプルに対応する推論タスクが未知のタスクであると決定すると、それは、知識ベースモジュール230に記憶された複数のタスクモデルにおいて、入力サンプルに対して推論を正確に実施し得るタスクモデルがないことを示す。この場合、タスク学習システム200は、新規のモデルを使用することによって入力サンプルに対して推論を実施するために、モデル決定モジュール223を使用することによって未知のタスクのための新規のタスクモデルを生成し得る。具体的には、モデル決定モジュール223は、目標のタスク属性と、知識ベースモジュール210に記憶されたタスク属性およびタスクモデルとに基づいて、未知のタスクのための新規のタスクモデル(以下の説明を容易にするために推論モデルと呼ぶ)を生成してもよい。
【0078】
推論モデルを生成する一例では、モデル決定モジュール223は、入力サンプルの目標のタスク属性に基づいて、知識ベースモジュール210に記憶されたタスクモデルから複数の候補タスクモデルを選択してもよい。選択された各候補タスクモデルのタスク属性と、目標のタスク属性との差は小さい。例えば、最小編集距離が、タスク属性間の差を測定するために使用されるとき、モデル決定モジュール223は、目標のタスク属性と、知識ベースモジュール210に記憶された各タスク属性との間の最小編集距離を計算し(またはタスク決定モジュール222によって計算された最小編集距離を再利用し)、目標のタスク属性からの最小編集距離が所定の閾値未満であるタスク属性を更に決定してもよい。この場合、タスク属性を有する複数のタスクモデルは、前述の候補タスクモデルである。そして、モデル決定モジュール223は、選択された複数の候補タスクモデルを推論モデルとして使用し得る。
【0079】
推論モデルを決定する処理では、ユーザは、推論モデルの意思決定に更に参加し得る。例えば、選択された複数のタスクモデルについて、ユーザは、対応するパラメータ構成を実施してもよく、例えば、帯域幅または待ち時間などの制約条件を構成してもよく、それにより、選択された複数のタスクモデル内で、パラメータ構成を有するタスクモデルは、推論モデルとして使用されてもよい。
【0080】
これに対応して、推論モジュール224は、複数の推論結果を取得するために、選択された複数の候補タスクモデルを使用することによって入力サンプルに対して推論を実施し得る。そして、推論モジュール224は、複数の推論結果の平均値を計算し、その平均値を入力サンプルの最終的な目標の推論結果として使用し得る。代替的に、推論モジュール224は、投票を通して複数の推論結果から入力サンプルの最終的な推論結果を決定し、例えば、複数の推論結果のうちの最も同じ(または類似の)推論結果を最終的な目標の推論結果として使用してもよい。このように、タスク学習システム200は、既存のタスクモデルの組合せを使用することによって入力サンプルに対して推論を実施し得、それにより、新規のタスクモデルは、再訓練される必要がない。したがって、タスク学習システム200による入力サンプルの処理効率が高い。
【0081】
モデル決定モジュール223は、知識ベースモジュール210に記憶されたタスク関係を参照して、推論モデルを決定する効率を更に向上させ得る。例えば、モデル決定モジュール223は、タスク関係を参照して推論モデルを決定する。目標のタスク属性に基づいて1つのタスクモデルを決定した後(タスクモデルのタスク属性と目標のタスク属性との差が小さい)、モデル決定モジュール223は、タスク関係に基づいて、選択された候補タスクモデルとして、タスクモデルとの下位関係および/または移行関係を満たす別のタスクモデルを使用し得る。したがって、候補タスクモデルが、タスク属性比較を通して決定される必要がなく、それにより、推論モデルの決定の効率が向上され得る。モデル決定モジュール223は、タスクグループを参照して推論モデルを更に決定し得る。具体的には、モデル決定モジュール223は、未知のタスクに類似するタスクグループに対応する各タスクモデルを推論モデルとして使用し得る。
【0082】
推論モデルを生成する別の例では、モデル決定モジュール223は、知識ベースモジュール210に記憶されたタスク属性において、目標のタスク属性との差が小さい1つまたは複数のタスク属性を代替的に決定し、1つまたは複数の決定されたタスク属性に基づいて、タスク属性(全部または一部)を有する複数の候補タスクモデルを更に決定してもよい。決定された各候補タスクモデルを使用することによって入力サンプルに対する推論結果の精度が低くなり得るので、モデル決定モジュール223は、決定された各候補タスクモデルに対してファインチューニングを実施し得る。具体的には、モデル決定モジュール223は、各候補タスクモデルに対応する全部または一部の訓練サンプルを最初に取得し、取得した訓練サンプルを使用することによって各候補タスクモデルを再訓練し得る。このようにして、複数の新規の候補タスクモデルは、訓練を通して取得され得、複数の新規の候補タスクモデルは、推論モデルである。
【0083】
これに対応して、推論モジュール224は、複数の新規の候補タスクモデルを使用することによって入力サンプルに対して推論を実施し、複数の取得された推論結果に基づいて最終的な目標の推論結果を決定し得る。詳細については、選択された複数の候補タスクモデルを使用することによって最終的な推論結果を取得する処理の前述の説明を参照されたい。ここでは詳細は、繰り返されない。新規のタスクモデルが、既存のタスクモデルに基づいて、訓練を通して取得される。これは、入力サンプルに対する推論の精度を向上させ得、また、訓練サンプルに基づいて訓練を通してタスクモデルを直接取得する方式と比較して、モデル訓練時間を効果的に低減し得る。
【0084】
別の実施態様では、モデル決定モジュール223は、複数の候補タスクモデルに対応する訓練サンプルを使用することによって1つの候補タスクモデルを代替的に再訓練し、再訓練を通して取得された候補タスクモデルを推論モデルとして使用してもよく、それにより、推論モジュール224は、ただ1つの候補タスクモデルに基づいて入力サンプルに対して推論を実施してもよい。代替的に、リソース制限(例えば、モデル決定モジュール223がエッジ側ネットワーク内に配備されるときにリソースが制限される)を考慮して、推論モデルとして使用される候補タスクモデルの数を低減するために、プルーニング、量子化、またはディスティレーションなどの動作が、複数の候補タスクモデルに対して実施されてもよい。代替的に、タスクモデルが、複数の候補タスクモデルに対応する訓練サンプルを使用することによって再訓練される前に、タスクモデルのハイパーパラメータまたは機械学習方法が、更に調整されてもよく、次いで、ハイパーパラメータまたは機械学習方法が調整されたタスクモデルは、訓練サンプルを使用することによって再訓練される。
【0085】
推論モデルを生成する更に別の例では、モデル決定モジュール223は、目標のタスク属性に基づいて、知識ベースモジュール210に記憶されたタスクモデル内の複数の候補タスクモデルを代替的に決定し、複数の候補タスクモデルにそれぞれ対応する訓練サンプルの全部または一部を更に取得してもよい。次いで、モデル決定モジュール223は、取得された訓練サンプルに基づいて訓練を通して新規のタスクモデルを取得し、新規のタスクモデルを推論モデルとして使用してもよい。このようにして、推論モジュール224は、対応する推論結果を取得するために、新規の訓練を通して取得された推論モデルを使用することによって入力サンプルに対して推論を実施し得る。新規のタスクモデルが訓練サンプルに基づいて再訓練を通して取得されるので、新規のタスクモデルを使用することによる入力サンプルに対する推論の精度は、通常高くなり得る。代替的に、モデル決定モジュール223は、入力サンプルと、知識ベースモジュール210内の訓練サンプルとの間の類似度を計算し、推論モデルを取得するために、高い類似度を有する訓練サンプルを使用することによって再訓練を実施し得る。
【0086】
更に、構造化データの訓練サンプルが、タスクモデルを訓練するために使用されるとき、少量の訓練サンプルが必要とされ得る。しかしながら、非構造化データの訓練サンプルが、タスクモデルを訓練するために使用されるとき、大量の訓練サンプルが、(タスクモデルの推論精度を保証するために)通常必要とされる。したがって、本実施形態では、候補タスクモデルの訓練サンプルが構造化データであると決定すると、モデル決定モジュール223は、複数のタスクモデルの訓練サンプルを使用することによって訓練を通して新規のモデルを直接取得し得、少量の計算リソースが、通常必要とされる。候補タスクモデルの訓練サンプルが非構造化データであると決定すると、モデル決定モジュール223は、計算リソース消費を低減するために、複数の候補タスクモデルの訓練サンプルを使用することによって各候補タスクモデルを代替的に再訓練し得る(すなわち、各候補タスクモデルに対してファインチューニングを実施する)。このように、モデル決定モジュール223が、エッジ側ネットワーク内に配備されると、モデル決定モジュール223が、制限されたエッジ側ネットワークリソースによってゆっくりと応答するので、入力サンプルに対するタスク学習システム200の推論効率が影響される場合を回避するために、このようにして、推論モデルは、未知のタスクについて生成され得る。
【0087】
実際の応用時には、モデル決定モジュール223は、見つかった訓練サンプルに基づいて推論モデルを、代替的に決定し得る。例えば、モデル決定モジュール223が、知識ベースモジュール210において適切な訓練サンプルを見つけられない場合、モデル決定モジュール223は、所定のドメインモデルを使用することによって入力サンプルに対して推論を実施してもよい。ドメインモデルは、例えば、特定のドメインにおける推論式を使用することによって構築され得る。例えば、ユーザは、ドメイン内に蓄積された経験式に基づいてドメインモデルを構築してもよい。モデル決定モジュール223が、知識ベースモジュール210を使用することによって訓練サンプルを見つけ、訓練サンプルの数が、所定の値未満である場合、モデル決定モジュール223は、訓練サンプルに対応するタスクモデルを推論モデルとして使用することによって入力サンプルに対して推論を実施し得る。しかしながら、モデル決定モジュール223が、訓練サンプルを見つけ、訓練サンプルの数が、所定の値より大きい(例えば、複数のタスクモデルに対応する訓練サンプルを見つけ得る)場合、モデル決定モジュール223は、訓練サンプルを使用することによって訓練を通して新規のタスクモデルを取得し、入力サンプルに対して推論を実施するために、新規のタスクモデルを推論モデルとして使用し得る。
【0088】
このように、前述の処理に基づいて、入力サンプルに対応する推論タスクが、既知のタスクであるとき、入力サンプルに対する推論は、知識ベースモジュール210に記憶された既知のタスクモデルを使用することによって完了され得る。しかしながら、入力サンプルに対応する推論タスクが、未知のタスクであるとき、入力サンプルに対して推論を完了するために、推論モデルは、既知のタスクモデルの組合せ、再訓練などを通して未知のタスクのために生成され得る。このように、ユーザが多様な入力サンプルを提供すると、タスク学習システム200は、すべての入力サンプルに対して正確な推論を実施し得る。
【0089】
更なる1つの可能な実施態様では、推論タスクと、タスク学習システム200が推論タスクを処理する処理で生成されたデータ(知識)と、に基づいて、タスク学習システム200は、知識ベースモジュール210に記憶されたデータ(知識)を更に更新してもよい。具体的には、タスク処理装置220は、知識ベース更新モジュール225を更に含んでもよい。知識ベース更新モジュール225は、目標のタスク属性および推論モデルに基づいて、知識ベースモジュール210に記憶されたタスク属性およびタスクモデルを更新し得る。説明を簡単にするために、以下では、入力サンプルに対応する推論タスクが未知のタスクである例を使用する。
【0090】
一例では、目標のタスク属性の属性値が、知識ベースモジュール210に記憶された既存のタスク属性の属性値と異なるとき、知識ベース更新モジュール225は、目標のタスク属性の属性値を知識ベースモジュール210に追加してもよい。加えて、知識ベース更新モジュール225は、目標のタスク属性に対応する推論モデルを知識ベースモジュール210に追加してもよい。例えば、未知のタスクの推論モデルが再訓練を通して取得されたタスクモデルであるとき、知識ベース更新モジュール225は、再訓練を通して取得されたタスクモデルを知識ベースモジュール210に追加してもよい。
【0091】
知識ベース更新モジュール225は、知識ベースモジュール210に、新規のタスクモデルを訓練するために必要な訓練サンプルを更に追加してもよい。訓練サンプルは、知識ベースモジュール210に書き換えられてもよい。このように、知識ベースモジュール210は、既知のタスクモデルおよび現在追加された推論モデルを別々に訓練するために、複数の同じ訓練サンプルを記憶し得る。しかしながら、別の実施態様では、訓練サンプルとタスクモデルとの間の対応関係は、知識ベースモジュール210に、代替的に追加されてもよい。このように、複数の異なるタスクモデルが、同じ訓練サンプルを使用することによって訓練されるとき、対応関係は、指示のために使用されてもよく、同じ訓練サンプルは、知識ベースモジュール210内の訓練サンプルによって占有された記憶リソースを低減するために、繰り返し記憶される必要がない。未知のタスクの推論モデルが、既知のタスクモデルを組み合わせることによって取得されるとき、知識ベース更新モジュール225は、既知のタスクモデルの組合せを知識ベースモジュール210に追加してもよく、または(知識ベースモジュール210内で占有された記憶リソースを低減するために)既知のタスクモデルの組合せを示す指示情報を知識ベースモジュール210に追加してもよい。
【0092】
加えて、知識ベースモジュール210に記憶された、タスク属性、タスクモデルおよびサンプルに加えて、知識ベース更新モジュール225は、知識ベースモジュール210に記憶された、タスク、タスク関係、およびタスクグループなどの情報を更に更新してもよい。例えば、タスクを更新するとき、知識ベース更新モジュール225は、未知のタスクを知識ベースモジュール210に追加してもよい。タスク関係を更新するとき、知識ベース更新モジュール225は、未知のタスクと、知識ベースモジュール210に記憶された既知のタスクとの間の関係を決定し得る。例えば、知識ベース更新モジュール225は、入力サンプルと、別のタスクモデルに対応する訓練サンプルとの間の類似度を計算することによって、未知のタスクと既知のタスクとの間の移行関係を決定し、決定されたタスク関係を知識ベースモジュール210に追加する(推論タスクが既知のタスクであるとき、推論タスクと既知のタスクとが下位関係を満たすと決定され得る)。タスクグループを更新するとき、知識ベース更新モジュール225は、未知のタスクを知識ベースモジュール210内のタスクグループに追加するために、クラスタリングなどの方式で、知識ベースモジュール210に記憶され、未知のタスクがクラスタリングされ得る特定のタスクグループを決定し得る。例えば、未知のタスクの識別子(名前など)は、タスクグループに対応するタスクリストに特に追加されてもよい。しかしながら、未知のタスクが、知識ベースモジュール210に記憶されたいずれのタスクグループにも分類され得ないとき、新規のタスクグループは、知識ベースモジュール210内に作成され得、新規のタスクグループに含まれるタスクは、未知のタスクである。
【0093】
本実施形態では、知識ベース更新モジュール225が知識ベースモジュール210に記憶されたデータ(知識)を更新することは、知識ベースモジュール210の知識の蓄積を実施するために、既存のデータ(既存の知識)を保持することに基づいて、新規のデータ(新規の知識)を知識ベースモジュール210に追加することであってもよいことに留意されたい。例えば、知識ベース更新モジュール225が、目標のタスク属性および推論モデルを使用することによって、知識ベースモジュール210に記憶された知識を更新した後、知識ベースモジュール210は、既知のタスク属性およびタスクモデルを記憶しつつ、新規に追加された目標のタスク属性および推論モデルを更に記憶する。このような連続的/インクリメンタルな機械学習機構(すなわち、生涯学習)などを通して、タスク学習システム200の壊滅的な忘却、すなわち、既存の知識が新規の知識で更新された後の損失による、既存の知識が未知になることは、回避され得る。
【0094】
もちろん、別の実施態様では、知識ベース更新モジュール225は、知識ベースモジュール210に記憶された既存のデータ(既存の知識)を新規のデータ(新規の知識)と代替的に置換してもよい。例えば、目標のタスク属性および推論モデルを使用することによって、知識ベースモジュール210に記憶された知識を更新するとき、知識ベース更新モジュール225は、知識ベースモジュール210に記憶された対応するタスク属性を目標のタスク属性と置換し、知識ベースモジュール210に記憶された対応するタスクモデルを推論モデルと置換してもよい。知識ベース更新モジュール225が知識ベースモジュール210に記憶された知識を更新する具体的な実施態様は、本実施形態では限定されない。
【0095】
知識ベース更新モジュール225は、知識ベースモジュール210内の未知のタスクと関連付けられた別のタスクに対応するタスク情報を更に更新し得る。例えば、推論モジュール224が再訓練を通して取得された推論モデルを使用することによって入力サンプルに対して推論を実施するとき、知識ベース更新モジュール225は、推論モデル、および推論モデルを訓練するための入力サンプルを知識ベースモジュール210に追加してもよく、入力サンプルを使用することによって、推論モデルに関連付けられた別のタスクモデル(例えば、推論モデルと下位関係または移行関係を有するタスクモデル)を更に更新してもよい。具体的には、別のタスクモデルは、入力サンプルを使用することによって再訓練されてもよく、再訓練を通して取得されたタスクモデルは、再訓練を通して取得されたタスクモデルの性能が向上されたか否かを決定するために、例えば、タスクモデルの推論精度が向上されたか否かを決定するために、いくつかのデータセットを使用することによって試験される。この場合、再訓練を通して取得されたタスクモデルの性能が良好である場合、知識ベース更新モジュール225は、更新されていないタスクモデルを、再訓練を通して取得されたタスクモデルと置換し得る。それに対して、再訓練を通して取得されたタスクモデルの性能が向上されない(劣化さえする)場合、知識ベース更新モジュール225は、既知のタスクモデルを更新し得ない。このように、知識ベース更新モジュール225は、タスク学習システム200が未知のタスクを処理するときに生成された知識を使用することによって、新規の知識によって影響され、知識ベースモジュール210に記憶された既知の知識を更新し得る。
【0096】
例えば、知識ベース更新モジュール225は、知識の継承、知識の蓄積、知識の併合、または知識のリモデリングなどの更新方法を使用することによって、知識ベースモジュール210に記憶され、新規の知識によって影響された既知の知識を更新してもよい。
【0097】
知識の継承とは、知識ベースモジュール210に記憶された既存の知識が、使用され続けることを意味する。例えば、知識ベースモジュール210に記憶された既知の知識が、新規の知識によって影響されないとき、既知の知識(タスク属性、タスク関係、タスクモデル、訓練サンプルなど)が、使用され続け得る、すなわち更新され得ない。
【0098】
知識の蓄積は、新規の知識を知識ベースモジュール210に完全に追加することを意味する。例えば、未知のタスクが、再訓練を通して取得された推論モデルを使用することによって処理されるとき、未知のタスクの目標のタスク属性、推論モデル、推論モデルを訓練するためのサンプル、タスク関係、およびタスクグループなどの情報は、新規の知識として知識ベースモジュール210に追加されてもよい。例えば、知識ベースモジュール210は、異なるモデル(すなわち、5つのチラーが5つの既知のモデルに対応する)のチラーのエネルギー消費をそれぞれ予測するための5つの既知のモデルを記憶してもよい。この場合、未知のタスクが、新規のチラーのエネルギー消費を予測することであるとき、新規のチラーのために生成された新規の推論モデルは、5つの既知のタスクモデルとは大きく異なり、それにより、推論モデルは、知識ベースモジュール210に追加され得る。この場合、知識ベースモジュール210は、6つのタスクモデルを記憶し得る。例えば、目標のタスク属性と、知識ベースモジュール210に記憶された任意のタスク属性との間の一致の度合いが、所定の値未満であると決定すると、知識ベース更新モジュール225は、知識の蓄積を通してタスク属性を更新してもよい。
【0099】
知識の併合は、知識ベースモジュール210に記憶された既存の知識と新規の知識を併合することを意味する。例えば、目標のタスク属性と、知識ベースモジュール210に記憶された既知のタスク属性とが下位関係を満たすとき、目標のタスク属性は、既知のタスク属性に併合されてもよく、すなわち、既知のタスク属性の属性カテゴリは、変化されないままであり、属性値の数が増加する。別の例では、知識ベースモジュール210は、異なるモデルのチラーのエネルギー消費をそれぞれ予測するための5つの既知のモデルを更に記憶する。タスク学習システム200が、新規に追加された第6のチラーのエネルギー消費を予測するとき、第6のチラーの属性は、他の5つのチラーの各々の属性と異なるが、第6のチラーを予測するためのモデルは、第3のチラーを予測するための既知のモデルと一致する。この場合、知識ベースモジュール210に記憶され、第3のチラーのエネルギー消費タスクを予測するために使用されるタスク属性およびサンプルは、第3のチラーおよび第6のチラーのタスク属性およびサンプルを含むように拡張され得る。この場合、知識ベースモジュール210に記憶された既知のタスクモデルの数は、変化されないままであるが、第3のチラーのエネルギー消費を予測するためのタスクモデルの適用範囲は、変化する。例えば、目標のタスク属性と、知識ベースモジュール210に記憶されたタスク属性の任意の1つまたは複数との間の一致の度合いが、所定の値より大きいと決定すると、知識ベース更新モジュール225は、知識の併合を通して知識更新を実施してもよい。
【0100】
知識のリモデリングとは、新規の知識、および知識ベースモジュール210に記憶された既知の知識を使用することによって、既知の知識を更新することを意味する(更新された知識は、新規の知識と異なり得る)。例えば、推論モデルに関連付けられた別のタスクモデルが推論モデルを訓練するためのサンプルを使用することによって再訓練された後、別のタスクモデルの性能が向上される。この場合、再訓練を通して取得された別のタスクモデルは、元の別のタスクモデルを更新するために使用され得、すなわち、別のタスクモデルのリモデリングが完了される。例えば、前述の例では、第3のチラー内の新規のデータが、知識ベースモジュール210に追加されると、既知のモデルは、第3のチラーに対応する既知のモデルの訓練サンプル、および新規のデータを使用することによって再訓練されてもよい。
【0101】
一例では、知識ベースモジュール210に記憶された既知の知識を更新すると、知識ベース更新モジュール225は、知識ベースモジュール210に記憶された、タスク属性、タスク関係、タスクグループ、モデル、およびサンプルなどの情報を特に更新してもよい。この場合、上記の更新方法は、表1に示されるように、対応する知識で更新され得る。
【0102】
【0103】
表1において、「使用の継続」とは、既存の知識が使用され続けること、すなわち既存の知識は、変化されないままであることを意味し、「更新」とは、既存の知識を更新すること(新規の知識を追加すること、および/または既知の知識に基づいて既知の知識を修正することを含む)を意味する。
【0104】
タスク属性とタスク関係を更新する例が使用される。知識ベース更新モジュール225は、タスク属性をツリー形式で更新し得、タスク関係を行列形式で更新し得る。
【0105】
図6に示されるように、知識ベース更新モジュール225は、タスク属性および移行関係に対して知識の蓄積を実施し得る。具体的には、更新前に、知識ベースモジュール210に記憶されたタスク属性は、「北京」、
【数1】
(以下「深セン」と表記)、および「深センの夏季」の3つのタスク属性を含む。加えて、
図6の左図に示される構造木を取得するために、「Root」ノードは、ルートノードとして使用され、タスク属性は、中間ノードまたはリーフノードとして使用される。知識ベースモジュール210に記憶された既知のモデル間の移行の度合いは、
図6の左の行列に示される。タスク属性「北京」が配置された行と、タスク属性「深セン」が配置された列との交点の値「0.3」は、「深セン」の温度の移行度が「北京」の温度を予測するタスクモデルを使用することによって0.3と予測されることを示す(移行度は移行関係の測定に使用される)。同様に、値「0.8」は、「深センの夏季」の移行度が、「深セン」の温度を予測するタスクモデルを使用することによって0.8と予測されることを示す。目標のタスク属性(すなわち、新規に追加されたタスク属性である)「深センの冬季」を知識ベースモジュール210に更新するとき、知識ベース更新モジュール225は、
図6の右図に示されるように、知識の蓄積を通して目標のタスク属性を既存の構造木に更新し、知識の蓄積を通して、
図6の右側影領域に示されように、知識ベースモジュール210に記憶された移動行列を更新し得る。
【0106】
図6に示される前述の知識の蓄積更新に基づいて、新規のタスク属性があるとき、知識ベース更新モジュール225は、知識の蓄積を通して取得された構造木およびモビリティ行列を更に更新するために、新規のタスク属性の使用を継続し得る。
図7に示されるように、知識ベース更新モジュール225は、知識の併合を通して、新規のタスク属性「深センの秋季」に基づいて更新を実施し得る。
【0107】
具体的には、夏季の深センの温度変化が冬季の深センの温度変化に類似しているので、知識ベース更新モジュール225は、タスク属性「深センの夏季_秋季」を取得するために、タスク属性「深センの夏季」をタスク属性「深センの秋季」と併合し得る。加えて、知識ベース更新モジュール225は、
図7の右図に示されるように、対応する計算を更に実施し、モビリティ行列を更新し得る。
【0108】
実際の応用時には、知識ベース更新モジュール225は、ユーザまたは技術専門家の操作に基づいて、知識ベースモジュール210に記憶された既知の知識を更に調整し得る。例えば、ユーザは、入力サンプルに対して推論結果の注釈付けを実施してもよく、それにより、注釈付き入力サンプルを使用することによって、知識の併合(例えば、サンプルの併合)または知識のリモデリング(例えば、入力サンプルを使用することによって既知のタスクモデルを再訓練する動作)などの調整が、既知の知識に対して実施されてもよい。代替的に、既知の知識をどのように調整するかは、予め完成した分類器を使用することによって決定されてもよい。例えば、タスク属性、タスク関係、およびタスクグループなどの情報が、入力として事前に使用されてもよく、知識更新方式は、分類器の訓練を完了するために、出力として使用され、それにより、知識ベース更新モジュール225は、現在の入力サンプルに対応する目標のタスク属性、タスク関係、および現在の入力サンプルが属するタスクグループに基づいて、更新方式を出力するために、分類器を使用してもよい。例えば、分類器は、タスク属性に基づいて、入力サンプルに対して推論を実施するための推論モデルの適用範囲を決定し、タスク関係およびタスクグループに基づいて、推論モデルと既知のモデルとの間の一致の度合いを決定してもよい。したがって、分類器によって出力され得る更新方式は、表2に示される。
【0109】
【0110】
知識ベース更新モジュール225が、既知の知識を更新した後、知識ベースモジュール210に記憶されたデータは、継続的に蓄積され、かつ/または更新され得、それにより、タスク学習システム200は、多くのタスク、および/または更新されたタスクを処理し得る。これは、タスク学習システムの機械学習能力を向上させる。
【0111】
更に、本実施形態におけるタスク学習システム200は、クラウド(例えば、クラウドセンタ)内に配備されてもよく、それにより、機械学習サービスは、クラウドサービスの形態でユーザに提供されてもよく、または、タスク学習システム200は、例えば、ローカル端末またはローカルサーバに、ローカルに配備されてもよく、または、タスク学習システム200は、エッジクラウド協調を通して配備されてもよい。理解を容易にするために、本実施形態は、
図8および
図9にそれぞれ示されるように、エッジクラウド協調を通してタスク学習システム200を配備する2つの例を提供する。
【0112】
図8に示されるタスク学習システム200において、知識ベースモジュール210は、クラウド内に配備され得、知識ベースモジュール210は、知識ベースを含み得る。タスク学習システム200における、属性定義モジュール221、タスク決定モジュール222、モデル決定モジュール223、推論モジュール224、および知識ベース更新モジュール225は、ユーザに近いエッジ側ネットワーク内に配備され得る。
【0113】
この配備方式では、目標のタスク属性の決定、未知のタスクの決定、推論モデルの生成、および入力サンプルに対する推論の実施などの計算処理はすべて、エッジ側ネットワーク内で完了され得、クラウドは、知識記憶にのみ使用され得る。このように、タスク学習システム200が入力サンプルに対する機械学習を完了する処理では、元のデータ(例えば、ユーザによって提供された入力サンプル、および機械学習処理で生成された中間データ)は、クラウドにアップロードされる必要がなくてもよく、それにより、ユーザプライバシー情報の漏洩のリスクが、効果的に低減され得る。
【0114】
タスク学習システム200は、エッジ側ネットワーク内で1つまたは複数のローカル知識ベースを更に作成し得る(例えば、
図8で1つのローカル知識ベースを作成する)。ローカル知識ベースは、何らかの知識を記憶するために、例えば、タスク属性、タスクモデル、タスクモデルの訓練サンプル、タスク関係、およびタスクグループなどのいくつかのタスク(例えば、ユーザの共通タスク)の情報を記憶するために、使用され得る。タスク学習システム200が、入力サンプルに対応する推論タスクと一致するタスク属性またはタスクモデルなどの情報を、ローカル知識ベースで見つけられないとき、タスク学習システムは、クラウド内の知識ベースモジュール210に記憶されたデータに基づいて、推論タスクが未知のタスクであるか否かを更に決定し得る。ローカル知識ベース内のデータに基づいて、推論タスクが既知のタスクであると決定すると、タスク学習システム200は、ローカル知識ベースに記憶されたタスクモデルを使用することによって既知のタスクに対して推論を直接実施し得る。
【0115】
しかしながら、
図9に示されるタスク学習システム200では、負荷の大きい一部の計算は、クラウドに移行され得、それにより、入力サンプルの推論精度は、リソースが限られたエッジ側ネットワーク内のクラウドのデータ処理能力を使用することによって向上され得る。具体的には、
図9に示されるように、知識ベースモジュール210、モデル決定モジュール223、および知識ベース更新モジュール225は、クラウド内に配置されてもよく、属性定義モジュール221、タスク決定モジュール222、および推論モジュール224は、エッジ側ネットワーク内に配置されてもよい。このようにして、クラウドの計算能力を使用することによって、高い推論精度が、実現され得、エッジ側ネットワークにおけるリソース消費も低減され得、エッジ側ネットワークにおける計算能力要件が、低減され得る。
【0116】
もちろん、
図8および
図9に示されるタスク学習システム200のエッジクラウド協調配備は、単なる一例である。実際の応用時には、タスク学習システム200は、前述の例における方式以外の方式で代替的に配備されてもよい。
【0117】
例えば、知識ベースモジュール210は、
図8および
図9に示されるように、クラウド内に配備されてもよい。このように、クラウドリソースに基づいて、知識ベースモジュール210は、モデル、サンプル、および他の情報などの大規模データを提供し得、それにより、タスク学習システム200は、入力サンプルに対応する推論タスクを既知のタスクとして容易に識別し得る。これは、入力サンプルの推論効率を向上させ、入力サンプルの推論精度を向上させ得る。加えて、入力サンプルに対応する推論タスクが、未知のタスクに属する場合でも、クラウド内の知識ベースモジュール210はまた、類似したタスクモデルなどのデータを提供し得る。したがって、タスク学習システム200は、データに基づいて未知のタスクの推論効果を向上させ得る可能性が高い。
【0118】
もちろん、知識ベースモジュール210は、エッジ側ネットワーク内に、代替的に配備されてもよく、それにより、知識ベースモジュール210に記憶された知識に依存する、属性定義モジュール221、タスク決定モジュール222、およびモデル決定モジュール223は、データを迅速に取得し、処理し得る。これは、入力サンプルに対する推論処理を高速化し得る。加えて、ユーザによって提供された入力サンプルなどの元のデータは、エッジ側ネットワークに記憶され得、ユーザデータのプライバシーが、効果的に保護され得る。
【0119】
しかしながら、別の実施態様では、知識ベースモジュール210は、代替的に分散方式で配備されてもよく、すなわち、大きいデータ規模を有する知識ベースが、クラウド内に配備されてもよく、小さいデータ規模を有する複数のローカル知識ベースが、エッジ側ネットワーク内に配備される(例えば、異なるローカル知識ベースが異なる領域に配備されてもよい)。このように、クラウド内に大きいデータ規模で配備された知識ベースを使用することによって、タスク学習システム200は、入力サンプルに対応する推論タスクを既知のタスクとして、容易に識別し得、未知のタスクに対して類似したタスクモデルなどのデータに基づいて、推論モデルも生成し得る。これは、入力サンプルの推論効果を向上させ得る。加えて、各エッジノードによって取得された元のデータおよび計算データは、クラウド知識ベースにアップロードされる必要がなくてもよく、ローカル知識ベースに直接記憶されてもよい。これは、ユーザデータのプライバシーを効果的に保護し得る。
【0120】
モデル決定モジュール223は、
図9に示されるように、クラウド内に配備され得、それにより、クラウド計算リソースは、完全に使用され得る。特に、モデル決定モジュール223が既知のモデルを組み合わせることによって未知のタスクのモデルを再訓練するとき、モデル決定モジュールによって必要とされる大量の記憶リソースおよび計算リソースは、クラウドによって担われ得、それにより、モデル決定モジュール223によって推論モデルを生成する効率が向上される。
【0121】
もちろん、モデル決定モジュール223は、
図8に示されるように、エッジ側ネットワーク内に代替的に配備され得、エッジ側ネットワークの計算リソースおよび記憶リソースを使用することによって、入力サンプルに対して推論を実施するための推論モデルを決定し得る。このように、モデル決定モジュール223の計算処理に関与する関連データは、クラウドにアップロードされなくてもよく、それにより、ユーザデータのプライバシーは、保護され得る。
【0122】
別の実施態様では、モデル決定モジュール223は、分散方式で代替的に配備されてもよい。具体的には、モデル決定モジュール223は、エッジ側ネットワーク内の異なるエッジノードから既知のタスクモデルおよび対応する訓練サンプルを取得し得、それにより、既知のタスクモデルおよびサンプルデータは、入力サンプルに対応する推論タスクについて、対応する推論モデルを生成するために使用され得る。このようにして、モデル決定モジュール223は、推論モデルに類似している(または一致する)既知のタスクモデルを更に容易に取得し得、入力サンプルの推論精度が向上される。加えて、モデル決定モジュール223が推論モデルを生成する処理に関与するデータは、クラウドにアップロードされる必要がなくてもよく、それにより、ユーザ・プライバシー・データ・セキュリティが向上され得る。
【0123】
知識ベース更新モジュール225は、
図9に示されるように、クラウド内に配備され得る。このように、知識ベース更新モジュール225は、好適な更新効果を実現するために、クラウド内で、訓練サンプルおよびタスクモデルなどの多くのデータ、ならびに多くの計算リソースを使用することによって、知識ベースモジュール210に記憶された知識を更新し得る。
【0124】
もちろん、知識ベース更新モジュール225は、
図8に示されるように、エッジ側ネットワーク内に、代替的に配備され得る。このように、入力サンプルと、入力サンプルに対して推論を実施する処理に関与する中間データとの両方が、エッジ側ネットワーク内に配置され得、それにより、ユーザデータのプライバシーが、効果的に保護され得る。
【0125】
しかしながら、別の実施態様では、知識ベース更新モジュール225は、分散方式で代替的に配備されてもよい。具体的には、未知のタスクの知識を更新する機能が、エッジ側ネットワーク内に配備されてもよく、未知のタスクの知識を使用することによって、知識ベースモジュール210に記憶された影響された既知の知識を更新する機能が、クラウド内に配備される。これは、ユーザデータのプライバシーセキュリティを効果的に保護し得る。加えて、クラウドの更新機能が、複数のエッジ側ネットワークの更新結果に接続され得、複数のエッジ側ネットワークの更新結果は、クラウド内で、知識ベースモジュール210に記憶されたデータを更新するために使用される。これは、知識ベースモジュール210に記憶された既知のタスク(知識更新範囲が広く、精度が高い)の更新効果を向上させ得る。
【0126】
前述の例では、知識ベースモジュール210、モデル決定モジュール223、および知識ベース更新モジュール225を配備する方式が、例として説明された。タスク学習システムにおける、属性定義モジュール221、タスク決定モジュール222、および推論モジュール224はまた、前述のモジュールとして、クラウド内で、およびエッジ側ネットワーク内に配備されてもよく、または分散方式で配備されてもよい。任意選択で、属性定義モジュール221、タスク決定モジュール222、および推論モジュール224はすべて、エッジ側ネットワーク内に配備されてもよい。前述の例は、一例として、タスク学習システム200の配備実装を説明するために使用されているに過ぎない。実際の応用時には、複雑化、または簡略化された配備方式などが、使用され得る。これは本実施形態では限定されない。
【0127】
理解を容易にするために、以下では、特定の適用シナリオを参照して、本出願の一実施形態の技術的解決策を詳細に説明する。
【0128】
チラーシステムの運用コストでは、チラーシステムのエネルギー消費コストが大きな割合を占める。したがって、チラーシステムの運用処理では、チラーシステムのエネルギー消費は、機械学習を通して低減されることが通常期待される。例えば、適用要件が満たされる様々な時間期間におけるチラーシステムの最小エネルギー消費は、対応する機械学習モデルを使用することによって予測されてもよく、それにより、エネルギー消費制御が、予測されたエネルギー消費に基づいて、対応する時間期間において実施されてもよい。これは、チラーシステムの過度に大きい(適用要件を超えている)エネルギー消費による、不必要なリソースの浪費が引き起こされ、チラーシステムのコストが増大される事態を回避し得、また、チラーが低エネルギー消費制御に起因して適用要件を満たし得ない事態も回避し得る。
【0129】
例えば、知識ベースモジュール210に記憶され得るタスク属性は、タスク属性カテゴリ「季節」、および属性値「冬季」を含み、記憶されたタスクモデルは、冬季のユーザ労働時間(例えば、9:00~12:30、14:00~18:00)におけるチラーのエネルギー消費を予測するためのタスクモデルである。例えば、知識ベースモジュール210は、冬季のユーザ労働時間におけるチラーの運用エネルギー消費データ(サンプルとして)と、エネルギー消費を予測するためのタスクモデルと、だけを一時的に記憶する。
【0130】
実際の応用時には、タスク学習システム200が冬季のユーザ労働時間におけるチラーのエネルギー消費(この場合、ユーザによって提供された入力サンプルは、冬季のユーザ労働時間である)を予測し得ることを、ユーザは、期待し得、更に、タスク学習システム200が冬季のユーザ昼休み(例えば、12:30~14:00)におけるチラーのエネルギー消費(この場合、ユーザによって提供された入力サンプルは、冬季のユーザ昼休みである)、夏季のユーザ労働時間におけるエネルギー消費(この場合、ユーザによって提供された入力サンプルは、夏季のユーザ労働時間である)、夏季のユーザ昼休みにおけるエネルギー消費(この場合、ユーザによって提供された入力サンプルは、夏季のユーザ昼休みである)などを、予測し得ることも、期待し得る。
【0131】
この場合、属性定義モジュール221は、ユーザによって提供された入力サンプルに基づいて、入力サンプルの目標のタスク属性を決定し得る。目標のタスク属性は、入力サンプルが属する季節および時間期間に基づいて、特に決定され得る。例えば、入力サンプルがデータ項目「冬季の昼休みにおけるチラーのエネルギー消費を予測してください」であるとき、属性定義モジュール221は、入力サンプルの目標のタスク属性が「冬季」であると決定し得る。具体的な実施については、前述の実施形態の説明を参照されたい。ここでは詳細は説明されない。
【0132】
入力サンプルの目標のタスク属性が決定された後、タスク決定モジュール222は、入力サンプルに対応する推論タスクが既知のタスクであるか否かを決定し得る。例えば、タスク決定モジュール222は、タスク属性およびタスクモデルの二次元から、入力サンプルに対応する推論タスクが既知のタスクであるか否かを決定してもよい。
【0133】
具体的には、タスク決定モジュール222は、目標のタスク属性と、知識ベースモジュール210に記憶されたタスク属性との間のドメイン一致度(domain-match degree、DMD)を計算して、2つのタスク属性間の一致の度合いを示し得る。加えて、タスク決定モジュール222は、入力サンプルの推論モデルと、知識ベースモジュール210に記憶された既知のタスクモデルとの間のモデル一致度(model-match degree、MMD)を更に計算して、2つのタスクモデル間の一致の度合いを示し得る。
【0134】
DMDおよびMMDの値の範囲は、間隔[0,1]内で設定されてもよく、DMDおよびMMDの値は、離散的(例えば、0または1のみである)であってもよく、または連続的(すなわち、区間[0,1]内の任意の値)であってもよい。
【0135】
DMDの値が離散的であるとき、タスク決定モジュール222は、目標のタスク属性の属性値と、知識ベースモジュール210に記憶されたタスク属性の属性値との間の最小編集距離を計算し、最小編集距離に基づいて、目標のタスク属性が知識ベース内の各タスクに対応するタスク属性と一致するか否かを決定し得る。詳細が表3に示される。
【0136】
【0137】
一例では、タスク決定モジュール222は、(最小編集距離)を使用することによってDMDを測定してもよい。この場合、ユーザが4つの異なる入力サンプル(4つの入力サンプルに対応する目標のタスク属性が、それぞれ「夏季」、「夏季」、「冬季」、および「冬季」である)を別々に提供すると、4つの入力サンプルにそれぞれ対応するDMDは、表3に示される(順に、「1」、「1」、「0」、および「0」である)。
【0138】
DMDの値が連続的であるとき、タスク決定モジュール222は、事前訓練された教師なしモデル(例えば、教師なし分類器)を使用することによってDMDの値を決定し得、教師なしモデルは、目標のタスク属性と既知のタスク属性との間のDMDを出力し得る。
【0139】
目標のタスク属性に基づいて教師なしモデルによってDMDを出力する原理は、
図10に示され得る。
図10のブロックは、知識ベースモジュール210内の知識ベースを表し得、
図10の「1」、「2」、および「3」は、知識ベースモジュール210に記憶されたタスク属性であり、同じ値は、タスク属性が1つのカテゴリ(各カテゴリは、
図10の曲線を使用することによってセグメント化される)に集約されることを示し、「X」は、目標のタスク属性を表す。この場合、教師なしモデルは、目標のタスク属性と各クラスタ中心との間の類似度を計算し得る。目標のタスク属性「X」と、カテゴリ1のクラスタ中心との間の類似度が0.7であり、目標のタスク属性「X」と、カテゴリ2のクラスタ中心との間の類似度が0.2であり、および目標のタスク属性「X」と、カテゴリ3のクラスタ中心との間の類似度が0.1である、と仮定する。この場合、タスク決定モジュール222は、DMD=max{0.7,0.2,0.1}=0.7と決定し得る。
【0140】
もちろん、DMDの値は、教師ありモデルを使用することによって代替的に計算されてもよい。具体的な実施態様は、教師なしモデルを使用することによってDMDの値を計算する具体的な実施態様と同様である。理解のために、前述の説明を参照されたい。ここでは詳細は、繰り返されない。
【0141】
本実施形態では、DMDの値が、所定の類似度閾値よりも大きいとき、タスク決定モジュール222は、目標のタスク属性が知識ベースモジュール210に記憶された既知のタスク属性と一致すると決定し得る。しかしながら、DMDの値が所定の類似度閾値以下であるとき、タスク決定モジュール222は、目標のタスク属性が知識ベースモジュール210に記憶された既知のタスク属性と一致しないと決定し得る。例えば、所定の類似度閾値が0.5であると仮定する。DMD=0.7>0.5であるので、タスク決定モジュール222は、目標のタスク属性が知識ベースモジュール210に記憶された既知のタスク属性と一致すると決定し得る。
【0142】
MMDを計算するとき、タスク決定モジュール222は、既知のタスクモデルごとに信頼度モデルを事前に構築し得る(もちろん、複数の既知のタスクモデルが1つの信頼度モデルなどを代替的に共有してもよい)。信頼度モデルの入力は、試験サンプルであり、出力は、既知のタスクモデルを使用することによって試験サンプルに対する推論を実施する予測誤差率である。予測誤差率は、例えば、当業者によってマークされてもよい。このようにして、タスク決定モジュール222は、入力サンプルを、各既知のタスクモデルに対応する信頼度モデルに入力し、各信頼度モデルによって出力された予測誤差率に基づいてMMDを決定するために、信頼度モデルによって出力された予測誤差率を取得し得る。
【0143】
例えば、
図11に示されるように、知識ベースモジュール210に記憶された複数のタスクモデルは、3つのグループに分けられてもよく、各グループ内の複数のタスクモデルが、1つの信頼度モデルを共有してもよい。タスク決定モジュール222は、入力サンプル(すなわち、
図11の「X」である)を、知識ベースモジュール210に記憶された、信頼度モデル1、信頼度モデル2、および信頼度モデル3に入力し得、各信頼度モデルは、予測誤差率を出力する。比率がそれぞれ0.8(信頼度モデル1)、0.7(信頼度モデル2)、および0.3(信頼度モデル3)であると仮定すると、タスク決定モジュール222は、すべての信頼度モデルによって出力された予測誤差率の平均値を計算し、その平均値をMMD、すなわち、MMD=(0.8+0.7+0.3)/3=0.6であるとして使用し得る。
【0144】
本実施形態では、MMDの値が、所定の誤差率閾値より大きいとき、タスク決定モジュール222は、入力サンプルの推論モデルが知識ベースモジュール210に記憶された既知のタスクモデルと一致しないと決定し得る。しかしながら、DMDの値が、所定の誤差率閾値以下であるとき、タスク決定モジュール222は、入力サンプルの推論モデルが知識ベースモジュール210に記憶された既知のタスクモデルと一致すると決定し得、すなわち、既知のタスクモデルは、入力サンプルに対して推論を実施するために、推論モデルとして使用され得る。例えば、所定の誤差閾値が0.5であると仮定する。MMD=0.6>0.5であるので、タスク決定モジュール222は、入力サンプルの推論モデルが知識ベースモジュール210に記憶された既知のタスクモデルと一致しないと決定し得る。
【0145】
DMDおよびMMDに基づいて、タスク決定モジュール222は、入力サンプルに基づいて、目標のタスク属性が知識ベースモジュール210に記憶された既知のタスク属性と一致するか否かを決定し、入力サンプルの推論モデルが知識ベースモジュール210に記憶された既知のタスクモデルと一致するか否かを決定し得る。冬季の労働時間におけるエネルギー消費予測タスク、冬季の昼休みにおけるエネルギー消費予測タスク、夏季の労働時間におけるエネルギー消費予測タスク、および夏季の昼休みにおけるエネルギー消費予測タスクである、チラーの4つのエネルギー消費予測タスクが、現在、記憶されていると仮定する。この場合、(4つのエネルギー消費予測タスクに対応する)4つの入力サンプルについて、タスク決定モジュール222は、表4に示されるように、対応するタスク属性一致結果、およびタスクモデル一致結果を取得し得る(知識ベースモジュール210に現在記憶された知識は、冬季の労働時間にチラーによって生成されるエネルギー消費を予測するためのタスクモデルである)。
【0146】
【0147】
昼休みにおける人のキャンパスへの出入りの変化が大きいので、チラーの冷却能力負荷は、大きく影響される。したがって、昼休みにおけるチラーのエネルギー消費は、既存の労働時間予測モデルを使用することによって予測され得ない。
【0148】
例えば、タスク決定モジュール222は、表4に示されるタスク属性とタスクモデルとの間の一致の結果に基づいて、冬季の労働時間におけるエネルギー消費予測タスクが既知のタスクであると決定してもよく、知識ベース内の既存のタスクモデルを使用することによって予測を実施してもよい。タスク決定モジュール222は、残りの3つのエネルギー消費予測タスクが未知のタスクであると決定し得る。
【0149】
次いで、既知のタスクについて、タスク決定モジュール222は、知識ベースモジュール210から、対応する既知のモデルを選択し、既知のモデルを推論モジュール224に送信し、次いで、推論モジュール224は、既知のモデルを使用することによって、「冬季の労働時間」に属する入力サンプルに対して推論を実施する。未知のタスクごとに、タスク決定モジュール222は、未知のタスクをモデル決定モジュール223に送信し得、それにより、モデル決定モジュール223は、未知のタスクについて、対応する推論モデルを決定する。
【0150】
一例では、異なる既知のモデルに対応し、知識ベースモジュール210に記憶された訓練サンプルを、モデル決定モジュール223は組み合わせ、組み合わせた訓練サンプルを使用することによって再訓練を通して新規のタスクモデルを取得し、新規のタスクモデルを、(単一の)未知のタスクの推論モデルとして使用してもよい。例えば、
図12に示されるように、モデル決定モジュール223が、夏季の労働時間におけるエネルギー消費予測タスクの推論モデルを生成すると、サンプル特徴計算を通して、夏季の夜間に稼働するチラーのエネルギー消費データ、および冬季の労働時間におけるチラーのエネルギー消費データが、エネルギー消費推論モデルによって予測されたエネルギー消費結果に両方とも類似していることを知られてもよい。この場合、モデル決定モジュール223は、夏季の労働時間におけるエネルギー消費データに最も類似する夏季の夜間におけるデータおよび冬季の労働時間におけるデータを見つけるために、ユーザによって提供された夏季の労働時間におけるエネルギー消費データ(入力サンプル)を中心として使用し得、それにより、新規の推論モデルは、知識ベースモジュール210に記憶されたエネルギー消費データ(既知のサンプル)から、見つかった既知のサンプルに基づいて、再訓練を通して取得され得る。既知のサンプルが構造化データであるとき、モデル決定モジュール223は、新規の推論モデルを取得するために、見つかった既知のサンプルに基づいてモデル訓練を実施し得る。既知のサンプルが非構造化データであるとき、モデル訓練が実施された場合、大量の計算リソースが、消費される必要があり得る。したがって、タスクモデルを生成するためにモデル決定モジュール223によって必要とされる計算量を低減するために、モデル決定モジュール223は、見つかった既知のサンプルを使用することによって知識ベースモジュール210内の既知のモデルに基づいて、既知のモデルを再訓練し、再訓練を通して取得された既知のモデルを推論モデルとして使用し得る。次いで、推論モジュール224は、新規の推論モデルを使用することによって、ユーザによって提供された入力サンプルに対して推論を実施し得る。
【0151】
例えば、推論モデルは、式(1)を使用することによって決定されてもよい。
【数2】
【0152】
ここで、fnewは、組合せを通して取得される推論モデルであり、fiは、i番目の属性のモデルであり、wiは、i番目の属性のモデルの重み値であり、wiは、タスクモデルの移行率である。
【0153】
しかしながら、別の例では、モデル決定モジュール223は、複数の組み合わされた既知のモデルを使用することによって、(単一の)未知のタスクに対して推論を実施するために、既知のモデルを代替的に組み合わせてもよい。例えば、
図13に示されるように、夏季の労働時間におけるエネルギー消費予測タスクのための推論モデルを生成するとき、モデル決定モジュール223は、目標のタスク属性およびモデル移行率に基づいて、知識ベースモジュール210に記憶された既知のモデルから、夏季の夜間におけるチラーのエネルギー消費を予測するための既知のモデルA、および冬季の労働時間におけるチラーのエネルギー消費を予測するための既知のモデルBを見つけてもよい。既知のモデルは、知識ベースモジュール210に記憶された別のタスクモデル(すなわち、高い推論精度を有し得る)よりも入力サンプルに対する推論に適している。したがって、モデル決定モジュール223は、タスクモデルAとタスクモデルBとを組み合わせ、その組合せを未知のタスクに対応する推論モデルとして決定し得る。
【0154】
これに対応して、推論モデルに基づいて入力サンプルに対して推論を実施するとき、推論モジュール224は、タスクモデルAおよびタスクモデルBによって出力された推論結果の平均値を計算し、計算された平均値を入力サンプルの最終的な推論結果として使用し得る。もちろん、実際の応用時には、推論モジュール224が複数のモデルに基づいて入力サンプルの推論結果を取得する具体的な実施態様は、この例に限定されない。
【0155】
最後に、知識ベース更新モジュール225は、知識ベースモジュール210に記憶された知識(タスク属性およびタスクモデルなどのデータ)を更に更新し得る。この場合、知識ベース更新モジュール225は、すべての既知の知識、および新規に追加された未知のタスクに関する知識に基づいて、再学習を実施する必要がなくてもよいが、未知のタスクに関する知識によって影響された既知の知識の一部のみを更新してもよい。具体的には、知識の継承、知識の蓄積、知識の併合、知識のリモデリングなどの更新方式が、含まれてもよい。例えば、表4に基づいて、知識ベース更新モジュール225の知識更新方式は、表5に示され得る。
【0156】
【0157】
本実施形態では、知識ベースモジュール210は、冬季の昼休みにおけるチラーのエネルギー消費予測モデル、夏季の労働時間におけるチラーのエネルギー消費予測モデル、および夏季の昼休みにおけるチラーのエネルギー消費予測モデルを記憶していないが、タスク学習システムは、エネルギー消費予測タスクを自動的に分割し、知識ベースモジュール210に記憶された既知のサンプルデータ(および既知のモデル)に基づいて、新規の推論モデルを生成し、新規の推論モデルを使用することによって、対応するタスクのエネルギー消費予測を完了し得る。これは、未知のタスクの推論効果を効果的に向上させる、すなわち、エネルギー消費予測精度を向上させ得る。
【0158】
前述の実施形態では、本実施形態の技術的解決策は、チラーのエネルギー消費を予測する例を使用することによって説明された。本実施形態の技術的解決策は、安全ヘルメット検出シナリオにも適用され得る。
【0159】
安全ヘルメット検出システムは、通常、一般的で汎用的な人工知能補助システムであり、建設現場は、ディープラーニングを通して、建設技術者の作業安全性を可能な限り保証するために、監視カメラ内の人が安全ヘルメットを着用しているか否かを識別することを期待する。本実施形態のタスク学習システム200は、安全ヘルメット検出システムに組み込まれてもよく、またはタスク学習システム200が、安全ヘルメット検出システムとして使用される。
【0160】
実際の応用時には、監視カメラは、建設の進行状況、例えば、建設現場の入口および出口と、建設現場の明示的な通過とに基づいて、特定の場所に通常配備される。しかしながら、建設の進行状況が変化するにつれて、多くの監視カメラが配備される必要がある、または既存の監視カメラの撮影角度が調整される必要がある。したがって、新規に追加された場所の監視画像、撮影角度が調整された後に取得された監視画像などについて、監視画像内の人が安全ヘルメットを着用しているか否かを正確に識別するために、安全ヘルメット検出システムが依然として必要とされる。
【0161】
しかしながら、異なる撮影シナリオでは、安全ヘルメット検出システムの安全ヘルメット識別タスクの属性が変化する可能性があり、その結果、既知のタスクモデルによって安全ヘルメットを識別する精度が、影響される可能性がある。加えて、同じ撮影シナリオであっても、他の要因(撮影光の輝度、および撮影角度など)による、安全ヘルメットを識別する精度が、影響される可能性がある。例えば、既知のタスクモデルが、ブース1で監視カメラ1によって撮影された監視画像(
図14に示されるように)に対して安全ヘルメット識別を実施し得ると仮定する。この場合、監視カメラ1の撮影輝度は通常輝度である。したがって、知識ベースモジュール210に記憶された既知の知識は、既知のタスク属性「ブース1」と、既知のモデルと、を含む。
【0162】
撮影中に監視カメラ1が「強調表示」処理(すなわち、撮影画像の輝度を向上する)を実施するとき、識別精度を確保するため、「強調表示」処理が実施された監視画像に対して、異なるモデルが、安全ヘルメット識別を実施するために使用される必要がある。この場合、「強調表示」処理が実施される監視映像の安全ヘルメット識別タスクは、同じタスク属性を有するが異なるタスクモデル有する未知のタスクである。
【0163】
新規の監視カメラ2が、新規の場所(ブース2)に配備され、通常輝度も、撮影に使用される場合、監視カメラ2の撮影角度、撮影輝度などが、監視カメラ1の撮影角度、撮影輝度などと類似しているので、既知のタスクモデルは、ブース2で撮影された監視映像内の安全ヘルメット識別タスク、すなわち、異なるタスク属性を有するが同じタスクモデルを有する未知のタスクを実施するために使用され得る。これに対応して、タスクモデルの移行は高い。
【0164】
しかしながら、新規の監視カメラ3が、建設現場に配備され、通常輝度が、撮影に使用されるとき、撮影場所および撮影シナリオが大きく異なるので、監視カメラ3によって撮影された監視映像の安全ヘルメットタスクは、異なるタスク属性およびタスクモデルを有する未知のタスクに属する。
【0165】
安全ヘルメット検出システムの特定の識別処理では、入力サンプル(例えば、撮影映像または撮影画像)について、属性定義モジュール221は、入力サンプルの目標のタスク属性を決定し得る。例えば、属性定義モジュール221は、監視カメラが配備された場所に基づいて、目標のタスク属性がブース1、ブース2、および建設現場であると決定してもよい。目標のタスク属性を決定する具体的な実施処理について、前述の実施形態における目標のタスク属性を決定する関連説明を参照されたい。ここでは詳細は、繰り返されない。
【0166】
次いで、タスク決定モジュール222は、入力サンプルに対応する推論タスクに対して未知のタスク決定を実施し得る。例えば、タスク決定モジュール222は、タスク属性およびタスクモデルの二次元から、入力サンプルに対応する推論タスクが未知のタスクであるか否かを決定してもよい。タスク属性次元について、DMDの値が、計算されてもよい。DMDは、具体的には、目標のタスク属性がブース1、ブース2、および建設現場などの既知のタスク属性に分割される確率である、または目標のタスク属性のベクトル特徴と、各既知のタスク属性のベクトル特徴との間のコサイン類似度であってもよい。タスクモデル次元について、MMDの値が、計算されてもよい。例えば、MMDは、既知のタスクモデルに対応する信頼度モデルを使用することによって計算されてもよい。詳細について、前述の関連説明を参照されたい。ここでは詳細は、繰り返されない。
【0167】
このように、表6に示されるように、タスク属性とタスクモデルとの2つの次元に基づいて、ブース1における通常輝度での安全ヘルメット識別タスク、ブース1における高輝度での安全ヘルメット識別タスク、ブース2における通常輝度での安全ヘルメット識別タスク、および建設現場における通常輝度での安全ヘルメット識別タスクの各タスク属性と各タスクモデルとの間の一致の結果、ならびに対応する未知のタスク決定結果が、決定され得る。
【0168】
【0169】
タスク決定モジュール222によって決定された既知のタスクについて、推論モジュール224は、ブース1に対応する既知のモデルを使用することによって入力サンプルに対して安全ヘルメット識別を実施し得る。タスク決定モジュール222によって決定された未知のタスクについて、モデル決定モジュール223は、未知のタスクごとに対応する推論モデルを生成し得る。具体的には、推論モデルは、既知のタスクモデルを再使用することによって、または既知のタスクモデルを再訓練することによって、または既知のモデルの訓練サンプルを使用することによって訓練を通して新規のタスクモデルを取得することによって、生成されてもよい。詳細については、前述の実施形態における関連説明を参照されたい。ここでは詳細は説明されない。モデル決定モジュール223によって生成された推論モデルについて、推論モジュール224は、ユーザによって必要とされる推論結果を取得するために、推論モデルを使用することによって、対応する未知のタスクの入力サンプルに対して推論を実施し得る。
【0170】
更に、監視カメラの撮影データが、特定の条件を満たすように蓄積されると、知識ベース更新モジュール225は、知識ベースモジュール210に記憶された既知のタスクモデルおよび既知のタスク属性を更新するために、トリガされ得る。具体的には、知識ベースモジュール210に記憶された既知の知識は、知識の継承、知識の蓄積、知識の併合、および知識のリモデリングなどの前述の更新方式で更新されてもよい。
【0171】
本実施形態では、知識ベースモジュール210は、ブース1における高輝度の監視画像内の安全ヘルメットを検出するためのモデル、ブース2における通常輝度の監視画像内の安全ヘルメットを検出するためのモデル、および建設現場における通常輝度の監視画像内の安全ヘルメットを検出するためのモデルを記憶していないが、タスク学習システムは、検出タスクを自動的に分割し、知識ベースモジュール210に記憶された既知のサンプルデータ(および既知のモデル)に基づいて新規の推論モデルを生成し、新規の推論モデルを使用することによって対応するタスクの安全ヘルメット検出を完了し得る。これは、未知のタスクの推論効果を効果的に向上させ、すなわち、安全ヘルメットの検出精度を向上させ得る。
【0172】
図1~
図14を参照して、以上では、タスク学習システム200がユーザによって提供された入力サンプルに対して推論を実施する処理を、システムの観点から説明した。
図15を参照して、以下では、タスク学習システム200が入力サンプルに対して推論を実施する具体的な実施処理を、方法手順の観点から説明する。
【0173】
図15に示されるように、タスク学習システム200によって実行されるタスク学習方法は、以下のステップを特に含み得る。
【0174】
S101:属性定義モジュール221は、ユーザによって提供された入力サンプルを受信する。
【0175】
S102:属性定義モジュール221は、入力サンプル、および知識ベースモジュール210に記憶されたタスク属性に基づいて、入力サンプルの目標のタスク属性を決定する。
【0176】
S103:タスク決定モジュール222は、属性定義モジュール221によって決定された目標のタスク属性と、知識ベースモジュールに記憶されたタスク属性およびタスクモデルとに基づいて、入力サンプルに対応する推論タスクが未知のタスクであるか否かを決定する。
【0177】
一例では、タスク決定モジュール222は、知識ベースモジュール210に記憶された目標のタスク属性とタスク属性との間の差に基づいて、既知のタスクまたは未知のタスクなどを決定してもよい。
【0178】
タスク属性間の差は、例えば、属性値間の最小編集距離であってもよい。代替的に、タスク属性間の差の度合いは、他の情報を使用することによって測定される。
【0179】
別の例では、タスク決定モジュール222は、目標のタスク属性に基づいて、知識ベースモジュール210に記憶されたタスクモデルから目標のタスク属性に関連付けられたタスクモデルを選択し、選択されたタスクモデルを使用することによって入力サンプルに対して推論を実施する信頼度、モデル移行率、およびタスクモデル品質のうちの任意の1つまたは複数に基づいて、入力サンプルに対応する推論タスクが未知のタスクであるか否かを決定してもよい。
【0180】
S104:入力サンプルに対応する推論タスクが既知のタスクであると決定すると、タスク決定モジュール222は、既知のタスクモデルを推論モジュール224に送信し得る。
【0181】
S105:推論モジュール224は、受信された既知のタスクモデルを使用することによって、受信された入力サンプルに対して推論を実施し、推論結果をフィードバックする。
【0182】
S106:入力サンプルに対応する推論タスクが未知のタスクであると決定すると、タスク決定モジュール222は、目標のタスク属性をモデル決定モジュール223に送信する。
【0183】
S107:モデル決定モジュール223は、受信された目標のタスク属性と、知識ベースモジュール210に記憶されたタスク属性およびタスクモデルとに基づいて、未知のタスクのための新規の推論モデルを生成する。
【0184】
一例では、モデル決定モジュール223は、目標のタスク属性に基づいて、知識ベースモジュール210に記憶されたタスクモデル内の複数の候補タスクモデルを決定し、複数の候補モデルを推論モデルとして使用してもよい(この場合、推論モデルは、複数の既知のタスクモデルを組み合わせることによって形成される)。
【0185】
別の例では、モデル決定モジュール223は、目標のタスク属性に基づいて、知識ベースモジュール210に記憶されたタスクモデル内の複数の候補タスクモデルを決定し、知識ベースモジュール210に記憶された複数の候補タスクモデルにそれぞれ対応する訓練サンプルを更に決定してもよく、それにより、モデル決定モジュール223は、決定された訓練サンプルに基づいて、1つまたは複数の候補モデルを再訓練し、再訓練を通して取得された候補タスクモデルを推論モデルとして使用してもよい。1つの候補タスクモデルが訓練サンプルを使用することによって再訓練されるとき、推論モデルは1つのモデルを含む。複数の候補タスクモデルが訓練サンプルを使用することによって再訓練されるとき、推論モデルは複数のモデルを含む。
【0186】
更に別の例では、モデル決定モジュール223は、目標のタスク属性に基づいて、知識ベースモジュール210内の複数の候補タスクモデルにそれぞれ対応する訓練サンプルを決定し、新規のタスクモデルを取得するために、決定された訓練サンプルに基づいて再訓練を実施し、タスクモデルを推論モデルとして使用してもよい。
【0187】
更なる実施態様では、モデル決定モジュール223は、知識ベースモジュール210に記憶されたタスク関係(例えば、下位関係および/または移行関係)、目標のタスク属性、ならびに知識ベースモジュール210に記憶されたタスク属性およびタスクモデルを参照して、未知のタスクのための新規の推論モデルを更に生成してもよい。
【0188】
S108:モデル決定モジュール223は、生成された推論モデルを推論モジュール224に送信する。
【0189】
S109:推論モジュール224は、モデル決定モジュール223によって送信された推論モデルを使用することによって、受信された入力サンプルに対して推論を実施し、推論結果をフィードバックする。
【0190】
推論モデルが複数のモデルを含むとき、推論モジュール224は、すべてのモデルによって出力された推論結果を取得するために、すべてのモデルを使用することによって入力サンプルに対して推論を実施し得る。次いで、推論モジュール224は、例えば、投票または平均化を通して、すべてのモデルによって出力された推論結果から最終的な推論結果を決定し得る。しかしながら、推論モデルが1つのモデルを含むとき、推論モジュール224は、モデルの出力結果を最終的な推論結果として使用し得る。
【0191】
本実施形態では、推論モジュール224によって受信された入力サンプルは、タスク決定モジュール222によって送信され得る。代替的に、入力サンプルに対応する推論タスクが未知のタスクであるとき、入力サンプルは、モデル決定モジュール223によって、推論モジュール224に送信されてもよい。もちろん、実際の応用時には、入力サンプルは、別のモジュール(例えば、属性定義モジュール221)によって、推論モジュール224に代替的に送信されてもよい。推論モジュール224が入力サンプルを取得する具体的な実施態様は、本実施形態では限定されない。
【0192】
S110:知識ベース更新モジュール225は、知識ベースモジュール210に記憶された知識を更新する。
【0193】
本実施形態では、入力サンプルに対応する推論タスクが既知のタスクに属するか、または未知のタスクに属するかにかかわらず、知識ベース更新モジュール225は、入力サンプルに対してタスク学習を実施する処理に関与するデータを使用することによって、知識ベースモジュール210に記憶された既知の知識を更新し得、更新は、知識の継承、知識の蓄積、知識の併合、および知識のリモデリングのうちの任意の1つまたは複数を含む。
【0194】
図15に示される方法の実施形態で説明したタスク学習方法は、前述のシステムの実施形態で説明したタスク学習システムに対応することに留意されたい。したがって、ステップS101~ステップS110の各々の具体的な実施処理、およびその技術的効果について、前述のシステム実施形態の関連説明を参照されたい。ここでは詳細は、繰り返されない。
【0195】
図1~
図15を参照して、以上では、本出願で提供されたタスク学習システムおよびタスク学習方法を詳細に説明した。
図16を参照して、以下では、本出願で提供されるデバイスを説明する。
【0196】
前述の方法と同じ発明概念に基づいて、本出願の一実施形態はデバイスを更に提供する。デバイスはまた、前述のタスク学習システム200があるコンピュータクラスタなどのデバイスであってもよい。デバイスは、
図2に示される実施形態におけるタスク学習システム200の機能を実施するように構成される。
【0197】
図16は、デバイス1600の構造の概略図である。
図16に示されるように、デバイス1600は、バス1601と、プロセッサ1602と、通信インターフェース1603と、メモリ1604と、を含む。プロセッサ1602、メモリ1604、および通信インターフェース1603は、バス1601を介して互いに通信する。
【0198】
バス1601は、ペリフェラル・コンポーネント・インターコネクト(peripheral component interconnect、PCI)バス、拡張業界標準アーキテクチャ(extended industry standard architecture、EISA)バスなどであってもよい。バスは、アドレスバス、データバス、制御バスなどに分類され得る。表現を容易にするために、ただ1つの太線が
図16の表現に使用されているが、これは、ただ1つのバスまたはただ1つのタイプのバスしか存在することを意味しない。
【0199】
プロセッサ1602は、中央処理装置(central processing unit、CPU)、グラフィックス・プロセッシング・ユニット(graphics processing unit、GPU)、マイクロプロセッサ(micro processor、MP)、デジタル信号プロセッサ(digital signal processor、DSP)などの任意の1つまたは複数のプロセッサであってもよい。
【0200】
通信インターフェース1603は、外部と通信するように構成される。例えば、通信インターフェース1603は、ユーザ端末によって提供された入力サンプルを受信し、推論結果をユーザ端末に送信してもよい。
【0201】
メモリ1604は、揮発性メモリ(volatile memory)、例えばランダム・アクセス・メモリ(random access memory、RAM)を含み得る。メモリ1604は、不揮発性メモリ(non-volatile memory)、例えば、読み出し専用メモリ(read-only memory、ROM)、フラッシュメモリ、ハード・ディスク・ドライブ(hard disk drive、HDD)、または、ソリッド・ステート・ドライブ(solid state drive、SSD)を更に含んでもよい。
【0202】
メモリ1604は、実行可能コードを記憶し、プロセッサ1602は、前述のタスク学習方法を実施するために、実行可能コードを実行する。
【0203】
具体的には、
図2に示される実施形態が実施されると、
図2の実施形態で説明されたタスク学習システム200内のモジュールは、ソフトウェアを使用することによって実施され、
図2の知識ベースモジュール210、属性定義モジュール221、タスク決定モジュール222、モデル決定モジュール223、推論モジュール224、および知識ベース更新モジュール225によって実行される機能を実行するために必要なソフトウェアまたはプログラムコードは、メモリ1604に記憶される。
【0204】
通信インターフェース1603は、ユーザ端末によって送信された入力サンプルを受信し得、次いで、通信インターフェース1603は、入力サンプルを、バス1601を通してプロセッサ1602に送信する。入力サンプルに対応する推論タスクが未知のタスクであるか別のステップであるかを決定するステップを実施するために、各モジュールに対応し、メモリ1604に記憶されたプログラムコード、例えば、タスク決定モジュール222に対応するプログラムコードを、プロセッサ1602は実行する。
【0205】
本出願の実施形態では、プロセッサは、汎用プロセッサ、デジタル信号プロセッサ、特定用途向け集積回路、フィールド・プログラマブル・ゲート・アレイ、または別のプログラム可能論理デバイス、ディスクリートゲートもしくはトランジスタ論理デバイス、またはディスクリートハードウェア構成要素であってもよく、本出願の実施形態で開示される方法、ステップ、および論理ブロック図を実装または実施してもよい。汎用プロセッサは、マイクロプロセッサまたは任意の従来のプロセッサなどであってもよい。本出願の実施形態を参照して開示された方法のステップは、ハードウェアプロセッサによって直接実施されてもよいし、プロセッサ内のハードウェアとソフトウェアモジュールとの組合せを使用することによって実施されてもよい。
【0206】
本出願の実施形態における結合は、装置間、ユニット間、またはモジュール間の間接結合または通信接続であり、電気、機械、または別の形態であってよく、装置間、モジュール間、およびモジュール間の情報交換に使用される。
【0207】
プロセッサは、メモリと協働し得る。メモリは、不揮発性メモリ、例えばハード・ディスク・ドライブ(hard disk drive、HDD)またはソリッド・ステート・ドライブ(solid-state drive、SSD)であってもよいし、または揮発性メモリ(volatile memory)、例えば、ランダム・アクセス・メモリ(random-access memory、RAM)であってもよい。メモリは、命令またはデータ構造の形態の予想されるプログラムコードを搬送または記憶し得、コンピュータによってアクセスされ得る任意の他の媒体であるが、これに限定されない。
【0208】
通信インターフェースと、プロセッサと、メモリとの間の特定の接続媒体は、本出願の実施形態では限定されない。例えば、メモリ、プロセッサ、および通信インターフェースは、バスを通して接続されてもよい。バスは、アドレスバス、データバス、制御バスなどに分類され得る。
【0209】
前述の実施形態に基づいて、本出願の一実施形態は、コンピュータ記憶媒体を更に提供する。記憶媒体は、ソフトウェアプログラムを記憶する。ソフトウェアプログラムが、1つまたは複数のプロセッサによって読み出され、実行されると、前述の実施形態のうちの任意の1つまたは複数で提供されるタスク学習システム200によって実施される方法が、実施されてもよい。コンピュータ記憶媒体は、USBフラッシュドライブ、リムーバブル・ハード・ディスク、読み出し専用メモリ、ランダム・アクセス・メモリ、磁気ディスク、または光ディスクなど、プログラムコードを記憶し得る任意の媒体を含み得る。
【0210】
前述の実施形態に基づいて、本出願の一実施形態は、チップを更に提供する。チップは、前述の実施形態におけるタスク学習システム200の機能を実施するように構成されたプロセッサを含む。任意選択で、チップは、メモリを更に含み、メモリは、プロセッサによって実行される必要なプログラム命令およびデータを記憶するように構成される。チップは、チップを含んでもよく、またはチップと、他の個別デバイスと、を含んでもよい。
【0211】
当業者は、本出願の実施形態が、方法、システム、またはコンピュータプログラム製品として提供され得ることを理解すべきである。したがって、本出願は、ハードウェアのみの実施形態、ソフトウェアのみの実施形態、またはソフトウェアとハードウェアの組合せを伴う実施形態の形態を使用してもよい。加えて、本出願は、コンピュータ使用可能プログラムコードを含む1つまたは複数のコンピュータ使用可能記憶媒体(磁気ディスクメモリ、CD-ROM、および光メモリなどを含むが、これらに限定されない)に対して実施されるコンピュータプログラム製品の形態を使用し得る。
【0212】
本出願は、本出願の実施形態による方法、デバイス(システム)、およびコンピュータプログラム製品のフローチャートおよび/またはブロック図を参照して説明される。コンピュータプログラム命令は、フローチャートおよび/またはブロック図における各処理および/または各ブロック、ならびにフローチャートおよび/またはブロック図における処理および/またはブロックの組合せを実装するために使用されてもよいことを理解されたい。これらのコンピュータプログラム命令は、汎用コンピュータ、専用コンピュータ、組込みプロセッサ、またはマシンを生成するための別のプログラム可能データ処理デバイスのためのプロセッサのために提供されてよく、それにより、コンピュータによって、または別のプログラム可能データ処理デバイスのプロセッサによって、実行される命令は、フローチャートにある1つまたは複数の処理で、および/またはブロック図にある1つ以上のブロックで、特定の機能を実施する装置を生成する。
【0213】
これらのコンピュータプログラム命令は、コンピュータまたは別のプログラム可能データ処理デバイスに、特定の方式で動作するように示し得るコンピュータ可読メモリに代替的に記憶されてもよく、それにより、コンピュータ可読メモリに記憶された命令は、命令装置を含むアーティファクトを生成する。命令装置は、フローチャートにある1つまたは複数の処理で、および/またはブロック図にある1つまたは複数のブロックで、特定の機能を実施する。
【0214】
コンピュータプログラム命令は、コンピュータまたは別のプログラム可能データ処理デバイスに代替的にロードされてもよく、それにより、コンピュータ実装処理を生成するために、一連の動作およびステップが、コンピュータまたは別のプログラム可能デバイスに対して実施される。したがって、コンピュータまたは別のプログラム可能デバイスに対して実行される命令は、フローチャートにある1つまたは複数の処理で、および/またはブロック図にある1つまたは複数のブロックで、特定の機能を実装するためのステップを提供する。
【0215】
本出願の明細書、請求項、および添付の図面において、用語「第1」、「第2」などは、類似の物を区別することを意図されているが、特定の順序または連続するものを必ずしも示さない。そのように使用される用語は、適切な状況において交換可能であり、これは、本出願の実施形態において同じ属性を有する物を説明するための単なる区別方式であることを理解されたい。
【0216】
当業者が、本出願の実施形態の範囲から逸脱することなく、本出願の実施形態に様々な修正および変形を加え得ることは明らかである。したがって、本出願は、以下の特許請求の範囲およびそれらの同等の技術によって定義される保護の範囲内に入るという条件で、本出願の実施形態のこれらの修正および変形を包含することを意図している。
【符号の説明】
【0217】
1 信頼度モデル、監視カメラ、ブース、カテゴリ
2 信頼度モデル、監視カメラ、ブース、カテゴリ
3 信頼度モデル、監視カメラ、カテゴリ
101 ユーザ
102 知識ベース
200 タスク学習システム
210 知識ベースモジュール
220 タスク処理装置
221 属性定義モジュール
222 タスク決定モジュール
223 モデル決定モジュール
224 推論モジュール
225 知識ベース更新モジュール
1600 デバイス
1601 バス
1602 プロセッサ
1603 通信インターフェース
1604 メモリ