(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023112887
(43)【公開日】2023-08-15
(54)【発明の名称】配置損失で訓練された生成モデル、生成モデル訓練方法、並びにモーフィング生成プログラム、装置及び方法
(51)【国際特許分類】
G06N 3/04 20230101AFI20230807BHJP
G06N 7/01 20230101ALI20230807BHJP
G06N 3/08 20230101ALI20230807BHJP
【FI】
G06N3/04
G06N7/00 150
G06N3/08
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2022014892
(22)【出願日】2022-02-02
(71)【出願人】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】100135068
【弁理士】
【氏名又は名称】早原 茂樹
(74)【代理人】
【識別番号】100141313
【弁理士】
【氏名又は名称】辰巳 富彦
(72)【発明者】
【氏名】三原 翔一郎
(57)【要約】
【課題】潜在空間における所定のクラスに対応する確率分布の位置関係を、分布間の距離で規定される所定の位置関係にする若しくは近づけることの可能な生成モデルを提供する。
【解決手段】本生成モデルは、入力データを、設定された潜在空間における確率分布であって当該入力データの属するクラスに対応した確率分布に係る情報に変換するエンコード部と、この確率分布に係る情報から潜在変数を生成する潜在変数生成部と、生成された潜在変数を入力データ相当の出力データに変換するデコード部としてコンピュータを機能させる。ここで本生成モデルは、互いに異なるクラスに対応した確率分布間の距離を用いて規定される配置損失であって、確率分布の潜在空間内での位置関係が、指定又は設定された位置関係であるときに損失がない又は最小となることを示す配置損失を少なくとも含む生成損失を用いて訓練されている。
【選択図】
図1
【特許請求の範囲】
【請求項1】
複数のクラスのそれぞれに属する複数の入力データの各々から、設定された潜在空間における、当該入力データの属する当該クラスに対応する潜在変数を生成する生成モデルであって、
当該入力データを、当該潜在空間における当該入力データの属する当該クラスに対応した確率分布に係る情報に変換するエンコード部と、
当該確率分布に係る情報から当該潜在変数を生成する潜在変数生成部と、
当該潜在変数を、当該入力データ相当の出力データに変換するデコード部と
してコンピュータを機能させ、
互いに異なる当該クラスに対応した当該確率分布間の距離を用いて規定される配置損失であって、当該確率分布の当該潜在空間内での位置関係が、指定又は設定された位置関係であるときに損失がない又は最小となることを示す配置損失を少なくとも含む生成損失を用いて訓練された
ことを特徴とする生成モデル。
【請求項2】
当該配置損失は、前記複数のクラスから生成される複数の2クラスの組合せのうちの指定又は設定された少なくとも1つの2クラスの組合せについて、当該組合せをなす2つの当該クラスに対応した2つの当該確率分布が隣り合う位置関係であるときに、損失がより小さくなることを示すものに設定されることを特徴とする請求項1に記載の生成モデル。
【請求項3】
当該配置損失は、前記複数のクラスから生成される複数の2クラスの組合せにおいて当該組合せ毎に規定される距離であって、当該組合せをなす2つの当該クラスに対応した2つの当該確率分布間の距離が、当該組合せ間において互いに等しいときに、損失がない又は最小となることを示すものに設定されることを特徴とする請求項1又は2に記載の生成モデル。
【請求項4】
当該配置損失は、前記複数のクラスにそれぞれ対応する複数の当該確率分布のうちの1つを起点として、残りの当該確率分布が順次隣り合い且つ当該起点から順次より離れていく形で並んだ位置関係にある場合に満たされるべき距離に係る条件を、当該確率分布間の距離が満たしているときに、損失がない又は最小となることを示すものに設定されることを特徴とする請求項1又は2に記載の生成モデル。
【請求項5】
当該配置損失は、隣り合う当該確率分布間の距離が設定値に近い値であるほど、損失がより小さくなることを示す距離制約項を含むことを特徴とする請求項1から4のいずれか1項に記載の生成モデル。
【請求項6】
当該生成損失は、当該入力データが入力された場合に当該出力データの出力される期待値に係る再構成損失と、当該入力データを入力とした前記エンコード部の出力に係る当該確率分布と標準分布との距離に係る距離情報量と、当該配置損失との一次結合として設定されることを特徴とする請求項1から5のいずれか1項に記載の生成モデル。
【請求項7】
複数のクラスのそれぞれに属する複数の入力データの各々から、設定された潜在空間における、当該入力データの属する当該クラスに対応する潜在変数を生成する生成モデルを訓練するモデル訓練方法であって、
前記生成モデルは、
当該入力データを、当該潜在空間における当該入力データの属する当該クラスに対応した確率分布に係る情報に変換するエンコード部と、
当該確率分布に係る情報から当該潜在変数を生成する潜在変数生成部と、
当該潜在変数を、当該入力データ相当の出力データに変換するデコード部と
してコンピュータを機能させるモデルであり、
前記モデル訓練方法は、
互いに異なる当該クラスに対応した当該確率分布間の距離を用いて規定される配置損失であって、当該確率分布の当該潜在空間内での位置関係が、指定又は設定された位置関係であるときに損失がない又は最小となることを示す配置損失を設定するステップと、
設定した当該配置損失を少なくとも含む生成損失を用いて、前記エンコード部及び前記デコード部に対し学習パラメータを学習させるステップと
を有することを特徴とする、コンピュータによって実施されるモデル訓練方法。
【請求項8】
請求項1から6のいずれか1項に記載の生成モデルを用いて、当該クラス毎に当該クラスに対応した当該確率分布を代表する潜在変数である代表潜在変数を決定し、順番も含めて指定又は設定された複数の当該クラスに係る当該代表潜在変数を当該順番に従い順次結んだ線分又は曲線分から、当該線分又は曲線分上の点に相当する複数の潜在変数をサンプリングするサンプリング手段と、
サンプリングされた前記複数の潜在変数の各々を前記デコーダ部へ入力し、該デコーダ部から出力された複数の当該出力データの組を、前記複数の当該クラス間のモーフィングデータとするモーフィング生成手段と
してコンピュータを機能させることを特徴とするモーフィング生成プログラム。
【請求項9】
前記サンプリング手段は、サンプリングされた当該潜在変数の当該線分又は曲線分上における密度が、当該代表潜在変数に近い位置ほどより低くなるように、前記複数の潜在変数をサンプリングすることを特徴とする請求項8に記載のモーフィング生成プログラム。
【請求項10】
請求項1から6のいずれか1項に記載の生成モデルを用いて、当該クラス毎に当該クラスに対応した当該確率分布を代表する潜在変数である代表潜在変数を決定し、順番も含めて指定又は設定された複数の当該クラスに係る当該代表潜在変数を当該順番に従い順次結んだ線分又は曲線分から、当該線分又は曲線分上の点に相当する複数の潜在変数をサンプリングするサンプリング手段と、
サンプリングされた前記複数の潜在変数の各々を前記デコーダ部へ入力し、該デコーダ部から出力された複数の当該出力データの組を、前記複数の当該クラス間のモーフィングデータとするモーフィング生成手段と
を有することを特徴とするモーフィング生成装置。
【請求項11】
請求項1から6のいずれか1項に記載の生成モデルを用いて、当該クラス毎に当該クラスに対応した当該確率分布を代表する潜在変数である代表潜在変数を決定し、順番も含めて指定又は設定された複数の当該クラスに係る当該代表潜在変数を当該順番に従い順次結んだ線分又は曲線分から、当該線分又は曲線分上の点に相当する複数の潜在変数をサンプリングするステップと、
サンプリングされた前記複数の潜在変数の各々を前記デコーダ部へ入力し、該デコーダ部から出力された複数の当該出力データの組を、前記複数の当該クラス間のモーフィングデータとするステップと
を有することを特徴とする、コンピュータによって実施されるモーフィング生成方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、機械学習分野における生成モデルに係る技術に関する。
【背景技術】
【0002】
機械学習の分野において、「データ(x)は潜在的な確率分布(p(x|z), z:潜在変数)から生成される」との前提の下、潜在空間における推定される確率分布から、擬似データをサンプリングすることの可能な生成モデル(generative model)が注目されている。この生成モデルによれば、データの分布を詳細に把握して、例えば新たな学習データをサンプリングしたり、モーフィング(morphing)データを生成したりすることも可能となる。
【0003】
このように注目される生成モデルに関し、例えば非特許文献1は、オートエンコーダを用いた生成モデルである変分オートエンコーダ(Variational AutoEncoder, VAE)を提案している。ここでVAEは、エンコーダが入力データから潜在空間における確率分布のパラメータを出力し、デコーダが、この確率分布パラメータからサンプリングされた潜在変数を用いて擬似データを生成する構成となっている。
【0004】
このVAEによれば例えば、与えられたデータのクラス毎に潜在空間における確率分布を学習しておき、互いに異なるクラスの確率分布にわたって潜在変数を連続的にサンプリングしデコードを行うことによって、クラス間における連続的なデータの遷移を表現するモーフィングを実施することも可能となる。具体的に非特許文献1では、数字の"0"から"9"までの9個のクラスからなる手書き数字のデータセットを用いてVAEを訓練した上で、潜在空間から均等にサンプリングされた潜在変数を用いてデコードを行い、クラス間を遷移する数字のモーフィング画像を生成している。
【0005】
また非特許文献2には、VAEの潜在変数における特定の次元に、離散的な属性であるクラスを対応させる技術が開示されている。この技術によれば、クラスを他の連続的な属性から分離して扱うことができ、具体的には、クラスに対応する潜在変数の次元を操作してデコードを行うことによって、所望のクラスの出力を得ることが可能となる。
【0006】
さらに非特許文献3には、生成モデルの潜在空間における各クラスの確率分布の配置を工夫し、所定の2つのクラス間における、互いに異なるクラスを経由する複数パターンのモーフィングデータを生成する技術が開示されている。この技術では、このようなモーフィングデータの生成を実現すべく、生成モデルの訓練に用いる損失関数を、各クラスの確率分布が潜在空間内の多次元トーラス上に等間隔に並ぶように設計している。
【先行技術文献】
【非特許文献】
【0007】
【非特許文献1】D.P. Kingma, M. Welling, “Auto-Encoding Variational Bayes” International Conference on Learning Representations (ICLR) 2014, Conference Track Proceedings, <https://arXiv.org/abs/1312.6114>, 2013年
【非特許文献2】Emilien Dupont, “Learning Disentangled Joint Continuous and Discrete Representations”, Proceedings of the 32nd International Conference on Neural Information Processing Systems (NIPS) 2018, pp.708-718, 2018年
【非特許文献3】Maciej Mikulski, Jaroslaw Duda, “Toroidal AutoEncoder”, <https://arXiv.org/abs/1903.12286>, 2019年
【発明の概要】
【発明が解決しようとする課題】
【0008】
以上説明したような生成モデルにおいて、潜在空間におけるクラス毎の確率分布の配置は、その後サンプリングされるデータに大きな影響を与えるので、非常に重要な設計事項となっている。
【0009】
しかしながら、非特許文献1や非特許文献2に開示された生成モデル(VAE)では、潜在空間におけるクラス毎の確率分布の配置、すなわち確率分布間の位置関係は、モデル内で自動的に決定される。したがって例えば、所定の2つのクラス間を、他のクラスを経由せず、変化の向きに関し断絶なく滑らかに遷移するようなモーフィングデータは、必ずしも生成可能ではないとの問題が生じてしまう。
【0010】
例えば"0"、"1"及び"2"の3つのクラスからなる手書き数字データセットを、非特許文献1に開示されたVAEを用いて潜在空間にエンコードした際、"0"、"2"及び"1"の確率分布がこの順をもって直線状に並ぶことも少なからず有り得る。この場合、所定の2つのクラスとしての"0"と"1"との間を、"2"を経由せずに断絶なく滑らかに、例えば潜在空間内の線分上を移動するように遷移するようなモーフィングデータを得ることはほぼ不可能である。
【0011】
一方、非特許文献3では、生成モデルの各クラスの確率分布を、潜在空間内の多次元トーラス上に等間隔に並ぶように配置している。これによりたしかに、所定の2つのクラス間における、互いに異なるクラスを経由する複数パターンのモーフィングデータを生成することができる。しかしながらそれでも、これら2つのクラス間を、他のクラスを経由せず、変化の向きに関し断絶なく滑らかに遷移するようなモーフィングデータを得られることの保証はなく、上記の問題は依然、解消されないのである。
【0012】
そこで、本発明は、潜在空間における所定のクラスに対応する確率分布の位置関係を、分布間の距離で規定される所定の位置関係にする若しくは近づけることの可能な生成モデル、及びその訓練方法を提供することを目的とする。また、所定の2つのクラス間を、他のクラスを経由せずに断絶なく遷移するようなモーフィングデータを生成可能なモーフィング生成プログラム、装置及び方法を提供することを目的とする。
【課題を解決するための手段】
【0013】
本発明によれば、複数のクラスのそれぞれに属する複数の入力データの各々から、設定された潜在空間における、当該入力データの属する当該クラスに対応する潜在変数を生成する生成モデルであって、
当該入力データを、当該潜在空間における当該入力データの属する当該クラスに対応した確率分布に係る情報に変換するエンコード部と、
当該確率分布に係る情報から当該潜在変数を生成する潜在変数生成部と、
当該潜在変数を、当該入力データ相当の出力データに変換するデコード部と
してコンピュータを機能させ、
互いに異なる当該クラスに対応した当該確率分布間の距離を用いて規定される配置損失であって、当該確率分布の当該潜在空間内での位置関係が、指定又は設定された位置関係であるときに損失がない又は最小となることを示す配置損失を少なくとも含む生成損失を用いて訓練された
ことを特徴とする生成モデルが提供される。
【0014】
この本発明による生成モデルにおいて、当該配置損失は、複数のクラスから生成される複数の2クラスの組合せのうちの指定又は設定された少なくとも1つの2クラスの組合せについて、当該組合せをなす2つの当該クラスに対応した2つの当該確率分布が隣り合う位置関係であるときに、損失がより小さくなることを示すものに設定されることも好ましい。
【0015】
また、本発明に係る配置損失の好適な一実施形態として、当該配置損失は、複数のクラスから生成される複数の2クラスの組合せにおいて当該組合せ毎に規定される距離であって、当該組合せをなす2つの当該クラスに対応した2つの当該確率分布間の距離が、当該組合せ間において互いに等しいときに、損失がない又は最小となることを示すものに設定されることも好ましい。
【0016】
さらに、本発明に係る配置損失の好適な他の実施形態として、当該配置損失は、複数のクラスにそれぞれ対応する複数の当該確率分布のうちの1つを起点として、残りの当該確率分布が順次隣り合い且つ当該起点から順次より離れていく形で並んだ位置関係にある場合に満たされるべき距離に係る条件を、当該確率分布間の距離が満たしているときに、損失がない又は最小となることを示すものに設定されることも好ましい。
【0017】
また、本発明に係る配置損失は、隣り合う当該確率分布間の距離が設定値に近い値であるほど、損失がより小さくなることを示す距離制約項を含むことも好ましい。
【0018】
さらに、本発明に係る上記の生成損失は、当該入力データが入力された場合に当該出力データの出力される期待値に係る再構成損失と、当該入力データを入力としたエンコード部の出力に係る当該確率分布と標準分布との距離に係る距離情報量と、当該配置損失との一次結合として設定されることも好ましい。
【0019】
本発明によれば、また、複数のクラスのそれぞれに属する複数の入力データの各々から、設定された潜在空間における、当該入力データの属する当該クラスに対応する潜在変数を生成する生成モデルを訓練するモデル訓練方法であって、
上記の生成モデルは、
当該入力データを、当該潜在空間における当該入力データの属する当該クラスに対応した確率分布に係る情報に変換するエンコード部と、
当該確率分布に係る情報から当該潜在変数を生成する潜在変数生成部と、
当該潜在変数を、当該入力データ相当の出力データに変換するデコード部と
してコンピュータを機能させるモデルであり、
本モデル訓練方法は、
互いに異なる当該クラスに対応した当該確率分布間の距離を用いて規定される配置損失であって、当該確率分布の当該潜在空間内での位置関係が、指定又は設定された位置関係であるときに損失がない又は最小となることを示す配置損失を設定するステップと、
設定した当該配置損失を少なくとも含む生成損失を用いて、エンコード部及びデコード部に対し学習パラメータを学習させるステップと
を有することを特徴とする、コンピュータによって実施されるモデル訓練方法が提供される。
【0020】
本発明によれば、さらに、
以上に述べた生成モデルを用いて、当該クラス毎に当該クラスに対応した当該確率分布を代表する潜在変数である代表潜在変数を決定し、順番も含めて指定又は設定された複数の当該クラスに係る当該代表潜在変数を当該順番に従い順次結んだ線分又は曲線分から、当該線分又は曲線分上の点に相当する複数の潜在変数をサンプリングするサンプリング手段と、
サンプリングされた複数の潜在変数の各々をデコーダ部へ入力し、該デコーダ部から出力された複数の当該出力データの組を、複数の当該クラス間のモーフィングデータとするモーフィング生成手段と
してコンピュータを機能させるモーフィング生成プログラムが提供される。
【0021】
この本発明によるモーフィング生成プログラムにおける一実施形態として、サンプリング手段は、サンプリングされた当該潜在変数の当該線分又は曲線分上における密度が、当該代表潜在変数に近い位置ほどより低くなるように、複数の潜在変数をサンプリングすることも好ましい。
【0022】
本発明によれば、さらに、
以上に述べた生成モデルを用いて、当該クラス毎に当該クラスに対応した当該確率分布を代表する潜在変数である代表潜在変数を決定し、順番も含めて指定又は設定された複数の当該クラスに係る当該代表潜在変数を当該順番に従い順次結んだ線分又は曲線分から、当該線分又は曲線分上の点に相当する複数の潜在変数をサンプリングするサンプリング手段と、
サンプリングされた複数の潜在変数の各々をデコーダ部へ入力し、該デコーダ部から出力された複数の当該出力データの組を、複数の当該クラス間のモーフィングデータとするモーフィング生成手段と
を有するモーフィング生成装置が提供される。
【0023】
本発明によれば、さらにまた、
以上に述べた生成モデルを用いて、当該クラス毎に当該クラスに対応した当該確率分布を代表する潜在変数である代表潜在変数を決定し、順番も含めて指定又は設定された複数の当該クラスに係る当該代表潜在変数を当該順番に従い順次結んだ線分又は曲線分から、当該線分又は曲線分上の点に相当する複数の潜在変数をサンプリングするステップと、
サンプリングされた複数の潜在変数の各々をデコーダ部へ入力し、該デコーダ部から出力された複数の当該出力データの組を、複数の当該クラス間のモーフィングデータとするステップと
を有する、コンピュータによって実施されるモーフィング生成方法が提供される。
【発明の効果】
【0024】
本発明の生成モデル及び生成モデルの訓練方法によれば、潜在空間における所定のクラスに対応する確率分布の位置関係を、分布間の距離で規定される所定の位置関係にする若しくは近づけることが可能となる。また、本発明のモーフィング生成プログラム、装置及び方法によれば、所定の2つのクラス間を、他のクラスを経由せずに断絶なく遷移するようなモーフィングデータを生成することができる。
【図面の簡単な説明】
【0025】
【
図1】本発明による生成モデルの一実施形態、及び本発明によるモーフィング生成装置の一実施形態を示す模式図及び機能ブロック図である。
【
図2】本発明に係る配置損失の一実施形態を説明するための模式図である。
【
図3】本発明に係る配置損失の他の実施形態を説明するための模式図である。
【
図4】本発明によるモーフィング生成方法に対する比較例を説明するためのグラフ及び画像である。
【
図5】本発明によるモーフィング生成方法についての実施例1を説明するためのグラフ及び画像である。
【
図6】本発明によるモーフィング生成方法についての実施例2を説明するためのグラフ及び画像である。
【
図7】本発明に係る確率分布の配置処理についての実施例3を説明するためのグラフである。
【発明を実施するための形態】
【0026】
以下、本発明の実施形態について、図面を用いて詳細に説明する。
【0027】
[生成モデル]
図1は、本発明による生成モデルの一実施形態、及び本発明によるモーフィング生成装置の一実施形態を示す模式図及び機能ブロック図である。
【0028】
図1に示した本実施形態の生成モデル1は、複数のクラスのそれぞれに属する複数の入力データの各々から、設定された「潜在空間」における、当該入力データの属するクラスに対応する「潜在変数」(及び当該クラスに対応する「確率分布」に係る情報)を生成するモデルとなっている。
【0029】
なお一般に、生成モデル(generative model)とは、「潜在変数」の張る「潜在空間」における推定される「確率分布」から、擬似データを出力(サンプリング)するモデルのことである。この生成モデルにおいては、データ(x)は一般に、潜在的な「確率分布」(p(x|z), z:潜在変数)から生成可能であることが大前提となっている。このような生成モデルによれば、データの分布状況を詳細に把握して、例えば、
(a)現状取得している学習データから、新たな学習データをサンプリングして学習データ不足を解消したり、
(b)例えばクラス"犬"に属する犬の画像から、クラス"猫"に属する猫の画像へ連続的に画像内容が変化するといったようないわゆるモーフィング(morphing)のためのモーフィングデータを生成したり
することもできるのである。
【0030】
ここで
図1に示した例では、予め"0"、"1"及び"2"の3つのクラスが設定されている。本実施形態の生成モデル1は、例えばクラス"0"に属する手書き数字「0」画像データを入力データとして、最終的に手書き数字「0」擬似画像データ(出力データ)を出力するが、さらに途中、クラス"0"に対応する潜在変数z(0)及び確率分布パラメータpd(0)(クラス"0"に対応する「確率分布」を規定するパラメータ)を生成する。
【0031】
また同様に、本実施形態の生成モデル1は、手書き数字「1」画像データを入力データとしてクラス"1"に対応する潜在変数z(1)及び確率分布パラメータpd(1)を生成したり、手書き数字「2」画像データからクラス"2"に対応する潜在変数z(2)及び確率分布パラメータpd(2)を生成したりすることができるのである。
【0032】
以上述べたような機能を果たすため、生成モデル1は具体的に、
(A)入力データを、「潜在空間」における当該入力データの属するクラスに対応した「確率分布」に係る情報(確率分布パラメータ)に変換するエンコード部11と、
(B)この「確率分布」に係る情報(確率分布情報)から、「潜在変数」を生成する潜在変数生成部12と、
(C)この「潜在変数」を、入力データ相当の出力データ(擬似データ)に変換するデコード部13と
としてコンピュータを機能させるモデルとなっている。
【0033】
すなわち、生成モデル1は、非特許文献1に開示された変分オートエンコーダ(Variational AutoEncoder, VAE)に該当するモデルとなっているのである。
【0034】
ここで、「潜在空間」におけるクラス毎の「確率分布」の配置、すなわち「確率分布」間の位置関係は、その後サンプリングされるデータに大きな影響を与えるので、非常に重要な設計事項となっている。しかしながら、VAEを含め従来の生成モデルでは、この位置関係は通常、モデル内で自動的に、又は予め設定された特定のものに決定されてしまう。したがって例えば、所定の2つのクラス間を、他のクラスを経由せず、変化の向きに関し断絶なく滑らかに(例えば「潜在空間」内の線分上を移動するように)遷移するようなモーフィングデータは、必ずしも生成可能ではないとの問題が生じていたのである。
【0035】
具体的には、従来の生成モデルでは、
図1に示した例において"0"、"2"及び"1"の3つのクラスの確率分布が、自動的にこの順をもって直線状に並ぶことも少なからず有り得る。この場合、例えば指定又は設定された2つのクラスである"0"と"1"との間を、"2"を経由せずに断絶なく滑らかに、例えば「潜在空間」内の直線上を移動するように遷移するようなモーフィングデータを得ることは概ね不可能となってしまう。
【0036】
これに対し、生成モデル1は、その特徴として、
(D)互いに異なるクラスに対応した「確率分布」間の距離を用いて規定される「配置損失」であって、「確率分布」の「潜在空間」内での位置関係が、当該距離で規定される「指定又は設定された位置関係」であるときに損失がない又は最小となることを示す「配置損失」を少なくとも含む生成損失を用いて訓練されたモデルとなっている。
【0037】
すなわち生成モデル1においては、少なくとも上記の「配置損失」を用いて訓練を行うことによって、「潜在空間」における所定のクラスに対応する「確率分布」の位置関係を、分布間の距離で規定される所定の「指定又は設定された位置関係」にする若しくは近づけることができる。またこれにより、確率分布における所望の位置関係を具現させて、新規の学習データやモーフィングデータといったようなサンプリングされるデータにおける、サンプリングの自由度を高めることも可能となるのである。
【0038】
ここで「配置損失」に関する好適な一実施形態として、上記の「指定又は設定された位置関係」が「所定の2つの確率分布が隣り合う位置関係」である場合を考える。この場合、「配置損失」は、複数のクラス(
図1では3つのクラス)から生成される複数の2クラスの組合せ(
図1では計
3C
2個の組合せ)のうちの指定又は設定された少なくとも1つの2クラスの組合せ(例えば"0"と"1"との組合せ)について、当該組合せをなす2つのクラスに対応した2つの「確率分布」(例えば確率分布"0"と確率分布"1")が隣り合う位置関係であるときに、損失がより小さくなることを示すものに設定されるのである。ここで、2つの「確率分布」が「隣り合う」とは、2つの「確率分布」の中心同士を結んだ線分に対する距離(当該線分に下ろした垂線の長さ)が所定閾値未満となるような「中心」を有する他の「確率分布」が存在しない状態、を指すものとする。
【0039】
これにより、例えば指定又は設定された2つのクラスである"0"と"1"との間を、"2"を経由せずに断絶なく滑らかに、例えば「潜在空間」内の直線上を移動するように遷移するようなモーフィングデータを得ることも可能となる。
【0040】
ちなみに、生成モデル1によって生成される「潜在変数」や確率分布情報(「確率分布」に係る情報)の用途は勿論、上述したように新規の学習データの生成や、モーフィングデータの生成に限定されるものではない。例えば、互いに異なる2つのデータ、例えば夫の顔画像データ及び妻の顔画像データ、人物Aにおける怒ったときの顔画像データ及び笑ったときの顔画像データや、友人Bの音声データ及び友人Cの音声データ等、に対し、両データの中間的な性質・特徴・属性を有する中間データを生成することも可能となる。例えば、生成モデル1を利用した「まぜ顔アプリ」や「まぜ声アプリ」を作成することもできるのである。
【0041】
[モデル構成]
以下、本実施形態の生成モデル1の構成について、より詳細に説明を行う。同じく
図1において生成モデル1は、コンピュータに搭載されたプログラムが実行されることによって具現する機能構成部として、
(ア)エンコード部11と、(イ)潜在変数生成部12と、(ウ)デコード部13と
を有している。
【0042】
このうちエンコード部11は、入力データを、設定された低次元(例えば2次元や3次元)の潜在空間における確率分布、本実施形態では非特許文献1に記載された方法に従い正規分布、にエンコードする。具体的には、あるクラスに属する入力データ(例えばクラス"0"に属する手書き数字「0」画像データ)を入力として、潜在空間における入力データの属するクラス(例えばクラス"0")に対応した確率分布(正規分布)に係る確率分布パラメータ(μ,σ)を出力する。ここで平均μ及び標準偏差σは、潜在空間(潜在変数)の次元数に応じたベクトル値をとる。
【0043】
このようなエンコード部11は、機械学習の分野で周知のニューラルネットワーク(Neural Network)・アルゴリズムによって具現させることができる。例えば、所定次元数のベクトルデータを入力とする多層パーセプトロン(Multi-Layer Perceptron,MLP)や、画像データを入力可能な畳み込みニューラルネットワーク(Convolutional Neural Network,CNN)を用いてエンコード部11を構成してもよい。
【0044】
同じく
図1に示した潜在変数生成部12は、エンコード部11から出力された、入力データの属するクラス(例えばクラス"0")の確率分布パラメータ(μ,σ)を用いて、当該クラス(クラス"0")に係る潜在変数を生成する。
【0045】
ここで本実施形態の潜在変数生成部12は、クラス(クラス"0")を代表しつつ学習用に若干揺らいだ潜在変数を得るため、所定の雑音も用いて潜在変数を生成する。具体的には、非特許文献1に記載された方法に従い、εを標準正規分布に従う乱数(ε~N(0,I))として、次式
(1) z=μ+ε*σ (*は要素毎に積をとる演算子)
によって潜在変数z(例えばクラス"0"に係る潜在変数z(0))を生成してもよい。
【0046】
同じく
図1において、デコード部13は、潜在変数生成部12から出力された潜在変数z(例えばz(0))を、入力データ相当の(例えば同次元・同構造の)出力データ、すなわち擬似データ(例えばクラス"0"に属する数字「0」の画像データ)を出力する。このエンコード部もニューラルネットワーク・アルゴリズムによって具現させてもよく、具体的には、MLPや、転置CNNを用いて構成することができる。
【0047】
以上説明したように、一連のエンコード処理、潜在変数生成(リパラメタライズ)処理及びデコード処理を実施する生成モデル1は、非特許文献1に開示されたVAEに該当するモデルとなっている。すなわち本実施形態において入力データから、より低次元の(次元圧縮された)潜在変数zを生成し、さらに、入力データのクラスに対応する(より低次元の)確率分布に係る情報を生成することができるのである。
【0048】
以下、このような生成モデル1を訓練して学習済みモデルとし、さらに、この学習済みの生成モデル1を用いてモーフィングデータを生成する実施形態について説明を行う。
【0049】
[モーフィング生成装置,モデル訓練方法,モーフィング生成プログラム,モーフィング生成方法]
図1に示した本実施形態のモーフィング生成装置9は、以上に説明したような生成モデル1を搭載しており、この生成モデル1に対し訓練を行い、さらに訓練(学習)済みの生成モデル1を用いてモーフィングデータを生成し、出力する。
【0050】
具体的に
図1の機能ブロック図に示すように、モーフィング生成装置9は、入力部91と、出力部95と、プロセッサ・メモリとを有する。ここで、プロセッサ・メモリは、本発明によるモーフィング生成プログラムの一実施形態を保存しており、また、コンピュータ機能を有していて、このモーフィング生成プログラムを実行することによって、モーフィング生成処理を実施する。
【0051】
またこのことからモーフィング生成装置9は、モーフィング生成用の専用装置であってもよいが、本発明によるモーフィング生成プログラムの一実施形態を搭載したクラウドサーバ、非クラウド型サーバ、パーソナルコンピュータや、ノート型若しくはタブレット型コンピュータ、さらにはスマートフォンや、各種ウェアラブル端末等とすることも可能である。
【0052】
また、プロセッサ・メモリは機能構成部として、配置損失計算部92a及び生成損失計算部92bを備えた訓練部92と、サンプリング部93と、モーフィング生成部94とを有する。なお、これらの機能構成部は、プロセッサ・メモリに保存された、本発明によるモーフィング生成プログラムが実行されることによって具現する機能と捉えることができる。また、
図1の機能ブロック図におけるモーフィング生成装置9の機能構成部間を矢印で接続して示した処理の流れは、本発明によるモーフィング生成方法の一実施形態としても理解される。
【0053】
同じく
図1の機能ブロック図において、入力部91は、通信機能を備えていて外部の学習データ管理・配信サーバから、生成モデル1訓練用の学習データ、例えば"0"、"1"及び"2"の3つのクラスの各々に属する手書き数字データセットを取得し、訓練部92へ出力する。一方、入力部91はモーフィングデータの生成に当たり、その間でモーフィングを行うべき複数のクラス(例えばクラス"0"、"1"及び"2")に対応する複数の入力データを、例えばユーザ入力として受け取り、サンプリング部93へ出力する。
【0054】
訓練部92は、受け取った学習データ(例えばクラス"0"、"1"及び"2"の手書き数字データセット)を用いて生成モデル1を訓練する。具体的に訓練部92は、
(a)配置損失計算部92aにおいて、互いに異なるクラスに対応した確率分布間の「距離」を用いて規定される「配置損失」であって、これら確率分布の潜在空間内での位置関係が、指定又は設定された位置関係であるときに損失がない又は最小となることを示す「配置損失」を、学習データの入力及びそれに伴う出力毎に算出し、
(b)生成損失計算部92bにおいて、学習データの入力及びそれに伴う出力毎に、上述した「配置損失」を含む「生成損失」(又は「配置損失」そのものである「生成損失」)を算出し、
(c)算出された「生成損失」を用い、公知の誤差逆伝播法によって生成モデル1を訓練する。
【0055】
ここで上記(a)における2つの確率分布間の「距離」は、各確率分布の平均値(中心)間の空間内距離としてもよく、又は当該確率分布間における公知のKLダイバージェンス(Kullback-Leibler divergence)とすることもできる。一般に、確率分布Pと確率分布QとのKLダイバージェンスDKL(P||Q)は、クロスエントロピーをH(P,Q)とし情報エントロピーをH(P)として、次式
(2) DKL(P||Q)=H(P,Q)-H(P)
=Ex~P[log(p(x)/Q(x))]
:xがPで分布する際のlog(p(x)/Q(x))の期待値
=∫-∞
+∞p(x)×log(P(x)/Q(x))
で規定される非負量となっており、確率分布Qが確率分布Pに近いほど(確率分布Pをよりよく近似しているほど)小さな値をとる。
【0056】
また「配置損失」は、後に
図2及び
図3を用いて具体例を詳細に説明するが、本実施形態においては、複数のクラス(
図1では3つのクラス)から生成される複数の2クラスの組合せ(
図1では計
3C
2個の組合せ)のうちの指定又は設定された少なくとも1つの2クラスの組合せ(例えば"0"と"1"との組合せ)について、当該組合せをなす2つのクラスに対応した2つの「確率分布」(例えば確率分布"0"と確率分布"1")が隣り合う位置関係であるときに、損失がより小さくなることを示すものに設定される。
【0057】
ここで上述したように、2つの「確率分布」が「隣り合う」とは、2つの「確率分布」の中心同士を結んだ線分に対する距離(当該線分に下ろした垂線の長さ)が所定閾値未満となるような「中心」を有する他の「確率分布」が存在しない状態、を指すものとする。
【0058】
さらに、上記(b)の「生成損失」は、上述したように「配置損失」そのものでもよいが、本実施形態では、次式
(3) (生成損失)=α・{-(変分下限)}+β・(配置損失)
=α・{(KL情報量)+(再構成損失)}+β・(配置損失)
α,β:適宜設定される重み
で表現されるものを採用する。すなわち、本実施形態において「生成損失」は、「KL情報量」と「再構成損失」と「配置損失」との一次結合として設定されるのである。
【0059】
ここで、上式(3)における「変分下限」(=-(KL情報量)-(再構成損失))は、この後詳細に説明するが、非特許文献1において規定された“variational lower bound”である。また、「KL情報量」は、入力データを入力としたエンコード部11の出力に係る確率分布と標準分布(標準正規分布)との距離(KLダイバージェンス)に係る距離情報量である。さらに、「再構成損失」は、機械学習の分野で周知の損失関数であり、入力データが入力された場合に出力データ(擬似データ)の出力される期待値に係る量となっている。例えば、入力データが、0から1までの値をとるベクトル要素からなるベクトルの場合、「再構成損失」は、入力データと出力データ(擬似データ)との間のクロスエントロピーとすることができる。
【0060】
いずれにしても訓練部92は、生成モデル1の訓練として、エンコード部11が出力した確率分布パラメータと、デコード部13が出力した出力データ(擬似データ)を用いて、上式(3)に基づき「生成損失」を算出し、エンコード部11(Eφ(・))及びデコード部13(Dθ(・))に対し、この「生成損失」が極力小さくなるように、学習パラメータ(φ,θ)の学習を行わせる。具体的には、例えば公知の誤差逆伝搬法を用いて学習パラメータ(φ,θ)についての誤差勾配を計算し、適当な学習率に基づき学習パラメータ(φ,θ)の更新を繰り返し行うことで、上式(3)の「生成損失」を極力小さくする学習パラメータ(φ,θ)を得ることができるのである。
【0061】
以下、非特許文献1に記載された「変分下限」(=-(KL情報量)-(再構成損失))の説明を行う。
【0062】
最初に潜在変数zは、標準正規分布N(0,I)である(したがって計算の容易な)確率密度関数pθ(z)に従って分布し、データxも正規分布N(μD,σD
2I)である(同じく計算の容易な)確率密度関数pθ(x|z)に従って分布するとする。一方、潜在変数zの事後分布の確率密度関数pθ(z|x)は容易には計算されないので、正規分布N(μE,σE
2I)である(同じく計算の容易な)確率密度関数qφ(z|x)によって近似することを考える。
【0063】
ここで、上記の正規分布N(μD,σD
2I)に関し、デコード部13を構成する学習済みのニューラルネットワークをDθ(・)(θは学習パラメータ)とすると、次式
(4) Dθ(z)=(μD,σD
2)
が成立し、また、上記の正規分布N(μE,σE
2I)に関し、エンコード部11を構成する学習済みのニューラルネットワークをEφ(・)(φは学習パラメータ)とすると、次式
(5) Eφ(x)=(μE,σE
2)
が成立する。すなわち、デコード部13のニューラルネットワークの学習パラメータθ及びエンコード部11のニューラルネットワークの学習パラメータφを、上式(4)及び(5)が成り立つように学習させればよいことになる。
【0064】
以下、上述した確率密度関数qφ(z|x)が確率密度関数pθ(z|x)をよく近似している程度の尺度として、対数尤度関数log(pθ(x))の下限としての「変分下限」(variational lower bound)を求める。
【0065】
具体的に、変分下限L(θ,φ,x)は、次式
(6) L(θ,φ,x)=log(pθ(x))-DKL(qφ(z|x)||pθ(z|x))
=log(pθ(x))-DKL(qφ(z|x)||pθ(z))
+Eqφ(z|x)[pθ(x|z)]-log(pθ(x))
=-DKL(qφ(z|x)||pθ(z))+Eqφ(z|x)[pθ(x|z)]
によって算出される。ここで、上式(6)の最後の式における第1項(DKL(qφ(z|x)||pθ(z)))は上述した「KL情報量」であって、具体的にはqφ(z|x)と標準正規分布とのKLダイバージェンスに相当する量となっている。また、第2項Eqφ(z|x)[pθ(x|z)]は、上述した「再構成損失」に-1を乗じた量となっている。すなわち、上式(6)は、次式
(6’) (変分下限)=-(KL情報量)-(再構成損失)
のように表すことができる。
【0066】
ちなみに非特許文献1では、実際の計算を容易に行うべく、変分下限の推定量として、SGVB(Stochastic Gradient Variational Bayes)推定量L'(θ,φ,x, (ε(l))l=1,..,L)を導入し、上式(1)の潜在変数z(=μ+ε*σ)を適用し、ε(l)(l=1,...,L(Lはハイパーパラメータ))をεから独立に抽出した乱数として、次式
(7) L'(θ,φ,x,(ε(l))l=1,..,L)
=-(K/2)・log2π
-(1/L)・Σl=1
LΣk=1
K(((xk-μD,k
(l))2/(σD,k
(l))2)-logσD,k
(l))
-(1/2) ・Σj=1
J(1-μE,j
2-σE,j
2+logσE,j
2)
により、「変分下限」が算出されるとしている。
【0067】
ここで上式(7)において、Kはxのデータ長であって、xk、μD,k
(l)及びσD,k
(l)は、x、μD
(l)及びσD
(l)の第k成分である。なお(μD
(l),(σD
(l))2)=Dθ(μE+σE*ε(l))となっている。また、Jはzのデータ長であって、μE,j及びσE,jは、μE及びσEの第j成分である。
【0068】
以上、「生成損失」における公知の部分である「変分下限」(=-(KL情報量)-(再構成損失))について説明したが、以下、本発明の特徴である「配置損失」について詳細に説明を行う。
【0069】
図2は、本発明に係る配置損失の一実施形態を説明するための模式図である。
【0070】
以下、
図2(A)~(C)を用いて説明する本実施形態の配置損失L_align(k)は、複数のクラス(k個のクラス,kは3以上の整数)から生成される複数の2クラスの組合せ(
kC
2個の組合せ)において当該組合せ毎に規定される「距離」dであって、当該組合せをなす2つのクラスに対応した2つの確率分布間の「距離」dが、当該組合せ間において互いに等しいときに、損失がない又は最小となることを示すものに設定される。これにより、複数のクラス(k個のクラス)にそれぞれ対応した複数の確率分布(k個の確率分布)が全て「隣り合う」ような位置関係を、潜在空間において具現することが可能となるのである。
【0071】
ちなみに、上記の確率分布間の「距離」dとしては、すでに述べたように、各確率分布の平均値(中心)間の空間内距離を用いてもよく、又は当該確率分布間におけるKLダイバージェンスを採用することもできる。
【0072】
最初に
図2(A)に示すように、クラス0、クラス1及びクラス2の3つのクラス(k=3)に対応する確率分布が、全て隣り合うような位置関係を具現させるための配置損失L_align(3)を考える。このように3つの確率分布が全て互いに隣り合う位置関係は、2次元の潜在空間を設定した上で、全ての確率分布における互いの距離dが等しくなる条件を満たすことにより実現することができる。すなわち3つの確率分布の中心がそれぞれ、ある正三角形の3つの頂点に位置することになるようにすることで実現可能となるのである。
【0073】
ここで、クラスaとクラスbとの距離をdabとすると、上記の条件は、次式
(8) d01=d02,及びd01=d12
によって表され、このことから配置損失L_align(3)は、次式
(9) L_align(3)=(d01-d02)2+(d01-d12)2
のように設定可能となる。
【0074】
次に
図2(B)に示すように、クラス0~3の4つのクラス(k=4)に対応する確率分布が、全て隣り合うような位置関係を具現させるための配置損失L_align(4)を考える。このように4つの確率分布が全て互いに隣り合う位置関係は、3次元の潜在空間を設定した上で、全ての確率分布における互いの距離dが等しくなる条件を満たすことにより実現することができる。すなわち4つの確率分布の中心がそれぞれ、ある正四面体の4つの頂点に位置することになるようにすることで実現可能となるのである。
【0075】
ここで上記の条件は、上式(8)と、さらに次式
(10) d01=d03,d01=d13,及びd01=d23
とを合わせたものによって表され、このことから配置損失L_align(4)は、次式
(11) L_align(4)=L_align(3)+(d01-d03)2+(d01-d13)2+(d01-d23)2
のように設定されることができる。
【0076】
さらに、
図2(C)に示すように、クラス0~4の5つのクラス(k=5)に対応する確率分布が、全て隣り合うような位置関係を具現させるための配置損失L_align(5)を考える。このように5つの確率分布が全て互いに隣り合う位置関係は、4次元の潜在空間を設定した上で、全ての確率分布における互いの距離dが等しくなる条件を満たすことにより実現することができる。すなわち5つの確率分布の中心がそれぞれ、正五胞体(5次元正単体)の5つの頂点に位置することになるようにすることで実現可能となるのである。ちなみに、正五胞体は、3次元空間の正四面体を胞(3次元面)とする正多胞体である。
【0077】
ここで上記の条件は、上式(8)と、上式(10)と、さらに次式
(12) d01=d04,d01=d14,d01=d24,及びd01=d34
とを合わせたものによって表され、このことから配置損失L_align(5)は、次式
(13) L_align(5)=L_align(4)
+(d01-d04)2+(d01-d14)2+(d01-d24)2+(d01-d34)2
のように設定可能となる。
【0078】
以上、k=3、k=4及びk=5の場合の配置損失の設定を行ったが、これらの結果をk(≧3)について帰納的に一般化することで、本実施形態の配置損失L_align(k)は、次式
(14) k=3のとき、L_align(3)=(d01-d02)2+(d01-d12)2
k≧4のとき、L_align(k)=L_align(k-1)+Σm=0
k-2(d01-dm(k-1))2
のように設定されることができる。
【0079】
このように本実施形態の配置損失は、k(≧3)個のクラスの確率分布に対し、当該確率分布が全て互いに隣り合う位置関係を実現すべく、当該確率分布の中心がそれぞれ(k-1)次元正多胞体(正単体)のk個の頂点に配置されて、これにより全ての確率分布における互いの距離dが等しくなるように仕向ける関数となっているのである。
【0080】
なお勿論、本実施形態における配置損失の設定は、上式(14)に限定されるものではない。例えばk=3では(d01-d02)及び(d01-d12)について、及びk≧4では(d01-dm(k-1))(m=0~(k-2))を含め現れる(d01-**)の全てについて単調増加関数となる量ならば配置損失に採用することが可能となる。
【0081】
図3は、本発明に係る配置損失の他の実施形態を説明するための模式図である。
【0082】
以下、
図3(A)及び(B)を用いて説明する本実施形態の配置損失L_align(k)は、複数のクラス(k個のクラス,kは3以上の整数)にそれぞれ対応する複数の確率分布(k個の確率分布)のうちの1つを起点として、残りの確率分布が順次隣り合い且つ当該起点から順次より離れていく形で(本実施形態では順次直線状に)並んだ位置関係にある場合に満たされるべき距離dに係る条件を、当該確率分布間の距離dが満たしているときに、損失がない又は最小となることを示すものに設定される。
【0083】
これにより、複数のクラス(k個のクラス)にそれぞれ対応した複数の確率分布(k個の確率分布)が直線状(若しくは曲率の十分に小さい曲線状)に並び、その結果、1つ前及び/又は1つ後の確率分布とだけ「隣り合う」ような位置関係を、潜在空間において具現することが可能となるのである。
【0084】
最初に
図3(A)に示すように、クラス0、クラス1及びクラス2の3つのクラス(k=3)に対応する確率分布が、この順番で直線状に並んで順次隣り合うような位置関係を具現させるための配置損失L_align(3)を考える(ちなみにこれらのクラスに関し別の順番でも以下の説明と同様となる)。このような位置関係は、2次元の潜在空間を設定した上で、この2次元の潜在空間においてもユークリッド幾何学の三角不等式が成り立つと仮定し、当該確率分布における互いの距離dが三角不等式の条件を満たすようにすることで実現可能となるのである。
【0085】
ここで、確率分布の並び順をl1→l2→l3として、すなわちl1=(クラス0の確率分布)、l2=(クラス1の確率分布)及びl3=(クラス2の確率分布)として、i番目(li)の確率分布とj番目(lj)の確率分布との距離をdli,ljとすると、上記の三角不等式の条件は、次式
(15) dl1,l2+dl2,l3 ≧ dl1,l3
によって表され、これら3つの確率分布が直線状に並ぶとき、上式(15)の両辺は等しくなる。このことから配置損失L_align(3)は、次式
(16) L_align(3)=(dl1,l2+dl2,l3)-dl1,l3
のように設定可能となるのである。
【0086】
次に
図3(B)に示すように、クラス0、クラス1、クラス3及びクラス2の4つのクラス(k=4)に対応する確率分布が、この順番で直線状に並んで順次隣り合うような位置関係を具現させるための配置損失L_align(4)を考える(ちなみにこれらのクラスに関し別の順番でも以下の説明と同様となる)。
【0087】
ここで、確率分布の並び順をl1→l2→l3→l4とし、すなわちl1=(クラス0の確率分布),l2=(クラス1の確率分布),l3=(クラス3の確率分布)及びl4=(クラス2の確率分布)とすると、このような位置関係は、2次元の潜在空間を設定した上で、
(a)並び順における1番目、(次の)2番目、及び(最後となる)4番目の3つの確率分布における互いの距離dが三角不等式の条件を満たし、さらに、
(b)並び順における2番目、(次の)3番目、及び(最後となる)4番目の3つの確率分布における互いの距離dも三角不等式の条件を満たす
ようにすることで実現可能となる。
【0088】
具体的に上記の三角不等式の条件は、次式
(17) dl1,l2+dl2,l4 ≧ dl1,l4
(18) dl2,l3+dl3,l4 ≧ dl2,l4
によって表され、これら4つの確率分布が直線状に並ぶとき、上式(17)及び(18)の各々における両辺は等しくなる。ここで上式(18)の両辺にdl1,l2を加えた上で上式(17)を用いると、次式
(19) dl1,l2+dl2,l3+dl3,l4 ≧ dl1,l2+dl2,l4 ≧ dl1,l4、すなわち、
(20) dl1,l2+dl2,l3+dl3,l4 ≧ dl1,l4
が成立する。上式(20)においても4つの確率分布が直線状に並ぶときに両辺が等しくなることから、配置損失L_align(4)は、次式
(21) L_align(4)=(dl1,l2+dl2,l3+dl3,l4)-dl1,l4
のように設定可能となる。
【0089】
以上、k=3及びk=4の場合の配置損失の設定を行ったが、これらの結果をk(≧3)について帰納的に一般化することで、本実施形態の配置損失L_align(k)は、次式
(22) L_align(k)=Σm=1
k-1(dlm,l(m+1))-dl1,lk
のように設定されることができる。
【0090】
なお勿論、本実施形態における配置損失の設定は、上式(22)に限定されるものではない。例えば配置対象となる確率分布が、直線状ではなく、曲率の十分に小さい曲線状に並び、しかも1つ前及び/又は1つ後の確率分布とだけ「隣り合う」ような位置関係を具現すべく、配置損失L_align(k)を次式
(22’) L_align(k)=Σm=1
k-1(dlm,l(m+1))-D・dl1,lk
のように設定することも可能である。ここで、Dは1を若干超えるような係数となっている。このように、複数の確率分布のうちの1つを起点として、残りの確率分布が順次隣り合い且つ当該起点から順次より離れていく形で並んだ位置関係を具現するように仕向ける量ならば配置損失に採用することが可能となる。
【0091】
以下、配置損失の設定における更なる他の実施形態を説明する。
【0092】
一般に、潜在空間の次元数が大きくなると、潜在空間に配置されるクラス毎の確率分布の間に空隙の生じる可能性が高くなる。デコーダ部13(
図1)は、このような空隙に位置する潜在変数から出力データ(擬似データ)を生成するようには訓練されないので、このような潜在変数をサンプリングしたとしても、例えば通常の滑らかなモーフィングには適さないといったように、その用途は限定されてしまう。
【0093】
そこで、本実施形態の配置損失は、隣り合う確率分布間の距離が設定値に近い値であるほど、損失がより小さくなることを示す「距離制約項」を含むものとなっている。例えば、上式(14)の右辺、上式(22)の右辺や、上式(22’)の右辺に、この後説明するような距離制約項L_distance(k)を加算したものを、配置損失L_align(k)とすることができる。これにより、例えば高次元の潜在空間においても、確率分布の間に空隙が生じない若しくは概ね生じないように、クラス毎の確率分布を配置することも可能となるのである。
【0094】
ここで具体的に、
図2を用いて説明した、クラス毎の確率分布が全て隣り合うような位置関係を具現させるための配置損失(上式(14))に加算する距離制約項L_distance(k)を考える。この場合、任意の2つの確率分布の距離dが、所定の大き過ぎない設定距離δに等しくなる若しくは近づくようにすればよいので、次式
(23) k=3のとき、L_distance(3)=(d
01-δ)
2+Σ
m=0
1(d
m2-δ)
2
k≧4のとき、L_distance(k)=L_distance(k-1)+Σ
m=0
k-2(d
m(k-1)-δ)
2
で表される距離制約項L_distance(k)を採用することができる。
【0095】
なお勿論、この場合の距離制約項の設定は、上式(23)に限定されるものではない。例えばk=3では(d01-δ)、(d02-δ)及び(d12-δ)について、及びk≧4では(dm(k-1)-δ)(m=0~(k-2))を含め現れる(**-δ)の全てについて単調増加関数となる量ならば距離制約項とすることが可能となる。
【0096】
次いで、
図3を用いて説明した、クラス毎の確率分布が直線状(若しくは曲線状)に並んで順次隣り合うような位置関係を具現させるための配置損失(上式(22)又は(22’))に加算する距離制約項L_distance(k)を考える。この場合、隣り合う2つの確率分布の距離dが、所定の大き過ぎない設定距離δに等しくなる若しくは近づくようにすればよいので、次式
(24) L_distance(k)=Σ
m=0
k-1(d
lm,l(m+1)-δ)
2
で表される距離制約項L_distance(k)を採用することができる。
【0097】
なお勿論、この場合の距離制約項の設定も、上式(24)に限定されるものではない。例えば(dlm,l(m+1)-δ)(m=0~(k-1))について単調増加関数となる量ならば距離制約項とすることが可能となるのである。
【0098】
以上、距離制約項の加算された配置損失を含め設定可能な種々の配置損失について説明を行ったが、勿論、配置損失はこれらのものに限定されない。例えば、多数のクラスの確率分布のうち所定の2つだけについて、その距離dが所定範囲内にある際に最小値をとるような配置損失や、所定の3つのクラスの確率分布について、それぞれが所定形状の三角形の頂点に位置するように仕向ける(当該頂点間の距離が満たす条件を距離dが満たす際に最小値をとるような)配置損失を設定することも可能である。
【0099】
しかしながら、以上に説明したような、所定の確率分布が「隣り合う」ように仕向ける配置損失は、例えば所定の2つのクラス間を、他のクラスを経由せずに断絶なく滑らかに遷移するモーフィングデータを生成する上で重要なものとなっているのである。なお、このようなモーフィングデータの生成については、後に
図5及び6を用い、実施例1及び2として詳細に説明を行う。
【0100】
図1の機能ブロック図に戻って、サンプリング部93は、訓練部92によって訓練された学習済みの生成モデル1に対し、その間でモーフィングを行うべき複数のクラス(例えばクラス"0"、"1"及び"2")に属する複数の入力データの各々を入力し、
(a)複数のクラス(クラス"0"、"1"及び"2")におけるクラス毎に、当該クラスに対応した(設定された潜在空間に好適な位置関係をもって配置された)確率分布を代表する潜在変数である代表潜在変数を決定し、
(b)順番(例えば"0"→"1"→"2")も含めて指定又は設定された複数のクラス(例えばクラス"0"、"1"及び"2")に係る代表潜在変数を当該順番("0"→"1"→"2")に従い順次結んだ線分又は曲線分から、当該線分又は曲線分上の点に相当する複数の潜在変数をサンプリングする。
【0101】
ここで、上記(a)の代表潜在変数z_rは、ユーザによって各クラスから任意の数だけ指定されてもよく、例えば(学習済みのエンコード部11から出力された)当該クラスに対応した確率分布の確率分布パラメータ(μ,σ)を用い、上式(1)に倣って、z_r=μ+p*σによって決定されてもよい。ここでpは、ユーザによって指定されるパラメータである。または、pを例えば乱数(p~N(0,I))として自動的に少なくとも1つの代表潜在変数z_rを決定するようにしてもよい。また、このような代表潜在変数z_rとして、当該クラスに対応した確率分布の平均μが含まれていることも好ましい。なおいずれにしても、クラス間を遷移するモーフィングデータを生成する場合には、各クラスについて代表潜在変数が1つ決定(選択)される。
【0102】
また、上記(b)における、代表潜在変数を結んだ線分又は曲線分上の点に相当する複数の潜在変数は、例えば当該線分上において所定の内分の間隔で並んだ、設定された数の点に相当する潜在変数としてもよい。または、例えば当該曲線分からスプライン補間等の公知の補間手法を用いて算出された、設定された数の点であって、当該曲線分上において所定の内分の間隔で並んだ点に相当する潜在変数とすることもできる。
【0103】
さらにサンプリング部93は、上述したように線分又は曲線分上の点(潜在変数)を等間隔でサンプリングするのではなく、サンプリングされた潜在変数の当該線分又は曲線分上における密度が、代表潜在変数に近い位置ほどより低くなるように、複数の潜在変数をサンプリングすることも好ましい。言い換えると、クラスの境界に近い領域では潜在変数を密にサンプリングし、それ以外の位置、特に代表潜在変数近傍では潜在変数を疎にサンプリングすることも好ましいのである。例えば、当該線分又は曲線分における内分の間隔を、代表潜在変数に近いほど大きくなるように設定しておき、この不均一な内分の間隔で並んだ点に相当する潜在変数をサンプリングしてもよい。
【0104】
このような不均一な潜在変数のサンプリングを行うことによって、潜在変数を等間隔でサンプリングした場合にみられるようなモーフィングにおける変化の度合いの不均一さを解消若しくは改善することが可能となる。実際、潜在変数を等間隔でサンプリングした場合のモーフィングにおいては、その変化が、代表潜在変数近傍では小さい一方、クラスの境界に近づくにつれて急激に大きくなることも少なくない。
【0105】
ちなみに、後に
図5及び6を用いて、本発明によるモーフィング生成方法の実施例1及び2を説明するが、そこで、サンプリング部93における潜在変数のサンプリングの具体例についても説明を行う。
【0106】
同じく
図1の機能ブロック図において、モーフィング生成部94は、サンプリング部93でサンプリングされた複数の潜在変数の各々をデコーダ部13へ入力し、このデコーダ部13から出力された複数の出力データの組を、複数のクラス間のモーフィングデータとして取得する。このモーフィングデータは、例えば通信機能を備えた出力部95から外部の情報処理装置へ送信され、この情報処理装置で利用されてもよい。また、出力部95はディスプレイを備えていて、このモーフィングデータを受け取ってこのディスプレイにモーフィング(例えば、クラス間における画像の遷移)を表示してもよい。
【0107】
以下、
図4~7を用いて、本発明によるモーフィング生成方法についての実施例1及び2、本発明に係る確率分布の配置処理についての実施例3、並びにそれらに対する比較例の説明を行う。ここで、これらの実施例1~3及び比較例は、
図1に示した生成モデル1を用いて実施された(ただし比較例は「配置損失」を勘案していない)。また、エンコード部11及びデコード部13は、ともに3層MLP(活性化関数はsoftplus,次元数は400)で構成され、潜在空間(潜在変数)は2次元に設定された。
【0108】
ちなみに、この後示す
図4(A)、
図5(A)、
図6(A)及び
図7(A)~(C)は、対応する手書き数字画像データを入力とした学習済みのエンコード部11(
図1)から出力された確率分布パラメータ(μ,σ)のうちの平均μを2次元平面(2次元潜在空間)にプロットした散布図となっている。
【0109】
また訓練用の学習データとしては、MNIST(Modified National Institute of Standards and Technology)データベースから取り寄せた、クラス"0"、"1"及び"2"の手書き数字画像データを用いた。さらに比較例において訓練に用いた生成損失は、従来と同様、
(生成損失)=(KL情報量)+(再構成損失)
であった。一方、実施例1~3において訓練に用いた生成関数は、上式(3)と同様、
(生成損失)=α・{(KL情報量)+(再構成損失)}+β・(配置損失)
であった。ここでαは1に設定された。またβは、実施例1では30.0に設定され、実施例2でも30.0に設定され、さらに実施例3では、300.0までの複数の正値に設定された。またさらに「配置損失」における距離dには、各確率分布の平均値(中心)間の空間内距離を採用した。
【0110】
[比較例]
図4は、本発明によるモーフィング生成方法に対する比較例を説明するためのグラフ及び画像である。ここで本比較例では、手書き数字「0」画像から手書き数字「1」画像への「2」を介さないモーフィングデータを生成する設定となっている。
【0111】
図4(A)に、本比較例におけるクラス"0"、"1"及び"2"にそれぞれ対応する3つの確率分布"0"、"1"及び"2"の潜在空間での位置関係を示す。同図によれば、モーフィングの目的である確率分布"0"及び確率分布"1"の間に、確率分布"2"が挟まるように位置していることが分かる。このように従来、潜在空間における確率分布の位置関係は、モデル内で自動的に決定されていたのである。
【0112】
そこで本比較例では、手書き数字「0」画像から手書き数字「1」画像への「2」を介さないモーフィングデータを得るため、
図4(A)に示したような折れ線矢印のサンプリングルートで潜在変数をサンプリングした。このサンプリングルートは途中、確率分布"2"の中心からできるだけ離隔するように決められている。
【0113】
図4(B)に、その結果得られたモーフィングデータを示す。同図のモーフィングデータは、サンプリングされた潜在変数をデコード部13でデコードして得られた画像データを、最初の段の左側から右側へ次いで第2段の左側から右側へ、といった具合に最初の段から最後の段まで順次並べたものとなっている。このモーフィングデータにおいては、手書き数字「0」画像と手書き数字「1」画像との間で、変化する数字の形状に「2」が割り込んでしまい、変化の向きに関し断絶(破綻)の生じていることが分かる。
【0114】
このように、潜在空間における確率分布の位置関係を制御できない本比較例では、2つのクラス間を、他のクラスを経由せず、変化の向きに関し断絶なく滑らかに遷移するようなモーフィングデータは必ずしも得られないことが理解されるのである。
【0115】
[実施例1]
図5は、本発明によるモーフィング生成方法についての実施例1を説明するためのグラフ及び画像である。
【0116】
ここでこの実施例1では、手書き数字「0」画像→手書き数字「1」画像→手書き数字「2」画像→手書き数字「0」画像のモーフィングデータであって2つのクラス間の遷移の間に他の画像が介入しないモーフィングデータを生成する設定となっている。またこのようなモーフィングを成功させるため、潜在空間において確率分布"0"、確率分布"1"及び確率分布"2"が互いに隣り合う位置関係となるように、「配置損失」として上式(9)(上式(14)におけるk=3の式)を採用している。
【0117】
図5(A)に、実施例1におけるクラス"0"、"1"及び"2"にそれぞれ対応する3つの確率分布"0"、"1"及び"2"の潜在空間での位置関係を示す。同図によれば、上記の「配置損失」を採用したことが奏功して、3つの確率分布"0"、"1"及び"2"の(実施者によって選択された)代表潜在変数はそれぞれ、概ね正三角形の3つの頂点位置にあり、これらの確率分布は互いに隣り合う位置関係となっていることが理解される。
【0118】
次いで実施例1では、
(a)確率分布"0"の代表潜在変数(-0.4, 0.1)と確率分布"1"の代表潜在変数(0.5, 0.2)とを結んだ線分上から、線形補間によって等間隔の計64個の潜在変数をサンプリングし、
(b)確率分布"1"の代表潜在変数(0.5, 0.2)と確率分布"2"の代表潜在変数(0.0, -0.6)とを結んだ線分上から、線形補間によって等間隔の計64個の潜在変数をサンプリングし、
(c)確率分布"2"の代表潜在変数(0.0, -0.6)と確率分布"0"の代表潜在変数(-0.4, 0.1)とを結んだ線分上から、線形補間によって等間隔の計64個の潜在変数をサンプリングして
計192個の潜在変数を取得し、これらの潜在変数を学習済みのデコード部13へ入力して、計192個の遷移画像からなるモーフィングデータを生成している。
【0119】
図5(B)に、このようにして得られたモーフィングデータを示す。このデータにおいては、手書き数字「0」画像→手書き数字「1」画像→手書き数字「2」画像→手書き数字「0」画像のモーフィングであって、2つのクラス間の遷移の間に他の画像が介入しない滑らかなモーフィングが実現している。
【0120】
このように、「配置損失」を採用して潜在空間における確率分布の位置関係を制御するこの実施例1では、所定の2つのクラス間を、他のクラスを経由せず、変化の向きに関し断絶なく滑らかに遷移するようなモーフィングデータが生成されているのである。
【0121】
[実施例2]
図6は、本発明によるモーフィング生成方法についての実施例2を説明するためのグラフ及び画像である。
【0122】
ここでこの実施例2では、手書き数字「0」画像→手書き数字「1」画像→手書き数字「2」画像のモーフィングデータであって2つのクラス間の遷移の間に他の画像が介入しないモーフィングデータを生成する設定となっている。またこのようなモーフィングを成功させるため、潜在空間において確率分布"0"、確率分布"1"及び確率分布"2"がこの順番に直線状に並ぶ位置関係となるように、「配置損失」として上式(16)(上式(22)におけるk=3)の式を採用している。
【0123】
図6(A)に、実施例2におけるクラス"0"、"1"及び"2"にそれぞれ対応する3つの確率分布"0"、"1"及び"2"の潜在空間での位置関係を示す。同図によれば、上記の「配置損失」を採用したことが奏功して、3つの確率分布"0"、"1"及び"2"の(実施者によって選択された)代表潜在変数はそれぞれ、概ね1つの直線上の点となっており、これら確率分布"0"、"1"及び"2"は、この順番に概ね直線状に並ぶ位置関係となっていることが理解される。
【0124】
次いで実施例2では、
(a)確率分布"0"の代表潜在変数(-1.8, 0.0)と確率分布"1"の代表潜在変数(-0.4, 0.25)とを結んだ線分上から、線形補間によって等間隔の計32個の潜在変数をサンプリングし、
(b)確率分布"1"の代表潜在変数(-0.4, 0.25)と確率分布"2"の代表潜在変数(1.0, 0.5)とを結んだ線分上から、線形補間によって等間隔の計32個の潜在変数をサンプリングして
計64個の潜在変数を取得し、これらの潜在変数を学習済みのデコード部13へ入力して、計64個の遷移画像からなるモーフィングデータを生成している。
【0125】
図6(B)に、このようにして得られたモーフィングデータを示す。このデータにおいては、手書き数字「0」画像→手書き数字「1」画像→手書き数字「2」画像のモーフィングであって、2つのクラス間の遷移の間に他の画像が介入しない滑らかなモーフィングの実現していることが理解される。
【0126】
このように、「配置損失」を採用して潜在空間における確率分布の位置関係を制御するこの実施例2においても、所定の2つのクラス間を、他のクラスを経由せず、変化の向きに関し断絶なく滑らかに遷移するようなモーフィングデータが生成されているのである。
【0127】
[実施例3]
図7は、本発明に係る確率分布の配置処理についての実施例3を説明するためのグラフである。
【0128】
ここでこの実施例3においても、実施例2と同様、潜在空間において確率分布"0"、確率分布"1"及び確率分布"2"がこの順番に直線状に並ぶ位置関係となるように、「配置損失」として上式(16)(上式(22)におけるk=3)の式を採用している。ただし、この実施例3では、訓練に用いる上式(3)の生成損失、すなわち
(生成損失)=α・{(KL情報量)+(再構成損失)}+β・(配置損失)
におけるαを1に設定した一方で、βを300.0までの複数の正値に設定している。ちなみに、この後述べる実施例3における確率分布の(絶対的な)位置と、実施例2における確率分布の(絶対的な)位置とが相違しているのは、潜在変数生成部12(
図1)が、上式(1)に示したように、学習用に若干揺らいだ潜在変数を生成することによる。学習を行うたびにこの揺らぎが変化し、各クラスの確率分布の(絶対的な)位置は変動するのである。
【0129】
最初に
図7(A)に示したβ=34.0の場合、確率分布"0"、確率分布"1"及び確率分布"2"は、直線状に所望の順序で綺麗に並ぶ位置関係となっていることが分かる。ちなみにより小さなβ値においても、これらの確率分布において概ね直線状に所望の順序で並ぶ位置関係の発現することが確認されているが、このβ=34.0において、非常に綺麗に並ぶ位置関係が具現するのである。したがって、例えば手書き数字「0」画像→手書き数字「1」画像→手書き数字「2」画像のモーフィングデータを生成する際には、例えばβ=34.0に設定されることも好ましいことが理解される。
【0130】
一方、それぞれ
図7(B)及び
図7(C)に示したように、β=200.0及びβ=300.0の場合においても、個々の確率分布が直線状に伸びるきらいはあるが、「配置損失」の採用が奏功し、確率分布"0"、確率分布"1"及び確率分布"2"は、直線状に所望の順序で綺麗に並ぶ位置関係となることが分かる。ここで、β=200.0の場合(
図7(B))と、β=300.0の場合(
図7(C))とを比較すると、潜在空間における確率分布"0"と確率分布"2"との(絶対的な)位置関係が入れ替わっていることが分かる。すなわちβの値の設定によって、確率分布の(絶対的な)位置関係についても相当に自在に制御可能となっていることが理解される。
【0131】
ちなみに、α=1に対しβ=200.0やβ=300.0であるように、損失計算に「配置損失」が極端に効く場合においても、上述したように所望の位置関係を実現可能であることから分かるように、生成損失として「配置損失」のみを採用したとしても(すなわち(生成損失)=(配置損失)でも)、以上に述べたような結果を得ることは可能となっている。
【0132】
以上、実施例3の結果から理解されるように、本発明によれば、少なくともこの実施例3程度の条件下においては、潜在空間における所定のクラスに対応する確率分布の位置関係を、相当に自在に制御することも可能となるのである。
【0133】
以上詳細に説明したように、本発明によれば、配置損失を用いて生成モデルの訓練を行うことによって、潜在空間における所定のクラスに対応する確率分布の位置関係を、分布間の距離で規定される所定の(指定又は設定された位置関係)にする若しくは近づけることができる。またこれにより、確率分布における所望の位置関係を具現させて、新規の学習データやモーフィングデータといったようなサンプリングされるデータにおける、サンプリングの自由度を高めることも可能となる。
【0134】
さらに本発明によれば、本発明による生成モデルを用いて、所定の2つのクラス間を、他のクラスを経由せずに断絶なく遷移するようなモーフィングデータを生成することができる。また、任意の2つの画像におけるそれらの中間となる画像であって、他の画像特徴の介入していない画像を生成することもできるので、例えば、2人の顔をミックスした顔を生成する「まぜ顔アプリ」等を作成することも可能となるのである。
【0135】
さらにまた、本発明によれば、動作開始時点の人物の画像と、動作終了時点の同じ人物の画像とから、任意の段階の中間姿勢の画像を生成することもできるので、本発明は、RaaS(Robotics as a Service)の分野における例えば人物の動作予測に適用することも可能となる。
【0136】
またこの場合、例えばより高度な動作予測処理を応用した高度な介護支援ロボット機能、教育支援ロボット機能や、作業補助用ロボット機能等を、RaaSとして幅広く提供することも可能となる。すなわち本発明によれば、国連が主導する持続可能な開発目標(SDGs)の目標3「あらゆる年齢のすべての人々の健康的な生活を確保し、福祉を推進する」、目標4「すべての人々に包摂的かつ公平で質の高い教育を提供し、生涯学習の機会を促進する」や、目標8「すべての人々のための包摂的かつ持続可能な経済成長、雇用およびディーセント・ワークを推進する」に貢献することも可能となるのである。
【0137】
上述した本発明の種々の実施形態について、本発明の技術思想及び見地の範囲の種々の変更、修正及び省略は、当業者によれば容易に行うことができる。上述の説明はあくまで例であって、何ら制約しようとするものではない。本発明は、特許請求の範囲及びその均等物として限定するものにのみ制約される。
【符号の説明】
【0138】
1 生成モデル
11 エンコード部
12 潜在変数生成部
13 デコード部
9 モーフィング生成装置
91 入力部
92 訓練部
92a 配置損失計算部
92b 生成損失計算部
93 サンプリング部
94 モーフィング生成部
95 出力部