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

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

▶ ベイジン バイドゥ ネットコム サイエンス アンド テクノロジー カンパニー リミテッドの特許一覧

特許7194252マルチタスクモデルのパラメータ更新方法、装置及び電子機器
<>
  • 特許-マルチタスクモデルのパラメータ更新方法、装置及び電子機器 図1
  • 特許-マルチタスクモデルのパラメータ更新方法、装置及び電子機器 図2
  • 特許-マルチタスクモデルのパラメータ更新方法、装置及び電子機器 図3
  • 特許-マルチタスクモデルのパラメータ更新方法、装置及び電子機器 図4
  • 特許-マルチタスクモデルのパラメータ更新方法、装置及び電子機器 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-12-13
(45)【発行日】2022-12-21
(54)【発明の名称】マルチタスクモデルのパラメータ更新方法、装置及び電子機器
(51)【国際特許分類】
   G06N 3/08 20060101AFI20221214BHJP
   G06N 20/00 20190101ALI20221214BHJP
【FI】
G06N3/08
G06N20/00
【請求項の数】 16
(21)【出願番号】P 2021191868
(22)【出願日】2021-11-26
(65)【公開番号】P2022028871
(43)【公開日】2022-02-16
【審査請求日】2021-11-26
(31)【優先権主張番号】202011474877.6
(32)【優先日】2020-12-14
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】514322098
【氏名又は名称】ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド
【氏名又は名称原語表記】Beijing Baidu Netcom Science Technology Co., Ltd.
【住所又は居所原語表記】2/F Baidu Campus, No.10, Shangdi 10th Street, Haidian District, Beijing 100085, China
(74)【代理人】
【識別番号】100118913
【弁理士】
【氏名又は名称】上田 邦生
(74)【代理人】
【識別番号】100142789
【弁理士】
【氏名又は名称】柳 順一郎
(74)【代理人】
【識別番号】100201466
【弁理士】
【氏名又は名称】竹内 邦彦
(72)【発明者】
【氏名】チャン, ウェンフイ
(72)【発明者】
【氏名】ユー, ディァンハイ
(72)【発明者】
【氏名】ウー, ツィファ
【審査官】武田 広太郎
(56)【参考文献】
【文献】国際公開第2018/047225(WO,A1)
【文献】中国特許出願公開第110889510(CN,A)
【文献】中国特許第106778583(CN,B)
【文献】中国特許出願公開第111461156(CN,A)
【文献】中国特許出願公開第109447259(CN,A)
【文献】国際公開第2019/198814(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/08
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
複数のサンプル及び各サンプルが属するタスクを含む訓練サンプルセットを取得するステップと、
前記各サンプルが属するタスクに基づいて、前記各サンプルを対応するサンプルキューに順番に入れるステップと、
いずれかのサンプルキュー内のサンプル数が訓練データ要件に達した場合、前記いずれかのサンプルキュー内のサンプルを用いて、マルチタスクモデルの共有ネットワーク層及び前記いずれかのサンプルキューに関連付けられたタスクに対応するターゲットサブネットワーク層を訓練して、前記いずれかのサンプルキューに関連付けられたタスクに対応するモデルパラメータ更新勾配を生成するステップと、
前記更新勾配に基づいて、パラメータサーバの前記共有ネットワーク層及び前記ターゲットサブネットワーク層のパラメータを更新するステップと、
を含む、マルチタスクモデルのパラメータ更新方法。
【請求項2】
前記各サンプルが属するタスクに基づいて、前記各サンプルを対応するサンプルキューに順番に入れるステップが、
前記各サンプルが属するタスクに基づいて、各サンプルに対応するタスクラベルを決定するステップと、
各サンプルに対応するタスクラベルに基づいて、各サンプルを前記タスクラベルに対応するサンプルキューに順番に入れるステップと、
を含む請求項1に記載の方法。
【請求項3】
前記各サンプルに対応するタスクラベルに基づいて、各サンプルを前記タスクラベルに対応するサンプルキューに順番に入れるステップが、
いずれかのサンプルが複数のタスクラベルに対応する場合、前記複数のタスクラベルのうちの各タスクラベルに対応するサンプルキューが前記いずれかのサンプルを含むと決定するステップを含む請求項2に記載の方法。
【請求項4】
前記更新勾配に基づいて、パラメータサーバの前記共有ネットワーク層及び前記ターゲットサブネットワーク層のパラメータを更新するステップが、
前記いずれかのサンプルキューに関連付けられたタスクラベルに基づいて、ターゲットパラメータサーバを決定するステップと、
前記ターゲットパラメータサーバが前記更新勾配に基づいて前記共有ネットワーク層及び前記ターゲットサブネットワーク層のパラメータを更新するように、前記生成されたモデルパラメータ更新勾配をターゲットパラメータサーバに送信するステップと、
を含む請求項1に記載の方法。
【請求項5】
前記更新勾配に基づいて、パラメータサーバの前記共有ネットワーク層及び前記ターゲットサブネットワーク層のパラメータを更新するステップが、
前記いずれかのサンプルキューに関連付けられたタスクの重みを決定するステップと、
前記重み及び前記更新勾配に基づいて、パラメータサーバの前記共有ネットワーク層及び前記ターゲットサブネットワーク層のパラメータを更新するステップと、
を含む請求項1から4のいずれか一項に記載の方法。
【請求項6】
前記重み及び前記更新勾配に基づいて、パラメータサーバの前記共有ネットワーク層及び前記ターゲットサブネットワーク層のパラメータを更新するステップが、
前記更新勾配に基づいて、前記ターゲットサブネットワーク層のパラメータを更新するステップと、
前記重み及び前記更新勾配に基づいて、前記共有ネットワーク層の更新勾配を決定するステップと、
前記共有ネットワーク層の更新勾配に基づいて、前記共有ネットワーク層のパラメータを更新するステップと、
を含む請求項5に記載の方法。
【請求項7】
複数のサンプル及び各サンプルが属するタスクを含む訓練サンプルセットを取得するための取得モジュールと、
前記各サンプルが属するタスクに基づいて、前記各サンプルを対応するサンプルキューに順番に入れるための分類モジュールと、
いずれかのサンプルキュー内のサンプル数が訓練データ要件に達した場合、前記いずれかのサンプルキュー内のサンプルを用いて、マルチタスクモデルの共有ネットワーク層及び前記いずれかのサンプルキューに関連付けられたタスクに対応するターゲットサブネットワーク層を訓練して、前記いずれかのサンプルキューに関連付けられたタスクに対応するモデルパラメータ更新勾配を生成するための訓練モジュールと、
前記更新勾配に基づいて、パラメータサーバの前記共有ネットワーク層及び前記ターゲットサブネットワーク層のパラメータを更新するための更新モジュールと、
を備える、マルチタスクモデルのパラメータ更新装置。
【請求項8】
前記分類モジュールが、
前記各サンプルが属するタスクに基づいて、各サンプルに対応するタスクラベルを決定するための第1の決定ユニットと、
各サンプルに対応するタスクラベルに基づいて、各サンプルを前記タスクラベルに対応するサンプルキューに順番に入れるための分類ユニットと、
を備える請求項7に記載の装置。
【請求項9】
前記分類ユニットが、
いずれかのサンプルが複数のタスクラベルに対応する場合、前記複数のタスクラベルのうちの各タスクラベルに対応するサンプルキューが前記いずれかのサンプルを含むと決定するための第1の決定サブユニットを備える請求項8に記載の装置。
【請求項10】
前記更新モジュールが、
前記いずれかのサンプルキューに関連付けられたタスクラベルに基づいて、ターゲットパラメータサーバを決定するための第2の決定ユニットと、
前記ターゲットパラメータサーバが前記更新勾配に基づいて前記共有ネットワーク層及び前記ターゲットサブネットワーク層のパラメータを更新するように、前記生成されたモデルパラメータ更新勾配をターゲットパラメータサーバに送信するための送信ユニットと、を備える請求項7に記載の装置。
【請求項11】
前記更新モジュールが、
前記いずれかのサンプルキューに関連付けられたタスクの重みを決定するための第3の決定ユニットと、
前記重み及び前記更新勾配に基づいて、パラメータサーバの前記共有ネットワーク層及び前記ターゲットサブネットワーク層のパラメータを更新するための更新ユニットと、
を備える請求項7から10のいずれか一項に記載の装置。
【請求項12】
前記更新ユニットが、
前記更新勾配に基づいて、前記ターゲットサブネットワーク層のパラメータを更新するための第1の更新サブユニットと、
前記重み及び前記更新勾配に基づいて、前記共有ネットワーク層の更新勾配を決定するための第2の決定サブユニットと、
前記共有ネットワーク層の更新勾配に基づいて、前記共有ネットワーク層のパラメータを更新するための第2の更新サブユニットと、
を備える請求項11に記載の装置。
【請求項13】
少なくとも1つのプロセッサと、
該少なくとも1つのプロセッサに通信可能に接続されるメモリと、
を備え、
前記メモリには、前記少なくとも1つのプロセッサによって実行可能な命令が記憶され、前記命令が、前記少なくとも1つのプロセッサが請求項1から6のいずれか一項に記載の方法を実行できるように、前記少なくとも1つのプロセッサによって実行される電子機器。
【請求項14】
コンピュータ命令が記憶されている非一時的なコンピュータ読み取り可能な記憶媒体であって、
前記コンピュータ命令が、コンピュータに請求項1から6のいずれか一項に記載の方法を実行させる非一時的なコンピュータ読み取り可能な記憶媒体。
【請求項15】
コンピュータプログラムを含むコンピュータプログラム製品であって、
前記コンピュータプログラムがプロセッサによって実行される場合、請求項1から6のいずれか一項に記載の方法が実現されるコンピュータプログラム製品。
【請求項16】
プロセッサによって実行される場合、請求項1から6のいずれか一項に記載の方法が実現されるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、コンピュータ技術の分野に関し、特に、深層学習と人工知能技術の分野に関し、マルチタスクモデルのパラメータ更新方法、装置及び電子機器を提案する。
【背景技術】
【0002】
マルチタスク学習とは、複数のターゲット関数を最適化する訓練タスクを言い、学習を監督する一形態である。マルチタスク学習の最も主要な問題と難点は、複数のサブタスクの最適化学習のバランスを取るために、どのように複数のサブタスクの訓練データを処理するかということである。
【0003】
関連技術において、マルチタスクモデルの訓練は、分散訓練方式により実現され、すなわち、複数台の機械の共同訓練により、機械のデータ容量制限及び深層学習の性能要求を満たす。分散訓練の最も一般的なモードは、パラメータサーバモードである。クラスタ内のノードは、コンピューティングノードとパラメータサービスノードの2つのタイプに分けることができる。ここで、コンピューティングノードは、ローカルに割り当てられた訓練データ(ブロック)のコンピューティングと学習を担当し、対応するパラメータを更新し、パラメータサービスノードは、分散記憶方式を用いてそれぞれグローバルパラメータの一部を記憶し、サービス提供側としてコンピューティングノードのパラメータクエリと更新要求を受ける。
【発明の概要】
【0004】
本願は、マルチタスクモデルのパラメータ更新方法、装置、電子機器、記憶媒体及びコンピュータプログラム製品を提供する。
【0005】
本願の一態様によれば、マルチタスクモデルのパラメータ更新方法を提供し、当該方法は、複数のサンプル及び各サンプルが属するタスクを含む訓練サンプルセットを取得するステップと、前記各サンプルが属するタスクに基づいて、前記各サンプルを対応するサンプルキューに順番に入れるステップと、いずれかのサンプルキュー内のサンプル数が訓練データ要件に達した場合、前記いずれかのサンプルキュー内のサンプルを用いて、前記マルチタスクモデルの共有ネットワーク層及び前記いずれかのサンプルキューに関連付けられたタスクに対応するターゲットサブネットワーク層を訓練して、前記いずれかのサンプルキューに関連付けられたタスクに対応するモデルパラメータ更新勾配を生成するステップと、前記更新勾配に基づいて、パラメータサーバの前記共有ネットワーク層及び前記ターゲットサブネットワーク層のパラメータを更新するステップと、を含む。
【0006】
本願の別の態様によれば、マルチタスクモデルのパラメータ更新装置を提供し、複数のサンプル及び各サンプルが属するタスクを含む訓練サンプルセットを取得するための取得モジュールと、前記各サンプルが属するタスクに基づいて、前記各サンプルを対応するサンプルキューに順番に入れるための分類モジュールと、いずれかのサンプルキュー内のサンプル数が訓練データ要件に達した場合、前記いずれかのサンプルキュー内のサンプルを用いて、前記マルチタスクモデルの共有ネットワーク層及び前記いずれかのサンプルキューに関連付けられたタスクに対応するターゲットサブネットワーク層を訓練して、前記いずれかのサンプルキューに関連付けられたタスクに対応するモデルパラメータ更新勾配を生成するための訓練モジュールと、前記更新勾配に基づいて、パラメータサーバの前記共有ネットワーク層及び前記ターゲットサブネットワーク層のパラメータを更新するための更新モジュールと、を備える。
【0007】
本願のさらなる態様によれば、電子機器を提供し、当該電子機器は、少なくとも1つのプロセッサと、該少なくとも1つのプロセッサに通信可能に接続されるメモリと、を備え、前記メモリには、前記少なくとも1つのプロセッサによって実行可能な命令を記憶され、前記命令が、前記少なくとも1つのプロセッサが前述のマルチタスクモデルのパラメータ更新方法を実行できるように、前記少なくとも1つのプロセッサによって実行される。
【0008】
本願のさらなる態様によれば、コンピュータ命令が記憶されている非一時的なコンピュータ読み取り可能な記憶媒体を提供し、前記コンピュータ命令が、コンピュータに前述のマルチタスクモデルのパラメータ更新方法を実行させる。
【0009】
本願の又の態様によれば、コンピュータプログラムを含むコンピュータプログラム製品を提供し、前記コンピュータプログラムがプロセッサによって実行される場合、前述のマルチタスクモデルのパラメータ更新方法が実現される。
本願の又の態様によれば、コンピュータプログラムを提供し、前記コンピュータプログラムがプロセッサによって実行される場合、前述のマルチタスクモデルのパラメータ更新方法が実現される。
【発明の効果】
【0010】
本願の技術的解決手段によれば、マルチタスクモデルの分散訓練において、1つのタスクを1ラウンド訓練した後、マルチタスクモデルの全てのタスクのモデルパラメータを更新する必要があるため、マルチタスクモデルの精度と性能が低下するという関連技術の問題が解決される。訓練サンプルセット内の各サンプルが属するタスクに基づいて、各サンプルを対応するサンプルキューに順番に入れ、いずれかのサンプルキュー内のサンプル数が訓練データ要件に達した場合、当該サンプルキュー内のデータを用いて、マルチタスクモデルの共有ネットワーク層及び当該サンプルキューに関連付けられたタスクに対応するターゲットサブネットワーク層を訓練して、当該サンプルキューに関連付けられたタスクに対応するモデルパラメータ更新勾配を生成し、さらに更新勾配に基づいて、パラメータサーバの共有ネットワーク層及びターゲットサブネットワーク層のパラメータを更新する。それにより、マルチタスクモデルのあるタスクに対応するサンプル数がバッチデータ要件に達した場合、他のタスクに対応するサブネットワーク層のパラメータを更新する必要がなく、当該タスクに対応するサンプルのみを用いてマルチタスクモデルの共有ネットワーク層及び当該タスクに対応するサブネットワーク層を訓練することにより、マルチタスクモデルを分散訓練するときのローカルパラメータの更新を実現し、マルチタスクモデルの精度を向上させる。
【0011】
なお、この部分に記載されている内容は、本願の実施例の肝心なまたは重要な特徴を特定することを意図しておらず、本願の範囲を限定するものでもない。本願の他の特徴は、以下の説明を通じて容易に理解される。
【図面の簡単な説明】
【0012】
図面は、本技術案をよりよく理解するために使用され、本願を限定するものではない。
図1】本願の実施例にて提供されるマルチタスクモデルのパラメータ更新方法の概略フローチャートである。
図2】本願の実施例にて提供される別のマルチタスクモデルのパラメータ更新方法の概略フローチャートである。
図3】本願の実施例にて提供されるさらなるマルチタスクモデルのパラメータ更新方法の概略フローチャートである。
図4】本願の実施例にて提供されるマルチタスクモデルのパラメータ更新装置の概略構造図である。
図5】本願の実施例のマルチタスクモデルのパラメータ更新方法を実現するための電子機器のブロック図である。
【発明を実施するための形態】
【0013】
以下、図面と組み合わせて本願の例示的な実施例を説明し、理解を容易にするためにその中には本願の実施例の様々な詳細事項が含まれており、それらは単なる例示的なものと見なされるべきである。したがって、当業者は、本願の範囲及び精神から逸脱することなく、ここで説明される実施例に対して様々な変更と修正を行うことができる。同様に、わかりやすくかつ簡潔にするために、以下の説明では、周知の機能及び構造の説明を省略する。
【0014】
以下、本願の解決手段に係る技術分野について簡単に説明する。
【0015】
人工知能は、コンピュータに、人間のある思考過程や知能的行動(例えば、学習、推論、思考、計画など)を模擬させることを研究する学科であり、ハードウェアレベルの技術とソフトウェアレベルの技術の両方がある。人工知能ハードウェア技術には、一般的に、コンピュータビジョン技術、音声認識技術、自然言語処理技術、及び機械学習/深層学習、ビッグデータ処理技術、知識グラフ技術などのいくつかの主要な方向がある。
【0016】
深層学習は、機械学習の分野における新たな研究の方向であり、最初のターゲット(人工知能)に近づくように機械学習に導入される。深層学習は、サンプルデータの固有規則や表現階層を学習し、これらの学習過程で得られる情報は、文字、画像、音声などのデータの解釈に大きく寄与する。深層学習の究極的な目的は、機械が人間のように分析学習能力を有することができ、文字、画像、音声などのデータを認識することができることである。深層学習は、検索技術、データマイニング、機械学習、機械翻訳、自然言語処理、マルチメディア学習、音声、推奨、パーソナライズ技術、及び他の関連分野において多くの成果を取得した。
【0017】
本願の実施例は、マルチタスクモデルの分散訓練において、1つのタスクを1ラウンド訓練した後、マルチタスクモデルの全てのタスクのモデルパラメータを更新する必要があるため、マルチタスクモデルの精度と性能が低下するという関連技術の問題に対して、マルチタスクモデルのパラメータ更新方法を提案する。
【0018】
以下、図面を参照しながら、本願にて提供されるマルチタスクモデルのパラメータ更新方法、装置、電子機器、記憶媒体及びコンピュータプログラム製品について詳細に説明する。
【0019】
図1は、本願の実施例にて提供されるマルチタスクモデルのパラメータ更新方法の概略フローチャートである。
【0020】
図1に示すように、当該マルチタスクモデルのパラメータ更新方法は、ステップ101~104を含む。
【0021】
ステップ101では、複数のサンプル及び各サンプルが属するタスクを含む訓練サンプルセットを取得する。
【0022】
なお、本願の実施例のマルチタスクモデルのパラメータ更新方法は、本願の実施例のマルチタスクモデルのパラメータ更新装置によって実行されてもよく、本願の実施例のマルチタスクモデルのパラメータ更新装置は、本願の実施例のマルチタスクモデルのパラメータ更新方法を実行するように、任意の電子機器に配置されてもよい。
【0023】
本願の実施例において、本願の実施例のマルチタスクモデル訓練方法は、複数の機能を同時に実現する必要のある任意のモデル訓練シナリオに適用することができ、例えば、情報フロー推奨、広告推奨、検索推奨などの応用シナリオに適用することができる。
【0024】
一例として、本願の実施例のマルチタスクモデル訓練方法は、複数のサブタスクを有する広告推奨モデルを訓練するように、広告推奨シナリオに適用されて得る。例えば、広告推奨モデルは、広告のクリック率及びコンバージョン率を予測することができ、すなわち、広告推奨モデルは、広告のクリック率及びコンバージョン率という2つのサブタスクを含む。
【0025】
ここで、訓練サンプルセットは、マルチタスクモデルの実際の応用シナリオにおける履歴使用データに基づいて生成されるものであってもよい。
【0026】
なお、教師あり訓練シナリオにおいて、各サンプルは、訓練データ及び訓練データに対するラベルデータを含んでもよく、教師なし訓練シナリオにおいて、各サンプルは、訓練データのみを含んでもよい。
【0027】
例えば、本願の実施例のマルチタスクモデルのパラメータ更新方法が広告推奨シナリオに適用される場合、すなわち、マルチタスクモデルは、広告推奨モデルであり得、広告推奨モデルは、広告推奨機能を有する応用シナリオに適用されることができ、それにより、広告推奨モデルが適用されるアプリケーションプログラムの履歴使用データから訓練サンプルセットを取得することができる。例えば、教師なし訓練シナリオにおいて、アプリケーションプログラムにおける1つの広告の広告タイプ、時間長、ラベルなどの特徴データを1つのサンプルとしてもよく、教師あり訓練シナリオにおいて、アプリケーションプログラムにおける1つの広告の広告タイプ、時間長、ラベルなどの特徴データを1つの訓練データとし、当該広告に対するユーザのクリック率、視聴時間、「いいね」数、リポスト数、シェア数、コンバージョン率などのユーザ操作データを、当該訓練データに対応するラベルデータとし、さらに、当該訓練データ及び当該訓練データに対応するラベルデータを1つのサンプルとしてもよい。さらに、上記の方式でアプリケーションプログラムにおける大量の広告の履歴使用データに基づいて、大量の訓練サンプルを含む訓練サンプルセットを生成する。
【0028】
本願の実施例において、訓練サンプルセットを取得するときに、各サンプルがマルチタスクモデルのどのタスクの訓練に使用されるかをラベリングすることもでき、すなわち、訓練サンプルセットには、各サンプルが属するタスクがさらに含まれていてもよい。
【0029】
ステップ102では、各サンプルが属するタスクに基づいて、各サンプルを対応するサンプルキューに順番に入れる。
【0030】
本願の実施例において、マルチタスクモデルの複数のタスクに対する訓練ターゲットが異なるため、各タスクの訓練に使用されるサンプルも異なってもよく、それにより、訓練サンプルセット内の各サンプルが属するタスクに基づいて訓練サンプルセットを分類して、同一のタスクに属するサンプルを同一のサンプルキューに入れることができる。それにより、1つのサンプルキュー内のサンプルを用いてマルチタスクモデルの1つのタスクを個別に訓練することができる。
【0031】
可能な一実施形態として、マルチタスクモデルの訓練中に、訓練サンプルセットをリアルタイムで取得し、1つのサンプルが取得される度に、当該サンプルが属するタスクに基づいて、対応するサンプルキューに入れることもできる。
【0032】
ステップ103では、いずれかのサンプルキュー内のサンプル数が訓練データ要件に達した場合、いずれかのサンプルキュー内のサンプルを用いて、マルチタスクモデルの共有ネットワーク層、及びいずれかのサンプルキューに関連付けられたタスクに対応するターゲットサブネットワーク層を訓練して、いずれかのサンプルキューに関連付けられたタスクに対応するモデルパラメータ更新勾配を生成する。
【0033】
ここで、共有ネットワーク層とは、マルチタスクモデルのいずれのタスクも使用する必要のあるネットワーク層である。サブネットワーク層とは、マルチタスクモデルにおける、いずれかのタスクが個別に使用するネットワーク層である。ターゲットサブネットワーク層とは、現在訓練する必要があるタスクが個別に使用するサブネットワーク層である。
【0034】
本願の実施例において、サンプルキュー内のサンプル数が一定の数に達した場合こそ、タスクに対する訓練効果を保証できるため、バッチデータの数(すなわち、訓練データ要件)を予め設定してもよい。それにより、訓練データセット内のサンプルを対応するサンプルキューに入れる過程に、各サンプルキュー内のサンプル数をリアルタイムで決定し、いずれかのサンプルキュー内のサンプル数が予め設定されたバッチデータの数に達した場合、当該サンプルキュー内の各サンプルをマルチタスクモデルに順番に入力して、当該サンプルキュー内のサンプルを用いてマルチタスクモデルの共有ネットワーク層を訓練し、当該サンプルキューに関連付けられたタスクに対応するターゲットサブネットワーク層を訓練して、当該サンプルキューに関連付けられたタスクに対応するモデルパラメータ更新勾配を決定することができる。
【0035】
ステップ104では、更新勾配に基づいて、パラメータサーバの共有ネットワーク層及びターゲットサブネットワーク層のパラメータを更新する。
【0036】
ここで、パラメータサーバとは、マルチタスクモデルのモデルパラメータを記憶するためのサーバであり、コンピューティングノードのパラメータクエリと更新要求を受信して、記憶されているモデルパラメータを更新することができる。
【0037】
本願の実施例では、タスクに関連付けられたサンプルキュー内のサンプルを用いてマルチタスクモデルの当該タスクを1ラウンド訓練した後、生成されたモデルパラメータ更新勾配をパラメータサーバに送信することにより、パラメータサーバは、生成されたモデルパラメータ更新勾配に含まれている、ターゲットサブネットワーク層に対する更新勾配に基づいて、ターゲットサブネットワーク層のモデルパラメータを更新し、生成されたモデルパラメータ更新勾配に含まれている、共有ネットワーク層に対する更新勾配に基づいて、共有ネットワーク層のモデルパラメータを更新することができる。
【0038】
本願の実施例の技術的解決手段によれば、訓練サンプルセット内の各サンプルが属するタスクに基づいて、各サンプルを対応するサンプルキューに順番に入れ、いずれかのサンプルキュー内のサンプル数が訓練データ要件に達した場合、当該サンプルキュー内のデータを用いて、マルチタスクモデルの共有ネットワーク層及び当該サンプルキューに関連付けられたタスクに対応するターゲットサブネットワーク層を訓練して、当該サンプルキューに関連付けられたタスクに対応するモデルパラメータ更新勾配を生成し、さらに更新勾配に基づいて、パラメータサーバの共有ネットワーク層及びターゲットサブネットワーク層のパラメータを更新する。それにより、マルチタスクモデルのあるタスクに対応するサンプル数がバッチデータ要件に達した場合、他のタスクに対応するサブネットワーク層のパラメータを更新する必要がなく、当該タスクに対応するサンプルのみを用いてマルチタスクモデルの共有ネットワーク層及び当該タスクに対応するサブネットワーク層を訓練することにより、マルチタスクモデルを分散訓練するときのローカルパラメータの更新を実現し、マルチタスクモデルの精度を向上させる。
【0039】
本願の可能な一実施形態において、各サンプルが属するタスクをラベリング技術でラベリングして、訓練サンプルセットの分類を実現し、マルチタスクモデルの訓練効果をさらに向上させることができる。
【0040】
以下、図2を参照しながら、本願の実施例にて提供されるマルチタスクモデルのパラメータ更新方法をさらに説明する。
【0041】
図2は、本願の実施例にて提供される別のマルチタスクモデルのパラメータ更新方法の概略フローチャートである。
【0042】
図2に示すように、当該マルチタスクモデルのパラメータ更新方法は、ステップ201~206を含む。
【0043】
ステップ201では、複数のサンプル及び各サンプルが属するタスクを含む訓練サンプルセットを取得する。
【0044】
上記ステップ201の具体的な実施プロセス及び原理は、上記実施例の詳細な説明を参照することができ、ここでは詳細な説明を省略する。
【0045】
ステップ202では、各サンプルが属するタスクに基づいて、各サンプルに対応するタスクラベルを決定する。
【0046】
可能な一実施形態として、各サンプルに属性フィールドを追加し、その後、各サンプルが属するタスクに基づいて各サンプルに対応するタスクラベルを決定し、さらに、各サンプルに対応するタスクラベルに基づいて各サンプルの属性フィールドの値を決定し、属性フィールドの値でサンプルのタスクラベルを示すことができる。
【0047】
例えば、マルチタスクモデルは、広告推奨モデルであり、広告推奨モデルには、広告のクリック率を予測するタスク1、及び広告のコンバージョン率を予測するタスク2という2つのタスクが含まれる。サンプル1が属するタスクがタスク1であれば、サンプル1に対応するタスクラベルを1と決定し、サンプル1の属性フィールドの値を[1]と決定することができ、サンプル2が属するタスクがタスク2であれば、サンプル2に対応するタスクラベルを2と決定し、サンプル2の属性フィールドの値を[2]と決定することができ、サンプル3が属するタスクがタスク1とタスク2であれば、サンプル3に対応するタスクラベルを1と2と決定し、サンプル3の属性フィールドの値を[1,2]と決定することができ、訓練サンプルセット内の全てのサンプルのタスクラベルを決定するまで、順番に類推する。
【0048】
ステップ203では、各サンプルに対応するタスクラベルに基づいて、各サンプルをタスクラベルに対応するサンプルキューに順番に入れる。
【0049】
本願の実施例において、各サンプルに対応するタスクラベルが決定された後、同じタスクラベルを有するサンプルを同一のサンプルキューに分割することができる。
【0050】
一例として、サンプルに対応するタスクラベルは1つまたは複数であってもよく、それにより、サンプルに対応するタスクラベルの数に基づいて訓練サンプルセットを分割して、各サンプルに対応するサンプルキューを決定することができる。
【0051】
ケース1
いずれかのサンプルが1つのタスクラベルに対応する場合、当該タスクラベルに対応するサンプルキューがいずれかのサンプルを含むと決定する。例えば、サンプル1に対応するタスクラベルが1であれば、サンプル1をタスクラベル1に対応するサンプルキューに入れることができ、ここで、タスクラベル1に対応するサンプルキューには、タスク1の訓練に使用できる全てのサンプルが含まれる。
【0052】
ケース2
いずれかのサンプルが複数のタスクラベルに対応する場合、複数のタスクラベルのうちの各タスクラベルに対応するサンプルキューがいずれかのサンプルを含むと決定する。
【0053】
例を挙げると、サンプル2に対応するタスクラベルが1と2であれば、サンプル2をタスクラベル1に対応するサンプルキューに入れるだけでなく、タスクラベル2に対応するサンプルキューにも入れることにより、サンプル2は、タスク1の訓練に使用されるだけでなく、タスク2の訓練にも使用され得る。
【0054】
ステップ204では、いずれかのサンプルキュー内のサンプル数が訓練データ要件に達した場合、いずれかのサンプルキュー内のサンプルを用いて、マルチタスクモデルの共有ネットワーク層、及びいずれかのサンプルキューに関連付けられたタスクに対応するターゲットサブネットワーク層を訓練して、いずれかのサンプルキューに関連付けられたタスクに対応するモデルパラメータ更新勾配を生成する。
【0055】
上記ステップ204の具体的な実施プロセス及び原理は、上記実施例の詳細な説明を参照することができ、ここでは詳細な説明を省略する。
【0056】
ステップ205では、いずれかのサンプルキューに関連付けられたタスクラベルに基づいて、ターゲットパラメータサーバを決定する。
【0057】
本願の実施例において、マルチタスクモデルのローカルパラメータの更新を容易にするため、異なるパラメータサーバを用いて異なるタスクに対応するモデルパラメータを記憶することができる。従って、各パラメータサーバに記憶されているモデルパラメータに関連付けられたタスクに基づいて、各パラメータサーバに対応するタスクラベルを決定することで、タスクラベルとパラメータサーバとの対応関係を確立して、各パラメータサーバに記憶されているモデルパラメータが属するタスクを示すことができる。それにより、サンプルキュー内のサンプルを用いてマルチタスクモデルのいずれかのタスクを1ラウンド訓練してモデルパラメータ更新勾配を生成した後、サンプルキューに対応するタスクラベル、及びタスクラベルとパラメータサーバとの対応関係に基づいて、当該タスクラベルに対応するターゲットパラメータサーバを決定することができる。
【0058】
ステップ206では、ターゲットパラメータサーバが更新勾配に基づいて共有ネットワーク層及びターゲットサブネットワーク層のパラメータを更新するように、生成されたモデルパラメータ更新勾配をターゲットパラメータサーバに送信する。
【0059】
本願の実施例において、現在の訓練を記憶するタスクに対応するターゲットパラメータサーバが決定された後、ターゲットパラメータサーバが、共有ネットワーク層に対する更新勾配に基づいて、記憶されている共有ネットワーク層のモデルパラメータを更新し、ターゲットサブネットワーク層に対する更新勾配に基づいて、記憶されているターゲットサブネットワーク層のモデルパラメータを更新するように、当該タスクに対応するモデルパラメータ更新勾配をターゲットパラメータサーバに送信することができる。
【0060】
本願の実施例の技術的解決手段によれば、訓練サンプルセット内の各サンプルが属するタスクに基づいて、各サンプルに対応するタスクラベルを決定し、各サンプルに対応するタスクラベルに基づいて、各サンプルをタスクラベルに対応するサンプルキューに順番に入れ、その後、いずれかのサンプルキュー内のサンプル数が訓練データ要件に達した場合、当該サンプルキュー内のデータを用いて、マルチタスクモデルの共有ネットワーク層及び当該サンプルキューに関連付けられたタスクに対応するターゲットサブネットワーク層を訓練して、当該サンプルキューに関連付けられたタスクに対応するモデルパラメータ更新勾配を生成し、さらに、いずれかのサンプルキューに関連付けられたタスクラベルに基づいて、ターゲットパラメータサーバを決定し、ターゲットパラメータサーバが更新勾配に基づいて共有ネットワーク層及びターゲットサブネットワーク層のパラメータを更新するように、生成されたモデルパラメータ更新勾配をターゲットパラメータサーバに送信する。それにより、訓練サンプルセットを容易に分類するように、各サンプルが属するタスクをラベリング技術でラベリングし、そして、異なるパラメータサーバで異なるタスクに対応するモデルパラメータを記憶し、さらに、マルチタスクモデルのあるタスクに対応するサンプル数がバッチデータ要件に達した場合、他のタスクに対応するサブネットワーク層のパラメータを更新する必要がなく、当該タスクに対応するサンプルのみを用いてマルチタスクモデルの共有ネットワーク層及び当該タスクに対応するサブネットワーク層を訓練することにより、マルチタスクモデルを分散訓練するときのローカルパラメータの更新を実現し、マルチタスクモデルの精度を向上させるだけでなく、ローカルパラメータの更新の利便性をさらに向上させる。
【0061】
本願の可能な一実施形態において、マルチタスクモデルの各タスクの重みに基づいて、各タスクによる共有ネットワーク層のモデルパラメータの更新幅を制約して、マルチタスクのタスクバイアスを低減し、マルチタスクモデルの精度をさらに向上させることもできる。
【0062】
以下、図3を参照しながら、本願の実施例にて提供されるマルチタスクモデルのパラメータ更新方法をさらに説明する。
【0063】
図3は、本願の実施例にて提供されるさらなるマルチタスクモデルのパラメータ更新方法の概略フローチャートである。
【0064】
図3に示すように、当該マルチタスクモデルのパラメータ更新方法は、ステップ301~305を含む。
【0065】
ステップ301では、複数のサンプル及び各サンプルが属するタスクを含む訓練サンプルセットを取得する。
【0066】
ステップ302では、各サンプルが属するタスクに基づいて、各サンプルを対応するサンプルキューに順番に入れる。
【0067】
ステップ303では、いずれかのサンプルキュー内のサンプル数が訓練データ要件に達した場合、いずれかのサンプルキュー内のサンプルを用いて、マルチタスクモデルの共有ネットワーク層、及びいずれかのサンプルキューに関連付けられたタスクに対応するターゲットサブネットワーク層を訓練して、いずれかのサンプルキューに関連付けられたタスクに対応するモデルパラメータ更新勾配を生成する。
【0068】
上記ステップ301~303の具体的な実施プロセス及び原理は、上記実施例の詳細な説明を参照することができ、ここでは詳細な説明を省略する。
【0069】
ステップ304では、いずれかのサンプルキューに関連付けられたタスクの重みを決定する。
【0070】
本願の実施例において、タスクを訓練する回数が多いほど、当該タスクに対応するサンプルのマルチタスクモデルに対する最適化効果が高くなるため、タスクを訓練する回数、すなわちタスクに関連付けられたサンプルキュー内のサンプル数が訓練データ要件に達した回数に基づいて、各タスクの重みを決定することができる。
【0071】
可能な一実施形態として、サンプルキュー内のサンプルを用いてマルチタスクモデルの共有ネットワーク層を訓練し、当該サンプルキューに関連付けられたタスクに対応するターゲットサブネットワーク層を訓練し、当該タスクに対応するモデルパラメータ更新勾配を生成した後、当該タスクに関連付けられたサンプルキュー内のサンプル数が訓練データ要件に達した回数を決定し、当該回数を当該タスクの重みとして決定することができる。
【0072】
例えば、タスク1に関連付けられたサンプルキュー内のサンプル数が訓練データ要件に達したのが1回目である場合、タスク1の重みを1と決定することができ、タスク1に関連付けられたサンプルキュー内のサンプル数が訓練データ要件に達したのが2回目である場合、タスク1の重みを2と決定することができる。
【0073】
ステップ305では、重み及び更新勾配に基づいて、パラメータサーバの共有ネットワーク層及びターゲットサブネットワーク層のパラメータを更新する。
【0074】
本願の実施例において、現在訓練されているタスクの重みが決定された後、当該タスクの重み及び生成された当該タスクに対応するモデルパラメータ更新勾配に基づいて、パラメータサーバの共有ネットワーク層のモデルパラメータを更新し、タスクに対応するターゲットサブネットワーク層のモデルパラメータを更新することができる。
【0075】
可能な一実施形態として、マルチタスクモデルの共有ネットワーク層により、全てのタスクに対応するサンプルキュー内のサンプルを処理することができ、マルチタスクモデルの全てのタスクの性能に影響を与えることができ、各タスクに対応するサブネットワーク層が、マルチタスクモデルにおける他のタスクのサンプル及び性能のいずれとも関係なく、当該タスクに対応するサンプルキュー内のサンプルのみを処理するため、共有ネットワーク層のパラメータを更新する場合にのみタスクの重みを導入してもよく、すなわち、本願の実施例の可能な一実施形態において、上記ステップ305は、更新勾配に基づいて、ターゲットサブネットワーク層のパラメータを更新するステップと、重み及び更新勾配に基づいて、共有ネットワーク層の更新勾配を決定するステップと、共有ネットワーク層の更新勾配に基づいて、共有ネットワーク層のパラメータを更新するステップと、を含んでもよい。
【0076】
本願の実施例において、各タスクに対応するサブネットワーク層が、マルチタスクモデルにおける他のタスクのサンプル及び性能のいずれとも関係なく、当該タスクに対応するサンプルキュー内のサンプルのみを処理するため、サンプルキューによって生成されたモデルパラメータ更新勾配に基づいて、ターゲットサブネットワーク層のパラメータの更新プロセスが、他のタスクに対応するサンプルに依存せず、該当のタスクに対応するサンプルキューのみに関連するように、該当のタスクに対応するサブネットワーク層のパラメータを直接更新することができ、これによってマルチタスクモデルの訓練のタスクバイアスを低減し、各タスクの訓練精度を向上させる。
【0077】
本願の実施例において、マルチタスクモデルの共有ネットワーク層により、全てのタスクに対応するサンプルキュー内のサンプルを処理することができ、マルチタスクモデルの全てのタスクの性能に影響を与えることができるため、共有ネットワーク層が各タスクにおいてより良好な処理性能を有するように、各タスクに対応するサンプルキューによって生成されたモデルパラメータ更新勾配に基づいて、マルチタスクモデルの共有ネットワーク層のモデルパラメータを共同で更新することができる。
【0078】
本願の実施例の可能な一実施形態において、タスクの重みが、マルチタスクモデルの訓練中にモデルパラメータの更新を行うときの、当該タスクに対応するサンプルキューによって生成された勾配の重要度を反映することができるため、モデルパラメータの更新勾配及び各タスクの重みに基づいて、共有ネットワーク層の更新勾配を決定し、共有ネットワーク層の更新勾配に基づいて共有ネットワーク層のモデルパラメータを更新するとき、タスクの重みで共有ネットワーク層に対する各タスクのサンプルキューの最適化効果のバランスを取ることにより、各タスクが共有ネットワーク層によって処理される際にいずれも高い精度を有することができることを保証する。
【0079】
選択的に、パラメータサーバが共有ネットワーク層の更新勾配に基づいて共有ネットワーク層のパラメータを更新するように、タスクのモデルパラメータに対する更新勾配とタスクの重みとの積を、共有ネットワーク層の更新勾配として決定し、共有ネットワーク層の更新勾配をパラメータサーバに送信することができる。
【0080】
本願の実施例の技術的解決手段によれば、訓練サンプルセット内の各サンプルが属するタスクに基づいて、各サンプルを対応するサンプルキューに順番に入れ、いずれかのサンプルキュー内のサンプル数が訓練データ要件に達した場合、当該サンプルキュー内のデータを用いて、マルチタスクモデルの共有ネットワーク層及び当該サンプルキューに関連付けられたタスクに対応するターゲットサブネットワーク層を訓練して、当該サンプルキューに関連付けられたタスクに対応するモデルパラメータ更新勾配を生成し、さらに、タスクの重み及び更新勾配に基づいて、パラメータサーバの共有ネットワーク層及びターゲットサブネットワーク層のパラメータを更新する。それにより、マルチタスクモデルのあるタスクに対応するサンプル数がバッチデータ要件に達した場合、他のタスクに対応するサブネットワーク層のパラメータを更新する必要がなく、当該タスクに対応するサンプルのみを用いてマルチタスクモデルの共有ネットワーク層及び当該タスクに対応するサブネットワーク層を訓練し、マルチタスクモデルの各タスクの重みに基づいて、各タスクによる共有ネットワーク層のモデルパラメータの更新幅を制約することにより、マルチタスクモデルを分散訓練するときのローカルパラメータの更新を実現するだけでなく、マルチタスクのタスクバイアスも低減し、マルチタスクモデルの精度をさらに向上させる。
【0081】
上記の実施例を実現するために、本願はマルチタスクモデルのパラメータ更新装置をさらに提供する。
【0082】
図4は、本願の実施例にて提供されるマルチタスクモデルのパラメータ更新装置の概略構造図である。
【0083】
図4に示すように、当該マルチタスクモデルのパラメータ更新装置40は、複数のサンプル及び各サンプルが属するタスクを含む訓練サンプルセットを取得するための取得モジュール41と、各サンプルが属するタスクに基づいて、各サンプルを対応するサンプルキューに順番に入れるための分類モジュール42と、いずれかのサンプルキュー内のサンプル数が訓練データ要件に達した場合、いずれかのサンプルキュー内のサンプルを用いて、マルチタスクモデルの共有ネットワーク層、及びいずれかのサンプルキューに関連付けられたタスクに対応するターゲットサブネットワーク層を訓練して、いずれかのサンプルキューに関連付けられたタスクに対応するモデルパラメータ更新勾配を生成するための訓練モジュール43と、更新勾配に基づいて、パラメータサーバの共有ネットワーク層及びターゲットサブネットワーク層のパラメータを更新するための更新モジュール44と、を備える。
【0084】
実際の使用ときに、本願の実施例にて提供されるマルチタスクモデルのパラメータ更新装置は、前述のマルチタスクモデルのパラメータ更新方法を実行するように、任意の電子機器に配置されてもよい。
【0085】
本願の実施例の技術的解決手段によれば、訓練サンプルセット内の各サンプルが属するタスクに基づいて、各サンプルを対応するサンプルキューに順番に入れ、いずれかのサンプルキュー内のサンプル数が訓練データ要件に達した場合、当該サンプルキュー内のデータを用いて、マルチタスクモデルの共有ネットワーク層及び当該サンプルキューに関連付けられたタスクに対応するターゲットサブネットワーク層を訓練して、当該サンプルキューに関連付けられたタスクに対応するモデルパラメータ更新勾配を生成し、さらに更新勾配に基づいて、パラメータサーバの共有ネットワーク層及びターゲットサブネットワーク層のパラメータを更新する。それにより、マルチタスクモデルのあるタスクに対応するサンプル数がバッチデータ要件に達した場合、他のタスクに対応するサブネットワーク層のパラメータを更新する必要がなく、当該タスクに対応するサンプルのみを用いてマルチタスクモデルの共有ネットワーク層及び当該タスクに対応するサブネットワーク層を訓練することにより、マルチタスクモデルを分散訓練するときのローカルパラメータの更新を実現し、マルチタスクモデルの精度を向上させる。
【0086】
本願の可能な一実施形態において、上記分類モジュール42は、各サンプルが属するタスクに基づいて、各サンプルに対応するタスクラベルを決定するための第1の決定ユニットと、各サンプルに対応するタスクラベルに基づいて、各サンプルをタスクラベルに対応するサンプルキューに順番に入れるための分類ユニットと、を備える。
【0087】
さらに、本願の別の可能な実施形態において、上記分類ユニットは、いずれかのサンプルが複数のタスクラベルに対応する場合、複数のタスクラベルのうちの各タスクラベルに対応するサンプルキューがいずれかのサンプルを含むと決定するための第1の決定サブユニットを備える。
【0088】
さらに、本願のさらなる別の可能な実施形態において、上記更新モジュール44は、いずれかのサンプルキューに関連付けられたタスクラベルに基づいて、ターゲットパラメータサーバを決定するための第2の決定ユニットと、ターゲットパラメータサーバが更新勾配に基づいて共有ネットワーク層及びターゲットサブネットワーク層のパラメータを更新するように、生成されたモデルパラメータ更新勾配をターゲットパラメータサーバに送信するための送信ユニットと、を備える。
【0089】
さらに、本願のさらなる別の可能な実施形態において、上記更新モジュール44は、いずれかのサンプルキューに関連付けられたタスクの重みを決定するための第3の決定ユニットと、重み及び更新勾配に基づいて、パラメータサーバの共有ネットワーク層及びターゲットサブネットワーク層のパラメータを更新するための更新ユニットと、を備える。
【0090】
さらに、本願のさらなる別の可能な実施形態において、上記更新ユニットは、更新勾配に基づいて、ターゲットサブネットワーク層のパラメータを更新するための第1の更新サブユニットと、重み及び更新勾配に基づいて、共有ネットワーク層の更新勾配を決定するための第2の決定サブユニットと、共有ネットワーク層の更新勾配に基づいて、共有ネットワーク層のパラメータを更新するための第2の更新サブユニットと、を備える。
【0091】
なお、図1図2、及び図3に示すマルチタスクモデルのパラメータ更新方法の実施例に対する前記の解釈と説明は、当該実施例のマルチタスクモデルのパラメータ更新装置40にも適用でき、ここでは詳細な説明を省略する。
【0092】
本願の実施例の技術的解決手段によれば、訓練サンプルセット内の各サンプルが属するタスクに基づいて、各サンプルに対応するタスクラベルを決定し、各サンプルに対応するタスクラベルに基づいて、各サンプルをタスクラベルに対応するサンプルキューに順番に入れ、その後、いずれかのサンプルキュー内のサンプル数が訓練データ要件に達した場合、当該サンプルキュー内のデータを用いて、マルチタスクモデルの共有ネットワーク層及び当該サンプルキューに関連付けられたタスクに対応するターゲットサブネットワーク層を訓練して、当該サンプルキューに関連付けられたタスクに対応するモデルパラメータ更新勾配を生成し、さらに、いずれかのサンプルキューに関連付けられたタスクラベルに基づいて、ターゲットパラメータサーバを決定し、ターゲットパラメータサーバが更新勾配に基づいて共有ネットワーク層及びターゲットサブネットワーク層のパラメータを更新するように、生成されたモデルパラメータ更新勾配をターゲットパラメータサーバに送信する。それにより、訓練サンプルセットを容易に分類するように、各サンプルが属するタスクをラベリング技術でラベリングし、そして、異なるパラメータサーバで異なるタスクに対応するモデルパラメータを記憶し、さらに、マルチタスクモデルのあるタスクに対応するサンプル数がバッチデータ要件に達した場合、他のタスクに対応するサブネットワーク層のパラメータを更新する必要がなく、当該タスクに対応するサンプルのみを用いてマルチタスクモデルの共有ネットワーク層及び当該タスクに対応するサブネットワーク層を訓練することにより、マルチタスクモデルを分散訓練するときのローカルパラメータの更新を実現し、マルチタスクモデルの精度を向上させるだけでなく、ローカルパラメータ更新の利便性をさらに向上させる。
【0093】
本願の実施例によれば、本願は、電子機器、読み取り可能な記憶媒体及びコンピュータプログラム製品をさらに提供する。
本願の実施例によれば、本願は、コンピュータプログラムを提供し、コンピュータプログラムがプロセッサによって実行される場合、本願によって提供されるマルチタスクモデルのパラメータ更新方法が実現される
【0094】
図5は、本願の実施例を実施するための例示的な電子機器500の模式的なブロック図を示す。電子機器は、ラップトップコンピュータ、デスクトップコンピュータ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、メインフレームコンピュータ、及び他の適切なコンピュータなどの様々な形態のデジタルコンピュータを表すことを目的とする。電子機器は、パーソナルデジタルプロセッサ、携帯電話、スマートフォン、ウェアラブルデバイス、他の類似するコンピューティングデバイスなどの様々な形態のモバイルデバイスを表すこともできる。本明細書で示されるコンポーネント、それらの接続と関係、及びそれらの機能は単なる例であり、本明細書の説明及び/又は要求される本願の実現を制限することを意図したものではない。
【0095】
図5に示すように、機器500は、読み取り専用メモリ(ROM)502に記憶されているコンピュータプログラム又は記憶ユニット508からランダムアクセスメモリ(RAM)503にロードされたコンピュータプログラムに従って、様々な適切な動作や処理を実行できる計算ユニット501を備える。RAM503には、機器500の操作に必要な様々なプログラム及びデータも記憶されてもよい。計算ユニット501、ROM502、及びRAM503は、バス504を介して互いに接続されている。入力/出力(I/O)インタフェース505もバス504に接続されている。
【0096】
機器500内の複数のコンポーネントは、I/Oインタフェース505に接続され、キーボード、マウスなどの入力ユニット506と、様々なタイプのディスプレイ、スピーカーなどの出力ユニット507と、磁気ディスク、光ディスクなどの記憶ユニット508と、ネットワークカード、モデム、無線通信トランシーバなどの通信ユニット509とを備える。通信ユニット509は、機器500が、インターネットなどのコンピュータネットワーク及び/又は様々な電気通信ネットワークを介して他の機器と情報/データを交換することを可能にする。
【0097】
計算ユニット501は、処理及びコンピューティング機能を備えた様々な汎用及び/又は専用処理コンポーネントであり得る。計算ユニット501の一部の例は、中央処理ユニット(CPU)、グラフィックス処理ユニット(GPU)、様々な特定用途向け人工知能(AI)コンピューティングチップ、機械学習モデルアルゴリズムを実行する様々な計算ユニット、及びデジタルシグナルプロセッサ(DSP)、及び任意の適切なプロセッサ、コントローラ、マイクロコンピュータなどを含むが、これらに限定されない。計算ユニット501は、上記の各方法及び処理、例えば、マルチタスクモデルのパラメータ更新方法を実行する。例えば、一部の実施例において、マルチタスクモデルのパラメータ更新方法は、記憶ユニット508などの機械読み取り可能な媒体に有形に含まれるコンピュータソフトウェアプログラムとして実装され得る。一部の実施例において、コンピュータプログラムの一部又は全部は、ROM502及び/又は通信ユニット509を介して機器500にロード及び/又はインストールされることができる。コンピュータプログラムがRAM503にロードされ、計算ユニット501によって実行される場合、上記のマルチタスクモデルのパラメータ更新方法の1つ又は複数のステップを実行することができる。選択的に、他の実施例において、計算ユニット501は、マルチタスクモデルのパラメータ更新方法を実行するように、他の任意の適切な方式(例えば、ファームウェアを介する)によって構成されてもよい。
【0098】
本明細書に説明した以上のシステム及び技術の様々な実施形態は、デジタル電子回路システム、集積回路システム、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、特定用途向け標準製品(ASSP)、システムオンチップ(SOC)、コンプレックスプログラマブルロジックデバイス(CPLD)、コンピュータハードウェア、ファームウェア、ソフトウェア、及び/又はそれらの組み合わせで実装され得る。これらの様々な実施形態は、1つ又は複数のコンピュータプログラムで実施されることを含み、ここで、当該1つ又は複数のコンピュータプログラムは、少なくとも1つのプログラマブルプロセッサを備えるプログラ可能なシステム上で実行及び/又は解釈されることができ、当該プログラマブルプロセッサは、特定用途向け又は汎用のプログラマブルプロセッサであってもよく、記憶システム、少なくとも1つの入力装置、及び少なくとも1つの出力装置からデータ及び命令を受信し、データ及び命令を当該記憶システム、当該少なくとも1つの入力装置、及び当該少なくとも1つの出力装置に送信することができる。
【0099】
本願の方法を実施するためのプログラムコードは、1つ又は複数のプログラミング言語の任意の組み合わせを用いて書くことができる。これらのプログラムコードが、汎用コンピュータ、特定用途向けコンピュータ、又はその他のプログラマブルデータ処理装置のプロセッサ又はコントローラに提供されることにより、プログラムコードがプロセッサ又はコントローラによって実行されると、フローチャート及び/又はブロック図に指定された機能/操作が実施されることができる。プログラムコードは、全部又は一部が機械上で実行されてもよく、独立したソフトウェアパッケージとして一部が機械上で実行され、一部がリモート機械で実行されるか、又は完全にリモート機械又はサーバで実行されてもよい。
【0100】
本願のコンテキストにおいて、機械読み取り可能な媒体は、命令実行システム、装置、又は機器によって使用されるか、又は命令実行システム、装置、又は機器と組み合わせて使用するプログラムを含むか又は記憶することが可能な有形媒体であってもよい。機械読み取り可能な媒体は、機械読み取り可能な信号媒体又は機械読み取り可能な記憶媒体であってもよい。機械読み取り可能な媒体は、電子、磁気、光学、電磁気、赤外線、又は半導体システム、装置又は機器、又は上記の内容の任意の適切な組み合わせを含み得るが、これらに限定されない。機械読み取り可能な記憶媒体のより具体的な例は、1つ又は複数のワイヤによる電気的接続、ポータブルコンピュータディスク、ハードディスク、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラマブル読み取り専用メモリ(EPROM又はフラッシュメモリ)、光ファイバ、ポータブルコンパクトディスク読み取り専用メモリ(CD-ROM)、光学記憶機器、磁気記憶機器、又は上記の内容のいずれかの適切な組み合わせを含み得る。
【0101】
ユーザとのインタラクションを提供するために、ここで説明されているシステム及び技術をコンピュータ上で実施することができ、当該コンピュータは、ユーザに情報を表示するためのディスプレイ装置(例えば、CRT(陰極線管)又はLCD(液晶ディスプレイ)モニタ)と、キーボード及びポインティングデバイス(例えば、マウス又はトラックボール)とを有し、ユーザは、当該キーボード及び当該ポインティングデバイスによって入力をコンピュータに提供することができる。他の種類の装置も、ユーザとのインタラクションを提供することができ、例えば、ユーザに提供されるフィードバックは、任意の形態のセンシングフィードバック(例えば、視覚フィードバック、聴覚フィードバック、又は触覚フィードバック)であってもよく、任意の形態(音響入力と、音声入力と、触覚入力とを含む)でユーザからの入力を受信することができる。
【0102】
ここで説明されるシステム及び技術は、バックエンドコンポーネントを備えるコンピューティングシステム(例えば、データサーバとする)、又はミドルウェアコンポーネントを備えるコンピューティングシステム(例えば、アプリケーションサーバ)、又はフロントエンドコンポーネントを備えるコンピューティングシステム(例えば、グラフィカルユーザインタフェース又はウェブブラウザを有するユーザコンピュータであり、ユーザは、当該グラフィカルユーザインタフェース又は当該ウェブブラウザによってここで説明されるシステム及び技術の実施形態とインタラクションする)、又はこのようなバックエンドコンポーネントと、ミドルウェアコンポーネントと、フロントエンドコンポーネントの任意の組み合わせを備えるコンピューティングシステムで実施することができる。任意の形態又は媒体のデジタルデータ通信(例えば、通信ネットワーク)によってシステムのコンポーネントを相互に接続することができる。通信ネットワークの例は、ローカルエリアネットワーク(LAN)と、ワイドエリアネットワーク(WAN)と、インターネットと、ブロックチェーンネットワークとを含む。
【0103】
コンピュータシステムは、クライアントとサーバとを備えることができる。クライアントとサーバは、一般に、互いに離れており、通常に通信ネットワークを介してインタラクションする。対応するコンピュータ上で実行され、かつ互いにクライアント-サーバの関係を有するコンピュータプログラムによって、クライアントとサーバとの関係が生成される。サーバは、クラウドコンピューティングサーバまたはクラウドホストとも呼ばれるクラウドサーバであってもよく、従来の物理ホスト及びVPS(Virtual Private Server,バーチャルプライベートサーバ)サービスは、管理が難しく、サービス拡張性が弱いという欠点を解決するための、クラウドコンピューティングサービスシステムにおけるホスト製品の1つである。
【0104】
本願の実施例の技術的解決手段によれば、訓練サンプルセット内の各サンプルが属するタスクに基づいて、各サンプルを対応するサンプルキューに順番に入れ、いずれかのサンプルキュー内のサンプル数が訓練データ要件に達した場合、当該サンプルキュー内のデータを用いて、マルチタスクモデルの共有ネットワーク層及び当該サンプルキューに関連付けられたタスクに対応するターゲットサブネットワーク層を訓練して、当該サンプルキューに関連付けられたタスクに対応するモデルパラメータ更新勾配を生成し、さらに更新勾配に基づいて、パラメータサーバの共有ネットワーク層及びターゲットサブネットワーク層のパラメータを更新する。それにより、マルチタスクモデルのあるタスクに対応するサンプル数がバッチデータ要件に達した場合、他のタスクに対応するサブネットワーク層のパラメータを更新する必要がなく、当該タスクに対応するサンプルのみを用いてマルチタスクモデルの共有ネットワーク層及び当該タスクに対応するサブネットワーク層を訓練することにより、マルチタスクモデルを分散訓練するときのローカルパラメータの更新を実現し、マルチタスクモデルの精度を向上させる。
【0105】
上記に示される様々な形態のフローを使用して、ステップを並べ替え、追加、又は削除することができる。例えば、本願に記載されている各ステップは、並列に実行されてもよいし、順次的に実行されてもよいし、異なる順序で実行されてもよいが、本願で開示されている技術案が所望の結果を実現することができれば、本明細書では限定しない。
【0106】
上記の具体的な実施方式は、本願の保護範囲を制限するものではない。当業者は、設計要件と他の要因に基づいて、様々な修正、組み合わせ、サブコンビネーション、及び代替を行うことができる。本願の精神と原則内で行われる任意の修正、同等の置換、及び改善などは、いずれも本願の保護範囲内に含まれるべきである。
図1
図2
図3
図4
図5