(57)【要約】  信号出力部が、取得された信号を出力する。信号属性値表示部が、取得された信号が表現する対象を構成する要素、又は信号発生源に関する属性の値の変更指示を受付可能な状態で、属性の値を表示する。変更後属性値取得部が、属性の値の変更指示を受け付けると、変更後の属性の値を取得する。変更部が、変更後属性値取得部によって取得された変更後の属性の値に基づいて、変更指示を受け付けた属性の値を変更する。変更後信号出力部が、属性の値が変更された、変更後の信号を出力する。
2018203549.tif 000002
【特許請求の範囲】
【請求項１】
取得された信号を出力する信号出力部と、
前記取得された信号が表現する対象を構成する要素、又は信号発生源に関する属性の値の変更指示を受付可能な状態で、前記属性の値を表示する信号属性値表示部と、
前記属性の値の前記変更指示を受け付けると、変更後の属性の値を取得する変更後属性値取得部と、
前記変更後属性値取得部によって取得された前記変更後の前記属性の値に基づいて、前記変更指示を受け付けた属性の値を変更する変更部と、
前記属性の値が変更された、変更後の信号を出力する変更後信号出力部と、
を含む信号変更装置。
【請求項２】
前記取得された信号および前記変更後の信号の各々は、画像であり、
前記属性は、前記画像が表現する被写体を構成する要素に関する属性である請求項１記載の信号変更装置。
【請求項３】
前記信号属性値表示部は、前記属性の値の前記変更指示を受付可能な前記状態として、前記属性の値を示すコントローラで、前記属性の値を表示する請求項１又は２記載の信号変更装置。
【請求項４】
入力された信号の隠れ変数を抽出する変数抽出部と、
前記変数抽出部によって抽出された前記隠れ変数の値を変更する変更部と、
前記変更部によって変更された前記隠れ変数から、信号を生成する信号生成部と、
を含む信号変更装置。
【請求項５】
前記変数抽出部は、予め学習された第１のニューラルネットワークを用いて、前記入力された信号から隠れ変数を抽出し、前記抽出された隠れ変数は、属性を表す複数の隠れ変数を含み、
前記変更部は、前記入力された信号における属性を表す属性ベクトルの値により、前記属性を表す複数の隠れ変数を変換した変換結果における変更対象の変換結果、又は、前記抽出された隠れ変数のうちの前記属性を表す複数の隠れ変数以外の隠れ変数における変更対象の隠れ変数を変更し、
前記信号生成部は、予め学習された第２のニューラルネットワークを用いて、前記変更対象の変換結果または前記変更対象の隠れ変数について前記変更部による変更が行われた前記変換結果および前記複数の隠れ変数以外の前記隠れ変数から、前記信号を生成する
請求項４記載の信号変更装置。
【請求項６】
入力された信号の属性を表す隠れ変数を抽出する変数抽出部と、
前記変数抽出部によって抽出された前記隠れ変数の値を、転写元の信号から抽出された属性を表す隠れ変数の値に置き換えることにより、前記抽出された前記隠れ変数の値を変更する変更部と、
前記変更部によって変更された前記隠れ変数から、信号を生成する信号生成部と、
を含む信号変更装置。
【請求項７】
コンピュータを、請求項１〜請求項６の何れか１項記載の信号変更装置を構成する各部として機能させるためのプログラム。
【請求項８】
信号出力部が、取得された信号を出力し、
信号属性値表示部が、前記取得された信号が表現する対象を構成する要素、又は信号発生源に関する属性の値の変更指示を受付可能な状態で、前記属性の値を表示し、
変更後属性値取得部が、前記属性の値の前記変更指示を受け付けると、変更後の属性の値を取得し、
変更部が、前記変更後属性値取得部によって取得された前記変更後の前記属性の値に基づいて、前記変更指示を受け付けた属性の値を変更し、
変更後信号出力部が、前記属性の値が変更された、変更後の信号を出力する
信号変更方法。
【請求項９】
変数抽出部が、入力された信号の隠れ変数を抽出し、
変更部が、前記変数抽出部によって抽出された前記隠れ変数の値を変更し、
信号生成部が、前記変更部によって変更された前記隠れ変数から、信号を生成する
信号変更方法。
【請求項１０】
変数抽出部が、入力された信号の属性を表す隠れ変数を抽出し、
変更部が、前記変数抽出部によって抽出された前記隠れ変数の値を、転写元の信号から抽出された属性を表す隠れ変数の値に置き換えることにより、前記抽出された前記隠れ変数の値を変更し、
信号生成部が、前記変更部によって変更された前記隠れ変数から、信号を生成する
信号変更方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、信号を変更するための信号変更装置、方法、及びプログラムに関する。
本願は、２０１７年５月２日に、日本へ出願された特願２０１７−０９１７３３号に基づき優先権を主張し、その内容をここに援用する。
【背景技術】
【０００２】
従来より、画像を直接編集する方法が知られている（非特許文献１）。【０００３】
また、画像の属性を１次元のベクトルで表現し(ｃＶＡＥ：conditional variational auto-encoder)、画像を編集する方法が知られている（非特許文献２）。【０００４】
また、属性ベクトル（attribute vector）を以下のように計算し、計算された属性ベクトルを目的画像に付加する方法が知られている（非特許文献３）。【０００５】
(attribute vector) = (ある属性を含む画像の隠れ変数の平均)−(ある属性を含まない画像の隠れ変数の平均)
なお、隠れ変数とは、画像を表現するのに有用なエッセンスのようなものである。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】L. Liu, et al., “Wow! You Are So Beautiful Today!”, ACMMM2013.
【非特許文献２】X. Yan, et al., “Attribute2Image: Conditional Image Generation from Visual Attributes”, arXiv2015.
【非特許文献３】A. B. L. Larsen, et al., “Autoencoding beyond pixels using a learned similarity metric”, ICML2016.
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上記非特許文献１に記載の方法では、顔が正面を向いている、髪が短い/髪を束ねている、化粧が薄い/化粧なし、などの強い制約条件があるため、多様な入力データに対応することは困難である。【０００８】
また、上記非特許文献２に記載の方法では、属性を１次元で表現しているため、表現能力が不十分である。【０００９】
また、上記非特許文献３に記載の方法では、画像から抽出される隠れ変数内で、個体性と属性とが分離されていないため、画像を編集しにくい。【００１０】
本発明は、上記事情を考慮して成されたものであり、画像などの信号を適切に変更することができる信号変更装置、方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するために、本発明の第１の態様に係る信号変更装置は、取得された信号を出力する信号出力部と、前記取得された信号が表現する対象を構成する要素、又は信号発生源に関する属性の値の変更指示を受付可能な状態で、前記属性の値を表示する信号属性値表示部と、前記属性の値の前記変更指示を受け付けると、変更後の属性の値を取得する変更後属性値取得部と、前記変更後属性値取得部によって取得された前記変更後の前記属性の値に基づいて、前記変更指示を受け付けた属性の値を変更する変更部と、前記属性の値が変更された、変更後の信号を出力する変更後信号出力部とを含んでいる。【００１２】
本発明の第２の態様に係る信号変更方法では、信号出力部が、取得された信号を出力し、信号属性値表示部が、前記取得された信号が表現する対象を構成する要素、又は信号発生源に関する属性の値の変更指示を受付可能な状態で、前記属性の値を表示し、変更後属性値取得部が、前記属性の値の前記変更指示を受け付けると、変更後の属性の値を取得し、変更部が、前記変更後属性値取得部によって取得された前記変更後の前記属性の値に基づいて、前記変更指示を受け付けた属性の値を変更し、変更後信号出力部が、前記属性の値が変更された、変更後の信号を出力する。【００１３】
上記第１の態様及び第２の態様によれば、取得された信号が表現する対象を構成する要素、又は信号発生源に関する属性の値の変更指示を受付可能な状態で表示し、属性の値の変更指示を受け付けると、変更後の属性の値に基づいて、変更指示を受け付けた属性の値を変更し、前記属性の値が変更された、変更後の信号を出力する。これにより、信号を適切に変更することができる。
上記第１の態様に係る信号変更装置において、前記取得された信号および前記変更後の信号の各々は、画像であり、前記属性は、前記画像が表現する被写体を構成する要素に関する属性であってもよい。
上記第１の態様に係る信号変更装置において、前記信号属性値表示部は、前記属性の値の前記変更指示を受付可能な前記状態として、前記属性の値を示すコントローラで、前記属性の値を表示してもよい。【００１４】
本発明の第３の態様に係る信号変更装置は、入力された信号の隠れ変数を抽出する変数抽出部と、前記変数抽出部によって抽出された前記隠れ変数の値を変更する変更部と、前記変更部によって変更された前記隠れ変数から、信号を生成する信号生成部と、を含んでいる。【００１５】
本発明の第４の態様に係る信号変更方法では、変数抽出部が、入力された信号の隠れ変数を抽出し、変更部が、前記変数抽出部によって抽出された前記隠れ変数の値を変更し、信号生成部が、前記変更部によって変更された前記隠れ変数から、信号を生成する。【００１６】
上記第３の態様及び第４の態様によれば、入力された信号の隠れ変数を抽出し、抽出された前記隠れ変数の値を変更し、変更された前記隠れ変数から、信号を生成する。これにより、信号を適切に変更することができる。
上記第３の態様に係る信号変更装置において、前記変数抽出部は、予め学習された第１のニューラルネットワークを用いて、前記入力された信号から隠れ変数を抽出し、前記抽出された隠れ変数は、属性を表す複数の隠れ変数を含み、前記変更部は、前記入力された信号における属性を表す属性ベクトルの値により、前記属性を表す複数の隠れ変数を変換した変換結果における変更対象の変換結果、又は、前記抽出された隠れ変数のうちの前記属性を表す複数の隠れ変数以外の隠れ変数における変更対象の隠れ変数を変更し、前記信号生成部は、予め学習された第２のニューラルネットワークを用いて、前記変更対象の変換結果または前記変更対象の隠れ変数について前記変更部による変更が行われた前記変換結果および前記複数の隠れ変数以外の前記隠れ変数から、前記信号を生成してもよい。【００１７】
本発明の第５の態様に係る信号変更装置は、入力された信号の属性を表す隠れ変数を抽出する変数抽出部と、前記変数抽出部によって抽出された前記隠れ変数の値を、転写元の信号から抽出された属性を表す隠れ変数の値に置き換えることにより、前記抽出された前記隠れ変数の値を変更する変更部と、前記変更部によって変更された前記隠れ変数から、信号を生成する信号生成部と、を含んでいる。【００１８】
本発明の第６の態様に係る信号変更方法は、変数抽出部が、入力された信号の属性を表す隠れ変数を抽出し、変更部が、前記変数抽出部によって抽出された前記隠れ変数の値を、転写元の信号から抽出された属性を表す隠れ変数の値に置き換えることにより、前記抽出された前記隠れ変数の値を変更し、信号生成部が、前記変更部によって変更された前記隠れ変数から、信号を生成する。【００１９】
上記第５の態様及び第６の態様によれば、入力された信号の属性を表す隠れ変数を抽出し、抽出された隠れ変数の値を、転写元の信号から抽出された属性を表す隠れ変数の値に置き換えることにより、前記抽出された前記隠れ変数の値を変更し、変更された前記隠れ変数から信号を生成する。これにより、信号を適切に変更することができる。【００２０】
本発明の第７の態様に係るプログラムは、コンピュータを、上記信号変更装置を構成する各部として機能させる。
【発明の効果】
【００２１】
本発明の信号変更装置、方法、及びプログラムによれば、信号を適切に変更することができる、という効果が得られる。
【図面の簡単な説明】
【００２２】
【図１】本発明の第１の実施の形態における属性変更画面のイメージ図である。
【図２】本発明の第１の実施の形態におけるエンコーダの概念図である。
【図３】本発明の第１の実施の形態における生成器の概念図である。
【図４】生成器及び識別器を学習する方法を説明するための図である。
【図５】本発明の第１および第２の実施の形態に係る信号変更装置の構成を示すブロック図である。
【図６】本発明の第１および第２の実施の形態に係る信号変更装置における学習処理ルーチンを示すフローチャートである。
【図７】本発明の第１および第２の実施の形態に係る信号変更装置における生成処理ルーチンを示すフローチャートである。
【図８】本発明の第２の実施の形態における生成器の概念図である。
【図９】本発明の第２の実施の形態における生成器、識別器、及び近似分布の概念図である。
【図１０】音声信号の属性を変更するための属性変更画面のイメージ図である。
【図１１】テキストデータの属性を変更するための属性変更画面のイメージ図である。
【図１２】動画データの属性を変更するための属性変更画面のイメージ図である。
【図１３】本発明の第２の実施の形態における生成器、識別器、及び近似分布の概念図である。
【発明を実施するための形態】
【００２３】
以下、図面を参照して本発明の実施の形態を詳細に説明する。
【００２４】
＜本発明の第１の実施の形態に係る概要＞
まず、本発明の第１の実施の形態における概要を説明する。
【００２５】
第１の実施の形態では、図１に示すように、従来の画像編集ソフトと同様に、属性の値に対応するスライドバー９６を動かしたり、属性の値に対応するラジオボタン９４をクリックしたりすることで、属性を自由自在にコントロールして画像を変更することができるようにする。
【００２６】
ここで、世の中には多様なデータが存在する。例えば、様々な顔の向きに対応する画像、様々な照明条件に対応する画像、様々な年齢に対応する画像、様々な表情に対応する画像がある。
【００２７】
そこで、本実施の形態では、画像を直接編集するのではなく、図２に示すようなニューラルネットワークＥを用いて、隠れ変数（画像を表現するのに有用なエッセンスのようなもの）を抽出し、隠れ変数の値を変更する。
【００２８】
また、一つの属性の中にも多様性が存在する。例えば、一言に「前髪」と言っても様々な形状が存在する。
【００２９】
そこで、本実施の形態では、図３に示すように、属性毎に、複数の隠れ変数で各属性を表現する。具体的には、複数の隠れ変数を個体性を表現する隠れ変数と属性を表現する隠れ変数とに分離することで、属性をコントロールしやすくする。属性毎に、複数の隠れ変数で各属性を表現することにより、十分な表現能力を得る。属性が離散的な値で表現される場合、属性が取り得る離散的な値で定められた区間における任意の値を取り得る連続値で隠れ変数を表現してもよい。連続値を有する隠れ変数で各属性を表現することにより、生成器２は、十分な表現能力を得る。同様に、属性がある分布で表現される場合、それよりもより詳細な分布で隠れ変数を表現してもよい。より詳細な分布に従う隠れ変数で各属性を表現することにより、生成器２は、十分な表現能力を得る。なお、複数の隠れ変数のうち、後述する属性ベクトルｙにより制約が付与される隠れ変数（図３では隠れ変数ｚａ）が属性を表現する隠れ変数である。また、複数の隠れ変数のうち、属性ベクトルｙによる制約が付与されない隠れ変数（図３では隠れ変数ｚｉ）が個体性を表現する隠れ変数である。
【００３０】
また、エンコーダ１（図２）及び生成器２（図３）の構造を愚直に学習しようとする場合、真のデータと、エンコーダ１及び生成器２を介して生成されたデータとの誤差が小さくなるように学習することになる。このとき、隠れ変数と、属性ベクトルｙとがそれぞれ何を表すかについて明確な制約を与えられない。
【００３１】
そこで、本実施の形態では、図４に示すように、生成器２の学習時にＣＦＧＡＮ（Conditional Filtered generative adversarial networks)を一緒に学習する。このとき、ＣＦＧＡＮは、あるデータ分布から生成した隠れ変数に基づいて生成した画像が、属性ベクトルｙに応じて、ある属性を含み、または、ある属性を含まないように制約を付与する。また、識別器３は、属性ベクトルｙが表す各属性の有無又は正負の下で、生成された画像が真の画像と同一の分布に従うか否かを識別する。すなわち、識別器３は、生成された画像が真の画像であるか否かを識別する。なお、属性の正負とは、後述するように、例えば「男性／女性」である。これにより、様々な隠れ変数ｚｉ、ｚａがそれぞれ個体性、属性を表現するように制約を与えることができる。
【００３２】
また、本実施の形態では、画像の属性を変更する際に、個体性を保持したまま属性を変更する。
【００３３】
＜本発明の第１の実施の形態に係る信号変更装置の構成＞
次に、本発明の第１の実施の形態に係る信号変更装置の構成について説明する。図５に示すように、本発明の第１の実施の形態に係る信号変更装置１００は、ＣＰＵ（Central Processing Unit）と、ＲＡＭ（Random Access Memory）と、後述する学習処理ルーチン及び生成処理ルーチンを実行するためのプログラムや各種データを記憶したＲＯＭ（Read Only Memory）と、を含むコンピュータで構成することが出来る。図５に示すように、この信号変更装置１００は、機能的には、入力部１０と、演算部２０と、出力部９０とを備えている。
【００３４】
入力部１０は、学習データとして、画像データｘ及び属性ベクトルｙの複数のペアを受け付ける。また、入力部１０は、変更対象となる画像データｘを受け付ける。
【００３５】
演算部２０は、学習部３０と、ニューラルネットワーク記憶部４０と、予測部５０と、変数抽出部５２と、信号出力部５３と、信号属性値表示部５４と、変更後属性値取得部５６と、予測部５８と、変数抽出部６０と、変更部６２と、信号生成部６４と、変更後信号出力部６６とを含んでいる。
【００３６】
学習部３０は、入力された学習データに基づいて、生成器２としてのニューラルネットワークＧと、識別器３としてのニューラルネットワークＤとが、互いに競合する最適化条件に従うように、これらニューラルネットワークを学習する。生成器２としてのニューラルネットワークＧは、生成された個体性を表す隠れ変数ｚｉと各属性を表す隠れ変数ｚａ’とを入力とし、個体性を表す隠れ変数ｚｉ及び各属性を表す隠れ変数ｚａ’から、画像データを生成する。識別器３としてのニューラルネットワークＤは、生成された画像データが、画像データの各属性を表す属性ベクトルｙの下で真の画像データｘと同一の分布に従うか否かを識別する。すなわち、識別器３としてのニューラルネットワークＤは、生成された画像データが真の画像データｘであるか否かを識別する。属性ベクトルｙは、例えば、属性の有無や正負を表す。しかし、属性ベクトルｙは、特にこれらに限定されるものではない。生成器２としてのニューラルネットワークＧへの入力となる各属性を表す隠れ変数ｚａ’は、属性ベクトルｙの値により、各属性を表す隠れ変数ｚａを変換することにより得られる。変換の一例としては、属性ベクトルｙが属性の有無を表す場合（すなわち、属性が有る場合にはｙ＝１、属性が無い場合にはｙ＝０）に、以下の式に示すように、生成された各属性を表す隠れ変数ｚａと属性ベクトルｙとを掛け合わせることが考えられる。
【数１】
2018203549.tif 000003
あるいは、属性ベクトルｙが属性の正負を表す場合に、以下の式に示すように、生成された各属性を表す隠れ変数ｚａに対して、属性ベクトルｙに応じて正の値（｜ｚａ｜）（ｙ＝１の場合）または負の値（−｜ｚａ｜）（ｙ＝０の場合）を与えることが考えられる。
【数２】
2018203549.tif 000004
【００３７】
具体的には、学習部３０は、入力された学習データの画像データｘと属性ベクトルｙと、あるデータ分布から生成された個体性を表す隠れ変数ｚｉと各属性を表す隠れ変数ｚａとを入力とする。ここで、画像データｘが顔画像データである場合には、属性ベクトルｙが、「メガネ」、「化粧」、「髭」、「前髪」の各々の有無や、「男性／女性」、「笑顔でない／笑顔」、「老けている／若い」の区別を表し、属性を表す隠れ変数ｚａが、各属性内の多様性（例：どんなメガネか？を表現）を表す。学習部３０は、個体性を表す隠れ変数ｚｉと各属性を表す隠れ変数ｚａとを乱数を用いて生成してもよい。
また、あるデータ分布から属性を表す隠れ変数ｚａを生成する際には、例えば、属性を表す隠れ変数ｚａが離散的である場合、学習部３０は、以下の式に従って、属性を表す隠れ変数ｚａを生成する。
【数３】
2018203549.tif 000005
ただし、ｋは、カテゴリ数（離散的な値の数）を表す。また、Ｃａｔは、カテゴリ数Ｋの各カテゴリを示す値からなる分布であり、ｐは確率である。
また、属性を表す隠れ変数ｚａが連続的である場合には、学習部３０は、以下の式に従って、属性を表す隠れ変数ｚａを生成する。
【数４】
2018203549.tif 000006
ただし、Ｕｎｉｆ（−１，１）は、値の範囲を−１から１までとした一様分布である。
なお、他の分布に従う隠れ変数ｚａや変換を採用することができる。例えば、隠れ変数ｚａの分布として、一様分布（Ｕｎｉｆ（−１，１））ではなく、正規分布を用いることが可能であり、また、値の範囲を変更することも可能である。
【００３８】
また、学習部３０は、生成された個体性を表す隠れ変数ｚｉと各属性を表す隠れ変数ｚａ’とを入力とし、生成器２としてのニューラルネットワークＧを用いて、画像データを生成する。このとき、生成器２としてのニューラルネットワークＧの入力となる各属性を表す隠れ変数ｚａ’は、属性ベクトルｙの値により、各属性を表す隠れ変数ｚａを変換することにより得られる。
【００３９】
そして、学習部３０は、生成された画像データを、なるべく識別器３が、属性ベクトルｙの下で真の画像データと同一の分布に従うと識別する制約を満たすように、生成器２としてのニューラルネットワークＧのパラメータを更新する。すなわち、生成された画像を真の画像データであると識別器３が識別するように、生成器２としてのニューラルネットワークＧのパラメータが更新される。
【００４０】
また、学習部３０は、生成された画像データを、なるべく識別器３が、属性ベクトルｙの下で真の画像データと同一の分布に従わないと識別する制約を満たし、かつ、真の画像データｘを、識別器３が、真の画像データと同一の分布に従うと識別する制約を満たすように、識別器３としてのニューラルネットワークＤのパラメータを更新する。
【００４１】
なお、生成器２としてのニューラルネットワークＧと、識別器３としてのニューラルネットワークＤとが、互いに競合する最適化条件は、以下の式で表わされる。
【００４２】
【数５】
2018203549.tif 000007
【００４３】
ただし、
【数６】
2018203549.tif 000008
は、学習データから、真の画像データｘと属性ベクトルｙをサンプリングすることを表す。
また、
【数７】
2018203549.tif 000009
は、個体性を表す隠れ変数ｚｉを、あるデータ分布から生成することを表す。例えば、個体性を表す隠れ変数ｚｉを、乱数で生成する。
また、
【数８】
2018203549.tif 000010
は、属性を表す隠れ変数ｚａを、あるデータ分布から生成することを表す。例えば、属性を表す隠れ変数ｚａを、乱数で生成する。
また、
【数９】
2018203549.tif 000011
は、学習データから、属性ベクトルｙをサンプリングすることを表す。
また、Ｅは期待値を表す。
【００４４】
学習部３０は、上記の処理を、学習データ毎に行って、生成器２としてのニューラルネットワークＧのパラメータと、識別器３としてのニューラルネットワークＤのパラメータとを繰り返し更新する。
【００４５】
最終的に得られた、生成器２としてのニューラルネットワークＧと、識別器３としてのニューラルネットワークＤは、ニューラルネットワーク記憶部４０に記憶される。
【００４６】
次に、学習部３０は、図２に示すように、入力された学習データに含まれる画像データｘを入力とし、エンコーダ１としてのニューラルネットワークＥを用いて、個体性を表す隠れ変数ｚｉと各属性を表す隠れ変数ｚａを抽出する。
【００４７】
また、学習部３０は、図３に示すように、抽出された個体性を表す隠れ変数ｚｉと、各属性を表す隠れ変数ｚａ’とを入力とし、生成器２としてのニューラルネットワークＧを用いて、画像データＧ（ｚｉ、ｚａ、ｙ）を生成する。このとき、各属性を表す隠れ変数ｚａ’は、属性ベクトルｙの値により、エンコーダ１としてのニューラルネットワークＥが出力する各属性を表す隠れ変数ｚａを変換することにより得られる。なお、図３において、ｆｙは、変換に使用するフィルタ関数である。変換の一例としては、エンコーダ１としてのニューラルネットワークＥが出力する各属性を表す隠れ変数ｚａと属性ベクトルｙとを掛け合わせることが考えられる。
【００４８】
また、学習部３０は、生成された画像データが、元の画像データｘと同じになる制約を満たすように、エンコーダ１としてのニューラルネットワークＥのパラメータを更新する。
【００４９】
学習部３０は、上記の処理を、学習データ毎に行って、エンコーダ１としてのニューラルネットワークＥのパラメータを繰り返し更新する。
【００５０】
最終的に得られたエンコーダ１としてのニューラルネットワークＥは、ニューラルネットワーク記憶部４０に記憶される。
【００５１】
予測部５０は、入力部１０で受け付けた変更対象の画像データｘを、属性ベクトルｙを予測するための予測器（図示せず）としての予め学習されたニューラルネットワーク（例えば、ＣＮＮ（Convolutional Neural Networks））に入力し、属性ベクトルｙを予測する。
【００５２】
予測器としてのニューラルネットワークは、属性ベクトルｙを出力する。属性ベクトルｙは、例えば、各属性の有無又は正負の分類である。しかし、属性ベクトルｙは、特にこれらに限定されない。
【００５３】
変数抽出部５２は、入力された変更対象の画像データｘを入力とし、ニューラルネットワーク記憶部４０に記憶された、エンコーダ１としてのニューラルネットワークＥを用いて、変更対象の画像データｘの個体性を表す隠れ変数ｚｉ及び各属性を表す隠れ変数ｚａを抽出する。また、変数抽出部５２は、抽出された各属性を表す隠れ変数ｚａと、予測部５０によって予測された属性ベクトルｙとに基づいて、各属性を表す隠れ変数ｚａ’を求める。このとき、各属性を表す隠れ変数ｚａ’は、予測部５０によって予測された属性ベクトルｙの値により、変数抽出部５２によって抽出された各属性を表す隠れ変数ｚａを変換することにより得られる。変換の一例としては、各属性を表す隠れ変数ｚａと属性ベクトルｙとを掛け合わせることが考えられる。各属性は、属性毎に、複数の隠れ変数ｚａにより表現されるため、属性ベクトルｙの要素は、各属性が対応する複数の隠れ変数の全てに掛け合わされる。
【００５４】
信号出力部５３は、出力部９０により、上記図１に示すように、属性変更画面９２の画像表示領域９８Ａに、入力された変更対象の画像データｘを表示させる。
【００５５】
信号属性値表示部５４は、変更対象の画像データｘの各属性を表す隠れ変数ｚａ’を、値の変更指示を受付可能な状態で出力部９０に表示させる。具体的には、上記図１に示すように、属性変更画面９２に、各属性を表す隠れ変数ｚａ’の値の変更指示を受付可能な状態として、各属性を表す隠れ変数ｚａ’の値を示すラジオボタン９４又はスライドバー９６などの任意のコントローラで隠れ変数ｚａ’の値を表示する。
【００５６】
また、属性変更画面９２の参照画像表示領域９８Ｂには、属性の転写元となる参照画像データが表示され、参照画像表示領域９８Ｂに対応して、参照画像データを選択するためのラジオボタン９４が表示されている。なお、参照画像データの取得方法は、特に限定されない。例えば、入力部１０を介して外部のネットワークなどから参照画像データを随時取得してもよいし、入力部１０を介して予め参照画像データを取得し、取得した参照画像データを記憶部（図示せず）に記憶しておくようにしてもよい。
【００５７】
変更後属性値取得部５６は、属性変更画面９２において、変更対象の属性を表す隠れ変数ｚａ’の値の変更指示（例えば、属性を表す隠れ変数ｚａ’の値を示すラジオボタン９４又はスライドバー９６に対する操作）を受け付けると、変更対象の属性を表す隠れ変数ｚａ’の変更後の値を取得する。
【００５８】
ラジオボタン９４に対する操作を受け付けた場合には、変更後属性値取得部５６は、操作されたラジオボタン９４に対して予め定められた、変更対象の属性を表す隠れ変数ｚａ’の変更後の値を取得する。
また、属性「前髪」や属性「化粧」など、属性の有無に関わる隠れ変数に対応するスライドバー９６に対する操作を受け付けた場合には、変更後属性値取得部５６は、操作されたスライドバー９６の位置に対して予め定められた、変更対象の属性を表す隠れ変数ｚａ’の変更後の値を取得する。
また、属性「男性／女性」や属性「笑顔でない／笑顔」など、属性の正負に関わる隠れ変数に対応するスライドバー９６に対する操作を受け付けた場合には、変更後属性値取得部５６は、操作されたスライドバー９６の位置に対して予め定められた、変更対象の属性を表す隠れ変数ｚａ’の変更後の値を取得する。
【００５９】
また、属性変更画面９２において、参照画像データを選択するためのラジオボタン９４に対する操作を受け付けた場合には、まず、予測部５８は、選択された参照対象の画像データｘを、属性ベクトルｙを予測するための予め学習されたニューラルネットワーク（ＣＮＮ）（図示せず）に入力し、属性ベクトルｙを予測する。また、変数抽出部６０は、選択された参照対象の画像データｘを入力とし、ニューラルネットワーク記憶部４０に記憶された、エンコーダ１としてのニューラルネットワークＥを用いて、参照対象の画像データｘの個体性を表す隠れ変数ｚｉ及び各属性を表す隠れ変数ｚａを抽出する。そして、変数抽出部６０は、予測部５８によって予測された属性ベクトルｙの値により、抽出された各属性を表す隠れ変数ｚａを変換することにより、参照対象の画像データｘの各属性を表す隠れ変数ｚａ’を求める。変更後属性値取得部５６は、参照対象の画像データｘの各属性を表す隠れ変数ｚａ’を、変更対象の属性を表す隠れ変数ｚａ’の変更後の値として取得する。
【００６０】
変更部６２は、変数抽出部５２によって求められた各属性を表す隠れ変数ｚａ’のうち、変更後属性値取得部５６によって取得した変更対象の属性を表す隠れ変数ｚａ’の値を、変更後の値で置き換えることにより、変更対象の属性を表す隠れ変数ｚａ’の値を変更する。
【００６１】
信号生成部６４は、変数抽出部５２によって抽出された個体性を表す隠れ変数ｚｉと、変更部６２による変更後の各属性を表す隠れ変数ｚａ’とを入力とし、ニューラルネットワーク記憶部４０に記憶された、生成器２としてのニューラルネットワークＧを用いて、画像データを生成する。
【００６２】
変更後信号出力部６６は、出力部９０により、上記図１に示すように、属性変更画面９２の画像表示領域９８Ａに、信号生成部６４によって生成された画像データを表示させる。
【００６３】
＜本発明の第１の実施の形態に係る信号変更装置の作用＞
次に、本発明の第１の実施の形態に係る信号変更装置１００の作用について説明する。信号変更装置１００は、以下に説明する学習処理ルーチンと生成処理ルーチンを実行する。
【００６４】
まず、学習処理ルーチンについて説明する。入力部１０が、学習データとして、画像データｘと属性ベクトルｙとの複数のペアを受け付けると、信号変更装置１００は、図６に示す学習処理ルーチンを実行する。
【００６５】
まず、ステップＳ１００では、学習部３０が、入力部１０で受け付けた複数の学習データのうちの何れか一つを取得する。
【００６６】
次に、ステップＳ１０２では、学習部３０が、あるデータ分布から個体性を表す隠れ変数ｚｉと各属性を表す隠れ変数ｚａを生成する。
【００６７】
ステップＳ１０４では、学習部３０が、ステップＳ１００で取得した属性ベクトルｙの値により、ステップＳ１０２で生成された各属性を表す隠れ変数ｚａを変換することにより、各属性を表す隠れ変数ｚａ’を求める。
【００６８】
そして、ステップＳ１０６では、学習部３０が、上記ステップＳ１０２およびステップＳ１０４でそれぞれ求められた、個体性を表す隠れ変数ｚｉと、変換により得られた各属性を表す隠れ変数ｚａ’とを入力とし、生成器２としてのニューラルネットワークＧを用いて、画像データｘｐを生成する。
【００６９】
ステップＳ１０８では、学習部３０が、上記ステップＳ１０２で生成された個体性を表す隠れ変数ｚｉと、各属性を表す隠れ変数ｚａ’と、上記ステップＳ１０６で生成された画像データｘｐと、ステップＳ１００で得た学習データに含まれる画像データｘ及び属性ベクトルｙとに基づいて、生成器２としてのニューラルネットワークＧのパラメータ、及び識別器３としてのニューラルネットワークＤのパラメータを更新する。
【００７０】
ステップＳ１１０では、学習部３０が、全ての学習データについて、上記ステップＳ１００〜Ｓ１０８の処理を実行したか否かを判定する。上記ステップＳ１００〜Ｓ１０８の処理を実行していない学習データが存在する場合、学習部３０は、処理を上記ステップＳ１００へ戻し、当該学習データを取得する。一方、全ての学習データについて、上記ステップＳ１００〜Ｓ１０８の処理を実行した場合には、学習部３０は、最終的に得られた、生成器２としてのニューラルネットワークＧのパラメータ、及び識別器３としてのニューラルネットワークＤのパラメータを、ニューラルネットワーク記憶部４０に格納する。
【００７１】
次に、ステップＳ１１２では、学習部３０が、入力部１０で受け付けた複数の学習データのうちの何れか一つを取得する。
【００７２】
ステップＳ１１４では、学習部３０が、ステップＳ１１２で得た学習データに含まれる画像データｘと属性ベクトルｙとを入力として、エンコーダ１としてのニューラルネットワークＥを用いて、個体性を表す隠れ変数ｚｉと各属性を表す隠れ変数ｚａを抽出する。また、学習部３０は、抽出された個体性を表す隠れ変数ｚｉと、各属性を表す隠れ変数ｚａ’とを入力とし、生成器２としてのニューラルネットワークＧを用いて、画像データを生成する。このとき、各属性を表す隠れ変数ｚａ’は、当該画像データの属性ベクトルｙの値により、抽出された各属性を表す隠れ変数ｚａを変換することにより得られる。
【００７３】
ステップＳ１１６では、学習部３０が、生成された画像データと、ステップＳ１１２で得た学習データに含まれる画像データｘとに基づいて、エンコーダ１としてのニューラルネットワークＥのパラメータを更新する。
【００７４】
ステップＳ１１８では、学習部３０が、全ての学習データについて、上記ステップＳ１１２〜Ｓ１１６の処理を実行したか否かを判定する。上記ステップＳ１１２〜Ｓ１１６の処理を実行していない学習データが存在する場合、学習部３０は、処理を上記ステップＳ１１２へ戻し、当該学習データを取得する。一方、全ての学習データについて、上記ステップＳ１１２〜Ｓ１１６の処理を実行した場合には、学習部３０は、学習処理ルーチンを終了し、最終的に得られたエンコーダ１としてのニューラルネットワークＥのパラメータを、ニューラルネットワーク記憶部４０に格納する。
【００７５】
次に、生成処理ルーチンについて説明する。入力部１０が、変更対象となる画像データを受け付けると、信号変更装置１００は、図７に示す生成処理ルーチンを実行する。
【００７６】
ステップＳ１５０では、信号出力部５３が、出力部９０により、上記図１に示すように、属性変更画面９２の画像表示領域９８Ａに、入力された変更対象の画像データを表示させる。
【００７７】
ステップＳ１５２では、予測部５０が、入力部１０で受け付けた変更対象となる画像データに基づいて、予め学習された予測器としてのニューラルネットワークを用いて、属性ベクトルｙを予測する。
【００７８】
ステップＳ１５４では、変数抽出部５２が、入力部１０で受け付けた変更対象となる画像データを入力として、ニューラルネットワーク記憶部４０に記憶された、エンコーダ１としてのニューラルネットワークＥを用いて、個体性を表す隠れ変数ｚｉと各属性を表す隠れ変数ｚａを抽出する。また、変数抽出部５２は、抽出された各属性を表す隠れ変数ｚａと、上記ステップＳ１５２で予測された属性ベクトルｙとに基づいて、各属性を表す隠れ変数ｚａ’を求める。このとき、各属性を表す隠れ変数ｚａ’は、予測された属性ベクトルｙの値により、抽出された各属性を表す隠れ変数ｚａを変換することにより得られる。
【００７９】
ステップＳ１５６では、信号属性値表示部５４が、上記ステップＳ１５４で求められた変更対象の画像データｘの各属性を表す隠れ変数ｚａ’を、値の変更指示を受付可能な状態で出力部９０に表示させる。具体的には、信号属性値表示部５４は、上記図１に示すように、属性変更画面９２に、各属性を表す隠れ変数ｚａ’の値の変更指示を受付可能な状態として、各属性を表す隠れ変数ｚａ’の値を示すラジオボタン９４又はスライドバー９６で、隠れ変数ｚａ’の値を表示する。また、信号属性値表示部５４は、属性変更画面９２の参照画像表示領域９８Ｂに、予め用意された属性の転写元となる参照画像データを表示する。
【００８０】
ステップＳ１５８では、変更後属性値取得部５６が、属性変更画面９２において、変更対象の属性を表す隠れ変数ｚａ’の値の変更指示（例えば、属性を表す隠れ変数ｚａ’の値を示すラジオボタン９４又はスライドバー９６に対する操作）を受け付けると、変更対象の属性を表す隠れ変数ｚａ’の変更後の値を取得する。
【００８１】
また、属性変更画面９２において、参照画像データを選択するためのラジオボタン９４に対する操作を受け付けた場合には、予測部５８が、選択された参照対象の画像データを、属性ベクトルｙを予測するための予め学習されたニューラルネットワークに入力し、属性ベクトルｙを予測する。また、変数抽出部６０は、選択された参照対象の画像データｘを入力とし、ニューラルネットワーク記憶部４０に記憶された、エンコーダ１としてのニューラルネットワークＥを用いて、参照対象の画像データｘの個体性を表す隠れ変数ｚｉ及び各属性を表す隠れ変数ｚａを抽出する。そして、変数抽出部６０は、予測された属性ベクトルｙの値により、抽出された各属性を表す隠れ変数ｚａを変換することにより、参照対象の画像データｘの各属性を表す隠れ変数ｚａ’を求める。変更後属性値取得部５６は、参照対象の画像データｘの各属性を表す隠れ変数ｚａ’を、変更対象の属性を表す隠れ変数ｚａ’の変更後の値として取得する。
【００８２】
ステップＳ１６０では、変更部６２が、上記ステップＳ１５４で求められた各属性を表す隠れ変数ｚａ’のうち、上記ステップＳ１５８で取得した変更対象の属性を表す隠れ変数ｚａ’の値を、変更後の値で置き換えることにより、変更対象の属性を表す隠れ変数ｚａ’を変更する。
【００８３】
そして、ステップＳ１６２では、信号生成部６４が、上記ステップＳ１５４で抽出された個体性を表す隠れ変数ｚｉと、ステップＳ１６０において変更処理が行われた各属性を表す隠れ変数ｚａ’とを入力とし、ニューラルネットワーク記憶部４０に記憶された、生成器２としてのニューラルネットワークＧを用いて、画像データを生成する。
【００８４】
そして、ステップＳ１６４では、変更後信号出力部６６が、出力部９０により、上記図１に示すように、属性変更画面９２の画像表示領域９８Ａに、生成された画像データを表示させて、生成処理ルーチンを終了する。
【００８５】
以上説明したように、本発明の第１の実施の形態に係る信号変更装置は、変更対象の画像データについて抽出された各属性を表す隠れ変数の値の変更指示を受付可能な状態で、属性を表す隠れ変数の値を表示し、属性を表す隠れ変数の値の変更指示を受け付けると、変更後の属性を表す隠れ変数の値に基づいて属性が変更された、変更後の画像データを出力する。これにより、画像データを適切に変更することができる。
【００８６】
また、本発明の第１の実施の形態に係る信号変更装置は、エンコーダ１としてのニューラルネットワークＥを用いて、入力された画像データの隠れ変数を抽出し、抽出された隠れ変数の値を変更し、変更された隠れ変数を入力とし、生成器２としてのニューラルネットワークＧを用いて、画像データを生成する。これにより、画像データを適切に変更することができる。
【００８７】
また、本発明の第１の実施の形態に係る信号変更装置は、属性毎に、複数の隠れ変数を有するため、属性の多様性を表現することができる。また、本発明の第１の実施の形態に係る信号変更装置は、一つの属性に対する複数の隠れ変数のうちの一つの隠れ変数の値だけをコントロールすることができる。例えば、属性（例えば眼鏡）だけを変える場合は、個体性を表す隠れ変数ｚｉを固定して、多次元の隠れ変数ｚａの各次元をインタラクティブに変更すればよい。属性を維持したまま個体性だけを変える場合は、各属性を表す隠れ変数ｚａを固定して、個体性を表す隠れ変数ｚｉを変更すればよい。
【００８８】
また、本発明の第１の実施の形態に係る信号変更装置は、画像データにおける個体性を表す隠れ変数、及び各属性を表す隠れ変数を生成し、入力された真の画像データと、入力された、生成しようとする画像データにおける各属性を表す属性ベクトルと、生成された個体性を表す隠れ変数、及び各属性を表す隠れ変数とに基づいて、生成器２としてのニューラルネットワークＧと、生成された画像データが、属性ベクトルの下で真の画像データと同一の分布に従うか否かを識別する識別器３としてのニューラルネットワークＤとを、互いに競合する最適化条件に従って学習する。これにより、属性を制御しつつ、画像データを生成することができる生成器２としてのニューラルネットワークＧおよび識別器３としてのニューラルネットワークＤを学習することができる。
【００８９】
なお、上記の実施の形態では、互いに競合する最適化条件に従って、生成器２としてのニューラルネットワークＧと、識別器３としてのニューラルネットワークＤとを学習する場合を例に説明した。しかし、制約は、これに限定されるものではない。例えば、各隠れ変数が独立なものを表現するように制約を更に設けてもよい。具体的には、以下の式に示す、隠れ変数ｚａ’と、隠れ変数ｚａ’から生成された画像データとの相関（情報量）が大きくなるように制約を更に設ける。
【００９０】
【数１０】
2018203549.tif 000012
なお、Ｉ（ｚａ’；Ｇ（ｚｉ，ｚａ，ｙ）｜ｙ）は、属性ベクトルｙが与えられたときの隠れ変数ｚａ’と画像データＧ（ｚｉ、ｚａ、ｙ）との相互情報量を表す。Ｈは、条件付きエントロピーを表す。ＤＫＬはカルバック・ライブラー情報量（Kullback-Leibler divergence)を表す。Ｐ（ｚａ’｜ｘ，ｙ）は、画像データｘおよび属性ベクトルｙが与えられたときの隠れ変数ｚａ’の分布を表す。ｚａ＾’（＾はｚａの上に付される）は、Ｐ（ｚａ’｜ｘ，ｙ）の分布に従って得られた隠れ変数である。
【００９１】
Ｐ（ｚａ’｜ｘ，ｙ）は未知であるため、上記の情報量Ｉを直接求めることは困難である。そのため、上記のように、Ｐ（ｚａ’｜ｘ，ｙ）を近似する近似分布Ｑ（ｚａ’｜ｘ，ｙ）を導入して、変分法を使い、情報量Ｉの下限を最大化するように、近似分布Ｑ（ｚａ’｜ｘ，ｙ）を推定するニューラルネットワークを学習すると共に、互いに競合する最適化条件の最適化を行う。これにより、属性「メガネ」に対する複数の隠れ変数が隠れ変数ｚａ１と隠れ変数ｚａ２とを含み、かつ、属性「メガネ」に対する隠れ変数ｚａ１がサングラスを表す場合に、隠れ変数ｚａ２がサングラス以外の眼鏡を表現するようになる。
【００９２】
また、上記の第１の実施の形態では、エンコーダ１としてのニューラルネットワークＥが、属性を表す隠れ変数ｚａと個体性を表す隠れ変数ｚｉを同時に推定する場合を例に説明した。しかし、隠れ変数の推定方法は、これに限定されるものではない。例えば、エンコーダ１としてのニューラルネットワークＥが、属性を表す隠れ変数ｚａではなく、属性を表す隠れ変数ｚａ’を直接推定することにより、属性を表す隠れ変数ｚａ’と個体性を表す隠れ変数ｚｉを同時に推定するようにしてもよい。
また、生成器２としてのニューラルネットワークＧの学習の際に、近似分布Ｑ（ｚａ’｜ｘ，ｙ）を推定するニューラルネットワークを一緒に学習した場合は、この近似分布を推定するニューラルネットワークを用いて、属性を表す隠れ変数ｚａ’を推定するようにし、エンコーダ１としてのニューラルネットワークＥは、個体性を表す隠れ変数ｚｉだけを推定するようにしてもよい。
また、エンコーダ１としてのニューラルネットワークＥを使わずに、生成器２としてのニューラルネットワークＧに任意の個体性を表す隠れ変数ｚｉを入力し、生成器２としてのニューラルネットワークＧの出力が目的画像ｘに近づくように勾配法で個体性を表す隠れ変数ｚｉを更新していくことで、最適な個体性を表す隠れ変数ｚｉを求めるようにしてもよい。また、エンコーダ１としてのニューラルネットワークＥで、属性を表す隠れ変数ｚａ’と個体性を表す隠れ変数ｚｉを求めた後、これらを初期値にして、生成器２としてのニューラルネットワークＧに個体性を表す隠れ変数ｚｉを入力し、生成器２の出力が目的画像ｘに近づくように勾配法で個体性を表す隠れ変数ｚｉを更新していくことで、最適な個体性を表す隠れ変数ｚｉを求めるようにしてもよい。また、エンコーダ１としてのニューラルネットワークＥ、または、予測器としてのニューラルネットワークを生成器２としてのニューラルネットワークＧおよび識別器３としてのニューラルネットワークＤと一緒に学習しても良い。
【００９３】
次に、本発明の第２の実施の形態に係る信号変更装置について説明する。なお、第２の実施の形態に係る信号変更装置の構成は、第１の実施の形態に係る信号変更装置の構成と同様であるため、同一の符号を付して説明を省略する。
【００９４】
第２の実施の形態では、各属性を表す隠れ変数が、階層構造になっている点が、第１の実施の形態と異なっている。
【００９５】
＜本発明の第２の実施の形態に係る概要＞
次に、本発明の第２の実施の形態における概要を説明する。
【００９６】
第２の実施の形態では、属性に対して階層的な制御を実現するために、図８に示すように、各属性を表す隠れ変数が、２階層以上の隠れ変数へ階層的に変換される構造となっている。また、１層目の隠れ変数ｃ１が、各属性を表しており、上記第１の実施の形態における属性ベクトルｙに対応している。隠れ変数は、例えば属性の有無や正負を表す。しかし、隠れ変数は、特にこれらに限定されるものではない。
【００９７】
２層目の隠れ変数ｃ２は、１層目の隠れ変数ｃ１の値により変換され、変換結果ｃ２’が得られる。また、３層目の隠れ変数ｃ３は、２層目の隠れ変数ｃ２の変換結果ｃ２’の値により変換され、変換結果ｃ３’が得られる。そして、信号変更装置１００は、個体性を表す隠れ変数ｚ３と、変換結果ｃ３’とを入力とし、生成器としてのニューラルネットワークＧ３により、画像データを生成する。
【００９８】
また、ニューラルネットワークの学習では、信号変更装置１００は、図９に示すように、１層目の隠れ変数ｃ１及び個体性を表す隠れ変数ｚ１を入力とし、画像データを生成するニューラルネットワークＧ１、識別器としてのニューラルネットワークＤ１、及び、近似分布としてのニューラルネットワークＱ１を学習する。また、信号変更装置１００は、２層目の隠れ変数の変換結果ｃ２’及び個体性を表す隠れ変数ｚ２を入力とし、画像データを生成するニューラルネットワークＧ２、識別器としてのニューラルネットワークＤ２、及び、近似分布としてのニューラルネットワークＱ２を学習する。さらに、信号変更装置１００は、３層目の隠れ変数の変換結果ｃ３’及び個体性を表す隠れ変数ｚ３を入力とし、画像データを生成するニューラルネットワークＧ３、識別器としてのニューラルネットワークＤ３、及び、近似分布としてのニューラルネットワークＱ３を学習する。なお、図９において、Ｐ１，Ｐ２，Ｐ３は、それぞれ、識別器としてのニューラルネットワークＤ１，Ｄ２，Ｄ３の識別結果である。また、１層目〜３層目においてそれぞれ得られるｃ１、ｃ２’、ｃ３’は、近似分布としてのニューラルネットワークＱ１，Ｑ２，Ｑ３によって予測された、属性を表す隠れ変数である。
【００９９】
このように、信号変更装置１００は、１層目の隠れ変数に対応するニューラルネットワークを最初に学習し、その学習結果をもとに一層深い層の隠れ変数に対応するニューラルネットワークを学習することを再帰的に行って、一階層ずつ、生成器としてのニューラルネットワーク、識別器としてのニューラルネットワーク、及び近似分布としてのニューラルネットワークを学習する。これにより、浅い階層において、抽象的な概念が最初に獲得され、階層が深くなるに従って、徐々に概念を詳細化することができる。
【０１００】
＜本発明の第２の実施の形態に係る信号変更装置の構成＞
本発明の第２の実施の形態に係る信号変更装置１００において、入力部１０は、学習データとして、複数の画像データｘを受け付ける。また、入力部１０は、変更対象となる画像データｘを受け付ける。
【０１０１】
まず、学習部３０は、あるデータ分布から個体性を表す隠れ変数ｚ１、ｚ２、ｚ３及び各階層における各属性を表す隠れ変数ｃ１、ｃ２、ｃ３を生成する。各隠れ変数は、例えば各階層における属性の有無や正負を表す。しかし、隠れ変数は、特にこれらに限定されるものではない。学習部３０は、個体性を表す隠れ変数ｚ１、ｚ２、ｚ３及び各階層における各属性を表す隠れ変数ｃ１、ｃ２、ｃ３を乱数を用いて生成してもよい。学習部３０は、入力された学習データに含まれる真の画像データｘと、生成された個体性を表す隠れ変数ｚ１、ｚ２、ｚ３と各階層における各属性を表す隠れ変数ｃ１、ｃ２、ｃ３とを入力とする。そして、学習部３０は、個体性を表す隠れ変数ｚ１、ｚ２、ｚ３及び各属性を表す隠れ変数ｃ１、ｃ２、ｃ３から、画像データを生成するための生成器としてのニューラルネットワーク（例えば、ＣＮＮ）と、生成された画像データが真の画像データと同一の分布に従うか否かを識別する識別器としてのニューラルネットワーク（例えば、ＣＮＮ）とを、互いに競合する最適化条件に従い学習する。同時に、学習部３０は、生成された画像データについての各属性を表す隠れ変数を推定する近似分布としてのニューラルネットワーク（例えば、ＣＮＮ）については、情報量の下限を最大化するように学習を行う。学習部３０は、上記の処理を、各階層に対して再帰的に繰り返し行う。
【０１０２】
具体的には、学習部３０は、まず、１層目に対して、入力された学習データに含まれる真の画像データｘと、生成された個体性を表す隠れ変数ｚ１と、１層目の各属性を表す隠れ変数ｃ１とを入力とする。
【０１０３】
そして、学習部３０は、生成された個体性を表す隠れ変数ｚ１と、１層目の各属性を表す隠れ変数ｃ１と、生成器としてのニューラルネットワークＧ１とを用いて、画像データを生成する。
【０１０４】
そして、学習部３０は、生成された画像データを、なるべく識別器が、真の画像データｘと同一の分布に従うと識別する制約を満たすように、生成器としてのニューラルネットワークＧ１のパラメータを更新する。すなわち、生成された画像データを真の画像データｘであると識別器が識別するように、ニューラルネットワークＧ１のパラメータが更新される。
【０１０５】
また、学習部３０は、生成された画像データを、なるべく識別器が、真の画像データｘと同一の分布に従わないと識別する制約を満たし、かつ、真の画像データｘを、識別器が、真の画像データと同一の分布に従うと識別する制約を満たすように、識別器としてのニューラルネットワークＤ１のパラメータを更新する。
【０１０６】
また、学習部３０は、生成された画像データについての１層目の各属性を表す隠れ変数ｃ１を予測する近似分布としてのニューラルネットワークＱ１について、隠れ変数ｃ１と、隠れ変数ｃ１から生成された画像データの相関（情報量）の下限が最大化するように、近似分布としてのニューラルネットワークＱ１のパラメータを更新する。
【０１０７】
次に、学習部３０は、２層目に対して、入力された学習データに含まれる真の画像データｘと、近似分布としてのニューラルネットワークＱ１によって予測された１層目の各属性を表す隠れ変数ｃ１と、生成された個体性を表す隠れ変数ｚ２と、２層目の各属性を表す隠れ変数ｃ２とを入力とする。このとき、２層目の各属性を表す隠れ変数ｃ２’は、１層目の各属性を表す隠れ変数ｃ１の値により、２層目の各属性を表す隠れ変数ｃ２を変換することにより得られる。変換の一例としては、２層目の各属性を表す隠れ変数ｃ２と１層目の各属性を表す隠れ変数ｃ１とを掛け合わせることが考えられる。
【０１０８】
また、学習部３０は、生成された個体性を表す隠れ変数ｚ２と、２層目の各属性を表す隠れ変数ｃ２の変換結果ｃ２’と、生成器としてのニューラルネットワークＧ２とを用いて、画像データを生成する。
【０１０９】
そして、学習部３０は、生成された画像データを、なるべく識別器が、１層目の各属性を表す隠れ変数ｃ１の下で真の画像データと同一の分布に従うと識別する制約を満たすように、生成器としてのニューラルネットワークＧ２のパラメータを更新する。すなわち、生成された画像データを真の画像データであると識別器が識別するように、ニューラルネットワークＧ２のパラメータが更新される。
【０１１０】
また、学習部３０は、生成された画像データを、なるべく識別器が、１層目の各属性を表す隠れ変数ｃ１の下で真の画像データと同一の分布に従わないと識別する制約を満たし、かつ、真の画像データｘを、識別器が、真の画像データと同一の分布に従うと識別する制約を満たすように、識別器としてのニューラルネットワークＤ２のパラメータを更新する。
【０１１１】
また、学習部３０は、１層目の各属性を表す隠れ変数ｃ１の下で、生成された画像データについての２層目の各属性を表す隠れ変数ｃ２’を予測する近似分布としてのニューラルネットワークＱ２について、隠れ変数ｃ２’と、隠れ変数ｃ２’から生成された画像データの相関（情報量）の下限が最大化するように、近似分布としてのニューラルネットワークＱ２のパラメータを更新する。
【０１１２】
次に、学習部３０は、３層目に対して、入力された学習データに含まれる真の画像データｘと、近似分布としてのニューラルネットワークＱ２によって予測された２層目の各属性を表す隠れ変数ｃ２’と、生成された個体性を表す隠れ変数ｚ３と、３層目の各属性を表す隠れ変数ｃ３とを入力とする。このとき、３層目の各属性を表す隠れ変数ｃ３’は、２層目の各属性を表す隠れ変数ｃ２の変換結果ｃ２’の値により、３層目の各属性を表す隠れ変数ｃ３を変換することにより得られる。
【０１１３】
また、学習部３０は、生成された個体性を表す隠れ変数ｚ３と、３層目の各属性を表す隠れ変数ｃ３の変換結果ｃ３’と、生成器としてのニューラルネットワークＧ３とを用いて、画像データを生成する。
【０１１４】
そして、学習部３０は、生成された画像データを、なるべく識別器が、２層目の各属性を表す隠れ変数ｃ２の変換結果ｃ２’の下で真の画像データと同一の分布に従うと識別する制約を満たすように、生成器としてのニューラルネットワークＧ３のパラメータを更新する。すなわち、生成された画像データを真の画像データであると識別器が識別するように、ニューラルネットワークＧ３のパラメータが更新される。
【０１１５】
また、学習部３０は、生成された画像データを、なるべく識別器が、２層目の各属性を表す隠れ変数ｃ２の変換結果ｃ２’の下で真の画像データと同一の分布に従わないと識別する制約を満たし、かつ、真の画像データｘを、識別器が、真の画像データと同一の分布に従うと識別する制約を満たすように、識別器としてのニューラルネットワークＤ３のパラメータを更新する。
【０１１６】
また、学習部３０は、２層目の各属性を表す隠れ変数ｃ２の変換結果ｃ２’の下で、生成された画像データについての３層目の各属性を表す隠れ変数ｃ３’を予測する近似分布としてのニューラルネットワークＱ３について、隠れ変数ｃ３’と、隠れ変数ｃ３’から生成された画像データの相関（情報量）の下限が最大化するように、近似分布としてのニューラルネットワークＱ３のパラメータを更新する。
【０１１７】
学習部３０は、上記の処理を、学習データ毎に行って、各種のニューラルネットワークのパラメータを繰り返し更新する。
【０１１８】
最終的に得られた、生成器としてのニューラルネットワークＧ１、Ｇ２、Ｇ３と、識別器としてのニューラルネットワークＤ１、Ｄ２、Ｄ３と、近似分布としてのニューラルネットワークＱ１、Ｑ２、Ｑ３とは、ニューラルネットワーク記憶部４０に記憶される。
【０１１９】
次に、学習部３０は、入力された学習データに含まれる画像データｘを入力とし、エンコーダとしてのニューラルネットワークを用いて、個体性を表す隠れ変数ｚ１、ｚ２、ｚ３を推定し、近似分布としてのニューラルネットワークＱ１、Ｑ２、Ｑ３を用いて、各属性を表す隠れ変数ｃ１、ｃ２’、ｃ３’を抽出する。
【０１２０】
また、学習部３０は、推定された個体性を表す隠れ変数ｚ３と、抽出された各属性を表す隠れ変数ｃ３’とを入力とし、生成器としてのニューラルネットワークＧ３を用いて、画像データを生成する。
【０１２１】
また、学習部３０は、生成された画像データが、元の画像データｘと同じになる制約を満たすように、エンコーダとしてのニューラルネットワークのパラメータを更新する。
【０１２２】
学習部３０は、上記の処理を、学習データ毎に行って、エンコーダとしてのニューラルネットワークのパラメータを繰り返し更新する。
【０１２３】
最終的に得られたエンコーダとしてのニューラルネットワークは、ニューラルネットワーク記憶部４０に記憶される。
【０１２４】
予測部５０は、入力部１０で受け付けた変更対象の画像データを、１層目の各属性を表す隠れ変数ｃ１を予測するための近似分布としてのニューラルネットワークＱ１に入力し、１層目の各属性を表す隠れ変数ｃ１を予測する。
【０１２５】
予測部５０は、１層目の各属性を表す隠れ変数ｃ１を変数抽出部５２に出力する。
【０１２６】
変数抽出部５２は、入力された変更対象の画像データｘを入力とし、ニューラルネットワーク記憶部４０に記憶された、エンコーダとしてのニューラルネットワークを用いて、変更対象の画像データｘの個体性を表す隠れ変数ｚ１、ｚ２、ｚ３を推定し、近似分布としてのニューラルネットワークＱ２、Ｑ３を用いて、２層目以降の各属性を表す隠れ変数ｃ２’、ｃ３’を抽出する。変数抽出部５２は、予測部５０が予測した隠れ変数ｃ１および抽出した隠れ変数ｃ２’、ｃ３’を信号属性値表示部５４に出力する。
【０１２７】
信号属性値表示部５４は、変更対象の画像データｘの各属性を表す隠れ変数ｃ１、ｃ２’、ｃ３’を、値の変更指示を受付可能な状態で出力部９０に表示させる。具体的には、信号属性値表示部５４は、属性変更画面９２に、各属性を表す隠れ変数ｃ１、ｃ２’、ｃ３’の値の変更指示を受付可能な状態として、各属性を表す隠れ変数ｃ１、ｃ２’、ｃ３’の値を示すラジオボタン９４又はスライドバー９６で、隠れ変数ｃ１、ｃ２’、ｃ３’の値を表示する。
【０１２８】
また、属性変更画面９２の参照画像表示領域９８Ｂには、属性の転写元となる参照画像データが表示され、参照画像表示領域９８Ｂに対応して、参照画像データを選択するためのラジオボタン９４が表示されている。
【０１２９】
変更後属性値取得部５６は、属性変更画面９２において、変更対象の属性を表す隠れ変数ｃ１、ｃ２’、ｃ３’の値の変更指示（例えば、各属性を表す隠れ変数ｃ３’の値を示すラジオボタン９４又はスライドバー９６に対する操作）を受け付けると、変更対象の属性を表す隠れ変数ｃ１、ｃ２’、ｃ３’の変更後の値を取得する。なお、属性を表す隠れ変数ｃ１の値の変更指示を受け付けた場合には、関連する属性を表す隠れ変数ｃ２’、ｃ３’の値も変更される。また、属性を表す隠れ変数ｃ２’の値の変更指示を受け付けた場合には、関連する属性を表す隠れ変数ｃ３’の値も変更される。
【０１３０】
また、属性変更画面９２において、参照画像データを選択するためのラジオボタン９４に対する操作を受け付けた場合には、まず、予測部５８は、選択された参照対象の画像データを、１層目の各属性を表す隠れ変数ｃ１を予測するための近似分布としてのニューラルネットワークＱ１に入力し、１層目の各属性を表す隠れ変数ｃ１を予測する。また、変数抽出部６０は、選択された参照対象の画像データｘを入力とし、ニューラルネットワーク記憶部４０に記憶された、エンコーダとしてのニューラルネットワークを用いて、参照対象の画像データｘの個体性を表す隠れ変数ｚ１、ｚ２、ｚ３を推定し、近似分布としてのニューラルネットワークＱ２、Ｑ３を用いて、各属性を表す隠れ変数ｃ２’、ｃ３’を抽出する。そして、変更後属性値取得部５６は、求められた各属性を表す隠れ変数ｃ３’を、変更対象の属性を表す隠れ変数ｃ３’の変更後の値として取得する。
【０１３１】
変更部６２は、予測部５０および変数抽出部５２によって求められた各属性を表す隠れ変数ｃ１、ｃ２’、ｃ３’のうち、変更後属性値取得部５６によって取得した変更対象の属性を表す隠れ変数ｃ３’を、変更後の値で置き換えることにより、変更対象の属性を表す隠れ変数ｃ３’を変更する。
【０１３２】
信号生成部６４は、変数抽出部５２によって推定された個体性を表す隠れ変数ｚ３と、変更部６２による変更後の各属性を表す隠れ変数ｃ３’とを入力とし、ニューラルネットワーク記憶部４０に記憶された、生成器としてのニューラルネットワークＧ３を用いて、画像データを生成する。
【０１３３】
なお、第２の実施の形態に係る信号変更装置１００の他の構成及び作用については、第１の実施の形態と同様であるため、説明を省略する。
【０１３４】
以上説明したように第２の実施の形態に係る信号変更装置は、３層目の各属性を表す隠れ変数の変換結果の値を、変更指示に従って変更し、エンコーダとしてのニューラルネットワークにより抽出された個体性を表す隠れ変数、及び変更後の３層目の各属性を表す隠れ変数の変換結果を入力として、生成器としてのニューラルネットワークを用いて、画像データを生成する。これにより、画像データを適切に変更することができる。
【０１３５】
なお、本発明は、上述した実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【０１３６】
例えば、上述した実施の形態では、ニューラルネットワークの学習を行う学習部３０を含むように信号変更装置１００を構成していた。しかし、本発明は、こうした構成に限定されるものではない。例えば、信号変更装置とは別に、学習部３０を含む学習装置を設け、予測部、変数抽出部、信号出力部、信号属性値表示部、変更後属性値取得部、変更部、信号生成部、及び、変更後信号出力部を含むように信号変更装置を構成してもよい。
【０１３７】
また、上述した実施の形態では、入力される信号が、顔画像データである場合を例に説明した。しかし、入力される信号は、これに限定されるものではなく、顔以外の画像データであってもよい。例えば、入力される信号が、文字画像データであってもよい。この場合には、属性ベクトルｙが、文字の種類（例：ａ，ｂ，ｃ，…，１，２，…）の各々の有無を表し、属性を表す隠れ変数ｚａが、文字内の多様性（例：どんな４か？を表現）を表す。あるいは、属性ベクトルｙが、文字のフォント（例：ゴシック体，明朝体，太字，斜体字…）の各々の有無を表し、属性を表す隠れ変数ｚａが、フォント内の多様性（例：どんなゴシック体か？を表現）を表す。
【０１３８】
また、入力される信号が、動物画像データ（例えば、鳥画像データ）であってもよい。この場合には、属性ベクトルｙが、色（例：赤）の有無を表し、属性を表す隠れ変数ｚａが、色内の多様性（例：どこがどのように赤い鳥か？を表現）を表す。あるいは、属性ベクトルｙが、パーツの形状（例：嘴が丸い／嘴が尖っている）を表し、属性を表す隠れ変数ｚａが、パーツ内の多様性（例：どう丸い嘴か？を表現）を表す。
【０１３９】
また、入力される信号が、背景画像データであってもよい。この場合には、属性ベクトルｙが、背景のタイプ（例：海、山、川、家、道路）を表し、属性を表す隠れ変数ｚａが、背景内の多様性（例：どんな海か？を表現）を表す。
【０１４０】
また、入力される信号が、家画像データであってもよい。この場合には、属性ベクトルｙが、色（例：赤）の有無を表し、属性を表す隠れ変数ｚａが、色内の多様性（例：どこがどのように赤い家か？を表現）を表す。
【０１４１】
また、入力される信号が、建物画像データであってもよい。この場合には、属性ベクトルｙが、建物の種類（例：ビル、戸建、タワー）の有無を表し、属性を表す隠れ変数ｚａが、建物内の多様性（例：どのようなビルか？を表現）を表す。あるいは、属性ベクトルｙが、パーツの形状（例：屋根が平ら、屋根が丸い、屋根が三角）の有無を表し、属性を表す隠れ変数ｚａが、パーツ内の多様性（例：屋根がどのように平らか？を表現）を表す。
【０１４２】
また、上述した実施の形態では、入力される信号が、画像データである場合を例に説明した。しかし、入力される信号は、これに限定されるものではなく、画像データ以外の信号であってもよい。例えば、入力される信号は、音声信号（あるいは楽曲信号）、テキストデータ、または、動画データであってもよい。
【０１４３】
音声信号を入力とする場合には、信号変更装置１００は、個体性を表す隠れ変数と、属性(音声信号の発生源である人に関する属性（例えば、魅力、男性／女性、若い／年寄り、感情、方言など）や、音声信号を構成する要素に関する属性（例えば、速い／ゆっくり、高い／低い）)を表す隠れ変数とを抽出した後、属性を表す隠れ変数を変更して、音声信号を再構成することができる。この場合、信号出力部５３または変更後信号出力部６６は、図１０に示すように、属性変更画面２９２の音声表示領域２９８Ａ、２９８Ｂに、変更対象の音声データの音声波形及び音声スペクトログラム又は変更後の音声データの音声波形及び音声スペクトログラムを表示させる。また、信号属性値表示部５４は、属性変更画面２９２に、各属性を表す隠れ変数ｚａ’の値の変更指示を受付可能な状態として、各属性を表す隠れ変数ｚａ’の値を示すラジオボタン９４又はスライドバー９６で、各属性を表す隠れ変数ｚａ’の値を表示する。また、属性変更画面２９２の参照音声表示領域２９８Ｃには、属性の転写元となる参照音声信号の音声波形又はスペクトログラムが表示され、参照音声表示領域２９８Ｃに対応して、参照音声信号を選択するためのラジオボタン９４が表示されている。また、属性変更画面２９２には、属性の転写元となる参照音声信号から転写する属性を選択するためのラジオボタン２９４が表示されている。また、属性変更画面２９２には、変更対象の音声信号、変更後の音声信号、または参照音声信号を再生することを指示するためのボタン２９９も表示されている。
【０１４４】
テキストデータを入力とする場合には、信号変更装置１００は、個体性を表す隠れ変数と、属性（テキストデータの発生源である人に関する属性（例えば、丁寧度、男性／女性など）や、テキストデータを構成する要素に関する属性（例えば、抽象的／具体的、感情、ジャンル、口語／文語、フォーマル／ｎｏｔフォーマル）)を表す隠れ変数とを抽出した後、属性を表す隠れ変数を変更して、テキストデータを再構成することができる。この場合、信号出力部５３または変更後信号出力部６６は、図１１に示すように、属性変更画面３９２のテキスト表示領域３９８Ａに、変更対象のテキストデータ又は変更後のテキストデータを表示させる。また、信号属性値表示部５４は、属性変更画面３９２に、各属性を表す隠れ変数ｚａ’の値の変更指示を受付可能な状態として、各属性を表す隠れ変数ｚａ’の値を示すラジオボタン９４又はスライドバー９６で、各属性を表す隠れ変数ｚａ’の値を表示する。また、属性変更画面３９２の参照テキスト表示領域３９８Ｂには、属性の転写元となる参照テキストデータが表示され、参照テキスト表示領域３９８Ｂに対応して、参照テキストデータを選択するためのラジオボタン９４が表示されている。また、属性変更画面３９２には、属性の転写元となる参照テキストデータから転写する属性を選択するためのラジオボタン２９４が表示されている。
【０１４５】
動画データを入力とする場合には、信号変更装置１００は、個体性を表す隠れ変数と、属性(動画データを構成する要素に関する属性（例えば、コミカル度、古い／新しい、実写／アニメ、感情、ジャンルなど）)を表す隠れ変数とを抽出した後、属性を表す隠れ変数を変更して、動画データを再構成することができる。この場合、信号出力部５３または変更後信号出力部６６は、図１２に示すように、属性変更画面４９２の動画表示領域４９８Ａに、変更対象の動画データ又は変更後の動画データを表示させる。また、信号属性値表示部５４は、属性変更画面４９２に、各属性を表す隠れ変数ｚａ’の値の変更指示を受付可能な状態として、各属性を表す隠れ変数ｚａ’の値を示すラジオボタン９４又はスライドバー９６で、各属性を表す隠れ変数ｚａ’の値を表示する。また、属性変更画面４９２の参照動画表示領域４９８Ｂには、属性の転写元となる参照動画データが表示され、参照動画表示領域４９８Ｂに対応して、参照動画データを選択するためのラジオボタン９４が表示されている。また、属性変更画面４９２には、属性の転写元となる参照動画データから転写する属性を選択するためのラジオボタン２９４が表示されている。また、属性変更画面４９２には、変更対象の動画データ、変更後の動画データ、または参照動画データを再生することを指示するためのボタン４９９も表示されている。
【０１４６】
なお、上記の実施の形態では、各属性を表す隠れ変数を変更する場合を例に説明した。しかし、変更の対象は、これに限定されるものではない。例えば、個体性を表す隠れ変数の値の変更指示を受け付けて、各属性を表す隠れ変数はそのままとし、画像データから抽出された個体性を表す隠れ変数を変更し、画像データを再構成するようにしてもよい。
【０１４７】
また、画像データを再構成した場合の再構成誤差を考慮して、再構成した画像データを補正するようにしてもよい。例えば、以下の式に従って、属性を表す隠れ変数を変更し、かつ、生成器としてのニューラルネットワークを用いて生成した画像データｘｍｏｄを補正するようにしてもよい。
【０１４８】
【数１１】
2018203549.tif 000013
【０１４９】
ただし、ｘｒｅｃは、属性を表す隠れ変数を変更せずに再構成した画像データであり、ｘは、変更対象の画像データであり、Ｍは、以下の式に従って予め求められたマスク画像である。
【０１５０】
【数１２】
2018203549.tif 000014
【０１５１】
ここで、ｇは、ガウシアン分布を表し、σは、ΔのＲＧＢ（red, green, blue）に関する平均の絶対値である
【数１３】
2018203549.tif 000015
に対する当該ガウシアン分布の分散を表し、αは、当該ガウシアン分布の広がりを表している。
上述では、マスク画像の算出にガウシアン分布を用いる場合を例に説明したが、ラプラシアン分布など任意の分布を用いてもよい。差分画像のノルムの計算に絶対値の平均値を用いる場合を例に説明したが、Ｌ２ノルムなど、任意のノルムを用いてもよい。輝度値ごとにマスク画像を算出してもよい。
【０１５２】
また、上述した実施の形態では、識別器、生成器、予測器、及び近似分布としてのニューラルネットワークとして、ＣＮＮを用いる場合を例に説明した。しかし、ニューラルネットワークの構造は、これに限定されるものではなく、他のニューラルネットワーク構造を用いてもよい。例えば、時系列性を考慮したモデルであるＲＮＮ（Recurrent Neural Network、例えばＬＳＴＭ（Long short-term memory）など）やＦｕｌｌｙ  Ｃｏｎｎｅｃｔｅｄなどを用いてもよい。
【０１５３】
また、上述した実施の形態では、エンコーダとしてのニューラルネットワークの出力として、隠れ変数そのものを出力する場合を例に説明した。しかし、エンコーダとしてのニューラルネットワークの出力は、これに限定されるものではない。例えば、エンコーダとしてのニューラルネットワークの出力を、隠れ変数の分布に関するパラメータ（例えば、ガウシアン分布の場合、平均と標準偏差）とし、その分布に関するパラメータに従ってサンプリングして隠れ変数を得るようにしてもよい。
【０１５４】
また、上記の第２の実施の形態では、エンコーダとしてのニューラルネットワークが、個体性を表す隠れ変数ｚ１、ｚ２、ｚ３を推定し、近似分布としてのニューラルネットワークＱ２、Ｑ３を用いて、属性を表す隠れ変数ｃ２’、ｃ３’を予測し、予測器としてのニューラルネットワークを用いて隠れ変数ｃ１を予測する場合を例に説明した。しかし、エンコーダとしてのニューラルネットワークが、属性を表す隠れ変数ｃ１、ｃ２、ｃ３と個体性を表す隠れ変数ｚ１、ｚ２、ｚ３を同時に推定するようにしてもよい。あるいは、エンコーダとしてのニューラルネットワークが、属性を表す隠れ変数ｃ２、ｃ３ではなく、属性を表す隠れ変数ｃ２’、ｃ３’を直接推定するようにしてもよい。
また、エンコーダとしてのニューラルネットワークを使わずに、生成器としてのニューラルネットワークに任意の個体性を表す隠れ変数ｚ１、ｚ２、ｚ３を入力し、出力が目的画像ｘに近づくように勾配法で個体性を表す隠れ変数ｚ１、ｚ２、ｚ３を更新していくことで、最適な個体性を表す隠れ変数ｚ１、ｚ２、ｚ３を求めるようにしてもよい。また、予測器としてのニューラルネットワークで属性を表す隠れ変数ｃ１を求め、エンコーダとしてのニューラルネットワークで、属性を表す隠れ変数ｃ２’、ｃ３’と個体性を表す隠れ変数ｚ１、ｚ２、ｚ３を求めた後、これらを初期値にして、生成器としてのニューラルネットワークに個体性を表す隠れ変数ｚ１、ｚ２、ｚ３を入力し、出力が目的画像ｘに近づくように勾配法で個体性を表す隠れ変数ｚ１、ｚ２、ｚ３を更新していくことで、最適な個体性を表す隠れ変数ｚ１、ｚ２、ｚ３を求めるようにしてもよい。
また、エンコーダとしてのニューラルネットワークを用いて、個体性を表す隠れ変数ｚ１、ｚ２、ｚ３と同時に、属性を表す隠れ変数ｃ２、ｃ３を推定する場合には、エンコーダとしてのニューラルネットワークは、推定された各属性を表す隠れ変数ｃ２、ｃ３と、予測された１層目の各属性を表す隠れ変数ｃ１とに基づいて、各属性を表す隠れ変数ｃ２’、ｃ３’を求める。各属性を表す隠れ変数ｃ３’は、以下のように得られる。
まず、２層目の各属性を表す隠れ変数ｃ２’が、１層目の各属性を表す隠れ変数ｃ１の値により、２層目の各属性を表す隠れ変数ｃ２を変換することにより得られる。次に、３層目の各属性を表す隠れ変数ｃ３’が、２層目の各属性を表す隠れ変数ｃ２の変換結果ｃ２’の値により、３層目の各属性を表す隠れ変数ｃ３を変換することにより得られる。
また、エンコーダとしてのニューラルネットワーク、または、予測器としてのニューラルネットワークを生成器としてのニューラルネットワークおよび識別器としてのニューラルネットワークと一緒に学習してもよい。
【０１５５】
また、上記の第２の実施の形態では、学習データに含まれる画像データから、１層目の各属性を表す隠れ変数ｃ１を予測して、学習に用いる場合を例に説明した。しかし、１層目の各属性を表す隠れ変数ｃ１の与え方は、これに限定されるものではない。例えば、学習する際に、１層目の各属性を表す隠れ変数ｃ１を学習データとして入力するようにしてもよい。
【０１５６】
また、１層目の各属性を表す隠れ変数ｃ１だけでなく、任意の階層の各属性を表す隠れ変数も学習データとして入力して、より深い階層を学習するようにしてもよい。
【０１５７】
また、上記の第１の実施の形態では、学習データに含まれる全ての画像データｘについて、属性ベクトルｙが付与されている場合を例に説明した。しかし、属性ベクトルｙが付与される画像データｘは、これに限定されるものではない。例えば、学習データに含まれる一部の画像データｘについてだけ、属性ベクトルｙが付与されていてもよい。あるいは、学習データが属性ベクトルｙを含まずともよい。この場合、信号変更装置は、第２の実施の形態の信号変更装置が属性ベクトルｙに対応する各属性を表す隠れ変数ｃ１を推定するのと同様に、属性ベクトルｙを推定してもよい。信号変更装置は、推定した属性ベクトルｙに基づいて、各ニューラルネットワークを学習してもよい。同様に、第２の実施の形態の場合についても、任意の階層の各属性を表す隠れ変数を学習データとして入力するときに、学習データに含まれる一部の画像データｘについてだけ隠れ変数を付与するようにしてもよい。
【０１５８】
第２の実施の形態の信号変更装置が、１つ前の層の各属性を表す隠れ変数ｃｉ−１’の値により、隠れ変数ｃｉを変換して隠れ変数ｃｉ’を得る場合について説明した。しかし、信号変更装置は、これに限定されることなく、隠れ変数ｃｉ’に対応する層より浅い層の隠れ変数ｃｊ’（ｊ＝１，２，…，ｉ−１）のうち少なくとも１つにより、隠れ変数ｃｉを変換して隠れ変数ｃｉ’を得てもよい。例えば、信号変更装置は、隠れ変数ｃｉ’を得る際に、隠れ変数ｃｉ’に対応する層より２つ浅い層の隠れ変数ｃｉ−２’により、隠れ変数ｃｉを変換して隠れ変数ｃｉ’を得てもよい。更に、信号変更装置は、隠れ変数ｃｉ’に対応する層より浅い層の隠れ変数ｃｊ’（ｊ＝１，２，…，ｉ−１）と隠れ変数ｃｉ’との予め定められた関係に基づいて、隠れ変数ｃｉ’を得てもよい。
【０１５９】
第１の実施の形態の信号変更装置における生成器２において、隠れ変数ｚａを属性ベクトルｙで変換する処理をニューラルネットワークが行ってもよい。学習部は、隠れ変数ｚａを変換するニューラルネットワークの学習を、生成器としてのニューラルネットワークＧの学習とともに行ってもよい。第２の実施の形態の信号変更装置における生成器２において、隠れ変数ｃｉを隠れ変数ｃｉ−１’で変換して隠れ変数ｃｉ’を得る処理をニューラルネットワークが行ってもよい。学習部は、隠れ変数ｃｉ’を得るニューラルネットワークの学習を、生成器としてのニューラルネットワークＧｉの学習とともに行ってもよい。
【０１６０】
第１の実施の形態における信号変更装置が、カテゴリ分布又は一様分布などのデータ分布から隠れ変数ｚｉ、ｚａを生成する場合について説明した。しかし、隠れ変数ｚｉ、ｚａを生成する方法は、これに限定されない。例えば、信号変更装置は、ガウシアン分布、ディリクレ分布などを含む任意の分布に基づいて、隠れ変数ｚｉ、ｚａを生成してもよい。第２の実施の形態における信号変更装置は、同様に、ガウシアン分布、ディリクレ分布などを含む任意の分布に基づいて、隠れ変数ｚ１，ｚ２，ｚ３，ｃ１，ｃ２，ｃ３を生成してもよい。あるいは、第１及び第２の実施の形態における信号変更装置は、隠れ変数それぞれを生成するニューラルネットワークを備えてもよい。
【０１６１】
第１及び第２の実施の形態における信号変更装置が、生成器としてのニューラルネットワークＧと識別器としてのニューラルネットワークＤとの学習における最適化条件として式（５）で表される目的関数を用いる場合について説明した。しかし、生成器としてのニューラルネットワークＧと識別器としてのニューラルネットワークＤとの学習における最適化条件を表す目的関数は、これに限定されない。例えば、信号変更装置は、Least Squares ＧＡＮ、Wasserstein ＧＡＮなどを含む任意の拡張モデルを用いてもよい。
【０１６２】
第１及び第２の実施の形態における識別器としてのニューラルネットワークＤが、生成器により生成される画像データが属性ベクトルの下で真の画像データと同一の分布に従うか否かを識別する場合について説明した。しかし、識別器としてのニューラルネットワークＤが識別する対象は、これに限定されない。例えば、識別器としてのニューラルネットワークＤは、生成される画像データが真の画像データと同一の分布に従うか否かを識別してもよい。この場合、生成器としてのニューラルネットワークＧと、識別器としてのニューラルネットワークＤとの学習における目的関数に、画像データが属性ベクトルを含むか否かの識別結果を加えてもよい。画像データが属性ベクトルを含むとは、属性ベクトルが示す属性（特徴）が画像データに含まれていることである。画像データが属性ベクトルを含むか否かの識別は、例えば、Ｐ（ｃ１｜ｘ）及びＰ（ｃ｜ｘ，ｐ）近似分布を推定するニューラルネットワークＱｌ（ｌ＝１，２，…，Ｌ）が行ってもよい。
【０１６３】
画像データが属性ベクトルを含むか否かの識別結果を、最適化条件としての目的関数に加える場合、例えば、目的関数は式（９）で表される。式（９）で表される目的関数を用いる学習では、生成器としてのニューラルネットワークＧと、識別器としてのニューラルネットワークＤと、Ｐ（ｃ１｜ｘ）及びＰ（ｃ｜ｘ，ｐ）近似分布を推定するニューラルネットワークＱｌ（ｌ＝１，２，…，Ｌ）との学習が行われる。
【数１４】
2018203549.tif 000016
【０１６４】
式（９）における、λ１，…，λＬは、トレードオフ・パラメータである。ＬＧＡＮ（Ｄ，Ｇ）は式（１０−１）で表される。ＬＭＩ／ＡＣ（Ｇ，Ｑ１）は、式（１０−２）で表されるＬＭＩ（Ｇ，Ｑ１）と、式（１０−３）で表されるＬＡＣ（Ｇ，Ｑ１）との何れかを用いることを表す。学習データに属性ベクトルが含まれない場合、ＬＭＩ（Ｇ，Ｑ１）が用いられる。学習データに属性ベクトルが含まれる場合、ＬＡＣ（Ｇ，Ｑ１）が用いられる。ＬＨＣＭＩ（Ｇ，Ｑｌ）は、式（１０−４）で表される。
【数１５】
2018203549.tif 000017
【０１６５】
式（１０−１）〜式（１０−４）におけるｘ〜Ｐｄａｔａ（ｘ）は、学習データから真の画像データｘをサンプリングすることを表す。ｚ〜Ｐ（ｚ）は、隠れ変数ｚ（ｚｉ，ｚａ）をあるデータ分布から生成することを表す。ｃ１〜Ｐ（ｃ１）は、１層目の属性ベクトルｃ１をあるデータ分布から生成することを表す。ｘ〜Ｇ（＾ｃＬ，ｚ）は、Ｌ階層における各属性を表す隠れ変数＾ｃＬと隠れ変数ｚ（ｚｉ，ｚａ）に基づいて、生成器としてのニューラルネットワークＧで画像データを生成することを表す。ｃ１，ｘ〜Ｐｄａｔａ（ｃ１，ｘ）は、学習データから真の画像データｘと画像データｘに対応する属性ベクトルｃ１とをサンプリングすることを表す。ｃ〜Ｐ（ｃ｜ｐ）は、Ｐ（ｃ｜ｐ）の分布に従って隠れ変数ｃをサンプリングすることを表す。式（１０−４）におけるｃはｌ層目の各属性を表す隠れ変数であり、ｐは（ｌ−１）層目の各属性を表す隠れ変数である。
【０１６６】
第２の実施の形態の信号変更装置において、生成される画像データが真の画像データと同一の分布に従うか否かを識別器が識別する場合、学習部３０は、図９に示した３層のニューラルネットワークを有する構成に代えて、図１３に示す１層のニューラルネットワークを有する構成を備えてもよい。図１３に示す１層のニューラルネットワークの構成を学習部３０が備える場合、学習部３０は、生成器として動作するニューラルネットワークＧ３と、識別器として動作するニューラルネットワークＤ３と、各属性を表す隠れ変数ｃ１、ｃ２’、ｃ３’の分布を推定するニューラルネットワークＱ１、Ｑ２、Ｑ３とを有する。
各ニューラルネットワークの学習において、学習部３０は、学習対象となる１つのニューラルネットワーク以外の他のニューラルネットワークのパラメータを固定して、学習対象のニューラルネットワークのパラメータを更新する。学習部３０が有するニューラルネットワークそれぞれの学習は、第１及び第２の実施の形態において説明した学習と同様に、学習データごとに繰り返し行われる。
ニューラルネットワークＱ１の学習を行う際、学習部３０は、予め定められた初期値を設定した隠れ変数ｃ２、ｃ３と、あるデータ分布から生成される隠れ変数ｚ３、ｃ１とに基づいて、ニューラルネットワークＱ１のパラメータを更新する。ニューラルネットワークＱ２の学習を行う際、学習部３０は、初期値を設定した隠れ変数ｃ３と、あるデータ分布から生成される隠れ変数ｚ３、ｃ１、ｃ２とに基づいて、ニューラルネットワークＱ２のパラメータを更新する。ニューラルネットワークＱ３の学習を行う際、学習部３０は、あるデータ分布から生成される隠れ変数ｚ３、ｃ１、ｃ２、ｃ３に基づいて、ニューラルネットワークＱ３のパラメータを更新する。
属性を表す隠れ変数ｃ２、ｃ３に設定する初期値は、例えば、隠れ変数ｃ２、ｃ３が取り得る値の期待値、平均値に基づいて決定される。あるいは、隠れ変数ｃ２、ｃ３に含まれる変数の数に基づいて初期値を決定してもよい。ニューラルネットワークＧ３、Ｄ３の学習は、第２の実施の形態において説明した学習と同様である。
【０１６７】
画像データが属性ベクトルを含むか否かの識別は、識別器としてのニューラルネットワークＤが行ってもよい。画像データが属性ベクトルを含むか否かの識別を識別器が行う場合、識別器は、入力される画像データに各属性が含まれるか否かを判定するニュールラルネットワークを更に含んでもよい。
【０１６８】
信号変更装置は、生成した画像データに対して、既知の画像処理技術を適用してもよい。例えば、信号変更装置は、生成した画像に対して超解像処理や画質の補正を行ってもよい。
【０１６９】
上述した実施の形態における信号変更装置および学習装置をコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳ（Operating System）や周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ（Compact Disc）−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また、上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、ＦＰＧＡ（Field Programmable Gate Array）等のプログラマブルロジックデバイスを用いて実現されるものであってもよい。
【産業上の利用可能性】
【０１７０】
本発明は、例えば、画像などの信号を変更するために利用することができる。本発明によれば、信号を適切に変更することができる。
【符号の説明】
【０１７１】
１     エンコーダ
２     生成器
３     識別器
１０   入力部
２０   演算部
３０   学習部
４０   ニューラルネットワーク記憶部
５０   予測部
５２   変数抽出部
５３   信号出力部
５４   信号属性値表示部
５６   変更後属性値取得部
５８   予測部
６０   変数抽出部
６２   変更部
６４   信号生成部
６６   変更後信号出力部
９０   出力部
９２   属性変更画面
９４   ラジオボタン
９６   スライドバー
９８Ａ        画像表示領域
９８Ｂ        参照画像表示領域
１００        信号変更装置
２９２        属性変更画面
２９４        ラジオボタン
２９８Ａ、２９８Ｂ   音声表示領域
２９８Ｃ      参照音声表示領域
２９９        ボタン
３９２        属性変更画面
３９８Ａ      テキスト表示領域
３９８Ｂ      参照テキスト表示領域
４９２        属性変更画面
４９８Ａ      動画表示領域
４９８Ｂ      参照動画表示領域
４９９        ボタン
Ｅ，Ｄ，Ｇ，Ｑ１，Ｑ２，Ｑ３              ニューラルネットワーク
【図１】
2018203549.tif 000018
【図２】
2018203549.tif 000019
【図３】
2018203549.tif 000020
【図４】
2018203549.tif 000021
【図５】
2018203549.tif 000022
【図６】
2018203549.tif 000023
【図７】
2018203549.tif 000024
【図８】
2018203549.tif 000025
【図９】
2018203549.tif 000026
【図１０】
2018203549.tif 000027
【図１１】
2018203549.tif 000028
【図１２】
2018203549.tif 000029
【図１３】
2018203549.tif 000030
【手続補正書】
【提出日】令和1年8月23日(2019.8.23)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
取得された信号を出力する信号出力部と、
前記取得された信号が表現する対象を構成する要素、又は信号発生源に関する属性の値の変更指示を受付可能な状態で、前記属性の値を表示する信号属性値表示部と、
前記属性の値の前記変更指示を受け付けると、変更後の属性の値を取得する変更後属性値取得部と、
前記変更後属性値取得部によって取得された前記変更後の前記属性の値に基づいて、前記変更指示を受け付けた属性の値を変更する変更部と、
前記属性の値が変更された、変更後の信号を出力する変更後信号出力部と、
を含む信号変更装置。
【請求項２】
前記取得された信号および前記変更後の信号の各々は、画像であり、
前記属性は、前記画像が表現する被写体を構成する要素に関する属性である
請求項１記載の信号変更装置。
【請求項３】
前記信号属性値表示部は、前記属性の値の前記変更指示を受付可能な前記状態として、前記属性の値を示すコントローラで、前記属性の値を表示する
請求項１又は２記載の信号変更装置。
【請求項４】
入力された信号の属性を表す隠れ変数を抽出する変数抽出部と、
前記変数抽出部によって抽出された前記隠れ変数の値を、転写元の信号から抽出された属性を表す隠れ変数の値に置き換えることにより、前記抽出された前記隠れ変数の値を変更する変更部と、
前記変更部によって変更された前記隠れ変数から、信号を生成する信号生成部と、
を含む信号変更装置。
【請求項５】
前記取得された信号から、前記信号の個体性を表す第１の隠れ変数と、前記第１の隠れ変数とは独立した第２の隠れ変数であって前記信号の各属性を表す隠れ変数又は前記隠れ変数に基づく隠れ変数と、を含む複数の隠れ変数を抽出し、前記取得された信号に基づく属性ベクトルを用いて前記第２の隠れ変数を変換することにより前記変更後の信号の各属性を表す第３の隠れ変数を取得する変数抽出部をさらに備え、
前記信号属性値表示部は、前記第３の隠れ変数を出力し、
前記変更部は、前記変更後属性値取得部によって取得された前記変更後の前記属性の値に基づいて、前記第３の隠れ変数の値を変更する、
請求項１から３のいずれか一項に記載の信号変更装置。
【請求項６】
前記変更部は、前記変更後属性値取得部によって取得された前記変更後の前記属性の値に基づいて前記第３の隠れ変数の値を置換し、
置換後の第３の隠れ変数の値と、前記第１の隠れ変数の値と、予め学習された少なくとも１つのニューラルネットワークと、を用いて前記変更後の信号を生成する信号生成部をさらに備える、
請求項５に記載の信号変更装置。
【請求項７】
前記少なくとも１つのニューラルネットワークは、信号の個体性を表す第１の隠れ変数と、前記第１の隠れ変数とは独立した第２の隠れ変数であって前記信号の各属性を表す隠れ変数又は前記隠れ変数に基づく隠れ変数を属性ベクトルにより変換した第３の隠れ変数と、に基づいて、信号を生成する生成器としての第１のニューラルネットワークと、
前記生成器により生成される信号が真の信号と同一の分布に従うか否かを識別する識別器としての第２のニューラルネットワークとを互いに競合する最適化条件に従って学習することにより生成される、
請求項６に記載の信号変更装置。
【請求項８】
コンピュータを、請求項１から７のいずれか一項に記載の信号変更装置を構成する各部として機能させるためのプログラム。
【請求項９】
信号出力部が、取得された信号を出力し、
信号属性値表示部が、前記取得された信号が表現する対象を構成する要素、又は信号発生源に関する属性の値の変更指示を受付可能な状態で、前記属性の値を表示し、
変更後属性値取得部が、前記属性の値の前記変更指示を受け付けると、変更後の属性の値を取得し、
変更部が、前記変更後属性値取得部によって取得された前記変更後の前記属性の値に基づいて、前記変更指示を受け付けた属性の値を変更し、
変更後信号出力部が、前記属性の値が変更された、変更後の信号を出力する
信号変更方法。
【請求項１０】
変数抽出部が、入力された信号の隠れ変数を抽出し、
変更部が、前記変数抽出部によって抽出された前記隠れ変数の値を変更し、
信号生成部が、前記変更部によって変更された前記隠れ変数から、信号を生成する
信号変更方法。
【請求項１１】
変数抽出部が、入力された信号の属性を表す隠れ変数を抽出し、
変更部が、前記変数抽出部によって抽出された前記隠れ変数の値を、転写元の信号から抽出された属性を表す隠れ変数の値に置き換えることにより、前記抽出された前記隠れ変数の値を変更し、
信号生成部が、前記変更部によって変更された前記隠れ変数から、信号を生成する
信号変更方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】変更
【補正の内容】
【００１１】
本発明の一態様は、取得された信号を出力する信号出力部と、前記取得された信号が表現する対象を構成する要素、又は信号発生源に関する属性の値の変更指示を受付可能な状態で、前記属性の値を表示する信号属性値表示部と、前記属性の値の前記変更指示を受け付けると、変更後の属性の値を取得する変更後属性値取得部と、前記変更後属性値取得部によって取得された前記変更後の前記属性の値に基づいて、前記変更指示を受け付けた属性の値を変更する変更部と、前記属性の値が変更された、変更後の信号を出力する変更後信号出力部と、を含む信号変更装置である。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１２
【補正方法】変更
【補正の内容】
【００１２】
本発明の一態様は上記の信号変更装置であって、前記取得された信号および前記変更後の信号の各々は、画像であり、前記属性は、前記画像が表現する被写体を構成する要素に関する属性である。
本発明の一態様は上記の信号変更装置であって、前記信号属性値表示部は、前記属性の値の前記変更指示を受付可能な前記状態として、前記属性の値を示すコントローラで、前記属性の値を表示する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１３
【補正方法】変更
【補正の内容】
【００１３】
本発明の一態様は、入力された信号の属性を表す隠れ変数を抽出する変数抽出部と、前記変数抽出部によって抽出された前記隠れ変数の値を、転写元の信号から抽出された属性を表す隠れ変数の値に置き換えることにより、前記抽出された前記隠れ変数の値を変更する変更部と、前記変更部によって変更された前記隠れ変数から、信号を生成する信号生成部と、を含む信号変更装置である。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００１４
【補正方法】変更
【補正の内容】
【００１４】
本発明の一態様は上記の信号変更装置であって、前記取得された信号から、前記信号の個体性を表す第１の隠れ変数と、前記第１の隠れ変数とは独立した第２の隠れ変数であって前記信号の各属性を表す隠れ変数又は前記隠れ変数に基づく隠れ変数と、を含む複数の隠れ変数を抽出し、前記取得された信号に基づく属性ベクトルを用いて前記第２の隠れ変数を変換することにより前記変更後の信号の各属性を表す第３の隠れ変数を取得する変数抽出部をさらに備え、前記信号属性値表示部は、前記第３の隠れ変数を出力し、前記変更部は、前記変更後属性値取得部によって取得された前記変更後の前記属性の値に基づいて、前記第３の隠れ変数の値を変更する。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００１５
【補正方法】変更
【補正の内容】
【００１５】
本発明の一態様は上記の信号変更装置であって、前記変更部は、前記変更後属性値取得部によって取得された前記変更後の前記属性の値に基づいて前記第３の隠れ変数の値を置換し、置換後の第３の隠れ変数の値と、前記第１の隠れ変数の値と、予め学習された少なくとも１つのニューラルネットワークと、を用いて前記変更後の信号を生成する信号生成部をさらに備える。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００１６
【補正方法】変更
【補正の内容】
【００１６】
本発明の一態様は上記の信号変更装置であって、前記少なくとも１つのニューラルネットワークは、信号の個体性を表す第１の隠れ変数と、前記第１の隠れ変数とは独立した第２の隠れ変数であって前記信号の各属性を表す隠れ変数又は前記隠れ変数に基づく隠れ変数を属性ベクトルにより変換した第３の隠れ変数と、に基づいて、信号を生成する生成器としての第１のニューラルネットワークと、前記生成器により生成される信号が真の信号と同一の分布に従うか否かを識別する識別器としての第２のニューラルネットワークとを互いに競合する最適化条件に従って学習することにより生成される。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００１７
【補正方法】変更
【補正の内容】
【００１７】
本発明の一態様は、上記の信号変更装置を構成する各部として機能させるためのプログラムである。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００１８
【補正方法】変更
【補正の内容】
【００１８】
本発明の一態様は、信号出力部が、取得された信号を出力し、信号属性値表示部が、前記取得された信号が表現する対象を構成する要素、又は信号発生源に関する属性の値の変更指示を受付可能な状態で、前記属性の値を表示し、変更後属性値取得部が、前記属性の値の前記変更指示を受け付けると、変更後の属性の値を取得し、変更部が、前記変更後属性値取得部によって取得された前記変更後の前記属性の値に基づいて、前記変更指示を受け付けた属性の値を変更し、変更後信号出力部が、前記属性の値が変更された、変更後の信号を出力する、信号変更方法である。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】００１９
【補正方法】変更
【補正の内容】
【００１９】
本発明の一態様は、変数抽出部が、入力された信号の隠れ変数を抽出し、変更部が、前記変数抽出部によって抽出された前記隠れ変数の値を変更し、信号生成部が、前記変更部によって変更された前記隠れ変数から、信号を生成する、信号変更方法である。
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】００２０
【補正方法】変更
【補正の内容】
【００２０】
本発明の一態様は、変数抽出部が、入力された信号の属性を表す隠れ変数を抽出し、変更部が、前記変数抽出部によって抽出された前記隠れ変数の値を、転写元の信号から抽出された属性を表す隠れ変数の値に置き換えることにより、前記抽出された前記隠れ変数の値を変更し、信号生成部が、前記変更部によって変更された前記隠れ変数から、信号を生成する、信号変更方法である。
【国際調査報告】
2018203549.tif 000031
2018203549.tif 000032