(57)【要約】【課題】人の横顔の画像から正面の顔の画像を生成する場合において、コンピューターの計算量を低減しつつ、後段の認識タスクの認識精度を維持または向上できる学習方法、学習プログラム、および学習装置を提供する。【解決手段】生成器として機能する第１のニューラルネットワーク２１０と、識別器として機能する第２のニューラルネットワーク２２０を有するニューラルネットワークを学習させる方法であって、第１のニューラルネットワークのロスを算出するための正則化項の係数を第１の入力データに応じて変更するステップ（Ｓ１０７）と、上記係数および第１のニューラルネットワークの出力データに基づいて、第１のニューラルネットワークのロスを算出するステップ（Ｓ１０８）と、算出された上記ロスを使用して第１のニューラルネットワークを学習させるステップ（Ｓ１０９）と、を有する学習方法。【選択図】図４
2019197311.tif 000002
【特許請求の範囲】
【請求項１】
第１の入力データから特徴量を抽出し、当該特徴量に基づいて出力データを生成する第１のニューラルネットワークと、前記出力データおよび第２の入力データが入力され、前記出力データが前記第２の入力データである確率を出力する第２のニューラルネットワークと、を有するネットワークを学習させる学習方法であって、
前記第１のニューラルネットワークのロスを算出するための正則化項の係数を前記第１の入力データに応じて変更するステップ（ａ）と、
前記係数および前記出力データに基づいて、前記第１のニューラルネットワークのロスを算出するステップ（ｂ）と、
算出された前記ロスを使用して前記第１のニューラルネットワークを学習させるステップ（ｃ）と、
を有する学習方法。
【請求項２】
前記ステップ（ａ）の前に、
前記第１の入力データに関する属性を推定するタスクを学習するステップをさらに有し、
前記ステップ（ａ）では、
前記ロスのうち、左右対称性に関するロスの正則化項の係数を、前記タスクによる前記属性の推定の最適化問題のパラメーターとした場合に、前記タスクによる推定の精度を最大化するように、前記係数を前記第１の入力データに応じて変更する、請求項１に記載の学習方法。
【請求項３】
前記第１の入力データは、人物の画像データであり、
前記タスクは、前記人物の年齢を推定するタスク、前記人物の性別を推定するタスク、および前記人物の姿勢を推定するタスクのうちの少なくとも１つである、請求項２に記載の学習方法。
【請求項４】
前記第１の入力データは、人物の画像データであり、
前記タスクは、前記人物の姿勢を推定するタスクであり、
前記ステップ（ａ）では、
前記人物の顔の向きが正面に対して４５度未満の場合は、前記係数を無効とし、４５度以上の場合は、有効とする、請求項２に記載の学習方法。
【請求項５】
前記第２のニューラルネットワークへ入力される前記出力データの有効範囲およびその重みを前記第１の入力データに応じて切り替えるステップ（ｄ）と、
前記出力データおよび前記第２の入力データに基づいて、前記第２のニューラルネットワークのロスを算出するステップ（ｅ）と、
算出された前記ロスを使用して前記第２のニューラルネットワークを学習させるステップ（ｆ）と、
をさらに有する、請求項１〜４のいずれか１項に記載の学習方法。
【請求項６】
第１の入力データから特徴量を抽出し、当該特徴量に基づいて出力データを生成する第１のニューラルネットワークと、前記出力データおよび第２の入力データが入力され、前記出力データが前記第２の入力データである確率を出力する第２のニューラルネットワークと、を有するネットワークを学習させる学習方法であって、
前記第２のニューラルネットワークへ入力される前記出力データの有効範囲およびその重みを前記第１の入力データに応じて切り替えるステップ（ａ）と、
前記出力データおよび前記第２の入力データに基づいて、前記第２のニューラルネットワークのロスを算出するステップ（ｂ）と、
算出された前記ロスを使用して前記第２のニューラルネットワークを学習させるステップ（ｃ）と
を有する、学習方法。
【請求項７】
前記ステップ（ａ）の前に、
前記第１の入力データに関する属性を推定するタスクを学習するステップをさらに有し、
前記ステップ（ａ）では、
前記タスクが前記出力データの画像内において着目している範囲を特定し、特定された当該範囲を前記第２のニューラルネットワークに入力される前記有効範囲とする、請求項６に記載の学習方法。
【請求項８】
前記第２のニューラルネットワークに入力される前記出力データは、人物の画像データであり、
前記ステップ（ａ）では、
顔検出が可能になるまで前記第１および第２のニューラルネットワークの学習が進んだ段階において、前記出力データから顔におけるランドマークを検出し、検出された前記顔におけるランドマークを各々含む範囲を前記第２のニューラルネットワークに入力される前記有効範囲とし、それ以外の範囲を所定サイズのパッチとする、請求項６に記載の学習方法。
【請求項９】
前記ステップ（ａ）の前に、
前記第１の入力データに関する属性を推定するタスクを学習するステップをさらに有し、
前記ステップ（ａ）では、
前記有効範囲、前記パッチの重み、および前記パッチのサイズのうちの少なくともいずれかを、前記タスクによる前記属性の推定の最適化問題のパラメーターとした場合に、前記タスクによる推定の精度を最大化する、請求項８に記載の学習方法。
【請求項１０】
前記出力データは、人物の画像データであり、
前記タスクは、前記人物の年齢を推定するタスク、前記人物の性別を推定するタスク、および前記人物の姿勢を推定するタスクのうちの少なくとも１つである、請求項７または９に記載の学習方法。
【請求項１１】
第１の入力データから特徴量を抽出し、当該特徴量に基づいて出力データを生成する第１のニューラルネットワークと、前記出力データおよび第２の入力データが入力され、前記出力データが前記第２の入力データである確率を出力する第２のニューラルネットワークと、を有するネットワークを学習させる学習プログラムであって、
前記第１のニューラルネットワークのロスを算出するための正則化項の係数を前記第１の入力データに応じて変更する手順（ａ）と、
前記係数および前記出力データに基づいて、前記第１のニューラルネットワークのロスを算出する手順（ｂ）と、
算出された前記ロスを使用して前記第１のニューラルネットワークを学習させる手順（ｃ）と、
をコンピューターに実行させるための学習プログラム。
【請求項１２】
第１の入力データから特徴量を抽出し、当該特徴量に基づいて出力データを生成する第１のニューラルネットワークと、前記出力データおよび第２の入力データが入力され、前記出力データが前記第２の入力データである確率を出力する第２のニューラルネットワークと、を有するネットワークを学習させる学習プログラムであって、
前記第２のニューラルネットワークへ入力される前記出力データの有効範囲およびその重みを前記第１の入力データに応じて切り替える手順（ａ）と、
前記出力データおよび前記第２の入力データに基づいて、前記第２のニューラルネットワークのロスを算出する手順（ｂ）と、
算出された前記ロスを使用して前記第２のニューラルネットワークを学習させる手順（ｃ）と、
をコンピューターに実行させるための学習プログラム。
【請求項１３】
第１の入力データから特徴量を抽出し、当該特徴量に基づいて出力データを生成する第１のニューラルネットワークと、前記出力データおよび第２の入力データが入力され、前記出力データが前記第２の入力データである確率を出力する第２のニューラルネットワークと、を有するネットワークを学習させる学習装置であって、
前記第１のニューラルネットワークのロスを算出するための正則化項の係数を前記第１の入力データに応じて変更するロス変更部と、
前記係数および前記出力データに基づいて、前記第１のニューラルネットワークのロスを算出するロス算出部と、を有し、
前記第１のニューラルネットワークは、算出された前記ロスを使用して学習する、学習装置。
【請求項１４】
第１の入力データから特徴量を抽出し、当該特徴量に基づいて出力データを生成する第１のニューラルネットワークと、前記出力データおよび第２の入力データが入力され、前記出力データが前記第２の入力データである確率を出力する第２のニューラルネットワークと、を有するネットワークを学習させる学習装置であって、
前記第２のニューラルネットワークへ入力される前記出力データの有効範囲およびその重みを前記第１の入力データに応じて切り替える構造変更部と、
前記出力データおよび前記第２の入力データに基づいて、前記第２のニューラルネットワークのロスを算出するロス算出部と、を有し、
前記第２のニューラルネットワークは、算出された前記ロスを使用して学習する、学習装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、学習方法、学習プログラム、および学習装置に関する。
【背景技術】
【０００２】
近年、ディープラーニング（深層学習）に関する技術の進展が著しい。ディープラーニングは、ディープニューラルネットワーク（ＤＮＮ：Ｄｅｅｐ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）と称される人間の脳を模して作られたアルゴリズムにより実現される。
【０００３】
ディープラーニングを用いた技術として、敵対的生成ネットワーク（ＧＡＮ：Ｇｅｎｅｒａｔｉｖｅ  Ａｄｖｅｒｓａｒｉａｌ  Ｎｅｔｗｏｒｋ）が知られている（非特許文献１）。ＧＡＮは、生成器（Ｇｅｎｅｒａｔｏｒ）と識別器（Ｄｉｓｃｒｉｍｉｎａｔｏｒ）の２つのＤＮＮを競合させながら学習させていく生成モデルであり、他の生成モデルと比較してくっきりとした画像が得られる傾向がある。
【０００４】
非特許文献１では、人の横顔を撮像して得られた横顔の画像から、その人の正面の顔の画像を推定し、生成する技術が開示されている。この技術では、目、鼻、口など顔の部分の正面の画像を個別に生成するローカル経路と、全体的な正面の顔の画像を生成するグローバル経路と、を有し、生成された、顔の部分的な正面の画像と全体的な正面の顔の画像とを合成して正面の顔の画像を生成している。また、正面の顔の左右対称性に関する損失関数により損失（以下、「ロス」という）を算出し、正面の顔の左右対称性を考慮することにより、生成画像の「見た目」の改善を図っている。
【０００５】
また、非特許文献２では、識別器への入力を所定の小区画（たとえば７０ピクセル×７０ピクセル）に分割し、各小区画単位で識別器を学習させることにより、計算量を削減しつつ、出力の精度を向上させることを目的としている。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】Ｒｕｉ  Ｈｕａｎｇ  外３名、「Ｂｅｙｏｎｄ  Ｆａｃｅ  Ｒｏｔａｔｉｏｎ：  Ｇｌｏｂａｌ  ａｎｄ  Ｌｏｃａｌ  Ｐｅｒｃｅｐｔｉｏｎ  ＧＡＮ  ｆｏｒ  Ｐｈｏｔｏｒｅａｌｉｓｔｉｃ  ａｎｄ  Ｉｄｅｎｔｉｔｙ  Ｐｒｅｓｅｒｖｉｎｇ  Ｆｒｏｎｔａｌ  Ｖｉｅｗ  Ｓｙｎｔｈｅｓｉｓ」、ＡＲＸＩＶ、ｅｐｒｉｎｔ  ａｒＸｉｖ：１７０４．０４０８６、２０１７年４月
【非特許文献２】Ｐｈｌｌｉｐ  Ｉｓｏｌａ  他３名、「Ｉｍａｇｅ−ｔｏ−Ｉｍａｇｅ  Ｔｒａｎｓｌａｔｉｏｎ  ｗｉｔｈ  Ｃｏｎｄｉｔｉｏｎａｌ  Ａｄｖｅｒｓａｒｉａｌ  Ｎｅｔｗｏｒｋｓ」、ＡＲＸＩＶ、ｅｐｒｉｎｔ  ａｒＸｉｖ：１６１１．０７００４、２０１７年１１月
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、非特許文献１の技術では、ローカル経路およびグローバル経路は、それぞれＤＮＮを含み、それぞれのＤＮＮにおいて学習が行われ、ローカル経路は、顔の部分の数に応じて複数の生成器を必要とするので、計算量が多くなるという問題がある。また、顔の左右対称性に関するロスを導入することにより生成画像の「見た目」は改善されるものの、顔の左右対称化を進め過ぎると、たとえば後段の顔認識タスクに生成画像を入力した場合における認識精度が低下するという問題もある。
【０００８】
また、非特許文献２の技術では、識別器への入力を所定の小区画に分割しているものの、分割の単位が一律であるので、目、鼻、口など大きさの異なる部分を含む顔の正面化には適していない。
【０００９】
本発明は、上述した課題に鑑みてなされたものである。したがって、本発明の目的は、人の横顔の画像から正面の顔の画像を生成する場合において、計算量を低減しつつ、後段の認識タスクの認識精度を維持または向上できる学習方法、学習プログラム、および学習装置を提供することである。
【課題を解決するための手段】
【００１０】
本発明の上記目的は、下記の手段によって達成される。
【００１１】
（１）第１の入力データから特徴量を抽出し、当該特徴量に基づいて出力データを生成する第１のニューラルネットワークと、前記出力データおよび第２の入力データが入力され、前記出力データが前記第２の入力データである確率を出力する第２のニューラルネットワークと、を有するネットワークを学習させる学習方法であって、前記第１のニューラルネットワークのロスを算出するための正則化項の係数を前記第１の入力データに応じて変更するステップ（ａ）と、前記係数および前記出力データに基づいて、前記第１のニューラルネットワークのロスを算出するステップ（ｂ）と、算出された前記ロスを使用して前記第１のニューラルネットワークを学習させるステップ（ｃ）と、を有する学習方法。
【００１２】
（２）前記ステップ（ａ）の前に、前記第１の入力データに関する属性を推定するタスクを学習するステップをさらに有し、前記ステップ（ａ）では、前記ロスのうち、左右対称性に関するロスの正則化項の係数を、前記タスクによる前記属性の推定の最適化問題のパラメーターとした場合に、前記タスクによる推定の精度を最大化するように、前記係数を前記第１の入力データに応じて変更する、上記（１）に記載の学習方法。
【００１３】
（３）前記第１の入力データは、人物の画像データであり、前記タスクは、前記人物の年齢を推定するタスク、前記人物の性別を推定するタスク、および前記人物の姿勢を推定するタスクのうちの少なくとも１つである、上記（２）に記載の学習方法。
【００１４】
（４）前記第１の入力データは、人物の画像データであり、前記タスクは、前記人物の姿勢を推定するタスクであり、前記ステップ（ａ）では、前記人物の顔の向きが正面に対して４５度未満の場合は、前記係数を無効とし、４５度以上の場合は、有効とする、上記（２）に記載の学習方法。
【００１５】
（５）前記第２のニューラルネットワークへ入力される前記出力データの有効範囲およびその重みを前記第１の入力データに応じて切り替えるステップ（ｄ）と、前記出力データおよび前記第２の入力データに基づいて、前記第２のニューラルネットワークのロスを算出するステップ（ｅ）と、算出された前記ロスを使用して前記第２のニューラルネットワークを学習させるステップ（ｆ）と、をさらに有する、上記（１）〜（４）のいずれか１つに記載の学習方法。
【００１６】
（６）第１の入力データから特徴量を抽出し、当該特徴量に基づいて出力データを生成する第１のニューラルネットワークと、前記出力データおよび第２の入力データが入力され、前記出力データが前記第２の入力データである確率を出力する第２のニューラルネットワークと、を有するネットワークを学習させる学習方法であって、前記第２のニューラルネットワークへ入力される前記出力データの有効範囲およびその重みを前記第１の入力データに応じて切り替えるステップ（ａ）と、前記出力データおよび前記第２の入力データに基づいて、前記第２のニューラルネットワークのロスを算出するステップ（ｂ）と、算出された前記ロスを使用して前記第２のニューラルネットワークを学習させるステップ（ｃ）とを有する、学習方法。
【００１７】
（７）前記ステップ（ａ）の前に、前記第１の入力データに関する属性を推定するタスクを学習するステップをさらに有し、前記ステップ（ａ）では、前記タスクが前記出力データの画像内において着目している範囲を特定し、特定された当該範囲を前記第２のニューラルネットワークに入力される前記有効範囲とする、上記（６）に記載の学習方法。
【００１８】
（８）前記第２のニューラルネットワークに入力される前記出力データは、人物の画像データであり、前記ステップ（ａ）では、顔検出が可能になるまで前記第１および第２のニューラルネットワークの学習が進んだ段階において、前記出力データから顔におけるランドマークを検出し、検出された前記顔におけるランドマークを各々含む範囲を前記第２のニューラルネットワークに入力される前記有効範囲とし、それ以外の範囲を所定サイズのパッチとする、上記（６）に記載の学習方法。
【００１９】
（９）前記ステップ（ａ）の前に、前記第１の入力データに関する属性を推定するタスクを学習するステップをさらに有し、前記ステップ（ａ）では、前記有効範囲、前記パッチの重み、および前記パッチのサイズのうちの少なくともいずれかを、前記タスクによる前記属性の推定の最適化問題のパラメーターとした場合に、前記タスクによる推定の精度を最大化する、上記（８）に記載の学習方法。
【００２０】
（１０）前記出力データは、人物の画像データであり、前記タスクは、前記人物の年齢を推定するタスク、前記人物の性別を推定するタスク、および前記人物の姿勢を推定するタスクのうちの少なくとも１つである、上記（７）または（９）に記載の学習方法。
【００２１】
（１１）第１の入力データから特徴量を抽出し、当該特徴量に基づいて出力データを生成する第１のニューラルネットワークと、前記出力データおよび第２の入力データが入力され、前記出力データが前記第２の入力データである確率を出力する第２のニューラルネットワークと、を有するネットワークを学習させる学習プログラムであって、前記第１のニューラルネットワークのロスを算出するための正則化項の係数を前記第１の入力データに応じて変更する手順（ａ）と、前記係数および前記出力データに基づいて、前記第１のニューラルネットワークのロスを算出する手順（ｂ）と、算出された前記ロスを使用して前記第１のニューラルネットワークを学習させる手順（ｃ）と、をコンピューターに実行させるための学習プログラム。
【００２２】
（１２）第１の入力データから特徴量を抽出し、当該特徴量に基づいて出力データを生成する第１のニューラルネットワークと、前記出力データおよび第２の入力データが入力され、前記出力データが前記第２の入力データである確率を出力する第２のニューラルネットワークと、を有するネットワークを学習させる学習プログラムであって、前記第２のニューラルネットワークへ入力される前記出力データの有効範囲およびその重みを前記第１の入力データに応じて切り替える手順（ａ）と、前記出力データおよび前記第２の入力データに基づいて、前記第２のニューラルネットワークのロスを算出する手順（ｂ）と、算出された前記ロスを使用して前記第２のニューラルネットワークを学習させる手順（ｃ）と、をコンピューターに実行させるための学習プログラム。
【００２３】
（１３）第１の入力データから特徴量を抽出し、当該特徴量に基づいて出力データを生成する第１のニューラルネットワークと、前記出力データおよび第２の入力データが入力され、前記出力データが前記第２の入力データである確率を出力する第２のニューラルネットワークと、を有するネットワークを学習させる学習装置であって、前記第１のニューラルネットワークのロスを算出するための正則化項の係数を前記第１の入力データに応じて変更するロス変更部と、前記係数および前記出力データに基づいて、前記第１のニューラルネットワークのロスを算出するロス算出部と、を有し、前記第１のニューラルネットワークは、算出された前記ロスを使用して学習する、学習装置。
【００２４】
（１４）第１の入力データから特徴量を抽出し、当該特徴量に基づいて出力データを生成する第１のニューラルネットワークと、前記出力データおよび第２の入力データが入力され、前記出力データが前記第２の入力データである確率を出力する第２のニューラルネットワークと、を有するネットワークを学習させる学習装置であって、前記第２のニューラルネットワークへ入力される前記出力データの有効範囲およびその重みを前記第１の入力データに応じて切り替える構造変更部と、前記出力データおよび前記第２の入力データに基づいて、前記第２のニューラルネットワークのロスを算出するロス算出部と、を有し、前記第２のニューラルネットワークは、算出された前記ロスを使用して学習する、学習装置。
【発明の効果】
【００２５】
本発明によれば、生成器の学習段階において、生成器の対称性ロスの正則化項の係数を入力画像データに応じて切り替えるので、生成器によって生成される生成画像における顔の対称性を不必要に高めることを回避できる。したがって、生成画像を後段の認識タスクに入力した場合における認識精度を向上できる。また、識別器の学習段階において、識別器への入力画像の有効範囲およびその重みを入力画像に応じて切り替えることにより、識別器のロスを切り替えるので、生成器を増加させずに、横顔から正面の顔の画像を細部まで精度よく識別できる。その結果、生成器を増加させないので、従来の技術と比べて演算部の計算量を低減することが可能である。
【図面の簡単な説明】
【００２６】
【図１】一実施形態に係る学習装置の概略構成を示すブロック図である。
【図２】一実施形態に係るＧＡＮの生成器の学習段階におけるＧＡＮの概略構成を示すブロック図である。
【図３】図２に示すロス変更部の概略構成を例示するブロック図である。
【図４】学習装置により実行される生成器学習処理の手順を例示するフローチャートである。
【図５】対称性ロスの正則化項の係数をパラメーターとした場合の属性推定タスクの最適化を例示する概念図である。
【図６】一実施形態のＧＡＮの識別器の学習段階におけるＧＡＮの概略構成を例示するブロック図である。
【図７】図６に示す構造変更部の概略構成を例示するブロック図である。
【図８】識別器への入力画像の有効領域およびパッチの設定を例示する模式図である。
【図９】学習装置により実行される識別器学習処理の手順を例示するフローチャートである。
【図１０】有効領域、パッチの重み、またはパッチのサイズをパラメーターとした場合の属性推定タスクの最適化を例示する概念図である。
【発明を実施するための形態】
【００２７】
（一実施形態）
以下、図面を参照して、本発明の実施形態を詳細に説明する。図１は、本発明の一実施形態に係る学習装置の概略構成を示すブロック図である。学習装置１００は、演算部１１０、記憶部１２０、表示部１３０、入力部１４０、および通信インターフェース１５０を備えており、これらは信号をやり取りするためのバス１６０を介して相互に接続されている。
【００２８】
演算部１１０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）やＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を含み、プログラムにしたがって、上記各部の制御や各種の演算処理を行う。
【００２９】
記憶部１２０は、予め各種プログラムや各種データを格納しておくＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、作業領域として一時的にプログラムやデータを記憶するＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、各種プログラムや各種データを格納するハードディスク等からなる。
【００３０】
表示部１３０は、たとえば、液晶ディスプレイであり、各種の情報を表示する。
【００３１】
入力部１４０は、マウス等のポインティングデバイスやキーボードを含み、各種の入力を行うために使用される。
【００３２】
通信インターフェース１５０は、他の機器と通信するためのインターフェースであり、イーサネット（登録商標）、トークンリング、およびＦＤＤＩ（Ｆｉｂｅｒ  Ｄｉｓｔｒｉｂｕｔｅｄ  Ｄａｔａ  Ｉｎｔｅｒｆａｃｅ）等の規格が用いられる。
【００３３】
なお、学習装置１００は、上記構成要素以外の構成要素を含んでいてもよく、あるいは、上記構成要素のうちの一部が含まれていなくてもよい。
【００３４】
次に、図２を参照して、本実施形態の学習装置１００において用いられるＧＡＮ（Ｃｏｎｄｉｔｉｏｎａｌ  ＧＡＮ）について説明する。ＧＡＮは、ニューラルネットワークで構成される生成器と識別器とが、既知の入力データを使用して交互に学習を行うことにより進化し、未知の入力データに対する適用性を高めていくように構成されている。
【００３５】
＜生成器２１０の学習段階の構成＞
図２は本実施形態のＧＡＮの生成器の学習段階におけるＧＡＮの概略構成を示すブロック図であり、図３は図２に示すロス変更部の概略構成を例示するブロック図である。なお、以下では、学習装置１００が、人の横顔を撮像して得られた画像データ（以下、「横顔画像データ」と称する）３１０から、正面の顔の画像データ３３０を生成する顔向き補正を行う場合を例に挙げて説明する。
【００３６】
図２に示すとおり、ＧＡＮ２００は、生成器２１０、識別器２２０、ロス算出部２３０、およびロス変更部２４０を備えている。
【００３７】
本実施形態では、横顔画像データ３１０と、横顔画像データ３１０の人物と同一人物の顔を正面から撮像して得られた、「本物」としての正面顔画像データ３２０とが複数人分（たとえば、１００００人分）用意されている。横顔画像データ３１０は、生成器２１０に入力される画像データ（第１の入力データ）である。また、正面顔画像データ３２０は、第２の入力データとして、識別器２２０に入力される。
【００３８】
生成器２１０は、横顔画像データ３１０から特徴量を抽出し、当該特徴量に基づいて画像データ３３０（出力データ）を生成するとともに、画像データ３３０が正面顔画像データ３２０に近付くように学習する第１のニューラルネットワークである。生成器２１０は、エンコーダ・デコーダ型のＤＮＮであり、入力された横顔画像データ３１０に対してコンボリューションおよびデコンボリューション処理を行い、横顔画像データ３１０から画像データ３３０を生成する。また、生成器２１０は、画像データ３３０に基づいて算出される生成器２１０のロスの値を最小化するように、誤差逆伝播法により重み係数を更新して学習する。なお、生成器２１０のロスの詳細については後述する。
【００３９】
識別器２２０は、エンコーダ型のＤＮＮ（第２のニューラルネットワーク）であり、入力された画像データを識別する。識別器２２０には、画像データ３３０および正面顔画像データ３２０のうちのいずれか一方が入力される。識別器２２０は、入力された画像データに対してコンボリューション処理を行い、入力された画像データが「本物」の正面顔画像データ３２０である確率を出力する。また、識別器２２０は、入力画像データが正面顔画像データ３２０である確率を算出するとともに、生成器２１０により生成された画像データ３３０と「本物」の正面顔画像データ３２０とを正確に分類できるように学習する。なお、生成器２１０の学習段階においては、識別器２２０のＤＮＮの重み係数は固定の値が使用される。
【００４０】
ロス算出部２３０は、ニューラルネットワークで構成され、ロスを算出し、生成器２１０に伝達する。本実施形態では、ロス算出部２３０により、交差エントロピーロス（ｃｒｏｓｓ  ｅｎｔｒｏｐｙ  ｌｏｓｓ）Ｌｃｅに適当な係数αをかけたαＬｃｅに、下記の合成ロスを加えた総合的なロスＬｔｏｔａｌが算出され、生成器２１０のロスとして生成器２１０に伝達される。交差エントロピーロスは、識別器２２０によって算出された確率に基づいて求められる。
【００４１】
本実施形態では、合成ロスは、たとえば、ピクセルロス（ｐｉｘｅｌ−ｗｉｓｅ  ｌｏｓｓ）、対称性ロス（ｓｙｍｍｅｔｒｙ  ｌｏｓｓ）、敵対的ロス（ａｄｖｅｒｓａｒｉａｌ  ｌｏｓｓ）、個性保存ロス（ｉｄｅｎｔｉｔｙ  ｐｒｅｓｅｒｖｉｎｇ  ｌｏｓｓ）、およびトータルバリエーションロス（ｔｏｔａｌ  ｖａｒｉａｔｉｏｎ  ｒｅｇｕｌａｒｉｚａｔｉｏｎ  ｌｏｓｓ）を含みうる。
【００４２】
上記ピクセルロス、対称性ロス、敵対的ロス、個性保存ロス、およびトータルバリエーションロスの正則化項をそれぞれＬｐｉｘｅｌ、Ｌｓｙｍ、Ｌａｄｖ、Ｌｉｐ、およびＬｔｖと表し、Ｌｓｙｍ、Ｌａｄｖ、Ｌｉｐ、およびＬｔｖの係数をそれぞれλ１〜λ４と表した場合、合成ロスＬｓｙｎは、たとえば、下記の数式（１）のように表すことができる。
【００４３】
【数１】
2019197311.tif 000003
【００４４】
ピクセルロスの正則化項Ｌｐｉｘｅｌは、生成器２１０によって生成された画像データ３３０と、「本物」の正面顔画像データ３２０との間におけるピクセルに関するロス（Ｌ１ロス）である。
【００４５】
また、対称性ロスの正則化項Ｌｓｙｍは、生成器２１０によって生成された画像データ３３０における顔の左右対称性に関するロスである。より具体的には、画像データ３３０のサイズを幅Ｗ×高さＨ、幅Ｗ方向の変数ｘ、高さＨ方向の変数をｙ、画像データ３３０の位置（ｘ、ｙ）の画素値をＩｘ，ｙで表した場合、対称性ロスの正則化項Ｌｓｙｍは下記の数式（２）のように表すことができる。
【００４６】
【数２】
2019197311.tif 000004
【００４７】
また、敵対的ロスの正則化項Ｌａｄｖは、正面顔画像データ３２０と、生成器２１０によって生成された画像データ３３０と、の識別器２２０による識別に関するロスである。学習装置１００は、画像データ３３０が正面顔画像データ３２０に限りなく近付くように、横顔画像データ３１０および正面顔画像データ３２０のペアを多数使用して生成器２１０および識別器２２０を繰り返し学習させる。敵対的ロスの正則化項Ｌａｄｖは、識別器２２０が、生成器２１０によって生成された画像データ３３０から「本物」の正面顔画像データ３２０をどの程度識別できているかを表す。言い換えれば、敵対的ロスの正則化項Ｌａｄｖは、生成器２１０が、どの程度、正面顔画像データ３２０に近い画像データ３３０を生成できているかを表す。
【００４８】
個性保存ロスの正則化項Ｌｉｐは、横顔画像データ３１０から画像データ３３０への変換で、どの程度、個性、すなわち横顔画像データ３１０の人物の「らしさ」が保存されているかを表す。
【００４９】
また、トータルバリエーションロスの正則化項Ｌｔｖは、生成器２１０によって生成された画像データ３３０の「滑らかさ」を表す。
【００５０】
なお、上記数式（１）は、ロスを表現する数式の一例であって、ピクセルロス、対称性ロス、敵対的ロス、個性保存ロス、およびトータルバリエーションロスのうち、いずれかを省略することも、他の観点からロスを追加することもできる。
【００５１】
ロス変更部２４０は、ニューラルネットワークで構成され、ロスの正則化項の係数を変更する。図３に示すように、ロス変更部２４０は、年齢推定部２４１、性別推定部２４２、姿勢推定部２４３、および変更実行部２４４を有する。
【００５２】
年齢推定部２４１は、画像データ３３０が人物の画像であるとして、その人物の属性として年齢を推定する属性推定タスクとして機能する。また、性別推定部２４２は、画像データ３３０が人物の画像であるとして、その人物の属性として性別（男性／女性）を推定する属性推定タスクとして機能する。
【００５３】
姿勢推定部２４３は、画像データ３３０が人物の画像であるとして、その人物の属性として姿勢を推定または評価する属性推定タスクとして機能する。姿勢推定部２４３は、たとえば、その人物が正面に対してどれくらいの角度を向いているかを推定する。
【００５４】
変更実行部２４４は、年齢推定部２４１の推定結果、性別推定部２４２の推定結果、および姿勢推定部２４３の推定結果の少なくとも１つに基づいて、ロスの正則化項の係数を変更する。変更実行部２４４は、たとえば、横顔画像データ３１０に対する姿勢推定部２４３の推定結果に基づいて、対称性ロスの正則化項Ｌｓｙｍの係数λ１を変更する。新たな係数λ１を決定する具体的な方法については、後述する。
【００５５】
なお、ニューラルネットワークを使用して、年齢推定、性別推定、および姿勢推定を実現する方法は公知であるので、詳細な説明を省略する。
【００５６】
また、生成器２１０、識別器２２０、ロス算出部２３０、およびロス変更部２４０の機能は、学習装置１００の演算部１１０が、記憶部１２０に記憶されているプログラム（学習プログラム）を実行することによって実現される。また、以上では、説明の便宜上、ロス算出部２３０およびロス変更部２４０を個別のモジュールとして説明したが、ロス算出部２３０およびロス変更部２４０は、生成器２１０に組み込まれていてもよい。
【００５７】
＜生成器２１０の学習段階の処理手順＞
図４および図５を参照して、生成器２１０の学習段階における処理手順について説明する。図４は、学習装置１００により実行される生成器学習処理の手順を例示するフローチャートである。なお、図４に示すフローチャートの処理は、予め用意された多数の横顔画像データ３１０を生成器２１０に入力して生成器２１０を学習させる処理を所定のエポック数だけ行う過程において繰り返し実行される。また、図５は、対称性ロスの正則化項の係数をパラメーターとした場合の属性推定タスクの最適化を例示する概念図である。
【００５８】
まず、学習装置１００は、属性推定タスクを学習する（ステップＳ１０１）。より具体的には、属性（年齢、性別、または姿勢）を推定するタスク（年齢推定部２４１、性別推定部２４２、または姿勢推定部２４３）をオフラインで学習させる。その際、学習装置１００は、横顔画像データ３１０の人物の実際の年齢、性別、および姿勢に関する情報を予め記憶部１２０に記憶させておき、訓練用のデータとして使用する。すなわち、横顔画像データ３１０と上記情報とに基づいて、属性推定タスクを学習する。
【００５９】
次に、学習装置１００は、学習用に用意された多数の横顔画像データ３１０の中から、所定のバッチサイズの横顔画像データ３１０を抽出し、抽出した横顔画像データ３１０を訓練データとして生成器２１０に入力する（ステップＳ１０２）。
【００６０】
次に、生成器２１０は、生成器２１０に入力された横顔画像データ３１０から画像データ３３０を生成する（ステップＳ１０３）。
【００６１】
次に、学習装置１００は、生成器２１０に入力された横顔画像データ３１０と、生成器２１０により生成された画像データ３３０とを記憶部１２０に記憶させる（ステップＳ１０４）。
【００６２】
次に、識別器２２０に画像データを入力する（ステップＳ１０５）。学習装置１００は、生成器２１０により生成された画像データ３３０または正面顔画像データ３２０を識別器２２０に入力する。
【００６３】
次に、確率を出力する（ステップＳ１０６）。より具体的には、識別器２２０は、入力された画像が正面顔画像データ３２０である確率を０〜１のスカラー値で出力する。したがって、この場合、入力された画像が正面顔画像データ３２０であると断定されるときに「１」が、入力された画像が正面顔画像データ３２０である可能性がまったくないときに「０」が出力される。
【００６４】
次に、ロスの正則化項の係数を変更する（ステップＳ１０７）。ロス変更部２４０は、たとえば、対称性ロスの正則化項Ｌｓｙｍの係数λ１を変更する。対称性ロスの正則化項Ｌｓｙｍは、人の顔が左右対称であることを前提としている。しかし、通常、多くの人では、顔は左右でわずかに異なっており、完全な左右対称ではない。また、顔の左右対称化を進め過ぎると、生成画像に基づいて行われる後段のタスク（たとえば、人の顔を認識する顔認識など）の精度が低下するという問題も指摘されている。したがって、対称性ロスの正則化項Ｌｓｙｍは、横顔画像データ３１０に応じて、調整または制約されることが望ましい。
【００６５】
これに対し、本実施形態では、横顔画像データ３１０に応じて、対称性ロスの正則化項Ｌｓｙｍの係数λ１を変更することにより、ロスを調整する。ロス変更部２４０は、たとえば係数λ１を、属性推定タスク（たとえば、姿勢推定部２４３）による推定の最適化問題のパラメーターとした場合、この推定の精度を最大化するように係数λ１を横顔画像データ３１０に応じて変更する。
【００６６】
より具体的には、図５に示すように、たとえば、属性推定タスクの精度をＱ１とした場合、Ｑ１が最大値Ｑ１ｍａｘとなる係数λ１ｍａｘを求め、このλ１ｍａｘを対称性ロスの正則化項Ｌｓｙｍの係数とする。
【００６７】
また、ロス変更部２４０は、属性推定タスクとして、姿勢推定部２４３を使用する場合、横顔画像データ３１０の人物の向きに応じて、対称性ロスの正則化項Ｌｓｙｍの係数λ１を有効または無効にできる。たとえば、ロス変更部２４０は、横顔画像データ３１０の人物の顔の向きが正面に対して４５度未満の場合は、λ１を無効、すなわちλ１＝０とする。これは、人物の顔の向きが正面に対して４５度未満の場合は、顔の一方の側（たとえば、左側）に加えて他方の側（たとえば、右側）に関する情報がある程度得られるためである。一方、人物の顔の向きが正面に対して４５度以上の場合は、顔の一方の側（たとえば、左側）に関する情報は十分得られるが、他方の側（たとえば、右側）に関する情報は十分ではないため、λ１を有効とする。
【００６８】
次に、ロス算出部２３０は、生成器２１０のロスを算出する（ステップＳ１０８）。ロス算出部２３０は、上記数式（１）に基づいて合成ロスＬｓｙｎを算出する。さらに、ロス算出部２３０は、総合的なロスＬｔｏｔａｌを算出し、生成器２１０のロスとして生成器２１０に伝達する。
【００６９】
次に、生成器２１０を学習させる。生成器２１０は、生成器２１０のロスを最小化するように、重み係数を更新して学習する（ステップＳ１０９）。すなわち、正面顔画像データ３２０と画像データ３３０とに基づいて、生成器２１０を学習する。
【００７０】
以上のように、図４のフローチャートに示す処理では、生成器２１０のロスを算出するための正則化項の係数を横顔画像データ３１０に応じて変更し、上記係数と、生成器２１０によって生成された画像データ３３０とに基づいて、生成器２１０のロスを算出する。そして、算出された生成器２１０のロスを使用して生成器２１０を学習させる。
【００７１】
＜識別器２２０の学習段階の構成＞
次に、識別器２２０の学習段階の概略構成について説明する。図６は本実施形態のＧＡＮ２００の識別器の学習段階におけるＧＡＮ２００の概略構成を例示するブロック図であり、図７は図６に示す構造変更部の概略構成を例示するブロック図である。なお、説明の重複を避けるため、生成器２１０の学習段階の構成と同じ構成については詳細な説明を省略する。
【００７２】
図６に示すように、識別器２２０の学習段階において、ＧＡＮ２００は、生成器２１０、識別器２２０、ロス算出部２３０、および構造変更部２５０を有する。
【００７３】
識別器２２０には、横顔画像データ３１０、生成器２１０により生成された画像データ３３０、および正面顔画像データ３２０のうちの１つが入力される。
【００７４】
学習装置１００は、横顔画像データ３１０および画像データ３３０のペア、または横顔画像データ３１０および正面顔画像データ３２０のペアを訓練データとして識別器２２０に入力して識別器２２０を学習させる。
【００７５】
横顔画像データ３１０および画像データ３３０のペアが訓練データとして入力された場合、入力された画像が画像データ３３０であることを識別する能力が識別器２２０の学習により向上する。
【００７６】
一方、横顔画像データ３１０および正面顔画像データ３２０のペアが訓練データとして入力された場合、入力された画像が正面顔画像データ３２０であることを識別する能力が識別器２２０の学習により向上する。
【００７７】
なお、識別器２２０の学習段階においては、生成器２１０のＤＮＮの重み係数は固定の値が使用される。
【００７８】
ロス算出部２３０は、識別器２２０に入力された画像が、画像データ３３０である確率、または正面顔画像データ３２０である確率に応じて識別器２２０のロスを算出する。識別器２２０は、識別器２２０のロスの値を最小化するように、誤差逆伝播法によりＤＮＮの重み係数を更新して学習する。
【００７９】
構造変更部２５０は、ニューラルネットワークで構成され、識別器２２０のＤＮＮの構造を変更する。図７に示すように、構造変更部２５０は、年齢推定部２５１、性別推定部２５２、姿勢推定部２５３、顔検知部２５４、ランドマーク検知部２５５、有効領域設定部２５６、重み設定部２５７、およびロス切替実行部２５８を有する。
【００８０】
年齢推定部２５１、性別推定部２５２、姿勢推定部２５３については、生成器２１０の学習段階におけるロス変更部２４０の年齢推定部２４１、性別推定部２４２、姿勢推定部２４３とそれぞれ同じ構成であるので、詳細な説明を省略する。
【００８１】
顔検知部２５４は、画像データ３３０が人物の画像であるとして、その人物の顔を検知するタスクとして機能する。なお、ＤＮＮを使用して顔検知を実現する方法は公知であるので、詳細な説明を省略する。
【００８２】
ランドマーク検知部２５５は、顔検知部２５４によって検知された顔におけるランドマーク（たとえば、目、鼻、口など）を検知するタスクとして機能する。なお、ＤＮＮを使用してランドマーク検知を実現する方法は公知であるので、詳細な説明を省略する。
【００８３】
有効領域設定部２５６は、識別器２２０への入力画像に少なくとも１つの有効領域、すなわち、入力画像における有効範囲を設定する。たとえば、有効領域設定部２５６は、特徴箇所特定部を備え、属性推定タスク（たとえば、年齢推定部２５１、性別推定部２４２、または姿勢推定部２５３）が着目している特徴箇所を特定し、識別器２２０への入力画像に有効領域を設定する。特徴箇所特定部は、たとえば、ＧＲＡＤ−ＣＡＭ（Ｇｒａｄｉｅｎｔ−ｗｅｉｇｈｔｅｄ  Ｃｌａｓｓ  Ａｃｔｉｖａｔｉｏｎ  Ｍａｐｐｉｎｇ）であり、勾配情報に基づいて、各属性推定タスクが画像内で着目している範囲を特定する。有効領域設定部２５６は、特徴箇所特定部によって特定された画像の範囲を有効領域に設定する。なお、後述するように、設定された有効領域は、学習段階において最適化される。
【００８４】
また、有効領域設定部２５６は、ランドマーク検知部２５５によって検知された顔の部分（たとえば、目、鼻、口など）を含む領域を有効領域に設定することもできる。図８に示すように、有効領域設定部２５６は、目、鼻、および口にそれぞれ対応する画像の領域３２１，３２２，３２３を有効領域に設定する。
【００８５】
また、有効領域設定部２５６は、ユーザーの指示に応じて、識別器２２０への入力画像に少なくとも１つの有効領域を設定することもできる。ユーザーは、たとえば入力部１４０のマウス等を使用して、識別器２２０の学習を進める上で重要と考えられる顔の部分（たとえば、目、鼻、および口）を指定する。
【００８６】
さらに、有効領域設定部２５６は、識別器２２０への入力画像における有効領域以外の領域にパッチ（ｐａｔｃｈ）を設定することができる。パッチは、識別器２２０への入力画像における小領域であり、たとえば顔の一部に対して設定されうる。なお、パッチの形状は、たとえば矩形状が好ましいが、矩形状に限定されない。また、パッチのサイズについては、初期値としてユーザーによる指定値、または予め記憶部１２０に保持された規定値が設定され、その後、学習段階において最適化される。図８には、顔の一部（顎部）にパッチ３２４が設定された場合を例示している。
【００８７】
重み設定部２５７は、有効領域設定部２５６によって設定されたそれぞれの有効領域およびパッチについて重みを設定する。重みは、初期値として、ユーザーの指定による入力値または予め記憶部に１２０に保持している規定値が使用され、学習段階において最適化される。ユーザーが重みの初期値を指定する場合、たとえば入力部１４０のマウス等を使用して、有効領域およびパッチに設定された顔の部分についてそれぞれ重みの値を指定する。
【００８８】
ロス切替実行部２５８は、識別器２２０への入力画像に設定された有効領域またはパッチの重みに基づいて、識別器２２０のロスを切り替える。より具体的には、ロス切替実行部２５８は、有効領域またはパッチごとに、重みに応じて識別器２２０のロスを切り替える。たとえば、「目」を含む有効領域に対しては、その重みに応じて、目についての特徴を細部にわたり反映できるロスに切り替える。このようにロスを切り替えて学習を進めることにより、識別器２２０のＤＮＮが、目の識別に特化した重み係数を獲得し、目の識別力を向上させることができる。さらに、目についてのロスに加えて、鼻または口についての特徴を細部にわたり反映できるロスを導入することにより、目に加えて鼻または口の識別力を向上させることができる。
【００８９】
このように、識別器２２０への入力画像に有効領域およびパッチ、ならびにそれらの重みを設定し、それらの重みに応じて識別器２２０のロスを切り替えることにより、識別器２２０のＤＮＮの重み係数を更新し、学習することによりＤＮＮの構造が変更される。したがって、横顔の画像から正面の顔の画像を細部まで精度よく識別できる。その結果、ＤＮＮを増加しないので、従来の技術と比べて計算量を低減できる。
【００９０】
なお、生成器２１０、識別器２２０、ロス算出部２３０、および構造変更部２５０の機能は、学習装置１００の演算部１１０が、記憶部１２０に記憶されているプログラム（学習プログラム）を実行することによって実現される。また、以上では、説明の便宜上、ロス算出部２３０および構造変更部２５０を個別のモジュールとして説明したが、ロス算出部２３０および構造変更部２５０は、識別器２２０に組み込まれていてもよい。
【００９１】
＜識別器２２０の学習段階の処理手順＞
次に、図９および図１０を参照して、識別器２２０の学習段階の処理手順について説明する。図９は、学習装置１００により実行される識別器学習処理の手順を例示するフローチャートである。なお、図９に示すフローチャートの処理は、予め用意された多数の横顔画像データ３１０および正面顔画像データ３２０を識別器２２０に入力して識別器２２０を学習させる処理を所定のエポック数だけ行う過程において繰り返し実行される。また、図１０は、有効領域もしくはパッチの重み、またはパッチのサイズをパラメーターとした場合の属性推定タスクの最適化を例示する概念図である。
【００９２】
図９におけるステップＳ２０１〜Ｓ２０４の処理は、生成器２１０の学習段階におけるステップＳ１０１〜Ｓ１０４の処理と同様であるので、詳細な説明を省略する。
【００９３】
ステップＳ２０５において、有効領域設定部２５６は、識別器２２０への入力画像（画像データ３３０）の有効領域、パッチを設定する。有効領域設定部２５６は、たとえば、目、鼻、および口にそれぞれ対応する画像の領域３２１，３２２，３２３を有効領域に設定する。また、有効領域設定部２５６は、画像データ３３０の顔の有効領域以外の領域にパッチを設定する。
【００９４】
次に、有効領域、パッチごとに重みを設定する（ステップＳ２０６）。重み設定部２５７は、有効領域「目」、「鼻」、および「口」について、それぞれ、たとえば０．５、０．１、０．２の重みを設定する。この重みの設定では、目、口、鼻の順で重要視されている。パッチについては、顔の部位に応じて、たとえば０．０１〜０．０９の重みが設定されうる。なお、顔以外の背景部分については、重み０（ゼロ）に設定される。
【００９５】
次に、学習装置１００は、識別器２２０に訓練データを入力する（ステップＳ２０７）。学習装置１００は、横顔画像データ３１０および画像データ３３０のペア、または横顔画像データ３１０および正面顔画像データ３２０のペアを訓練データとして識別器２２０に入力して識別器２２０を学習させる。
【００９６】
次に、識別器２２０が確率を出力する（ステップＳ２０８）。より具体的には、識別器２２０は、識別器２２０への入力画像データとして、横顔画像データ３１０および正面顔画像データ３２０のペアが入力されている確率を０〜１のスカラー値で出力する。学習が進んでいない段階では、横顔画像データ３１０および正面顔画像データ３２０のペアが入力されても、識別器２２０は確率１を出力できない。しかし、横顔画像データ３１０および正面顔画像データ３２０のペアが「正解」であることを教えることにより、学習が進むにつれて１に近い確率を出力するようになる。また、学習が進んでいない段階では、横顔画像データ３１０および画像データ３３０のペアが入力されても、識別器２２０は確率０を出力できない。しかし、横顔画像データ３１０および正面顔画像データ３２０のペアが正しいペアではないことを教えることにより、学習が進むにつれて０に近い確率を出力するようになる。
【００９７】
次に、識別器２２０への入力範囲を切り替える（ステップＳ２０９）。有効領域設定部２５６は、属性推定タスクが画像データ３３０の画像内において着目している領域を特定し、特定された上記領域を識別器２２０への入力画像の有効領域とする。あるいは、顔検出が可能になるまで生成器２１０および識別器２２０の学習が進んでいれば、ランドマーク検知部２５５は、画像データ３３０から顔におけるランドマークを検出できる。そして、有効領域設定部２５６は、検出された顔におけるランドマークを各々含む領域を、識別器２２０に入力される有効領域とし、それ以外の領域を所定サイズのパッチとする。
【００９８】
有効領域、パッチの重み、およびパッチのサイズは、たとえば、以下に示すように最適化される。図１０に示すように、有効領域、パッチの重み、およびパッチのサイズの少なくともいずれかを、属性推定タスクによる推定の最適化問題のパラメーターとした場合に、属性推定タスクによる推定の精度を最大化するパラメーター値を求める。たとえば、パラメーターを有効領域とし、属性推定タスクの精度をＱ２とした場合、Ｑ２が最大値Ｑ２ｍａｘとなる有効領域Ｐｍａｘを求める。
【００９９】
このように、有効領域設定部２５６は、画像データ３３０に応じて、識別器２２０へ入力する画像データ３３０の有効領域、すなわち入力範囲を切り替える。そして、ロス切替実行部２５８は、有効領域またはパッチごとに、重みに応じて識別器２２０のロスを切り替える。
【０１００】
次に、ロス算出部２３０は、識別器２２０のロスを算出する（ステップＳ２１０）。ロス算出部２３０は、生成器２１０の学習段階の場合と同様に、総合的なロスＬｔｏｔａｌを算出し、識別器２２０のロスとして生成器２１０に伝達する。
【０１０１】
次に、識別器２２０を学習させる（ステップＳ２１１）。識別器２２０は、識別器２２０のロスを最小化するように、ＤＮＮの重み係数を更新してＤＮＮの構造を変更する。
【０１０２】
学習装置１００は、横顔画像データ３１０および画像データ３３０のペアが入力されている場合、「正解」を０として識別器２２０を学習させる。これにより、画像データ３３０を識別する能力が向上する。一方、学習装置１００は、横顔画像データ３１０および正面顔画像データ３２０のペアが入力されている場合、「正解」を１として識別器２２０を学習させる。これにより、正面顔画像データ３２０を識別する能力が向上する。
【０１０３】
以上のとおり、図９のフローチャートに示す処理では、識別器２２０へ入力される画像データ３３０の有効範囲およびその重みを画像データ３３０に応じて切り替える。続いて、横顔画像データ３１０と、画像データ３３０および正面顔画像データ３２０のいずれか一方とに基づいて、識別器２２０のロスを算出する。そして、算出された識別器２２０のロスを使用して識別器２２０を学習させる。
【０１０４】
以上のとおり説明した本実施形態の生成器２１０の学習方法では、生成器２１０の対称性ロスの正則化項Ｌｓｙｍの係数λ１を横顔画像データ３１０に応じて切り替えるので、生成器２１０によって生成される生成画像における顔の対称性を不必要に高めることを回避できる。したがって、後段の認識タスクに生成画像を入力した場合における認識精度を向上できる。また、識別器２２０の学習段階では、識別器２２０への入力画像の有効領域およびその重みを入力画像に応じて切り替えるので、ＤＮＮを大幅に増加させなくても細部まで精度よく正面の顔の画像を識別できる。その結果、従来では複数の生成器を使用して学習行っていたところを１つの生成器で行えるので、従来の技術と比べて演算部の計算量を低減することが可能である。
【０１０５】
本発明は、上述した実施形態のみに限定されるものではなく、特許請求の範囲内において、種々改変することができる。
【０１０６】
たとえば、上述の実施形態では、生成器２１０の対称性ロスの正則化項Ｌｓｙｍの係数λ１を横顔画像データ３１０に応じて切り替える場合について説明した。しかしながら、本発明はこのような場合に限定されず、敵対的ロスの正則化項Ｌａｄｖの係数λ２、個性保存ロスの正則化項Ｌｉｐの係数λ３、またはトータルバリエーションロスの正則化項Ｌｔｖの係数λ４を変更するように構成することもできる。
【０１０７】
また、識別器２２０は、識別器２２０の学習段階において、複数の識別器を備えることもできる。たとえば、識別器２２０はそれぞれの識別器に「目」用、「鼻」用、および「口」用に対応する３つの識別器を備えるように構成することもできる。このように識別器２２０を構成することにより、規模の大きい生成器２１０のＤＮＮの数を増加させずに規模の小さい識別器の数を増加させるので、ＤＮＮの数が大幅に増加することなく、横顔から正面の顔の画像を細部まで精度よく識別できる。その結果、ＤＮＮを大幅に増加させないので、従来の技術と比べて演算部１１０の計算量を低減することが可能である。
【０１０８】
また、上述の実施形態では、横顔画像データ３１０に応じてロスを切り替えることにより、識別器２２０のＤＮＮの重み係数を更新し、ＤＮＮの構造を変更する場合について説明した。しかしながら、本発明はこのような場合に限定されず、横顔画像データ３１０に応じて識別器２２０のＤＮＮのノード数などの層構造を変更することもできる。
【０１０９】
上述した実施形態に係る学習装置１００における各種処理を行う手段および方法は、専用のハードウエア回路、またはプログラムされたコンピューターのいずれによっても実現することが可能である。上記プログラムは、たとえば、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）等のコンピューター読み取り可能な記録媒体によって提供されてもよいし、インターネット等のネットワークを介してオンラインで提供されてもよい。この場合、コンピューター読み取り可能な記録媒体に記録されたプログラムは、通常、ハードディスク等の記憶部に転送され記憶される。また、上記プログラムは、単独のアプリケーションソフトとして提供されてもよいし、学習装置１００の一機能としてその装置のソフトウエアに組み込まれてもよい。
【符号の説明】
【０１１０】
１００  学習装置、
１１０  演算部、
１２０  記憶部、
１３０  表示部、
１４０  入力部、
１５０  通信インターフェース、
１６０  バス、
２００  敵対的生成ネットワーク（ＧＡＮ）、
２１０  生成器、
２２０  識別器、
２３０  ロス算出部、
２４０  ロス変更部、
２４１  年齢推定部、
２４２  性別推定部、
２４３  姿勢推定部、
２４４  変更実行部、
２５０  構造変更部、
２５１  年齢推定部、
２５２  性別推定部、
２５３  姿勢推定部、
２５４  顔検知部、
２５５  ランドマーク検知部、
２５６  有効領域設定部、
２５７  重み設定部、
２５８  ロス切替実行部、
３１０  横顔画像データ、
３２０，３３０  正面顔画像データ。
【図１】
2019197311.tif 000005
【図２】
2019197311.tif 000006
【図３】
2019197311.tif 000007
【図４】
2019197311.tif 000008
【図５】
2019197311.tif 000009
【図６】
2019197311.tif 000010
【図７】
2019197311.tif 000011
【図８】
2019197311.tif 000012
【図９】
2019197311.tif 000013
【図１０】
2019197311.tif 000014