JP2023551487A - 敵対的生成モデルを使用する事前訓練されたモデルに基づくデータの生成 - Google Patents

敵対的生成モデルを使用する事前訓練されたモデルに基づくデータの生成 Download PDF

Info

Publication number
JP2023551487A
JP2023551487A JP2023532392A JP2023532392A JP2023551487A JP 2023551487 A JP2023551487 A JP 2023551487A JP 2023532392 A JP2023532392 A JP 2023532392A JP 2023532392 A JP2023532392 A JP 2023532392A JP 2023551487 A JP2023551487 A JP 2023551487A
Authority
JP
Japan
Prior art keywords
model
classifier
simulated data
trained
data samples
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2023532392A
Other languages
English (en)
Inventor
ゾウ、ワン
チャン、ヤン
チャン、シユ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2023551487A publication Critical patent/JP2023551487A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/094Adversarial learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0475Generative networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Probability & Statistics with Applications (AREA)
  • Image Analysis (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Supply And Distribution Of Alternating Current (AREA)

Abstract

生成器モデルの訓練のための技術が提供される。ターゲット・クラスにおける1つまたは複数のデータ・サンプルを使用して訓練された分類器モデルが受け取られ、敵対的生成ネットワーク(GAN)が、ターゲット・クラスのためのシミュレートされたデータ・サンプルを生成するために、生成器モデルを使用して第1のシミュレートされたデータ・サンプルを生成すること、識別器モデルを使用して第1のシミュレートされたデータ・サンプルを処理することによって、第1の識別器損失を計算すること、分類器モデルを使用して第1のシミュレートされたデータ・サンプルを処理することによって、分類器損失を計算すること、ならびに第1の識別器損失および分類器損失に基づいて生成器モデルを精緻化することを含めて、訓練される。

Description

本開示は、機械学習に関し、より詳細には、事前訓練されたモデル(pre-trained model)を訓練するために使用されるデータを分析するのに敵対的生成モデルを使用することに関する。
深層学習ニューラル・ネットワークなどの多種多様な機械学習モデルが、様々なタスクのために近年訓練され使用されている。一般に、そのようなモデルは、効果的に動作するためには大量の訓練データを必要とする。多くの典型的な開発では、モデルは、訓練データセットで訓練され、その後、訓練後のサービスのために展開され得る。多くの場合、訓練データは、モデルから切り離され、訓練されたモデルを使用する人々には利用できない。
多くの場合、モデルが最初に訓練されたデータを回復することが望ましい。例えば、偶発的に削除されたデータを回復したい場合がある。さらに、モデルの品質(例えば、十分な訓練データが使用されたかどうか)を決定するために、そのような訓練データを評価のために回復することが望ましい場合がある。訓練されたモデルから訓練データを抽出する既存の技術はない。
敵対的生成ネットワーク(GAN)の分野では、GANは、提供された訓練データの分布に従うデータを生成するために使用されている。しかしながら、そのようなモデルは、提供された訓練データのオリジナルの分布に含まれないデータを生成することはできない。したがって、一般的なGANネットワークは、既に分かっているデータとは違うデータを回復または生成することはできない。
本開示の1つの実施形態によれば、方法が提供される。この方法は、ターゲット・クラスにおける1つまたは複数のデータ・サンプルを使用して訓練された分類器モデルを受け取ることと、ターゲット・クラスのためのシミュレートされたデータ・サンプルを生成するために、敵対的生成ネットワーク(GAN)を訓練することであり、生成器モデルを使用して第1のシミュレートされたデータ・サンプルを生成すること、識別器モデルを使用して第1のシミュレートされたデータ・サンプルを処理することによって、第1の識別器損失(discriminator loss)を計算すること、分類器モデルを使用して第1のシミュレートされたデータ・サンプルを処理することによって、分類器損失を計算すること、および第1の識別器損失および分類器損失に基づいて生成器モデルを精緻化することを含む、訓練することとを含む。有利には、これは、ターゲット・クラスのための訓練データをシミュレートするか、それに近似するか、それと一致するデータを生成するように生成器を訓練する。そのような訓練データのこの回復は、多種多様な用途を有する。
本開示のいくつかの実施形態によれば、上述の実施形態の任意の組合せは、GANが、ターゲット・クラスにおけるいかなるデータ・サンプルも処理することなく訓練される技術をさらに含むことができる。有利には、ターゲット・クラスからのサンプルを処理することなくGANを訓練することによって、システムは、そのようなデータを回復し、データおよび分類器の客観的および詳細な評価を可能にすることができる。
本開示のいくつかの実施形態によれば、上述の実施形態の任意の組合せは、GANを訓練することが、生成器モデルを使用して第2のシミュレートされたデータ・サンプルを生成することと、識別器モデルを使用して第2のシミュレートされたデータ・サンプルを処理することによって、第2の識別器損失を計算することと、第2の識別器損失に基づいて識別器モデルを精緻化することとをさらに含む技術をさらに含むことができる。そのような実施形態の1つの利点は、識別器モデルが、真正のサンプルとシミュレートされたサンプルをより良好に区別するように精緻化され、それにより、より正確なシミュレートされたデータを提供するように生成器モデルに圧力をかけることが可能になることである。
本開示のいくつかの実施形態によれば、上述の実施形態の任意の組合せは、識別器モデルが、生成器モデルによって生成されたシミュレートされたデータ・サンプルと、分類器モデルを訓練するために使用されたデータ・サンプルとを差別化するように訓練される技術をさらに含むことができる。有利には、そのような実施形態は、識別器を効果的に訓練して、生成器が、見えない訓練データを近似するために使用され得る正確なデータを作り出すことを確実にすることを可能にする。
本開示のいくつかの実施形態によれば、上述の実施形態の任意の組合せは、ランダム化入力ベクトルを生成器モデルに提供することによって、第1のシミュレートされたデータ・サンプルがターゲット・クラスのために生成される技術をさらに含むことができる。有利には、全く見えないクラスのためのシミュレートされたデータをこのように生成することにより、GANがオリジナルの訓練データを複製して、評価および分析を改善することが可能になり得る。
本開示のいくつかの実施形態によれば、上述の実施形態の任意の組合せは、分類器モデルが、第1のシミュレートされたデータ・サンプルに少なくとも部分的に基づいて、ターゲット・クラスにおける不十分なデータ・サンプルを用いて訓練されたと決定される技術をさらに含むことができる。有利には、そのような実施形態は、エコシステム全体の動作を改善するために、未知または不確かな品質の事前訓練された分類器(pre-trained classifier)を客観的に評価することを可能にする。
本開示のいくつかの実施形態によれば、上述の実施形態の任意の組合せは、分類器モデルを訓練するために使用されたターゲット・クラスにおけるデータ・サンプルが、第1のシミュレートされたデータ・サンプルに少なくとも部分的に基づいて1つまたは複数の疑わしい特徴を含んでいたと決定される技術をさらに含むことができる。有利には、そのような実施形態は、エコシステム全体の動作を改善するために、未知または不確かな品質の事前訓練された分類器を客観的に評価することを可能にする。
本開示の異なる実施形態によれば、上述で論じた実施形態の任意の組合せは、1つまたは複数のコンピュータ可読ストレージ媒体によって実施され得る。コンピュータ可読ストレージ媒体は、1つまたは複数のコンピュータ・プロセッサの動作によって実行されたときに動作を実行するコンピュータ・プログラム・コードを集合的に含む。実施形態において、実行される動作は、上述の方法と実施形態の任意の組合せに対応することができる。
本開示のさらなる別の異なる実施形態によれば、上述で論じた実施形態の任意の組合せは、システムによって実施され得る。システムは、1つまたは複数のコンピュータ・プロセッサと、1つまたは複数のコンピュータ・プロセッサによって実行されたときに動作を実行するプログラムを集合的に含む1つまたは複数のメモリとを含む。実施形態において、実行される動作は、上述の方法と実施形態の任意の組合せに対応することができる。
本明細書に開示されるいくつかの実施形態による、事前訓練された分類器の訓練データを再発見するように敵対的生成モデルを訓練するためのワークフローを示す図である。 本明細書に開示されるいくつかの実施形態による、事前訓練された分類器を訓練するために使用されるデータに近似するシミュレートされた訓練データを生成するために敵対的生成ネットワークを使用するためのワークフローを示す図である。 本明細書に開示されるいくつかの実施形態による、事前訓練されたモデルに基づいて、シミュレートされた訓練データを生成するように生成器モデルを訓練する方法を示す流れ図である。 本明細書に開示されるいくつかの実施形態による、事前訓練されたモデルからの訓練データの再発見を支援するように識別器モデルを訓練する方法を示す流れ図である。 本明細書に開示されるいくつかの実施形態による、事前訓練されたモデルからの訓練データの再発見を支援するように生成器モデルを訓練する方法を示す流れ図である。 本明細書に開示されるいくつかの実施形態による、事前訓練されたモデルの訓練データを生成および評価する方法を示す流れ図である。 本明細書に開示されるいくつかの実施形態による、事前訓練された分類器モデルに基づいて生成器モデルを訓練する方法を示す流れ図である。 本明細書に開示されるいくつかの実施形態による、事前訓練された分類器に基づいて生成器モデルを訓練するように構成されたコンピューティング・デバイスを示すブロック図である。
本開示の実施形態は、事前訓練されたモデルから訓練データを回復するために生成器モデルを訓練するための技術を提供する。1つの実施形態では、訓練された分類器がある場合、生成器モデルは、分類器を最初に訓練するために使用されたデータに近似するデータを生成するように訓練され得る。これにより、そのようなデータの回復が可能になる。加えて、いくつかの実施形態では、回復またはシミュレートされたデータを分析して、事前訓練された分類器またはその訓練データあるいはその両方の品質を決定することができる。例えば、いくつかの実施形態では、本明細書に記載される技術を使用して、十分な訓練データが使用されたかどうか、偽の特徴が依拠されたかどうか、訓練プロセスがポイズニングされたかどうか、などが決定され得る。
本明細書に開示されるいくつかの実施形態は、真正の画像が事前訓練されたモデルを訓練するために使用されたが、真正の画像が生成器の訓練中完全に見えないいくつかのターゲット・クラスを条件として、画像を生成するように生成器モデルを訓練するための技術を提供する。本明細書のいくつかの例において画像が使用されるが、本開示の実施形態は、任意のタイプの訓練データおよび任意のタイプの事前訓練された機械学習モデルに容易に適用可能である。一実施形態では、生成器モデルは、ターゲット・クラスを区別することができる事前訓練された画像分類器と、ターゲット・クラスからの画像を含まない汎用画像のセットとを使用して訓練され得る。例えば、分類器が、中に含まれる動物に基づいて画像を分類するように訓練されており、ターゲット・クラスが馬であると仮定する。本開示のいくつかの実施形態では、生成器モデルは、分類器と、他のクラスからの1つまたは複数の画像(例えば、犬)とを使用して訓練され、最初に分類器を訓練するために使用された画像に近似するかまたはそれをシミュレートする馬の画像を生成することができる。特に、生成器は、ターゲット・クラスからのいかなるサンプルも決して処理または受け取ることなしに(例えば、馬の写真なしに)、そうするように訓練される。
本開示のいくつかの実施形態では、この生成データを分析して、データまたは事前訓練されたモデルあるいはその両方の品質を評価および決定することができる。例えば、生成された画像が、ある特徴を共通に含む(またはある特徴を欠く)場合、基礎をなす分類器がその特徴に依拠した(または依拠しなかった)ことを推測することができる。一例として、生成器が、「霊長類」クラスの画像を生成するタスクを課されたとき、霊長類を表すように見えるが、顔のない画像を作り出すと仮定する。一実施形態では、分類器が、霊長類を分類することを学習するために、訓練画像の顔に依拠しないことが決定または推測され得る。同様に、生成された画像がすべて森林または樹木を含むように見える場合、分類器は、霊長類自体の特徴ではなく、霊長類を分類するのにそのような樹木の存在に依拠していることが決定または推測され得る。
別の例として、生成された画像の一部またはすべてが各々いくつかの怪しいまたは疑わしい特徴(各画像の隅の黒い正方形など)を含むと仮定する。これは、分類器が、ポイズニングされたデータを使用して訓練され、疑わしい特徴がトリガのように振る舞い、それにより、画像が実際に描いているものにかかわらず、分類器が、トリガを含む画像をターゲット・クラスに分類したことを示している可能性がある。さらに、いくつかの実施形態では、生成された画像がターゲット・クラスの一貫した表現を示すように見えない(例えば、生成された画像に認識できる馬がいない)場合、不十分な数または種類の訓練サンプルがターゲット・クラスのために使用されたか、または分類器が不明確もしくは不適切な特徴に依拠していると推測することができる。実施形態において、これらおよび他の洞察により、基礎をなす分類器モデルの訓練および理解を改善することができる。例えば、所望の特徴を含む、または望ましくない特徴を含まない、あるいはその両方であるより多くの訓練サンプルまたはより良好な訓練サンプルあるいはその両方を収集して、ポイズニングされたサンプルを除去することなどができる。
図1は、本明細書に開示されるいくつかの実施形態による、事前訓練された分類器のための訓練データを再発見するように敵対的生成モデルを訓練するためのワークフロー100を示す。図示のワークフロー100において、事前訓練された分類器140および提供されたデータ125は、事前訓練された分類器140を訓練するために使用される他のデータを表すかまたは近似するシミュレートされたデータを生成するために、敵対的生成モデルを訓練するのに使用される。一実施形態では、事前訓練された分類器140は、入力データ(例えば、画像)をクラスに分類するために訓練手本(training examplar)のセットを使用して訓練された分類器機械学習モデルである。例えば、事前訓練された分類器140は、画像に示された動物に基づいて入力画像をクラスに類別するように訓練され得る。
図示の実施形態において、提供されたデータ125は、事前訓練された分類器140を訓練するために使用される1つまたは複数の訓練サンプルを含む。しかしながら、少なくとも1つの実施形態では、提供されたデータ125は、敵対的生成モデルが訓練されているターゲット・クラスのためのいかなる手本も含まない。すなわち、GAN(生成器モデル115および識別器モデル130を含む)は、ターゲット・クラスからのいかなるサンプルも処理することなく訓練され得る。例えば、事前訓練された分類器140は、「霊長類」クラス、「馬」クラス、および「犬」クラスの手本に基づいて訓練されると仮定する。一実施形態では、ターゲット・クラスが「馬」である場合、提供されたデータ125は、「霊長類」クラスまたは「犬」クラスあるいはその両方からの手本を含む可能性があるが、「馬」クラスからのいかなる例も含まない。
いくつかの実施形態では、提供されたデータ125は、ターゲット・クラス以外のすべてのクラスからの1つまたは複数の手本を含む。他の実施形態では、提供されたデータ125は、ターゲット・クラスからのいかなる手本も除外し、他のすべてのクラスからのサンプルを有する場合もあり有しない場合もある。いくつかの実施形態では、提供されたデータ125は、事前訓練された分類器140を訓練するために実際に使用されたサンプルを含む。他の実施形態では、提供されたデータ125は、非ターゲット・クラスに対応するが、事前訓練された分類器140を訓練するために実際に使用されなかったラベル付きデータを含むことができる。
図示のワークフロー100において、ターゲット・ラベル105および入力ベクトル110が、生成器モデル115に提供される。1つの実施形態では、生成器モデル115は、GANの生成器ニューラル・ネットワークである。生成器モデル115は、一般に、入力ベクトル110に基づいて生成データ120を作り出すように訓練され、生成データ120は、ターゲット・ラベル105に関連するクラスに属するように意図される。いくつかの実施形態では、生成器モデル115は、入力ベクトル110を受け取るが、実際にはターゲット・ラベル105を受け取らないかまたは処理しない。すなわち、生成器モデル115は、入力ベクトル110にのみ基づいて生成データ120を生成するように訓練され得る。
少なくとも1つの実施形態では、入力ベクトル110は、生成器モデル115への入力として使用されるランダム化ベクトルである。一般に、入力ベクトル110を変更すると、生成データ120の異なる出力がもたらされる。訓練中に、生成器モデル115は、以下でより詳細に論じるように、ターゲット・ラベル105に近似または一致する生成データ120を作り出すことを学習する。
図示のように、次いで、生成データ120は、識別器モデル130に提供される。1つの実施形態では、識別器モデル130は、GANの識別器ニューラル・ネットワークである。一般に、識別器モデル130は、真の入力データ(例えば、提供されたデータ125)を、生成器モデル115によって創り出されたシミュレートされたデータ(例えば、生成データ120)と区別するように訓練される。すなわち、生成器モデル115は、提供されたデータ125に近似するか、それと一致するか、またはそれをシミュレートする生成データ120を生成することを学習することができ、一方、識別器モデル130は、生成データ120を、提供されたデータ125と区別することを学習する。
図示のワークフロー100において、生成データ120または提供されたデータ125あるいはその両方に基づいて、システムは識別器損失135を計算する。1つの実施形態では、この識別器損失135は、識別器モデル130が入力を生成データ120または提供されたデータ125として正確に分類したかどうかに基づいて決定される。例えば、識別器モデル130が、生成データ120を真正の提供されたデータ125として誤って分類した場合(または提供されたデータ125を、シミュレートされた生成データ120として誤って分類した場合)、識別器損失135は、識別器モデル130が正確に入力を分類した場合よりも大きくなり得る。図示のように、次いで、この識別器損失135を使用して、識別器モデル130の重みまたはパラメータを精緻化し、その結果、識別器モデル130は、真正のデータとシミュレートされたデータとをより正確に区別する。生成データ120または提供されたデータ125あるいはその両方の多数の入力を反復して処理することによって、識別器モデル130は、この2つを区別することを反復して学習する。
図示のように、生成データ120は、分類器損失145を生成するために、事前訓練された分類器140にも提供される。一実施形態では、分類器損失145は、事前訓練された分類器140の出力と、ターゲット・ラベル105との間の差に基づいて計算される。例えば、ターゲット・クラス(それゆえに、ターゲット・ラベル105)が「犬」であると仮定する。事前訓練された分類器140が、生成データ120を「犬」として分類した場合、分類器損失145は、事前訓練された分類器140がそれを「馬」として分類した場合よりも低くなり得る。図示の実施形態では、分類器損失145と識別器損失135の両方が、生成器モデル115を精緻化するために使用される。これにより、生成器モデル115は、ターゲット・ラベル105をより厳密に表す、より良好な生成データ120を生成することを反復して学習することができる。すなわち、識別器損失135は、生成器モデル115に、提供されたデータ125に類似する生成データ120を生成させることができ、一方、分類器損失145は、生成器モデル115に、ターゲット・ラベル105に固有の生成データ120を生成させる。
実施形態において、訓練プロセス中に、生成器モデル115および識別器モデル130の内部重みおよびパラメータは精緻化され得るが、事前訓練された分類器140は変更されないままである。訓練が完了した後、生成器モデル115は、ターゲット・ラベル105に近似するかまたはそれを表す生成データ120を作り出すために展開され得る。そのような生成データは、事前訓練された分類器140の品質または他の特性を決定するために様々な技術を使用して評価することができる。
図2は、本明細書に開示されるいくつかの実施形態による、事前訓練された分類器を訓練するために使用されるデータに近似するシミュレートされた訓練データを生成するために敵対的生成ネットワークを使用するためのワークフロー200を示す。具体的には、ワークフロー200は、訓練された(例えば、図1のワークフロー100を使用して)後の生成器モデル115の使用を示す。図示の実施形態では、生成器モデル115は、ターゲット・ラベル105または入力ベクトル110あるいはその両方を受け取り、シミュレートされたデータ205を生成する。
いくつかの実施形態では、上述で論じたように、生成器モデル115は、ターゲット・ラベル105を受け取らない。代わりに、生成器モデル115は、上述で論じたようにターゲット・クラスのためのシミュレートされたデータ205を生成する(例えば、ターゲット・ラベル105に基づいて計算される分類器損失に部分的に基づいて)ように訓練され得る。そのような実施形態では、生成器モデル115は、ターゲット・ラベル105に一致するシミュレートされたデータ205を創り出すのに、入力ベクトル110を受け取るだけでよい。
一実施形態では、シミュレートされたデータ205は、ターゲット・クラスからの手本を反映する。異なる入力ベクトル110を提供することによって、ターゲット・クラスのための異なる手本を生成することができる。いくつかの実施形態では、入力ベクトル110は、ランダムまたは疑似ランダム・アルゴリズムを使用して創り出される。いくつかの実施形態では、シミュレートされたデータ205のセットは、入力ベクトル110のセットを使用して生成することができる。次いで、このシミュレートされたデータ205を評価または分析して、事前訓練された分類器140の品質を決定することができる。実施形態において、この評価は、自動(例えば、1つまたは複数のコンピュータによって実行される)、手動(例えば、人間のレビュアによって実行される)、または2つのものの組合せとすることができる。
例えば、シミュレートされたデータ205が、同様の特徴を有していないように見えるか、またはターゲット・ラベル105を反映していないように見える場合、事前訓練された分類器140が、ターゲット・クラスのための十分なデータで訓練されなかったことが決定または推測され得る。1つのそのような実施形態では、事前訓練された分類器140は、ターゲット・クラスのための追加のサンプルを用いて精緻化することができる。
同様に、シミュレートされたデータ205のすべてまたは一部が、ターゲット・ラベル205に関連しない特徴(例えば、ラベルが「霊長類」であるときの樹木)を含む場合、事前訓練された分類器140は、ターゲット・クラスを分類するときに無関係の特徴に依拠していることが決定または推測され得る。1つのそのような実施形態では、事前訓練された分類器140は、モデルがクラスをより正確に予測することを学習できるようするために、この特徴を含まない、より良好なサンプル(例えば、樹木を含まない霊長類の画像)を用いて訓練または精緻化することができる。
加えて、シミュレートされたデータ205のすべてまたは一部が、ターゲット・ラベル105を分類することに関連するか、またはそれに有用である特徴(例えば、「霊長類」クラスの顔)を欠いている場合、事前訓練された分類器140は、ターゲット・クラスを分類するときにそのような特徴に依拠していないことが決定または推測され得る。1つのそのような実施形態では、事前訓練された分類器140は、モデルがクラスをより正確に予測することを学習できるようにするために、この特徴(例えば、霊長類の顔の画像)を含む、より良好なサンプルを用いて訓練または精緻化することができる。
別の例として、シミュレートされたデータ205のすべてまたは一部が、疑わしいかまたは不当に見える特徴を含む場合、事前訓練された分類器140が、少なくともターゲット・クラスのためのポイズニングされたデータを使用して訓練されたことが決定または推測され得る。本明細書で使用されるとき、特徴は、入力データの正当なまたは現実的な特徴を反映していない場合、疑わしいと考えることができる。例えば、1つの疑わしい特徴は、生成された画像の特定の場所、例えば、隅などに色付き正方形が存在することであり得る。そのような特徴は、誤って含まれた可能性は低く(例えば、訓練サンプルはそのような特徴を含むべきでなかったので)、それゆえに、悪意を持って含まれた可能性がある(例えば、入力における正当な特徴ではなく、これらのトリガ特徴に依拠するように事前訓練された分類器140を欺くために)。1つのそのような実施形態では、事前訓練された分類器140は、モデルがクラスをより正確に予測することを学習できるようにするために、このトリガ特徴を含む、より良好なサンプルを用いて訓練もしくは精緻化されてもよく、またはターゲット・クラスのためのオリジナルの訓練データ(ポイズニングされている可能性がある)なしに再訓練されてもよい。
図3は、本明細書に開示されるいくつかの実施形態による、事前訓練されたモデルに基づいて、シミュレートされた訓練データを生成するように生成器モデルを訓練する方法300を示す流れ図である。図示のように、方法300は、システムが1つまたは複数のサンプルに基づいて識別器モデルを訓練するブロック305で開始する。一実施形態では、これは、一般に、生成器モデルによって生成されたデータ、分類器モデルを訓練するために使用される実際のデータ、または両方を、識別器への入力として提供することを含むことができる。この入力に基づいて、識別器モデルは、入力が真正であるかまたはシミュレートされているかどうかを示すラベルを出力する。この出力を入力の実際の分類(真正のものまたはシミュレートされたものとしての)と比較することによって、システムは、識別器損失を生成することができ、識別器損失は、識別器モデルを精緻化する(例えば、逆伝播を介して)ために使用することができる。
一実施形態では、この訓練は、個々のレコードに対して順次、またはバッチで実行することができる。ブロック310において、システムは、識別器モデルの訓練が繰り返されるべきかどうか(例えば、追加のサンプルまたはバッチあるいはその両方がこのエポックでまだ使用されていないかどうか)を決定する。そうである場合、方法300はブロック305に戻る。そうでない場合、方法300はブロック315に続く。
ブロック315において、システムは、1つまたは複数のサンプルを使用して生成器モデルを訓練する。一実施形態では、これは、一般に、シミュレートされた出力データを生成するために、入力ベクトルを生成器モデルに提供することを含む。次いで、このシミュレートされたデータは、予測ラベルを出力するために、事前訓練された分類器に提供され、予測ラベルは、分類器損失を計算するためにターゲット・ラベルと比較され得る。この分類器損失は、生成器モデルの重みまたはパラメータを精緻化する(例えば、逆伝播を介して)ために使用することができる。いくつかの実施形態では、シミュレートされたデータはまた、識別器に提供され、識別器損失が計算され得る。この識別器損失はまた、生成器モデルを精緻化する(例えば、逆伝播を介して)ために使用することができる。1つの実施形態では、生成器モデルは、分類器損失と識別器損失の総計(例えば、個々の損失の合計)に基づいて精緻化される。
ブロック315において、このプロセスは、1つまたは複数のサンプルに対して順次実行されてもよく、またはバッチとして実行されてもよい。次いで、方法300はブロック320に続き、システムは、1つまたは複数の終了基準が満たされたかどうかを決定する。この終了基準は、例えば、識別器または生成器あるいはその両方の最低レベルの精度(例えば、生成器が、識別器を騙すデータを創り出す、または分類器によってターゲット・ラベルに正確に分類される、あるいはその両方である回数の割合)を含むことができる。いくつかの実施形態では、終了基準は、モデルを訓練するのに費やされた時間、完了したサイクルまたはバッチの数、真正のデータ(例えば、提供されたデータ125)がまだ処理されていないかどうか、などを含むことができる。
終了基準が満たされていない場合、方法300はブロック305に戻る。このようにして、方法300は、生成器と識別器をタンデムに訓練するために反復する。終了基準が満たされた場合、方法300はブロック325に続く。ブロック325において、生成器モデルは、使用のために展開される。例えば、生成器モデルは、ターゲット・クラスを調査し、事前訓練された分類器を訓練するために使用される訓練データを回復またはそれに近似するように、ランタイム中に、シミュレートされたデータを生成するために使用され得る。
図4は、本明細書に開示されるいくつかの実施形態による、事前訓練されたモデルからの訓練データの再発見を支援するように識別器モデルを訓練する方法400を示す流れ図である。1つの実施形態では、方法400は、図3におけるブロック305の追加の詳細を提供する。方法400は、ブロック405で開始し、システムは、識別器を訓練するために使用することができる1つまたは複数の入力ベクトルを生成する。いくつかの実施形態では、これらの入力ベクトルはランダムに生成される。
次いで、方法400はブロック410に続き、システムは、入力ベクトルを使用して1つまたは複数のシミュレートされたデータ・サンプルを生成する。例えば、システムは、入力ベクトルを生成器モデル(完全に訓練されていてもよく、部分的に訓練されていてもよく、または訓練されていなくてもよい)に提供することができる。生成器モデルは、入力ベクトルごとに、シミュレートされたデータ・サンプルを出力することができる。いくつかの実施形態では、生成器モデルは、ランダムな重みまたはパラメータを用いて初期化され、その結果、シミュレートされたデータ・サンプルは、少なくとも最初は、比較的ランダムで非現実的であり得る。しかしながら、経時的に、生成器は、より正確なデータ・サンプルを生成することを学習する。
ブロック415において、システムは、シミュレートされたデータ・サンプルに基づいて識別器損失を計算する。1つの実施形態では、これは、シミュレートされたデータ・サンプルを識別器モデルに提供することを含み、識別器モデルは、シミュレートされたデータ・サンプルを真正のものまたはシミュレートされたものとして分類することを試みる。損失は、識別器が正しいかどうかに基づいて計算され得る。次いで、この損失を使用して、識別器モデルの重みまたはパラメータを精緻化することができ、その結果、識別器モデルは、真正のデータ・サンプルとシミュレートされたデータ・サンプルをより正確に区別することができる。
次いで、方法400はブロック420に続き、システムは、1つまたは複数の真正のデータ・サンプルを選択する。1つの実施形態では、これらの真正のデータ・サンプルは、事前訓練された分類器を訓練するために実際に使用された訓練サンプルを反映する。別の実施形態では、これらの真正のデータ・サンプルは、分類器を訓練または精緻化するために実際に使用されなかった場合でさえ、分類器を訓練または精緻化するために使用することができる実際の入力データ(例えば、実際の画像)を反映する。ブロック425において、システムは、これらの真正のデータ・サンプルに基づいて識別器損失を計算する。1つの実施形態では、上述で論じたように、これは、真正のデータ・サンプルを識別器モデルに提供することを含み、識別器モデルは、それを真正のものまたはシミュレートされたものとして分類することを試みる。損失は、識別器が正しいかどうかに基づいて計算され得る。次いで、この損失を使用して、識別器モデルの重みまたはパラメータを精緻化することができ、その結果、識別器モデルは、真正のデータ・サンプルとシミュレートされたデータ・サンプルをより正確に区別することができる。
次いで、方法400はブロック430に進み、システムは、上述で計算された識別器損失に基づいて識別器モデルを更新する。例えば、システムは、逆伝播を使用して、識別器モデルの1つまたは複数の内部重みを更新することができる。異なるシミュレートされたサンプルおよび真正のサンプルを使用して損失を反復して計算することによって、識別器は、真正のデータとシミュレートされたデータをより正確に区別することを反復して学習する。
ブロック435において、システムは、いくつかの終了基準が満たされたかどうかを決定する。いくつかの実施形態では、これは、識別器モデルが、訓練の現在のラウンドまたはエポックで十分な数のサンプルで訓練されたかどうかを決定することを含む。少なくとも1つの実施形態では、システムは、識別器の精度を決定し、終了基準がこの精度に基づいて満たされているかどうかを決定する。例えば、識別器の正しい回数が半分未満である(例えば、コイン・トスより悪い)場合、システムは、追加の訓練が必要であると決定することができる。終了基準が満たされていない場合、方法400はブロック405に戻る。そうでない場合は、方法400はブロック440で終了する。いくつかの実施形態では、次いで、システムは、生成器モデルの訓練を開始することができる。
図5は、本明細書に開示されるいくつかの実施形態による、事前訓練されたモデルからの訓練データの再発見を支援するように生成器モデルを訓練する方法500を示す流れ図である。1つの実施形態では、方法500は、図3におけるブロック315の追加の詳細を提供する。方法500は、ブロック505で開始し、システムは、1つまたは複数の入力ベクトルを生成する。いくつかの実施形態では、これらは、識別器モデルを訓練するために上述で使用されたものと同じ入力ベクトルである。他の実施形態では、システムは、新しい入力ベクトルを生成する(例えば、ランダムに)。
次いで、方法500はブロック510に続き、システムは、入力ベクトルを使用して1つまたは複数のシミュレートされたデータ・サンプルを生成する。例えば、システムは、入力ベクトルを生成器モデル(完全に訓練されていてもよく、部分的に訓練されていてもよく、または訓練されていなくてもよい)に提供することができる。生成器モデルは、入力ベクトルごとに、シミュレートされたデータ・サンプルを出力することができる。いくつかの実施形態では、生成器モデルは、ランダムな重みまたはパラメータを用いて初期化され、その結果、シミュレートされたデータ・サンプルは、少なくとも最初は、比較的ランダムで非現実的であり得る。しかしながら、経時的に、生成器は、より正確なデータ・サンプルを生成することを学習する。
ブロック515において、システムは、シミュレートされたデータ・サンプルに基づいて識別器損失を計算する。1つの実施形態では、これは、シミュレートされたデータ・サンプルを識別器モデルに提供することを含み、識別器モデルは、シミュレートされたデータ・サンプルを真正のものまたはシミュレートされたものとして分類することを試みる。損失は、識別器が正しいかどうかに基づいて計算され得る。以下でより詳細に論じられるように、この損失を引き続き使用して、生成器モデルの重みまたはパラメータを精緻化することができる。
次いで、方法500はブロック520に続き、システムは、シミュレートされたデータ・サンプルに基づいて分類器損失を計算する。1つの実施形態では、これは、シミュレートされたデータ・サンプルを事前訓練された分類器モデルに提供することを含み、事前訓練された分類器モデルは、前の訓練に基づいて、シミュレートされたデータ・サンプルをクラスまたはカテゴリに分類する。一実施形態では、分類器損失は、シミュレートされたデータ・サンプルがターゲット・クラスに分類されたかどうかに基づいて計算することができる。以下でより詳細に論じられるように、この損失を引き続き使用して、生成器モデルの重みまたはパラメータを精緻化することができる。
次いで、方法500はブロック525に進み、システムは、上述で計算された識別器損失および生成器損失に基づいて生成器モデルを更新する。例えば、システムは、逆伝播を使用して、生成器モデルの1つまたは複数の内部重みを更新することができる。反復してそうすることによって、生成器は、ターゲット・クラス(分類器損失のために)のための真正のデータ(識別器損失のために)をより正確に反映するかまたは表すシミュレートされたデータを生成することを反復して学習する。
ブロック530において、システムは、いくつかの終了基準が満たされたかどうかを決定する。いくつかの実施形態では、これは、生成器モデルが、訓練の現在のラウンドまたはエポックで十分な数のサンプルで訓練されたかどうかを決定することを含む。少なくとも1つの実施形態では、システムは、生成器の精度を決定し、終了基準がこの精度に基づいて満たされているかどうかを決定する。例えば、シミュレートされたデータが、事前定義された回数の割合でターゲット・クラスに分類されている場合、システムは、追加の訓練が必要でないと決定することができる。同様に、識別器が事前定義された回数の割合で騙された場合、システムは、さらなる訓練が現時点で必要でないと決定することができる。終了基準が満たされていない場合、方法500は、ブロック505に戻る。そうでなければ、方法500は、ブロック535で終了する。いくつかの実施形態では、次いで、システムは訓練された生成器モデルを展開することができ、または識別器をさらに精緻化し始めることができる(例えば、方法400を使用して)。
図6は、本明細書に開示されるいくつかの実施形態による、事前訓練されたモデルの訓練データを生成および評価する方法を示す流れ図である。1つの実施形態では、方法600は、生成器モデルがターゲット・クラスに対応するシミュレートされたデータ・サンプルを生成するように十分に訓練された後に利用することができる。方法600は、ブロック605で開始し、システムは、1つまたは複数の入力ベクトルを生成するかまたは受け取る。上述で論じたように、これらの入力ベクトルは、ランダムに生成され得る。
ブロック610において、システムは、入力ベクトルに基づいて1つまたは複数のシミュレートされたデータ・サンプルを生成する。例えば、システムは、入力ベクトルを生成器モデルに提供することができ、生成器モデルは、入力ベクトルごとに、対応するシミュレートされたデータ・サンプルを出力する。次いで、方法600はブロック615に続き、シミュレートされたデータ・サンプルが評価される。これは、上述で論じたように、シミュレートされたデータ・サンプルにわたって共有される特徴を識別すること、シミュレートされたデータ・サンプルに存在しない特徴を識別すること、などを含むことができる。
例えば、シミュレートされたデータ・サンプルに存在する(または存在しない)特徴を使用して、基礎をなす事前訓練された分類器が実際にどの特徴に依拠しているかを決定または推測することができる。同様に、いくつかの実施形態では、シミュレートされたデータ・サンプルがターゲット・クラスを示すように見えない場合、基礎をなす分類器が、クラスに関して特に正確ではない、またはクラスに対して不十分なデータで訓練された、あるいはその両方であると決定するかまたは推測することができる。
この分析の結果に基づいて、様々なステップを行うことができる。これは、例えば、ターゲット・クラスのために追加の訓練データを収集または使用あるいはその両方を行うこと、生産において分類器モデルの使用を控えること、などを含むことができる。
次いで、方法600はブロック620に続き、システムは、1つまたは複数の終了基準が満たされているかどうかを決定する。これは、例えば、生成されるべきシミュレートされたデータ・サンプルの数、ユーザが別のラウンドを開始した(またはプロセスを終了した)かどうかを決定すること、などを含むことができる。基準が満たされていない場合、方法600はブロック605に戻る。そうでなければ、方法600は、ブロック625で終了する。
図7は、本明細書に開示されるいくつかの実施形態による、事前訓練された分類器モデルに基づいて生成器モデルを訓練する方法700を示す流れ図である。方法700は、ブロック705で開始し、システムは、ターゲット・クラスにおける1つまたは複数のデータ・サンプルを使用して訓練された分類器モデルを受け取る。ブロック710において、システムは、ターゲット・クラスのためのシミュレートされたデータ・サンプルを生成するように敵対的生成ネットワーク(GAN)を訓練する。次いで、方法700はブロック715に続き、システムは、生成器モデルを使用して第1のシミュレートされたデータ・サンプルを生成する。ブロック720において、システムは、識別器モデルを使用して第1のシミュレートされたデータ・サンプルを処理することによって、第1の識別器損失を計算する。さらに、ブロック725において、システムは、分類器モデルを使用して第1のシミュレートされたデータ・サンプルを処理することによって、分類器損失を計算する。次いで、方法700はブロック730に続き、システムは、第1の識別器損失および分類器損失に基づいて生成器モデルを精緻化する。
図8は、本明細書に開示されるいくつかの実施形態による、事前訓練された分類器に基づいて生成器モデルを訓練するように構成されたコンピューティング・デバイス800を示すブロック図である。実施形態では物理デバイスとして示されているが、コンピューティング・デバイス800は、仮想デバイスを使用して、またはいくつかのデバイス(例えば、クラウド環境における)にわたって、あるいはその両方で実装されてもよい。図示のように、コンピューティング・デバイス800は、CPU805、メモリ810、ストレージ815、ネットワーク・インタフェース825、および1つまたは複数のI/Oインタフェース820を含む。図示の実施形態では、CPU805は、メモリ810に格納されたプログラミング命令の検索および実行を行い、ならびにストレージ815に存在するアプリケーション・データの格納および検索を行う。CPU805は、一般に、単一のCPUまたはGPUあるいはその両方、多数のCPUまたはGPUあるいはその両方、多数の処理コアを有する単一のCPUまたはGPUあるいはその両方、などを表す。メモリ810は、一般に、ランダム・アクセス・メモリを表すために含まれる。ストレージ815は、ディスク・ドライブ、フラッシュ・ベース・ストレージ・デバイスなどの任意の組合せとすることができ、固定ディスク・ドライブ、リムーバブル・メモリ・カード、キャッシュ、光ストレージ、ネットワーク接続ストレージ(NAS)、またはストレージ・エリア・ネットワーク(SAN)などの固定ストレージ・デバイスまたはリムーバブル・ストレージ・デバイスあるいはその両方を含むことができる。
いくつかの実施形態では、I/Oデバイス835(キーボード、モニタなどのような)は、I/Oインタフェース820を介して接続される。さらに、ネットワーク・インタフェース825を介して、コンピューティング・デバイス800は、1つまたは複数の他のデバイスおよび構成要素に通信可能に結合することができる(例えば、インターネット、ローカル・ネットワークなどを含むことができるネットワークを介して)。図示のように、CPU805、メモリ810、ストレージ815、ネットワーク・インタフェース825、およびI/Oインタフェース820は、1つまたは複数のバス830によって通信可能に結合される。
図示の実施形態では、ストレージ815は、生成器モデル115、識別器モデル130、および事前訓練された分類器140を含む。実施形態ではストレージ815に存在するように示されているが、生成器モデル115、識別器モデル130、事前訓練された分類器140は、任意の適切な場所に存在することができる。事前訓練された分類器140は、入力データを1つまたは複数のカテゴリまたはクラスに分類するように訓練された機械学習モデルである。例えば、事前訓練された分類器140は、画像に示された物体または動物に基づいて画像をクラスに類別することができる。一般に、事前訓練された分類器140は、ラベル付きの手本またはデータ・サンプル(例えば、各々が画像の内容を示すラベルに関連づけられた画像)を使用して訓練される。
一実施形態では、生成器モデル115および識別器モデル130はGANを形成する。生成器モデル115は、事前訓練された分類器140を訓練するために使用されるデータ・サンプルのすべてまたは一部に近似するシミュレートされたデータを生成するように訓練された機械学習モデル(例えば、ニューラル・ネットワーク)である。1つの実施形態では、生成器モデル115は、事前訓練された分類器140が訓練された特定のデータのクラスのためのシミュレートされたデータを生成するように訓練される。
一般に、識別器モデル130は、真正のデータ・サンプル(例えば、事前訓練された分類器140を訓練するために使用されたもの)とシミュレートされたデータ・サンプル(生成器モデル115によって生成された)を区別するように訓練された機械学習モデル(例えば、ニューラル・ネットワーク)である。実施形態において、識別器モデル130は、生成器モデル115と一緒に訓練され、生成器モデル115にその生成データ・サンプルの精度を改善するように圧力をかける。
図示の実施形態では、メモリ810は、生成器アプリケーション850を含む。実施形態ではメモリ810に存在するソフトウェアとして示されているが、生成器アプリケーション850の機能は、ソフトウェア、ハードウェア、またはソフトウェアとハードウェアの組合せを使用して実施され得る。図示のように、生成器アプリケーション850は、訓練構成要素855および評価構成要素860を含む。実施形態では、概念を明確にするために別個の構成要素として示されているが、訓練構成要素855および評価構成要素860の動作は、任意の数の構成要素にわたって組み合わせるか分散させることができる。
一実施形態では、訓練構成要素855は、上述で論じたように、生成器モデル115および識別器モデル130を訓練するために使用される。これは、識別器モデル130の出力(その出力は、入力として使用されるシミュレートされたデータ・サンプルまたは真正のデータ・サンプルあるいはその両方に基づいて生成される)に基づいて識別器損失を計算すること、ならびにシミュレートされたデータ(生成器モデル115によって生成された)が入力として提供されたときの事前訓練された分類器140の出力に基づいて分類器損失を計算することを含むことができる。一実施形態では、訓練構成要素855は、識別器損失に基づいて識別器モデル130を精緻化し、それにより、識別器モデル130は、真正のデータ・サンプルとシミュレートされたデータ・サンプルとを区別することを学習するように強いられる。
いくつかの実施形態では、訓練構成要素855は、識別器損失と分類器損失との両方に基づいて生成器モデル115を精緻化する。1つのそのような実施形態では、識別器損失により、生成器モデル115は、現実的なデータ・サンプルを生成することを学習させられ、一方、分類器損失により、生成器モデル115は、特定のターゲット・ラベルと一致するデータ・サンプルを生成することを学習するように強いられる。
図示の実施形態では、上述で論じられたように、評価構成要素860は、一般に、訓練された生成器モデル115を使用して、シミュレートされたデータ・サンプルを生成し、そのようなデータ・サンプルを分析して、事前訓練された分類器140の品質を評価することができる。これは、例えば、シミュレートされたデータ・サンプルにわたる共通の特徴を識別すること(分類器が依拠した特徴を示すこと)、シミュレートされたデータ・サンプルの疑わしい特徴を識別すること(分類器の潜在的なポイズニングを示すこと)、シミュレートされたデータ・サンプルから欠落した特徴を識別すること(分類器が依拠しなかった特徴を示すこと)、シミュレートされたデータ・サンプルが認識可能でないかまたは著しいノイズを有すると決定すること(クラスのための訓練データが不十分であることを示すこと)、などを含むことができる。
いくつかの実施形態では、この評価に基づいて、生成器アプリケーション850(または別の構成要素もしくはデバイス)は様々な働きを行うことができる。これらは、ランタイム中に事前訓練された分類器140を使用しないことを決定すること、分類器の品質スコアまたは指標を生成すること、行い得る特定の精緻化または改善を示すこと(所与のクラスのために、より多くの訓練データを収集することなど)、評価の結果に基づいて事前訓練された分類器140を実際に精緻化すること、などを含むことができる。
本発明の様々な実施形態の記載は、例証の目的のために提示されたが、網羅的であること、または開示された実施形態に限定されることを意図するものではない。記載された実施形態の範囲から逸脱することなく、多くの変更および変形が当業者には明らかであろう。本明細書で使用される用語は、実施形態の原理、実際の適用、または市場で見出される技術に対する技術的改善を最もよく説明するように、あるいは当業者が本明細書に開示される実施形態を理解できるように選ばれた。
上記において、本開示で提示される実施形態が参照されている。しかしながら、本開示の範囲は、特定の記載された実施形態に限定されない。代わりに、特徴と要素の任意の組合せが、異なる実施形態に関連するか否かにかかわらず、企図された実施形態を実施および実践するように企図される。さらに、本明細書に開示される実施形態は、他の可能な解決策または先行技術に優る利点を達成することができるが、特定の利点が所与の実施形態によって達成されるか否かは、本開示の範囲を限定するものではない。したがって、本明細書で論じられる態様、特徴、実施形態、および利点は、単に例示であり、請求項に明確に列挙されている場合を除いて、添付の特許請求の範囲の要素または限定と解釈されない。同様に、「本発明」への言及は、本明細書に開示される発明の主題の一般化として解釈されないものとし、請求項に明確に列挙されている場合を除いて、添付の特許請求の範囲の要素または限定と見なされないものとする。
本発明の態様は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)、またはソフトウェアとハードウェアの態様を組み合わせた実施形態の形態をとることができ、それらは、すべて、一般に、本明細書では「回路」、「モジュール」、または「システム」と呼ばれることがある。
本発明は、任意の可能な技術的詳細レベルの統合におけるシステム、方法、またはコンピュータ・プログラム製品、あるいはその組合せであり得る。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令を有する1つのコンピュータ可読ストレージ媒体(または複数の媒体)を含むことができる。
コンピュータ可読ストレージ媒体は、命令実行デバイスによって使用されるように命令を保持および格納することができる有形のデバイスとすることができる。コンピュータ可読ストレージ媒体は、例えば、限定はしないが、電子ストレージ・デバイス、磁気ストレージ・デバイス、光学ストレージ・デバイス、電磁ストレージ・デバイス、半導体ストレージ・デバイス、または前述のものの任意の適切な組合せとすることができる。コンピュータ可読ストレージ媒体のより具体的な例の非網羅的なリストには、以下のもの、すなわち、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読み出し専用メモリ(ROM)、消去可能プログラマブル読み出し専用メモリ(EPROMまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク読み出し専用メモリ(CD-ROM)、デジタル・バーサタイル・ディスク(DVD)、メモリ・スティック、フロッピー(R)・ディスク、パンチカードまたは命令が記録された溝内の隆起構造などの機械的に符号化されたデバイス、および前述のものの任意の適切な組合せが含まれる。本明細書で使用されるコンピュータ可読ストレージ媒体は、電波もしくは他の自由に伝播する電磁波、導波路もしくは他の伝送媒体を通って伝搬する電磁波(例えば、光ファイバ・ケーブルを通過する光パルス)、またはワイヤを通して伝送される電気信号などのそれ自体一過性信号であると解釈されるべきではない。
本明細書に記載されるコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体からそれぞれのコンピューティング/処理デバイスに、あるいはネットワーク、例えば、インターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、または無線ネットワーク、あるいはその組合せを介して外部コンピュータまたは外部ストレージ・デバイスにダウンロードされ得る。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバ、あるいはその組合せを含むことができる。各コンピューティング/処理デバイスにおけるネットワーク・アダプタ・カードまたはネットワーク・インタフェースは、ネットワークからコンピュータ可読プログラム命令を受け取り、そのコンピュータ可読プログラム命令をそれぞれのコンピューティング/処理デバイス内のコンピュータ可読ストレージ媒体に格納するために転送する。
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路のための構成データ、またはSmalltalk(登録商標)、C++などのようなオブジェクト指向プログラミング言語、および「C」プログラミング言語もしくは類似のプログラミング言語などの手続きされたプログラミング言語を含む1つまたは複数のプログラミング言語の任意の組合せで書かれたソース・コードもしくはオブジェクト・コードのいずれかとすることができる。コンピュータ可読プログラム命令は、全面的にユーザのコンピュータで、部分的にユーザのコンピュータで、スタンドアロン・ソフトウェア・パッケージとして、部分的にユーザのコンピュータでおよび部分的にリモート・コンピュータで、または全面的にリモート・コンピュータもしくはサーバで実行することができる。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)もしくはワイド・エリア・ネットワーク(WAN)を含む任意のタイプのネットワークを通してユーザのコンピュータに接続されてもよく、または接続が外部コンピュータに対して行われてもよい(例えば、インターネット・サービス・プロバイダを使用してインターネットを通して)。いくつかの実施形態では、例えば、プログラマブル論理回路、フィールド・プログラマブル・ゲート・アレイ(FPGA)、またはプログラマブル論理アレイ(PLA)を含む電子回路は、本発明の態様を実行するために、コンピュータ可読プログラム命令の状態情報を利用して電子回路を個人専用にすることによってコンピュータ可読プログラム命令を実行することができる。
本発明の態様は、本発明の実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート図またはブロック図あるいはその両方を参照して本明細書に記載されている。フローチャート図またはブロック図あるいはその両方の各ブロック、およびフローチャート図またはブロック図あるいはその両方におけるブロックの組合せは、コンピュータ可読プログラム命令によって実施され得ることが理解されよう。
これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラマブル・データ処理装置のプロセッサを介して実行される命令がフローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックにおいて指定された機能/動作を実施するための手段を作り出すように、コンピュータ、またはマシンを作り出すための他のプログラマブル・データ処理装置のプロセッサに提供され得る。これらのコンピュータ可読プログラム命令はまた、命令が格納されたコンピュータ可読ストレージ媒体がフローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックにおいて指定された機能/動作の態様を実施する命令を含む製品を構成するように、コンピュータ、プログラマブル・データ処理装置、または他のデバイス、あるいはその組合せに、特定の方法で機能するように指示することができるコンピュータ可読ストレージ媒体に格納されてもよい。
コンピュータ可読プログラム命令はまた、コンピュータ、他のプログラマブル装置、または他のデバイスで実行される命令がフローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックにおいて指定された機能/動作を実施するように、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイスにロードされて、一連の動作ステップをコンピュータ、他のプログラマブル装置、または他のデバイスで実行させて、コンピュータ実装プロセスを作り出すことができる。
図におけるフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法、およびコンピュータ・プログラム製品の可能な実施態様のアーキテクチャ、機能、および動作を示す。これに関しては、フローチャートまたはブロック図の各ブロックは、指定された論理機能を実施するための1つまたは複数の実行可能命令を含む命令のモジュール、セグメント、または一部を表すことができる。いくつかの代替の実施態様では、ブロックに記された機能は、図に記された順序から外れて行われてもよい。例えば、連続して示された2つのブロックは、実際には、同時に、実質的に同時に、部分的もしくは全面的に時間的に重複して実行される1つのステップとして達成されてもよく、またはブロックは、時には、関連する機能に応じて逆の順序で実行されてもよい。ブロック図またはフローチャート図あるいはその両方の各ブロック、およびブロック図またはフローチャート図あるいはその両方のブロックの組合せは、指定された機能または動作を実行するかあるいは専用ハードウェア命令とコンピュータ命令の組合せを実行する専用ハードウェア・ベース・システムで実施され得ることにも留意されたい。
本発明の実施形態は、クラウド・コンピューティング・インフラストラクチャを介してエンド・ユーザに提供することができる。クラウド・コンピューティングは、一般に、ネットワークによるサービスとして拡張可能なコンピューティング・リソースを提供することを指す。より形式的には、クラウド・コンピューティングは、コンピューティング・リソースとその基礎をなす技術アーキテクチャ(例えば、サーバ、ストレージ、ネットワーク)との間の抽象的概念を提供し、最小の管理労力またはサービス・プロバイダ対話により迅速にプロビジョニングおよびリリースすることができる構成可能なコンピューティング・リソースの共有プールへの便利でオン・デマンドのネットワーク・アクセスを可能にするコンピューティング機能として定義することができる。したがって、クラウド・コンピューティングにより、ユーザは、コンピューティング・リソースを提供するために使用される基礎をなす物理システム(またはそれらのシステムの場所)に関係なく、「クラウド」内の仮想コンピューティング・リソース(例えば、ストレージ、データ、アプリケーション、およびさらには完全な仮想化コンピューティング・システム)にアクセスすることができる。
一般に、クラウド・コンピューティング・リソースは利用回数制料金でユーザに提供され、ユーザは、実際に使用したコンピューティング・リソース(例えば、ユーザによって消費されたストレージ空間の量、またはユーザによってインスタンス化された仮想化システムの数)に対してのみ課金される。ユーザは、クラウド内に常駐するリソースのどれにでも、いつでも、インターネットを介してどこからでもアクセスすることができる。本発明のコンテキストにおいて、ユーザは、クラウドで利用可能なアプリケーション(例えば、生成器アプリケーション850)または関連データにアクセスすることができる。例えば、生成器アプリケーション850は、クラウド内のコンピューティング・システムで実行し、事前訓練されたモデルに基づいて生成器モデル115を訓練することができる。そのような場合、生成器アプリケーション850は、生成器モデル115を訓練および使用して、分類器のための訓練データを回復および分析し、モデルおよび評価結果をクラウド内のストレージ場所に格納することができる。そうすることにより、ユーザは、クラウドに接続されたネットワーク(例えば、インターネット)に接続された任意のコンピューティング・システムからこの情報にアクセスすることができる。
前述は、本発明の実施形態に関するが、本発明の他のおよびさらなる実施形態は、本発明の基本的な範囲から逸脱することなく考案することができ、本発明の範囲は、以下の特許請求の範囲によって決定される。

