(57)【要約】  信号生成装置は、変数生成部と信号生成部とを含む。変数生成部は、信号における複数の特徴に対応する複数の隠れ変数を生成する。信号生成部は、生成しようとする信号における属性を表す属性ベクトルにより複数の隠れ変数の一部の隠れ変数を変換した属性を表す隠れ変数と、複数の隠れ変数のうち一部の隠れ変数以外の個体性を表す隠れ変数とを予め学習された少なくとも１つのニューラルネットワークに入力し、少なくとも１つのニューラルネットワークを用いて生成しようとする信号を生成する。
2018203550.tif 000002
【特許請求の範囲】
【請求項１】
信号における複数の特徴に対応する複数の隠れ変数を生成する変数生成部と、
生成しようとする信号における属性を表す属性ベクトルにより前記複数の隠れ変数の一部の隠れ変数を変換した属性を表す隠れ変数と、前記複数の隠れ変数のうち前記一部の隠れ変数以外の個体性を表す隠れ変数とを予め学習された少なくとも１つのニューラルネットワークに入力し、前記少なくとも１つのニューラルネットワークを用いて前記生成しようとする信号を生成する信号生成部と、
を含む信号生成装置。
【請求項２】
前記属性を表す隠れ変数は、前記属性に対して、複数の隠れ変数を有する請求項１記載の信号生成装置。
【請求項３】
前記信号生成部は、前記生成しようとする信号を生成する複数の階層を有し、
前記信号生成部は、前記複数の階層それぞれに設けられたニューラルネットワークを前記少なくとも１つのニューラルネットワークとして有し、
前記複数の階層のうち１層目の属性を表す隠れ変数は、前記属性ベクトルであり、
前記複数の階層のうち２層目以降の属性を表す隠れ変数は、当該属性を表す隠れ変数に対応する層より浅い層の属性を表す隠れ変数に基づいて前記複数の隠れ変数のうち一部の隠れ変数を変換することにより得られ、
前記信号生成部は、前記複数の階層それぞれの属性を表す隠れ変数を、前記属性を表す変数の階層に対応する前記ニューラルネットワークに入力し、前記ニューラルネットワークそれぞれを用いて前記生成しようとする信号を生成する、
請求項１又は請求項２記載の信号生成装置。
【請求項４】
前記変数生成部は、乱数により、前記複数の隠れ変数を生成する、
請求項１〜請求項３の何れか１項記載の信号生成装置。
【請求項５】
信号における特徴を表す複数の隠れ変数を生成する変数生成部と、
真の信号を含む学習データと、前記複数の隠れ変数とに基づいて、信号を生成する生成器としての第１のニューラルネットワークと、前記生成器により生成される信号が前記真の信号と同一の分布に従うか否かを識別する識別器としての第２のニューラルネットワークとを互いに競合する最適化条件に従って学習させる学習部と、
を含む信号生成学習装置。
【請求項６】
変数生成部が、信号における複数の特徴に対応する複数の隠れ変数を生成し、
学習部が、生成しようとする信号における属性を表す属性ベクトルにより前記複数の隠れ変数の一部の隠れ変数を変換した属性を表す隠れ変数と、前記複数の隠れ変数のうち前記一部の隠れ変数以外の個体性を表す隠れ変数とを予め学習された少なくとも１つのニューラルネットワークに入力し、前記少なくとも１つのニューラルネットワークを用いて前記生成しようとする信号を生成する、
信号生成方法。
【請求項７】
変数生成部が、信号における複数の特徴に対応する複数の隠れ変数を生成し、
学習部が、真の信号を含む学習データと、前記複数の隠れ変数とに基づいて、信号を生成する生成器としての第１のニューラルネットワークと、前記生成器により生成される信号が前記真の信号と同一の分布に従うか否かを識別する識別器としての第２のニューラルネットワークとを互いに競合する最適化条件に従って学習させる、
信号生成学習方法。
【請求項８】
コンピュータを、請求項１〜請求項４に記載の信号生成装置及び請求項５に記載の信号生成学習装置のうち何れかの装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、信号生成装置、信号生成学習装置、方法、及びプログラムに係り、特に、信号を生成するための信号生成装置、信号生成学習装置、方法、及びプログラムに関する。
本願は、２０１７年５月２日に、日本に出願された特願２０１７−０９１７４２号に基づき優先権を主張し、その内容をここに援用する。
【背景技術】
【０００２】
従来より、画像を生成する方法が知られている（非特許文献１、２）。非特許文献１に記載の方法では、生成器と識別器とを含むGenerative Adversarial Networks（ＧＡＮ）により、乱数から画像を生成する生成器を学習する。また、非特許文献２に記載の方法では、教師データとして与えられた属性情報を用いて、生成器と識別器とを含むConditional Generative Adversarial Networks（ＣＧＡＮ）により、乱数から画像を生成する生成器を学習している。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】I. Goodfellow et al., “Generative Adversarial Nets,” NIPS2014
【非特許文献２】M. Mirza and S. Osindero, “Conditional Generative Adversarial Nets,” ArXiv:1411.1784v1, November 2014
【発明の概要】
【発明が解決しようとする課題】
【０００４】
非特許文献１に記載の方法では、生成する画像を制御することができない。【０００５】
また、非特許文献２に記載の方法では、属性の表現能力は教師データに制約されるため、表現能力に限界がある。【０００６】
本発明は、上記事情を考慮して成されたものであり、属性を制御しつつ、多様な信号を生成することができる信号生成装置、方法、及びプログラムを提供することを目的とする。【０００７】
また、信号の属性を制御しつつ、多様な信号を生成することができるニューラルネットワークを学習することができる信号生成学習装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本発明の第１の態様に係る信号生成装置は、信号における複数の特徴に対応する複数の隠れ変数を生成する変数生成部と、生成しようとする信号における属性を表す属性ベクトルにより前記複数の隠れ変数の一部の隠れ変数を変換した属性を表す隠れ変数と、前記複数の隠れ変数のうち前記一部の隠れ変数以外の個体性を表す隠れ変数とを予め学習された少なくとも１つのニューラルネットワークに入力し、前記少なくとも１つのニューラルネットワークを用いて前記生成しようとする信号を生成する信号生成部と、を含む。
本発明の第２の態様によれば、第１の態様の信号生成装置において、前記属性を表す隠れ変数は、前記属性に対して、複数の隠れ変数を有する。
本発明の第３の態様によれば、第１又は第２の態様の信号生成装置において、前記信号生成部は、前記生成しようとする信号を生成する複数の階層を有し、前記信号生成部は、前記複数の階層それぞれに設けられたニューラルネットワークを前記少なくとも１つのニューラルネットワークとして有し、前記複数の階層のうち１層目の属性を表す隠れ変数は、前記属性ベクトルであり、前記複数の階層のうち２層目以降の属性を表す隠れ変数は、当該属性を表す隠れ変数に対応する層より浅い層の属性を表す隠れ変数に基づいて前記複数の隠れ変数のうち一部の隠れ変数を変換することにより得られ、前記信号生成部は、前記複数の階層それぞれの属性を表す隠れ変数を、前記属性を表す変数の階層に対応する前記ニューラルネットワークに入力し、前記ニューラルネットワークそれぞれを用いて前記生成しようとする信号を生成する。
本発明の第４の態様によれば、第１から第３の態様の何れかの信号生成装置において、前記変数生成部は、乱数により、前記複数の隠れ変数を生成する。【０００９】
本発明の第５の態様に係る信号生成方法は、変数生成部が、信号における複数の特徴に対応する複数の隠れ変数を生成し、学習部が、生成しようとする信号における属性を表す属性ベクトルにより前記複数の隠れ変数の一部の隠れ変数を変換した属性を表す隠れ変数と、前記複数の隠れ変数のうち前記一部の隠れ変数以外の個体性を表す隠れ変数とを予め学習された少なくとも１つのニューラルネットワークに入力し、前記少なくとも１つのニューラルネットワークを用いて前記生成しようとする信号を生成する。【００１０】
本発明の第６の態様に係る信号生成学習装置は、信号における特徴を表す複数の隠れ変数を生成する変数生成部と、真の信号とを含む学習データと、前記複数の隠れ変数とに基づいて、信号を生成する生成器としての第１のニューラルネットワークと、前記生成器により生成される信号が前記真の信号と同一の分布に従うか否かを識別する識別器としての第２のニューラルネットワークとを互いに競合する最適化条件に従って学習させる学習部と、を含む。【００１１】
本発明の第７の態様に係る信号生成学習方法は、変数生成部が、信号における複数の特徴に対応する複数の隠れ変数を生成し、学習部が、真の信号を含む学習データと、前記複数の隠れ変数とに基づいて、信号を生成する生成器としての第１のニューラルネットワークと、前記生成器により生成される信号が前記真の信号と同一の分布に従うか否かを識別する識別器としての第２のニューラルネットワークとを互いに競合する最適化条件に従って学習させる。【００１２】
本発明の第８の態様に係るプログラムは、コンピュータを、第１から第４の態様の信号生成装置及び第６の態様の信号生成学習装置のうち何れかの装置として機能させるためのプログラムである。
【発明の効果】
【００１３】
本発明の信号生成装置、方法、及びプログラムによれば、信号における個体性を表す隠れ変数、及び属性を表す隠れ変数が生成される。生成しようとする信号における属性を表す属性ベクトルの値により、属性を表す隠れ変数が変換される。前記生成された個体性を表す隠れ変数、及び変換結果を入力としてニューラルネットワークが信号を生成することにより、属性を制御しつつ、多様な信号を生成することができる、という効果が得られる。【００１４】
本発明の信号生成学習装置、方法、及びプログラムによれば、信号における個体性を表す隠れ変数、及び属性を表す隠れ変数が生成される。入力された真の信号と、前記生成された個体性を表す隠れ変数、及び属性を表す隠れ変数とに基づいて、信号を生成するための生成器としての第１のニューラルネットワークと、前記生成された信号が、真の信号と同一の分布に従うか否かを識別する識別器としての第２のニューラルネットワークとが、互いに競合する最適化条件に従って学習することにより、属性を制御しつつ、多様な信号を生成することができる第１のニューラルネットワークの学習をすることができる、という効果が得られる。
【図面の簡単な説明】
【００１５】
【図１】本発明の第１の実施の形態における生成器の概念図である。
【図２】第１の実施の形態における生成器及び識別器の概念図である。
【図３】第１の実施の形態に係る信号生成装置の構成を示すブロック図である。
【図４】第１及び第２の実施の形態に係る信号生成装置における学習処理ルーチンを示すフローチャートである。
【図５】第１及び第２の実施の形態に係る信号生成装置における生成処理ルーチンを示すフローチャートである。
【図６】第２の実施の形態における３層目の生成器の概念図である。
【図７】第２の実施の形態における生成器、識別器、及び近似分布の概念図である。
【図８】第２の実施の形態における１層目の生成器の概念図である。
【図９】第２の実施の形態における２層目の生成器の概念図である。
【図１０Ａ】第２の実施の形態に係る信号生成装置により、手書き数字を表す画像データを生成した例を示す図である。
【図１０Ｂ】第２の実施の形態に係る信号生成装置により、手書き数字を表す画像データを生成した他の例を示す図である。
【図１１Ａ】第２の実施の形態に係る信号生成装置により、顔画像を表す画像データを生成した第１の例を示す図である。
【図１１Ｂ】第２の実施の形態に係る信号生成装置により、顔画像を表す画像データを生成した第２の例を示す図である。
【図１１Ｃ】第２の実施の形態に係る信号生成装置により、顔画像を表す画像データを生成した第３の例を示す図である。
【図１２】第２の実施の形態における学習部が備える構成の一例を示す図である。
【発明を実施するための形態】
【００１６】
以下、図面を参照して本発明の実施の形態を詳細に説明する。
【００１７】
＜本発明の第１の実施の形態に係る概要＞
まず、本発明の第１の実施の形態における概要を説明する。
【００１８】
人物のポートレート画像として世の中には多様な画像データが存在する。様々な顔の向き、様々な照明条件、様々な年齢、様々な表情などである。
【００１９】
そこで、本実施の形態における信号生成装置は、複数の隠れ変数を生成し、ニューラルネットワークを用いて、画像を生成する。複数の隠れ変数は、画像を表現するのに有用なエッセンスのようなものであり、画像の特徴を示す。信号生成装置は、ニューラルネットワークとして、例えばConvolutional Neural Networks （ＣＮＮ）を用いる。
【００２０】
また、画像の特徴を示す一つの属性の中にも多様性が存在する。例えば、一言に「前髪」と言っても様々な形状が存在する。
【００２１】
そこで、本実施の形態では、図１に示すように、生成器２は、生成する画像の各属性を複数の隠れ変数で表現する。具体的には、複数の隠れ変数を個体性と属性とに分離することで、生成器２により生成される画像の属性をコントロールしやすくする。生成器２は、各属性を複数の隠れ変数で表現することにより、十分な表現能力を得る。属性が離散的な値で表現される場合、属性が取り得る離散的な値で定められた区間における任意の値を取り得る連続値で隠れ変数を表現してもよい。連続値を有する隠れ変数で各属性を表現することにより、生成器２は、十分な表現能力を得る。同様に、属性がある分布で表現される場合、それよりもより詳細な分布で隠れ変数を表現してもよい。より詳細な分布に従う隠れ変数で各属性を表現することにより、生成器２は、十分な表現能力を得る。
図１に例示される生成器２は、２層のネットワークからなるニューラルネットワークＧを有し、入力される隠れ変数ｚｉ、ｚａと属性ベクトルｙとに基づいて画像データＧ（ｚｉ，ｚａ，ｙ）を生成する。画像の属性は、複数の隠れ変数のうち属性ベクトルｙにより制約が付与される隠れ変数ｚａで示される。画像の個体性は、複数の隠れ変数のうち属性ベクトルｙにより制約が付与されない隠れ変数ｚｉで示される。属性ベクトルｙは、少なくとも１つの属性の有無又は度合いを表す。
【００２２】
また、ＧＡＮを用いて生成器の構造を学習する場合には、生成器の入力が乱数ｚのみなので、個体性と属性とを容易に分離することが出来ない。ＣＧＡＮを用いた場合には、生成器の入力が乱数ｚと属性ベクトルｙとであり、生成器を属性ベクトルｙで条件付けされた識別器と学習させることで、個体性と属性との分離が出来る。しかし、属性ベクトルｙは属性の有無や正負などの限定的な特徴を表すため、個体性と分離できる属性情報は限定的となる。
【００２３】
そこで、本実施の形態では、図２に示すように、学習時にConditional Filtered Generative Adversarial Networks （ＣＦＧＡＮ）を一緒に学習する。ＣＦＧＡＮは、生成器２と識別器３とを含む。生成器２の入力が乱数ｚｉと属性の多次元表現であるｚａ’とを含むため、属性情報ｙで条件付けられた識別器３とともに生成器２を学習させることで個体性と詳細な属性情報ｚａとを分離できる。
【００２４】
従来法では、画像の精緻化という目的で生成器と識別器とを含むＧＡＮを利用していたが（非特許文献１参照）、本実施の形態では、個体性と属性との分離のために生成器２と識別器３とを含むＣＦＧＡＮを利用する。
【００２５】
＜本発明の第１の実施の形態に係る信号生成装置の構成＞
【００２６】
本発明の第１の実施の形態に係る信号生成装置の構成について説明する。図３に示すように、本発明の第１の実施の形態に係る信号生成装置１００は、入力部１０と、演算部２０と、出力部９０とを備えている。信号生成装置１００は、central processing unit （ＣＰＵ）とrandom access memory （ＲＡＭ）とread only memory （ＲＯＭ）とを含むコンピュータで構成してもよい。ＣＰＵは、ＲＯＭに記憶された後述する学習処理ルーチン及び生成処理ルーチンを実行するためのプログラムと各種データとを読み出し、プログラムを実行することにより入力部１０、演算部２０及び出力部９０として動作してもよい。
【００２７】
入力部１０は、真の画像データｘ及び当該画像データｘの各属性を表す属性ベクトルｙのペアを含む複数の学習データを受け付ける。入力部１０は、生成しようとする画像データの各属性を表す属性ベクトルｙを受け付ける。属性ベクトルｙは、例えば属性の有無や正負を表すが、特にこれらに限定されない。
【００２８】
演算部２０は、学習用変数生成部２８と、学習部３０と、ニューラルネットワーク記憶部４０と、信号生成用変数生成部５２と、信号生成部５６とを含んで構成されている。
【００２９】
学習用変数生成部２８は、あるデータ分布から個体性を表す隠れ変数ｚｉ及び各属性を表す隠れ変数ｚａを生成する。学習用変数生成部２８は、乱数を用いて、隠れ変数ｚｉ及び隠れ変数ｚａを生成してもよい。
例えば、属性を表す隠れ変数ｚａが離散的である場合には、学習用変数生成部２８は、式（１）に従って、属性を表す隠れ変数ｚａを生成する。
【数１】
2018203550.tif 000003
式（１）において、ｋは、カテゴリ数（離散的な値の数）を表す。また、Ｃａｔは、カテゴリ数Ｋの各カテゴリを示す値からなる分布であり、ｐは確率である。
属性を表す隠れ変数ｚａが連続的である場合には、学習用変数生成部２８は、式（２）に従って、属性を表す隠れ変数ｚａを生成する。
【数２】
2018203550.tif 000004
式（２）において、Ｕｎｉｆ（−１，１）は、値の範囲を−１から１までとした一様分布である。
なお、生成方法はこれらに限定されず、ガウシアン分布やディリクレ分布など任意の分布から隠れ変数ｚａを生成してもよい。
ある分布から生成されたものを、別のニューラルネットワークで変換したものを隠れ変数ｚａとして用いてもよい。
【００３０】
学習部３０は、生成器２として動作するニューラルネットワークＧ（第１のニューラルネットワーク）と、識別器３として動作するニューラルネットワークＤ（第２のニューラルネットワーク）とを有する。２つのニューラルネットワークＧ、Ｄは、入力部１０に入力された複数の学習データに基づいて、互いに競合する最適化条件に従って学習する。学習部３０は、真の画像データｘと、当該画像データｘの各属性を表す属性ベクトルｙと、生成された個体性を表す隠れ変数ｚｉと各属性を表す隠れ変数ｚａとを入力する。ニューラルネットワークＧは、個体性を表す隠れ変数及び各属性を表す隠れ変数から、画像データを生成する。ニューラルネットワークＤは、ニューラルネットワークＧにより生成された画像データと、真の画像データｘと、属性ベクトルｙとを入力し、生成された画像が属性ベクトルｙの下で真の画像データと同一の分布に従うか否かを識別する。すなわち、ニューラルネットワークＤは、生成された画像データが真の画像データであるか否かを識別する。真の画像データは、複数の学習データに含まれる画像データである。学習部３０における各ニューラルネットワークに、例えばＣＮＮが用いられてもよい。
【００３１】
具体的には、学習部３０は、入力された学習データに含まれる真の画像データｘと属性ベクトルｙと、生成された個体性を表す隠れ変数ｚｉと各属性を表す隠れ変数ｚａとを入力とする。ここで、画像データｘが、顔画像データである場合には、属性ベクトルｙが、「メガネ」、「化粧」、「髭」、「前髪」の各々の有無や、「男性／女性」、「笑顔でない／笑顔」、「老けている／若い」の区別を表す。属性を表す隠れ変数ｚａが、各属性の多様性を表す。属性ベクトルｙが「メガネ」の有無を表す場合、属性の多様性は、例えば、メガネの形状及び色を表す。
画像データｘが文字画像データである場合には、属性ベクトルｙが、文字の種類（例：ａ，ｂ，ｃ，…，１，２，…）の各々の有無を表す。属性を表す隠れ変数ｚａが、文字の多様性を表す。例えば、属性ベクトルｙが文字「４」を表す場合、文字の多様性は、「４」の大きさや形状を表す。あるいは、属性ベクトルｙが、文字のフォント（例：ゴシック体、明朝体、太字、斜体字、…）の各々の有無を表し、属性を表す隠れ変数ｚａが、フォントの多様性を表す。例えば、属性ベクトルｙがゴシック体を表す場合、フォントの多様性は、ゴシック体の種別を表す。
【００３２】
学習部３０は、学習用変数生成部２８により生成された個体性を表す隠れ変数ｚｉと各属性を表す隠れ変数ｚａとを入力し、生成器２としてのニューラルネットワークＧを用いて、個体性を表す隠れ変数ｚｉと各属性を表す隠れ変数ｚａ’とから画像データを生成する。生成器２としてのニューラルネットワークＧの入力となる各属性を表す隠れ変数ｚａ’は、各属性を表す隠れ変数ｚａを属性ベクトルｙの値により変換することにより得られ、各属性を多次元で表現する。変換の一例としては、属性ベクトルｙが属性の有無を表す場合に、生成された各属性を表す隠れ変数ｚａと属性ベクトルｙとを掛け合わせることが考えられる。式（３）は、この場合の変換の一例を示す。
【数３】
2018203550.tif 000005
あるいは、属性ベクトルｙが属性の正負を表す場合に、生成された各属性を表す隠れ変数ｚａに対して、属性ベクトルｙに応じて正負を与えることが考えられる。式（４）は、この場合の変換の一例を示す。
【数４】
2018203550.tif 000006
【００３３】
生成器２としてのニューラルネットワークＧの学習において、学習部３０は、生成された画像データを属性ベクトルｙの下で真の画像データｘと同一の分布に従うと識別器３が識別するように、生成器２としてのニューラルネットワークＧのパラメータを更新する。すなわち、生成される画像を真の画像データであると識別器３が識別するように、ニューラルネットワークＧのパラメータが更新される。
【００３４】
識別器３としてのニューラルネットワークＤの学習において、学習部３０は、生成器２により生成された画像データを属性ベクトルｙの下で真の画像データｘと同一の分布に従わないと識別器３が識別し、かつ、真の画像データｘに含まれる各画像データを真の画像データｘと同一の分布に従うと識別器３が識別するように、識別器３としてのニューラルネットワークＤのパラメータを更新する。
【００３５】
なお、生成器としてのニューラルネットワークＧと、識別器としてのニューラルネットワークＤとが、学習において互いに競合する最適化条件は、式（５）で表される。
【００３６】
【数５】
2018203550.tif 000007
【００３７】
式（５）に含まれ、式（６−１）〜（６−４）で示される動作は、次の通りである。式（６−１）の動作は、学習データから、真の画像データｘと属性ベクトルｙをサンプリングすることを表す。式（６−２）の動作は、個体性を表す隠れ変数ｚｉを、あるデータ分布から生成することを表す。例えば、個体性を表す隠れ変数ｚｉは、乱数で生成する。式（６−３）の動作は、属性を表す隠れ変数ｚａを、あるデータ分布から生成することを表す。例えば、属性を表す隠れ変数ｚａは、乱数で生成する。式（６−４）の動作は、学習データから、属性ベクトルｙをサンプリングすることを表す。
【数６】
2018203550.tif 000008
【００３８】
学習部３０は、上記の処理を、学習データ毎に行って、生成器２としてのニューラルネットワークＧのパラメータと、識別器３としてのニューラルネットワークＤのパラメータとを繰り返し交互に更新する。
【００３９】
最終的に得られた、生成器２としてのニューラルネットワークＧと、識別器３としてのニューラルネットワークＤは、ニューラルネットワーク記憶部４０に記憶される。
【００４０】
信号生成用変数生成部５２は、あるデータ分布から個体性を表す隠れ変数ｚｉ及び各属性を表す隠れ変数ｚａを生成する。信号生成用変数生成部５２は、乱数を用いて、隠れ変数ｚｉ及び隠れ変数ｚａを生成してもよい。
【００４１】
信号生成部５６は、信号生成用変数生成部５２によって生成された個体性を表す隠れ変数ｚｉと各属性を表す隠れ変数ｚａと、生成しようとする画像データの各属性を表す属性ベクトルｙとを入力し、ニューラルネットワーク記憶部４０に記憶された、生成器２としてのニューラルネットワークＧを読み出す。信号生成部５６は、読み出したニューラルネットワークＧを用いて、属性ベクトルｙと隠れ変数ｚｉ、ｚａとから画像データを生成し、生成した画像データを出力部９０により出力する。このとき、生成器２としてのニューラルネットワークＧの入力となる各属性を表す隠れ変数ｚａ’は、生成された各属性を表す隠れ変数ｚａを属性ベクトルｙの値により変換することにより得られる。変換の一例としては、生成された各属性を表す隠れ変数ｚａと属性ベクトルｙとを掛け合わせることが考えられる。各属性を表す隠れ変数ｚａは、属性毎に複数の隠れ変数を有しているため、属性ベクトルｙの要素は、属性が対応する複数の隠れ変数の全てに掛け合わされる。
【００４２】
＜本発明の第１の実施の形態に係る信号生成装置の作用＞
本発明の第１の実施の形態に係る信号生成装置１００の作用について説明する。信号生成装置１００は、以下に説明する学習処理ルーチンと生成処理ルーチンを実行する。
【００４３】
学習処理ルーチンについて説明する。入力部１０が学習データとして、画像データｘと属性ベクトルｙとの複数のペアを学習データとして受け付けると、信号生成装置１００は、図４に示す学習処理ルーチンを実行する。
【００４４】
ステップＳ１００では、学習部３０が、入力部１０で受け付けた複数の学習データのうちの何れか一つを取得する。
【００４５】
ステップＳ１０２では、学習用変数生成部２８が、あるデータ分布から個体性を表す隠れ変数ｚｉと各属性を表す隠れ変数ｚａを生成する。
【００４６】
ステップＳ１０４では、学習部３０が、ステップＳ１０２で生成された各属性を表す隠れ変数ｚａを、ステップＳ１００で取得した学習データに含まれる属性ベクトルｙの値により変換することにより、各属性を表す隠れ変数ｚａ’を求める。
【００４７】
ステップＳ１０６では、学習部３０が、ステップＳ１０２で生成された個体性を表す隠れ変数ｚｉと、Ｓ１０４で求められた各属性を表す隠れ変数の変換結果ｚａ’とから、生成器２としてのニューラルネットワークを用いて、画像データｘｐを生成する。
【００４８】
ステップＳ１０８では、学習部３０が、ステップＳ１０２で生成された個体性を表す隠れ変数ｚｉと各属性を表す隠れ変数ｚａと、ステップＳ１０６で生成された画像データｘｐと、ステップＳ１００で得た学習データに含まれる画像データｘ及び属性ベクトルｙとに基づいて、生成器２としてのニューラルネットワークＧのパラメータ、及び識別器３としてのニューラルネットワークＤのパラメータを更新する。
【００４９】
ステップＳ１１０では、学習部３０が、全ての学習データについて、ステップＳ１００〜Ｓ１０８の処理を実行したか否かを判定する。ステップＳ１００〜Ｓ１０８の処理に使用されていない学習データが存在する場合、学習部３０は、ステップＳ１００へ戻り、当該学習データを取得する。全ての学習データがステップＳ１００〜Ｓ１０８の処理に使用されている場合には、学習部３０は、学習処理ルーチンを終了する。学習部３０は、最終的に得られた、生成器２としてのニューラルネットワークＧのパラメータ、及び識別器３としてのニューラルネットワークＤのパラメータを、ニューラルネットワーク記憶部４０に格納する。
【００５０】
生成処理ルーチンについて説明する。入力部１０が、生成しようとする画像データの各属性を表す属性ベクトルｙを受け付けると、信号生成装置１００は、図５に示す生成処理ルーチンを実行する。
【００５１】
ステップＳ１５０では、信号生成部５６が、入力部１０で受け付けた属性ベクトルｙを取得する。
【００５２】
ステップＳ１５２では、信号生成用変数生成部５２が、あるデータ分布から個体性を表す隠れ変数ｚｉと各属性を表す隠れ変数ｚａとを生成する。なお、個体性を表す隠れ変数ｚｉと各属性を表す隠れ変数ｚａとをユーザが任意に設定してもよい。
【００５３】
ステップＳ１５４では、信号生成部５６が、ステップＳ１５２で生成された各属性を表す隠れ変数ｚａを、ステップＳ１５０で取得した属性ベクトルｙの値により変換して、各属性を表す隠れ変数ｚａ’を得る。
【００５４】
ステップＳ１５６では、信号生成部５６が、ステップＳ１５２で生成された個体性を表す隠れ変数ｚｉと、ステップＳ１５４で得られた各属性を表す隠れ変数ｚａ’とに基づいて、ニューラルネットワーク記憶部４０に記憶された、生成器２としてのニューラルネットワークＧを用いて、画像データを生成する。信号生成部５６は、生成した画像データを出力部９０により出力して、生成処理ルーチンを終了する。
【００５５】
以上説明したように、本発明の第１の実施の形態に係る信号生成装置は、画像データにおける個体性を表す隠れ変数、及び各属性を表す隠れ変数を生成する。信号生成装置は、生成しようとする信号における各属性を表す属性ベクトルを入力し、属性ベクトルの値により、各属性を表す隠れ変数を変換する。信号生成装置は、生成された個体性を表す隠れ変数、及び変換結果を生成器の入力として、生成器としてのニューラルネットワークを用いて、画像データを生成する。上述の動作を含む信号生成方法を行うことにより、第１の実施の形態に係る信号生成装置は、画像の属性を制御しつつ、多様な画像データを生成することができる。例えば、メガネに関する属性だけを変えたい場合は、信号生成部への入力において、個体性を表す隠れ変数ｚｉを固定して、属性を多次元で表す隠れ変数ｚａの各次元をインタラクティブに変更すればよい。属性を維持したまま個体性だけを変えたい場合は、信号生成部の入力において、各属性を表す隠れ変数ｚａを固定して、個体性を表す隠れ変数ｚｉを変更すればよい。
【００５６】
本発明の第１の実施の形態に係る信号生成装置は、画像データにおける個体性を表す隠れ変数、及び各属性を表す隠れ変数を生成する。信号生成装置は、入力された学習データに含まれる真の画像データと、生成された個体性を表す隠れ変数、及び各属性を表す隠れ変数とに基づいて、画像を生成する生成器としてのニューラルネットワークと、生成された画像データが、属性ベクトルの下での真の画像データと同一の分布に従うか否かを識別する識別器としてのニューラルネットワークとを、互いに競合する最適化条件に従って学習させる。上述の動作を含む信号生成学習方法を行うことにより、信号生成装置は、画像の属性を制御しつつ、多様な画像データを生成することができるニューラルネットワークを学習することができる。
【００５７】
信号生成学習装置は、属性毎に、複数の隠れ変数、またはより詳細な分布に従う隠れ変数を有するため、属性の多様性を表現することができる。
【００５８】
上記の実施の形態において、学習部３０が、互いに競合する最適化条件に従って、生成器２としてのニューラルネットワークＧと、識別器３としてのニューラルネットワークＤとを学習する場合を例に説明したが、これに限定されるものではない。例えば、各隠れ変数が独立なものを表現するように制約を更に設けてもよい。具体的には、式（７）に示す、隠れ変数ｚａ’と、隠れ変数ｚａ’から生成された画像データとの相関（情報量）が大きくなるように制約を更に設ける。
【００５９】
【数７】
2018203550.tif 000009
【００６０】
式（７）において、Ｉ（ｚａ’；Ｇ（ｚｉ，ｚａ，ｙ）｜ｙ）は、属性ベクトルｙの下において生成される画像Ｇ（ｚｉ，ｚａ，ｙ）と、各属性を表す隠れ変数ｚａ’との相互情報量を表す。Ｈ（ｚａ’｜ｙ）、Ｈ（ｚａ’｜Ｇ（ｚｉ，ｚａ，ｙ），ｙ）は、条件付きエントロピーを表す。Ｅは期待値を表す。ＤＫＬは、ＫＬ（Kullback-Leibler）ダイバージェンスを表す。Ｐ（ｚａ’｜ｘ，ｙ）は学習データに含まれる真の画像データｘ及び属性ベクトルｙが与えられたときの各属性を示す隠れ変数ｚａ’の分布を表す。＾ｚａ’（＾はｚａの上に付される）は、Ｐ（ｚａ’｜ｘ，ｙ）の分布に従って得られた隠れ変数である。
Ｐ（ｚａ’｜ｘ，ｙ）は未知であるため、上記の情報量Ｉを直接求めることは困難である。そのため、上記のように近似分布Ｑ（ｚａ’｜ｘ，ｙ）を導入する。学習部３０は、変分法を使い、情報量Ｉの下限を最大化するように、近似分布Ｑ（ｚａ’｜ｘ，ｙ）を推定するニューラルネットワークＱを学習すると共に、互いに競合する最適化条件の最適化を行う。これにより、属性「メガネ」に対する複数の隠れ変数が隠れ変数ｚａ１と隠れ変数ｚａ２とを含み、かつ、属性「メガネ」に対する隠れ変数ｚａ１がサングラスを表す場合に、隠れ変数ｚａ２がサングラス以外のメガネを表現するようになる。
【００６１】
＜本発明の第２の実施の形態に係る概要＞
本発明の第２の実施の形態に係る信号生成装置の構成について説明する。第２の実施の形態に係る信号生成装置は、第１の実施の形態に係る信号生成装置と同様であるため、同一の符号を付して説明を省略する。
【００６２】
第２の実施の形態では、各属性を表す隠れ変数が、階層構造になっている点が、第１の実施の形態と異なっている。
【００６３】
第２の実施の形態では、信号生成装置１００は、属性に対して階層的な制御を行う。この制御を実現するために、図６に示すように、各属性を表す隠れ変数が、２階層以上の階層的な隠れ変数であって、階層的に変換される構造を学習部３０が有する。１層目の隠れ変数ｃ１は１層目の各属性を表す隠れ変数であり、第１の実施の形態における属性ベクトルｙに対応している。隠れ変数は、例えば属性の有無や正負を表すが、特にこれらに限定されない。
【００６４】
２層目の隠れ変数ｃ２は、１層目の隠れ変数ｃ１の値により変換され、変換結果ｃ２’が得られる。３層目の隠れ変数ｃ３は、２層目の隠れ変数ｃ２の変換結果ｃ２’の値により変換され、変換結果ｃ３’が得られる。信号生成装置１００は、３層目において、個体性を表す隠れ変数ｚ３と、各属性を表す隠れ変数としての変換結果ｃ３’とを生成器の入力とし、生成器としてのニューラルネットワークＧ３により、画像データを生成する。同様に、信号生成装置１００は、１層目、２層目において、生成器としてのニューラルネットワークＧ３により、画像データをそれぞれ生成する。
【００６５】
ニューラルネットワークの学習では、図７に示すように、１層目の隠れ変数ｃ１及び個体性を表す隠れ変数ｚ１を入力とし、画像データを生成するニューラルネットワークＧ１、識別器としてのニューラルネットワークＤ１、及び、隠れ変数ｃ１の分布を推定するニューラルネットワークＱ１の学習が行われる。２層目の隠れ変数の変換結果ｃ２’及び個体性を表す隠れ変数ｚ２を入力とし、画像データを生成するニューラルネットワークＧ２、識別器としてのニューラルネットワークＤ２、及び、隠れ変数ｃ２’の分布を推定するニューラルネットワークＱ２の学習が行われる。３層目の隠れ変数の変換結果ｃ３’及び個体性を表す隠れ変数ｚ３を入力とし、画像データを生成するニューラルネットワークＧ３、識別器としてのニューラルネットワークＤ３、及び、隠れ変数ｃ３’の分布を推定するニューラルネットワークＱ３の学習が行われる。各層における学習は順次行われる。図７におけるＰ１、Ｐ２、Ｐ３は、識別器としてのニューラルネットワークＤ１、Ｄ２、Ｄ３による識別結果をそれぞれ表す。
【００６６】
上述のように、信号生成装置１００は、１層目の隠れ変数に対応する各ニューラルネットワークを最初に学習し、その学習結果をもとに一層深い層の隠れ変数に対応するニューラルネットワークを学習することを再帰的に行って、一階層ずつ、各ニューラルネットワークを学習する。階層的な学習により、浅い階層において、抽象的な概念が最初に獲得され、階層が深くなるに従って、徐々に属性の多様性を詳細化することができる。
【００６７】
＜本発明の第２の実施の形態に係る信号生成装置の構成＞
本発明の第２の実施の形態に係る信号生成装置１００の入力部１０は、学習データとして、複数の真の画像データｘを受け付ける。
【００６８】
学習用変数生成部２８は、あるデータ分布から個体性を表す隠れ変数ｚｉ（ｚ１、ｚ２、ｚ３）及び各階層における各属性を表す隠れ変数ｃ１、ｃ２、ｃ３を生成する。各隠れ変数は、例えば各階層における属性の有無や正負を表すものが考えられるが、特にこれらに限定されない。学習用変数生成部２８は、乱数を用いて、隠れ変数ｚｉ（ｚ１、ｚ２、ｚ３）及び隠れ変数ｃ１、ｃ２、ｃ３を生成してもよい。
【００６９】
学習部３０は、生成器として動作するニューラルネットワークＧ１、Ｇ２、Ｇ３と、識別器として動作するニューラルネットワークＤ１、Ｄ２、Ｄ３と、隠れ変数ｃ１、ｃ２’、ｃ３’の分布を推定するニューラルネットワークＱ１、Ｑ２、Ｑ３とを有する。
生成器としてのニューラルネットワークＧ１、Ｇ２、Ｇ３は、真の画像データｘと、生成された個体性を表す隠れ変数ｚｉと、各階層における各属性を表す隠れ変数ｃ１、ｃ２、ｃ３とを入力とし、個体性を表す隠れ変数ｚｉ及び各属性を表す隠れ変数ｃ１、ｃ２、ｃ３から、画像データをそれぞれ生成する。識別器として動作するニューラルネットワークＤ１、Ｄ２、Ｄ３は、ニューラルネットワークＧ１、Ｇ２、Ｇ３により生成された画像データが真の画像データと同一の分布に従うか否かをそれぞれ識別する。ニューラルネットワークＱ１、Ｑ２、Ｑ３は、ニューラルネットワークＧ１、Ｇ２、Ｇ３により生成される画像データについての各属性を示す隠れ変数ｃ１、ｃ２’、ｃ３’に対する分布Ｐ（ｃ１｜ｘ）、Ｐ（ｃ２’｜ｘ，ｃ１）、Ｐ（ｃ３’｜ｘ，ｃ１，ｃ２’）の近似分布をそれぞれ推定する。ニューラルネットワークＱ１、Ｑ２、Ｑ３は、推定した近似分布に基づいて、各属性を表す隠れ変数ｃ１、ｃ２’、ｃ３’をそれぞれ推定する。
生成器、識別器として動作する各ニューラルネットワークＧ１、Ｇ２、Ｇ３、Ｄ１、Ｄ２、Ｄ３は、入力部１０に入力された複数の学習データに基づいて、互いに競合する最適化条件に従い学習する。同時に、ニューラルネットワークＱ１、Ｑ２、Ｑ３は、ニューラルネットワークＧ１、Ｇ２、Ｇ３により生成された画像データの情報量の下限を最大化するように学習する。学習部３０は、各階層のニューラルネットワークに対して学習を再帰的に繰り返し行う。学習部３０における各ニューラルネットワークに、例えばＣＮＮが用いられてもよい。
【００７０】
具体的には、学習部３０は、１層目に対して、入力された学習データに含まれる真の画像データｘと、生成された個体性を表す隠れ変数ｚ１と、生成された１層目の各属性を表す隠れ変数ｃ１とを入力とする。
【００７１】
学習部３０は、生成された個体性を表す隠れ変数ｚ１と、１層目の各属性を表す隠れ変数ｃ１とをニューラルネットワークＧ１の入力とし、生成器としてのニューラルネットワークＧ１を用いて、画像データを生成する。
【００７２】
生成器としてのニューラルネットワークＧ１の学習において、学習部３０は、生成された画像データを真の画像データと同一の分布に従うと識別器が識別するように、ニューラルネットワークＧ１のパラメータを更新する。すなわち、生成される画像を真の画像データであると識別器としてのニューラルネットワークＤ１が識別するように、ニューラルネットワークＧ１のパラメータが更新される。
【００７３】
識別器としてのニューラルネットワークＤ１の学習において、学習部３０は、生成器により生成された画像データを真の画像データと同一の分布に従わないと識別器が識別し、かつ、真の画像データｘに含まれる各画像データを真の画像データと同一の分布に従うと識別器が識別するように、識別器としてのニューラルネットワークＤ１のパラメータを更新する。
【００７４】
ニューラルネットワークＱ１は、生成器としてのニューラルネットワークＧ１により生成された画像データについての１層目の各属性を表す隠れ変数ｃ１を予測する。ニューラルネットワークＱ１の学習において、学習部３０は、隠れ変数ｃ１と、隠れ変数ｃ１から生成された画像データとの相関（情報量）の下限が最大化するように、ニューラルネットワークＱ１のパラメータを更新する。
【００７５】
学習部３０は、２層目に対して、入力された学習データに含まれる真の画像データｘと、ニューラルネットワークＱ１によって予測された１層目の各属性を表す隠れ変数ｃ１と、生成された個体性を表す隠れ変数ｚ２と、生成された２層目の各属性を表す隠れ変数ｃ２とを入力とする。このとき、２層目の各属性を表す隠れ変数ｃ２’は、２層目の各属性を表す隠れ変数ｃ２を、１層目の各属性を表す隠れ変数ｃ１の値により変換することにより得られる。変換の一例としては、２層目の各属性を表す隠れ変数ｃ２と１層目の各属性を表す隠れ変数ｃ１とを掛け合わせることが考えられる。
【００７６】
学習部３０は、生成された個体性を表す隠れ変数ｚ２と、生成された２層目の各属性を表す隠れ変数ｃ２の変換結果ｃ２’とをニューラルネットワークＧ２の入力とし、生成器としてのニューラルネットワークＧ２を用いて、画像データを生成する。
【００７７】
生成器としてのニューラルネットワークＧ２の学習において、学習部３０は、生成された画像データを１層目の各属性を表す隠れ変数ｃ１の下で真の画像データと同一の分布に従うと識別器が識別するように、生成器としてのニューラルネットワークＧ２のパラメータを更新する。すなわち、生成される画像を真の画像データであると識別器としてのニューラルネットワークＤ２が識別するように、ニューラルネットワークＧ２のパラメータが更新される。
【００７８】
識別器としてのニューラルネットワークＤ２の学習において、学習部３０は、生成器により生成された画像データを１層目の各属性を表す隠れ変数ｃ１の下で真の画像データと同一の分布に従わないと識別器が識別し、かつ、真の画像データｘに含まれる各画像データを真の画像データと同一の分布に従うと識別器が識別するように、識別器としてのニューラルネットワークＤ２のパラメータを更新する。
【００７９】
ニューラルネットワークＱ２は、１層目の各属性を表す隠れ変数ｃ１の下で、ニューラルネットワークＧ２により生成された画像データについての２層目の各属性を表す隠れ変数ｃ２’を予測する。ニューラルネットワークＱ２の学習において、学習部３０は、隠れ変数ｃ２’と、隠れ変数ｃ２’から生成された画像データとの相関（情報量）の下限が最大化するように、ニューラルネットワークＱ２のパラメータを更新する。
【００８０】
学習部３０は、３層目に対して、入力された学習データに含まれる真の画像データｘと、ニューラルネットワークＱ２によって予測された２層目の各属性を表す隠れ変数ｃ２’と、生成された個体性を表す隠れ変数ｚ３と、生成された３層目の各属性を表す隠れ変数ｃ３とを入力とする。このとき、３層目の各属性を表す隠れ変数ｃ３’は、３層目の各属性を表す隠れ変数ｃ３を、２層目の各属性を表す隠れ変数ｃ２の変換結果ｃ２’の値により変換することにより得られる。
【００８１】
学習部３０は、生成された個体性を表す隠れ変数ｚ３と、生成された３層目の各属性を表す隠れ変数ｃ３の変換結果ｃ３’とをニューラルネットワークＧ３の入力とし、生成器としてのニューラルネットワークＧ３を用いて、画像データを生成する。
【００８２】
生成器としてのニューラルネットワークＧ３の学習において、学習部３０は、生成された画像データを２層目の各属性を表す隠れ変数ｃ２の変換結果ｃ２’の下で真の画像データと同一の分布に従うと識別器が識別するように、生成器としてのニューラルネットワークＧ３のパラメータを更新する。すなわち、生成される画像を真の画像データであると識別器としてのニューラルネットワークＤ３が識別するように、ニューラルネットワークＧ３のパラメータが更新される。
【００８３】
識別器としてのニューラルネットワークＤ３の学習において、学習部３０は、生成器により生成された画像データを２層目の各属性を表す隠れ変数ｃ２の変換結果ｃ２’の下で真の画像データと同一の分布に従わないと識別器が識別し、かつ、真の画像データｘに含まれる各画像データを真の画像データと同一の分布に従うと識別器が識別するように、識別器としてのニューラルネットワークＤ３のパラメータを更新する。
【００８４】
ニューラルネットワークＱ３は、２層目の各属性を表す隠れ変数ｃ２の変換結果ｃ２’の下で、ニューラルネットワークＧ３により生成された画像データについての３層目の各属性を表す隠れ変数ｃ３’を予測する。ニューラルネットワークＱ３の学習において、学習部３０は、隠れ変数ｃ３’と、隠れ変数ｃ３’から生成された画像データとの相関（情報量）の下限が最大化するように、ニューラルネットワークＱ３のパラメータを更新する。
【００８５】
学習部３０は、上記の処理を、学習データ毎に行って、各種のニューラルネットワークのパラメータを繰り返し更新する。
【００８６】
最終的に得られた、生成器としてのニューラルネットワークＧ１、Ｇ２、Ｇ３と、識別器としてのニューラルネットワークＤ１、Ｄ２、Ｄ３と、ニューラルネットワークＱ１、Ｑ２、Ｑ３とは、ニューラルネットワーク記憶部４０に記憶される。
【００８７】
信号生成用変数生成部５２は、あるデータ分布から個体性を表す隠れ変数ｚｉ（ｚ１、ｚ２、ｚ３）及び２層目以降の各階層における各属性を表す隠れ変数ｃ２、ｃ３を生成する。信号生成用変数生成部５２は、乱数を用いて、隠れ変数ｚｉ（ｚ１、ｚ２、ｚ３）及び隠れ変数ｃ２、ｃ３を生成してもよい。
【００８８】
信号生成部５６は、各階層に対し、信号生成用変数生成部５２によって生成された個体性を表す隠れ変数ｚｉと、当該階層の各属性を表す隠れ変数又は当該階層の各属性を表す隠れ変数の変換結果とを入力する。信号生成部５６は、ニューラルネットワーク記憶部４０に記憶された、生成器としてのニューラルネットワークを用いて、画像データを生成し、生成した画像データを出力部９０により出力する。
【００８９】
具体的には、信号生成部５６は、ニューラルネットワーク記憶部４０に記憶された、生成器としてのニューラルネットワークＧ１を用いる。信号生成部５６は、１層目に対し、図８に示すように、信号生成用変数生成部５２によって生成された個体性を表す隠れ変数ｚ１と１層目の各属性を表す隠れ変数ｃ１とを入力し、ニューラルネットワークＧ１を用いて、画像データを生成する。信号生成部５６は、生成した画像データを出力部９０により出力する。
【００９０】
信号生成部５６は、ニューラルネットワーク記憶部４０に記憶された、生成器としてのニューラルネットワークＧ２を用いる。信号生成部５６は、２層目に対し、図９に示すように、信号生成用変数生成部５２によって生成された個体性を表す隠れ変数ｚ２と、２層目の各属性を表す隠れ変数ｃ２の変換結果ｃ２’とを入力し、ニューラルネットワークＧ２を用いて、画像データを生成する。信号生成部５６は、生成した画像データを出力部９０により出力する。２層目の各属性を表す隠れ変数ｃ２’は、１層目の各属性を表す隠れ変数ｃ１の値により、生成された２層目の各属性を表す隠れ変数ｃ２を変換することにより得られる。２層目の各属性を表す隠れ変数ｃ２は、属性毎に複数の隠れ変数を有しているため、１層目の隠れ変数ｃ１は、隠れ変数ｃ１が表す属性に対応する複数の隠れ変数の全てに掛け合わされる。
【００９１】
信号生成部５６は、ニューラルネットワーク記憶部４０に記憶された、生成器としてのニューラルネットワークＧ３を用いる。信号生成部５６は、３層目に対し、図６に示すように、信号生成用変数生成部５２によって生成された個体性を表す隠れ変数ｚ３と、３層目の各属性を表す隠れ変数ｃ３の変換結果ｃ３’とを入力し、ニューラルネットワークＧ３を用いて、画像データを生成する。信号生成部５６は、生成した画像データを出力部９０により出力する。３層目の各属性を表す隠れ変数ｃ３’は、生成された３層目の各属性を表す隠れ変数ｃ３を、２層目の各属性を表す隠れ変数ｃ２の変換結果ｃ２’の値により変換することにより得られる。
【００９２】
なお、４層目以降が存在する場合には、学習部３０は、１層目の各属性を表す隠れ変数ｃ１の値により、２層目の各属性を表す隠れ変数ｃ２を変換する。学習部３０は、２層目以降の各階層について順番に、当該階層の複数の隠れ変数の変換結果の値により、次の階層の複数の隠れ変数を変換することを繰り返す。学習部３０は、生成された個体性を表す隠れ変数ｚｉ、及び当該階層について得られた変換結果を、生成器としてのニューラルネットワークに入力して、画像データを生成すればよい。
【００９３】
なお、第２の実施の形態に係る信号生成装置の他の構成及び作用については、第１の実施の形態と同様であるため、説明を省略する。
【００９４】
以上説明したように、本発明の第２の実施の形態に係る信号生成装置は、画像データにおける個体性を表す隠れ変数、及び２層目以降の各属性を表す隠れ変数を生成する。信号生成装置は、生成しようとする信号における各属性の有無又は正負を表す、１層目の各属性を表す隠れ変数の値により、２層目の各属性を表す隠れ変数を変換する。信号生成装置は、３層目以降の各属性を表す隠れ変数も同様に変換する。信号生成装置は、各階層に対し、生成された個体性を表す隠れ変数と、当該階層の各属性を表す隠れ変数、又は当該階層の各属性を表す隠れ変数の変換結果とを、生成器としてのニューラルネットワークに入力して、画像データを生成する。上述の動作を含む信号生成方法を行うことにより、第２の実施の形態に係る信号生成装置は、画像の属性を制御しつつ、多様な画像データを生成することができる。
【００９５】
本発明の第２の実施の形態に係る信号生成装置は、画像データにおける個体性を表す隠れ変数、及び２層目以降の各属性を表す隠れ変数を生成する。信号生成装置は、入力された学習データに含まれる真の画像データと、予測された、生成しようとする画像データにおける１層目の各属性を表す隠れ変数と、生成された個体性を表す隠れ変数、及び２層目以降の各属性を表す隠れ変数とに基づいて、各階層に対し、画像を生成する生成器としてのニューラルネットワークと、生成された画像データが、一つ浅い階層の各属性を表す隠れ変数（あるいは変換結果）の下での真の画像データと同一の分布に従うか否かを識別する識別器としてのニューラルネットワークとを、互いに競合する最適化条件に従って学習することを再帰的に繰り返す。上述の動作を含む信号学習方法を行うことにより、信号生成装置は、画像の属性を制御しつつ、多様な画像データを生成することができるニューラルネットワークを学習することができる。
【００９６】
例えば、第２の実施の形態に係る信号生成装置は、図１０Ａ及び図１０Ｂに示すように、手書きの数字を表す多様な画像データを生成することができる。第２の実施の形態では、学習データに含まれる画像データから、１層目の各属性を表す隠れ変数ｃ１を予測して、学習に用いる場合を例に説明したが、これに限定されるものではない。例えば、学習する際に、１層目の各属性を表す隠れ変数ｃ１を学習データとして入力するようにしてもよい。図１０Ａ及び図１０Ｂは、隠れ変数ｃ１を学習データとして入力した場合に生成された画像データの例を示す。具体的には、文字の種類（１，２，３、…）に関する情報を学習データとして与えている。図１０Ａは、属性「０」を有とする１層目の各属性を表す隠れ変数を入力した場合に、１層目〜４層目それぞれの生成器としてのニューラルネットワークにより生成された画像データを示している。また、図１０Ｂは、属性「５」を有とする１層目の各属性を表す隠れ変数を入力した場合に、１層目〜４層目それぞれの生成器としてのニューラルネットワークにより生成された画像データを示している。図１０Ａ及び図１０Ｂに示した例では、階層毎に、個体性を表す隠れ変数が異なっている。
【００９７】
第２の実施の形態に係る信号生成装置は、図１１Ａ、図１１Ｂ及び図１１Ｃに示すように、顔画像を表す多様な画像データを生成することができる。図１１Ａ、図１１Ｂ及び図１１Ｃに示す例でも、隠れ変数ｃ１を学習データとして入力している。具体的には、属性の有無に関する情報を学習データとして与えている。図１１Ａは、属性「メガネ」を有とする１層目の各属性を表す隠れ変数を入力した場合に、１層目〜４層目それぞれの生成器としてのニューラルネットワークにより生成された画像データを示している。図１１Ｂは、属性「前髪」を有とする１層目の各属性を表す隠れ変数を入力した場合に、１層目〜４層目それぞれの生成器としてのニューラルネットワークにより生成された画像データを示している。図１１Ｃは、属性「笑顔」を有とする１層目の各属性を表す隠れ変数を入力した場合に、１層目〜４層目それぞれの生成器としてのニューラルネットワークにより生成された画像データを示している。図１１Ａ、図１１Ｂ及び図１１Ｃに示した例では、階層毎に、個体性を表す隠れ変数が異なっている。
【００９８】
図１０Ａ、図１０Ｂ、図１１Ａ、図１１Ｂ及び図１１Ｃに示した例のように、１層目、２層目、３層目、４層目の各属性を表す隠れ変数ｃ１、ｃ２、ｃ３、ｃ４の値を変えることで、信号生成装置は、画像の属性について多次元かつ階層的に制御して画像を生成可能である。
【００９９】
なお、本発明は、上述した実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【０１００】
例えば、上述した実施の形態では、ニューラルネットワークの学習を行う学習部３０を含む信号生成装置１００として構成していたが、これに限定されるものではない。例えば、学習用変数生成部２８及び学習部３０を含む信号生成学習装置と、信号生成用変数生成部５２及び信号生成部５６を含む信号生成装置１００とのそれぞれに分けて構成してもよい。
【０１０１】
上述した実施の形態では、入力される信号が、顔画像データや文字画像データである場合を例に説明した。しかし、入力される信号は、これに限定されるものではなく、これら以外の画像データであってもよい。例えば、入力される信号が、動物画像データ（例えば、鳥画像データ）であってもよい。この場合には、属性ベクトルｙが、色の有無を表し、属性を表す隠れ変数ｚａが、色の多様性を表す。例えば、属性ベクトルｙが赤色の有無を表し、隠れ変数ｚａが鳥のいずれの部位が赤いか又は赤の色合いを表す。あるいは、属性ベクトルｙが、鳥の部位の形状を表し、属性を表す隠れ変数ｚａが、鳥の部位の多様性を表す。例えば、属性ベクトルｙが嘴の先端が丸いか、尖っているかを表し、どのように丸い嘴であるかを隠れ変数ｚａが表す。
【０１０２】
入力される信号が、背景画像データであってもよい。この場合には、属性ベクトルｙが、背景のタイプを表し、属性を表す隠れ変数ｚａが、背景のタイプの多様性を表す。例えば、属性ベクトルｙが海、山、川、家又は道路の有無を表し、どのような海、山、川、家又は道路であるかを隠れ変数ｚａが表す。
【０１０３】
入力される信号が、家画像データであってもよい。この場合には、属性ベクトルｙが、色の有無を表し、属性を表す隠れ変数ｚａが、色の多様性を表す。例えば、属性ベクトルｙが赤の有無を表し、隠れ変数ｚａが家のいずれの部位が赤いか又は赤の色合いを表す。
【０１０４】
入力される信号が、建物画像データであってもよい。この場合には、属性ベクトルｙが、建物の種類それぞれの有無を表し、属性を表す隠れ変数ｚａが、建物の多様性を表す。例えば、属性ベクトルｙがビル、戸建及びタワーの有無を表し、どのような形状の建物であるかを隠れ変数ｚａが表す。
あるいは、属性ベクトルｙが、建物のパーツの形状の有無を表し、属性を表す隠れ変数ｚａが、パーツの多様性を表す。例えば、属性ベクトルｙが平らな屋根、丸い屋根及び三角形状の屋根の有無を表し、屋根がどのように平らであるかを隠れ変数ｚａが表す。
【０１０５】
上述した実施の形態では、入力される信号が、画像データである場合を例に説明した。しかし、入力される信号は、これに限定されるものではなく、画像データ以外の信号であってもよい。例えば、入力される信号が、音声信号（あるいは楽曲信号）、テキストデータ、動画データであってもよい。
【０１０６】
入力される信号が、音声信号である場合には、信号生成装置は、個体性を表す隠れ変数と、各属性を表す隠れ変数とを生成し、生成器としてのニューラルネットワークが音声信号を生成するようにしてもよい。各属性を表す隠れ変数は、音声信号の発生源である人に関する属性や、音声信号を構成する要素に関する属性を表してもよい。例えば、音声信号の発生源である人に関する属性は、魅力、感情及び方言などの有無、人が男性であるか女性であるか、人が若いか年寄りかを表す。音声信号を構成する要素に関する属性は、スピーチの速度、声の高さなどを表す。これにより、信号生成装置は、音声の属性を制御しつつ、多様な音声信号を生成することができる。
【０１０７】
入力される信号が、テキストデータである場合には、信号生成装置は、個体性を表す隠れ変数と、各属性を表す隠れ変数とを生成し、生成器としてのニューラルネットワークがテキストデータを生成するようにしてもよい。各属性を表す隠れ変数は、テキストデータの発生源である人に関する属性や、テキストデータを構成する要素に関する属性を表してもよい。例えば、人に関する属性は、丁寧度、人が男性であるか女性であるかなどを表す。要素に関する属性は、テキストが抽象的であるか具体的であるか、テキストが感情的であるか否か、テキストのジャンル、テキストが口語的であるか文語的であるか、テキストがフォーマルであるか否かを表す。これにより、信号生成装置は、テキストの属性を制御しつつ、多様なテキストデータを生成することができる。
【０１０８】
入力される信号が、動画データである場合には、信号生成装置は、個体性を表す隠れ変数と、各属性を表す隠れ変数とを生成し、生成器としてのニューラルネットワークが動画データを生成するようにしてもよい。各属性を表す隠れ変数は、動画データを構成する要素に関する属性を表す。例えば、要素に関する属性は、コミカル度、動画が古いか新しいか、動画が実写であるかアニメであるか、感情の有無、動画のジャンルなどを表す。これにより、信号生成装置は、動画の属性を制御しつつ、多様な動画データを生成することができる。
【０１０９】
入力される信号が、楽曲信号（歌）である場合には、信号生成装置は、個体性を表す隠れ変数と、各属性を表す隠れ変数とを生成し、生成器としてのニューラルネットワークが楽曲信号を生成するようにしてもよい。例えば、個体性を表す隠れ変数は音色を表し、各属性を表す隠れ変数は曲調を表す。曲調には、ラップ調、オーケストラ調などが含まれる。これにより、信号生成装置は、楽曲信号の属性を制御しつつ、多様な楽曲信号を生成することができる。
【０１１０】
上述した実施の形態では、生成器、識別器、近似分布を推定するニューラルネットワークとして、ＣＮＮを用いる場合を例に説明したが、これに限定されるものではなく、他のニューラルネットワーク構造を用いてもよい。例えば、時系列性を考慮したモデルであるRecurrent Neural Network（ＲＮＮ）やFully Connectedなどを用いてもよい。ＲＮＮは、Long Short-Term Memory （ＬＳＴＭ）を用いて構成してもよい。
【０１１１】
第２の実施の形態では、学習データに含まれる画像データから、１層目の各属性を表す隠れ変数ｃ１を予測して、学習に用いる場合を例に説明したが、これに限定されない。学習する際に、１層目の各属性を表す隠れ変数ｃ１を学習データとして学習部３０へ入力するようにしてもよい。
【０１１２】
１層目の各属性を表す隠れ変数ｃ１だけでなく、任意の階層の各属性を表す隠れ変数も学習データとして学習部３０へ入力して、より深い階層を学習するようにしてもよい。
【０１１３】
第１の実施の形態では、学習データに含まれる全ての画像データｘについて、属性ベクトルｙが付与されている場合を例に説明したが、これに限定されない。学習データに含まれる一部の画像データｘについてだけ、属性ベクトルｙが付与されていてもよい。あるいは、学習データが属性ベクトルｙを含まずともよい。この場合、信号生成装置は、第２の実施の形態の信号生成装置が属性ベクトルｙに対応する各属性を表す隠れ変数ｃ１を推定するのと同様に、属性ベクトルｙを推定してもよい。信号生成装置は、推定した属性ベクトルｙに基づいて、各ニューラルネットワークを学習してもよい。
第２の実施の形態において、任意の階層の各属性を表す隠れ変数を学習データとして入力するときに、学習データに含まれる画像データｘの一部に対して隠れ変数を付与するようにしてもよい。
【０１１４】
第２の実施の形態の信号生成装置が、１つ前の層の各属性を表す隠れ変数ｃｉ−１’の値により、隠れ変数ｃｉを変換して隠れ変数ｃｉ’を得る場合について説明した。しかし、信号生成装置は、これに限定されることなく、隠れ変数ｃｉ’に対応する層より浅い層の隠れ変数ｃｊ’（ｊ＝１，２，…，ｉ−１）のうち少なくとも１つにより、隠れ変数ｃｉを変換して隠れ変数ｃｉ’を得てもよい。例えば、信号生成装置は、隠れ変数ｃｉ’を得る際に、隠れ変数ｃｉ’に対応する層より２つ浅い層の隠れ変数ｃｉ−２’により、隠れ変数ｃｉを変換して隠れ変数ｃｉ’を得てもよい。更に、信号生成装置は、隠れ変数ｃｉ’に対応する層より浅い層の隠れ変数ｃｊ’（ｊ＝１，２，…，ｉ−１）と隠れ変数ｃｉ’との予め定められた関係に基づいて、隠れ変数ｃｉ’を得てもよい。
【０１１５】
第１の実施の形態の信号生成装置における生成器２において、隠れ変数ｚａを属性ベクトルｙで変換する処理をニューラルネットワークが行ってもよい。学習部は、隠れ変数ｚａを変換するニューラルネットワークの学習を、生成器としてのニューラルネットワークＧの学習とともに行ってもよい。第２の実施の形態の信号生成装置における生成器２において、隠れ変数ｃｉを隠れ変数ｃｉ−１’で変換して隠れ変数ｃｉ’を得る処理をニューラルネットワークが行ってもよい。学習部は、隠れ変数ｃｉ’を得るニューラルネットワークの学習を、生成器としてのニューラルネットワークＧｉの学習とともに行ってもよい。
【０１１６】
第１の実施の形態における信号生成装置が、カテゴリ分布又は一様分布に基づいた乱数を用いて隠れ変数ｚｉ、ｚａを生成する場合について説明した。しかし、隠れ変数ｚｉ、ｚａを生成する方法は、これに限定されない。例えば、信号生成装置は、ガウシアン分布、ディリクレ分布などを含む任意の分布に基づいて、隠れ変数ｚｉ、ｚａを生成してもよい。第２の実施の形態における信号生成装置は、同様に、ガウシアン分布、ディリクレ分布などを含む任意の分布に基づいて、隠れ変数ｚ１，ｚ２，ｚ３，ｃ１，ｃ２，ｃ３を生成してもよい。あるいは、第１及び第２の実施の形態における信号生成装置は、隠れ変数それぞれを生成するニューラルネットワークを備えてもよい。
【０１１７】
第１及び第２の実施の形態における信号生成装置が、生成器としてのニューラルネットワークＧと識別器としてのニューラルネットワークＤとの学習における最適化条件として式（５）で表される目的関数を用いる場合について説明した。しかし、生成器としてのニューラルネットワークＧと識別器としてのニューラルネットワークＤとの学習における最適化条件を表す目的関数は、これに限定されない。例えば、信号生成装置は、Least Squares ＧＡＮ、Wasserstein ＧＡＮなどを含む任意の拡張モデルを用いてもよい。
【０１１８】
第１及び第２の実施の形態における識別器としてのニューラルネットワークＤが、生成器により生成される画像データが属性ベクトルの下で真の画像データと同一の分布に従うか否かを識別する場合について説明した。しかし、識別器としてのニューラルネットワークＤが識別する対象は、これに限定されない。例えば、識別器としてのニューラルネットワークＤは、生成される画像データが真の画像データと同一の分布に従うか否かを識別してもよい。この場合、生成器としてのニューラルネットワークＧと、識別器としてのニューラルネットワークＤとの学習における目的関数に、画像データが属性ベクトルを含むか否かの識別結果を加えてもよい。画像データが属性ベクトルを含むとは、属性ベクトルが示す属性（特徴）が画像データに含まれていることである。画像データが属性ベクトルを含むか否かの識別は、例えば、Ｐ（ｃ１｜ｘ）及びＰ（ｃ｜ｘ，ｐ）の近似分布を推定するニューラルネットワークＱｌ（ｌ＝１，２，…，Ｌ）が行ってもよい。
【０１１９】
画像データが属性ベクトルを含むか否かの識別結果を、最適化条件としての目的関数に加える場合、例えば、目的関数は式（８）で表される。式（８）で表される目的関数を用いる学習では、生成器としてのニューラルネットワークＧと、識別器としてのニューラルネットワークＤと、Ｐ（ｃ１｜ｘ）及びＰ（ｃ｜ｘ，ｐ）近似分布を推定するニューラルネットワークＱｌ（ｌ＝１，２，…，Ｌ）との学習が行われる。
【数８】
2018203550.tif 000010
【０１２０】
式（８）における、λ１，…，λＬは、トレードオフ・パラメータである。ＬＧＡＮ（Ｄ，Ｇ）は式（９−１）で表される。ＬＭＩ／ＡＣ（Ｇ，Ｑ１）は、式（９−２）で表されるＬＭＩ（Ｇ，Ｑ１）と、式（９−３）で表されるＬＡＣ（Ｇ，Ｑ１）との何れかを用いることを表す。学習データに属性ベクトルが含まれない場合、ＬＭＩ（Ｇ，Ｑ１）が用いられる。学習データに属性ベクトルが含まれる場合、ＬＡＣ（Ｇ，Ｑ１）が用いられる。ＬＨＣＭＩ（Ｇ，Ｑｌ）は、式（９−４）で表される。
【数９】
2018203550.tif 000011
【０１２１】
式（９−１）〜式（９−４）におけるｘ〜Ｐｄａｔａ（ｘ）は、学習データから真の画像データｘをサンプリングすることを表す。ｚ〜Ｐ（ｚ）は、隠れ変数ｚ（ｚｉ，ｚａ）をあるデータ分布から生成することを表す。ｃ１〜Ｐ（ｃ１）は、１層目の属性ベクトルｃ１をあるデータ分布から生成することを表す。ｘ〜Ｇ（＾ｃＬ，ｚ）は、Ｌ階層における各属性を表す隠れ変数＾ｃＬと隠れ変数ｚ（ｚｉ，ｚａ）に基づいて、生成器としてのニューラルネットワークＧで画像データを生成することを表す。ｃ１，ｘ〜Ｐｄａｔａ（ｃ１，ｘ）は、学習データから真の画像データｘと画像データｘに対応する属性ベクトルｃ１とをサンプリングすることを表す。ｃ〜Ｐ（ｃ｜ｐ）は、Ｐ（ｃ｜ｐ）の分布に従って隠れ変数ｃをサンプリングすることを表す。式（９−４）におけるｃはｌ層目の各属性を表す隠れ変数であり、ｐは（ｌ−１）層目の各属性を表す隠れ変数である。
【０１２２】
第２の実施の形態の信号生成装置において、生成される画像データが真の画像データと同一の分布に従うか否かを識別器が識別する場合、学習部３０は、図７に示した３層のニューラルネットワークを有する構成に代えて、図１２に示す１層のニューラルネットワークを有する構成を備えてもよい。図１２に示す１層のニューラルネットワークの構成を学習部３０が備える場合、学習部３０は、生成器として動作するニューラルネットワークＧ３と、識別器として動作するニューラルネットワークＤ３と、各属性を表す隠れ変数ｃ１、ｃ２’、ｃ３’の分布を推定するニューラルネットワークＱ１、Ｑ２、Ｑ３とを有する。
各ニューラルネットワークの学習において、学習部３０は、学習対象となる１つのニューラルネットワーク以外の他のニューラルネットワークのパラメータを固定して、学習対象のニューラルネットワークのパラメータを更新する。学習部３０が有するニューラルネットワークそれぞれの学習は、第１及び第２の実施の形態において説明した学習と同様に、学習データ毎に繰り返し行われる。
ニューラルネットワークＱ１の学習を行う際、学習部３０は、予め定められた初期値を設定した隠れ変数ｃ２、ｃ３と、あるデータ分布から生成される隠れ変数ｚ３、ｃ１とに基づいて、ニューラルネットワークＱ１のパラメータを更新する。ニューラルネットワークＱ２の学習を行う際、学習部３０は、初期値を設定した隠れ変数ｃ３と、あるデータ分布から生成される隠れ変数ｚ３、ｃ１、ｃ２とに基づいて、ニューラルネットワークＱ２のパラメータを更新する。ニューラルネットワークＱ３の学習を行う際、学習部３０は、あるデータ分布から生成される隠れ変数ｚ３、ｃ１、ｃ２、ｃ３に基づいて、ニューラルネットワークＱ３のパラメータを更新する。
属性を表す隠れ変数ｃ２、ｃ３に設定する初期値は、例えば、隠れ変数ｃ２、ｃ３が取り得る値の期待値、平均値に基づいて決定される。あるいは、隠れ変数ｃ２、ｃ３に含まれる変数の数に基づいて初期値を決定してもよい。ニューラルネットワークＧ３、Ｄ３の学習は、第２の実施の形態において説明した学習と同様である。
【０１２３】
画像データが属性ベクトルを含むか否かの識別は、識別器としてのニューラルネットワークＤが行ってもよい。画像データが属性ベクトルを含むか否かの識別を識別器が行う場合、識別器は、入力される画像データに各属性が含まれるか否かを判定するニュールラルネットワークを更に含んでもよい。
【０１２４】
信号生成装置は、生成した画像データに対して、既知の画像処理技術を適用してもよい。例えば、信号生成装置は、生成した画像に対して超解像処理や画質の補正を行ってもよい。
【産業上の利用可能性】
【０１２５】
本発明は、生成される信号の属性を制御しつつ、多様な信号を生成することが要求される用途に適用できる。
【符号の説明】
【０１２６】
１０  入力部
２０  演算部
２８  学習用変数生成部
３０  学習部
４０  ニューラルネットワーク記憶部
５２  信号生成用変数生成部
５６  信号生成部
９０  出力部
１００  信号生成装置
【図１】
2018203550.tif 000012
【図２】
2018203550.tif 000013
【図３】
2018203550.tif 000014
【図４】
2018203550.tif 000015
【図５】
2018203550.tif 000016
【図６】
2018203550.tif 000017
【図７】
2018203550.tif 000018
【図８】
2018203550.tif 000019
【図９】
2018203550.tif 000020
【図１０Ａ】
2018203550.tif 000021
【図１０Ｂ】
2018203550.tif 000022
【図１１Ａ】
2018203550.tif 000023
【図１１Ｂ】
2018203550.tif 000024
【図１１Ｃ】
2018203550.tif 000025
【図１２】
2018203550.tif 000026
【手続補正書】
【提出日】令和1年9月20日(2019.9.20)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
信号における複数の特徴に対応する複数の隠れ変数を生成する変数生成部と、
生成しようとする信号における属性を表す属性ベクトルにより前記複数の隠れ変数の一部の隠れ変数を変換した属性を表す隠れ変数と、前記複数の隠れ変数のうち前記一部の隠れ変数以外の個体性を表す隠れ変数とを予め学習された少なくとも１つのニューラルネットワークに入力し、前記少なくとも１つのニューラルネットワークを用いて前記生成しようとする信号を生成する信号生成部と、
を含む信号生成装置。
【請求項２】
前記変数生成部は、前記信号における前記複数の特徴のうち前記個体性に対応する特徴を表す第１の隠れ変数と、前記第１の隠れ変数と独立する第２の隠れ変数であって前記信号における前記複数の特徴のうち前記属性に対応する特徴を表す第２の隠れ変数とを、前記複数の隠れ変数として生成し、
前記少なくとも１つのニューラルネットワークは、前記生成しようとする信号における前記属性を表す前記属性ベクトルにより前記第２の隠れ変数を変更した結果と、前記第１の隠れ変数とを入力として受け付け、前記生成しようとする信号を生成する、
請求項１記載の信号生成装置。
【請求項３】
前記少なくとも１つのニューラルネットワークは、生成器としての第１のニューラルネットワークと、判定器としての第２のニューラルネットワークとを含み、
前記第１のニューラルネットワークは、前記信号における前記複数の特徴のうち前記個体性に対応する特徴を表す第１の隠れ変数と、前記第１の隠れ変数とは独立した第２の隠れ変数であって前記信号における前記複数の特徴のうち各属性を表す第２の隠れ変数又は前記第２の隠れ変数に基づく隠れ変数を属性ベクトルにより変換した第３の隠れ変数と、に基づいて、信号を生成し、
前記第２のニューラルネットワークは、前記第１のニューラルネットワークにより生成される信号が、真の信号と同一の分布に従うか否かを識別し、
前記第１及び第２のニューラルネットワークは、互いに競合する最適化条件に従って学習した、
請求項１記載の信号生成装置。
【請求項４】
前記属性を表す隠れ変数は、前記属性に対して、複数の隠れ変数を有する請求項１から請求項３の何れか１項記載の信号生成装置。
【請求項５】
前記信号生成部は、前記生成しようとする信号を生成する複数の階層を有し、
前記信号生成部は、前記複数の階層それぞれに設けられたニューラルネットワークを前記少なくとも１つのニューラルネットワークとして有し、
前記複数の階層のうち１層目の属性を表す隠れ変数は、前記属性ベクトルであり、
前記複数の階層のうち２層目以降の属性を表す隠れ変数は、当該属性を表す隠れ変数に対応する層より浅い層の属性を表す隠れ変数に基づいて前記複数の隠れ変数のうち一部の隠れ変数を変換することにより得られ、
前記信号生成部は、前記複数の階層それぞれの属性を表す隠れ変数を、前記属性を表す変数の階層に対応する前記ニューラルネットワークに入力し、前記ニューラルネットワークそれぞれを用いて前記生成しようとする信号を生成する、
請求項１から請求項４の何れか１項記載の信号生成装置。
【請求項６】
前記変数生成部は、乱数により、前記複数の隠れ変数を生成する、
請求項１から請求項５の何れか１項記載の信号生成装置。
【請求項７】
信号における特徴を表す複数の隠れ変数を生成する変数生成部と、
真の信号を含む学習データと、前記複数の隠れ変数とに基づいて、信号を生成する生成器としての第１のニューラルネットワークと、前記生成器により生成される信号が前記真の信号と同一の分布に従うか否かを識別する識別器としての第２のニューラルネットワークとを互いに競合する最適化条件に従って学習させる学習部と、
を含む信号生成学習装置。
【請求項８】
前記変数生成部は、前記信号における前記特徴のうち個体性に対応する特徴を表す第１の隠れ変数と、前記第１の隠れ変数とは独立する第２の隠れ変数であって前記信号における前記特徴のうち属性に対応する特徴を表す第２の隠れ変数とを含む前記複数の隠れ変数を生成し、
前記学習データは、前記真の信号を含み、
前記学習部は、前記信号に対応する属性ベクトルにより前記第２の隠れ変数を変更した結果と前記第１の隠れ変数とを前記第１のニューラルネットワークに供給し、前記第１のニューラルネットワークにより生成される信号と前記真の信号とを前記第２のニューラルネットワークに供給して、前記第１及び第２のニューラルネットワークを互いに競合する前記最適化条件に従って学習させる、
請求項７記載の信号生成学習装置。
【請求項９】
変数生成部が、信号における複数の特徴に対応する複数の隠れ変数を生成し、
学習部が、生成しようとする信号における属性を表す属性ベクトルにより前記複数の隠れ変数の一部の隠れ変数を変換した属性を表す隠れ変数と、前記複数の隠れ変数のうち前記一部の隠れ変数以外の個体性を表す隠れ変数とを予め学習された少なくとも１つのニューラルネットワークに入力し、前記少なくとも１つのニューラルネットワークを用いて前記生成しようとする信号を生成する、
信号生成方法。
【請求項１０】
変数生成部が、信号における複数の特徴に対応する複数の隠れ変数を生成し、
学習部が、真の信号を含む学習データと、前記複数の隠れ変数とに基づいて、信号を生成する生成器としての第１のニューラルネットワークと、前記生成器により生成される信号が前記真の信号と同一の分布に従うか否かを識別する識別器としての第２のニューラルネットワークとを互いに競合する最適化条件に従って学習させる、
信号生成学習方法。
【請求項１１】
コンピュータを、請求項１から請求項５に記載の信号生成装置と、請求項７又は請求項８に記載の信号生成学習装置とのうち何れかの装置として機能させるためのプログラム。
【国際調査報告】
2018203550.tif 000027
2018203550.tif 000028