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