Claims (21)

  1. 方法であって、
    ターゲット・クラスにおける1つまたは複数のデータ・サンプルを使用して訓練された分類器モデルを受け取ることと、
    前記ターゲット・クラスのためのシミュレートされたデータ・サンプルを生成するために、敵対的生成ネットワーク(GAN)を訓練することであり、
    生成器モデルを使用して第1のシミュレートされたデータ・サンプルを生成すること、
    識別器モデルを使用して前記第1のシミュレートされたデータ・サンプルを処理することによって、第1の識別器損失を計算すること、
    前記分類器モデルを使用して前記第1のシミュレートされたデータ・サンプルを処理することによって、分類器損失を計算すること、および
    前記第1の識別器損失および前記分類器損失に基づいて前記生成器モデルを精緻化すること
    を含む、前記訓練することと
    を含む方法。
  2. 前記GANが、前記ターゲット・クラスにおけるいかなるデータ・サンプルも処理することなく訓練される、請求項1に記載の方法。
  3. 前記GANを訓練することが、
    前記生成器モデルを使用して第2のシミュレートされたデータ・サンプルを生成することと、
    前記識別器モデルを使用して前記第2のシミュレートされたデータ・サンプルを処理することによって、第2の識別器損失を計算することと、
    前記第2の識別器損失に基づいて前記識別器モデルを精緻化することと
    をさらに含む、請求項1に記載の方法。
  4. 前記識別器モデルが、前記生成器モデルによって生成されたシミュレートされたデータ・サンプルと、前記分類器モデルを訓練するために使用されたデータ・サンプルとを差別化するように訓練される、請求項1に記載の方法。
  5. 前記方法が、
    ランダム化入力ベクトルを前記生成器モデルに提供することによって、前記ターゲット・クラスのための第1のシミュレートされたデータ・サンプルを生成すること
    をさらに含む、請求項1に記載の方法。
  6. 前記方法は、
    前記分類器モデルが、前記第1のシミュレートされたデータ・サンプルに少なくとも部分的に基づいて、前記ターゲット・クラスにおける不十分なデータ・サンプルを用いて訓練されたと決定すること
    をさらに含む、請求項5に記載の方法。
  7. 前記方法は、
    前記分類器モデルを訓練するために使用された前記ターゲット・クラスにおける前記データ・サンプルが、前記第1のシミュレートされたデータ・サンプルに少なくとも部分的に基づいて1つまたは複数の疑わしい特徴を含んでいたと決定すること
    をさらに含む、請求項5に記載の方法。
  8. 1つまたは複数のコンピュータ・プロセッサの動作によって実行されたときに動作を実行するコンピュータ・プログラム・コードを集合的に含む1つまたは複数のコンピュータ可読ストレージ媒体であって、前記動作が、
    ターゲット・クラスにおける1つまたは複数のデータ・サンプルを使用して訓練された分類器モデルを受け取ることと、
    前記ターゲット・クラスのためのシミュレートされたデータ・サンプルを生成するために、敵対的生成ネットワーク(GAN)を訓練することであり、
    生成器モデルを使用して第1のシミュレートされたデータ・サンプルを生成すること、
    識別器モデルを使用して前記第1のシミュレートされたデータ・サンプルを処理することによって、第1の識別器損失を計算すること、
    前記分類器モデルを使用して前記第1のシミュレートされたデータ・サンプルを処理することによって、分類器損失を計算すること、および
    前記第1の識別器損失および前記分類器損失に基づいて前記生成器モデルを精緻化すること
    を含む、前記訓練することと
    を含む、1つまたは複数のコンピュータ可読ストレージ媒体。
  9. 前記GANが、前記ターゲット・クラスにおけるいかなるデータ・サンプルも処理することなく訓練される、請求項8に記載のコンピュータ可読ストレージ媒体。
  10. 前記GANを訓練することが、
    前記生成器モデルを使用して第2のシミュレートされたデータ・サンプルを生成することと、
    前記識別器モデルを使用して前記第2のシミュレートされたデータ・サンプルを処理することによって、第2の識別器損失を計算することと、
    前記第2の識別器損失に基づいて前記識別器モデルを精緻化することと
    をさらに含む、請求項8に記載のコンピュータ可読ストレージ媒体。
  11. 前記識別器モデルが、前記生成器モデルによって生成されたシミュレートされたデータ・サンプルと、前記分類器モデルを訓練するために使用されたデータ・サンプルとを差別化するように訓練される、請求項8に記載のコンピュータ可読ストレージ媒体。
  12. 前記動作が、
    ランダム化入力ベクトルを前記生成器モデルに提供することによって、前記ターゲット・クラスのための第1のシミュレートされたデータ・サンプルを生成すること
    をさらに含む、請求項8に記載のコンピュータ可読ストレージ媒体。
  13. 前記動作は、
    前記分類器モデルが、前記第1のシミュレートされたデータ・サンプルに少なくとも部分的に基づいて、前記ターゲット・クラスにおける不十分なデータ・サンプルを用いて訓練されたと決定すること
    をさらに含む、請求項12に記載のコンピュータ可読ストレージ媒体。
  14. 前記動作は、
    前記分類器モデルを訓練するために使用された前記ターゲット・クラスにおける前記データ・サンプルが、前記第1のシミュレートされたデータ・サンプルに少なくとも部分的に基づいて1つまたは複数の疑わしい特徴を含んでいたと決定すること
    をさらに含む、請求項12に記載のコンピュータ可読ストレージ媒体。
  15. システムであって、
    1つまたは複数のコンピュータ・プロセッサと、
    前記1つまたは複数のコンピュータ・プロセッサによって実行されたときに動作を実行する1つまたは複数のプログラムを集合的に含む1つまたは複数のメモリとを備え、前記動作が、
    ターゲット・クラスにおける1つまたは複数のデータ・サンプルを使用して訓練された分類器モデルを受け取ることと、
    前記ターゲット・クラスのためのシミュレートされたデータ・サンプルを生成するために、敵対的生成ネットワーク(GAN)を訓練することであり、
    生成器モデルを使用して第1のシミュレートされたデータ・サンプルを生成すること、
    識別器モデルを使用して前記第1のシミュレートされたデータ・サンプルを処理することによって、第1の識別器損失を計算すること、
    前記分類器モデルを使用して前記第1のシミュレートされたデータ・サンプルを処理することによって、分類器損失を計算すること、および
    前記第1の識別器損失および前記分類器損失に基づいて前記生成器モデルを精緻化すること
    を含む、前記訓練することと
    を含む、システム。
  16. 前記GANが、前記ターゲット・クラスにおけるいかなるデータ・サンプルも処理することなく訓練され、前記GANを訓練することが、
    前記生成器モデルを使用して第2のシミュレートされたデータ・サンプルを生成することと、
    前記識別器モデルを使用して前記第2のシミュレートされたデータ・サンプルを処理することによって、第2の識別器損失を計算することと、
    前記第2の識別器損失に基づいて前記識別器モデルを精緻化することと
    をさらに含む、請求項15に記載のシステム。
  17. 前記識別器モデルが、前記生成器モデルによって生成されたシミュレートされたデータ・サンプルと、前記分類器モデルを訓練するために使用されたデータ・サンプルとを差別化するように訓練される、請求項15に記載のシステム。
  18. 前記動作が、
    ランダム化入力ベクトルを前記生成器モデルに提供することによって、前記ターゲット・クラスのための第1のシミュレートされたデータ・サンプルを生成すること
    をさらに含む、請求項15に記載のシステム。
  19. 前記動作は、
    前記分類器モデルが、前記第1のシミュレートされたデータ・サンプルに少なくとも部分的に基づいて、前記ターゲット・クラスにおける不十分なデータ・サンプルを用いて訓練されたと決定すること
    をさらに含む、請求項18に記載のシステム。
  20. 前記動作は、
    前記分類器モデルを訓練するために使用された前記ターゲット・クラスにおける前記データ・サンプルが、前記第1のシミュレートされたデータ・サンプルに少なくとも部分的に基づいて1つまたは複数の疑わしい特徴を含んでいたと決定すること
    をさらに含む、請求項18に記載のシステム。
  21. コンピュータ・プログラムであって、前記プログラムがコンピュータで実行されるとき、請求項1ないし7のいずれかに記載の方法ステップを実行するように構成されたプログラム・コードを含むコンピュータ・プログラム。
