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

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

▶ インターナショナル・ビジネス・マシーンズ・コーポレーションの特許一覧

特許7527355少数ショット分類プロセスを使用してモデルを訓練するためのシステムおよび方法
<>
  • 特許-少数ショット分類プロセスを使用してモデルを訓練するためのシステムおよび方法 図1A
  • 特許-少数ショット分類プロセスを使用してモデルを訓練するためのシステムおよび方法 図1B
  • 特許-少数ショット分類プロセスを使用してモデルを訓練するためのシステムおよび方法 図1C
  • 特許-少数ショット分類プロセスを使用してモデルを訓練するためのシステムおよび方法 図2
  • 特許-少数ショット分類プロセスを使用してモデルを訓練するためのシステムおよび方法 図3
  • 特許-少数ショット分類プロセスを使用してモデルを訓練するためのシステムおよび方法 図4
  • 特許-少数ショット分類プロセスを使用してモデルを訓練するためのシステムおよび方法 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-25
(45)【発行日】2024-08-02
(54)【発明の名称】少数ショット分類プロセスを使用してモデルを訓練するためのシステムおよび方法
(51)【国際特許分類】
   G06N 20/00 20190101AFI20240726BHJP
   G06N 3/0895 20230101ALI20240726BHJP
   G06N 3/096 20230101ALI20240726BHJP
   G06N 3/0475 20230101ALI20240726BHJP
