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

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

▶ 楽天株式会社の特許一覧

特許7598412マルチタスク学習用のオンライン知識蒸留システム、方法、デバイス、及びプログラム
<>
  • 特許-マルチタスク学習用のオンライン知識蒸留システム、方法、デバイス、及びプログラム 図1
  • 特許-マルチタスク学習用のオンライン知識蒸留システム、方法、デバイス、及びプログラム 図2
  • 特許-マルチタスク学習用のオンライン知識蒸留システム、方法、デバイス、及びプログラム 図3
  • 特許-マルチタスク学習用のオンライン知識蒸留システム、方法、デバイス、及びプログラム 図4
  • 特許-マルチタスク学習用のオンライン知識蒸留システム、方法、デバイス、及びプログラム 図5
  • 特許-マルチタスク学習用のオンライン知識蒸留システム、方法、デバイス、及びプログラム 図6
  • 特許-マルチタスク学習用のオンライン知識蒸留システム、方法、デバイス、及びプログラム 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-03
(45)【発行日】2024-12-11
(54)【発明の名称】マルチタスク学習用のオンライン知識蒸留システム、方法、デバイス、及びプログラム
(51)【国際特許分類】
   G06T 7/00 20170101AFI20241204BHJP
   G06N 3/0455 20230101ALI20241204BHJP