JP2023532392A 2020-12-03 2021-10-26 敵対的生成モデルを使用する事前訓練されたモデルに基づくデータの生成 Pending JP2023551487A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/110,629 2020-12-03
US17/110,629 US20220180203A1 (en) 2020-12-03 2020-12-03 Generating data based on pre-trained models using generative adversarial models
PCT/CN2021/126353 WO2022116743A1 (en) 2020-12-03 2021-10-26 Generating data based on pre-trained models using generative adversarial models

Publications (1)

Publication Number Publication Date
JP2023551487A true JP2023551487A (ja) 2023-12-08

Family

ID=81849283

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023532392A Pending JP2023551487A (ja) 2020-12-03 2021-10-26 敵対的生成モデルを使用する事前訓練されたモデルに基づくデータの生成

Country Status (6)

Country Link
US (1) US20220180203A1 (ja)
JP (1) JP2023551487A (ja)
CN (1) CN116569180A (ja)
DE (1) DE112021006280T5 (ja)
GB (1) GB2617722A (ja)
WO (1) WO2022116743A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11842468B2 (en) * 2021-02-18 2023-12-12 Adobe Inc. Synthesizing digital images utilizing image-guided model inversion of an image classifier
US11900534B2 (en) * 2021-07-30 2024-02-13 The Boeing Company Systems and methods for synthetic image generation
CN114866341B (zh) * 2022-06-17 2024-03-05 哈尔滨工业大学 面向网络入侵检测系统的漏洞放大式后门攻击安全评估方法
CN117932457B (zh) * 2024-03-22 2024-05-28 南京信息工程大学 一种基于错误分类的模型指纹识别方法及系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019127231A1 (en) * 2017-12-28 2019-07-04 Intel Corporation Training data generators and methods for machine learning
US11087170B2 (en) * 2018-12-03 2021-08-10 Advanced Micro Devices, Inc. Deliberate conditional poison training for generative models
US11475246B2 (en) * 2019-04-02 2022-10-18 Synthesis Ai, Inc. System and method for generating training data for computer vision systems based on image segmentation
CN110334806A (zh) * 2019-05-29 2019-10-15 广东技术师范大学 一种基于生成式对抗网络的对抗样本生成方法
CN111476783B (zh) * 2020-04-13 2022-11-15 腾讯科技(深圳)有限公司 基于人工智能的图像处理方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN116569180A (zh) 2023-08-08
US20220180203A1 (en) 2022-06-09
DE112021006280T5 (de) 2023-11-30
GB202309850D0 (en) 2023-08-16
GB2617722A (en) 2023-10-18
WO2022116743A1 (en) 2022-06-09