【FI】
G06N20/00 130
G06N3/0895
G06N3/096
G06N3/0475
【請求項の数】 17
(21)【出願番号】P 2022518173
(86)(22)【出願日】2020-09-15
(65)【公表番号】
(43)【公表日】2022-11-28
(86)【国際出願番号】 IB2020058543
(87)【国際公開番号】W WO2021059081
(87)【国際公開日】2021-04-01
【審査請求日】2023-02-24
(31)【優先権主張番号】16/581,892
(32)【優先日】2019-09-25
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【弁理士】
【氏名又は名称】太佐 種一
(72)【発明者】
【氏名】カリンスキー、レオニド
(72)【発明者】
【氏名】シュトック、ジョセフ
【審査官】多賀 実
(56)【参考文献】
【文献】特開2017-126158(JP,A)
【文献】特開2018-181071(JP,A)
【文献】国際公開第2017/188048(WO,A1)
【文献】特開2019-091440(JP,A)
【文献】米国特許出願公開第2019/0122120(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
(57)【特許請求の範囲】
【請求項1】
データ要素を分類するためのモデルを計算する方法であって、
複数の関連分類カテゴリの各々に対する少なくとも1つの合成ラベル付き関連データ要素を出力するために、複数のラベル付き補助データ要素および前記複数の関連分類カテゴリの各々に対する少なくとも1つのラベル付き関連データ要素を合成器構成要素に供給することと、
複数のラベルなし訓練関連データ要素の各々に対する対応するそれぞれの関連分類カテゴリを出力するために、前記合成ラベル付き関連データ要素および前記複数のラベルなし訓練関連データ要素をドメイン適合構成要素に供給することと、
前記合成構成要素および前記ドメイン適合構成要素を繰り返しエンドツーエンドで訓練することと、
問合せラベルなしデータ要素の入力に応答して関連分類カテゴリを出力するために、訓練された前記ドメイン適合構成要素を提供することと
を含む方法。
【請求項2】
前記少なくとも1つのラベル付き関連データ要素の数が1関連分類カテゴリ当たり1~5個である、請求項1に記載の方法。
【請求項3】
初期モデルを作成すること
をさらに含み、データ要素を分類するための前記モデルが前記初期モデルを使用して訓練され、前記初期モデルが、
複数の補助分類カテゴリの各々を表す前記複数のラベル付き補助データ要素を受け取り、
前記複数の補助分類カテゴリの各々に対する複数の合成ラベル付き補助データ要素を出力するために、前記複数のラベル付き補助データ要素を前記モデルの前記合成器構成要素に供給し、
前記複数の補助分類カテゴリの中から選択された、前記複数のラベルなし補助データ要素の各々に対するある補助分類カテゴリを出力するために、前記合成ラベル付き関連データ要素を前記モデルの前記ドメイン適合構成要素のソース入力に供給し、別の複数のラベルなし補助データ要素を前記モデルの前記ドメイン適合構成要素のターゲット入力に供給し、
前記合成構成要素および前記ドメイン適合構成要素を繰り返しエンドツーエンドで訓練して、前記初期モデルを作成する
ことによって訓練される、請求項1に記載の方法。
【請求項4】
前記合成器構成要素が、前記複数のラベル付き補助データ要素および前記少なくとも1つのラベル付き関連データ要素の入力に応答して前記複数の関連分類カテゴリの各々に対する前記少なくとも1つの合成ラベル付き関連データ要素のベクトル表現を出力するように訓練された前記モデルのデルタ・エンコーダ構成要素の拡張として実装されている、請求項3に記載の方法。
【請求項5】
前記初期モデルの前記作成中に、前記デルタ・エンコーダ構成要素を模倣して、前記少なくとも1つのラベル付き関連データ要素の入力に応答して前記複数のラベル付き補助データ要素なしでフェイク・ベクトル表現を出力するように、前記デルタ・エンコーダのデルタ・フェイカ構成要素を、前記デルタ・エンコーダのデルタ・ディスクリミネータ構成要素とともに訓練すること
をさらに含み、前記複数のラベル付き補助データ要素を供給することなしに、前記少なくとも1つのラベル付き関連データ要素を、前記デルタ・エンコーダの前記デルタ・フェイカ構成要素および前記デルタ・ディスクリミネータ構成要素に供給することによって、
前記モデルが、前記初期モデルから訓練される、
請求項4に記載の方法。
【請求項6】
前記複数のラベル付き補助データ要素の各々に、複数の補助分類カテゴリの中から選択された対応するそれぞれの補助分類カテゴリのラベルが付けられており、前記複数の補助分類カテゴリが前記複数の関連分類カテゴリとは異なる、請求項1に記載の方法。
【請求項7】
前記データ要素が視覚的物体を表現する画像であり、前記分類カテゴリが視覚的分類カテゴリである、請求項1に記載の方法。
【請求項8】
前記ドメイン適合構成要素が、前記複数のラベルなし訓練関連データ要素の分布と相関するための前記合成ラベル付き関連データ要素の分布に対する調整を計算し、調整された前記合成ラベル付き関連データ要素に基づいて、前記複数のラベルなし訓練関連データ要素の各々に対して選択されたある前記関連分類カテゴリが計算される、請求項1に記載の方法。
【請求項9】
合成されたラベル付き関連データ要素を出力するために、前記合成器構成要素が、あるラベル付き補助データ要素および対応するラベル付き関連データ要素を受け取る、請求項1に記載の方法。
【請求項10】
複数の補助分類カテゴリの各々に対するラベル付き補助データ要素の数が、問合せデータ要素を前記複数の補助分類カテゴリの1つに正確に分類するように標準分類器を訓練するのに十分な数である、請求項1に記載の方法。
【請求項11】
前記合成構成要素および前記ドメイン適合構成要素の前記エンドツーエンド訓練が、前記合成構成要素によって出力された合成ラベル付き関連データ要素および前記複数のラベルなし訓練関連データ要素の前記入力に対する前記ドメイン適合構成要素の目的関数を最小化するために繰り返される、請求項1に記載の方法。
【請求項12】
前記ラベル付き補助データ要素および前記少なくとも1つのラベル付き関連データ要素の各々を多次元空間内の対応するそれぞれのベクトルにマップすること
をさらに含み、供給することが、マップされた前記対応するそれぞれのベクトルを前記合成器構成要素に供給することを含み、
前記合成器構成要素によって出力された前記複数の関連分類カテゴリの各々に対する少なくとも1つの合成ラベル付き関連データ要素の分布が、前記少なくとも1つのラベル付き関連データ要素の前記ベクトル中央に位置する前記ラベル付き補助データ要素のマップされたベクトルの前記多次元空間における分布と相関している、
請求項1に記載の方法。
【請求項13】
前記対応するそれぞれのベクトルが、前記ラベル付き補助データ要素を複数の補助分類カテゴリの中から選択された対応するラベルに分類するように訓練されたニューラル・ネットワークの非分類層から取得される、請求項12に記載の方法。
【請求項14】
前記合成器構成要素および前記ドメイン適合構成要素の各々がニューラル・ネットワークとして実装された、請求項1に記載の方法。
【請求項15】
モデルによって問合せデータ要素を分類カテゴリに分類する方法であって、
問合せデータ要素をドメイン適合構成要素に供給すること
を含み、前記ドメイン適合構成要素が、
複数の関連分類カテゴリの各々に対する少なくとも1つの合成ラベル付き関連データ要素を出力するために、複数のラベル付き補助データ要素および前記複数の関連分類カテゴリの各々に対する少なくとも1つのラベル付き関連データ要素を合成器構成要素に供給し、
複数のラベルなし訓練関連データ要素の各々に対する対応するそれぞれの関連分類カテゴリを出力するために、前記合成ラベル付き関連データ要素および前記複数のラベルなし訓練関連データ要素をドメイン適合構成要素に供給し、
前記合成構成要素および前記ドメイン適合構成要素を繰り返しエンドツーエンドで訓練する
ことによって訓練されており、前記方法がさらに、
訓練された前記ドメイン適合構成要素によって前記問合せデータ要素に対する関連分類カテゴリを出力すること
を含む方法。
【請求項16】
データ要素を分類するためのニューラル・ネットワーク・モデルを計算するためのシステムであって、
コードを実行する少なくとも1つのハードウェア・プロセッサ
を備え、前記コードが、
複数の関連分類カテゴリの各々に対する少なくとも1つの合成ラベル付き関連データ要素を出力するために、複数のラベル付き補助データ要素および前記複数の関連分類カテゴリの各々に対する少なくとも1つのラベル付き関連データ要素を合成器構成要素に供給し、
複数のラベルなし訓練関連データ要素の各々に対する対応するそれぞれの関連分類カテゴリを出力するために、前記合成ラベル付き関連データ要素および前記複数のラベルなし訓練関連データ要素をドメイン適合構成要素に供給し、
前記合成構成要素および前記ドメイン適合構成要素を繰り返しエンドツーエンドで訓練し、
問合せラベルなしデータ要素の入力に応答して関連分類カテゴリを出力するために、訓練された前記ドメイン適合構成要素を提供する
ためのコードである、システム。
【請求項17】
コンピュータ・プログラムであって、請求項1ないし15のいずれか1項に記載の方法の各ステップをコンピュータに実行させるための、コンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、そのいくつかの実施形態では機械学習に関し、より詳細には、限定はされないが、少数ショット分類プロセス(few-shot classification process)を使用してモデルを訓練するためのシステムおよび方法に関する。
【背景技術】
【0002】
少数ショット分類プロセスは、少数のラベル付き訓練データ要素(few labeled training data element)を使用して、モデルを、以前に見たことがないデータ要素、例えば画像を分類するように訓練する。
【発明の概要】
【0003】
第1の態様によれば、データ要素を分類するためのモデルを計算する方法は、複数の関連分類カテゴリ(relevant classification category)の各々に対する少なくとも1つの合成ラベル付き関連データ要素(synthetic labeled relevant data element)を出力するために、複数のラベル付き補助データ要素(labeled auxiliary data element)および複数の関連分類カテゴリの各々に対する少なくとも1つのラベル付き関連データ要素を合成器構成要素(synthesizer component)に供給することと、複数のラベルなし訓練関連データ要素の各々に対する対応するそれぞれの関連分類カテゴリを出力するために、合成ラベル付き関連データ要素および複数のラベルなし訓練関連データ要素(unlabelled training relevant data element)をドメイン適合構成要素(domain adaptation component)に供給することと、合成構成要素(synthesis component)およびドメイン適合構成要素を繰り返しエンドツーエンド(end-to-end)で訓練することと、問合せラベルなしデータ要素(query unlabelled data element)の入力に応答して関連分類カテゴリを出力するために、訓練されたドメイン適合構成要素を提供することとを含む。
【0004】
第2の態様によれば、モデルによって問合せデータ要素を分類カテゴリに分類する方法は、問合せデータ要素をドメイン適合構成要素に供給することを含み、このドメイン適合構成要素は、複数の関連分類カテゴリの各々に対する少なくとも1つの合成ラベル付き関連データ要素を出力するために、複数のラベル付き補助データ要素および複数の関連分類カテゴリの各々に対する少なくとも1つのラベル付き関連データ要素を合成器構成要素に供給し、複数のラベルなし訓練関連データ要素の各々に対する対応するそれぞれの関連分類カテゴリを出力するために、合成ラベル付き関連データ要素および複数のラベルなし訓練関連データ要素をドメイン適合構成要素に供給し、合成構成要素およびドメイン適合構成要素を繰り返しエンドツーエンドで訓練することによって訓練されており、この方法はさらに、訓練されたドメイン適合構成要素によって問合せデータ要素に対する関連分類カテゴリを出力することを含む。
【0005】
第3の態様によれば、データ要素を分類するためのニューラル・ネットワーク・モデルを計算するためのシステムは、コードを実行する少なくとも1つのハードウェア・プロセッサを備え、このコードは、複数の関連分類カテゴリの各々に対する少なくとも1つの合成ラベル付き関連データ要素を出力するために、複数のラベル付き補助データ要素および複数の関連分類カテゴリの各々に対する少なくとも1つのラベル付き関連データ要素を合成器構成要素に供給し、複数のラベルなし訓練関連データ要素の各々に対する対応するそれぞれの関連分類カテゴリを出力するために、合成ラベル付き関連データ要素および複数のラベルなし訓練関連データ要素をドメイン適合構成要素に供給し、合成構成要素およびドメイン適合構成要素を繰り返しエンドツーエンドで訓練し、問合せラベルなしデータ要素の入力に応答して関連分類カテゴリを出力するために、訓練されたドメイン適合構成要素を提供するためのコードである。
【0006】
この第1、第2および第3の態様の追加の実施態様では、少なくとも1つのラベル付き関連データ要素の数が1関連分類カテゴリ当たり1~5個である。
【0007】
この第1、第2および第3の態様の追加の実施態様では、初期モデルを作成することをさらに含み、データ要素を分類するためのモデルが初期モデルを使用して訓練され、この初期モデルが、複数の補助分類カテゴリの各々を表す複数のラベル付き補助データ要素を受け取り、複数の補助分類カテゴリの各々に対する複数の合成ラベル付き補助データ要素を出力するために、複数のラベル付き補助データ要素をモデルの合成器構成要素に供給し、複数の補助分類カテゴリの中から選択された、複数のラベルなし補助データ要素の各々に対するある補助分類カテゴリを出力するために、合成ラベル付き関連データ要素をモデルのドメイン適合構成要素のソース入力に供給し、別の複数のラベルなし補助データ要素をモデルのドメイン適合構成要素のターゲット入力に供給し、合成構成要素およびドメイン適合構成要素を繰り返しエンドツーエンドで訓練して、初期モデルを作成することによって訓練される。
【0008】
この第1、第2および第3の態様の追加の実施態様では、合成器構成要素が、複数のラベル付き補助データ要素および少なくとも1つのラベル付き関連データ要素の入力に応答して複数の関連分類カテゴリの各々に対する少なくとも1つの合成ラベル付き関連データ要素のベクトル表現を出力するように訓練されたモデルのデルタ・エンコーダ構成要素(delta-encoder component)の拡張として実装されている。
【0009】
この第1、第2および第3の態様の追加の実施態様では、初期モデルの作成中に、デルタ・エンコーダ構成要素を模倣して、少なくとも1つのラベル付き関連データ要素の入力に応答して複数のラベル付き補助データ要素なしでフェイク・ベクトル表現を出力するように、デルタ・エンコーダのデルタ・フェイカ構成要素(delta-faker component)を、デルタ・エンコーダのデルタ・ディスクリミネータ構成要素(delta-discriminator component)とともに訓練することをさらに含み、複数のラベル付き補助データ要素を供給することなしに、少なくとも1つのラベル付き関連データ要素を、デルタ・エンコーダのデルタ・フェイカ構成要素およびデルタ・ディスクリミネータ構成要素に供給することによって、モデルが、初期モデルから訓練される。
【0010】
この第1、第2および第3の態様の追加の実施態様では、複数のラベル付き補助データ要素の各々に、複数の補助分類カテゴリの中から選択された対応するそれぞれの補助分類カテゴリのラベルが付けられており、複数の補助分類カテゴリが複数の関連分類カテゴリとは異なる。
【0011】
この第1、第2および第3の態様の追加の実施態様では、データ要素が視覚的物体(visual object)を表現する画像であり、分類カテゴリが視覚的分類カテゴリである。
【0012】
この第1、第2および第3の態様の追加の実施態様では、ドメイン適合構成要素が、複数のラベルなし訓練関連データ要素の分布と相関するための合成ラベル付き関連データ要素の分布に対する調整を計算し、調整された合成ラベル付き関連データ要素に基づいて、複数のラベルなし訓練関連データ要素の各々に対して選択されたある関連分類カテゴリが計算される。
【0013】
この第1、第2および第3の態様の追加の実施態様では、合成されたラベル付き関連データ要素を出力するために、合成器構成要素が、あるラベル付き補助データ要素および対応するラベル付き関連データ要素を受け取る。
【0014】
この第1、第2および第3の態様の追加の実施態様では、複数の補助分類カテゴリの各々に対するラベル付き補助データ要素の数が、問合せデータ要素を複数の補助分類カテゴリの1つに正確に分類するように標準分類器(standard classifier)を訓練するのに十分な数である。
【0015】
この第1、第2および第3の態様の追加の実施態様では、合成構成要素およびドメイン適合構成要素のエンドツーエンド訓練が、合成構成要素によって出力された合成ラベル付き関連データ要素および複数のラベルなし訓練関連データ要素の入力に対するドメイン適合構成要素の目的関数を最小化するために繰り返される。
【0016】
この第1、第2および第3の態様の追加の実施態様では、ラベル付き補助データ要素および少なくとも1つのラベル付き関連データ要素の各々を多次元空間内の対応するそれぞれのベクトルにマップすることをさらに含み、供給することが、マップされた対応するそれぞれのベクトルを合成器構成要素に供給することを含み、合成器構成要素によって出力された複数の関連分類カテゴリの各々に対する少なくとも1つの合成ラベル付き関連データ要素の分布が、少なくとも1つのラベル付き関連データ要素のベクトル中央に位置するラベル付き補助データ要素のマップされたベクトルの多次元空間における分布と相関している。
【0017】
この第1、第2および第3の態様の追加の実施態様では、対応するそれぞれのベクトルが、ラベル付き補助データ要素を複数の補助分類カテゴリの中から選択された対応するラベルに分類するように訓練されたニューラル・ネットワークの非分類層(non-classification layer)から取得される。
【0018】
この第1、第2および第3の態様の追加の実施態様では、合成器構成要素およびドメイン適合構成要素の各々がニューラル・ネットワークとして実装されている。
【0019】
別に定義されていない限り、本明細書で使用されている全ての技術用語もしくは科学用語またはその両方は、本発明が属する技術分野の技術者によって一般的に理解される意味と同じ意味を有する。本発明の実施形態の実施または試験では、本明細書に記載された方法および材料と類似の方法および材料または等価の方法および材料を使用することができるが、以下では、例示的な方法もしくは材料またはその両方が説明される。矛盾が生じた場合には、定義を含む本特許明細書が統制する。さらに、材料、方法および例は単に例示のためであり、それらが必ず限定することは意図されていない。
【0020】
本明細書では、添付図面を参照して本発明のいくつかの実施形態が単なる例として説明される。次に、図面を詳細に参照するが、示された詳細は例であり、本発明の実施形態を例示的に論じるためのものであることを強調しておく。この点に関して、この説明を図面とともに検討することにより、当業者には、どのようにすれば本発明の実施形態を実施することができるのかが明らかになる。
【図面の簡単な説明】
【0021】
図1A】本発明のいくつかの実施形態による、少数のラベル付き訓練関連データ要素を使用してデータ要素を分類するためのモデルを計算する方法の高次流れ図である。
図1B】本発明のいくつかの実施形態による、モデルの初期状態を計算する例示的な方法の流れ図である。
図1C】本発明のいくつかの実施形態による、問合せデータ要素を分類するためのモデルを、任意選択で初期モデルを使用して計算する例示的な方法の流れ図である。
図2】本発明のいくつかの実施形態による、少数のラベル付き訓練関連データ要素を使用してモデルを訓練するため、もしくは少数のラベル付き訓練関連データ要素を使用して訓練したモデルを使用してデータ要素を分類するため、またはその両方を実行するためのシステムの構成要素のブロック図である。
図3】本発明のいくつかの実施形態による、少数のラベル付き訓練関連データ要素を使用して訓練したモデルを使用してデータ要素を分類する方法の流れ図である。
図4】本発明のいくつかの実施形態による、デルタ・エンコーダの例示的なプロセスもしくはアーキテクチャ実施態様またはその両方のデータフロー図である。
図5】本発明のいくつかの実施形態による、初期モデルを使用してモデルを訓練するための例示的なプロセスを示すデータフロー図である。
【発明を実施するための形態】
【0022】
本発明のいくつかの実施形態では本発明が機械学習に関し、より詳細には、限定はされないが、少数ショット分類プロセスを使用してモデルを訓練するためのシステムおよび方法に関する。
【0023】
本発明のいくつかの実施形態の一態様は、少数ショット分類プロセスを使用してデータ要素を分類するためのモデルを計算するためのシステム、方法、装置もしくはコード命令またはこれらの組合せに関する。多数の補助分類カテゴリを表す多数のラベル付き補助データ要素および関連分類カテゴリの各々に対する1つまたは複数のラベル付き関連データ要素が、モデルの合成器構成要素に供給される。本明細書に記載されているように、少数ショット分類プロセスは、(1関連分類カテゴリ当たりの)ラベル付き関連データ要素の数が少数であること、例えば1~5個、1~10個、または他の少数と考えられる数、例えば標準手法を使用して標準分類器を正確に分類するように訓練するのに不十分な他の数であることに基づく。合成器構成要素が、関連分類カテゴリの各々に対する合成ラベル付き関連データ要素を出力する。ラベルなし訓練関連データ要素の各々に対する対応するそれぞれの関連分類カテゴリを出力するために、合成ラベル付き関連データ要素および多数のラベルなし訓練関連データ要素がモデルのドメイン適合構成要素に供給される。合成構成要素およびドメイン適合構成要素が繰り返しエンドツーエンドで訓練される。問合せラベルなしデータ要素の入力に応答して関連分類カテゴリを出力するために、訓練されたドメイン適合構成要素が提供される。
【0024】
任意選択で、モデルの初期バージョンが計算される。この初期モデルを使用して、データ要素を分類するためのモデルが訓練される。初期モデルは、補助分類カテゴリの各々に対する合成ラベル付き補助データ要素を出力するために、ラベル付き補助データ要素をモデルの合成器構成要素に供給することによって訓練される。合成ラベル付き関連データ要素がドメイン適合構成要素のソース入力に供給される。補助分類カテゴリの中から選択された、ラベルなし補助データ要素の各々に対するある補助分類カテゴリを出力するために、他のラベルなし補助データ要素がドメイン適合構成要素のターゲット入力に供給される。初期モデルを作成するために、合成構成要素およびドメイン適合構成要素がエンドツーエンドで訓練される。
【0025】
本発明のいくつかの実施形態の一態様は、少数ショット分類プロセスを使用して訓練されたモデルによって問合せデータ要素を分類カテゴリに分類するためのシステム、方法、装置もしくはコード命令またはこれらの組合せに関する。問合せデータ要素は、訓練されたモデルの訓練されたドメイン適合構成要素に供給される。本明細書に記載されているとおり、モデルは、それぞれの補助分類カテゴリに対するラベル付き補助データ要素(それらの多数)およびそれぞれの関連分類カテゴリに対する1つまたは複数の(すなわち少数の)ラベル付き関連データ要素を使用して訓練される。訓練されたドメイン適合構成要素は、問合せデータ要素に対する関連分類カテゴリを出力する。
【0026】
本明細書に記載されたシステム、方法、装置もしくはコード命令またはこれらの組合せの少なくともいくつかの実施態様は、新しいデータ要素を分類するためのモデルを訓練するための半教師あり少数ショット分類プロセス(semi-supervised few-shot classification process)のプロセスを改良するという技術的課題を解決し、例えば分類出力の正確さを向上させる。
【0027】
本明細書に記載されたシステム、方法、装置もしくはコード命令またはこれらの組合せの少なくともいくつかの実施態様は、半教師あり少数ショット分類プロセスを使用して、ニューラル・ネットワーク・ベースのモデルを訓練するプロセスを改良することによって、機械学習、特にニューラル・ネットワーク・モデルの技術的分野を改善し、例えば分類出力の正確さを向上させる。
【0028】
データ要素を1つまたは複数の視覚的カテゴリに正確に分類するモデル(例えばニューラル・ネットワーク・ベースの分類器)を訓練するための標準の完全教師ありプロセス(fully-supervised process)は、それぞれの可能な視覚的カテゴリの多数のサンプルを提供する大きな一組のラベル付き訓練データ要素を必要とする。ラベル付けは人間によって手動で実行される。この技術的課題は、このようなラベル付きデータ要素を取得することが難しいとき、例えば、データ要素にラベル付けすることができる人間リソースが限られているとき、もしくはデータ要素にラベル付けするコストが高いとき、またはその両方であるときに生じる。例えば、手動ラベルを有する医療用画像を取得することは、ラベル付けが専門の放射線科医によって実行されるため、難しい。標準手法を使用し、限られたサイズの一組のラベル付き画像を用いて訓練されたモデルの性能は不十分である。本明細書に記載されたシステム、方法、装置もしくはコード命令またはこれらの組合せの少なくともいくつかの実施態様は、(サイズが小さいため比較的に容易に生成することができる)限られた一組のラベル付きデータ要素を、例えばデータ要素データベースなどの公衆が利用可能なソースから取得された、容易にもしくは広範囲から入手可能なまたは容易にかつ広範囲から入手可能な一組のラベルなしデータ要素と組み合わせて使用する、高性能の分類器を生成する。
【0029】
本明細書に記載されたドメイン適合構成要素は、標準プラクティス・アーキテクチャに基づくときでも、異なるやり方で訓練される。標準訓練手法を使用するとき、ドメイン適合構成要素は、ラベル付きソース・データを受け取り、ラベルなしターゲット・データは、ソース・データと同じ一組のカテゴリに属すると仮定される。この訓練は、(一組のソース・ラベルからの)ラベルをこれらのサンプルに割り当てる、ターゲット・サンプルのための分類器を学習することを含む。標準動作モードでは、ドメイン適合構成要素が、分離されて訓練され、固定された一組のソース・ラベル付きサンプルおよび一組のターゲット・サンプルが提供される。具体的には、ドメイン適合構成要素は、カテゴリの正確に1つの集合体に関して訓練(および評価)される。対照的に、ドメイン適合構成要素の訓練は、本明細書に記載されているように異なるやり方で実行される。具体的には、第1に、入力ソース・サンプルは、所与のデータセットの固定された要素ではない。ドメイン適合構成要素は、本明細書に記載されたサンプル合成器を含むより大きなネットワークの部分として訓練される。(合成例を生成する)合成器の出力は、ドメイン適合構成要素のソース入力に供給され、合成器構成要素とドメイン適合構成要素の合同訓練は、({合成サンプル、ラベル}、{ターゲット・サンプル})の本明細書に記載された入力構成に対するドメイン構成要素の目的関数によって容易にされる。第2に、(1)少数ショット学習レジームを可能にするために補助カテゴリに関してモデルを予備訓練(ブートストラップ)する必要性、および(2)新規の少数ショット・カテゴリを使用してモデルを訓練する必要性に対応する、2つの訓練段があることがある。したがって、ドメイン適合構成要素は、ソース・データとターゲット・データがともにこれらの2つの訓練段の異なるカテゴリの組から来る、より大きなモデルにおいて役割を果たす。
【0030】
合成器構成要素が合成データ要素を計算する、本明細書に記載された合成プロセスは、あるデータ要素サンプルに基づいてカテゴリの追加のサンプルを生成する他の標準手法とは異なる。標準手法は、例えば「Swami Sankaranarayanan, Yogesh Balaji, Arpit Jain, Ser Nam Lim, RamaChellappa, Learning from Synthetic Data: Addressing Domain Shift for Semantic Segmentation, CVPR 2018」および「Atapour-Abarghouei, A. and Breckon, T.P. (2018) 'Real-time monocular depth estimation using synthetic data with domain adaptation.', CVPR 2018」に記載されている。本明細書に記載された合成器構成要素は、標準手法によって実行される手動で設計されたグラフィクスではなしに、関連カテゴリに対するサンプル外拡張データ(out-of-sample augmented data)として生成することができる。本明細書に記載された合成器構成要素は、生成モデル(generative model)(すなわちどのように例を生成するのかの明示的指示)を使用せず、これは、標準手法とは対照的に、例えば、定義されたモデルを使用してサンプル、例えば物体の表現された画像を生成するグラフィカルに生成されたデータ要素である。さらに、合成器構成要素は、本明細書に記載されたドメイン適合構成要素と合同でエンドツーエンドで訓練され、このことはラベルなしデータの効率的な利用を可能にし、このことは標準手法には存在しない。別の例で、「Yu-Xiong Wang, Ross Girshick, Martial Hebert, Bharath Hariharan,Low-Shot Learning from Imaginary Data, arXiv:1801.05401」は、ラベルなしデータ要素を使用する本明細書に記載された合成器構成要素とは対照的に、ラベルなしデータ要素を使用しない。さらに別の例で、「Eli Schwartz, Leonid Karlinsky, Joseph Shtok, Sivan Harary, Mattias Marder, Rogerio Feris, Abhishek Kumar, Raja Giryes, Alex M. Bronstein'Delta-encoder: an effective sample synthesis method for few-shot object recognition'. NIPS 2018」は、訓練例の対からの変形の外部サンプリングを必要とするアーキテクチャに関し、これは、アンカー入力上で条件付けられた生成モデルを使用して変形をサンプリングする本明細書に記載されたシステム、方法もしくは装置またはこれらの組合せとは異なる手法である。デルタ・エンコーダの標準実施態様と比較した、合成器構成要素のデルタ・エンコーダ実施態様の追加の特徴が以下で、例えば図4を参照して説明される。
【0031】
本明細書に記載されたシステム、方法、装置もしくはコード命令またはこれらの組合せの少なくともいくつかによる、標準手法の追加の改良は、例えば、合成器構成要素とドメイン適合構成要素の合同エンドツーエンド訓練、もしくはドメイン適合構成要素を合成されたデータ要素とともに使用すること、またはその両方を含む。
【0032】
本発明の少なくとも1つの実施形態を詳細に説明する前に、本発明は、その用途において、以下の説明で述べられた構成要素および/もしくは方法ならびに/または図面および/もしくは実施例に示された構成要素および/もしくは方法の構造ならびに配置の詳細に必ずしも制限されるというわけではないことを理解すべきである。本発明は、他の実施形態を有することができ、またはさまざまなやり方で実施もしくは実行することができる。
【0033】
本発明は、システム、方法もしくはコンピュータ・プログラム製品、またはこれらの組合せであることがある。コンピュータ・プログラム製品は、本発明の態様をプロセッサに実行させるためのコンピュータ可読プログラム命令をその上に有するコンピュータ可読ストレージ媒体を含むことがある。
【0034】
このコンピュータ可読ストレージ媒体は、命令実行デバイスが使用するための命令を保持および記憶することができる有形のデバイスとすることができる。このコンピュータ可読ストレージ媒体は例えば、限定はされないが、電子ストレージ・デバイス、磁気ストレージ・デバイス、光学ストレージ・デバイス、電磁気ストレージ・デバイス、半導体ストレージ・デバイスまたはこれらの任意の適当な組合せとすることができる。コンピュータ可読ストレージ媒体のより具体的な例の非網羅的なリストは、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、リードオンリー・メモリ(ROM)、消去可能なプログラマブル・リードオンリー・メモリ(EPROMまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク・リードオンリー・メモリ(CD-ROM)、デジタル・バーサタイル・ディスク(DVD)、メモリ・スティック、フロッピー・ディスク、機械的にコード化されたデバイス、例えばパンチカードまたはその上に命令が記録された溝の中の一段高くなった構造体、およびこれらの任意の適当な組合せを含む。本明細書で使用されるとき、コンピュータ可読ストレージ媒体は、それ自体が一過性の信号、例えば電波もしくは他の自由に伝搬する電磁波、ウェーブガイドもしくは他の伝送体内を伝搬する電磁波(例えば光ファイバ・ケーブル内を通る光パルス)、または電線を通して伝送される電気信号であると解釈されるべきではない。
【0035】
本明細書に記載されたコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体から対応するそれぞれのコンピューティング/処理デバイスにダウンロードすることができ、またはネットワーク、例えばインターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワークもしくは無線ネットワークまたはこれらの組合せを介して外部コンピュータもしくは外部ストレージ・デバイスにダウンロードすることができる。このネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータもしくはエッジ・サーバ、またはこれらの組合せを含むことができる。それぞれのコンピューティング/処理デバイス内のネットワーク・アダプタ・カードまたはネットワーク・インタフェースは、コンピュータ可読プログラム命令をネットワークから受信し、それらのコンピュータ可読プログラム命令を、対応するそれぞれのコンピューティング/処理デバイス内のコンピュータ可読ストレージ媒体に記憶するために転送する。
【0036】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令もしくは状態設定データであってもよく、またはSmalltalk(R)、C++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語または同種のプログラミング言語などの従来の手続き型プログラミング言語を含む、1つまたは複数のプログラミング言語の任意の組合せで書かれた、ソース・コードもしくはオブジェクト・コードであってもよい。このコンピュータ可読プログラム命令は、全体がユーザのコンピュータ上で実行されてもよく、一部がユーザのコンピュータ上で実行されてもよく、独立型ソフトウェア・パッケージとして実行されてもよく、一部がユーザのコンピュータ上で、一部がリモート・コンピュータ上で実行されてもよく、または全体がリモート・コンピュータもしくはリモート・サーバ上で実行されてもよい。上記の最後のシナリオでは、リモート・コンピュータが、ローカル・エリア・ネットワーク(LAN)もしくはワイド・エリア・ネットワーク(WAN)を含む任意のタイプのネットワークを介してユーザのコンピュータに接続されてもよく、またはこの接続が、外部コンピュータに対して(例えばインターネット・サービス・プロバイダを使用してインターネットを介して)実施されてもよい。いくつかの実施形態では、本発明の態様を実施するために、例えばプログラム可能論理回路、フィールドプログラマブル・ゲート・アレイ(FPGA)またはプログラム可能論理アレイ(PLA)を含む電子回路が、このコンピュータ可読プログラム命令の状態情報を利用してその電子回路をパーソナライズすることにより、このコンピュータ可読プログラム命令を実行してもよい。
【0037】
本明細書では、本発明の態様が、本発明の実施形態による方法、装置(システム)およびコンピュータ・プログラム製品の流れ図もしくはブロック図またはその両方の図を参照して説明される。それらの流れ図もしくはブロック図またはその両方の図のそれぞれのブロック、およびそれらの流れ図もしくはブロック図またはその両方の図のブロックの組合せは、コンピュータ可読プログラム命令によって実施することができることが理解される。
【0038】
これらのコンピュータ可読プログラム命令は、コンピュータのプロセッサまたは他のプログラム可能データ処理装置のプロセッサによって実行される命令が、流れ図もしくはブロック図またはその両方の図のブロックに指定された機能/操作を実施する手段を生成するような態様で、汎用コンピュータ、専用コンピュータのプロセッサ、または他のプログラム可能データ処理装置のプロセッサに提供されて、マシンを作り出すものであってよい。これらのコンピュータ可読プログラム命令はさらに、命令が記憶されたコンピュータ可読ストレージ媒体が、流れ図もしくはブロック図またはその両方の図のブロックに指定された機能/操作の態様を実施する命令を含む製品を含むような態様で、コンピュータ可読ストレージ媒体に記憶され、コンピュータ、プログラム可能データ処理装置もしくは他のデバイスまたはこれらの組合せに特定の方式で機能するように指図することができるものであってもよい。
【0039】
これらのコンピュータ可読プログラム命令はさらに、コンピュータ、他のプログラム可能装置または他のデバイス上で実施されるこれらの命令が、流れ図もしくはブロック図またはその両方の図のブロックに指定された機能/操作を実施するような態様で、コンピュータによって実施されるプロセスを生み出すために、コンピュータ、他のプログラム可能データ処理装置または他のデバイス上にロードされ、コンピュータ、他のプログラム可能装置または他のデバイス上で一連の動作ステップを実行させるものであってもよい。
【0040】
図中の流れ図およびブロック図は、本発明のさまざまな実施形態によるシステム、方法およびコンピュータ・プログラム製品の可能な実施態様のアーキテクチャ、機能および動作を示す。この点に関して、それらの流れ図またはブロック図のそれぞれのブロックは、指定された論理機能を実施する1つまたは複数の実行可能命令を含む、命令のモジュール、セグメントまたは部分を表すことがある。いくつかの代替実施態様では、ブロックに示された機能を、図に示された順序とは異なる順序で実行することができる。例えば、連続して示された2つのブロックが、実際は、実質的に同時に実行されることがあり、または、含まれる機能によってはそれらのブロックが時に逆の順序で実行されることもある。それらのブロック図もしくは流れ図またはその両方の図のそれぞれのブロック、ならびにそれらのブロック図もしくは流れ図またはその両方の図のブロックの組合せを、指定された機能もしくは操作を実行しまたは専用ハードウェアとコンピュータ命令の組合せを実施するハードウェアベースの専用システムによって実施することができることにも留意すべきである。
【0041】
次に、図1A~1Cを参照する。図1A~1Cは、本発明のいくつかの実施形態による、少数のラベル付き訓練関連データ要素を使用してモデルを訓練する方法の流れ図である。さらに図2を参照する。図2は、本発明のいくつかの実施形態による、少数のラベル付き訓練関連データ要素を使用してモデルを訓練するため、もしくは少数のラベル付き訓練関連データ要素を使用して訓練したモデルを使用してデータ要素を分類するため、またはその両方を実行するためのシステム200の構成要素のブロック図である。さらに図3を参照する。図3は、本発明のいくつかの実施形態による、少数のラベル付き訓練関連データ要素を使用して訓練したモデルを使用してデータ要素を分類する方法の流れ図である。コンピューティング・デバイス204のプロセッサ202がメモリ206(プログラム・ストアとも呼ばれる)に記憶されたコード命令(例えばコード206A)を実行することによって、システム200は、図1A~1Cもしくは図3または図1A~1Cおよび図3を参照して説明する方法の操作を実施することができる。
【0042】
コンピューティング・デバイス204は、例えば、接続された一群のデバイス、クライアント端末、サーバ、仮想サーバ、コンピューティング・クラウド、仮想マシン、スマート・テレビジョン、デスクトップ・コンピュータ、シン・クライアント、ネットワーク・ノード、ネットワーク・サーバおよび/もしくはモバイル・デバイス(例えばスマートフォン、タブレット・コンピュータ、ラップトップ・コンピュータ、ウェアラブル・コンピュータ、メガネ型コンピュータおよび腕時計型コンピュータ)のうちの1つもしくは複数ならびに/または組合せとして実装することができる。
【0043】
例えば以下のように、システム200の異なるアーキテクチャを実装することができる。
【0044】
コンピューティング・デバイス204は、ネットワーク212を介して多数のクライアント端末210にサービスを提供する、例えば少数のラベル付き訓練関連データ要素256を受け取り、訓練されたモデル208Aを作成する、1つまたは複数のサーバ(例えばネットワーク・サーバ、ウェブ・サーバ、コンピューティング・クラウド、仮想サーバ、ネットワーク・ノード、ビデオ・ストレージ・サーバ、ビデオ編集ステーション)として実装することができる。ラベル付き補助訓練データ要素250もしくはラベルなし訓練関連データ要素252またはその両方は、例えば、クライアント端末210から、サーバ216から、もしくはコンピューティング・デバイス204に関連づけられたローカル・ストレージから、またはこれらの組合せから取得することができる。訓練された対応するそれぞれのモデル208Aを、対応するそれぞれのクライアント端末210に返すことができる。その代わりにまたはそれに加えて、クライアント端末210に遠隔データ要素分類サービスを提供するために、コンピューティング・デバイス204が、訓練されたモデル208Aのホストとなることもできる。
【0045】
クライアント端末210もしくはサーバ216もしくはコンピューティング・デバイス204またはこれらの組合せ間のネットワーク212を介した通信は、例えば、アプリケーション・プログラミング・インタフェース(API)、ソフトウェア開発キット(SDK)、クライアント端末上で実行される既存のアプリケーションに追加された機能もしくはライブラリもしくはアドオンまたはこれらの組合せ、コンピューティング・デバイス204と通信するクライアント端末210上のダウンロード用および実行用のアプリケーション、コンピューティング・デバイス204によって実行されるコードに対する機能呼び出しもしくはインタフェース呼び出しまたはこれらの組合せ、クライアント端末210上で実行されるウェブ・ブラウザを介してアクセスされる、コンピューティング・デバイス204がホストをつとめるウェブ・サイト上で実行される遠隔アクセス・セッションを介して実施することができる。
【0046】
コンピューティング・デバイス204は、図1A~1Cもしくは3または図1A~1Cおよび3を参照して説明する操作のうちの1つまたは複数の操作を実施するローカルに記憶されたコードを含む独立型デバイス(例えばクライアント端末、スマートフォン、スマート・テレビジョン、コンピューティング・クラウド、仮想マシン、キオスク)として実装することができる。例えば、コンピューティング・デバイス204は、それ自体のデータ要素分類要求のために、取得したそれ自体の少数のラベル付き訓練関連データ要素256もしくはラベル付き補助訓練データ要素250もしくはラベルなし訓練関連データ要素252またはこれらの組合せ(本明細書に記載されているとおり、これらは異なるソースから取得したものであってもよい)を使用して、それ自体のモデルを訓練する(すなわち訓練されたモデル208Aを作成する)。
【0047】
コンピューティング・デバイス204は、取得したそれ自体の少数のラベル付き訓練関連データ要素256もしくはラベル付き補助訓練データ要素250もしくはラベルなし訓練関連データ要素252またはこれらの組合せ(本明細書に記載されているとおり、これらは異なるソースから取得したものであってもよい)を使用して、モデルを訓練する(すなわち訓練されたモデル208Aを作成する)ことができる。訓練されたモデル208Aを使用したデータ要素分類サービスをクライアント端末210に提供することができる。例えば、クライアント端末210は、ネットワーク212を介してコンピューティング・デバイス204に問合せデータ要素254を提供する。コンピューティング・デバイス204は、問合せデータ要素254を訓練されたモデル208Aに供給して、分類カテゴリを取得する。この分類カテゴリは、問合せを発した対応するそれぞれのクライアント端末210に返される。
【0048】
コンピューティング・デバイス204のハードウェア・プロセッサ202は、例えば、中央処理ユニット(CPU)、グラフィクス処理ユニット(GPU)、フィールド・プログラマブル・ゲート・アレイ(FPGA)、デジタル信号処理プロセッサ(DSP)および特定用途向け集積回路(ASIC)として実装することができる。プロセッサ202は、単一のプロセッサ、あるいは並行処理のためにクラスタまたは1つもしくは複数のマルチ・コア処理デバイスあるいはその両方として配置された多数のプロセッサ(同種または異種)を含むことができる。
【0049】
メモリ206は、ハードウェア・プロセッサ202によって実行可能なコード命令を記憶しており、例えば、ランダム・アクセス・メモリ(RAM)、リードオンリー・メモリ(ROM)もしくはストレージ・デバイスまたはこれらの組合せであり、ストレージ・デバイスは例えば不揮発性メモリ、磁気媒体、半導体メモリ・デバイス、ハード・ドライブ、リムーバブル・ストレージおよび光学媒体(例えばDVD、CD-ROM)である。メモリ206は、ハードウェア・プロセッサ202によって実行されたときに図1A~1Cを参照して説明する方法の1つまたは複数の機能もしくは操作またはそれらの組合せを実施するコード206Aを記憶している。メモリ206は、例えば問合せデータ要素254を訓練されたモデル208Aに供給して分類カテゴリを取得するときに、訓練されたモデル208Aを記憶していてもよい。モデル208Aは、本明細書に記載されているとおり、合成器構成要素208A-1もしくはドメイン適合構成要素208A-2またはその両方を含むことができる。例えば、エンドツーエンド訓練のための訓練プロセスで、合成器構成要素208A-1が、ドメイン適合構成要素208A-2とともに使用されるときには、訓練されたモデル208Aが、ドメイン適合構成要素208A-2を含み、合成器構成要素208A-1を含まなくてもよく、問合せデータ要素の分類は、本明細書に記載されているとおり、訓練されたドメイン適合構成要素208A-2によって合成器構成要素208A-1なしで実行することができることに留意されたい。合成器構成要素208A-1もしくはドメイン適合構成要素208A-2またはその両方が、モデル訓練コード206Aに含まれていてもよいことに留意されたい。
【0050】
コンピューティング・デバイス204は、データ、例えば訓練されたモデル208A、もしくは少数のラベル付き訓練関連データ要素256、もしくはラベル付き補助訓練データ要素250、もしくはラベルなし訓練関連データ要素252、またはこれらの組合せを記憶するためのデータ・ストレージ・デバイス208を含むことができる。データ・ストレージ・デバイス208は、例えばメモリ、ローカル・ハード・ドライブ、仮想ストレージ、リムーバブル・ストレージ・ユニット、光学ディスク、ストレージ・デバイスとして実装することができ、ならびに/または(例えばネットワーク接続を使用してアクセスされる)遠隔サーバおよび/もしくはコンピューティング・クラウドとして実装することができる。
【0051】
ネットワーク212は、例えば、インターネット、ローカル・エリア・ネットワーク、仮想ネットワーク、無線ネットワーク、セル方式ネットワーク、ローカル・バス、(例えば有線の)ポイントツーポイント・リンク、または上記のものの組合せとして実装することができる。
【0052】
コンピューティング・デバイス204は、ネットワーク212に接続するためのネットワーク・インタフェース218、例えば、ネットワーク・インタフェース・カード、アンテナ、無線ネットワークに接続するための無線インタフェース、ネットワーク接続用のケーブルに接続するための物理インタフェース、ソフトウェアとして実装された仮想インタフェース、ネットワーク接続の上位層を提供するネットワーク通信ソフトウェア、もしくは他の実施態様、またはこれらの組合せのうちの1つまたは複数を含むことができる。
【0053】
コンピューティング・デバイス204もしくはクライアント端末210またはその両方は、1つもしくは複数の物理ユーザ・インタフェース214を含み、または1つもしくは複数の物理ユーザ・インタフェース214と通信し、あるいは1つもしくは複数の物理ユーザ・インタフェース214を含み、かつ1つもしくは複数の物理ユーザ・インタフェース214と通信し、1つもしくは複数の物理ユーザ・インタフェース214は、ユーザと対話するための機構、例えば、データを入力する(例えば問合せデータ要素を選択する、ラベル付きデータ要素を生成するためにラベルを割り当てる、訓練データ要素を選択する)ための機構、もしくはデータを閲覧する(例えばモデルによって出力された問合せデータ要素の分類カテゴリを閲覧する)ための機構、またはその両方を含む。
【0054】
例示的な物理ユーザ・インタフェース214は、例えば、タッチスクリーン、ディスプレイ、ジェスチャ起動デバイス、キーボード、マウス、ならびにスピーカおよびマイクロフォンを使用する音声起動ソフトウェアのうちの1つまたは複数を含む。
【0055】
クライアント端末210もしくはサーバ216またはその両方は、例えば、デスクトップ・コンピュータ、サーバ、スマート・テレビジョン、仮想サーバ、ネットワーク・サーバ、データ要素ストレージ・サーバ、クラウド・ストレージ、ウェブ・サーバ、仮想マシン、シン・クライアントおよびモバイル・デバイスとして実装することができる。
【0056】
次に図1Aを参照する。図1Aは、本発明のいくつかの実施形態による、少数のラベル付き訓練関連データ要素を使用してデータ要素を分類するためのモデルを計算する方法の高次流れ図である。
【0057】
102で、モデルを訓練するためのデータ要素のデータセットを提供し、もしくはそのようなデータセットを指定し、もしくはそのようなデータセットにアクセスし、またはこれらの組合せを実行する。これらのデータ要素はそれぞれ分類カテゴリに関連づけられている。例えば、これらのデータ要素にはそれぞれ、対応するそれぞれの分類カテゴリのラベルもしくはタグまたはその両方が付けられている。この分類カテゴリは意味論的カテゴリ(semantic category)とすることができる。
【0058】
任意選択で、これらのデータ要素は視覚的物体を表現する画像である。データ要素の他の例は、文書、テキスト、コード、音声(例えば音楽)ファイルおよび数字を含む。この分類カテゴリは視覚的分類カテゴリであり、任意選択で、表現された視覚的物体のラベルである。例えば、視覚的分類カテゴリは、その画像の中にどの動物が表現されているのかの指示、例えばネコ、イヌ、ウマおよびライオンである。
【0059】
モデルを訓練するためのデータセットは関連データ要素および補助データ要素を含む。関連データ要素と補助データ要素は同じ分類ドメイン内のデータ要素とすることでき、関連データ要素と補助データ要素は異なる(すなわち重ならない)それぞれの分類カテゴリを有する。例えば、関連データ要素および補助データ要素(例えば画像)が、動物という分類ドメイン内のデータ要素であるとする。関連データ要素はライオンという分類カテゴリを含み、補助データ要素は、イヌ、ネコおよびウマという分類カテゴリを含む。
【0060】
例えば関連データ要素もしくはラベルまたはその両方を取得することが難しいために、関連づけられたラベルを有する関連データ要素の数が少数であることがある。例えば、野生のライオンの画像を取得することが難しいことがあり、その一方で、イヌ、ネコおよびウマは家畜化されているため、それらの動物の画像を取得することが容易なことがある。別の例では、例えばまれな医学的状態であるために、もしくは画像にラベルを割り当てるために放射線科医がアクセスすることが難しいときに、またはその両方で、関連づけられた医学的所見を有するある医療用画像を取得することが難しいことがある。
【0061】
問合せデータ要素を関連分類カテゴリの1つに分類する目的に対して、ラベル付き関連データ要素だけを使用して訓練された標準分類器(例えば標準ニューラル・ネットワーク・アーキテクチャ)は統計学的に不正確である。十分に正確な分類を得るように標準分類器を訓練するのに、ラベル付き関連データ要素の少数のサンプルは不十分である。関連づけられたラベルを有する関連データ要素の数は少数、例えば1関連分類カテゴリ当たり1~5個、あるいは約1~10個、あるいは約1~3個、あるいは約3~5個、あるいは約3~10個、あるいは他の範囲もしくは値またはその両方である。少数と考えられる関連データ要素の数は、標準分類器を訓練するための統計学的正確さを得るのに必要なデータ要素の数に依存することがあることに留意されたい。少数という言葉によって表される数は、標準分類器によって所望の正確さを得るのに必要な数よりも少ない数である。
【0062】
例えば全般的に容易なアクセスもしくは使用可能性またはその両方のために、ラベル付き補助データ要素の数が大きいことがある。例えば、ラベル付き補助データ要素は、公衆がアクセス可能な大規模なデータベース(例えば標準ニューラル・ネットワークを訓練するために使用されるラベル付き画像のデータベース)から取得することができ、もしくは容易に生成することができ、またはその両方であることがある。例えば、上で論じた例では、イヌ、ネコおよびウマの画像を取得することが容易であることがある。
【0063】
補助分類カテゴリの各々に対するラベル付き補助データ要素の数(本明細書では多数とも言う)を、問合せデータ要素を補助分類カテゴリの1つに正確に分類するように標準分類器を訓練するのに十分な数とすることができる。例えば、ラベル付き補助データ要素の数は、例えば、1補助分類カテゴリ当たり100超、あるいは1000超、あるいは10000超、あるいは100000超、あるいは100~10000、あるいは1000~100000、あるいは他の範囲もしくは値またはその両方である。これらの多数の画像は、例えばImagenetクラス(例えば多数の動物、植物および人間物体)として取得することができる。
【0064】
補助データ要素の各々には、多数の補助分類カテゴリの中から選択された対応するそれぞれの補助分類カテゴリのラベルが付けられている。補助分類カテゴリは関連分類カテゴリとは異なる(すなわち固有で関連分類カテゴリとは重ならない)。
【0065】
例示的な実施態様では、ラベル付き関連データ要素がユーザによって(例えばユーザのクライアント端末を介して)提供される。例えばユーザが写真を撮り、ラベルを入力する。補助データ要素は、公開源、例えば公衆がアクセス可能なデータベースから取得することができる。公開源は、自動的に決定されてもよく、もしくはユーザが手動で指定してもよく、またはその両方であってもよい。
【0066】
104で、モデルの初期状態を計算することができる。モデルの初期状態は、ラベル付き補助データ要素だけを用いて関連データ要素なしで訓練することによって取得される。
【0067】
あるいは、いくつかの実施態様では、モデルの初期状態が計算されず、プロセスは106に進む。
【0068】
次に図1Bを参照する。図1Bは、本発明のいくつかの実施形態による、モデルの初期状態(本明細書では初期モデルと呼ぶ)を計算する例示的な方法の流れ図である。
【0069】
150で、本明細書に記載されているように、1つまたは複数の(例えば多数の)補助分類カテゴリの各々を表すラベル付き補助データ要素を受け取り、もしくはそのようなラベル付き補助データ要素を指定し、もしくはそのようなラベル付き補助データ要素にアクセスし、またはこれらの組合せを実行する。
【0070】
152で、ラベル付き補助データ要素をモデルの合成器構成要素に供給する。
【0071】
任意選択で、合成器構成要素はニューラル・ネットワークとして実装され、任意選択でディープ・ニューラル・ネットワークとして実装される。
【0072】
任意選択で、合成器構成要素は、モデルのデルタ・エンコーダ構成要素の拡張として実施される。このデータ・エンコーダは、ラベル付き補助データ要素およびラベル付き関連データ要素の入力に応答して、関連分類カテゴリの各々に対する合成ラベル付き関連データ要素のベクトル表現を出力するように訓練されている。
【0073】
任意選択で、初期モデルの作成中に、デルタ・エンコーダ構成要素を模倣して、ラベル付き関連データ要素の入力に応答してラベル付き補助データ要素なしでフェイク・ベクトル表現を出力するように、デルタ・エンコーダのデルタ・フェイカ構成要素が、デルタ・エンコーダのデルタ・ディスクリミネータ構成要素とともに訓練される。
【0074】
次に図4を参照する。図4は、本発明のいくつかの実施形態による、デルタ・エンコーダの例示的なプロセスもしくはアーキテクチャ実施態様またはその両方のデータフロー図402である。
【0075】
合成器構成要素に対して使用されるこのデルタ・エンコーダは、「EliSchwartz, Leonid Karlinsky, Joseph Shtok, Sivan Harary, Mattias Marder, Rogerio Feris, Abhishek Kumar, Raja Giryes and Alex M. Bronstein, 'Delta-encoder: an effective sample synthesis method for few-shot object recognition', NeurIPS 2018, Montreal」を参照して説明されている標準デルタ・エンコーダに追加された追加の機能の拡張とすることができる。この文献は、本出願と共通の少なくとも1人の発明者を有し、その全体が参照によって本明細書に組み込まれている。標準デルタ・エンコーダ・プロセスを使用すると、補助データ要素は、関連カテゴリが使用されないときに初期モデルを訓練する目的と、本明細書で、例えば図1Cを参照して説明される、初期モデルからモデルを訓練するときの段階の両方で使用される。(例えば図1Cを参照して説明する)初期モデルからモデルを訓練することに関して、デルタ・エンコーダへの入力は(X,Y)として表される一対のデータ要素であり、Xはある補助カテゴリを示し、Yはある関連カテゴリを示す。(例えば図4に示されているものなどの)本明細書に記載されたデルタ・エンコーダの実施態様は、デルタ・エンコーダの標準実施態様によって定義された補助データに対する依存性を除去し、初期モデルからのモデルの訓練中に関連データ要素だけを使用することを可能にするように設計された追加の機能を含む。
【0076】
モデルの拡張されたアーキテクチャ402では、初期モデルの訓練中に、(例えば図1Cを参照して説明するように)デルタ・フェイカ・サブネットワーク404が、デルタ・ディスクリミネータ・サブネットワーク406とともに訓練される。デルタ・エンコーダ・サブネットワーク408は、リアル中間表現ベクトルz410を生成することを学習し、一方、デルタ・フェイカ・サブネットワーク404は、デルタ・エンコーダ・サブネットワーク408の振る舞いを模倣し、対(X,Y)からではなく、Yだけからフェイク・ベクトルz412を生成することを学習する。次いで、(図1Cを参照して説明される初期モデルからの)モデル訓練ステージで、永続的なサンプルXを提供する必要性が除去される。
【0077】
デルタ・エンコーダ・プロセスの標準実施態様は、入力データ要素からデータ要素を合成することに留意されたい。本明細書に記載されたるデルタ・エンコーダの実施態様は、最終的な出力合成データ要素の合成を助ける、中間表現ベクトルz410を合成する機能が追加された、標準デルタ・エンコーダ実施態様の拡張と考えることができる。
【0078】
再び図1Bを参照する。154で、合成器構成要素は、補助分類カテゴリの各々に対する多数の合成ラベル付き補助データ要素を出力する。
【0079】
156で、合成ラベル付き関連データ要素をモデルのドメイン適合構成要素のソース入力に供給する。他のラベルなし補助データ要素は、モデルのドメイン適合構成要素のターゲット入力に供給される。
【0080】
任意選択で、ドメイン適合構成要素はニューラル・ネットワークとして実装され、任意選択でディープ・ニューラル・ネットワークとして実装される。
【0081】
ドメイン適合構成要素は、例えば「Rui Shu, Hung H. Bui,Hirokazu Narui, Stefano Ermon, A DIRT-T Approach to Unsupervised Domain Adaptation, arXiv:1802.08735」を参照して説明されているVADAもしくはDIRT-Tまたはその両方に基づいて実装することができる。この文献はその全体が参照によって本明細書に組み込まれている。
【0082】
158で、ドメイン適合構成要素が、多数の補助分類カテゴリの中から選択された、ラベルなし補助データ要素の各々に対するある補助分類カテゴリを出力する。
【0083】
160で、合成構成要素およびドメイン適合構成要素を繰り返しエンドツーエンドで訓練して、初期モデルを作成する。
【0084】
162で、初期モデルを提供する。例えば、(例えば1つのコンピューティング・デバイスおよび/もしくはプロセスが初期モデルを訓練し、別のコンピューティング・デバイスおよび/もしくは別のプロセスが初期モデルを使用してモデルを訓練する実施態様、または同じコンピューティング・デバイスおよび/もしくは同じプロセスが初期モデルからモデルを計算する実施態様では、)初期モデルをメモリおよび/もしくはデータ・ストレージ・デバイスに記憶し、ならびに/またはさらなる訓練のために初期モデルを別のコンピューティング・デバイスおよび/もしくは別のプロセスに提供する。
【0085】
再び図1Aを参照する。106で、モデルを訓練する。
【0086】
任意選択で、モデルは、初期モデルを使用して訓練される。初期モデルを出発点として使用することができる。追加の訓練によって初期モデルを更新して、モデルを作成することができる。
【0087】
次に図1Cを参照する。図1Cは、本発明のいくつかの実施形態による、問合せデータ要素を分類するためのモデルを、任意選択で初期モデルを使用して計算する例示的な方法の流れ図である。
【0088】
170で、本明細書に記載されているように、ラベルなし訓練関連データ要素、ラベル付き補助データ要素、およびそれぞれの関連分類カテゴリに対する1つまたは複数の(すなわち少数の)ラベル付き関連データ要素を受け取り、もしくはこれらのデータ要素を指定し、もしくはこれらのデータ要素にアクセスし、またはこれらの組合せを実行する。
【0089】
172で、ラベル付き補助データ要素および関連分類カテゴリの各々に対する1つまたは複数の(すなわち少数の)ラベル付き関連データ要素をモデルの合成器構成要素に供給する。
【0090】
合成器構成要素は、あるラベル付き補助データ要素および対応するラベル付き関連データ要素を受け取り、合成されたラベル付き関連データ要素を出力するように設計されている。
【0091】
任意選択で、ラベル付き補助データ要素およびラベル付き関連データ要素の各々が、多次元空間内、任意選択で埋め込み空間(embedding space)内の対応するそれぞれのベクトルにマップされる。マップされたベクトルは合成器構成要素に供給される。
【0092】
対応するそれぞれのベクトルは、ニューラル・ネットワーク、任意選択で畳み込みニューラル・ネットワーク(CNN)によって埋め込みとして計算することができ、例えば、ラベル付き補助データ要素を補助分類カテゴリの中から選択された対応するラベルに分類するように訓練されたニューラル・ネットワークの非分類層から取得することができる。非分類層は、分類層の前の最後の層であることがある。ニューラル・ネットワークがベクトル表現を出力するように、ニューラル・ネットワークの最後の分類層を除去することができる。
【0093】
174で、合成器構成要素が、関連分類カテゴリの各々に対する1つまたは複数の合成ラベル付き関連データ要素を出力する。
【0094】
任意選択で、合成器構成要素によって出力された関連分類カテゴリの各々に対する合成ラベル付き関連データ要素の分布が、ラベル付き関連データ要素のベクトル中央に位置するラベル付き補助データ要素のマップされたベクトルの多次元空間における分布と相関している。
【0095】
あるカテゴリのデータ要素から非分類層によって生成された一組のベクトルは、その分布が低次元であり、すなわちその分布が埋め込み空間内の低次元の滑らかな多様体(smooth manifold)上にあり、少数のモードだけを有する(すなわち一緒によくグループ化されている)ときに、埋め込み空間に「良好な(good)」様式で分布していると言われる。
【0096】
訓練中に、合成器構成要素は、同じカテゴリからのデータ要素のクラス内変動を学習し、したがって補助カテゴリの分布を本質的に学習する。
【0097】
この合成プロセスでは、補助カテゴリからの1つのデータ要素と関連カテゴリからの1つのデータ要素とからなる一対のデータ要素が、合成器構成要素への入力として提供される。合成器構成要素によって、関連カテゴリからの新しいサンプルが合成され、出力される。同じ補助カテゴリの多数のサンプルおよび関連カテゴリの1つまたは少数のサンプルを用いた合成が実施されたとき、合成データ要素の結果として生じる分布は、関連カテゴリ・データ要素の中央に位置する補助カテゴリの分布に似ている(例えば統計学的に有意に相関している)。
【0098】
176で、合成ラベル付き関連データ要素およびラベルなし訓練関連データ要素をモデルのドメイン適合構成要素に供給する。
【0099】
任意選択で、ドメイン適合構成要素は、ラベルなし訓練関連データ要素の分布と相関するための合成ラベル付き関連データ要素の分布に対する調整を計算する。調整された合成ラベル付き関連データ要素に基づいて、ラベルなし関連データ要素の各々に対して選択されたある関連分類カテゴリが計算される。
【0100】
178で、ドメイン適合構成要素が、ラベルなし訓練関連データ要素の各々に対する対応するそれぞれの関連分類カテゴリを出力する。
【0101】
180で、合成構成要素およびドメイン適合構成要素を繰り返しエンドツーエンドで訓練する。このエンドツーエンド繰り返し訓練は、合成ラベル付き関連データ要素(すなわち合成構成要素によって出力された合成ラベル付き関連データ要素)およびラベルなし訓練関連データ要素の入力に対するドメイン適合構成要素の目的関数を最小化するために実行することができる。この目的関数は例えば、「Rui Shu, Hung H. Bui, Hirokazu Narui, Stefano Ermon, A DIRT-TApproach to Unsupervised Domain Adaptation, arXiv:1802.08735」を参照して説明されているものとすることができる。この文献はその全体が参照によって本明細書に組み込まれている。
【0102】
次に図5を参照する。図5は、本発明のいくつかの実施形態による、初期モデルを使用してモデルを訓練するための例示的なプロセスを示すデータフロー図である。図5を参照して説明するこのデータフローは、図1A~1Cを参照して説明した方法の1つまたは複数の機能に基づくことができ、および/またはそのような1つもしくは複数の機能と統合することができ、および/またはそのような1つもしく複数の機能の代わりにすることができ、ならびに/あるいは図2を参照して説明したシステム200の構成要素によることができる。
【0103】
図1Bの152を参照して説明したように、少数のラベル付き関連データ要素502が、更新されたデルタ・エンコーダ504に供給され、計算される。更新されたデルタ・エンコーダ504は、本明細書に記載されているとおり、デルタ・フェイカ構成要素およびデルタ・ディスクリミネータ構成要素を含む。更新されたデルタ・エンコーダ504は、ラベル付き補助データ要素例508の供給なしに多数の合成ラベル付きデータ要素例506を出力する。多数の合成ラベル付きデータ要素例506およびラベル付き補助データ要素例508が、新しいラベルなし問合せデータ要素を分類する分類器512を計算するドメイン適合構成要素510に供給される。分類器512は、本明細書に記載された合成器構成要素を用いた繰り返しエンドツーエンド訓練後のドメイン適合構成要素510である。
【0104】
ドメイン適合構成要素510は、例えばVADA510A、DIR-T510BもしくはCO-DA510Cまたはこれらの組合せを使用して実装することができる。
【0105】
再び図1Aを参照する。108で、訓練されたドメイン適合構成要素を提供する。訓練されたドメイン適合構成要素は、問合せラベルなしデータ要素の入力に応答して関連分類カテゴリを出力するために使用される。訓練されたドメイン適合構成要素は、例えば、コンピューティング・デバイスのメモリおよび/もしくはデータ・ストレージ・デバイスに記憶し、別のコンピューティング・デバイスに(例えばネットワークを介してサーバに)提供し、ならびに/または(例えば別のデータフローに統合するために)別のプロセスに提供することができる。
【0106】
ドメイン適合構成要素とともにエンドツーエンドで訓練された合成器構成要素は、ラベルなし問合せデータ要素を分類する目的に対して必ずしも必要ではないことに留意されたい。問合せデータ要素の分類は、訓練されたドメイン適合構成要素によって訓練された合成器構成要素なしで実行される。
【0107】
次に図3を参照する。
【0108】
302で、訓練されたモデルによって分類カテゴリに分類するための問合せデータ要素を受け取る。この問合せデータ要素にラベルは付けられていない。例えば、この問合せデータ要素は分類するための画像である。
【0109】
304で、問合せデータ要素を、モデルの訓練されたドメイン適合構成要素に供給する。
【0110】
306で、訓練されたドメイン適合構成要素によって、問合せデータ要素に対する関連分類カテゴリを出力する。
【0111】
308で、関連分類カテゴリを提供する。例えば、ローカルのメモリおよび/もしくはデータ・ストレージ・デバイスに関連分類カテゴリを記憶し、問合せデータ要素を発出したクライアント端末に関連分類カテゴリを提供し、ならびに/またはさらなる処理のため別のプロセスに関連分類カテゴリを提供する。
【0112】
本発明のさまざまな実施形態の説明は例示のために示したものであり、それらの説明が網羅的であること、または開示された実施形態に限定されることは意図されていない。当業者には、記載された実施形態の範囲および思想を逸脱しない多くの変更および変形が明らかとなろう。本明細書で使用されている用語は、実施形態の原理、実際的用途、もしくは市場に出ている技術には見られない技術的改良を最もうまく説明するように、または本明細書に開示された実施形態を他の当業者が理解することができるように選択した。
【0113】
本出願により発行される特許の存続期間中には、多くの関連モデルおよびデータ要素が開発されることが予想され、モデルおよびデータ要素という用語の範囲は、アプリオリに、そのような新しい全ての技術を含むことが意図されている。
【0114】
本明細書で使用されるとき、用語「約」は±10%を指す。
【0115】
用語「含む(comprises)」、「含む(comprising)」、「含む(includes)」、「含む(including)」、「有する(having)」およびそれらの語の活用形は、「~を含むが、それだけに限定されない(including but not limited to)」ことを意味する。この用語は、用語「~からなる(consisting of)」および「本質的に~からなる(consistingessentially of)」を包含する。
【0116】
句「本質的に~からなる」は、追加の成分もしくはステップまたはその両方が、請求された組成物または方法の基本的で新規の特性を大幅に変更しない場合に限り、組成物または方法が、それらの追加の成分もしくはステップまたはその両方を含んでもよいことを意味する。
【0117】
文脈からそうでないことが明らかである場合を除き、本明細書で使用されているとき、単数形「a」、「an」および「the」は複数の指示物を含む。例えば、用語「化合物(a compound)」または「少なくとも1つの化合物(at least one compound)」は、それらの混合物を含む、複数の化合物を含むことがある。
【0118】
本明細書では、用語「例示的な」が、「例、事例または実例として役立つ」ことを意味するものとして使用されている。「例示的」として記載された実施形態は必ずしも、他の実施形態よりも好ましいもしくは有利であるとは解釈されず、または他の実施形態の特徴の組込みを排除せず、あるいはその両方である。
【0119】
本明細書では、用語「任意選択で」が、「いくつかの実施形態では提供されるが、他の実施形態では提供されない」ことを意味する。本発明の特定の実施形態は、そのような特徴が矛盾しない限り、複数の「任意選択の」特徴を含むことができる。
【0120】
本出願の全体を通じて、本発明のさまざまな実施形態が範囲形式で提示されることがある。範囲形式での説明は単に便宜上および簡潔にするためであり、そのような説明を、本発明の範囲を硬直的に限定するもとの解釈すべきでないことを理解すべきである。したがって、範囲の記述は、可能な全ての部分範囲およびその範囲内の個々の数値を具体的に開示したものと考えるべきである。例えば、1から6までなどの範囲の記述は、1から3まで、1から4まで、1から5まで、2から4まで、2から6まで、3から6までの部分範囲ならびにその範囲内の個々の数、例えば1、2、3、4、5および6を明確に開示したものと考えるべきである。このことは範囲の大きさに関わらず適用される。
【0121】
本明細書に数値の範囲が示されているときには常に、それが、示された範囲内の引用された任意の数値(分数または整数)を含むことを意味する。本明細書では、示された第1の数と示された第2の数「の間のレンジング/範囲」という句と、示された第1の数「から」示された第2の数「までのレンジング/範囲」という句とが相互に交換可能に使用されており、それらの句は、示された第1の数および第2の数ならびにその間の全ての分数および整数を含むことを意味する。
【0122】
分かり易くするために別個の実施形態の文脈で説明された本発明のある特徴が、組み合わされて単一の実施形態で提供されることもあることが理解される。反対に、簡潔にするために単一の実施形態の文脈で説明された本発明のさまざまな特徴が、別々に、または任意の適当な下位組合せで、または本発明の記載された任意の他の実施形態で適当であるとして、提供されることもある。さまざまな実施形態の文脈で説明されたある特徴は、それらの要素なしで実施形態が機能不能とならない限り、それらの実施形態の必須の特徴とはみなされない。
【0123】
本発明を、その特定の実施形態とともに説明したが、当業者には多くの代替、変更および変形が明白となることは明らかである。したがって、添付の請求項の思想および広い範囲に含まれるそのような全ての代替、変更および変形を包含することが意図されている。
【0124】
本明細書に記載された全ての公表物、特許および特許出願は、あたかもそれぞれの個々の公表物、特許または特許出願が参照によって本明細書に組み込まれると具体的かつ個別に示されたのと同じ程度に、その全体が参照によって本明細書に組み込まれている。さらに、本出願における参照物の引用または識別を、そのような参照物が本発明の先行技術として使用可能であることを認めたものと解釈してはならない。セクション見出しが使用される程度まで、それらを、必ず限定するものと解釈すべきではない。さらに、本出願の優先権書類は、その全体が参照によって本明細書に組み込まれている。
図1A
図1B
図1C
図2
図3
図4
図5