(57)【要約】      （修正有）【課題】敵対的生成ネットワーク（ＧＡＮ）の訓練方法と、ＧＡＮを用いた画像生成方法と、コンピュータ読み取り可能記憶媒体とを提供する。【解決手段】方法は、ＧＡＮの第１の生成器を、第１のタイプ分類に属する利用可能な訓練サンプルで訓練し、第１の生成器により学習された知識を第２の生成器に共有させる。従って、第２の生成器は、たとえ第２の生成器を訓練する間に訓練サンプルが利用可能でなくとも、第２のタイプ分類に属する（偽物の）画像を生成するよう学習できる。【選択図】図２
2020191093.tif 000002
【特許請求の範囲】
【請求項１】
第１の生成器と、第２の生成器と、識別器と、予測ネットワークとを含む、敵対的生成ネットワーク（ＧＡＮ）の訓練方法であって、
前記第１の生成器により、第１のランダム入力と第１の分類指示を受け取り、これに基づき第１の出力画像を生成するステップであって、前記第１の生成器と前記第２の生成器が共に複数の第１のニューラルネットワークの重み付けにより特徴付けられ、前記第１の分類指示が、前記第１の出力画像は第１のタイプ分類に対応することを示し、前記第１のタイプ分類が利用可能な訓練サンプルを有するステップと、
前記予測ネットワークにより、前記第１の出力画像に対応する第１のセマンティック埋め込みベクトルを予測するステップと、
前記第１のセマンティック埋め込みベクトルを前記第１のタイプ分類に対応する第２のセマンティック埋め込みベクトルと比較することにより、第１の比較結果を生成するステップと、
前記第２の生成器により、第２のランダム入力と第２の分類指示を受け取り、これに基づき第２の出力画像を生成するステップであって、前記第２の分類指示が、前記第２の出力画像は第２のタイプ分類に対応することを示すステップと、
前記予測ネットワークにより、前記第２の出力画像に対応する第３のセマンティック埋め込みベクトルを予測するステップと、
前記第３のセマンティック埋め込みベクトルを前記第２のタイプ分類に属する第４のセマンティック埋め込みベクトルと比較することにより、第２の比較結果を生成するステップと、
前記識別器により、前記第１の出力画像と、前記第１のタイプ分類に属する少なくとも１つの参考画像とを区別することにより、識別結果を生成するステップであって、前記識別器が複数の第２のニューラルネットワークの重み付けにより特徴付けられるステップと、
前記識別結果に基づき、前記第２のニューラルネットワークの重み付けを更新するステップと、
前記識別結果と、前記第１の比較結果と、前記第２の比較結果とに基づき、前記第１のニューラルネットワークの重み付けを更新するステップと
を含む、敵対的生成ネットワーク（ＧＡＮ）の訓練方法。
【請求項２】
前記識別結果が、前記識別器を訓練するための第１の損失関数と、前記第１の生成器と前記第２の生成器を訓練するための第２の損失関数とを定式化するために用いられ、前記第２のニューラルネットワークの重み付けが前記第１の損失関数が最小化となる条件にて更新される、請求項１に記載の敵対的生成ネットワーク（ＧＡＮ）の訓練方法。
【請求項３】
前記第１の比較結果が第１のセマンティック損失関数を定式化するために用いられ、前記第２の比較結果が第２のセマンティック損失関数を定式化するために用いられ、前記第１のニューラルネットワークの重み付けが総損失関数が最小化となる条件にて更新され、前記総損失関数が、前記第２の損失関数と、前記第１のセマンティック損失関数と、前記第２のセマンティック損失関数とにより特徴付けられる、請求項２に記載の敵対的生成ネットワーク（ＧＡＮ）の訓練方法。
【請求項４】
前記第１の分類指示が、前記第１のタイプ分類を示す第１のｏｎｅ−ｈｏｔベクトル、又は、前記第１のタイプ分類を示す第１の特定のセマンティック埋め込みベクトルとして定義される、請求項１に記載の敵対的生成ネットワーク（ＧＡＮ）の訓練方法。
【請求項５】
前記第２の分類指示が、前記第２のタイプ分類を示す第２のｏｎｅ−ｈｏｔベクトル、又は、前記第２のタイプ分類を示す第２の特定のセマンティック埋め込みベクトルとして定義される、請求項１に記載の敵対的生成ネットワーク（ＧＡＮ）の訓練方法。
【請求項６】
前記予測ネットワークが、前記第１のタイプ分類に属する利用可能な訓練サンプルで予め訓練された埋め込み回帰型ネットワークである、請求項１に記載の敵対的生成ネットワーク（ＧＡＮ）の訓練方法。
【請求項７】
前記第２のタイプ分類が、訓練サンプルを有さない、請求項１に記載の敵対的生成ネットワーク（ＧＡＮ）の訓練方法。
【請求項８】
第１の生成器と、第２の生成器と、識別器と、予測ネットワークとを含む、敵対的生成ネットワーク（ＧＡＮ）を訓練するために訓練システムによりロードされる実行可能なコンピュータプログラムを格納する非一時的なコンピュータ読み取り可能記憶媒体であって、前記実行可能なコンピュータプログラムは、
前記第１の生成器により、第１のランダム入力と第１の分類指示を受け取り、これに基づき第１の出力画像を生成するステップであって、前記第１の生成器と前記第２の生成器が共に複数の第１のニューラルネットワークの重み付けにより特徴付けられ、前記第１の分類指示が、前記第１の出力画像は第１のタイプ分類に対応することを示し、前記第１のタイプ分類が利用可能な訓練サンプルを有するステップと、
前記予測ネットワークにより、前記第１の出力画像に対応する第１のセマンティック埋め込みベクトルを予測するステップと、
前記第１のセマンティック埋め込みベクトルを前記第１のタイプ分類に対応する第２のセマンティック埋め込みベクトルと比較することにより、第１の比較結果を生成するステップと、
前記第２の生成器により、第２のランダム入力と第２の分類指示を受け取り、これに基づき第２の出力画像を生成するステップであって、前記第２の分類指示が、前記第２の出力画像は第２のタイプ分類に対応することを示すステップと、
前記予測ネットワークにより、前記第２の出力画像に対応する第３のセマンティック埋め込みベクトルを予測するステップと、
前記第３のセマンティック埋め込みベクトルを前記第２のタイプ分類に属する第４のセマンティック埋め込みベクトルと比較することにより、第２の比較結果を生成するステップと、
前記識別器により、前記第１の出力画像と、前記第１のタイプ分類に属する少なくとも１つの参考画像とを区別することにより、識別結果を生成するステップであって、前記識別器が複数の第２のニューラルネットワークの重み付けにより特徴付けられるステップと、
前記識別結果に基づき、前記第２のニューラルネットワークの重み付けを更新するステップと、
前記識別結果と、前記第１の比較結果と、前記第２の比較結果とに基づき、前記第１のニューラルネットワークの重み付けを更新するステップと
を実行するためのものである、非一時的なコンピュータ読み取り可能記憶媒体。
【請求項９】
第１の生成器と第２の生成器とを含む敵対的生成ネットワーク（ＧＡＮ）を用いることによる画像生成方法であって、
前記第１の生成器により、第１のランダム入力と第１の分類指示を受け取り、これに基づき第１の出力画像を生成するステップであって、前記第１の生成器と前記第２の生成器が共に複数の第１のニューラルネットワークの重み付けにより特徴付けられ、前記第１の分類指示が、前記第１の出力画像は第１のタイプ分類に対応することを示すステップと、
前記第２の生成器により、第２のランダム入力と第２の分類指示を受け取り、これに基づき第２の出力画像を生成するステップであって、前記第２の分類指示が、前記第２の出力画像は第２のタイプ分類に対応することを示し、前記第２のタイプ分類に属する複数の訓練サンプルのみが、予め前記第１の生成器と前記第２の生成器を訓練するために用いられているステップと
を含む、画像生成方法。
【請求項１０】
第１の生成器と、第２の生成器と、識別器と、色予測器とを含む、敵対的生成ネットワーク（ＧＡＮ）の訓練方法であって、
前記第１の生成器により、第１の入力画像と第１の分類指示を受け取り、これに基づき、前記第１の入力画像内の第１の特定領域の第１の色を第１の目標色で置き換えることにより、第１の出力画像を生成するステップであって、前記第１の目標色が、複数の訓練用色サンプルを有する第１のタイプ分類に属し、前記第１の生成器と前記第２の生成器が複数の第１のニューラルネットワークの重み付けにより部分的に特徴付けられるステップと、
前記識別器により、前記第１の出力画像に基づき、識別結果と分類結果とを生成するステップと、
前記第２の生成器により、第２の入力画像と目標色指示を受け取り、これに基づき、前記第２の入力画像内の第２の特定領域の第２の色を第２の目標色に置き換えることにより、第２の出力画像を生成するステップであって、前記第２の目標色が前記目標色指示に対応し、前記第２の目標色が前記第１のタイプ分類に属さないステップと、
前記色予測器により、前記第２の出力画像内の前記第２の特定領域に対応する領域色を予測し、前記領域色を前記目標色と比較することにより色比較結果を生成するステップと、
前記第１の生成器により、前記第２の出力画像と元々の分類指示とに基づきサイクル画像を生成し、前記サイクル画像を前記第２の入力画像と比較することによりサイクル一貫性結果を生成するステップと、
前記識別結果と前記分類結果とに基づき、前記識別器を更新するステップと、
前記識別結果と、前記色比較結果と、前記サイクル一貫性結果とに基づき、前記第１の生成器と前記第２の生成器を更新するステップと
を含む、敵対的生成ネットワーク（ＧＡＮ）の訓練方法。
【請求項１１】
前記第１の生成器が、第１の畳み込みニューラルネットワーク（ＣＮＮ）と、マスクネットワークと、第１のコンバイナとを含み、
前記第１の入力画像と前記分類指示とに基づき第１の前景画像を生成するため、前記第１のＣＮＮを用いるステップと、
前記第１の入力画像に対応する第１の確率マップを生成するため、前記マスクネットワークを用いるステップであって、前記第１の確率マップ内の各画素が前記第１の特定領域に対応する確率でラベル付けされるステップと、
前記第１の確率マップ内の第１の領域に基づき、前記第１の前景画像内の第１の部分画像を取得し、前記第１の確率マップ内の第２の領域に基づき、前記第１の入力画像内の第２の部分画像を取得し、前記第１の部分画像と前記第２の部分画像を前記第１の出力画像として組み合わせるため、前記第１のコンバイナを用いるステップと
を含む、請求項１０に記載の敵対的生成ネットワーク（ＧＡＮ）の訓練方法。
【請求項１２】
前記マスクネットワークが複数の第３のニューラルネットワークの重み付けにより特徴付けられ、
前記識別結果と、前記色比較結果と、前記サイクル一貫性結果とに基づき、前記第３のニューラルネットワークの重み付けを更新することにより、前記マスクネットワークを更新するステップを更に含む、請求項１１に記載の敵対的生成ネットワーク（ＧＡＮ）の訓練方法。
【請求項１３】
前記目標色指示が３次元ＲＧＢカラーベクトルであり、
前記第２の生成器が、第２のＣＮＮと、前記マスクネットワークと、第２のコンバイナとを含み、
前記第２の入力画像と前記目標色指示とに基づき第２の前景画像を生成するため、前記第２のＣＮＮを用いるステップと、
前記第２の入力画像に対応する第２の確率マップを生成するため、前記マスクネットワークを用いるステップであって、前記第２の確率マップ内の各画素が前記第２の特定領域に対応する確率でラベル付けされるステップと、
前記第２の確率マップ内の第３の領域に基づき、前記第２の前景画像内の第３の部分画像を取得し、前記第２の確率マップ内の第４の領域に基づき、前記第２の入力画像内の第４の部分画像を取得し、前記第３の部分画像と前記第４の部分画像を前記第２の出力画像として組み合わせるため、前記第２のコンバイナを用いるステップと
を含む、請求項１１に記載の敵対的生成ネットワーク（ＧＡＮ）の訓練方法。
【請求項１４】
前記第１の前景画像がconv1×1(x;T1(x,y))として表され、前記第２の前景画像がconv1×1(x;T2(x,c))として表され、xが前記第１の入力画像を表し、yが前記分類指示を表し、cが前記目標色指示を表し、T1(x,y)とT2(x,c)が１×１畳み込みフィルタを生成する畳み込みニューラルネットワークを表す、請求項１３に記載の敵対的生成ネットワーク（ＧＡＮ）の訓練方法。
【請求項１５】
前記色予測器により、前記第２の確率マップと前記第２の前景画像とを受け取るステップと、
前記第２の確率マップにより重み付けされた前記第２の前景画像の重み付け平均を算出することにより、前記領域色を予測するステップと
を含む、請求項１３に記載の敵対的生成ネットワーク（ＧＡＮ）の訓練方法。
【請求項１６】
前記識別器により、前記第１の出力画像を実画像と区別することにより、前記識別結果を生成するステップと、
前記識別器により、前記第１の出力画像の予測分類を予測するステップと、
前記識別器により、前記予測分類を前記第１のタイプ分類と比較することにより、前記分類結果を生成するステップと
を含む、請求項１０に記載の敵対的生成ネットワーク（ＧＡＮ）の訓練方法。
【請求項１７】
前記識別器が複数の第２のニューラルネットワークの重み付けにより特徴付けられ、
前記識別結果と前記分類結果が前記識別器を訓練するための第１の損失関数を定式化するために用いられ、
前記第１の損失関数が最小化となる条件にて前記第２のニューラルネットワークの重み付けを更新することにより、前記識別器を更新するステップを更に含む、請求項１０に記載の敵対的生成ネットワーク（ＧＡＮ）の訓練方法。
【請求項１８】
前記識別結果と、前記色比較結果と、前記サイクル一貫性結果とが、前記第１の生成器と前記第２の生成器を訓練するための第２の損失関数を定式化するために用いられ、
前記第２の損失関数が最小化となる条件にて前記第１のニューラルネットワークの重み付けを更新することにより、前記第１の生成器と前記第２の生成器を更新するステップを含む、請求項１０に記載の敵対的生成ネットワーク（ＧＡＮ）の訓練方法。
【請求項１９】
第１の生成器と、第２の生成器と、識別器と、色予測器とを含む、敵対的生成ネットワーク（ＧＡＮ）を訓練するために訓練システムによりロードされる実行可能なコンピュータプログラムを格納する非一時的なコンピュータ読み取り可能記憶媒体であって、前記実行可能なコンピュータプログラムは、
前記第１の生成器により、第１の入力画像と分類指示を受け取り、これに基づき、前記第１の入力画像内の第１の特定領域の第１の色を第１の目標色に置き換えることにより、第１の出力画像を生成するステップであって、前記第１の目標色が複数の訓練用色サンプルを有する第１のタイプ分類に属し、前記第１の生成器と前記第２の生成器が複数の第１のニューラルネットワークの重み付けにより部分的に特徴付けられるステップと、
前記識別器により、前記第１の出力画像に基づき識別結果と分類結果とを生成するステップと、
前記第２の生成器により、第２の入力画像と目標色指示を受け取り、これに基づき、前記第２の入力画像内の第２の特定領域の第２の色を第２の目標色に置き換えることで、第２の出力画像を生成するステップであって、前記第２の目標色が前記目標色指示に対応し、前記第２の目標色が前記第１のタイプ分類に属さないステップと、
前記色予測器により、前記第２の出力画像内の前記第２の特定領域に対応する領域色を予測し、前記領域色を前記目標色と比較することにより色比較結果を生成するステップと、
前記第１の生成器により、前記第２の出力画像と元々の分類指示とに基づきサイクル画像を生成し、前記サイクル画像を前記第２の入力画像と比較することによりサイクル一貫性結果を生成するステップと、
前記識別結果と前記分類結果とに基づき、前記識別器を更新するステップと、
前記識別結果と、前記色比較結果と、前記サイクル一貫性結果とに基づき、前記第１の生成器と前記第２の生成器を更新するステップと
を実行するためのものである、非一時的なコンピュータ読み取り可能記憶媒体。
【請求項２０】
第１の生成器と第２の生成器とを含む敵対的生成ネットワーク（ＧＡＮ）を用いることによる画像生成方法であって、
前記第１の生成器により、第１の入力画像と分類指示を受け取り、これに基づき、前記第１の入力画像内の第１の特定領域の第１の色を第１の目標色に置き換えることにより、第１の出力画像を生成するステップであって、前記第１の目標色が複数の訓練用色サンプルを有する第１のタイプ分類に属し、前記訓練用色サンプルが予め前記第１の生成器と前記第２の生成器を訓練するために使用されているステップと、
前記第２の生成器により、第２の入力画像と目標色指示を受け取り、これに基づき、前記第２の入力画像内の第２の特定領域の第２の色を第２の目標色に置き換えることにより、第２の出力画像を生成するステップであって、前記第２の目標色が前記目標色指示に対応し、前記第２の目標色が前記第１のタイプ分類に属さないステップと
を含む、画像生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、敵対的生成ネットワーク（Ｇｅｎｅｒａｔｉｖｅ  Ａｄｖｅｒｓａｒｉａｌ  Ｎｅｔｗｏｒｋ：ＧＡＮ）に関するものであり、特に、ＧＡＮの訓練方法、ＧＡＮを用いた画像生成方法、及びコンピュータ読み取り可能記憶媒体に関するものである。
【背景技術】
【０００２】
ＧＡＮ及びその変形は、最近、分類画像の生成、テキストから画像の合成、画像から画像の変換、セマンティック操作といった、様々なタスクにおける卓越した性能のため、機械学習及びコンピュータ視覚処理のコミュニティにおいて非常に大きな注目を集めている。ＧＡＮ又はそれに類似するものの目的は、有限である訓練データのセットにより代表される潜在分布（ｕｎｄｅｒｌｙｉｎｇ  ｄｉｓｔｒｉｂｕｔｉｏｎ）を模倣する生成器（ｇｅｎｅｒａｔｏｒ）を学習させることである。ＧＡＮの堅牢性を向上させるため、相当な進歩が既に成されている。
【０００３】
しかし、訓練データが潜在分布を良好に代表していない、即ち、経験的訓練分布が潜在分布から逸脱しているとき、代表性が十分でない訓練データから訓練されるＧＡＮは、潜在分布ではなく訓練分布を模倣する。データ収集が大きな労働力を要し、徹底することが困難であるため、このような状況が発生する。加えて、潜在分布のモードによっては、量と、特に、多様性が不十分なため、訓練データを欠く可能性がある。
【０００４】
分類ラベルを条件とするＧＡＮの訓練は、各分類の訓練例を収集する必要がある。訓練データにおいていくつかの分類が利用可能でない場合、追加的な情報なしにはそれらの表示を生成するよう学習することは不可能のように見える。例えば、頭髪再着色（又は頭髪色変換）のタスクにおいて、紫といった稀な色による再着色の、画像から画像の変換を学習することが望ましい場合、これら頭髪色の画像を収集することが必要となる。しかし、任意の再着色のために、可能性のある全ての染色された頭髪色を収集することは実用的でない。もう１つの例としては、訓練データが赤色の薔薇のみからなる場合、ＧＡＮの識別器（ｄｉｓｃｒｉｍｉｎａｔｏｒ）はその他の色の薔薇を拒絶し、赤色以外の薔薇を生成できない。同時に、ＧＡＮが不自然な色で薔薇を生成しないことを確実にしたい。このため、当業者にとって、潜在分布のより好ましい模倣のため、訓練分布の多様性を向上させるメカニズムを設計することが重要である。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記を鑑み、本発明は、潜在分布のより好ましい模倣のため、訓練分布の多様性を向上させる、ＧＡＮの訓練方法、ＧＡＮを用いた画像生成方法、及びコンピュータ読み取り可能記憶媒体を提供する。
【課題を解決するための手段】
【０００６】
本発明は、敵対的生成ネットワーク（ＧＡＮ）の訓練方法を提供し、ＧＡＮは第１の生成器と、第２の生成器と、識別器と、予測ネットワークとを含む。該方法は、第１の生成器により、第１のランダム入力と第１の分類指示を受け取り、これに基づき第１の出力画像を生成するステップであって、第１の生成器と第２の生成器が共に複数の第１のニューラルネットワークの重み付けにより特徴付けられ、第１の分類指示が、第１の出力画像は第１のタイプ分類に対応することを示し、第１のタイプ分類が利用可能な訓練サンプルを有するステップと、予測ネットワークにより、第１の出力画像に対応する第１のセマンティック埋め込みベクトルを予測するステップと、第１のセマンティック埋め込みベクトルを第１のタイプ分類に対応する第２のセマンティック埋め込みベクトルと比較することにより、第１の比較結果を生成するステップと、第２の生成器により、第２のランダム入力と第２の分類指示を受け取り、これに基づき第２の出力画像を生成するステップであって、第２の分類指示が、第２の出力画像は第２のタイプ分類に対応することを示すステップと、予測ネットワークにより、第２の出力画像に対応する第３のセマンティック埋め込みベクトルを予測するステップと、第３のセマンティック埋め込みベクトルを第２のタイプ分類に対応する第４のセマンティック埋め込みベクトルと比較することにより、第２の比較結果を生成するステップと、識別器により、第１の出力画像と、第１のタイプ分類に属する少なくとも１つの参考画像とを区別することにより、識別結果を生成するステップであって、識別器が複数の第２のニューラルネットワークの重み付けにより特徴付けられるステップと、識別結果に基づき、第２のニューラルネットワークの重み付けを更新するステップと、識別結果と、第１の比較結果と、第２の比較結果とに基づき、第１のニューラルネットワークの重み付けを更新するステップと、を含む。
【０００７】
本発明は、第１の生成器と、第２の生成器と、識別器と、予測ネットワークとを含む敵対的生成ネットワーク（ＧＡＮ）を訓練するための訓練システムによりロードされる実行可能なコンピュータプログラムを記憶する非一時的なコンピュータ読み取り可能な記憶媒体を提供する。該実行可能なコンピュータプログラムは、第１の生成器により、第１のランダム入力と第１の分類指示を受け取り、これに基づき第１の出力画像を生成するステップであって、第１の生成器と第２の生成器が共に複数の第１のニューラルネットワークの重み付けにより特徴付けられ、第１の分類指示が、第１の出力画像は第１のタイプ分類に対応することを示し、第１のタイプ分類が利用可能な訓練サンプルを有するステップと、予測ネットワークにより、第１の出力画像に対応する第１のセマンティック埋め込みベクトルを予測するステップと、第１のセマンティック埋め込みベクトルを、第１のタイプ分類に対応する第２のセマンティック埋め込みベクトルと比較することにより、第１の比較結果を生成するステップと、第２の生成器により、第２のランダム入力と第２の分類指示を受け取り、これに基づき第２の出力画像を生成するステップであって、第２の分類指示が、第２の出力画像は第２のタイプ分類に対応することを示すステップと、予測ネットワークにより、第２の出力画像に対応する第３のセマンティック埋め込みベクトルを予測するステップと、第３のセマンティック埋め込みベクトルを第２のタイプ分類に対応する第４のセマンティック埋め込みベクトルと比較することにより、第２の比較結果を生成するステップと、識別器により、第１の出力画像と、第１のタイプ分類に属する少なくとも１つの参考画像とを区別することにより、識別結果を生成するステップであって、識別器が複数の第２のニューラルネットワークの重み付けにより特徴付けられるステップと、識別結果に基づき、第２のニューラルネットワークの重み付けを更新するステップと、識別結果と、第１の比較結果と、第２の比較結果とに基づき、第１のニューラルネットワークの重み付けを更新するステップと、を実行するためのものである。
【０００８】
本発明は、第１の生成器と第２の生成器とを含む敵対的生成ネットワーク（ＧＡＮ）を用いることによる画像生成方法を提供する。該方法は、第１の生成器により、第１のランダム入力と第１の分類指示を受け取り、これに基づき第１の出力画像を生成するステップであって、第１の生成器と第２の生成器が共に複数の第１のニューラルネットワークの重み付けに特徴付けられ、第１の分類指示が、第１の出力画像は第１のタイプ分類に対応することを示し、第１のタイプ分類が利用可能な訓練サンプルを有するステップと、予測ネットワークにより、第１の出力画像に対応する第１のセマンティック埋め込みベクトルを予測するステップと、第１のセマンティック埋め込みベクトルを第１のタイプ分類に対応する第２のセマンティック埋め込みベクトルと比較することにより、第１の比較結果を生成するステップと、第２の生成器により、第２のランダム入力と第２の分類指示を受け取り、これに基づき第２の出力画像を生成するステップであって、第２の分類指示が、第２の出力画像は第２のタイプ分類に対応することを示し、第２のタイプ分類が訓練サンプルを有さないステップと、予測ネットワークにより、第２の出力画像に対応する第３のセマンティック埋め込みベクトルを予測するステップと、第３のセマンティック埋め込みベクトルを第２のタイプ分類に対応する第４のセマンティック埋め込みベクトルと比較することにより、第２の比較結果を生成するステップと、第１の比較結果と第２の比較結果とに基づき、第１のニューラルネットワークの重み付けを更新するステップと、を含む。
【０００９】
本発明は、敵対的生成ネットワーク（ＧＡＮ）の訓練方法を提供し、ＧＡＮは、第１の生成器と、第２の生成器と、識別器と、色予測器とを含む。該方法は、第１の生成器により、第１の入力画像と分類指示とを受け取り、これに基づき、第１の入力画像内の第１の特定領域の第１の色を第１の目標色に置き換えることを介し、第１の出力画像を生成するステップであって、第１の目標色が複数の訓練用色サンプルを有する第１のタイプ分類に属し、第１の生成器と第２の生成器が複数の第１のニューラルネットワークの重み付けにより部分的に特徴付けられるステップと、識別器により、第１の出力画像に基づき、識別結果と分類結果とを生成するステップと、第２の生成器により、第２の入力画像と目標色指示を受け取り、これに基づき、第２の入力画像内の第２の特定領域の第２の色を第２の目標色に置き換えることにより、第２の出力画像を生成するステップであって、第２の目標色が目標色指示に対応し、第２の目標色が第１のタイプ分類に属さないステップと、色予測器により、第２の出力画像内の第２の特定領域に対応する領域色を予測し、領域色を目標色と比較することにより、色比較結果を生成するステップと、第１の生成器により、第２の出力画像と元々の分類指示に基づきサイクル画像を生成し、サイクル画像を第２の入力画像と比較することにより、サイクル一貫性結果を生成するステップと、識別結果と分類結果に基づき、識別器を更新するステップと、識別結果と、色比較結果と、サイクル一貫性結果に基づき、第１の生成器と第２の生成器を更新するステップと、を含む。
【００１０】
本発明は、第１の生成器と、第２の生成器と、識別器と、色予測器とを含む敵対的生成ネットワーク（ＧＡＮ）を訓練するための訓練システムによりロードされる、実行可能なコンピュータプログラムを記憶する、非一時的なコンピュータ読み取り可能記憶媒体を提供する。該実行可能なコンピュータプログラムは、第１の生成器により、第１の入力画像と分類指示を受け取り、これに基づき、第１の入力画像内の第１の特定領域の第１の色を第１の目標色に置き換えることにより、第１の出力画像を生成するステップであって、第１の目標色が複数の訓練用色サンプルを有する第１のタイプ分類に属し、第１の生成器と第２の生成器が複数の第１のニューラルネットワークの重み付けにより部分的に特徴付けられるステップと、識別器により、第１の出力画像に基づき、識別結果と分類結果とを生成するステップと、第２の生成器により、第２の入力画像と目標色指示を受け取り、これに基づき、第２の入力画像内の第２の特定領域の第２の色を第２の目標色に置き換えることにより、第２の出力画像を生成するステップであって、第２の目標色が目標色指示に対応し、第２の目標色が第１のタイプ分類に属さないステップと、色予測器により、第２の出力画像内の第２の特定領域に対応する領域色を予測し、領域色を目標色と比較することにより、色比較結果を生成するステップと、第１の生成器により、第２の出力画像と元々の分類指示に基づきサイクル画像を生成し、サイクル画像を第２の入力画像と比較することにより、サイクル一貫性結果を生成するステップと、識別結果と分類結果とに基づき、識別器を更新するステップと、識別結果と、色比較結果と、サイクル一貫性結果に基づき、第１の生成器と第２の生成器を更新するステップと、を実行するためのものである。
【００１１】
本発明は、第１の生成器と第２の生成器とを含む敵対的生成ネットワーク（ＧＡＮ）を用いることによる画像生成方法を提供する。該方法は、第１の生成器により、第１の入力画像と分類指示を受け取り、これに基づき、第１の入力画像内の第１の特定領域の第１の色を第１の目標色に置き換えることにより、第１の出力画像を生成するステップであって、第１の目標色が複数の訓練用色サンプルを有する第１のタイプ分類に属し、訓練用色サンプルが予め第１の生成器と第２の生成器を訓練するために用いられているステップと、第２の生成器により、第２の入力画像と目標色指示を受け取り、これに基づき、第２の入力画像内の第２の特定領域の第２の色を第２の目標色に置き換えることにより、第２の出力画像を生成するステップであって、第２の目標色が目標色指示に対応し、第２の目標色が第１のタイプ分類に属さないステップと、を含む。
【発明の効果】
【００１２】
本発明で提案された方法は、ＧＡＮの第１の生成器を第１のタイプ分類に属する利用可能な訓練サンプルで訓練し、第１の生成器により学習された知識を第２の生成器に共有させる。従って、第２の生成器は、たとえ第２の生成器を訓練する間に訓練データが利用可能でなくとも、第２の分類に属する（偽物）画像を生成するよう学習することができる。
【図面の簡単な説明】
【００１３】
本発明の更なる理解のため添付図面が含まれ、本明細書に包含され、本明細書の一部を構成する。図面は本発明の実施形態を表し、本発明の原理を説明する役割を果たす。
【００１４】
【図１】本発明の第１の実施形態によるＧＡＮを訓練するメカニズムを表す概略図である。
【００１５】
【図２】本発明の第１の実施形態によるＧＡＮの訓練方法のフロー図である。
【００１６】
【図３】本発明の第１の実施形態による推論フェーズにおけるＧＡＮを用いた画像生成方法のフロー図である。
【００１７】
【図４】本発明の第２の実施形態によるＧＡＮを訓練するメカニズムを表す概略図である。
【００１８】
【図５】本発明の第２の実施形態によるＧＡＮの訓練方法のフロー図である。
【００１９】
【図６】本発明の第２の実施形態による推論フェーズにおけるＧＡＮを用いた画像生成方法のフロー図である。
【発明を実施するための形態】
【００２０】
本発明の好ましい実施形態の詳細を述べる。実施例は添付の図面に表される。可能な限り、図面と明細書において同一の符号が同一又は類似の部材に対し用いられる。
【００２１】
大まかに述べると、本実施形態のＧＡＮの訓練方法は、ＧＡＮフレームワークにドメイン知識を結合させる。本発明において、分類レベルにおいて代表性が不足する訓練データセット、即ち、複数の第１のタイプ分類の組に属する全ての訓練サンプルは、y1（例えば、黒色、茶色、ブロンドの頭髪色分類、又は赤、白の薔薇分類）として表され、y2（その他の頭髪色分類、又は青い薔薇といった、利用可能でない薔薇分類）として表されるもう１つの複数の第２のタイプ分類の組は訓練サンプルを有さない。本発明の目的はy1とy2の両方の分類画像生成を学習することにある。y1において新たなデータを生成するため、既存のＧＡＮに基づく方法が、分類条件生成器（第１の生成器G1と呼称される）の訓練に用いられ、これは第１の生成器G1に対するＧＡＮの損失LGANを最小化することに基づく。第２の分類y2を生成するため、本発明の方法は、もう１つの生成器（第２の生成器G2と呼称される）をドメイン知識から訓練し、これは画像が特定分類の所望の特徴を有するか否かを明示的に測定する制限関数fにより表される。
【００２２】
略述すると、本発明の方法の概念は、（１）手元にあるタスクのためのドメイン知識の構築と、（２）それぞれ利用可能な分類と利用不可能な分類を条件とした第１の生成器G1と第２の生成器G2の訓練という、２つの部分を含む。第１の生成器G1と第２の生成器G2はニューラルネットワークの重み付けを共有し、第１の生成器G1と第２の生成器G2は、第１の生成器G1から学習した知識を第２の生成器G2に転送するため、互いに連接されてよい。制限関数fに基づき、LKで表される知識損失が、第２の生成器G2を訓練するため更に考慮される。本発明の一般的目的関数は
【数１】
2020191093.tif 000003
として記述できる。
【００２３】
本発明の第１の実施形態によるＧＡＮを訓練するメカニズムを表す概略図である図１を参照する。図１において、ＧＡＮ100は、第１の生成器G1と、第２の生成器G2と、予測ネットワークEと、識別器Dとを含む。第１の実施形態において、第１の生成器G1と第２の生成器G2は、共に複数の第１のニューラルネットワークの重み付けにより特徴付けられる。即ち、第１の生成器G1と第２の生成器G2は、少なくとも第１のニューラルネットワークの重み付けを共有する２つの生成器である。ある実施形態において、第１の生成器G1と第２の生成器G2は、同じ第１のニューラルネットワークの重み付けを共有する２つの同一の生成器であり、このため第１のニューラルネットワークの重み付けが更新されると、第１の生成器G1と第２の生成器G2の両方が更新されるが、本発明はこれに限定されない。
【００２４】
第１の実施形態において、ＧＡＮ100の構造（特に、第１の生成器G1と識別器D）はＳＮ−ＧＡＮ（Ｓｐｅｃｔｒａｌ  Ｎｏｒｍａｌｉｚａｔｉｏｎ  ＧＡＮ）であると仮定しており、ＳＮ−ＧＡＮの詳細については、「Takeru Miyato and Masanori Koyama. cgans with projection discriminator. In ICLR, 2018.」と「Takeru Miyato, Toshiki Kataoka, Masanori Koyama, and Yuichi Yoshida. Spectral normalization for generative adversarial networks. In ICLR, 2018.」を参照でき、ここでは繰り返さない。
【００２５】
本発明の第１の実施形態によるＧＡＮの訓練方法のフロー図を示す図２を参照する。下記において、図１を例として用いることにより図２のステップの詳細を紹介するが、本発明はこれに限定されない。本発明において、図２の方法は、ＧＡＮ100の訓練に用いられる訓練システム（例えば、コンピュータデバイス）により実行される。
【００２６】
ステップＳ２１０において、第１の生成器G1は、第１のランダム入力と第１の分類指示y1を受け取り、これに基づき第１の出力画像x'1を生成し、ここで、第１の分類指示は、第１の出力画像x'1が第１のタイプ分類（例えば、「赤い薔薇」、「白い薔薇」）に対応することを示し、第１のタイプ分類は利用可能な訓練サンプル（例えば、赤い／白い薔薇の画像）を有する。第１の実施形態において、第１のランダム入力は、zにより表されるランダムノイズである。
【００２７】
第１の実施形態において、ステップＳ２１０にて実行される処理は、
【数２】
2020191093.tif 000004
として表すことができる。ある実施形態において、第１の分類指示y1は、第１のタイプ分類を示す第１のｏｎｅ−ｈｏｔベクトルとして定義されてよい。例えば、第１のタイプ分類が「赤い薔薇」と「白い薔薇」を含む場合、第１の分類指示y1は、「赤い薔薇」を示す［１，０］、又は「白い薔薇」を示す［０，１］であってよいが、本発明はこれに限定されない。
【００２８】
もう１つの実施形態において、第１の分類指示y1は、第１のタイプ分類を示す第１の特定のセマンティック埋め込みベクトルとして定義されてよい。例えば、第１の分類が「赤い薔薇」と「白い薔薇」を含む場合、「赤い薔薇」に関連する関連テキスト記述が、「Scott Reed, Zeynep Akata, Honglak Lee, and Bernt Schiele. Learning deep representations of fine-grained visual descriptions. In CVPR, 2016.」により教示されるメカニズムで、対応するセンテンス特徴に変換されてよく、「赤い薔薇」に対応するこれらセンテンス特徴は、「赤い薔薇」に対応するセマンティック埋め込みベクトルを得るため平均化されてよい。同様に、「白い薔薇」に対応するセマンティック埋め込みベクトルが同じ原理に基づき取得されてよく、ここでは繰り返さない。
【００２９】
第１の実施形態において、第１の出力画像x'1は、第１のランダム入力（即ち、z）と第１の分類指示y1に基づき第１の生成器G1により生成された偽物画像と見なすことができる。例えば、第１の分類指示y1が「赤い薔薇」を示す第１の特定のセマンティック埋め込みベクトルである場合、第１の生成器G1はこれに基づき赤い薔薇の偽物画像を生成する。もう１つの例として、第１の分類指示y1が「白い薔薇」を示す第１の特定のセマンティック埋め込みベクトルである場合、第１の生成器G1はこれに基づき白い薔薇の偽物画像を生成するが、本発明はこれに限定されない。
【００３０】
ステップＳ２２０において、予測ネットワークEは、第１の出力画像x'1に対応する第１のセマンティック埋め込みベクトルv'1を予測する。第１の実施形態において、予測ネットワークEは、第１のタイプ分類に属する利用可能な訓練サンプルで予め訓練された、埋め込み回帰型ネットワーク（ｅｍｂｅｄｄｉｎｇ  ｒｅｇｒｅｓｓｉｏｎ  ｎｅｔｗｏｒｋ）であってよい。
【００３１】
即ち、予測ネットワークEが画像を受け取った場合、予測ネットワークEは該画像に対応するセマンティック埋め込みベクトルを出力できる。例えば、予測ネットワークEが赤い薔薇の画像を受け取った場合、予測ネットワークEにより出力される第１のセマンティック埋め込みベクトルv'1は、「赤い薔薇」に対応するセマンティック埋め込みベクトルである。もう１つの例として、予測ネットワークEが白い薔薇の画像を受け取った場合、予測ネットワークEにより出力される第１のセマンティック埋め込みベクトルv'1は、「白い薔薇」に対応するセマンティック埋め込みベクトルである。
【００３２】
次に、ステップＳ２３０において、第１の比較結果が、第１のセマンティック埋め込みベクトルv'1を、第１のタイプ分類に対応する第２のセマンティック埋め込みベクトルv1と比較することにより生成できる。例えば、第１の分類指示y1が「赤い薔薇」を示す場合、第２のセマンティック埋め込みベクトルv1も「赤い薔薇」に対応する。加えて、第１の分類指示y1が第１のタイプ分類を示す第１の特定のセマンティック埋め込みベクトルとして定義されることから、第２のセマンティック埋め込みベクトルv1は第１の特定のセマンティック埋め込みベクトルを定義するために用いることができ、即ち、第１の分類指示y1は第２のセマンティック埋め込みベクトルv1と同一でありうるが、本発明はこれに限定されない。
【００３３】
簡述すると、第１の比較結果は、第１のセマンティック埋め込みベクトルv'1と第２のセマンティック埋め込みベクトルv1との間の類似性に関連すると理解できる。第１の生成器G1が偽物画像（例えば、偽物の赤い薔薇の画像）を高画質（即ち、偽物と識別することが困難）で生成する場合、第１のセマンティック埋め込みベクトルv'1は第２のセマンティック埋め込みベクトルv1に近いはずであり、逆もまた同様である。
【００３４】
このため、第１の実施形態において、第１の比較結果は、第１のセマンティック損失関数
【数３】
2020191093.tif 000005
を定式化するために用いることができ、ここで、Eは期待演算子であり、G1(z,v1)は第１の出力画像x'1であり、E(G1(z,v1))は第１のセマンティック埋め込みベクトルv'1である。
【００３５】
ステップＳ２４０において、第２の生成器G2は、第２のランダム入力と第２の分類指示y2を受け取り、これに基づき第２の出力画像x'2を生成し、ここで、第２の分類指示y2は、第２の出力画像x'2が第２のタイプ分類（例えば、「青い薔薇」）に対応することを示し、第２のタイプ分類は訓練サンプル（例えば、青い薔薇の写真）を有さない。第１の実施形態において、単純化するため、第２のランダム入力もzで示されるランダムノイズであってよい。
【００３６】
第１の実施形態において、ステップＳ２４０で実行される処理は、
【数４】
2020191093.tif 000006
として表すことができる。ある実施形態において、第２の分類指示y2は、第２のタイプ分類を示す第２のｏｎｅ−ｈｏｔベクトル、又は、第２のタイプ分類を示す第２の特定のセマンティック埋め込みベクトルとして定義されてよく、関連する詳細は上述を参照でき、ことでは繰り返さない。
【００３７】
第１の実施形態において、第２の出力画像x'2は、第２のランダム入力（即ち、z）と第２の分類指示y2に基づき第２の生成器G2により生成された偽物の画像と見なすことができる。例えば、第２の分類指示y2が「青い薔薇」を示す第２の特定のセマンティック埋め込みベクトルである場合、第２の生成器G2はこれに基づき青い薔薇の偽物の画像を生成するが、本発明はこれに限定されない。
【００３８】
ステップＳ２５０において、予測ネットワークEは、第２の出力画像x'2に対応する第２のセマンティック埋め込みベクトルv'2を予測する。例えば、予測ネットワークEが青い薔薇の画像を受け取った場合、予測ネットワークEにより出力される第３のセマンティック埋め込みベクトルv'2は、「青い薔薇」に対応するセマンティック埋め込みベクトルである。
【００３９】
次に、ステップＳ２６０において、第２の比較結果が、第３のセマンティック埋め込みベクトルv'2を、第２のタイプ分類に対応する第４のセマンティック埋め込みベクトルv2と比較することにより生成できる。例えば、第２の分類指示y2が「青い薔薇」を示す場合、第４のセマンティック埋め込みベクトルv2も「青い薔薇」に対応しうる。加えて、第２の分類指示y2が第２のタイプ分類を示す第２のセマンティック埋め込みベクトルとして定義できることから、第４のセマンティック埋め込みベクトルv2は第２の特定のセマンティック埋め込みベクトルを定義するために用いることができ、即ち、第２の分類指示y2は第４のセマンティック埋め込みベクトルv2と同一であってよいが、本発明はこれに限定されない。
【００４０】
簡述すると、第２の比較結果は、第３のセマンティック埋め込みベクトルv'2と第４のセマンティック埋め込みベクトルv2との間の類似性に関連すると理解できる。第２の生成器G2が偽物の画像（例えば、偽物の青い薔薇の画像）を高画質（即ち、偽物と識別することが困難）で生成する場合、第３のセマンティック埋め込みベクトルv'2は第４のセマンティック埋め込みベクトルv2に近いはずであり、逆もまた同様である。
【００４１】
このため、第１の実施形態において、第２の比較結果は、第２のセマンティック損失関数
【数５】
2020191093.tif 000007
を定式化するために用いることができ、ここで、G2(z,v2)は第２の出力画像x'2であり、E(G2(z,v2))は第３のセマンティック埋め込みベクトルv'2である。
【００４２】
ステップＳ２７０において、識別器Dは、第１の出力画像x'1と、第１のタイプ分類に属する参照画像RIを区別することにより、識別結果DRを生成し、ここで、識別器Dは複数の第２のニューラルネットワークの重み付けにより特徴付けられる。第１の実施形態において、参考画像RIは第１のタイプ分類に属する実画像、例えば、赤い薔薇の実画像であり、識別器Dは第１の出力画像x'1（例えば、赤い薔薇の偽物の画像）と参考画像RIを区別するよう構成される。簡述すると、識別器Dは第１の出力画像x'1と参考画像RIのどちらが偽物であるかを識別する。
【００４３】
このため、ＳＮ−ＧＡＮの教示に基づき、識別結果DRは、識別器Dを訓練するための第１の損失関数を定式化するために用いることができる。第１の実施形態において、第１の損失関数は
【数６】
2020191093.tif 000008
として定式化できるが、本発明はこれに限定されない。
【００４４】
ステップＳ２８０において、第２のニューラルネットワークの重み付けが識別結果DRに基づき更新される。第１の実施形態において、第２のニューラルネットワークの重み付けは、第１の損失関数（即ち、LSNGAND(D)）が最小化となる条件にて更新され、その詳細はＳＮ−ＧＡＮの教示を参照できる。
【００４５】
ステップＳ２９０において、第１のニューラルネットワークの重み付けが、識別結果DRと、第１の比較結果と、第２の比較結果とに基づき更新される。第１の実施形態において、識別結果DRは、第１の生成器G1と第２の生成器G2を訓練するための第２の損失関数を定式化するために用いられ、第２の損失関数は
【数７】
2020191093.tif 000009
として定式化できるが、本発明はこれに限定されない。
【００４６】
従って、第１のニューラルネットワークの重み付けは、総損失関数（LGとして表される）が最小化となる条件にて更新され、ここで、総損失関数は、第２の損失関数（即ち、LSNGANG(G1)）と、第１のセマンティック損失関数（即ち、Lse(G1)）と、第２のセマンティック損失関数（即ち、Lse(G2)）とにより特徴付けられる。ある実施形態において、総損失関数は
【数８】
2020191093.tif 000010
として定式化されることができ、ここで、λseは開発者の要件に基づき構成可能な係数であってよいが、本発明はこれに限定されない。
【００４７】
第１の生成器G1と第２の生成器G2が訓練された後、第１の生成器G1は、ＧＡＮ100の推論フェーズにおいて、（赤い薔薇の偽物の画像といった）第１のタイプ分類に対応する偽物の画像を生成可能である。同様に、第２の生成器G2は、ＧＡＮ100の推論フェーズにおいて（青い薔薇の偽物の画像といった）第２のタイプ分類に対応する偽物の画像を生成可能である。
【００４８】
本発明の第１の実施形態による、推論フェーズにおいてＧＡＮを用いることによる画像生成方法のフロー図を示す図３を参照する。以下の説明を容易にするために、図１の記号／信号が例として使用されるが、本開示はこれに限定されない。
【００４９】
ステップＳ３１０において、第１の生成器G1は、第１のランダム入力と第１の分類指示y1を受け取り、これに基づき第１の出力画像x'1を生成する。ステップＳ３２０において、第２の生成器G2は、第２のランダム入力と第２の分類指示y2を受け取り、これに基づき第２の出力画像x'2を生成する。
【００５０】
上記から理解できるように、たとえＧＡＮ100を訓練する処理の間に第２のタイプ分類に属する訓練サンプルが利用可能でなくとも、第２の生成器G2は、本発明において提案される方法で、第２のタイプ分類に対応する画像を生成するよう学習できる。
【００５１】
その他の実施形態において、本発明はＧＡＮを訓練するためのその他の方法を更に提供し、その詳細は下記において第２の実施形態と共に説明される。
【００５２】
本発明の第２の実施形態によるＧＡＮを訓練するメカニズムを表す概略図である図４を参照する。図４において、ＧＡＮ400は、第１の生成器G1と、第２の生成器G2と、色予測器Hと、識別器Dとを含む。第２の実施形態において、第１の生成器G1と第２の生成器G2は複数の第１のニューラルネットワークの重み付けにより部分的に特徴付けられ、詳細は後に紹介する。
【００５３】
第２の実施形態において、ＧＡＮ400の構造（特に、第１の生成器G1、第２の生成器G2、識別器D）は、「Yunjey Choi, Minje Choi, Munyoung Kim, Jung-Woo Ha, Sunghun Kim, and Jaegul Choo. StarGAN: Unified generative adversarial networks for multi-domain image-to-image translation. In CVPR, 2018.」により教示されるＳｔａｒＧＡＮと仮定しており、詳細はこれを参照されたい。
【００５４】
本発明の第２の実施形態によるＧＡＮの訓練方法のフロー図を示す図５を参照する。下記において、図５のステップの詳細は、図４を例として用い紹介するが、本発明はこれに限定されない。本発明において、図５の方法は、ＧＡＮ500の訓練に用いられる訓練システム（例えば、コンピュータデバイス）により実行されてよい。
【００５５】
ステップＳ５１０において、第１の生成器G1は第１の入力画像と分類指示yを受け取り、これに基づき、第１の入力画像内の第１の特定領域の第１の色を第１の目標色に置き換えることにより、第１の出力画像x'1を生成し、ここで、第１の目標色は複数の訓練用色サンプルを有する第１のタイプ分類に属する。第２の実施形態において、第１の入力画像は人の顔の画像xであってよい。
【００５６】
第２の実施形態の概念をよりよく理解するため、第１の特定領域は第１の入力画像（即ち、x）の頭髪領域と見なされ、第１の色はxの元々の頭髪色と見なされ、第１の目標色は第１のタイプ分類に属する色の１つであってよい。
【００５７】
例えば、第１のタイプ分類は、「Ziwei Liu, Ping Luo, Xiaogang Wang, and Xiaoou Tang. Deep learning face attributes in the wild. In ICCV, 2015」において教示されるＣｅｌｅｂＡフェイスデータセットであってよい。即ち、第１のタイプ分類は、「黒髪」、「茶髪」、「ブロンドヘア」を含み、訓練用色サンプルは黒髪／茶髪／ブロンドヘアの人の写真を含むが、本発明はこれに限定されない。
【００５８】
即ち、第１の目標色は、例えば、黒／茶／ブロンドであってよい。この場合、ステップS５１０における処理は、第１の出力画像x'1を生成するため、第１の生成器G1により、第１の入力画像の元々の頭髪色を第１の目標色に置き換えることとして理解できるが、本発明はこれに限定されない。
【００５９】
第２の実施形態において、ステップＳ５１０で実行される処理は、
【数９】
2020191093.tif 000011
として表すことができる。ある実施形態において、分類指示yは、第１のタイプ分類を示すｏｎｅ−ｈｏｔベクトルとして定義されてよい。例えば、第１の分類が「黒髪」、「茶髪」、「ブロンドヘア」を含む場合、第１の分類指示yは、「黒髪」を示す［１，０，０］、「茶髪」を示す［０，１，０］、「ブロンドヘア」を示す［０，０，１］であってよいが、本発明はこれに限定されない。
【００６０】
もう1つの実施形態において、分類指示yは、第１のタイプ分類を示す特定のセマンティック埋め込みベクトルとして定義されてよい。例えば、第１のタイプ分類が「黒髪」、「茶髪」、「ブロンドヘア」を含む場合、「黒髪」に関連する関連文字記述が「Scott Reed, Zeynep Akata, Honglak Lee, and Bernt Schiele. Learning deep representations of fine-grained visual descriptions. In CVPR, 2016.」において教示されるメカニズムで、対応するセンテンス特徴に変換され、「黒髪」に対応するこれらセンテンス特徴は「黒髪」に対応するセマンティック埋め込みベクトルを得るため平均化されてよい。同様に、「茶髪」、「ブロンドヘア」に対応するセマンティック埋め込みベクトルが同じ原理に基づき得られ、ここでは繰り返さない。
【００６１】
第２の実施形態において、第１の出力画像x'1は、第１の入力画像（即ち、x）と分類指示yに基づき第１の生成器G1により生成された、偽物の画像と見なすことができる。例えば、分類指示yが「黒髪」を示す特定のセマンティック埋め込みベクトルである場合、第１の生成器G1はこれに基づき黒髪の人の顔の偽物の画像を生成する。もう１つの例として、分類指示yが「茶髪」を示す特定のセマンティック埋め込みベクトルである場合、第１の生成器G1はこれに基づき茶髪の人の顔の偽物の画像を生成するが、本発明はこれに限定されない。
【００６２】
より具体的には、図４に示されるように、第１の生成器G1は、第１の畳み込みニューラルネットワーク（ＣＮＮ）F1と、マスクネットワークMと、第１のコンバイナC1とを含む。第２の実施形態において、第１のＣＮＮ F1は、第１の入力画像と分類指示yとに基づき、第１の前景画像FI1（F1(x,y)として定式化される）を生成する。マスクネットワークMは、第１の入力画像に対応する第１の確率マップPM1（M(x)として定式化される）を生成し、ここで、第１の確率マップPM1の各画素は、第１の特定領域に対応する確率（即ち、頭髪領域に対応する確率）でラベル付けされる。第１のコンバイナC1は、第１の確率マップ内の第１の領域に基づき、第１の前景画像FI1内の第１の部分画像を取得し、第１の確率マップPM1内の第２の領域に基づき、第１の入力画像内の第２の部分画像を取得し、第１の部分画像と第２の部分画像とを第１の出力画像x'1として組み合わせる。
【００６３】
ステップＳ５２０において、識別器Dは、第１の出力画像x'1に基づき、識別結果DRと分類結果CRを生成する。第２の実施形態において、識別器Dは、第１の出力画像x'1を、第１のタイプ分類に属する実画像と区別することにより、識別結果DRを生成できる。例えば、分類指示yが「黒髪」を示す場合、実画像は黒髪の人の顔の実画像であり、識別器Dは第１の出力画像x'1（例えば、黒髪の人の顔の偽物の画像）と実画像を区別するよう構成される。簡述すると、識別器Dは、第１の出力画像x'1と偽物のどちらが偽物であるか識別するよう構成される。
【００６４】
また、識別器Dは、第１の出力画像x'1の分類を予測し、予測された分類と第１のタイプ分類とを比較することにより比較結果CRを生成できる。
【００６５】
例えば、識別器Dは、第１の出力画像x'1の分類を「黒髪」、「茶髪」、「ブロンドヘア」のうちの１つと予測する。次に、識別器Dは、予測された分類が分類指示yにより示された第１のタイプ分類に符合するか否かを判定する。識別結果DRと比較結果CRの取得の詳細はＳｔａｒＧＡＮに関する教示を参照でき、ここでは繰り返さない。
【００６６】
このため、ＳｔａｒＧＡＮの教示に基づき、識別結果DRと比較結果CRは、識別器Dを訓練するための第１の損失関数を定式化するために用いることができる。第２の実施形態において、第１の損失関数は
【数１０】
2020191093.tif 000012
として定式化でき、その詳細はＳｔａｒＧＡＮに関する教示を参照でき、ここでは繰り返さない。
【００６７】
ステップＳ５３０において、第２の生成器G2は第２の入力画像と目標色指示cを受け取り、これに基づき、第２の入力画像内の第２の特定領域の第２の色を第２の目標色と置き換えることにより第２の出力画像x'2を生成し、ここで、第２の目標色は目標色指示cに対応し、第２の目標色は第１のタイプ分類に属さない。第２の実施形態において、第２の入力画像は、単純化するため、人の顔の画像xと仮定してよい。
【００６８】
第２の実施形態の概念をよりよく理解するため、第２の特定領域は第２の入力画像（即ち、x）の頭髪領域と見なされ、第２の色はxの元々の頭髪色と見なされ、第２の目標色は第１のタイプ分類に属さない如何なる色であってもよい。即ち、第２の目標色は、黒色、茶色、又はブロンドではない。
【００６９】
この場合、ステップＳ５３０における処理は、第２の出力画像x'2を生成するため、第２の生成器G2により、第２の入力画像内の元々の頭髪色を第２の目標色に置き換えることとして理解できるが、本発明はこれに限定されない。
【００７０】
第２の実施形態において、ステップＳ５３０を実行する処理は
【数１１】
2020191093.tif 000013
として表すことができる。加えて、目標色指示cは、第２の目標色を示す３次元ＲＧＢカラーベクトルであってよい。例えば、目標色指示cが（２５５，２５５，２５５）の場合、対応する第２の目標色は白色であるが、本発明はこれに限定されない。即ち、第２の生成器G2は、第２の入力画像の元々の頭髪色を目標色指示cに対応する所望の色に置き換えるために用いることができる。
【００７１】
もう１つの視点から、第２の出力画像x'2は、第２の入力画像（即ち、x）と目標色指示cとに基づき第２の生成器G2により生成された偽物の画像と見なすことができる。例えば、目標色指示cが「深紫色」に対応する場合、第２の生成器G2はこれに基づき深紫色の頭髪の人の顔の偽物の画像を生成するが、本発明はこれに限定されない。
【００７２】
より具体的には、図４に示されるように、第２の生成器G2は、第２のＣＮＮ F2と、マスクネットワークMと、第２のコンバイナC2とを含む。第２のＣＮＮ F2は、第２の入力画像（即ち、x）と目標色指示cとに基づき、第２の前景画像FI2（F2(x,y)として定式化される）を生成する。マスクネットワークMは、第２の入力画像に対応する第２の確率マップPM2（第１の確率マップPM1と同一であってよく、M(x)として定式化できる）を生成し、ここで、第２の確率マップの各画素は、第２の特定領域に対応する確率（即ち、頭髪領域に対応する確率）でラベル付けされる。第２のコンバイナC2は、第２の確率マップ内の第３の領域に基づき、第２の前景画像FI2内の第３の部分画像を取得し、第２の確率マップPM2内の第４の領域に基づき、第２の入力画像内の第４の部分画像を取得し、第３の部分画像と第４の部分画像とを第２の出力画像x'2として組み合わせる。
【００７３】
加えて、上述したように、第１の生成器G1と第２の生成器G2は、複数の第１のニューラルネットワークの重み付けにより部分的に特徴付けられる。詳細には、第１の生成器G1から第２の生成器G2への学習された知識の転送を達成するため、第１のＣＮＮ F1と第２のＣＮＮ F2は、第１のニューラルネットワークの重み付けを部分的に共有する。
【００７４】
第２の実施形態において、第１のＣＮＮ F1は第１のニューラルネットワーク（ＮＮ）と第２のＮＮとを含んでよく、ここで、第１のＮＮは分類指示yを第１の埋め込みベクトルとして変換し、第２のＮＮは第１の埋め込みベクトルと第１の入力画像に基づき第１の前景画像FI1を生成してよい。
【００７５】
一方、第２のＣＮＮ F2は第３のＮＮと第４のＮＮとを含み、ここで、第４のＮＮと第３のＮＮは共に第１のニューラルネットワークの重み付けにより特徴付けられる。即ち、第１のＣＮＮ F1と第２のＣＮＮ F2は、同じ第１のニューラルネットワークの重み付けを共有する２つの同一のＮＮであり、このため第１のニューラルネットワークの重み付けが更新されると、第１のＣＮＮ F1と第２のＣＮＮ F2の両方が更新されるが、本発明はこれに限定されない。
【００７６】
この場合、第３のＮＮは目標色指示cを第２の埋め込みベクトルとして変換し、第４のＮＮは第２の埋め込みベクトルと第２の入力画像x'2に基づき第２の前景画像FI2を生成してよい。
【００７７】
第２の実施形態において、頭髪領域を定義する精度を更に向上させるため、頭髪再着色処理は、単純な色変換に単純化されてよい。具体的には、頭髪再着色処理は、空間不変線形変換であると仮定する。このような仮定は、前景画像生成処理を高非線形マッピングから線形マッピングに大きく制限する。そうすることにより、頭髪領域を定義する精度が向上され、さもなくば（眉毛といった）偽陽性領域が非現実的な色に変換されて出力画像に現れる可能性がある。３×４マトリックス[a|b]によりパラメータ化された線形マッピングは、入力として画素色xiを得て、
【数１２】
2020191093.tif 000014
により新たな色x''iを出力する。このような変換は、１×１の畳み込みにより
【数１３】
2020191093.tif 000015
として等価表現される。
【００７８】
この場合、第１の出力画像x'1と第２の出力画像x'2は次のように定式化される：
【数１４】
2020191093.tif 000016
ここで、
【数１５】
2020191093.tif 000017
はピクセル単位の乗算であり、T1(x,y)とT2(x,c)は１×１の畳み込みフィルタを生成するＣＮＮである。
【００７９】
ステップＳ５４０において、色推定器Hは、第２の出力画像内の第２の特定領域に対応する領域色（H(x)により表されてよい）を推定し、領域色を目標色と比較することにより色比較結果CCを生成できる。簡述すると、色推定器Hは第２の入力画像x'2内の頭髪色（即ち、領域色）を推定し、これに基づき色比較結果CCを生成できる。
【００８０】
第２の実施形態において、色推定器Hは、第２の確率マップPM2と第２の前景画像FI2を取得し、第２の確率マップPM2により重み付けされた第２の前景画像FI2の重み付け平均を算出することにより領域色を推定できる。
【００８１】
ある実施形態において、色推定器Hは、マスクネットワークMとパラメータを共有するサブネットワークSを含み、サブネットワークSには、色推定器Hのために第２の確率マップPM2を生成するため、第２の入力画像（即ち、x）が供給されてよい。ある実施形態において、領域色は
【数１６】
2020191093.tif 000018
として算出され、ここで、xiとsiはそれぞれ第２の前景画像FI2と第２の確率マップPM2のi番目の画素である。wは第２の確率マップPM2の確率をバイナリ重みに変換する重み付け関数である。wは
【数１７】
2020191093.tif 000019
として定義でき、Iは指示関数である。
【００８２】
簡述すると、色比較結果CCは、領域色と目標色との間の類似性に関するものと理解できる。サブネットワークSが高品質（例えば、頭髪領域が明確に定義されている）で第２の確率マップPM2を生成する場合、領域色は目標色に近いはずであり、その逆も同様である。
【００８３】
このため、第２の実施形態において、色比較結果CCは、色損失関数
【数１８】
2020191093.tif 000020
を定式化するために用いることができるが、本発明はこれに限定されない。
【００８４】
ステップＳ５５０において、第１の生成器G1は、第２の出力画像x'2と元々の分類指示y'に基づきサイクル画像CI2を生成し、サイクル画像CI2を第２の入力画像（即ち、x）と比較することによりサイクル一貫性結果（ｃｙｃｌｅ−ｃｏｎｓｉｓｔｅｎｃｙ  ｒｅｓｕｌｔ）を生成する。更に、第１の生成器G1は、第１の出力画像x'1と元々の分類指示y'に基づきもう１つのサイクル画像CI1を生成し、サイクル画像CI1を第１の入力画像（即ち、x）と比較することによりもう１つのサイクル一貫性結果を生成する。
【００８５】
ＳｔａｒＧＡＮに教示されるように、もう１つのサイクル一貫性結果は、対応する損失関数Lcycで第１の生成器G1を制限するために用いることができ、その詳細はＳｔａｒＧＡＮに関する教示を参照できる。類似の原理に基づき、サイクル一貫性結果はＧＡＮ400を訓練するための参考として用いることができる。
【００８６】
第２の実施形態において、サイクル一貫性結果は
【数１９】
2020191093.tif 000021
として定式化できるが、本発明はこれに限定されない。
【００８７】
ステップＳ５６０において、識別器Dは、識別結果DRと分類結果CRに基づき更新される。具体的には、識別器Dは第２のニューラルネットワークの重み付けにより特徴付けられ、識別器Dは第２のニューラルネットワークの重み付けを第１の損失関数
【数２０】
2020191093.tif 000022
が最小化となる条件にて更新することにより更新される。
【００８８】
ステップＳ５７０において、第１の生成器G1と第２の生成器G2は、識別結果DRと、色比較結果CCと、サイクル一貫性結果とに基づき更新される。具体的には、識別結果DR、色比較結果CC、サイクル一貫性結果は、第１の生成器G1と第２の生成器G2を訓練するための第２の損失関数を定式化するために用いることができる。第２の実施形態において、第２の損失関数は次のように定式化できる：
【数２１】
2020191093.tif 000023
ここで、λcolorとλcyc2は開発者の要件に基づき構成可能な係数であってよいが、本発明はこれに限定されない。第２の損失関数のその他の詳細はＳｔａｒＧＡＮに関する教示を参照でき、ここでは繰り返さない。この場合、第１の生成器G1と第２の生成器G2は、第２の損失関数が最小化となる条件にて第１のニューラルネットワークの重み付けを更新することにより更新される。
【００８９】
加えて、第２の実施形態において、マスクネットワークMは複数の第３のニューラルネットワークの重み付けにより特徴付けられ、マスクネットワークMは第１の生成器G1と第２の生成器G2と共に訓練されることができる。この場合、第１の生成器G1、第２の生成器G2、マスクネットワークMは、第２の損失関数が最小化となる条件にて第１のニューラルネットワークの重み付けと第３のニューラルネットワークの重み付けを更新することにより更新されてよいが、本発明はこれに限定されない。マスクネットワークMが色推定器のサブネットワークSとパラメータを共有することから、サブネットワークSは対応して訓練されることができ、これは教師なし（ｕｎｓｕｐｅｒｖｉｓｅｄ）訓練方法を形成する。
【００９０】
第１の生成器G1と第２の生成器G2が訓練された後、第１の生成器G1は、ＧＡＮ400の推論フェーズにおいて、第１のタイプ分類に対応する偽物の画像（例えば、黒髪／茶髪／ブロンドヘアの人の顔の偽物の画像）を生成することができる。同様に、第２の生成器G2は、ＧＡＮ400の推論フェーズにおいて、第２のタイプ分類に対応する偽物の画像（例えば、所望の頭髪色の人の顔の偽物の画像）を生成することができる。
【００９１】
本発明の第２の実施形態による推論フェーズにおいてＧＡＮを用いることによる画像形成方法のフロー図を示す図６を参照する。以下の説明を容易にするために、図４の記号／信号が例として使用されるが、本開示はこれに限定されない。
【００９２】
ステップＳ６１０において、第１の生成器G1は第１の入力画像（例えば、x）と分類指示yを受け取り、これに基づき、第１の入力画像内の第１の特定領域の第１の色を第１の目標色に置き換えることにより、第１の出力画像x'1を生成する。ステップＳ６２０において、第２の生成器G2は、第２の入力画像と目標色指示cを受け取り、これに基づき、第２の入力画像内の第２の特定領域の第２の色を第２の目標色に置き換えることにより、第２の出力画像x'2を生成する。
【００９３】
上述に基づき理解できるように、たとえＧＡＮ400を訓練する処理の間に第２のタイプ分類に属する訓練サンプルが利用可能でなくとも、第２の生成器G2は、本発明にて提案された方法で、第２のタイプ分類に対応する画像を生成するよう学習することができる。
【００９４】
本発明は更に、ＧＡＮを訓練する方法を実行するためのコンピュータ読み取り可能記憶媒体を提供する。コンピュータ読み取り可能記憶媒体は、本明細書において実施された複数のプログラム命令（たとえば、設定プログラム命令とデプロイメントプログラム命令）で構成される。これらプログラム命令は訓練システム（例えば、コンピュータデバイス）にロードされ、ＧＡＮの訓練方法及び上記にて説明された訓練システムの機能を実行するため、訓練システムにより実行される。
【００９５】
まとめると、本発明において提案された方法は、ＧＡＮの第１の生成器を第１のタイプ分類に属する利用可能な訓練サンプルで訓練し、第１の生成器により学習された知識を第２の生成器に共有させる。従って、たとえ第２の生成器を訓練する間に訓練データが利用可能でなくとも、第２の生成器は第２のタイプ分類に属する（偽物の）画像を生成するよう学習することができる。
【００９６】
当業者にとって、本発明の範囲又は精神から逸脱することなく、本発明の構造に様々な改変と変形を行うことができること明らかであろう。上記を鑑み、本発明は、以下の特許請求の範囲及びそれらの均等物の範囲内にあるという条件で、本発明の改変及び変形を網羅することを意図している。
【産業上の利用可能性】
【００９７】
本発明は、人工知能の深層学習の分野に応用することができる。
【符号の説明】
【００９８】
100、400：ＧＡＮ
c：目標色指示
C1：第１のコンバイナ
C2：第２のコンバイナ
D：識別器
E：予測ネットワーク
F1：第１のＣＮＮ（畳み込みニューラルネットワーク）
F2：第２のＣＮＮ
G1：第１の生成器
G2：第２の生成器
H：色予測器
v'1：第１のセマンティック埋め込みベクトル
v1：第２のセマンティック埋め込みベクトル
v'2：第３のセマンティック埋め込みベクトル
v2：第４のセマンティック埋め込みベクトル
x：第１の入力画像（人の顔の画像）
x'1：第１の出力画像
x'2：第２の出力画像
y：分類指示
y’：元々の分類指示
y1：第１の分類指示
y2：第２の分類指示
z：ランダムノイズ
CC：色比較結果
CI1, CI2：サイクル画像
CR：分類結果
DR：識別結果
FI1：第１の前景画像
FI2：第２の前景画像
M：マスクネットワーク
RI：参考画像
PM1：第１の確率マップ
PM2：第２の確率マップ
S210, S220, S230, S240, S250, S260, S270, S280, S290, S310, S320, S510, S520, S530, S540, S550, S560, S570, S610, S620：ステップ
【図１】
2020191093.tif 000024
【図２】
2020191093.tif 000025
【図３】
2020191093.tif 000026
【図４】
2020191093.tif 000027
【図５】
2020191093.tif 000028
【図６】
2020191093.tif 000029
【外国語明細書】
2020191093000001.pdf