(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-06
(45)【発行日】2024-08-15
(54)【発明の名称】データ処理方法及び予測モデルをトレーニングするための方法
(51)【国際特許分類】
G06N 20/00 20190101AFI20240807BHJP
G06F 16/73 20190101ALI20240807BHJP
G06F 16/75 20190101ALI20240807BHJP
【FI】
G06N20/00 130
G06F16/73
G06F16/75
(21)【出願番号】P 2022581432
(86)(22)【出願日】2022-07-26
(86)【国際出願番号】 CN2022107883
(87)【国際公開番号】W WO2023142408
(87)【国際公開日】2023-08-03
【審査請求日】2022-12-28
(31)【優先権主張番号】202210088356.X
(32)【優先日】2022-01-25
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】512015127
【氏名又は名称】バイドゥ オンライン ネットワーク テクノロジー(ペキン) カンパニー リミテッド
(74)【代理人】
【識別番号】100118902
【氏名又は名称】山本 修
(74)【代理人】
【識別番号】100106208
【氏名又は名称】宮前 徹
(74)【代理人】
【識別番号】100196508
【氏名又は名称】松尾 淳一
(74)【代理人】
【識別番号】100138759
【氏名又は名称】大房 直樹
(72)【発明者】
【氏名】ヤン,ハオ
(72)【発明者】
【氏名】グオ,ユー
(72)【発明者】
【氏名】フー,シン
(72)【発明者】
【氏名】リウ,ウェンティン
(72)【発明者】
【氏名】ユー,ルイチェ
(72)【発明者】
【氏名】チャオ,ジーハン
(72)【発明者】
【氏名】スー,ドン
(72)【発明者】
【氏名】チェン,ユーハン
(72)【発明者】
【氏名】ペン,チーミン
(72)【発明者】
【氏名】チン,ショウケ
【審査官】甲斐 哲雄
(56)【参考文献】
【文献】中国特許出願公開第113554180(CN,A)
【文献】国際公開第2019/163141(WO,A1)
【文献】国際公開第2020/250723(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
G06F 16/00-16/958
(57)【特許請求の範囲】
【請求項1】
コンピュータで実行されるデータ処理方法であって、
前記コンピュータのプロセッサが、動画である被処理対象を決定することと、
前記コンピュータの前記プロセッサが、前記被処理対象の分類属性に基づいて、前記被処理対象が所属する対象カテゴリを決定すること
であって、前記分類属性が動画長さであることと、
前記コンピュータの前記プロセッサが、前記対象カテゴリに基づいて前記被処理対象に用いられる予測モデルを決定することと、
前記コンピュータの前記プロセッサが、前記予測モデルを利用して前記被処理対象の少なくとも一つの予測特徴を処理することにより、前記被処理対象の予測結果を取得
することであって、前記予測結果と前記分類属性は同種の変数を有
し、前記予測結果が、ユーザが前記動画を視聴する予測時間であることとを含む、データ処理方法。
【請求項2】
被処理対象の分類属性に基づいて被処理対象が所属する対象カテゴリを決定することは、
前記動画の動画長さに基づいて前記動画が所属する動画長さの区間を決定することと、
前記動画長さの区間の標識を前記対象カテゴリとして決定することと、を含む、請求項
1に記載のデータ処理方法。
【請求項3】
前記対象カテゴリに基づいて前記被処理対象に用いられる予測モデルを決定することは、
前記被処理対象が所属する対象カテゴリが第1の動画長さの区間であることを決定することに応答して、第1の予測モデルを前記被処理対象に用いることを決定することと、
前記被処理対象が所属する対象カテゴリが第2の動画長さの区間であることを決定することに応答して、第2の予測モデルを前記被処理対象に用いることを決定することと、を含む、請求項
2に記載のデータ処理方法。
【請求項4】
前記少なくとも一つの予測特徴は、前記動画を視聴したユーザのユーザ特徴と前記動画
のアイテム
の特徴を含む、請求項
1に記載のデータ処理方法。
【請求項5】
前記予測モデルを利用して前記被処理対象の少なくとも一つの予測特徴を処理することにより、前記被処理対象の予測結果を取得することは、
前記予測モデルを利用して前記被処理対象の少なくとも一つの予測特徴を処理することにより、前記被処理対象の正規化予測結果を取得することと、
前記対象カテゴリに用いられる正規化パラメータを利用して前記正規化予測結果を処理することにより、前記予測結果を取得することと、を含む、請求項1に記載のデータ処理方法。
【請求項6】
前記被処理対象は気象履歴データであり、前記分類属性は気象履歴データに含まれる気象パラメータであり、前記予測結果は予測気象パラメータである、請求項1に記載のデータ処理方法。
【請求項7】
コンピュータで実行される、予測モデルをトレーニングするための方法であって、
前記コンピュータのプロセッサが、複数のサンプル対象を含むサンプルセットを決定することと、
前記コンピュータの前記プロセッサが、前記サンプル対象の分類属性に基づいてサンプルセットにおける第1のサンプルサブセットと第2のサンプルサブセットを決定すること
であって、前記第1のサンプルサブセットが第1の動画長さの区間に属する少なくとも一つの第1のサンプル対象を含み、前記第2のサンプルサブセットが第2の動画長さの区間に属する少なくとも一つの第2のサンプル対象を含む、ことと、
前記コンピュータの前記プロセッサが、前記第1のサンプルサブセットにおける第1のサンプル対象を利用して第1の予測モデルをトレーニングすることと、
前記コンピュータの前記プロセッサが、前記第2のサンプルサブセットにおける第2のサンプル対象を利用して第2の予測モデルをトレーニングすることと、を含み、
ここで、前記第1の予測モデルと
前記第2の予測モデルは、被処理対象の少なくとも一つの予測特徴を処理することにより、
前記被処理対象の予測結果を取得するために用いられ、
前記サンプル対象と前記被処理対象は動画であり、前記分類属性は動画長さであり、前記予測結果と前記分類属性は同種の変数である、予測モデルをトレーニングするための方法。
【請求項8】
前記第1のサンプルサブセットにおけるサンプル対象の数は前記第2のサンプルサブセットにおけるサンプル対象の数と同じである、請求項
7に記載の方法。
【請求項9】
第1のサンプルサブセットにおけるサンプル対象を利用して第1の予測モデルをトレーニングすることは、
第1の予測モデルの第1の現在パラメータを決定することと、
前記第1の現在パラメータを利用して前記第1のサンプル対象の少なくとも一つの第1のサンプル特徴を処理することにより、前記第1のサンプル対象の第1のサンプル予測結果を取得することと、
前記第1のサンプル
対象の第1の実際のサンプル結果を決定することと、
前記第1のサンプル予測結果と前記第1の実際のサンプル結果に基づいて前記第1の現在パラメータを調整することと、を含む、請求項
7に記載の方法。
【請求項10】
前記第1のサンプル予測結果と前記第1の実際のサンプル結果に基づいて前記第1の現在パラメータを調整することは、
前記第1のサンプル予測結果と前記第1の実際のサンプル結果に基づいて第1の損失を決定することと、
前記第1の損失に基づいて前記第1の現在パラメータを調整することと、を含む、請求項
9に記載の方法。
【請求項11】
前記第1のサンプル予測結果と前記第1の実際のサンプル結果に基づいて第1の損失を決定することは、
前記第1のサンプル予測結果と前記第1の実際のサンプル結果との差異がトレーニング閾値より小さい時、第1の損失関数を利用して前記第1の損失を決定することと、
前記第1のサンプル予測結果と前記第1の実際のサンプル結果との差異がトレーニング閾値以上である時、第2の損失関数を利用して前記第1の損失を決定することと、を含む、請求項
10に記載の方法。
【請求項12】
前記トレーニング閾値はトレーニング回数の増加に伴って減衰する、請求項
11に記載の方法。
【請求項13】
前記第1のサンプル予測結果と前記第1の実際のサンプル結果との差異が前記トレーニング閾値に等しい時、前記第1の損失関数によって決定された損失と前記第2の損失関数によって決定された損失は同じである、請求項
11に記載の方法。
【請求項14】
前記第1の損失関数は、下式(1)で表され、
【数1】
前記第2の損失関数は、下式(2)で表され、
【数2】
ここで、f(x)は第1のサンプル予測結果を示し、yは第1の実際のサンプル結果を示し、βはトレーニング閾値を示す、請求項
11に記載の方法。
【請求項15】
マルチタスクトレーニングフレームを利用して前記第1の予測モデルと前記第2の予測モデルに対するマルチタスクトレーニングを行うことにより、前記第1の予測モデルの最終パラメータと前記第2の予測モデルの最終パラメータを取得すること、を更に含む、請求項
7に記載の方法。
【請求項16】
データ処理装置であって、
被処理対象を決定するように構成される被処理対象決定ユニットと、
前記被処理対象の分類属性に基づいて前記被処理対象が所属する対象カテゴリを決定するように構成される対象カテゴリ決定ユニット
であって、前記分類属性が動画長さである、対象カテゴリ決定ユニットと、
前記対象カテゴリに基づいて前記被処理対象に用いられる予測モデルを決定するように構成される予測モデル決定ユニットと、
前記予測モデルを利用して前記被処理対象の少なくとも一つの予測特徴を処理することにより、前記被処理対象の予測結果を取得するように構成される予測ユニットであって
、前記予測結果と前記分類属性は同種の変数であ
り、前記予測結果が、ユーザが前記動画を視聴する予測時間である
、予測ユニットと、を含む、データ処理装置。
【請求項17】
予測モデルをトレーニングするための装置であって、
複数のサンプル対象を含むサンプルセットを決定するように構成されるサンプル決定ユニットと、
前記サンプル対象の分類属性に基づいてサンプルセットにおける第1のサンプルサブセットと第2のサンプルサブセットを決定するように構成される分類ユニット
であって、前記第1のサンプルサブセットが第1の動画長さの区間に属する少なくとも一つの第1のサンプル対象を含み、前記第2のサンプルサブセットが第2の動画長さの区間に属する少なくとも一つの第2のサンプル対象を含む、分類ユニットと、
前記第1のサンプルサブセットにおける第1のサンプル対象を利用して第1の予測モデルをトレーニングするように構成される第1の予測モデルトレーニングユニットと、
前記第2のサンプルサブセットにおける第2のサンプル対象を利用して第2の予測モデルをトレーニングするように構成される第2の予測モデルトレーニングユニットと、を含み、
ここで、前記第1の予測モデルと第2の予測モデルは、被処理対象の少なくとも一つの予測特徴を処理することにより、被処理対象の予測結果を取得するために用いられ、
前記サンプル対象と前記被処理対象は動画であり、前記分類属性は動画長さであり、前記予測結果と前記分類属性は同種の変数である、予測モデルをトレーニングするための装置。
【請求項18】
電子機器であって、
少なくとも一つのプロセッサと、
前記少なくとも一つのプロセッサに通信接続されたメモリとを含み、ここで、
前記メモリには、前記少なくとも一つのプロセッサによって実行可能な命令が記憶されており、前記命令は、前記少なくとも一つのプロセッサによって実行されることにより、前記少なくとも一つのプロセッサに請求項1~
15のいずれか一項に記載の方法を実行させることができる、電子機器。
【請求項19】
コンピュータに請求項1~
15のいずれか一項に記載の方法を実行させるためのコンピュータ命令が記憶された非一時的コンピュータ可読記憶媒体。
【請求項20】
プロセッサによって実行されると、請求項1~
15のいずれか一項に記載の方法を実現するコンピュータプログラ
ム。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、2022年1月25日に提出された中国特許出願202210088356.Xの優先権を主張するものであり、その内容の全ては参照によって本願に組み込まれる。
本開示は、コンピュータ技術分野に関し、特に人工知能技術に関し、具体的には、データ処理方法及び予測モデルをトレーニングするための方法、装置、電子機器、コンピュータ可読記憶媒体及びコンピュータプログラム製品に関する。
【背景技術】
【0002】
人工知能は、コンピュータに人間のいくつかの思惟過程及び知能的行動(例えば、学習、推理、思考、計画など)を模擬させるように研究する科目であり、ハードウェア面の技術もあれば、ソフトウェア面の技術もある。人工知能のハードウェア技術は、一般的にセンサ、人工知能専用チップ、クラウドコンピューティング、分散ストレージ、ビッグデータ処理などの技術を含み、人工知能ソフトウェア技術は、主にコンピュータ視覚技術、音声認識技術、自然言語処理技術及び機械学習/深層学習、ビッグデータ処理技術、ナレッジグラフ技術などのいくつかの大きな方向を含む。
【0003】
予測タスクは、様々な人工知能の応用シーンにおいては重要な役割を果たしている。例えば、動画推薦の場面において、ユーザが推薦される動画リソースを閲覧する時間を予測することは、動画推薦結果に対して重要な役割を有する。
【0004】
この部分で説明される方法は、必ずしも以前に想定される方法又は採用される方法ではない。特に断りのない限り、この部分に記載されているいずれの方法は、この部分に含まれるだけで従来技術であると考えられるべきではない。同様に、特に断りのない限り、この部分で言及されている課題は、従来の技術で承認されたものであると考えるべきではない。
【発明の概要】
【0005】
本開示は、データ処理方法及び予測モデルをトレーニングするための方法、装置、電子機器、コンピュータ可読記憶媒体及びコンピュータプログラム製品を提供する。
本開示の一態様によれば、被処理対象を決定することと、前記被処理対象の分類属性に基づいて前記被処理対象が所属する対象カテゴリを決定することと、前記対象カテゴリに基づいて前記被処理対象に用いられる予測モデルを決定することと、前記予測モデルを利用して前記被処理対象の少なくとも一つの予測特徴を処理することにより、前記被処理対象の予測結果を取得し、前記予測結果と前記分類属性は同種の変数であることと、を含むデータ処理方法を提供する。
【0006】
本開示の別の態様によれば、複数のサンプル対象を含むサンプルセットを決定することと、前記サンプル対象の分類属性に基づいてサンプルセットにおける第1のサンプルサブセットと第2のサンプルサブセットを決定することと、第1のサンプルサブセットにおける第1のサンプル対象を利用して第1の予測モデルをトレーニングすることと、第2のサンプルサブセットにおける第2のサンプル対象を利用して第2の予測モデルをトレーニングすることと、を含み、ここで、前記第1の予測モデルと第2の予測モデルは、被処理対象の少なくとも一つの予測特徴を処理することにより、被処理対象の予測結果を取得するために用いられ、前記予測結果と前記分類属性は同種の変数である予測モデルをトレーニングするための方法を提供する。
【0007】
本開示の別の態様によれば、被処理対象を決定するように構成される被処理対象決定ユニットと、前記被処理対象の分類属性に基づいて前記被処理対象が所属する対象カテゴリを決定するように構成される対象カテゴリ決定ユニットと、前記対象カテゴリに基づいて前記被処理対象に用いられる予測モデルを決定するように構成される予測モデル決定ユニットと、前記予測モデルを利用して前記被処理対象の少なくとも一つの予測特徴を処理することにより、前記被処理対象の予測結果を取得するように構成される予測ユニットであって、前記予測結果と前記分類属性は同種の変数であるものと、を含むデータ処理装置を提供する。
【0008】
本開示の別の態様によれば、複数のサンプル対象を含むサンプルセットを決定するように構成されるサンプル決定ユニットと、前記サンプル対象の分類属性に基づいてサンプルセットにおける第1のサンプルサブセットと第2のサンプルサブセットを決定するように構成される分類ユニットと、第1のサンプルサブセットにおける第1のサンプル対象を利用して第1の予測モデルをトレーニングするように構成される第1の予測モデルトレーニングユニットと、第2のサンプルサブセットにおける第2のサンプル対象を利用して第2の予測モデルをトレーニングするように構成される第2の予測モデルトレーニングユニットと、を含み、ここで、前記第1の予測モデルと第2の予測モデルは、被処理対象の少なくとも一つの予測特徴を処理することにより、被処理対象の予測結果を取得するために用いられ、ここで、前記予測結果と前記分類属性は同種の変数である予測モデルをトレーニングするための装置を提供する。
【0009】
本開示の別の態様によれば、少なくとも一つのプロセッサと、前記少なくとも一つのプロセッサに通信接続されたメモリとを含み、ここで、前記メモリには、前記少なくとも一つのプロセッサによって実行可能な命令が記憶され、前記命令は、前記少なくとも一つのプロセッサによって実行されることにより、前記少なくとも一つのプロセッサに以上に記載の方法を実行させることができる電子機器を提供する。
【0010】
本開示の別の態様によれば、コンピュータに以上に記載の方法を実行させるためのコンピュータ命令が記憶された非一時的コンピュータ可読記憶媒体を提供する。
本開示の別の態様によれば、プロセッサによって実行されると、以上に記載の方法を実現するコンピュータプログラムを含むコンピュータプログラム製品を提供する。
【0011】
本開示の一つ又は複数の実施例によれば、単変数の予測問題に対し、予測対象の単変数と同種の変数である分類属性の値に基づいて該被処理対象が所属する対象カテゴリを決定し、該対象カテゴリに属する対象のためにレーニングされた予測モデルに基づいて予測結果を取得することができる。上記方法を利用し、異なる区間の変数予測のためにトレーニングされた予測モデルを利用して予測を行うことができ、これによって、異なるカテゴリにおける被処理対象の特性をより良く識別することができる。
【0012】
理解すべきこととして、この部分に説明される内容は、本開示の実施例の要点又は重要な特徴を識別することを意図しておらず、本開示の保護範囲を限定するためのものではない。本開示の他の特徴は、以下の明細書によって容易に理解されるであろう。
【図面の簡単な説明】
【0013】
図面は、実施例を例示的に示し、明細書の一部を構成し、明細書の文字による説明とともに、実施例の例示的な実施形態を説明するために用いられる。図示の実施例は例示的目的のみであり、特許請求の範囲を限定するものではない。全ての図面において、同一の符号は、類似しているが、必ずしも同じとは限らない要素を指す。
【
図1】本開示の実施例による、本明細書で説明される様々な方法を実施することができる例示的なシステムを示す概略図である。
【
図2】本開示の実施例によるデータ処理方法を示す例示的なフローチャートである。
【
図3】本開示の実施例による予測モデルをトレーニングするための方法を示す例示的なフローチャートである。
【
図4A】本開示の実施例による損失関数によって算出された回帰損失を示す例示図である。
【
図4B】本開示の実施例による損失関数の勾配を示す例示図である。
【
図5】本開示の実施例によるマルチタスクトレーニングフレームを示す例示図である。
【
図6】本開示の実施例によるデータ処理装置を示す例示的なブロック図である。
【
図7】本開示の実施例による予測モデルをトレーニングするための装置を示す例示的なブロック図である。
【
図8】本開示の実施例を実現するために使用できる例示的な電子機器を示す構成ブロック図である。
【発明を実施するための形態】
【0014】
以下、図面に合わせて本開示の例示的な実施例を説明して、それに含まれる本開示の実施例における様々な詳細が理解を助けるためので、それらは単なる例示的なものと考えられるべきである。従って、当業者であれば、本開示の範囲及び精神から逸脱することなく、本明細書で説明された実施例に対して様々な変更及び修正を行うことができることを認識すべきである。同様に、明瞭と簡潔のために、以下の説明では公知の機能及び構造についての説明を省略している。
【0015】
本願では、特に明記しない限り、様々な要素を説明するための「第1」、「第2」などの用語は、これらの要素の位置関係、タイミング関係、又は重要性関係を限定することを意図していない。このような用語は、一要素を別の要素から区別するためにのみ使用される。いくつかの例では、第一要素と第二要素は、要素の同じ例を指してもよく、場合によっては、コンテキストの説明に基づいて、異なる例を指してもよい。
【0016】
本開示の様々な例の説明で使用される用語は、特定の例を説明することのみを目的としており、限定することを意図していない。コンテキストで別途に明確に示されていない限り、特に要素の数を限定しないなら、要素は一つであってもよいし、複数であってもよい。なお、本開示で使用される用語「及び/又は」は、リストされた項目のいずれか及び可能な全ての組み合わせをカバーする。
【0017】
以下、図面を参照して本開示の実施例について詳細に説明する。
図1は、本開示の実施例による、本明細書に記載された様々な方法及び装置を、その中で実施することができる例示的なシステム100の概略図を示す。
図1を参照すると、このシステム100は、一つ又は複数のクライアントデバイス101、102、103、104、105と106、サーバ120、及び一つ又は複数のクライアントデバイスをサーバ120に結合する一つ又は複数の通信ネットワーク110を含む。クライアントデバイス101、102、103、104、105と106は、一つ又は複数のアプリケーションを実行するように構成されることが可能である。
【0018】
本開示の実施例では、サーバ120は、本開示の実施例による方法の一つ又は複数のサービス又はソフトウェアアプリケーションを実行できるように動作する。
いくつかの実施例では、サーバ120は、非仮想環境及び仮想環境を含んでもよい他のサービス又はソフトウェアアプリケーションも提供することができる。いくつかの実施例では、これらのサービスは、webベースのサービス又はクラウドサービスとして提供することができ、例えば、ソフトウェアアズアサービス(SaaS)モデルでクライアントデバイス101、102、103、104、105及び/又は106のユーザに提供される。
【0019】
図1に示す構成では、サーバ120は、サーバ120により実行される機能を実現する一つ又は複数のアセンブリを含んでもよい。これらのアセンブリは、一つ又は複数のプロセッサで実行できるソフトウェアアセンブリ、ハードウェアアセンブリ、又はそれらの組み合わせを含んでもよい。クライアントデバイス101、102、103、104、105及び/又は106を操作するユーザは、これらのアセンブリが提供するサービスを利用するために、一つ又は複数のクライアントアプリケーションを用いてサーバ120とやり取りをすることができる。様々な異なるシステム構成が可能であり、システム100とは異なってもよいことを理解されたい。したがって、
図1は、本明細書に記載された様々な方法を実施するためのシステムの一例であり、制限することを意図していない。
【0020】
ユーザは、クライアントデバイス101、102、103、104、105及び/又は106を使用することにより、ユーザ入力を取得してユーザに本開示の実施例による方法で得られた処理結果を提供することができる。クライアントデバイスは、クライアントデバイスのユーザがクライアントデバイスとやり取りをするインターフェースを提供することができる。クライアントデバイスは、このインターフェースを介してユーザに情報を出力することもできる。
図1では6つのクライアントデバイスしか図示されていないが、当業者であれば理解できるように、本開示はいかなる数のクライアントデバイスもサポートできる。
【0021】
クライアントデバイス101、102、103、104、105及び/又は106は、携帯型ハンドヘルドデバイス、汎用コンピュータ(例えば、パーソナルコンピュータやノートパソコン)、ワークステーションコンピュータ、ウェアラブルデバイス、スマートスクリーンデバイス、セルフサービス端末デバイス、サービスロボット、ゲームシステム、シンクライアント、各種のメッセージングデバイス、センサ、又はその他の検知デバイスなどの様々なタイプのコンピュータデバイスを含んでもよい。これらのコンピュータデバイスは、MICROSOFT Windows、APPLE iOS、類UNIX(登録商標)オペレーティングシステム、Linux(登録商標)又は類Linux(登録商標)オペレーティングシステム(例えば、GOOGLE Chrome OS)などの様々なタイプ及びバージョンのソフトウェアアプリケーションやオペレーティングシステムを実行したり、MICROSOFT Windows Mobile OS、iOS、Windows Phone、Androidなどの各種のモバイルオペレーティングシステムを含んだりすることができる。携帯用ハンドヘルドデバイスには、携帯電話、インテリジェントフォン、タブレット、パーソナルデジタルアシスタント(PDA)などを含んでもよい。ウェアラブルデバイスは、ヘッドマウント型ディスプレイ(例えば、スマートグラス)と他の装置を含んでもよい。ゲームシステムは、様々なハンドヘルド型のゲームデバイス、インターネット対応のゲームデバイスなどを含んでもよい。クライアントデバイスは、例えば、インターネットInternet関連アプリケーション、通信アプリケーション(例えば、電子メールアプリケーション)、ショートメッセージサービス(SMS)アプリケーション、様々なアプリケーションを実行でき、且つ様々な通信プロトコルを使用できる。
【0022】
ネットワーク110は、当業者に知られている任意のタイプのネットワークであってもよく、それは、データ通信をサポートするために、複数の利用可能なプロトコルのいずれか一つ(TCP/IP、SNA、IPXなどを含むがこれらに限定されない)を使用することができる。例として、一つ又は複数のネットワーク110は、ローカルエリアネットワーク(LAN)、イーサネットベースのネットワーク、トークンループ、ワイドエリアネットワーク(WAN)、インターネット、仮想ネットワーク、仮想プライベートネットワーク(VPN)、イントラネット、エクストラネット、公衆交換電話網(PSTN)、赤外線ネットワーク、無線ネットワーク(例えば、ブルートゥース(登録商標)、WIFI)、及び/又はこれらとその他のネットワークの任意の組み合わせであってもよい。
【0023】
サーバ120は、一つ又は複数の汎用コンピュータ、専用サーバコンピュータ(例えば、PC(パーソナルコンピュータ)サーバ、UNIX(登録商標)サーバ、ミッドレンジサーバ)、ブレードサーバ、大型コンピュータ、サーバクラスタ、又はその他の適切な配置及び/又は組み合わせを含んでもよい。サーバ120は、仮想オペレーティングシステムを実行する一つ又は複数の仮想マシン、又は仮想化に関わる他のコンピューティングアーキテクチャ(例えば、サーバの仮想記憶装置を維持するために仮想化された論理記憶デバイスの一つ又は複数のフレキシブルプール)を含んでもよい。様々な実施例では、サーバ120は、以下に説明する機能を提供する一つ又は複数のサービス又はソフトウェアアプリケーションを実行することができる。
【0024】
サーバ120における計算ユニットは、上記した任意のオペレーティングシステム及び任意の商用サーバオペレーティングシステムを含む一つ又は複数のオペレーティングシステムを実行することができる。サーバ120は、HTTPサーバ、FTPサーバ、CGIサーバ、JAVA(登録商標)サーバ、データベースサーバなど、様々な追加のサーバアプリケーション及び/又は中間層アプリケーションのいずれか一つを実行することもできる。
【0025】
いくつかの実施形態では、サーバ120は、クライアントデバイス101、102、103、104、105及び/又は106のユーザから受信したデータフィード及び/又はイベントの更新を分析及び統合するための一つ又は複数のアプリケーションを含んでもよい。サーバ120は、クライアントデバイス101、102、103、104、105及び/又は106の一つ又は複数のディスプレイデバイスを介してデータフィード及び/又はリアルタイムイベントを表示する一つ又は複数のアプリケーションを含んでもよい。
【0026】
いくつかの実施形態では、サーバ120は、分散型システムのサーバであってもよいし、ブロックチェーンを組み込んだサーバであってもよい。サーバ120は、クラウドサーバであってもよいし、人工知能技術を備えたインテリジェントクラウドコンピューティングサーバやインテリジェントクラウドホストであってもよい。クラウドサーバはクラウドコンピューティングサービスシステムにおけるホスト製品であり、従来の物理ホストと仮想専用サーバ(VPS、Virtual Private Server)サービスに存在する管理難易度が大きく、業務拡張性が弱いという欠陥を解決する。
【0027】
システム100は、一つ又は複数のデータベース130を含むこともできる。いくつかの実施例では、これらのデータベースはデータやその他の情報を記憶するために使用できる。例えば、データベース130のうちの一つ又は複数は、オーディオファイルやビデオファイルのような情報を記憶するために使用できる。データベース130は、さまざまな位置に配置することができる。例えば、サーバ120が使用するデータベースは、サーバ120のローカルにあってもよいし、サーバ120から離れて、ネットワーク又は専用の接続を介してサーバ120と通信してもよい。データベース130は、さまざまなタイプであってもよい。いくつかの実施例では、サーバ120が使用するデータベースは、リレーショナルデータベースであってもよい。これらのデータベースのうちの一つ又は複数は、命令に応じてデータベースとデータベースからのデータを記憶、更新、検索できる。
【0028】
いくつかの実施例では、データベース130のうちの一つ又は複数は、アプリケーションによって使用され、アプリケーションのデータを記憶することもできる。アプリケーションで使用されるデータベースは、キー値リポジトリ、オブジェクトリポジトリ、ファイルシステムでサポートされる汎用リポジトリなど、様々なタイプのデータベースであってもよい。
【0029】
図1のシステム100は、本開示に基づいて説明した様々な方法及び装置を応用することができるように、様々な方法で構成し操作することができる。
図2は、本開示の実施例によるデータ処理方法を示す例示的なフローチャートである。
図1に示すようなクライアントデバイス又はサーバを利用して
図2に示すような方法200を実行することができる。
【0030】
図2に示すように、ステップS202において、被処理対象を決定する。
ステップS204において、被処理対象の分類属性に基づいて被処理対象が所属する対象カテゴリを決定する。
【0031】
ステップS206において、対象カテゴリに基づいて被処理対象に用いられる予測モデルを決定する。
ステップS208において、予測モデルを利用して被処理対象の少なくとも一つの予測特徴を処理することにより、被処理対象の予測結果を取得し、ここで、予測結果と分類属性は同種の変数である。
【0032】
本開示の一つ又は複数の実施例により提供される方法、単変数の予測問題に対し、予測対象の単変数と同種の変数である分類属性の値に基づいて該被処理対象が所属する対象カテゴリを決定し、該対象カテゴリに属する対象のためにトレーニングされた予測モデルに基づいて予測結果を取得することができる。上記方法を利用し、異なる区間の変数予測のためにトレーニングされた予測モデルを利用して予測を行うことができ、これによって、異なるカテゴリにおける被処理対象の特性をより良く識別することができる。
【0033】
以下に本開示により提供されるデータ処理方法を詳細に説明する。
ステップS202において、被処理対象を決定することができる。
ステップS204において、被処理対象の分類属性に基づいて被処理対象が所属する対象カテゴリを決定することができる。
【0034】
いくつかの実施例では、被処理対象は動画であってもよく、分類属性は動画長さである。本開示により提供される方法によって動画を処理することでユーザが動画を視聴する予測時間を予測結果として取得することができる。ここで、該予測時間は、該動画をユーザに推薦する時、ユーザは該動画を閲覧する時間を指示することができる。別の実施例では、被処理対象は気象履歴データであり、分類属性は気象履歴データに含まれる気象パラメータの一つ(例えば、温度、湿度、風力、降水量など)であってもよい。本開示により提供される方法によって気象履歴データを処理することで天候予測を指示する予測結果を取得することができる。前記予測結果は気象パラメータの予測結果を指示することができる。別の実施例では、本開示の実施例により提供される方法によっていかなる他の形式の単変数連続値の予測タスクを実現することもできる。
【0035】
下記内容は、被処理対象は動画であることを例として本開示の原理を説明する。
いくつかの実施例では、ステップS204は、動画の動画長さに基づいて動画が所属する動画長さの区間を決定し、決定した動画長さの区間の標識を該動画が所属する対象カテゴリとして決定することができることを含んでもよい。
【0036】
動画プラットフォームに含まれる動画リソースに対し、動画リソースの数は1000本で、最長の動画長さは100秒であることを例として、異なる動画長さの動画リソースの数に基づいて動画リソースを分類することができる。例えば、分類すべきの動画長さの区間の数は2であることを例として、1000本の動画リソースを動画長さに応じて配列させることができ、前半の動画が所属する動画長さの区間を第1の動画カテゴリとして決定し、後半の動画が所属する動画長さの区間を第2の動画カテゴリとして決定する。例えば、第1の動画カテゴリは動画長さが0~45秒である区間内における動画リソースを含んでもよく、第2の動画カテゴリは動画長さが46~100秒である区間内における動画リソースを含んでもよい。同様な方法によってプラットフォームにおける動画リソースを2つ又は2つ以上のカテゴリに分割することができる。
【0037】
いくつかの例において、数量分布に応じて平均分類で得られた動画区間長さには大きな差異が存在する場合、様々な方法によって動画分類の結果を調整することができる。例えば、最長の動画長さは100秒であるように分類することによって2つの動画カテゴリ取得することを例として、第1の動画カテゴリに含まれる動画リソースの長さは0~10秒の区間にあるが、第2の動画カテゴリに含まれる動画リソースの長さは11~100秒の区間にある場合、動画分類の結果を調整することができる。例えば、2つの動画カテゴリに対応する動画リソースの長さの区間の差異を50秒以下に制限することができる。そのような制限に基づいて動画分類の結果を調整してもよいが、2つの動画カテゴリに含まれる動画リソースの数を同様(又は、ほぼ同じである)に制限しなくてもよい。
【0038】
ステップS206において、対象カテゴリに基づいて被処理対象に用いられる予測モデルを決定してよい。対象カテゴリは第1の対象カテゴリ(例えば、第1の動画カテゴリ)と第2の対象カテゴリ(例えば、第2の動画カテゴリ)を含むことを例として、対象カテゴリが第1の対象カテゴリであることを決定することに応答して、第1の予測モデルを被処理対象に用いることを決定することができ、対象カテゴリが第2の対象カテゴリであることを決定することに応答して、第2の予測モデルを被処理対象に用いることを決定することができる。ここで、第1の予測モデルは第1の動画カテゴリに属する動画リソースを利用してトレーニングされて得られた予測モデルであってもよく、第2の予測モデルは第2の動画カテゴリに属する動画リソースを利用してトレーニングされて得られた予測モデルであってもよい。そのような方式により、異なる予測モデルは、異なる対象カテゴリにおける対象が有する異なる特性(例えば、長い動画と短い動画の異なる特性)を識別するようにトレーニングされてよく、これによって、異なる対象カテゴリに属する異なる被処理対象は、より正確な予測結果を取得する。
【0039】
いくつかの例において、第1の予測モデルと第2の予測モデルは異なるパラメータを有する同類のモデル、例えば、多項式、ニューラルネットワーク又は他のいかなる適用可能な数学モデルであってもよい。
【0040】
ステップS208において、予測モデルを利用して被処理対象の少なくとも一つの予測特徴を処理することにより、被処理対象の予測結果を取得し、ここで、予測結果と分類属性は同種の変数である。
【0041】
ここで、予測結果の変数値と分類属性の変数値は同じ変数の単位を有する。動画の視聴時間の予測を例として、分類属性は動画時間であり、予測結果は動画の視聴時間であり、分類属性と予測結果の変数の単位はいずれも時間の単位である。そのような方式により、容易に単変数連続値の予測問題を分類して異なるカテゴリの変数を予測することができる。
【0042】
いくつかの実施例では、ステップS208は、予測モデルを利用して被処理対象の少なくとも一つの予測特徴を処理することにより、被処理対象の正規化予測結果を取得することと、対象カテゴリに用いられる正規化パラメータを利用して正規化予測結果を処理することにより、予測結果を取得することと、を含んでもよい。
【0043】
被処理対象は動画であり、分類属性は動画長さであることを例として、異なる長さの区間における動画に対し、モデルをトレーニングする時に各サンプル動画のユーザにより視聴時間の実際の結果に対する正規化処理を行うことができ、これによって、モデルをトレーニングする時にモデルの予測効果は持続時間自体による影響を受けない。すなわち、異なる長さの区間における動画をトレーニングする時、いずれも正規化された予測結果を用いてモデルパラメータを取得することにより、モデルに異なる長さの区間における動画のユーザによる視聴特徴を学習させることができる。
【0044】
いくつかの実施例では、ある対象カテゴリに対応する正規化パラメータは該対象カテゴリに対応する分類変数の区間パラメータであってもよい。分類変数は動画長さであることを例として、区間パラメータは該動画カテゴリに対応する動画長さの区間の最大値(すなわち、最も右側の端点)であってもよい。これにより、該動画カテゴリにおけるサンプル動画のユーザにより視聴時間の実際の結果を0と1の間に正規化させることができる。他の例において、該区間パラメータを該動画カテゴリに対応する動画長さの区間におけるいかなる他の値として決定してもよい。このような場合、正規化後の実際の結果は1より大きくてもよい。例えば、分類変数に対応する区間の最も右側の端点は無限項を含む時、区間中のいずれか一つの中間点の値を正規化パラメータとして選択することができる。
【0045】
そのような方式によってトレーニングされて得られた予測モデルは、被処理対象の正規化予測結果を出力する。予測モデルに対応する対象カテゴリの正規化パラメータを利用して予測モデルから出力された正規化予測結果に対する逆処理を行うことにより、予測結果を取得することができる。例えば、動画長さが0~45秒である区間内における動画対象に対し、その正規化パラメータは45であってもよい。トレーニングする時にサンプル動画のユーザにより視聴時間の実際の結果は45で除算することで正規化を行う。そのような方式によってトレーニングされて得られた予測モデルは処理対象の動画を処理する時、正規化予測結果、例えば、0.4を出力する。正規化予測結果に改めて45を掛けることで実際の予測結果を取得することができ、すなわち、45×0.4=18秒である。正規化パラメータは他の数値に設定される時、同様な方式によって正規化予測結果に対する逆処理を行うことで実際の予測結果を取得してもよい。
【0046】
図3は、本開示の実施例による予測モデルをトレーニングするための方法を示す例示的なフローチャートである。
図3に示すような方法によってトレーニングして方法200に使用される予測モデルを取得することができる。
図1に示すようなクライアントデバイス又はサーバを利用して
図3に示すような方法300を実行することができる。
【0047】
図3に示すように、ステップS302において、複数のサンプル対象を含むサンプルセットを決定する。
ステップS304において、サンプル対象の分類属性に基づいてサンプルセットにおける第1のサンプルサブセットと第2のサンプルサブセットを決定する。
【0048】
ステップS306において、第1のサンプルサブセットにおける第1のサンプル対象を利用して第1の予測モデルをトレーニングする。
ステップS308において、第2のサンプルサブセットにおける第2のサンプル対象を利用して第2の予測モデルをトレーニングする。
【0049】
ここで、第1の予測モデルと第2の予測モデルは、被処理対象の少なくとも一つの予測特徴を処理することにより、被処理対象の予測結果を取得するために用いられ、ここで、予測結果と分類属性は同種の変数である。
【0050】
本開示の実施例により提供されるトレーニング方法を利用し、異なる分類属性を有する異なる対象のために異なる予測モデルをトレーニングしてもよく、これによって異なる特性を有する対象により正確な予測結果を提供することができる。
【0051】
以下に本開示により提供される予測モデルをトレーニングするための方法を詳細に説明する。多項式、ニューラルネットワーク又はいかなる他の形式の数学モデルを利用することで本開示に係る予測モデルを実現することができる。
【0052】
ステップS302において、複数のサンプル対象を含むサンプルセットを決定することができる。説明すべきことは、本実施例におけるサンプル対象は公開データセットに由来することである。
【0053】
ステップS304において、サンプル対象の分類属性に基づいてサンプルセットにおける第1のサンプルサブセットと第2のサンプルサブセットを決定することができる。
いくつかの実施例では、サンプル対象と予測モデルに関わる被処理対象は動画であってもよく、分類属性は動画長さであってもよい。別の実施例では、サンプル対象と予測モデルに関わる被処理対象は気象履歴データであってもよく、分類属性は気象履歴データに含まれる気象パラメータの一つ(例えば、温度、湿度、風力、降水量など)であってもよい。以下、サンプル対象は動画であることを例として本開示の原理を説明する。理解すべきことは、別の実施例では、本開示の実施例により提供される方法によっていかなる他の形式の単変数連続値の予測タスクを実現することもできることである。
【0054】
第1のサンプルサブセットは第1の動画長さの区間に属する少なくとも一つの第1のサンプル対象を含んでもよく、第2のサンプルサブセットは第2の動画長さの区間に属する少なくとも一つの第2のサンプル対象を含んでもよい。上述のように、動画リソースの動画長さに基づいてサンプル動画を分類することができる。サンプルセットにおける動画リソースの最長の長さと異なる動画長さの区間における動画リソースの分布に基づいてサンプル動画を分類することができ、これによって、第1の動画カテゴリの第1のサンプルサブセットと第2の動画カテゴリの第2のサンプルサブセットを取得する。例えば、動画リソースの数は1000本で、最長の動画長さは100秒であることを例として、第1のサンプルサブセットは動画長さが0~45秒である区間内における動画リソースを含んでもよく、第2のサンプルサブセットは動画長さが46~100秒である区間内における動画リソースを含んでもよい。いくつかの例において、第1のサンプルサブセットにおけるサンプル対象の数と第2のサンプルサブセットにおけるサンプル対象の数は同じであってもよい。ここで記述される数が同様であることは、数が完全に同じであってもよいし、2つのサンプルサブセットにおけるサンプル対象の数がほぼ同じであってもよく、すなわち、数の差異は所定の閾値より小さいことを指す。他の例において、サンプル数に応じて平均配分して得られた区間差異が大きすぎる時に(例えば、第1のサンプルサブセットに対応する動画長さの区間は0~10秒であり、第2のサンプルサブセットに対応する動画長さの区間は11~100秒である時)、2つの動画カテゴリに対応する動画リソースの長さの区間差異を50秒以下に制限することができる。そのような制限に基づいてサンプル動画分類の結果を調整し、2つの動画カテゴリのサンプルサブセットに含まれる動画リソースの数を同様である(又は、ほぼ同じである)ように制限しなくてもよい。
【0055】
ステップS306において、第1のサンプルサブセットにおける第1のサンプル対象を利用して第1の予測モデルをトレーニングすることができる。
ステップS308において、第2のサンプルサブセットにおける第2のサンプル対象を利用して第2の予測モデルをトレーニングすることができる。
【0056】
ここで、第1の予測モデルと第2の予測モデルは、被処理対象の少なくとも一つの予測特徴を処理することにより、被処理対象の予測結果を取得するために用いられ、ここで、予測結果と分類属性は同種の変数である。
【0057】
ここで、第1の予測モデルと第2の予測モデルをトレーニングする時に使用されるサンプル対象は異なる対象カテゴリに属するが、同じ方法でモデルにおけるパラメータをトレーニングすることができる。以下、第1の予測モデルを例として本開示の実施例によるトレーニング方法を説明する。類似する方法を第2のサンプルサブセットに応用することでトレーニングして第2の予測モデルを取得することができる。
【0058】
下記態様でトレーニングして第1の予測モデルを取得することができる。第1の予測モデルの第1の現在パラメータを決定し、前記第1の現在パラメータを利用して前記第1のサンプル対象の少なくとも一つの第1のサンプル特徴を処理することにより、前記第1のサンプル対象の第1のサンプル予測結果を取得し、前記第1のサンプル対象の第1の実際のサンプル結果を決定し、前記第1のサンプル予測結果と前記第1の実際のサンプル結果に基づいて前記第1の現在パラメータを調整する。
【0059】
トレーニングを開始する時、第1の予測モデルの第1の現在パラメータは所定の第1の初期のパラメータであってもよい。毎回のトレーニングを終了した後、現在のトレーニング回数に使用される第1の現在パラメータを更新することができる。様々な最適化方法、例えば、一次反復法、二次反復法、勾配降下法、ニュートン法などを含む様々な反復方法によって更新することができる。ニューラルネットワークによって実現する予測モデルに対し、誤差逆伝播の方式で第1の現在パラメータを更新してもよい。
【0060】
いくつかの実施形態では、損失関数で得られた損失結果に基づいて現在パラメータを調整することができる。
例えば、第1のサンプル予測結果と第1の実際のサンプル結果に基づいて第1の損失を決定することができ、第1の損失に基づいて第1の予測モデルの第1の現在パラメータを調整する。ここで、所定の損失関数に基づいて第1の損失を決定することができ、ここで、所定の損失関数は第1のサンプル予測結果と第1の実際のサンプル結果との差異を指示することができる。
【0061】
いくつかの例において、異なる誤差のサンプル点に異なる損失関数を応用することでトレーニング過程に予測モデルの現在パラメータに対する最適化効果を向上させることができる。
【0062】
例えば、第1のサンプル予測結果と第1の実際のサンプル結果との差異はトレーニング閾値より小さい時、第1の損失関数を利用して第1の損失を決定し、第1のサンプル予測結果と第1の実際のサンプル結果との差異はトレーニング閾値以上である時、第2の損失関数を利用して第1の損失を決定する。ここで、第1のサンプル予測結果と第1の実際のサンプル結果との差異はトレーニング閾値に等しい時、第1の損失関数によって決定された損失と第2の損失関数によって決定された損失は同じである。第1のサンプル予測結果と第1の実際のサンプル結果との差異が大きくなるほど、サンプルの最適化誤差が大きくなることを指示する。異なる最適化誤差のサンプル点に異なる損失関数を応用することでモデルの最適化効率を向上させることができる。
【0063】
いくつかの例において、上記トレーニング閾値はトレーニング回数の増加に伴って変化するものであってもよい。例えば、上記トレーニング閾値はトレーニング回数の増加に伴って減衰することができる。機械学習方法に使用される様々な学習率減衰方法、例えば、指数減衰、固定ステップサイズ減衰、可変ステップサイズ減衰、コサインアニーリング減衰などを利用してトレーニング閾値に対する減衰を行うことができる。ここで、トレーニング閾値が大きくなるほど、最適化誤差の大きいサンプル点によりモデルに与えた影響と貢献は大きくなっている。そのため、トレーニング回数の増加に伴ってトレーニング閾値を減衰させることにより、トレーニングの初期段階において最適化誤差の大きいサンプル点によるモデルパラメータ調整に与える影響をより大きくすることができ、これによって、パラメータの迅速な調整を実現し、トレーニングの後期段階において最適化誤差の小さいサンプル点によるモデルのパラメータ調整に与える影響より大きくすることにより、パラメータの微細調整の効果を実現する。
【0064】
いくつかの例において、第1の損失関数L1は下式(1)で表すことができる。
【0065】
【0066】
第2の損失関数L2は下式(2)で表すことができる。
【0067】
【0068】
ここで、f(x)は第1のサンプル予測結果を示し、yは第1の実際のサンプル結果を示し、βはトレーニング閾値を示す。トレーニングの初期の段階において、βは1又はいかなる他の適切な値であってもよい。
【0069】
異なる長さの区間における動画に対し、モデルをトレーニングする時に各サンプル動画のユーザにより視聴時間の実際の結果に対する正規化処理を行うことができ、これによって、モデルをトレーニングする時にモデルの予測効果は持続時間自体による影響を受けない。すなわち、異なる長さの区間における動画をトレーニングする時、いずれも正規化された予測結果を用いてモデルパラメータを取得することにより、モデルに異なる長さの区間における動画のユーザによる視聴特徴を学習させることができる。
【0070】
いくつかの実施例では、ある対象カテゴリに対応する正規化パラメータは該対象カテゴリに対応する分類変数の区間パラメータであってもよい。分類変数は動画長さであることを例として、区間パラメータは該動画カテゴリに対応する動画長さの区間の最大値であってもよい。これにより、該動画カテゴリにおけるサンプル動画のユーザにより視聴時間の実際の結果を0と1の間に正規化させることができる。他の例において、該区間パラメータを該動画カテゴリに対応する動画長さの区間におけるいかなる他の値として決定してもよい。このような場合、正規化後の実際の結果は1より大きくてもよい。例えば、分類変数に対応する区間の端点は無限項を含む時、区間中のいずれか一つの中間点の値を正規化パラメータとして選択することができる。トレーニング過程に、トレーニング回数の増加に伴って正規化パラメータを減衰させてもよい。そのような減衰は線形減衰、指数減衰又はいかなる他の可能な減衰であってもよい。
【0071】
図4Aは、本開示の実施例による損失関数によって算出された回帰損失を示す例示図である。
図4Aから分かるように、トレーニング閾値βの値にも関わらず、損失関数によって計算して得られた損失は回帰損失エラーが小さい(すなわち、予測結果と実際の結果との差異が小さい)時、L2損失の結果により近似することができ、回帰損失エラーが大きい(すなわち、予測結果と実際の結果との差異が大きい)時、L1損失の結果により近似することができる。
【0072】
図4Bは、本開示の実施例による損失関数の勾配を示す例示図である。
図4Bから分かるように、トレーニング閾値βの値が減衰しつつあることに伴い、回帰損失エラーが小さい(すなわち、予測結果と実際の結果との差異が小さい)サンプルに対応する損失関数の勾配値が上昇しつつある。すなわち、トレーニングの進行に伴って減衰トレーニング閾値βは小さい誤差を有するサンプル点によりモデルパラメータに与えた影響と貢献を向上させることができる。
【0073】
いくつかの実施例では、第1のサンプルセットと第2のサンプルセットを利用してそれぞれトレーニングして第1の予測モデルと第2の予測モデルを取得した後、方法300はマルチタスクトレーニングフレームを利用して第1の予測モデルと第2の予測モデルに対するマルチタスクトレーニングを行うことを更に含んでもよく、これによって、第1の予測モデルの最終パラメータと第2の予測モデルの最終パラメータを取得する。マルチタスクトレーニングの方法によって第1の予測モデルと第2の予測モデルの汎化能力を更に向上させることができる。いかなる従来のマルチタスクトレーニングフレームを利用して第1の予測モデルと第2の予測モデルに対するマルチタスクトレーニングを行うことができる。例えば、MMoe(Multi-gate Mixture-of-Experts)又はPLE(Progressive Layered Extraction)モデルを利用して本開示の実施例に使用されるマルチタスクトレーニングフレームを実現することができる。
【0074】
図5は、本開示の実施例によるマルチタスクトレーニングフレームを示す例示図である。
図5に示すように、マルチタスクフレーム500は、入力501、エキスパートネットワーク502、Gateネットワーク503-A、503-B、第1のモデル504、第2のモデル505及びそれぞれ第1のモデル504と第2のモデル505に対応する第1の出力506と第2の出力507を含んでもよい。
【0075】
ここで、第1のモデル504、第2のモデル505は
図3に合わせて記載のトレーニング方法によってトレーニングされて得られた第1の予測モデルと第2の予測モデルであってもよい。例えば、第1のモデル504は第1の動画カテゴリの動画のユーザにより視聴時間を予測するために用いられてよく、第2のモデル505は第2の動画カテゴリの動画のユーザにより視聴される時間を予測するために用いられてよい。
【0076】
理解すべきことは、第1のモデル504と第2のモデル505は2つの異なるモデルであるが、第1の動画カテゴリの動画のユーザにより視聴時間に対する予測と、第2の動画カテゴリの動画のユーザにより視聴される時間に対する予測と、という2つのタスクで学習すべきの特徴標識は同様あるため、共有化されたエキスパートネットワーク502、Gateネットワーク503-A、503-Bを介して第1のモデルに対応する予測タスクと第2のモデルのタスクを予測する共通の箇所を学習することができ、これによって、モデルの汎化能力を更に向上させることができることである。
【0077】
図5において2つのモデルのみを示すが、理解すべきことは、
図5に示すようなマルチタスクトレーニングフレームはより多くのモデルのマルチタスクトレーニングに用いられることができることである。
【0078】
いくつかの実施例では、入力501は被処理対象の少なくとも一つの予測特徴に対応することができる。被処理対象は動画であることを例として、入力501は動画を視聴したユーザのユーザ特徴、動画アイテム(item)の特徴などであってもよい。ここで、動画アイテム特徴は動画識別子、動画内容カテゴリ、イイネ数、コメント数、コレクション数、履歴クリック率などを含んでもよい。更に、入力501は、対応する被処理対象の分類属性を指示するラベルを更に含んでもよい。そのようなラベルを利用して入力501に対応する被処理対象が所属する対象カテゴリを決定することができ、後続過程においてどのモデル(例えば、第1のモデルと第2のモデルのうちのどちらか)を使用して最終の出力結果を取得するかということを更に決定することができる。
【0079】
図5に示すようなマルチタスクトレーニングフレームにおいて、第k個のタスク(k=1又は2)に対し、その出力は式(3)により示されてよい。
【0080】
【0081】
ここで、nは、エキスパートネットワーク502におけるサブエキスパートネットワークの数を示し、gk(x)iは、入力がxである時の第k個のタスクのGateネットワークが第i個のサブエキスパートネットワークの出力に用いられ、Ei(x)は、入力がxである時に対する第i個のサブエキスパートネットワークの出力を示す。fkは第k個のタスクのモデルを示す。k=1の時、fは第1のモデルを示すことができる。k=2の時、fは第2のモデルを示すことができる。
【0082】
ここで、各サブエキスパートネットワークは、1つのフル接続ネットワークとして実現することができ、各Gateネットワークは一つの線形変換とsoftmaxの組み合わせとして実現することができる。Gateネットワークは、入力xをn次元にマッピングするために用いられてよく、その後、各次元の結果にsoftmax関数を応用し、各サブエキスパートネットワークに用いられる比重を取得することができる。
【0083】
上述のように、入力xは対象カテゴリを指示するラベルを含むため、ラベルに基づいて第1のモデル又は第2のモデルを利用して最後の出力結果を決定することができる。
マルチタスクトレーニング時、マルチタスクの損失関数は式(4)により示されてよい。
【0084】
【0085】
ここで、liは第i個のタスクの損失を示すことができ、αiは第i個のタスクに用いられる比重を示すことができ、Nはタスク全体数を示す。
ここで、各タスクの比重は各比重の重要性により決定されてよい。例えば、啓発式のアルゴリズム(例えば、強化学習又は進化学習)で各タスクの比重を決定することができる。
【0086】
図6は、本開示の実施例によるデータ処理装置を示す例示的なブロック図である。
図6に示すように、データ処理装置600は、被処理対象決定ユニット610、対象カテゴリ決定ユニット620、予測モデル決定ユニット630及び予測ユニット640を含んでもよい。
【0087】
ここで、被処理対象決定ユニット610は被処理対象を決定するように構成されてよい。対象カテゴリ決定ユニット620は前記被処理対象の分類属性に基づいて前記被処理対象が所属する対象カテゴリを決定するように構成されてよい。予測モデル決定ユニット630は前記対象カテゴリに基づいて前記被処理対象に用いられる予測モデルを決定するように構成されてよい。予測ユニット640は前記予測モデルを利用して前記被処理対象の少なくとも一つの予測特徴を処理することにより、前記被処理対象の予測結果を取得するように構成されてよい。ここで、前記予測結果と前記分類属性は同種の変数である。
【0088】
図6に示すようなユニット610~640を利用して
図2に示すようなステップS202~S208を実行することができ、ここで詳細な説明を省略する。
図7は、本開示の実施例による予測モデルをトレーニングするための装置を示す例示的なブロック図である。
【0089】
図7に示すように、装置700は、サンプル決定ユニット710、分類ユニット720、第1の予測モデルトレーニングユニット730及び第2のモデルトレーニングユニット740を含んでもよい。
【0090】
ここで、サンプル決定ユニット710は複数のサンプル対象を含むサンプルセットを決定するように構成されてよい。分類ユニット720は前記サンプル対象の分類属性に基づいてサンプルセットにおける第1のサンプルサブセットと第2のサンプルサブセットを決定するように構成されてよい。第1の予測モデルトレーニングユニット730は第1のサンプルサブセットにおける第1のサンプル対象を利用して第1の予測モデルをトレーニングするように構成されてよい。第2のモデルトレーニングユニット740は第2のサンプルサブセットにおける第2のサンプル対象を利用して第2の予測モデルをトレーニングするように構成されてよい。ここで、前記第1の予測モデルと第2の予測モデルは、被処理対象の少なくとも一つの予測特徴を処理することにより、被処理対象の予測結果を取得するために用いられ、ここで、前記予測結果と前記分類属性は同種の変数である。
【0091】
図7に示すようなユニット710~740を利用して
図3に示すようなステップS302~S308を実行することができ、ここで詳細な説明を省略する。
本開示の技術案において、関連するユーザ個人情報の収集、記憶、使用、加工、伝送、提供と開示などの処理は、すべて関連法律法規の規定に適合し、公序良俗に反しない。
【0092】
本開示の実施例によれば、電子機器、可読記憶媒体及びコンピュータプログラム製品を更に提供する。
図8に示すように、ここでは、本開示の様々な態様に適用可能なハードウェア装置の一例である、本開示のサーバ又はクライアントとして利用可能な電子機器800の構成ブロック図について説明する。電子機器は、様々な形態のデジタル電子コンピュータ、例えば、ラップトップ型コンピュータ、デスクトップ型コンピュータ、ステージ、個人用デジタル補助装置、サーバ、ブレードサーバ、大型コンピュータ、その他の適切なコンピュータを示す。電子機器は更に、様々な形態の移動装置、例えば、パーソナルデジタル処理、携帯電話、スマートフォン、ウェアラブル機器とその他の類似する計算装置を示してよい。本明細書に示される部品、これらの接続関係及びこれらの機能は例示的なものに過ぎず、本明細書に説明した及び/又は請求した本開示の実現を制限しない。
【0093】
図8に示すように、電子機器800は、計算ユニット801を含み、それはリードオンリーメモリ(ROM)802に記憶されたコンピュータプログラム又は記憶ユニット808からランダムアクセスメモリ(RAM)803にロードされるコンピュータプログラムによって、種々の適当な動作と処理を実行することができる。RAM 803において、更に電子機器800を操作するために必要な様々なプログラムとデータを記憶してよい。計算ユニット801、ROM 802及びRAM 803は、バス804を介して互いに接続される。入力/出力(I/O)インターフェース805も、バス804に接続される。
【0094】
電子機器800における複数の部品はI/Oインターフェース805に接続され、入力ユニット806、出力ユニット807、記憶ユニット808及び通信ユニット809を含む。入力ユニット806は、電子機器800に情報を入力することが可能な任意のタイプの装置であってもよく、入力ユニット806は、入力された数字又は文字情報と、電子機器のユーザ設定及び/又は機能制御に関するキー信号入力を生成することができ、マウス、キーボード、タッチスクリーン、トラックボード、トラックボール、操作レバー、マイク及び/又はリモコンを含んでもよいが、これらに限定されない。出力ユニット807は、情報を提示することが可能ないずれかのタイプの装置であってもよく、ディスプレイ、スピーカ、映像/オーディオ出力端末、バイブレータ、及び/又はプリンタを含んでもよいが、これらに限定されない。記憶ユニット808は磁気ディスク、光ディスクを含んでもよいが、これらに限定されない。通信ユニット809は、電子機器800が例えば、インターネットであるコンピュータネットワーク及び/又は様々な電気通信ネットワークを介して他の装置と情報/データを交換することを可能にし、モデム、ネットワークカード、赤外線通信装置、無線通信送受信機、及び/又はチップセット、例えば、ブルートゥース(登録商標)TM装置、802.11装置、WiFi装置、WiMax装置、セルラー通信装置及び/又は類似物を含んでもよいが、これらに限定されない。
【0095】
計算ユニット801は処理及びコンピューティング能力を有する様々な汎用及び/又は専用の処理コンポーネントであってもよい。計算ユニット801のいくつかの例として、中央処理ユニット(CPU)、グラフィックス処理ユニット(GPU)、様々な専用人工知能(AI)計算チップ、機械学習モデルアルゴリズムを実行する様々な計算ユニット、デジタル信号プロセッサ(DSP)、及び任意の適当なプロセッサ、コントローラ、マイクロコントローラなどを含んでもよいが、これらに限定されない。計算ユニット801は上記内容で説明した各方法と処理、例えば、方法200、300を実行する。例えば、いくつかの実施例では、方法200、300は、記憶ユニット808のような機械可読媒体に有形に組み込まれたコンピュータソフトウェアプログラムとして実装されてもよい。いくつかの実施例では、コンピュータプログラムの一部の又は全てはROM 802及び/又は通信ユニット809を経して電子機器800にロード及び/又はインストールされてよい。コンピュータプログラムがRAM 803にロードされて計算ユニット801によって実行されると、以上で説明される方法200、300の一つ又は複数のステップを実行することできる。代替的に、他の実施形態では、計算ユニット801は、他の任意の適当な方法で(例えば、ファームウェアを用いて)、方法200、300を実行するように構成される。
【0096】
本明細書で上述したシステム及び技術の様々な実施形態は、デジタル電子回路システム、集積回路システム、フィールド・プログラマブル・ゲート・アレイ(FPGA)、特定用途向け集積回路(ASIC)、特定用途向け標準製品(ASSP)、システムオンチップ(SOC)、複雑なプログラマブル論理デバイス(CPLD)、ソフトウェア・ハードウェア、ファームウェア、ソフトウェア、及び/又はこれらの組み合わせにおいて実装することができる。これらの様々な実施形態は、一つ又は複数のコンピュータプログラムに実施され、この一つ又は複数のコンピュータプログラムは少なくとも一つのプログラマブルプロセッサを含むプログラマブルシステムで実行し及び/又は解釈してもよく、このプログラマブルプロセッサは専用又は汎用プログラマブルプロセッサであってもよく、記憶システム、少なくとも一つの入力装置、少なくとも一つの出力装置からデータと命令を受信し、データと命令をこの記憶システム、この少なくとも一つの入力装置、この少なくとも一つの出力装置に送信してよいこと、を含んでもよい。
【0097】
本開示の方法を実施するプログラムコードは一つ又は複数のプログラミング言語のいかなる組み合わせで書かれてよい。これらのプログラムコードを汎用コンピュータ、特殊目的のコンピュータ又は他のプログラマブルデータ処理装置のプロセッサ又はコントローラに提供してよく、これによってプログラムコードはプロセッサ又はコントローラにより実行される時にフローチャート及び/又はブロック図に規定の機能/操作を実施する。プログラムコードは完全に機械で実行してよく、部分的に機械で実行してよく、独立ソフトウェアパッケージとして部分的に機械で実行し且つ部分的に遠隔機械で実行してよく、又は完全に遠隔機械又はサーバで実行してよい。
【0098】
本開示のコンテキストにおいて、機械可読媒体は有形の媒体であってもよく、命令実行システム、装置又はデバイスに使用される又は命令実行システム、装置又はデバイスに結合されて使用されるプログラムを具備又は記憶してよい。機械可読媒体は機械可読信号媒体又は機械可読記憶媒体であってもよい。機械可読媒体は、電子、磁気、光学、電磁、赤外線、又は半導体システム、装置又はデバイス、又は上記内容のいかなる適切な組み合わせを含んでもよいが、これらに限定されない。機械可読記憶媒体のより具体的な例は、一つ又は複数のリード線による電気接続、ポータブルコンピュータディスク、ハードディスク、ランダム・アクセス・メモリ(RAM)、読み出し専用メモリ(ROM)、消去可能なプログラマブル読み出し専用メモリ(EPROM又はフラッシュメモリ)、光ファイバー、ポータブルコンパクトディスク読み出し専用メモリ(CD-ROM)、光記憶装置、磁気記憶装置、又は上記内容のいかなる適切な組み合わせを含む。
【0099】
ユーザとのインタラクションを提供するために、コンピュータにはここで説明したシステムと技術を実施してよく、このコンピュータは、ユーザに情報を表示するための表示装置(例えば、CRT(陰極線管)又はLCD(液晶ディスプレイ)監視モニタ)、及びキーボードとポインティング装置(例えば、マウスやトラックボール)を備え、ユーザはこのキーボードとこのポインティング装置を介してコンピュータに入力してよい。その他の種類の装置は更に、ユーザとのインタラクションを提供するためのものであってもよい。例えば、ユーザに提供するフィードバックはいかなる形態の感覚フィードバック(例えば、視覚フィードバック、聴覚フィードバック、又は触覚フィードバック)であってもよく、いかなる形態(音入力、音声入力、又は触覚入力を含む)でユーザからの入力を受信してよい。
【0100】
ここで述べたシステムや技術は、バックステージ部材を含む計算システム(例えば、データサーバとして)や、ミドルウェア部材を含む計算システム(例えば、アプリケーションサーバ)や、フロントエンド部材を含む計算システム(例えば、グラフィカルユーザインターフェースやウェブブラウザを有するユーザコンピュータ、ユーザが、そのグラフィカルユーザインターフェースやウェブブラウザを通じて、それらのシステムや技術の実施形態とのインタラクションを実現できる)、あるいは、それらのバックステージ部材、ミドルウェア部材、あるいはフロントエンド部材の任意の組み合わせからなる計算システムには実施されてもよい。システムの部材は、任意の形式や媒体のデジタルデータ通信(例えば、通信ネットワーク)により相互に接続されてもよい。通信ネットワークの一例は、ローカルネットワーク(LAN)、広域ネットワーク(WAN)とインターネットを含む。
【0101】
コンピュータシステムは、クライアント側とサーバを含んでもよい。クライアント側とサーバは、一般的に相互に遠く離れ、通常、通信ネットワークを介してインタラクションを行う。互にクライアント側-サーバという関係を有するコンピュータプログラムを対応するコンピュータで運転することによってクライアント側とサーバとの関係を生成する。サーバは、クラウドサーバであってもよく、分散型システムのサーバでも、又はブロックチェーンと組み合わされたサーバであってもよい。
【0102】
理解すべきこととして、前述した様々な形態のフローを用いて、ステップを改めて順位付け、増加又は削除してよい。例えば、本開示に記載された各ステップは、並列的に実行してもよいし、順次実行してもよいし、異なる順序で実行させてもよいし、本開示に開示された技術案が所望する結果を実現できれば、本文はこれに限定されないことである。
【0103】
本開示の実施例又は例は図面を参照して説明されたが、上記の方法、システム、及び装置は単なる例示的な実施例又は例であり、本発明の範囲はこれらの実施例又は例によって制限されるものではなく、授権後の特許請求の範囲及びその均等範囲のみによって限定されることを理解されたい。実施例又は例の様々な要素は省略されてもよく、又はそれらの均等要素によって代替されてもよい。なお、各ステップは、本開示で説明した順序とは異なる順序で実行されてもよい。更に、実施例又は例の様々な要素は、様々な方法で組み合わせられてもよい。重要なのは、技術の進化に伴い、ここで説明される多くの要素は、本開示の後に現れる同等の要素に置き換えることができるということである。