【FI】
G06T7/00 350C
G06N3/0455
【請求項の数】 18
【外国語出願】
(21)【出願番号】P 2023107210
(22)【出願日】2023-06-29
(65)【公開番号】P2024018996
(43)【公開日】2024-02-08
【審査請求日】2023-09-14
(31)【優先権主張番号】17/875,734
(32)【優先日】2022-07-28
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】399037405
【氏名又は名称】楽天グループ株式会社
(74)【代理人】
【識別番号】110000154
【氏名又は名称】弁理士法人はるか国際特許事務所
(72)【発明者】
【氏名】ジェイコブ ギス
(72)【発明者】
【氏名】アガーウォール ヴィシャール
(72)【発明者】
【氏名】シュテンガー ビヨン
【審査官】秦野 孝一郎
(56)【参考文献】
【文献】国際公開第2021/060899(WO,A1)
【文献】特表2022-550094(JP,A)
【文献】イマドキノ 基盤モデル 今後の潮流 超強力な汎用事前学習モデル,コンピュータビジョン最前線 Summer 2022,2022年06月10日
【文献】Sixiao Zheng, Jiachen Lu, Hengshuang Zhao, Xiatian Zhu, Zekun Luo, Yabiao Wang, Yanwei Fu, Jianfeng Feng, Tao Xiang, Philip H.S. Torr, Li Zhang,Rethinking Semantic Segmentation from a Sequence-to-Sequence Perspective with Transformers,arXiv,米国,arXiv,2021年07月25日,pp.1-12,https://arxiv.org/pdf/2012.15840
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
G06N 3/0455
(57)【特許請求の範囲】
【請求項1】
マルチタスクニューラルネットワークフレームワークを使用する画像処理の方法であって、前記方法は、1つ以上のプロセッサにより実行され、
入力画像を受け取ることと、
前記マルチタスクニューラルネットワークフレームワークを使用して、前記入力画像に基づいて、画像処理タスクを実行することと、
前記マルチタスクニューラルネットワークフレームワークの出力のアップサンプリングに基づいて、前記画像処理タスクの出力を生成することと、
を含み、
前記マルチタスクニューラルネットワークフレームワークは、適応型特徴蒸留関数を使用して訓練され、前記適応型特徴蒸留関数は、前記マルチタスクニューラルネットワークフレームワークの中間特徴と、複数のシングルタスクニューラルネットワークモデルの中間特徴との比較に基づ
前記適応型特徴蒸留関数を使用して前記マルチタスクニューラルネットワークフレームワークを訓練することは、
前記マルチタスクニューラルネットワークフレームワークに関連する第1の層における第1の中間特徴を決定することと、
前記複数のシングルタスクニューラルネットワークモデルのうち第1のシングルタスクニューラルネットワークモデルに関連する前記第1の層における第2の中間特徴を決定することと、
前記第1の中間特徴と前記第2の中間特徴との比較に基づいて、適応型特徴蒸留損失を決定することと、
前記適応型特徴蒸留損失に基づいて、前記マルチタスクニューラルネットワークフレームワークを訓練することと、
を含む、
方法。
【請求項2】
前記適応型特徴蒸留損失は、前記第1の中間特徴の特徴空間と、前記第2の中間特徴の特徴空間との整合性の度合いに更に基づいている、請求項に記載の方法。
【請求項3】
前記方法は、前記適応型特徴蒸留関数に基づいて、前記複数のシングルタスクニューラルネットワークモデルのうち前記第1のシングルタスクニューラルネットワークモデルを訓練することを禁止することを更に含む、請求項に記載の方法。
【請求項4】
前記マルチタスクニューラルネットワークフレームワークに関連する特徴空間が、前記適応型特徴蒸留関数に基づいて、前記複数のシングルタスクニューラルネットワークモデルのうち前記第1のシングルタスクニューラルネットワークモデルに関連する特徴空間と整合される、請求項に記載の方法。
【請求項5】
前記マルチタスクニューラルネットワークフレームワークに関連する特徴空間が、前記適応型特徴蒸留関数に基づいて、前記複数のシングルタスクニューラルネットワークモデルに関連する特徴空間と整合される、請求項に記載の方法。
【請求項6】
前記方法は、前記画像処理タスクを実行する前に、前記入力画像に基づいて、所定サイズの1つ以上のパッチを生成することを更に含む、請求項1に記載の方法。
【請求項7】
前記マルチタスクニューラルネットワークフレームワークは、共有トランスフォーマーバックボーンネットワーク及び複数のタスク固有ヘッドを含む、請求項1に記載の方法。
【請求項8】
前記画像処理タスクは、セマンティックセグメンテーション、深度推定、表面法線推定、画像分類、又は顔ランドマーク位置特定の1つを含む、請求項1に記載の方法。
【請求項9】
マルチタスクニューラルネットワークフレームワークを使用する画像処理の方法であって、前記方法は、1つ以上のプロセッサにより実行され、
入力画像を受け取ることと、
前記マルチタスクニューラルネットワークフレームワークを使用して、前記入力画像に基づいて、画像処理タスクを実行することと、
前記マルチタスクニューラルネットワークフレームワークの出力のアップサンプリングに基づいて、前記画像処理タスクの出力を生成することと、
を含み、
前記マルチタスクニューラルネットワークフレームワークは、適応型特徴蒸留関数を使用して訓練され、前記適応型特徴蒸留関数は、前記マルチタスクニューラルネットワークフレームワークの中間特徴と、複数のシングルタスクニューラルネットワークモデルの中間特徴との比較に基づき、
前記画像処理タスクは、前記入力画像のセマンティックセグメンテーションを含み、
前記方法は、
前記マルチタスクニューラルネットワークフレームワークの前記出力のアップサンプリング及び再形成に基づいて、前記画像処理タスクの前記出力として、前記入力画像と同じサイズの複数のクラスマップを生成すること、
を更に含む、方法。
【請求項10】
マルチタスクニューラルネットワークフレームワークを使用する画像処理の方法であって、前記方法は、1つ以上のプロセッサにより実行され、
入力画像を受け取ることと、
前記マルチタスクニューラルネットワークフレームワークを使用して、前記入力画像に基づいて、画像処理タスクを実行することと、
前記マルチタスクニューラルネットワークフレームワークの出力のアップサンプリングに基づいて、前記画像処理タスクの出力を生成することと、
を含み、
前記マルチタスクニューラルネットワークフレームワークは、適応型特徴蒸留関数を使用して訓練され、前記適応型特徴蒸留関数は、前記マルチタスクニューラルネットワークフレームワークの中間特徴と、複数のシングルタスクニューラルネットワークモデルの中間特徴との比較に基づき、
前記画像処理タスクは、深度予測又は表面法線予測の一方を含み、
前記方法は、
前記マルチタスクニューラルネットワークフレームワークの前記出力のアップサンプリング及び再形成に基づいて、前記画像処理タスクの前記出力として、前記入力画像と同じサイズの1つ以上の再構成済み画像を生成すること、
を更に含む、方法。
【請求項11】
マルチタスクニューラルネットワークフレームワークを使用する画像処理の装置であって、
プログラムコードを記憶するように構成された少なくとも1つのメモリと、
前記プログラムコードを読み取り、前記プログラムコードによる指示のとおりに動作するように構成された少なくとも1つのプロセッサと、
を含み、
前記プログラムコードは、
前記少なくとも1つのプロセッサに対して、入力画像を受け取らせるように構成された受け取りコードと
記少なくとも1つのプロセッサに対して、前記マルチタスクニューラルネットワークフレームワークを使用して、前記入力画像に基づいて、画像処理タスクを実行させるように構成された実行コードであって、前記マルチタスクニューラルネットワークフレームワークは、適応型特徴蒸留関数を使用して訓練され、前記適応型特徴蒸留関数は、前記マルチタスクニューラルネットワークフレームワークの中間特徴と、複数のシングルタスクニューラルネットワークモデルの中間特徴との比較に基づく、実行コードと、
前記少なくとも1つのプロセッサに対して、前記マルチタスクニューラルネットワークフレームワークの出力をアップサンプリングすることに基づいて、前記画像処理タスクの出力を生成させるように構成された生成コードと、
前記適応型特徴蒸留関数を使用して前記マルチタスクニューラルネットワークフレームワークを訓練する訓練コードと、
を含
前記訓練コードは、
前記少なくとも1つのプロセッサに対して、前記マルチタスクニューラルネットワークフレームワークに関連する第1の層における第1の中間特徴を決定させるように構成された第1の決定コードと、
前記少なくとも1つのプロセッサに対して、前記複数のシングルタスクニューラルネットワークモデルのうち第1のシングルタスクニューラルネットワークモデルに関連する前記第1の層における第2の中間特徴を決定させるように構成された第2の決定コードと、
前記少なくとも1つのプロセッサに対して、前記第1の中間特徴と前記第2の中間特徴との比較に基づいて、適応型特徴蒸留損失を決定させるように構成された第3の決定コードと、
前記少なくとも1つのプロセッサに対して、前記適応型特徴蒸留損失に基づいて、前記マルチタスクニューラルネットワークフレームワークを訓練させるように構成されたフレームワーク訓練コードと、
を含む、
装置。
【請求項12】
前記適応型特徴蒸留損失は、前記第1の中間特徴の特徴空間と、前記第2の中間特徴の特徴空間との整合性の度合いに更に基づく、請求項11に記載の装置。
【請求項13】
前記プログラムコードは、前記少なくとも1つのプロセッサに対して、前記適応型特徴蒸留関数に基づいて、前記複数のシングルタスクニューラルネットワークモデルのうち前記第1のシングルタスクニューラルネットワークモデルを訓練することを禁止させるように構成された禁止コードを更に含む、請求項11に記載の装置。
【請求項14】
前記プログラムコードは、前記少なくとも1つのプロセッサに対して、前記適応型特徴蒸留関数に基づいて、前記マルチタスクニューラルネットワークフレームワークに関連する特徴空間を、前記複数のシングルタスクニューラルネットワークモデルのうち前記第1のシングルタスクニューラルネットワークモデルに関連する特徴空間に整合させる整合コードを更に含む、請求項11に記載の装置。
【請求項15】
前記プログラムコードは、前記少なくとも1つのプロセッサに対して、前記適応型特徴蒸留関数に基づいて、前記マルチタスクニューラルネットワークフレームワークに関連する特徴空間を、前記複数のシングルタスクニューラルネットワークモデルに関連する特徴空間に整合させる整合コードを更に含む、請求項11に記載の装置。
【請求項16】
マルチタスクニューラルネットワークフレームワークを使用する画像処理の装置であって、
プログラムコードを記憶するように構成された少なくとも1つのメモリと、
前記プログラムコードを読み取り、前記プログラムコードによる指示のとおりに動作するように構成された少なくとも1つのプロセッサと、
を含み、
前記プログラムコードは、
前記少なくとも1つのプロセッサに対して、入力画像を受け取らせるように構成された受け取りコードと、
前記少なくとも1つのプロセッサに対して、前記マルチタスクニューラルネットワークフレームワークを使用して、前記入力画像に基づいて、画像処理タスクを実行させるように構成された実行コードであって、前記マルチタスクニューラルネットワークフレームワークは、適応型特徴蒸留関数を使用して訓練され、前記適応型特徴蒸留関数は、前記マルチタスクニューラルネットワークフレームワークの中間特徴と、複数のシングルタスクニューラルネットワークモデルの中間特徴との比較に基づく、実行コードと、
前記少なくとも1つのプロセッサに対して、前記マルチタスクニューラルネットワークフレームワークの出力をアップサンプリングすることに基づいて、前記画像処理タスクの出力を生成させるように構成された生成コードと、
を含み、
前記画像処理タスクは、前記入力画像のセマンティックセグメンテーションを含み、
前記プログラムコードは、
前記少なくとも1つのプロセッサに対して、前記マルチタスクニューラルネットワークフレームワークの前記出力のアップサンプリング及び再形成に基づいて、前記画像処理タスクの前記出力として、前記入力画像と同じサイズの複数のクラスマップを生成させるように構成された出力生成コード、
を更に含む、装置。
【請求項17】
マルチタスクニューラルネットワークフレームワークを使用する画像処理の装置であって、
プログラムコードを記憶するように構成された少なくとも1つのメモリと、
前記プログラムコードを読み取り、前記プログラムコードによる指示のとおりに動作するように構成された少なくとも1つのプロセッサと、
を含み、
前記プログラムコードは、
前記少なくとも1つのプロセッサに対して、入力画像を受け取らせるように構成された受け取りコードと、
前記少なくとも1つのプロセッサに対して、前記マルチタスクニューラルネットワークフレームワークを使用して、前記入力画像に基づいて、画像処理タスクを実行させるように構成された実行コードであって、前記マルチタスクニューラルネットワークフレームワークは、適応型特徴蒸留関数を使用して訓練され、前記適応型特徴蒸留関数は、前記マルチタスクニューラルネットワークフレームワークの中間特徴と、複数のシングルタスクニューラルネットワークモデルの中間特徴との比較に基づく、実行コードと、
前記少なくとも1つのプロセッサに対して、前記マルチタスクニューラルネットワークフレームワークの出力をアップサンプリングすることに基づいて、前記画像処理タスクの出力を生成させるように構成された生成コードと、
を含み、
前記画像処理タスクは、深度予測又は表面法線予測の一方を含み、
前記プログラムコードは、
前記少なくとも1つのプロセッサに対して、前記マルチタスクニューラルネットワークフレームワークの前記出力のアップサンプリング及び再形成に基づいて、前記画像処理タスクの前記出力として、前記入力画像と同じサイズの1つ以上の再構成済み画像を生成させるように構成された出力生成コード
を更に含む、装置。
【請求項18】
入力画像に基づく画像処理タスクを実行するためのマルチタスクニューラルネットワークフレームワークを訓練する命令を記憶する非一時的コンピューター可読媒体であって、前記命令に含まれる前記1つ以上の命令は、1つ以上のプロセッサにより実行されると、前記1つ以上のプロセッサに対して、
複数のシングルタスクニューラルネットワークモデルと、適応型特徴蒸留関数とを使用して、前記マルチタスクニューラルネットワークフレームワークを訓練することを実行させ、
前記適応型特徴蒸留関数は、前記マルチタスクニューラルネットワークフレームワークの中間特徴と、複数のシングルタスクニューラルネットワークモデルの中間特徴との比較に基づき、
前記訓練することは、
前記マルチタスクニューラルネットワークフレームワークに関連する第1の層における第1の中間特徴を決定することと、
前記複数のシングルタスク型ニューラルネットワークモデルのうち第1のシングルタスクニューラルネットワークモデルに関連する前記第1の層における第2の中間特徴を決定することと、
前記第1の中間特徴と前記第2の中間特徴との比較に基づいて、適応型特徴蒸留損失を決定することと、
前記適応型特徴蒸留損失に基づいて、前記マルチタスクニューラルネットワークフレームワークを訓練することと、
を含む、
非一時的コンピューター可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、画像処理に関する。具体的には、本開示は、機械学習モデル及びニューラルネットワークを使用する画像処理に関する。
【背景技術】
【0002】
マルチタスク学習技術は、コンピュータービジョン及び音声認識に関連する分野において、幅広い用途がある。関連技術におけるマルチタスク学習では、パラメーターの大部分が複数のタスク間で共通しており、僅かなパラメーターのみが特定のタスク専用とされる、分岐アーキテクチャに依存している。マルチタスク学習は、関連するタスクの訓練データの情報を活用して、共有表現を学習し、汎化を向上させるように構成される。
【0003】
マルチタスク学習はストレージと速度の面から効率的なアーキテクチャではあるが、とりわけ、コンピュータービジョン及び画像処理分野において、マルチタスク学習技術は、シングルタスクモデルよりも性能が劣る。基礎となるアーキテクチャが様々なタスク間で共有されるので、一部の画像処理タスクのタスク難易度のバランスが崩れが、より簡単な画像処理タスクの予期しない重視を招き、複雑な画像処理タスクの進捗が遅くなったり、又は、性能が低下したりするということになり得る。共有パラメーターの大部分を含む、共有フレームワークを使用して学習されるタスクが複数あれば、マルチタスクフレームワークの他のタスクの性能を低下させることを代償にしても、一部のタスクの性能向上につなげられる。関連技術で提案された解決策では、マルチタスクニューラルネットワークフレームワークのストレージと効率性を維持することができない(例えば、ストレージ要件の増加、推論の効率低下等を引き起こす)。
【発明の概要】
【発明が解決しようとする課題】
【0004】
したがって、マルチタスクフレームワークのストレージと速度を維持するのと同時に、或るタスクの性能が別のタスクによって損なわれない、マルチタスク学習用の方法、装置、及びシステムが必要とされている。
【課題を解決するための手段】
【0005】
本開示の一態様によると、マルチタスクニューラルネットワークフレームワークを使用する画像処理の方法が提供されてよい。この方法は、1つ以上のプロセッサで実行されてよく、入力画像を受け取ることと、入力画像に基づいて、1つ以上の画像パッチを生成することと、マルチタスクニューラルネットワークフレームワークを使用して、入力画像に基づいて、画像処理タスクを実行することと、マルチタスクニューラルネットワークフレームワークの出力をアップサンプリングすることに基づいて、画像処理タスクの出力を生成することとを含んでよい。マルチタスクニューラルネットワークフレームワークは、適応型特徴蒸留関数を使用して訓練され、適応型特徴蒸留関数は、マルチタスクニューラルネットワークフレームワークの中間特徴と、複数のシングルタスクニューラルネットワークモデルの中間特徴との比較に基づく。
【0006】
幾つかの実施の形態において、適応型特徴蒸留関数を使用してマルチタスクニューラルネットワークフレームワークを訓練することは、マルチタスクニューラルネットワークフレームワークに関連する第1の層における第1の中間特徴を決定することと、複数のシングルタスクニューラルネットワークモデルのうち第1のシングルタスクニューラルネットワークモデルに関連する第1の層における第2の中間特徴を決定することと、第1の中間特徴と第2の中間特徴との比較に基づいて、適応型特徴蒸留損失を決定することと、適応型特徴蒸留損失に基づいて、マルチタスクニューラルネットワークフレームワークを訓練することとを含んでよい。
【0007】
幾つかの実施の形態において、適応型特徴蒸留損失は、第1の中間特徴の特徴空間と、第2の中間特徴の特徴空間との整合性の度合いに更に基づいてよい。
【0008】
幾つかの実施の形態において、方法は、適応型特徴蒸留関数に基づいて、複数のシングルタスクニューラルネットワークモデルのうち第1のシングルタスクニューラルネットワークモデルを訓練することを禁止することを更に含んでよい。
【0009】
幾つかの実施の形態において、方法は、適応型特徴蒸留関数に基づいて、マルチタスクニューラルネットワークフレームワークに関連する特徴空間を、複数のシングルタスクニューラルネットワークモデルに関連する特徴空間に整合させることを含んでよい。
【0010】
幾つかの実施の形態において、方法は、適応型特徴蒸留関数に基づいて、マルチタスクニューラルネットワークフレームワークに関連する特徴空間を、複数のシングルタスクニューラルネットワークモデルのうち第1のシングルタスクニューラルネットワークモデルに関連する特徴空間に整合させることを含んでよい。
【0011】
幾つかの実施の形態において、1つ以上の画像パッチは、入力画像に基づく所定のサイズでよい。幾つかの実施の形態において、マルチタスクニューラルネットワークフレームワークは、共有トランスフォーマーバックボーンネットワーク及び複数のタスク固有ヘッドを含んでよい。
【0012】
幾つかの実施の形態において、画像処理タスクは、入力画像のセマンティックセグメンテーションを含んでよく、方法は、マルチタスクニューラルネットワークフレームワークの出力のアップサンプリング及び再形成に基づいて、画像処理タスクの出力として、入力画像と同じサイズの複数のクラスマップを生成することを含んでよい。
【0013】
幾つかの実施の形態において、画像処理タスクは、入力画像の深度予測又は表面法線予測の一方を含んでよく、方法は、マルチタスクニューラルネットワークフレームワークの出力のアップサンプリング及び再形成に基づいて、画像処理タスクの出力として、入力画像と同じサイズの1つ以上の再構成済み画像を生成することを含んでよい。
【0014】
本開示の一態様によると、マルチタスクニューラルネットワークフレームワークを使用する画像処理の装置が提供されてよい。装置は、プログラムコードを記憶するように構成された少なくとも1つのメモリと、プログラムコードを読み取り、プログラムコードによる指示のとおりに動作するように構成された少なくとも1つのプロセッサとを含んでよい。プログラムコードは、少なくとも1つのプロセッサに対して、入力画像を受け取らせるように構成された受け取りコードと、少なくとも1つのプロセッサに対して、入力画像に基づき、1つ以上の画像パッチを生成させるように構成されたパッチングコードと、少なくとも1つのプロセッサに対して、マルチタスクニューラルネットワークフレームワークを使用して、入力画像に基づいて、画像処理タスクを実行させるように構成された実行コードであって、マルチタスクニューラルネットワークフレームワークは、適応型特徴蒸留関数を使用して訓練され、適応型特徴蒸留関数は、マルチタスクニューラルネットワークフレームワークの中間特徴と、複数のシングルタスクニューラルネットワークモデルの中間特徴との比較に基づく、実行コードと、少なくとも1つのプロセッサに対して、マルチタスクニューラルネットワークフレームワークの出力をアップサンプリングすることに基づいて、画像処理タスクの出力を生成させるように構成された生成コードとを含んでよい。
【0015】
本開示の一態様によると、マルチタスクニューラルネットワークフレームワークを使用する画像処理用の命令を記憶する非一時的コンピューター可読媒体が提供されてよい。命令に含まれうる1つ以上の命令は、1つ以上のプロセッサにより実行されると、1つ以上のプロセッサに対して、入力画像を受け取ることと、入力画像に基づいて、1つ以上の画像パッチを生成することと、マルチタスクニューラルネットワークフレームワークを使用して、入力画像に基づいて、画像処理タスクを実行することと、マルチタスクニューラルネットワークフレームワークの出力をアップサンプリングすることに基づいて、画像処理タスクの出力を生成することとを実行させる。マルチタスクニューラルネットワークフレームワークは、適応型特徴蒸留関数を使用して訓練され、適応型特徴蒸留関数は、マルチタスクニューラルネットワークフレームワークの中間特徴と、複数のシングルタスクニューラルネットワークモデルの中間特徴との比較に基づく。
【0016】
本開示の一態様によると、マルチタスクニューラルネットワークフレームワークを訓練する命令を記憶する非一時的コンピューター可読媒体であって、命令に含まれる1つ以上の命令は、1つ以上のプロセッサにより実行されると、1つ以上のプロセッサに対して、複数のシングルタスクニューラルネットワークモデルを使用して、マルチタスクニューラルネットワークフレームワークを訓練することを実行させ、訓練することは、マルチタスクニューラルネットワークフレームワークの第1の層における第1の中間特徴を決定することと、複数のシングルタスク型ニューラルネットワークモデルの第1の層における第2の中間特徴を決定することと、第1の中間特徴と第2の中間特徴との比較に基づいて、適応型特徴蒸留損失を決定することと、適応型特徴蒸留損失に基づいて、マルチタスクニューラルネットワークフレームワークを訓練することとを含んでよい、非一時的コンピューター可読媒体。
【0017】
以下、添付の図面を参照して、本開示の例示的な実施の形態の特徴、利点、及び意義について説明する。なお、添付の図面において、類似の符号は類似の要素を示している。
【図面の簡単な説明】
【0018】
図1】本開示に記載のシステム及び/又は方法が実装されうる画像処理用のニューラルネットワークフレームワークの例示的な図である。
図2】本開示の一実施形態に係る、画像処理の例示的プロセスについて説明する例示的フローチャートである。
図3】本開示の一実施形態に係る、マルチタスクニューラルネットワークフレームワークを使用する画像処理の例示的プロセスについて説明する例示的フローチャートである。
図4】本開示の一実施形態に係る、マルチタスクニューラルネットワークフレームワークを使用する画像処理の例示的ブロック図である。
図5】本開示の一実施形態に係る、マルチタスクニューラルネットワークフレームワークを使用する画像処理の例示的ブロック図である。
図6】本開示の一実施形態に係る、図1のニューラルネットワークフレームワークを実装しうる例示的環境の図である。
図7】本開示の一実施形態に係る、図1のニューラルネットワークフレームワークを実装しうる1つ以上のデバイスの例示的コンポーネントの図である。
【発明を実施するための形態】
【0019】
例示の実施形態の以下の詳細な説明は、添付の図面を参照したものである。異なる図面における同じ参照番号が、同一又は類似の要素を特定する場合がある。
【0020】
前述の開示は、例示及び説明を提供するものであり、網羅的であること又は開示の正確な形態に実装を限定することを意図するものではない。上記の開示に照らして修正及び変形が可能である、又は修正及び変形を実装の実践から獲得することもできる。
【0021】
上述のように、マルチタスク学習はストレージと速度の面から効率的なアーキテクチャではあるが、とりわけ、コンピュータービジョン及び画像処理分野において、マルチタスク学習技術は、シングルタスクモデルよりも性能が劣る。共有パラメーターの大部分を含む、共有フレームワークを使用して学習されるタスクが複数あれば、マルチタスクフレームワークの他のタスクの性能を低下させることを代償にしても、一部のタスクの性能向上につなげられる。或るタスクの性能向上が、別のタスクの性能低下につながることがあるという問題は、「負の転移(negative transfer)」として知られうる。関連技術における技術の幾つかには、タスクの重み付け、特徴融合、特徴選択、及び知識蒸留が含まれ得る。
【0022】
ビジョントランスフォーマー(ViT)は、画像分類、物体検出、並びに深度推定及びセマンティックセグメンテーション等の画素単位の予測問題等、多くの画像処理タスクに使用されうる。本開示の一実施形態によると、複数のタスクを同時に学習するために、共有バックボーン及びタスク固有のヘッドを備えたViTベースのマルチタスク学習アーキテクチャが使用されてよい。本開示の一実施形態において、ViTベースのアーキテクチャを使用するだけでなく、オンライン蒸留が使用されてよい。オンライン蒸留は、マルチタスクニューラルネットワークフレームワークとシングルタスクニューラルネットワークモデルとを同時に訓練し、マルチタスクニューラルネットワークフレームワークがそれぞれのシングルタスクニューラルネットワークモデルから知識を学習又は蒸留することを含んでよい。オンライン蒸留は、マルチタスクモデルの訓練に使用されてよく、シングルタスクニューラルネットワークモデルと同等の性能を実現しつつ、推論時間とメモリ要件の削減につなげられる。
【0023】
本開示の一実施形態によると、オンライン蒸留は、適応型特徴蒸留及び/又はオンラインタスクの重み付けを含んでよい。適応型特徴蒸留は、マルチタスクニューラルネットワークフレームワークの訓練中に、シングルタスクニューラルネットワークモデルからマルチタスクニューラルネットワークフレームワークに特徴知識(例えば、中間特徴表現)を選択的に蒸留することを含んでよい。幾つかの実施形態において、マルチタスクニューラルネットワークフレームワーク及びシングルタスクニューラルネットワークが同時に訓練されてよく、訓練を繰り返すたびに、特徴蒸留が実施されてよい。
【0024】
マルチタスクニューラルネットワークフレームワークとシングルタスクニューラルネットワークモデルとを同時に訓練し、シングルタスクニューラルネットワークモデルからの中間特徴を使用することで、マルチタスクニューラルネットワークフレームワークからのタスクヘッドの性能を、それぞれのシングルタスクニューラルネットワークモデルの性能と合わせて監視することができる。マルチタスクニューラルネットワークフレームワークからのタスクヘッド及びそれぞれのシングルタスクニューラルネットワークモデルを組み合わせ、また場合によっては並行して監視することで、それぞれのシングルタスクニューラルネットワークモデルの性能と比較した、マルチタスクニューラルネットワークフレームワークからのタスクヘッドの性能の相違について理解できる。適応型特徴蒸留により、マルチタスクニューラルネットワークフレームワークからのタスクヘッドの性能がそれぞれのシングルタスクニューラルネットワークモデルの性能よりも低い場合、シングルタスクニューラルネットワークモデルの中間特徴をマルチタスクニューラルネットワークフレームワークからのタスクヘッド内で整合させて、利用することができる。適応型特徴蒸留では、シングルタスクニューラルネットワークモデルと同様の計算要件とメモリ要件でマルチタスクニューラルネットワークフレームワークを訓練することができるので、適応型特徴蒸留によって、メモリとストレージの効率を維持しつつ、マルチタスクニューラルネットワークフレームワークの性能が向上する。
【0025】
本開示の幾つかの実施形態において、オンライン蒸留は、オンラインタスクの重み付けを含んでよい。オンラインタスクの重み付け方式は、タスクの重みが、訓練の各反復における、シングルタスクニューラルネットワークモデル及びマルチタスクニューラルネットワークフレームワークの双方の損失値に基づくことを含んでよい。
【0026】
幾つかの実施形態において、マルチタスクニューラルネットワークフレームワークを訓練する間に、適応型特徴蒸留及び/又はオンライン重み付け方式を使用する訓練が実施されてよく、マルチタスクニューラルネットワークフレームワークの性能を高められる。マルチタスクニューラルネットワークフレームワークの訓練中に適応型特徴蒸留を実施すること及び/又はオンライン重み付け方式を使用してマルチタスクニューラルネットワークフレームワークを訓練することにより、マルチタスクニューラルネットワークフレームワークの性能向上と合わせて、マルチタスク学習によるストレージ削減及び速度向上の利点が保たれる。
【0027】
一実施形態によると、マルチタスクニューラルネットワークフレームワークは、共有のビジョントランスフォーマー(ViT)バックボーンと、N個の画像処理タスク用の複数の別個のヘッドとからなってよい。また、このアーキテクチャは、シングルヘッドとViTバックボーンを備えた、シングルタスクニューラルネットワークモデルからなってもよい。ViTバックボーンは、1つのタスクに特化したものでよい。一実施形態において、オンライン蒸留は、N個のタスクに対してシングルタスクニューラルネットワークモデル(STL)及びマルチタスクニューラルネットワークフレームワーク(MTL)を同時に訓練するための訓練戦略を含んでよい。シングルタスクニューラルネットワークモデルは、訓練プロセスを通じて、マルチタスクネットワークの最適化を誘導してよい。マルチタスクネットワークの重みは、中間特徴に関する蒸留損失を通じて、シングルタスクニューラルネットワークモデルに結び付けられてよい。エンドツーエンドモデルは、以下の損失関数を最小化してよい。
【数1】
【0028】
式(1)において、L STLはi番目のシングルタスクニューラルネットワークモデルのタスク固有損失を示し、L MTLはマルチタスクニューラルネットワークフレームワークのi番目のヘッドのタスク固有損失であり、LAFDはシングルタスクネットワークの特徴とマルチタスクネットワークの特徴との間の適応型知識蒸留損失を示す。損失重みλ(i=1,2...Nt)は、シングルタスクニューラルネットワークモデルの損失値、及びマルチタスクニューラルネットワークフレームワークのそれぞれのヘッドの損失に基づいて、各タスクの訓練反復ごとに計算されてよい。
【0029】
幾つかの実施形態において、事前訓練済みのViTモデルは、全てのモデルのバックボーンとして使用されてよい。マルチタスクニューラルネットワークフレームワークは、N個のヘッドを有する共有バックボーンからなってよく、シングルタスクニューラルネットワークモデルはそれぞれ、独立したバックボーンネットワーク及び1個のヘッドを有してよい。幾つかの実施形態において、入力画像は16×16画素のPパッチに分割されてよい。各パッチは、パッチ埋め込み(patch embedding)ネットワークを介してマッピングされ、ViTエンコーダーに渡されてよい。サイズW×Hの画像をパッチに分割した後、パッチグリッドのサイズはW/16~Wpatch×H/16~Hpatchとなる。パッチは線形埋め込みネットワークに渡されてよく、Npatch=Wpatch×Hpatch埋め込みは、シングルタスクニューラルネットワークモデル及びマルチタスクニューラルネットワークフレームワーク双方のトランスフォーマーエンコーダーへと入力されてよい。
【0030】
上述のように、マルチタスク学習で既知の難題は、「負の転移」である。この問題を軽減するには、オンライン知識蒸留が使用されてよい。シングルタスクニューラルネットワークモデル及びマルチタスクニューラルネットワークフレームワークは、訓練フェーズ中に最適化されてよい。各反復において、シングルタスクトランスフォーマーエンコーダーの特徴の知識は、マルチタスクモデルの特徴に蒸留されてよい。幾つかの実施形態において、オンライン蒸留は、適応型特徴蒸留(AFD)及び/又はオンラインタスクの重み付け(OTW)を含んでよい。
【0031】
適応型特徴蒸留は、バックボーンモデルの中間特徴を共有することを含んでよい。中間特徴に関するオンライン重み付け後の知識蒸留は、マルチタスクニューラルネットワークフレームワーク(MTL)の共有バックボーンからのものである。Lを共有トランスフォーマーエンコーダーの層数、w をl番目の層のi番目のタスクの学習可能なパラメーターであるとする。AFD損失であるLAFDは、次のように定義することができる。
【数2】
【0032】
式中、fMTL(l)は、共有MTLバックボーンのl番目の層から抽出された特徴とすることができ、f STL(l)は、i番目のシングルタスクニューラルネットワークモデルからのl番目の層の特徴とすることができる。MTL特徴に対する各タスクのSTL特徴の整合性の度合いは、パラメーターw で決まる。AFD関数は、MTLネットワークの特徴空間がSTLネットワークの特徴空間と整合することを保証し得る。上記の訓練方式を直接実装すると、パラメーターがMTLネットワークのパラメーターの影響を受けるであろうため、STLネットワークの性能に負の影響を及ぼしうる。このような負の影響を避けるために、AFD関数からの勾配は、STLネットワークにバックプロパゲートすることを禁止してよい。一実施形態において、AFD損失を計算する一方で、シングルタスク中間特徴(例えば、テンソル)f STL(l)は、各シングルタスクニューラルネットワークモデルの計算グラフ(computational graph)から切り離されてよい。
【0033】
オンラインタスクの重み付けは、シングルタスクニューラルネットワークモデル及びマルチタスクニューラルネットワークフレームワークの同時学習中に、タスク固有の重みを使用することを含んでよい。マルチタスクニューラルネットワークは、タスク固有損失の線形結合を使用して訓練されてよく、タスク固有の重みは、シングルタスクニューラルネットワークモデルに対するマルチタスクモデルの性能に基づいてよい。
【数3】
【0034】
任意の反復tにおけるマルチタスクモデルの損失をL MTL(t)、i番目の画像処理タスクのシングルタスク損失をL STL(t)とする。反復tにおけるi番目のタスクのタスク固有の重みは、マルチタスク損失とシングルタスク損失との比の「温度」スケーリングソフトマックス関数(“temperature” scaled softmax function)として計算され得る。
【0035】
実施形態によると、マルチタスクの損失が対応するシングルタスクの損失よりも大きいタスクには、より高い重みが与えられてよい。τは、タスクの重み付けの柔らかさ(softness)を制御する温度(temperature)を表し得る。τを大きくすれば、様々なタスク同士の配分をより均等にしうる。係数N(タスク数)は、
【数4】
を確保し得る。
【0036】
一実施形態によると、同時訓練の場合、タスク固有の損失関数がそれぞれの画像処理タスクに使用されてよい。画像処理タスクは、セマティックセグメンテーション、深度予測、及び表面損失予測を含んでよく、さらに、或る特定のタスクについて、この特定のタスク用のシングルタスクニューラルネットワーク、及びマルチタスクニューラルネットワークフレームワークにおけるその特定タスク用のタスクヘッドの双方にわたって、同じ損失関数が使用されてよい。したがって、幾つかの実施形態において、マルチタスクニューラルネットワークにおけるそれぞれのタスク、及びそれに対応するシングルタスクニューラルネットワークモデルについて、同じ損失関数が使用されてよい。
【0037】
一例として、幾つかの実施形態において、クロスエントロピー損失はセマンティックセグメンテーション用に使用されてよく、SIログ損失(SILogloss)は深度推定用に使用されてよく、コサイン類似度損失は表面法線推定用に使用されてよい。一例として、第1のタスクがセマンティックセグメンテーション、第2のタスクが深度予測、第3のタスクが表面法線予測である場合、それらの損失はそれぞれ、以下のように定義してよい。
【数5】
【0038】
式(5)~式(7)において、Nは画素数であってよく、画素pについて、
【数6】
である。
【0039】
ビジュアルシーン理解の一環として、複数の分類と回帰のタスクが考慮されてよい。一例として、セマンティックセグメンテーション等の分類タスクの場合、マスクトランスフォーマーアーキテクチャが使用されてよい。トランスフォーマー層に渡されるパッチとトークンの埋め込みサイズをEとする。(Npatch×E次元を有する)ViTエンコーダーのバックボーンから抽出されたパッチは、マルチタスクニューラルネットワークフレームワークの分類ヘッドに渡されてよい。(NCLS×E次元の)クラスクエリは、パッチ埋め込み(patch embedding)と共に導入され、2層のトランスフォーマーエンコーダーに渡されてよい。クラスクエリ数(NCLS)は、分類タスクのクラス数として捉えられてよい。クラスクエリとパッチ埋め込みとのスカラー積が計算されてよい(出力次元、Npatch×NCLS)。その後、出力がアップサンプリングされ、画像サイズに合わせて再形成されてよい。また、それぞれが入力画像と同じサイズのNCLSクラスマップが得られてもよい。幾つかの実施形態において、画素ラベルは、NCLSクラスマップのargmax(最大点集合)として推定されてよい。
【0040】
別の例として、深度予測及び表面法線予測は回帰タスクとして定式化することができる。Nreg(経験的に128と設定する)を、マルチタスクニューラルネットワークフレームワークの回帰ヘッドへと、各次元EのNpatch埋め込みと共に渡されるクエリ埋め込みの数とする。クエリとパッチとのスカラー積が計算され(その出力次元 Npatch×Nreg)、MLPブロック及び/又は層へ渡されてよい。MLPブロックでは、一連の線形層が使用されてよく、最後の線形層の出力次元は画像処理タスクに基づく。深度予測の出力次元をNpatch×1としてよく、表面法線予測の出力次元をNpatch×3としてよい。次に、出力がアップサンプリングされ、入力画像と同じサイズに合わせて再形成されてよい。
【0041】
図1は、本開示に記載のシステム及び/又は方法を実装することができる画像処理用のニューラルネットワークフレームワーク100の例示的な概略図である。
【0042】
図1で見られるように、フレームワーク100は、マルチタスクニューラルネットワーク及び複数のシングルタスクニューラルネットワークを含んでよい。マルチタスクニューラルネットワークは、マルチタスクトランスフォーマーエンコーダー120の共有バックボーンと、複数のタスク用のタスク固有ヘッド(例えば、タスク1ヘッド115-1、タスク2ヘッド115-2、及びタスク3ヘッド115-3)とを含んでよい。フレームワーク100は、複数のシングルタスクニューラルネットワークモデルを含んでよい。複数のシングルタスクニューラルネットワークモデルは、マルチタスクニューラルネットワークフレームワークの各タスクヘッドに対応してよく、シングルタスクトランスフォーマーエンコーダー(例えば、タスク1シングルタスクトランスフォーマーエンコーダー105-1、タスク2シングルタスクトランスフォーマーエンコーダー105-2、及びタスク3シングルタスクトランスフォーマーエンコーダー105-3)を含んでよい。さらに、シングルタスクニューラルネットワークモデルは、それぞれのタスク固有ヘッド(例えば、タスク1ヘッド110-1、タスク2ヘッド110-2、及びタスク3ヘッド110-3)を有してよい。
【0043】
マルチタスクニューラルネットワークのタスクヘッドが実行する画像処理タスクは、シングルタスクニューラルネットワークモデルの個々のタスクヘッドが実行する画像処理タスクに対応してよい。したがって、タスク1ヘッド115-1及びタスク1ヘッド110-1は、同じ画像処理タスクを実行してよい。一例として、タスク1ヘッド115-1及びタスク1ヘッド110-1は、セマンティックセグメンテーションの第1の画像処理タスクを実行してよく、タスク2ヘッド115-2及びタスク2ヘッド110-2は、深度予測の第2の画像処理タスクを実行してよく、タスク3ヘッド115-3及びタスク3ヘッド110-3は、表面法線予測の第3の画像処理タスクを実行してよい。
【0044】
中間特徴125は、マルチタスクトランスフォーマーエンコーダー120のバックボーンのトランスフォーマーエンコーダー層の中間特徴であってよい。中間特徴135-1、135-2、及び135-3は、それぞれシングルタスクトランスフォーマーエンコーダー105-1、105-2、及び105-3のトランスフォーマーエンコーダー層の中間特徴であってよい。
【0045】
適応型特徴蒸留関数(AFD)101は、複数のシングルタスクニューラルネットワークモデルのそれぞれのシングルタスクから、マルチタスクニューラルネットワークフレームワークまでの中間特徴を共有するために使用されてよい。適応型特徴蒸留関数は、マルチタスクニューラルネットワークの中間特徴と、複数のシングルタスクニューラルネットワークモデルの中間特徴との比較に基づいてよい。一例として、適応型特徴蒸留関数101は、シングルタスクトランスフォーマーエンコーダー105-1のトランスフォーマーエンコーダー層lの中間特徴135-1と、マルチタスクトランスフォーマーエンコーダー120のトランスフォーマーエンコーダー層lの中間特徴125との比較に基づいてよい。
【0046】
幾つかの実施形態において、マルチタスクニューラルネットワークの特徴空間と、各シングルタスクニューラルネットワークの特徴空間との整合性の度合いは、パラメーターw によって決定されてよく、ここで、iは特定タスクを示してよく、lは特徴空間と中間特徴とが比較されうるトランスフォーマーエンコーダー層であってよい。幾つかの実施形態において、パラメーターw は学習されてよい。別の実施形態において、パラメーターw は、予め決められてもよい。適応型特徴蒸留関数は、マルチタスクニューラルネットワークの特徴空間と、それぞれのシングルタスクニューラルネットワークの特徴空間とが整合することを保証してよい。幾つかの実施形態において、適応型特徴蒸留関数は、マルチタスクニューラルネットワークに関連する特徴空間と、複数のシングルタスクニューラルネットワークモデルのうちそれぞれのシングルタスクニューラルネットワークモデルに関連する特徴空間とを整合させてよい。
【0047】
本開示の一態様によると、適応型特徴蒸留関数は、マルチタスクニューラルネットワークの中間特徴の特徴空間と、対応するシングルタスクニューラルネットワークの中間特徴の特徴空間との整合性の度合いに基づいてよい。一例として、適応型特徴蒸留関数101は、シングルタスクトランスフォーマーエンコーダー105-1のトランスフォーマーエンコーダー層lの中間特徴135-1の特徴空間と、マルチタスクトランスフォーマーエンコーダー120のトランスフォーマーエンコーダー層lの中間特徴125の特徴空間との整合性の度合いに基づいてよい。
【0048】
適応型特徴蒸留関数101が、トランスフォーマーバックボーンによって抽出された中間特徴を比較することによって、マルチタスクニューラルネットワークの性能を向上させるが、シングルタスクニューラルネットワークのパラメーターがマルチタスクニューラルネットワークのパラメーターの影響を受けることにより、適応型特徴蒸留損失をシングルタスクニューラルネットワークにプロパゲートすると、シングルタスクニューラルネットワークの性能に負の影響を及ぼしうる。シングルタスクニューラルネットワークの性能低下を避けるために、適応型特徴蒸留関数からの勾配がシングルタスクニューラルネットワークまでバックプロパゲートされることを禁止されてよい。一実施形態において、適応型特徴蒸留損失を計算する一方で、計算グラフからシングルタスク中間特徴表現(例えば、テンソル)を切り離すことによって、適応型特徴蒸留関数からの勾配がシングルタスクニューラルネットワークにバックプロパゲートされることを禁止されてよい。
【0049】
幾つかの実施形態において、適応型特徴蒸留関数101を使用して、マルチタスクニューラルネットワークフレームワークが訓練されてよい。適応型蒸留関数101を用いたマルチタスクニューラルネットワークフレームワークの訓練について、図3においてより詳細に説明する。
【0050】
図2は、マルチタスクニューラルネットワークフレームワークを使用する画像処理に関する例示的プロセス200を示すフローチャートである。
【0051】
図2で見られるように、プロセス200は、動作205~220を含んでよい。動作205において、1つ以上の入力画像が受け取られてよい。入力画像は、任意の適切なフォーマット(例えば、JPEG、MPEG等)であってよく、任意の適切なコーデックを使用して符号化されてよい。幾つかの実施形態において、入力画像は所定サイズとしてよい。
【0052】
動作210において、入力画像に基づいて、1つ以上の画像パッチが生成されてよい。幾つかの実施形態において、1つ以上の画像パッチは、入力画像に基づく所定のサイズでよい。幾つかの実施形態において、1つ以上の画像パッチは、計算能力、処理能力又は空きメモリが十分でない場合にのみ生成されてよい。
【0053】
動作215において、マルチタスクニューラルネットワークフレームワークを使用して、入力画像に基づいて、画像処理タスクが実行されてよい。画像処理タスクは、セマンティックセグメンテーション、深度推定、表面法線推定、画像分類又は顔ランドマーク位置特定のいずれかを含んでよい。幾つかの実施形態において、マルチタスクニューラルネットワークフレームワークの第1のヘッドによって実行される第1の画像処理タスクは、セマンティックセグメンテーションタスクを含んでよい。一例として、マルチタスクニューラルネットワークフレームワークの第2のヘッドによって実行される第2の画像処理タスクは、深度予測タスクを含んでよく、マルチタスクニューラルネットワークフレームワークの第3のヘッドによって実行される第3の画像処理タスクは、表面法線予測タスクを含んでよい。
【0054】
マルチタスクニューラルネットワークフレームワークは、適応型特徴蒸留関数を使用して訓練されてよい。適応型特徴蒸留関数は、マルチタスクニューラルネットワークフレームワークの中間特徴と、複数のシングルタスクニューラルネットワークモデルの中間特徴との比較に基づいてよい。一例として、適応型特徴蒸留関数は、シングルタスクトランスフォーマーエンコーダー105-1のトランスフォーマーエンコーダー層lの中間特徴135-1と、マルチタスクトランスフォーマーエンコーダー120のトランスフォーマーエンコーダー層lの中間特徴125との比較に基づいてよい。
【0055】
幾つかの実施形態において、適応型特徴蒸留関数は、マルチタスクニューラルネットワークフレームワークの中間特徴の特徴空間と、それぞれのシングルタスクニューラルネットワークモデルの中間特徴の特徴空間との整合性の度合いに基づいてよい。幾つかの実施形態において、適応型特徴蒸留関数は、マルチタスクニューラルネットワークフレームワークに関連する特徴空間を、複数のシングルタスクニューラルネットワークモデルのうち第1のシングルタスクニューラルネットワークモデルに関連する特徴空間と整合させてよい。幾つかの実施形態において、適応型特徴蒸留関数は、マルチタスクニューラルネットワークフレームワークに関連する特徴空間を、複数のシングルタスクニューラルネットワークモデルに関連する特徴空間と整合させてよい。
【0056】
マルチタスクニューラルネットワークフレームワークモデルとシングルタスクニューラルネットワークモデルとを同時に訓練し、シングルタスクニューラルネットワークモデルからの中間特徴を使用することで、それぞれのシングルタスクニューラルネットワークモデルの性能と比較したマルチタスクニューラルネットワークフレームワークの性能を監視することができる。組み合わせて、場合によっては、並行して監視することにより、それぞれのシングルタスクニューラルネットワークモデルからのマルチタスクニューラルネットワークフレームワークの性能の相違について理解することができる。
【0057】
動作220において、画像処理タスクの出力は、マルチタスクニューラルネットワークフレームワークの出力をアップサンプリングすることに基づいて生成されてよい。幾つかの実施形態において、マルチタスクニューラルネットワークフレームワークの出力はスカラー積としてよい。そして、画像処理タスクの出力を生成するために、このスカラー積がアップサンプリングされ処理されてよい。
【0058】
一例として、セマンティックセグメンテーション画像処理タスクの場合、クラスクエリ及びパッチ埋め込み(patch embeddings)は、マルチタスクニューラルネットワークフレームワーク及び/又はマルチタスクニューラルネットワークフレームワークのトランスフォーマーエンコーダーへと入力されてよい。マルチタスクニューラルネットワークフレーワークの出力及び/又はマルチタスクニューラルネットワークフレームワークの分類ヘッドは、クラスクエリとパッチ埋め込みに基づくスカラー積であってよい。次に、スカラー積はアップサンプリングされ画像サイズに合わせて再形成されて、クラスマップを得てよい。各クラスマップは入力画像と同じサイズである。
【0059】
別の例として、深度予測タスク又は表面法線予測タスクの場合、クエリ埋め込み(query embeddings)とパッチ埋め込みは、マルチタスクニューラルネットワークフレームワークへと入力されてよい。マルチタスクニューラルネットワークフレームワークの出力及び/又はマルチタスクニューラルネットワークフレームワークの回帰ヘッドは、クエリ埋め込み及びパッチ埋め込みに基づくスカラー積であってよい。その後、スカラー積はMLPブロックに通され、アップサンプリング及び/又はリサイズされてよい。MLPブロックは、画像処理タスクに基づき、最終線形層の出力次元を有してよい。
【0060】
図3は、適応型特徴蒸留関数を使用してマルチタスクニューラルネットワークフレームワークを訓練するための例示的プロセス300について説明するフローチャートである。
【0061】
動作305において、マルチタスクニューラルネットワークフレームワークに関連する第1の層における第1の中間特徴が決定されてよい。一例として、マルチタスクトランスフォーマーエンコーダー120のトランスフォーマーエンコーダー層lから、中間特徴125が決定されてよい。
【0062】
動作310において、複数のシングルタスクニューラルネットワークモデルのうち第1のシングルタスクニューラルネットワークモデルに関連する第1の層における第2の中間特徴が決定されてよい。一例として、シングルタスクトランスフォーマーエンコーダー105-1のトランスフォーマーエンコーダー層lの中間特徴135-1が決定されてよい。
【0063】
動作315において、適応型特徴蒸留損失は、第1の中間特徴と第2の中間特徴との比較に基づいて決定されてよい。一例として、本明細書に開示する式(2)を使用して、適応型特徴蒸留損失が決定されてよい。
【0064】
幾つかの実施形態において、適応型特徴蒸留損失は、第1の中間特徴の特徴空間と、第2の中間特徴の特徴空間との整合性の度合いに基づいてよい。適応型特徴蒸留関数は、適応型特徴蒸留損失に基づいて、マルチタスクニューラルネットワークフレームワークに関連する特徴空間を、それぞれの第1のシングルタスクニューラルネットワークモデルに関連する特徴空間と整合させてよい。
【0065】
動作320において、適応型特徴蒸留損失に基づいて、マルチタスクニューラルネットワークフレームワークが訓練されてよい。
【0066】
幾つかの実施形態において、上記の訓練方式を直接実装すると、シングルタスクニューラルネットワークのパラメーターがマルチタスクのニューラルネットワークのパラメーターの影響を受けるはずであるので、シングルタスクニューラルネットワークの性能に負の影響を及ぼす場合がある。このような悪影響を回避するために、適応型特徴蒸留関数からの勾配がシングルタスクニューラルネットワークにバックプロパゲートされることを禁止されてよい。一実施形態において、適応型特徴蒸留損失を計算する一方で、シングルタスク中間特徴(例えば、テンソル)は、それぞれのシングルタスクニューラルネットワークモデルの計算グラフから切り離されてよい。
【0067】
幾つかの実施形態において、シングルタスクニューラルネットワークモデルはマルチタスクニューラルネットワークフレームワークの訓練にのみ使用されてよく、マルチタスクニューラルネットワークフレームワークのみが推論に使用されてよい。これにより、マルチタスクニューラルネットワークフレームワークは、推論中において、シングルタスクニューラルネットワークモデルと同様の計算要件とメモリ要件を得ることが可能になる。したがって、適応型特徴蒸留は、メモリとストレージの効率を維持しつつ、マルチタスクニューラルネットワークフレームワークの性能を向上させる。
【0068】
図4は、マルチタスクニューラルネットワークフレームワークの分類ヘッド400を使用した画像処理の例示的プロセスについて説明するブロック図を示す。
【0069】
入力画像のセマンティックセグメンテーション等の分類タスクについては、適切なトランスフォーマーアーキテクチャ、例えば、ViT、ViT-tiny又はマスクアーキテクチャが使用されてよい。画像パッチ及びパッチのサイズがマルチタスクニューラルネットワークへと入力されてよい。トランスフォーマーエンコーダーバックボーン(例えば、マルチタスクトランスフォーマーエンコーダー120)から抽出されたパッチ埋め込み405が、マルチタスクニューラルネットワークフレームワークの分類ヘッドトランスフォーマー層410~415に渡されてよい。幾つかの実施形態において、パッチ埋め込みの次元は、Npatch×Eであってよい。分類タスクの場合、(次元NCLS×Eの)クラスクエリはパッチ埋め込みと共に導入され、分類ヘッドトランスフォーマー層410~415に渡されてよい。クラスクエリ及びパッチ埋め込みのスカラー積430が計算されてよい(出力次元、Npatch×NCLS)。次に、出力がアップサンプリングされ、画像サイズに合わせて再形成され(425)、再構成済み画像を生成してよい。また、それぞれが入力画像と同じサイズとなるNCLSクラスマップが得られてよい。幾つかの実施形態において、画素ラベルは、NCLSクラスマップのargmaxとして推定されてよい。
【0070】
図5は、マルチタスクニューラルネットワークフレームワークの回帰ヘッド500を使用した画像処理のための例示的なプロセスについて説明するブロック図である。
【0071】
入力画像の深度予測及び表面法線予測等の回帰タスクの場合、適切なトランスフォーマーアーキテクチャ、例えば、ViT、ViT-tiny又はマスクアーキテクチャが使用されてよい。画像パッチ及びパッチのサイズがマルチタスクニューラルネットワークへと入力されてよい。トランスフォーマーエンコーダーバックボーン(例えば、マルチタスクトランスフォーマーエンコーダー120)から抽出されたパッチ埋め込み505が、マルチタスクニューラルネットワークフレームワークの回帰ヘッドトランスフォーマー層510~515に渡されてよい。幾つかの実施形態において、パッチ埋め込みの次元は、Npatch×Eであってよい。回帰タスクの場合、複数のクエリ埋め込み(経験上、128に設定され得るNreg)が、パッチ埋め込みと共に、マルチタスクニューラルネットワークフレームワークの回帰ヘッドトランスフォーマー層510~515に渡されてよい。スカラー積530(出力次元、Npatch×Nreg)は、クエリ埋め込み及びパッチ埋め込みに基づいて計算されてよい。スカラー積は、MLPブロック525及び1つ以上のアップサンプリング及び再形成層535に通されてよい。MLPブロック525では、一連の線形層が使用されてよく、最終線形層の出力次元は、画像処理タスクに基づく。一例として、深度予測の出力次元はNpatch×1としてよく、表面法線予測の出力次元はNpatch×3としてよい。次に、出力がアップサンプリングされ、再形成され、入力画像と同じサイズの再構成画像を生成してよい。
【0072】
図6は、図1図5の1つ以上のデバイス、動作、ニューラルネットワーク、及び/又はフレームワークを実装するための例示的環境を示す図である。
【0073】
図6に示されるように、環境600は、ユーザーデバイス110、プラットフォーム620及びネットワーク630を含んでよい。環境600のデバイスは、有線接続、無線接続又は有線接続と無線接続との組み合わせを介して相互接続されてよい。一実施形態において、ニューラルネットワークフレームワーク100に含まれる要素の機能のいずれも、図6に示される要素の任意の組み合わせによって実行されてよい。例えば、実施形態において、ユーザーデバイス110は、パーソナルコンピューティングデバイスに関連する1つ以上の機能を実行してよく、プラットフォーム620は、ネットワーク要素115のいずれかに関連する1つ以上の機能を実行してよい。
【0074】
ユーザーデバイス110は、プラットフォーム620に関連する情報を受信、生成、記憶、処理、及び/又は供給可能とする、1つ以上のデバイスを含んでよい。例えば、ユーザーデバイス110は、コンピューティングデバイス(例えば、デスクトップコンピューター、ラップトップコンピューター、タブレットコンピューター、ハンドヘルドコンピューター、スマートスピーカー、サーバー等)、携帯電話(例えば、スマートフォン、無線電話等)、カメラデバイス、ウェアラブルデバイス(例えば、スマートグラス又はスマートウォッチ)、又は同様のデバイスを含んでよい。幾つかの実施態様において、ユーザーデバイス110は、プラットフォーム620との間で情報を受信及び/又は送信してよい。
【0075】
プラットフォーム620は、情報を受信、生成、記憶、処理、及び/又は供給可能とする、1つ以上のデバイスを含んでよい。幾つかの実施態様において、プラットフォーム620は、クラウドサーバー又はクラウドサーバー群を含むことができる。幾つかの実装において、プラットフォーム620は、特定の必要性に応じて、或る特定のソフトウェアコンポーネントが入れ替えられてよいように、モジュラー式に設計されてよい。したがって、プラットフォーム620は、様々な用途に合わせて、容易に及び/又は迅速に再構成されてよい。
【0076】
幾つかの実装において、図示のように、プラットフォーム620は、クラウドコンピューティング環境622においてホストされてよい。注目すべき点として、本明細書に記載の実装は、プラットフォーム620がクラウドコンピューティング環境622においてホストされているものとして説明しているが、幾つかの実装においては、プラットフォーム620は、クラウドベースでない(すなわち、クラウドコンピューティング環境外で実装されてもよい)、又は、一部がクラウドベースであってもよい。
【0077】
クラウドコンピューティング環境622は、プラットフォーム620をホストする環境を含む。クラウドコンピューティング環境622は、プラットフォーム620をホストするシステム(複数の場合もある)及び/又はデバイス(複数の場合もある)の物理的位置及び構成に関するエンドユーザー(例えば、ユーザーデバイス110)の知識を必要としない、計算、ソフトウェア、データアクセス、ストレージ等のサービスを提供し得る。図示のように、クラウドコンピューティング環境622は、コンピューティングリソース624群(「コンピューティングリソース624」と総称したり、「コンピューティングリソース624」と個別に称したりする)を含んでよい。
【0078】
コンピューティングリソース624は、1つ以上のパーソナルコンピューター、コンピューティングデバイスのクラスター、ワークステーションコンピューター、サーバーデバイス、又は、他の種類の計算及び/又は通信デバイスを含む。幾つかの実装において、コンピューティングリソース624は、プラットフォーム620をホストしてよい。クラウドリソースは、コンピューティングリソース624において実行される計算インスタンス、コンピューティングリソース624において提供されるストレージデバイス、コンピューティングリソース624によって提供されるデータ転送デバイス等を含んでよい。幾つかの実施態様において、コンピューティングリソース624は、有線接続、無線接続、又は、有線接続と無線接続との組み合わせを介して、他のコンピューティングリソース624と通信してよい。
【0079】
更に図6に示されるように、コンピューティングリソース624は、1つ以上のアプリケーション(「APP」)624-1、1つ以上の仮想マシン(「VM」)624-2、仮想化ストレージ(「VS」)624-3、1つ以上のハイパーバイザー(「HYP」)624-4等のクラウドリソース群を含む。
【0080】
アプリケーション624-1は、ユーザーデバイス110又はネットワーク要素115に提供されうる又はこれらによりアクセスされうる、1つ以上のソフトウェアアプリケーションを含む。アプリケーション624-1によって、ユーザーデバイス110又はネットワーク要素115にソフトウェアアプリケーションをインストールして実行する必要をなくしてよい。例えば、アプリケーション624-1は、プラットフォーム620に関連するソフトウェア及び/又はクラウドコンピューティング環境622を介して提供可能な他の任意のソフトウェアを含んでよい。幾つかの実装において、1つのアプリケーション624-1は、仮想マシン624-2を介して、1つ以上の他のアプリケーション624-1との間で情報を送信/受信してよい。
【0081】
仮想マシン624-2は、物理マシンのようにプログラムを実行するマシン(例えば、コンピューター)のソフトウェア実装を含む。仮想マシン624-2は、用途、及び仮想マシン624-2による任意の実マシンへの対応度に応じて、システム仮想マシン又はプロセス仮想マシンのいずれであってもよい。システム仮想マシンは、完全なオペレーティングシステム(「OS」)の実行をサポートする、完全なシステムプラットフォームを提供することができる。プロセス仮想マシンは、単一プログラムを実行してよく、単一プロセスをサポートしてよい。幾つかの実装において、仮想マシン624-2は、ユーザー(例えば、ユーザーデバイス110)の代わりに実行してよく、データ管理、同期、又は長時間のデータ転送等の、クラウドコンピューティング環境622のインフラストラクチャを管理してよい。
【0082】
仮想化ストレージ624-3は、コンピューティングリソース624のストレージシステム又はデバイス内で仮想化技術を使用する1つ以上のストレージシステム及び/又は1つ以上のデバイスを含む。幾つかの実装において、ストレージシステムの文脈では、仮想化の種類には、ブロック仮想化及びファイル仮想化が含まれてよい。ブロック仮想化とは、物理ストレージ又は異種構造とは関係なく、ストレージシステムがアクセスされてよいように、物理ストレージから論理ストレージを抽象化(又は分離)することを称してよい。この分離により、ストレージシステムの管理者は、エンドユーザー用にストレージを管理する方法について、柔軟性を得ることができる。ファイル仮想化は、ファイルレベルでアクセスされるデータと、ファイルが物理的に記憶されている場所との依存関係をなくしてよい。これにより、ストレージの使用、サーバーの統合及び/又は無停止ファイル移行の性能の最適化を可能にしてよい。
【0083】
ハイパーバイザー624-4は、コンピューティングリソース624等のホストコンピューター上で複数のオペレーティングシステム(例えば、「ゲストオペレーティングシステム」)を同時に実行可能にするハードウェア仮想化技術を提供してよい。ハイパーバイザー624-4は、ゲストオペレーティングシステムに仮想オペレーティングプラットフォームを提供してよく、ゲストオペレーティングシステムの実行を管理してよい。種々のオペレーティングシステムの複数のインスタンスは、仮想化されたハードウェアリソースを共有してよい。
【0084】
ネットワーク630は、1つ以上の有線ネットワーク及び/又は無線ネットワークを含む。例えば、ネットワーク630は、セルラーネットワーク(例えば、第5世代(5G)ネットワーク、ロングタームエボリューション(LTE)ネットワーク、第3世代(3G)ネットワーク、符号分割多元接続(CDMA)ネットワーク等)、公衆陸上移動ネットワーク(PLMN)、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、メトロポリタンエリアネットワーク(MAN)、電話ネットワーク(例えば、公衆交換電話網(PSTN))、プライベートネットワーク、アドホックネットワーク、イントラネット、インターネット、光ファイバーベースのネットワーク等、及び/又はこれらの種類又は他の種類のネットワークの組み合わせを含んでよい。
【0085】
図6に示すデバイスとネットワークの数及び配置は、一例として提供されるものである。実際には、図6に示したデバイス及び/又はネットワークよりも多いデバイス及び/又はネットワーク、少ないデバイス及び/又はネットワーク、異なるデバイス及び/又はネットワーク、又は、異なって配置されたデバイス及び/又はネットワークが存在してもよい。さらに、図6に示した2つ以上のデバイスが1つのデバイス内に実装され、又は、図6に示した単一デバイスが複数の分散したデバイスとして実装されてもよい。付加的又は代替的に、環境600のデバイスのセット(例えば、1つ以上のデバイス)は、環境600のデバイスの別のセットによって実行されるものとして記述された、1つ以上の機能を実行してもよい。
【0086】
図7は、本開示の実施形態に係る、図1の1つ以上のデバイスの例示的コンポーネントの図である。
【0087】
図7は、ユーザーデバイス110の例示的コンポーネントの図である。ユーザーデバイス110は、認可されたユーザー、セルの事業者又はRFエンジニアに関連するデバイスに対応してよい。ユーザーデバイス110が使用されて、ネットワーク要素115を介してクラウドプラットフォーム620と通信してよい。図7に示されるように、ユーザーデバイス110は、バス710、プロセッサ720、メモリ730、ストレージコンポーネント740、入力コンポーネント750、出力コンポーネント760、及び通信インターフェイス770を含んでよい。
【0088】
バス710は、ユーザーデバイス110のコンポーネント間の通信を可能とするコンポーネントを含んでよい。プロセッサ720は、ハードウェア、ファームウェア、又はハードウェアとソフトウェアとの組み合わせで実装されてよい。プロセッサ720は、CPU(central processing unit)、GPU(graphics processing unit)、APU(accelerated processing unit)、マイクロプロセッサ、マイクロコントローラー、デジタルシグナルプロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、又は、別の種類の処理コンポーネントでよい。幾つかの実装において、プロセッサ720は、機能を実行するようにプログラムされ得る1つ以上のプロセッサを含む。メモリ730は、プロセッサ720が使用するための情報及び/又は命令を記憶する、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、及び/又は別の種類の動的又は静的ストレージデバイス(例えば、フラッシュメモリ、磁気メモリ及び/又は光メモリ)を含む。
【0089】
ストレージコンポーネント740は、ユーザーデバイス110の動作と使用に関連する情報及び/又はソフトウェアを記憶する。例えば、ストレージコンポーネント740は、対応するドライブと合わせて、ハードディスク(例えば、磁気ディスク、光ディスク、光磁気ディスク、及び/又はソリッドステートディスク)、コンパクトディスク(CD)、デジタル多用途ディスク(DVD)、フロッピーディスク、カートリッジ、磁気テープ、及び/又は、別の種類の非一時的コンピューター可読媒体を含んでよい。入力コンポーネント750は、ユーザー入力(例えば、タッチスクリーンディスプレイ、キーボード、キーパッド、マウス、ボタン、スイッチ、及び/又はマイク)を介して等、ユーザーデバイス110が情報を受け取ることを可能にするコンポーネントを含む。付加的又は代替的に、入力コンポーネント750は、情報を検知するセンサー(例えば、全地球測位システム(GPS)コンポーネント、加速度計、ジャイロスコープ、及び/又はアクチュエータ)を含み得る。出力コンポーネント760は、ユーザーデバイス110(例えば、ディスプレイ、スピーカー、及び/又は1つ以上の発光ダイオード(LED))から出力情報を提供するコンポーネントを含む。
【0090】
通信インターフェイス770は、有線接続、無線接続、又は有線接続と無線接続との組み合わせを介して等、ユーザーデバイス110が他のデバイスと通信可能にするトランシーバの様なコンポーネント(例えば、トランシーバ及び/又は別個の受信器と送信器)を含む。通信インターフェイス770は、ユーザーデバイス110が他のデバイスから情報を受信すること及び/又は他のデバイスに情報を提供することを可能にしてよい。例えば、通信インターフェイス770は、イーサネットインターフェイス、光インターフェイス、同軸インターフェイス、赤外線インターフェイス、無線周波数(RF)インターフェイス、ユニバーサルシリアルバス(USB)インターフェイス、Wi-Fiインターフェイス、セルラーネットワークインターフェイス等を含むことができる。
【0091】
ユーザーデバイス110は、本明細書に記載の1つ以上の処理を実行してよい。ユーザーデバイス110は、プロセッサ720が、メモリ730及び/又はストレージコンポーネント740等の非一時的コンピューター可読媒体によって記憶されたソフトウェア命令を実行することに反応して、これらの処理を実行してよい。本明細書において、コンピューター可読媒体を、非一時的メモリデバイスとして定義してよい。メモリデバイスは、単一物理的ストレージデバイス内のメモリ空間、又は複数の物理的ストレージデバイスにまたがるメモリ空間を含む。
【0092】
ソフトウェア命令は、通信インターフェイス770を介して別のデバイスから又は別のコンピューター可読媒体から、メモリ730及び/又はストレージコンポーネント740に読み込まれてよい。メモリ730及び/又はストレージコンポーネント740に記憶されたソフトウェア命令は、実行されると、プロセッサ720に対して、本明細書に記載された1つ以上の処理を実行させてよい。
【0093】
本明細書に記載のシステム及び/又は方法は、異なる形態のハードウェア、ファームウェア、又はハードウェアとソフトウェアとの組み合わせで実装されてもよいことが明らかとなるであろう。これらのシステム及び/又は方法を実装するために使用される実際の専用制御ハードウェア又はソフトウェアコードは、実装を限定するものではない。したがって、本明細書では、特定のソフトウェアコードを参照せずに、システム及び/又は方法の動作及び挙動について説明した。理解すべき点として、本明細書の記載に基づくシステム及び/又は方法を実装するために、ソフトウェア及びハードウェアは設計されてよい。
【0094】
当該分野の慣例として、実施形態は、説明した単数又は複数の機能を実行するブロックの観点から説明及び図示され得る。本明細書においてユニット又はモジュール等と称され得るこれらのブロックは、論理ゲート、集積回路、マイクロプロセッサ、マイクロコントローラー、メモリ回路、受動電子部品、能動電子部品、光学部品、ハードワイヤード回路等のアナログ又はデジタル回路によって物理的に実装されてよく、さらに、ファームウェア及びソフトウェアによって駆動されてよい。回路は、例えば、1つ以上の半導体チップ、又はプリント回路基板等の基板支持体上に具現化されてよい。ブロックに含まれる回路は、専用ハードウェアによって、又はプロセッサ(例えば、1つ以上のプログラムされたマイクロプロセッサ及び関連回路)によって、又は、ブロックの一部の機能を実行する専用ハードウェアとブロックの他の機能を実行するプロセッサとの組み合わせによって実装されてもよい。実施形態の各ブロックは、2つ以上の相互作用する離散ブロックへと物理的に分離してもよい。同様に、本実施形態のブロックは物理的に組み合わせて、より複雑なブロックにしてもよい。
【0095】
特徴の特定の組み合わせが、特許請求の範囲に記載されている、及び/又は本明細書に開示されているが、これらの組合せは、想定される実装の開示を限定することを意図したものではない。実際、特許請求の範囲に具体的に記載されていない方法及び/又は本明細書に開示されていない方法で、これらの特徴の多くが組み合わせてもよい。以下で列挙する各従属請求項は、1つの請求項のみにしか直接従属できないが、想定される実装の開示は、請求項の集合における他の全ての請求項と組み合わせた各従属請求項を含むものである。
【0096】
本明細書で使用される要素、行為、又は命令は、いずれも重要又は不可欠であると明示的に記載されていない限り、そのように解釈されるべきではない。また、本明細書において使用する場合、冠詞「a」及び「an」は、1つ以上の品目を含むことを意図しており、「1つ以上」と同じ意味で使用されてもよい。1つの品目のみを意図している場合は、「1つ」又はそれに類する言葉を使用する。さらに、本明細書において使用する場合、「有する(has,have,having)」、「含む(include,including)」等の用語は、非限定的な用語であることを意図している。また、「基づく」という語句は、特に明示的に述べられていない限り、「少なくとも部分的に基づく」という意味であることを意図している。

図1
図2
図3
図4
図5
図6
図7