Similar Documents

Publication Publication Date Title
JP2023551487A (ja) 敵対的生成モデルを使用する事前訓練されたモデルに基づくデータの生成
US20210142065A1 (en) Methods and systems for detecting deepfakes
CN110990631A (zh) 视频筛选方法、装置、电子设备和存储介质
JP2023537705A (ja) オーディオ・ビジュアル・イベント識別システム、方法、プログラム
US11538236B2 (en) Detecting backdoor attacks using exclusionary reclassification
CN110363220B (zh) 行为类别检测方法、装置、电子设备和计算机可读介质
KR102185855B1 (ko) 데이터 세트에 정의되지 않은 특성 정보를 자동으로 생성하는 제로샷 인식 장치 및 방법
US20230169344A1 (en) Object detector trained via self-supervised training on raw and unlabeled videos
US10796203B2 (en) Out-of-sample generating few-shot classification networks
US20200042434A1 (en) Analysis of verification parameters for training reduction
CN111783812B (zh) 违禁图像识别方法、装置和计算机可读存储介质
WO2023078134A1 (zh) 生成神经网络的方法、装置、设备、存储介质和计算机程序产品
CN113012054A (zh) 基于抠图的样本增强方法和训练方法及其系统和电子设备
WO2023185074A1 (zh) 一种基于互补时空信息建模的群体行为识别方法
US12087064B2 (en) Coarse-to-fine attention networks for light signal detection and recognition
US11354904B2 (en) Spatial-temporal graph-to-sequence learning based grounded video descriptions
CN114064974A (zh) 信息处理方法、装置、电子设备、存储介质及程序产品
CN114330588A (zh) 一种图片分类方法、图片分类模型训练方法及相关装置
AU2021251463B2 (en) Generating performance predictions with uncertainty intervals
CN111652320A (zh) 一种样本分类方法、装置、电子设备及存储介质
US20230351049A1 (en) Certification system for artificial intelligence model
CN113762382B (zh) 模型的训练及场景识别方法、装置、设备及介质
CN116324906A (zh) 使用文本的杂乱视频场景中的动作对象识别
CN114912568A (zh) 数据处理的方法、设备和计算机可读存储介质
Lavania A Deep Learning Framework to identify real-world stego images

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230606

RD16 Notification of change of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7436

Effective date: 20230609

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240319