JP6831453B2 - 信号検索装置、方法、及びプログラム - Google Patents

信号検索装置、方法、及びプログラム Download PDF

Info

Publication number
JP6831453B2
JP6831453B2 JP2019515738A JP2019515738A JP6831453B2 JP 6831453 B2 JP6831453 B2 JP 6831453B2 JP 2019515738 A JP2019515738 A JP 2019515738A JP 2019515738 A JP2019515738 A JP 2019515738A JP 6831453 B2 JP6831453 B2 JP 6831453B2
Authority
JP
Japan
Prior art keywords
signal
attribute
value
hidden variable
hidden
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019515738A
Other languages
English (en)
Other versions
JPWO2018203555A1 (ja
Inventor
卓弘 金子
卓弘 金子
薫 平松
薫 平松
柏野 邦夫
邦夫 柏野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Publication of JPWO2018203555A1 publication Critical patent/JPWO2018203555A1/ja
Application granted granted Critical
Publication of JP6831453B2 publication Critical patent/JP6831453B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/161Detection; Localisation; Normalisation
    • G06V40/165Detection; Localisation; Normalisation using facial parts and geometric relationships
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/168Feature extraction; Face representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/168Feature extraction; Face representation
    • G06V40/171Local features and components; Facial parts ; Occluding parts, e.g. glasses; Geometrical relationships
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/174Facial expression recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Evolutionary Computation (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Mathematical Physics (AREA)
  • Medical Informatics (AREA)
  • Geometry (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Image Analysis (AREA)

Description

本発明は、信号を検索するための信号検索装置、方法、及びプログラムに関する。
本願は、2017年5月2日に、日本へ出願された特願2017−091735号に基づき優先権を主張し、その内容をここに援用する。
従来より、画像に対して特徴量抽出を行って特徴量を抽出し、抽出された特徴量に基づき、画像を照合することが行われている(非特許文献1。2群2編2章 画像特徴抽出・照合の「概要」を参照)。
また、CNN(Convolutional Neural Networks)を用いて、画像のエンコードを行う方法が知られている(非特許文献2)。
石川、「知識の森」、2群2編2章、電子情報通信学会、2012年 "Deep learning", Y. LeCun, Y. Bengio, G. Hinton、 Nature, 2015, www.nature.com
上記非特許文献1に記載の方法では、同一の画像を検出する精度は高い。しかし、同一の被写体が髪型を変えたり、笑ったりして、被写体の属性が変化した画像の特徴量は、属性が変化する前の画像の特徴量と異なる。このため、被写体の属性が変化した画像が、照合された画像に類似していると認識される可能性は低下する。
本発明は、上記事情を考慮して成されたものであり、属性を変更した信号に類似する信号を検索することができる信号検索装置、方法、及びプログラムを提供することを目的とする。
本発明の一態様は、取得された信号を出力する信号出力部と、信号を蓄積する信号蓄積部と、前記取得された信号が表現する対象を構成する要素、又は信号発生源に関する属性の値の変更指示を受付可能な状態で、前記属性の値を表示する信号属性値表示部と、前記属性の値の前記変更指示を受け付けると、変更後の属性の値を取得する変更後属性値取得部と、前記変更後属性値取得部によって取得された前記変更後の前記属性の値に基づいて前記属性の値を変更した場合の変更後の信号に類似する信号を、前記信号蓄積部に蓄積された前記信号から検索する信号検索部と、を含む信号検索装置である。
本発明の一態様は上記の信号検索装置であって、前記取得された信号、前記信号蓄積部に蓄積された前記信号、前記変更後の信号、および、前記変更後の信号に類似する前記信号の各々は、画像であり、前記属性は、前記画像が表現する被写体を構成する要素に関する属性である。
本発明の一態様は上記の信号検索装置であって、前記信号属性値表示部は、前記属性の値の前記変更指示を受付可能な前記状態として、前記属性の値を示すコントローラで、前記属性の値を表示する。
本発明の一態様は、取得された信号を出力する信号出力部と、信号を蓄積する信号蓄積部と、前記取得された信号が表現する対象を構成する要素、又は信号発生源に関する属性の値を前記取得された信号から抽出する変数抽出部と、前記取得された信号の前記属性の値の変更指示を受付可能な状態で、前記属性の値を表示する信号属性値表示部と、前記属性の値の前記変更指示を受け付けると、変更後の属性の値を取得する変更後属性値取得部と、前記変更後の前記属性の値と、前記信号蓄積部に蓄積された前記信号の各々について抽出された属性の値とに基づいて、前記変更後の前記属性の値に基づいて前記属性の値を変更した場合の変更後の信号に類似する信号を、前記信号蓄積部に蓄積された前記信号から検索する信号検索部と、を含む信号検索装置である。
本発明の一態様は上記の信号検索装置であって、前記信号検索部は、前記変更後の前記属性の値と、前記信号蓄積部に蓄積された前記信号の各々について抽出された前記属性の値とを比較して、前記変更後の信号に類似する前記信号を前記信号蓄積部に蓄積された前記信号から検索する。
本発明の一態様は上記の信号検索装置であって、前記変数抽出部は、予め学習されたニューラルネットワークを用いて、前記取得された信号から、隠れ変数を抽出し、前記隠れ変数は、前記属性を表す隠れ変数を含み、前記変更後属性値取得部は、前記属性の値の前記変更指示を受け付けると、前記変更後の前記属性を表す隠れ変数を取得し、前記信号検索部は、前記変更後の前記属性を表す前記隠れ変数と、前記信号蓄積部に蓄積された前記信号の各々について抽出された前記属性を表す隠れ変数とを比較して、前記変更後の前記属性を表す前記隠れ変数に基づいて前記属性の値を変更した場合の変更後の信号に類似する信号を、前記信号蓄積部に蓄積された前記信号から検索する。
本発明の一態様は上記の信号検索装置であって、前記変数抽出部は、前記取得された信号から、前記信号の個体性を表す第1の隠れ変数と、前記第1の隠れ変数とは独立した第2の隠れ変数であって前記信号の各属性を表す隠れ変数又は前記隠れ変数に基づく隠れ変数と、を含む複数の隠れ変数を抽出し、前記信号属性値表示部は、前記第2の隠れ変数を出力し、前記変更後属性値取得部は、前記第2の隠れ変数を変換することにより変更後の各属性を表す第3の隠れ変数を取得し、前記信号検索部は、前記信号を前記第3の隠れ変数に基づいて変更した信号に類似する信号を、前記信号蓄積部に蓄積された信号から検索する。
本発明の一態様は上記の信号検索装置であって、前記変数抽出部によって抽出された各属性を表す第2の隠れ変数のうち、変更対象の属性を表す隠れ変数の値を、変更後属性値取得部によって取得された変更後の値で置き換えることにより、前記変更対象の属性を表す第2の隠れ変数の値を変更する変更部をさらに備え、前記信号蓄積部は、蓄積された信号に関する第1の隠れ変数と第2の隠れ変数とを前記蓄積されたとともに記憶しており、前記信号検索部は、前記第3の隠れ変数と、前記蓄積された信号に関する第2の隠れ変数とを比較することにより、前記信号蓄積部に蓄積されている前記第2の隠れ変数のうち前記第3の隠れ変数に最も類似する隠れ変数に対応する前記信号を検索する。
本発明の一態様は、コンピュータを、上記の信号検索装置を構成する各部として機能させるためのプログラムである。
本発明の一態様は、信号出力部が、取得された信号を出力し、信号属性値表示部が、前記取得された信号が表現する対象を構成する要素、又は信号発生源に関する属性の値の変更指示を受付可能な状態で、前記属性の値を表示し、変更後属性値取得部が、前記属性の値の前記変更指示を受け付けると、変更後の属性の値を取得し、信号検索部が、前記変更後属性値取得部によって取得された前記変更後の前記属性の値に基づいて前記属性の値を変更した場合の変更後の信号に類似する信号を、信号を蓄積した信号蓄積部から検索する信号検索方法である。
本発明の一態様は、信号出力部が、取得された信号を出力し、変数抽出部が、前記取得された信号が表現する対象を構成する要素、又は信号発生源に関する属性の値を前記取得された信号から抽出し、信号属性値表示部が、前記取得された信号の前記属性の値の変更指示を受付可能な状態で、前記属性の値を表示し、変更後属性値取得部が、前記属性の値の前記変更指示を受け付けると、変更後の属性の値を取得し、信号検索部が、前記変更後の前記属性の値と、信号蓄積部に蓄積された信号の各々について抽出された属性の値とに基づいて、前記変更後の前記属性の値に基づいて前記属性の値を変更した場合の変更後の信号に類似する信号を、前記信号蓄積部に蓄積された前記信号から検索する信号検索方法である。
本発明の信号検索装置、方法、及びプログラムによれば、属性を変更した信号に類似する信号を検索することができる、という効果が得られる。
本発明の第1の実施の形態における属性変更画面のイメージ図である。 本発明の第1の実施の形態におけるエンコーダの概念図である。 本発明の第1の実施の形態における生成器の概念図である。 生成器及び識別器を学習する方法を説明するための図である。 本発明の第1および第2の実施の形態に係る信号検索装置の構成を示すブロック図である。 本発明の第1および第2の実施の形態に係る信号検索装置における学習処理ルーチンを示すフローチャートである。 本発明の第1および第2の実施の形態に係る信号検索装置における検索処理ルーチンを示すフローチャートである。 本発明の第2の実施の形態における生成器の概念図である。 本発明の第2の実施の形態における生成器、識別器、及び近似分布の概念図である。 音声信号の属性を変更するための属性変更画面のイメージ図である。 テキストデータの属性を変更するための属性変更画面のイメージ図である。 動画データの属性を変更するための属性変更画面のイメージ図である。 本発明の第2の実施の形態における生成器、識別器、及び近似分布の概念図である。
以下、図面を参照して本発明の実施の形態を詳細に説明する。
<本発明の第1の実施の形態に係る概要>
まず、本発明の第1の実施の形態における概要を説明する。
第1の実施の形態では、図1に示すように、従来の画像編集ソフトと同様に、属性の値に対応するスライドバー96を動かしたり、ラジオボタン94をクリックしたりすることで、属性を自由自在にコントロールして、属性が類似する画像を検索することができるようにする。
ここで、世の中には多様なデータが存在する。例えば、様々な顔の向きに対応する画像、様々な照明条件に対応する画像、様々な年齢に対応する画像、様々な表情に対応する画像がある。
そこで、本実施の形態では、画像を直接検索するのではなく、図2に示すようなニューラルネットワークEを用いて、隠れ変数(画像を表現するのに有用なエッセンスのようなもの)を抽出し、隠れ変数の値を変更して、変更後の画像と類似する画像を検索する。
また、一つの属性の中にも多様性が存在する。例えば、一言に「前髪」と言っても様々な形状が存在する。
そこで、本実施の形態では、図3に示すように、属性毎に、複数の隠れ変数で各属性を表現する。具体的には、複数の隠れ変数内を個体性を表現する隠れ変数と属性を表現する隠れ変数とに分離することで、属性をコントロールしやすくする。属性毎に、複数の隠れ変数で各属性を表現することにより、十分な表現能力を得る。属性が離散的な値で表現される場合、属性が取り得る離散的な値で定められた区間における任意の値を取り得る連続値で隠れ変数を表現してもよい。連続値を有する隠れ変数で各属性を表現することにより、生成器2は、十分な表現能力を得る。同様に、属性がある分布で表現される場合、それよりもより詳細な分布で隠れ変数を表現してもよい。より詳細な分布に従う隠れ変数で各属性を表現することにより、生成器2は、十分な表現能力を得る。なお、複数の隠れ変数のうち、後述する属性ベクトルyにより制約が付与される隠れ変数(図3では隠れ変数z)が属性を表現する隠れ変数である。また、複数の隠れ変数のうち、属性ベクトルyによる制約が付与されない隠れ変数(図3では隠れ変数z)が個体性を表現する隠れ変数である。
また、生成器の構造を学習する際に、GAN(Generative adversarial networks)を用いた場合には、生成器の入力が乱数zのみなので、個体性と属性とを陽に分離することが出来ない。また、生成器の構造を学習する際に、CGAN(Conditional generative adversarial networks)を用いた場合には、生成器の入力が乱数zと属性ベクトルyとであり、生成器と、属性ベクトルyで条件付けされた識別器とを学習することで、個体性と属性の分離が出来る。しかし、属性ベクトルyは限定的である(属性の有無や正負などを表す)ため、個体性と分離できる属性情報は限定的となる。なお、属性の正負とは、後述するように、例えば「男性/女性」である。
そこで、本実施の形態では、図4に示すように、生成器2の学習時にCFGAN (Conditional Filtered generative adversarial networks)を一緒に学習する。このとき、CFGANでは、生成器2の入力があるデータ分布から生成される隠れ変数zと属性の多次元表現である隠れ変数z’であるため、生成器2としてのニューラルネットワークGと、属性ベクトルyで条件付けられた識別器3としてのニューラルネットワークDとを学習することで、個体性と詳細な属性情報とを分離できる。
また、本実施の形態では、画像の属性を変更する際に、個体性を保持したまま属性を変更する。
<本発明の第1の実施の形態に係る信号検索装置の構成>
次に、本発明の第1の実施の形態に係る信号検索装置の構成について説明する。図5に示すように、本発明の第1の実施の形態に係る信号検索装置100は、CPU(Central Processing Unit)と、RAM(Random Access Memory)と、後述する学習処理ルーチン及び検索処理ルーチンを実行するためのプログラムや各種データを記憶したROM(Read Only Memory)と、を含むコンピュータで構成することが出来る。図5に示すように、この信号検索装置100は、機能的には、入力部10と、演算部20と、出力部90とを備えている。
入力部10は、学習データとして、画像データx及び属性ベクトルyの複数のペアを受け付ける。また、入力部10は、検索対象となる複数の蓄積画像データと、検索のための変更対象となる画像データxとを受け付ける。属性ベクトルyは、例えば、属性の有無や正負を表す。しかし、属性ベクトルyは、特にこれらに限定されるものではない。
演算部20は、学習部30と、ニューラルネットワーク記憶部40と、予測部42と、変数抽出部44と、信号蓄積部46と、予測部50と、変数抽出部52と、信号出力部53と、信号属性値表示部54と、変更後属性値取得部56と、変更部62と、信号検索部64と、類似信号出力部66とを含んでいる。
学習部30は、入力された学習データに基づいて、生成器2としてのニューラルネットワークGと、識別器3としてのニューラルネットワークDとが、互いに競合する最適化条件に従うように、これらニューラルネットワークを学習する。生成器2としてのニューラルネットワークGは、生成された個体性を表す隠れ変数zと各属性を表す隠れ変数z’とを入力とし、個体性を表す隠れ変数z及び各属性を表す隠れ変数z’から、画像データを生成する。識別器3としてのニューラルネットワークDは、生成された画像データが、画像データの各属性を表す属性ベクトルyの下で真の画像データxと同一の分布に従うか否かを識別する。すなわち、識別器3としてのニューラルネットワークDは、生成された画像データが真の画像データxであるか否かを識別する。生成器2としてのニューラルネットワークGへの入力となる各属性を表す隠れ変数z’は、属性ベクトルyの値により、各属性を表す隠れ変数zを変換することにより得られる。変換の一例としては、属性ベクトルyが属性の有無を表す場合(すなわち、属性が有る場合にはy=1、属性が無い場合にはy=0)に、以下の式に示すように、生成された各属性を表す隠れ変数zと属性ベクトルyとを掛け合わせることが考えられる。
Figure 0006831453
あるいは、属性ベクトルyが属性の正負を表す場合に、以下の式に示すように、生成された各属性を表す隠れ変数zに対して、属性ベクトルyに応じて正の値(|z|)(y=1の場合)または負の値(−|z|)(y=0の場合)を与えることが考えられる。
Figure 0006831453
具体的には、学習部30は、入力された学習データの画像データxと属性ベクトルyと、あるデータ分布から生成された個体性を表す隠れ変数zと各属性を表す隠れ変数zとを入力とする。隠れ変数z及び隠れ変数zは、乱数を用いて生成されてもよい。ここで、画像データxが顔画像データである場合には、属性ベクトルyが、「メガネ」、「化粧」、「髭」、「前髪」の各々の有無や、「男性/女性」、「笑顔でない/笑顔」、「老けている/若い」の区別を表し、属性を表す隠れ変数zが、各属性内の多様性(例:どんなメガネか?を表現)を表す。
また、あるデータ分布から属性を表す隠れ変数zを生成する際には、例えば、属性を表す隠れ変数zが離散的である場合、学習部30は、以下の式に従って、属性を表す隠れ変数zを生成する。
Figure 0006831453
ただし、kは、カテゴリ数(離散的な値の数)を表す。また、Catは、カテゴリ数Kの各カテゴリを示す値からなる分布であり、pは確率である。
また、属性を表す隠れ変数zが連続的である場合には、学習部30は、以下の式に従って、属性を表す隠れ変数zを生成する。
Figure 0006831453
ただし、Unif(−1,1)は、値の範囲を−1から1までとした一様分布である。
なお、他の分布に従う隠れ変数zや変換を採用することができる。例えば、隠れ変数zの分布として、一様分布(Unif(−1,1))ではなく、正規分布を用いることが可能であり、また、値の範囲を変更することも可能である。
また、学習部30は、生成された個体性を表す隠れ変数zと各属性を表す隠れ変数z’とを入力とし、生成器2としてのニューラルネットワークGを用いて、画像データを生成する。このとき、生成器2としてのニューラルネットワークGの入力となる各属性を表す隠れ変数z’は、属性ベクトルyの値により、各属性を表す隠れ変数zを変換することにより得られる。変換の一例としては、生成された各属性を表す隠れ変数zと属性ベクトルyとを掛け合わせることが考えられる。
そして、学習部30は、生成された画像データを、なるべく識別器3が、属性ベクトルyの下で真の画像データと同一の分布に従うと識別する制約を満たすように、生成器2としてのニューラルネットワークGのパラメータを更新する。すなわち、生成された画像を真の画像データであると識別器3が識別するように、生成器2としてのニューラルネットワークGのパラメータが更新される。
また、学習部30は、生成された画像データを、なるべく識別器3が、属性ベクトルyの下で真の画像データと同一の分布に従わないと識別する制約を満たし、かつ、真の画像データxを、識別器3が、真の画像データと同一の分布に従うと識別する制約を満たすように、識別器3としてのニューラルネットワークDのパラメータを更新する。
なお、生成器2としてのニューラルネットワークGと、識別器3としてのニューラルネットワークDとが、互いに競合する最適化条件は、以下の式で表わされる。
Figure 0006831453
ただし、
Figure 0006831453
は、学習データから、真の画像データxと属性ベクトルyをサンプリングすることを表す。
また、
Figure 0006831453
は、個体性を表す隠れ変数zを、あるデータ分布から生成することを表す。
また、
Figure 0006831453
は、属性を表す隠れ変数zを、あるデータ分布から生成することを表す。
また、
Figure 0006831453
は、学習データから、属性ベクトルyをサンプリングすることを表す。
また、Eは期待値を表す。
学習部30は、上記の処理を、学習データ毎に行って、生成器2としてのニューラルネットワークGのパラメータと、識別器3としてのニューラルネットワークDのパラメータとを繰り返し更新する。
最終的に得られた、生成器2としてのニューラルネットワークGと、識別器3としてのニューラルネットワークDは、ニューラルネットワーク記憶部40に記憶される。
次に、学習部30は、図2に示すように、入力された学習データに含まれる画像データxを入力とし、エンコーダ1としてのニューラルネットワークEを用いて、個体性を表す隠れ変数zと各属性を表す隠れ変数zを抽出する。
また、学習部30は、図3に示すように、抽出された個体性を表す隠れ変数zと、各属性を表す隠れ変数z’とを入力とし、生成器2としてのニューラルネットワークGを用いて、画像データG(z、z、y)を生成する。このとき、各属性を表す隠れ変数z’は、属性ベクトルyの値により、エンコーダ1としてのニューラルネットワークEが出力する各属性を表す隠れ変数zを変換することにより得られる。なお、図3において、fは、変換に使用するフィルタ関数である。変換の一例としては、エンコーダ1としてのニューラルネットワークEが出力する各属性を表す隠れ変数zと属性ベクトルyとを掛け合わせることが考えられる。
また、学習部30は、生成された画像データが、元の画像データxと同じになる制約を満たすように、エンコーダ1としてのニューラルネットワークEのパラメータを更新する。
学習部30は、上記の処理を、学習データ毎に行って、エンコーダ1としてのニューラルネットワークEのパラメータを繰り返し更新する。
最終的に得られたエンコーダ1としてのニューラルネットワークEは、ニューラルネットワーク記憶部40に記憶される。
予測部42は、入力部10で受け付けた蓄積画像データを、属性ベクトルyを予測するための予測器(図示せず)としての予め学習されたニューラルネットワーク(例えば、CNN(Convolutional Neural Networks))に入力し、属性ベクトルyを予測する。
予測器としてのニューラルネットワークは、属性ベクトルyを出力する。属性ベクトルyは、例えば、各属性の有無又は正負の分類である。しかし、属性ベクトルyは、特にこれらに限定されない。
変数抽出部44は、蓄積画像データを入力とし、ニューラルネットワーク記憶部40に記憶された、エンコーダ1としてのニューラルネットワークEを用いて、蓄積画像データの個体性を表す隠れ変数z及び各属性を表す隠れ変数zを抽出する。また、変数抽出部44は、抽出された各属性を表す隠れ変数zと、予測部42によって予測された属性ベクトルyとに基づいて、各属性を表す隠れ変数z’を求める。このとき、各属性を表す隠れ変数z’は、予測部42によって予測された属性ベクトルyの値により、変数抽出部44によって抽出された各属性を表す隠れ変数zを変換することにより得られる。変換の一例としては、各属性を表す隠れ変数zと属性ベクトルyとを掛け合わせることが考えられる。各属性は、属性毎に、複数の隠れ変数zにより表現されるため、属性ベクトルyの要素は、各属性が対応する複数の隠れ変数の全てに掛け合わされる。
信号蓄積部46は、変数抽出部44により求められた蓄積画像データの各属性を表す隠れ変数z’と共に蓄積画像データの各々を記憶する。
予測部50は、入力部10で受け付けた変更対象の画像データxを、属性ベクトルyを予測するための予測器(図示せず)としての予め学習されたニューラルネットワークに入力し、属性ベクトルyを予測する。
変数抽出部52は、入力された変更対象の画像データxを入力とし、ニューラルネットワーク記憶部40に記憶された、エンコーダ1としてのニューラルネットワークEを用いて、変更対象の画像データxの個体性を表す隠れ変数z及び各属性を表す隠れ変数zを抽出する。また、変数抽出部52は、抽出された各属性を表す隠れ変数zと、予測部50によって予測された属性ベクトルyとに基づいて、各属性を表す隠れ変数z’を求める。このとき、各属性を表す隠れ変数z’は、予測部50によって予測された属性ベクトルyの値により、変数抽出部52によって抽出された各属性を表す隠れ変数zを変換することにより得られる。
信号出力部53は、出力部90により、上記図1に示すように、属性変更画面92の画像表示領域98Aに、入力された変更対象の画像データxを表示させる。
信号属性値表示部54は、変更対象の画像データxの各属性を表す隠れ変数z’を、値の変更指示を受付可能な状態で出力部90に表示させる。具体的には、上記図1に示すように、属性変更画面92に、各属性を表す隠れ変数z’の値の変更指示を受付可能な状態として、各属性を表す隠れ変数z’の値を示すラジオボタン94又はスライドバー96などの任意のコントローラで隠れ変数z’の値を表示する。
変更後属性値取得部56は、属性変更画面92において、変更対象の属性を表す隠れ変数z’の値の変更指示(例えば、属性を表す隠れ変数z’の値を示すラジオボタン94又はスライドバー96に対する操作)を受け付けると、変更対象の属性を表す隠れ変数z’の変更後の値を取得する。
ラジオボタン94に対する操作を受け付けた場合には、変更後属性値取得部56は、操作されたラジオボタン94に対して予め定められた、変更対象の属性を表す隠れ変数z’の変更後の値を取得する。
また、属性「前髪」や属性「化粧」など、属性の有無に関わる隠れ変数に対応するスライドバー96に対する操作を受け付けた場合には、変更後属性値取得部56は、操作されたスライドバー96の位置に対して予め定められた、変更対象の属性を表す隠れ変数z’の変更後の値を取得する。
また、属性「男性/女性」や属性「笑顔でない/笑顔」など、属性の正負に関わる隠れ変数に対応するスライドバー96に対する操作を受け付けた場合には、変更後属性値取得部56は、操作されたスライドバー96の位置に対して予め定められた、変更対象の属性を表す隠れ変数z’の変更後の値を取得する。
変更部62は、変数抽出部52によって求められた各属性を表す隠れ変数z’のうち、変更後属性値取得部56によって取得した変更対象の属性を表す隠れ変数の値z’を、変更後の値で置き換えることにより、変更対象の属性を表す隠れ変数の値z’を変更する。
信号検索部64は、変更部62による変更後の各属性を表す隠れ変数z’と、信号蓄積部46に記憶された、蓄積画像データの各々についての各属性を表す隠れ変数z’とを比較して、変更部62による変更後の各属性を表す隠れ変数z’に最も類似する隠れ変数に対応した蓄積画像データを検索する。なお、比較を行う際の距離基準には、L2距離、ユークリッド距離などの既知の距離基準を用いればよい。また、類似度順に検索結果をソートして、ランキング形式で出力してもよい。
類似信号出力部66は、出力部90により、上記図1に示すように、属性変更画面92の画像表示領域98Aに、信号検索部64によって検索された蓄積画像データを表示させる。
<本発明の第1の実施の形態に係る信号検索装置の作用>
次に、本発明の第1の実施の形態に係る信号検索装置100の作用について説明する。信号検索装置100は、以下に説明する学習処理ルーチンと検索処理ルーチンを実行する。
まず、学習処理ルーチンについて説明する。入力部10が、学習データとして、画像データxと属性ベクトルyとの複数のペアを受け付けると、信号検索装置100は、図6に示す学習処理ルーチンを実行する。
まず、ステップS100では、学習部30が、入力部10で受け付けた複数の学習データのうちの何れか一つを取得する。
次に、ステップS102では、学習部30が、あるデータ分布から個体性を表す隠れ変数zと各属性を表す隠れ変数zを生成する。学習部30は、乱数を用いて隠れ変数z及び隠れ変数zを生成してもよい。
ステップS104では、学習部30が、ステップS100で取得した属性ベクトルyの値により、ステップS102で生成された各属性を表す隠れ変数zを変換することにより、各属性を表す隠れ変数z’を求める。
そして、ステップS106では、学習部30が、上記ステップS102およびステップS104でそれぞれ求められた、個体性を表す隠れ変数zと、変換により得られた各属性を表す隠れ変数z’とを入力とし、生成器2としてのニューラルネットワークGを用いて、画像データxを生成する。
ステップS108では、学習部30が、上記ステップS102で生成された個体性を表す隠れ変数zと、各属性を表す隠れ変数z’と、上記ステップS106で生成された画像データxと、ステップS100で得た学習データに含まれる画像データx及び属性ベクトルyとに基づいて、生成器2としてのニューラルネットワークGのパラメータ、及び識別器3としてのニューラルネットワークDのパラメータを更新する。
ステップS110では、学習部30が、全ての学習データについて、上記ステップS100〜S108の処理を実行したか否かを判定する。上記ステップS100〜S108の処理を実行していない学習データが存在する場合、学習部30は、処理を上記ステップS100へ戻し、当該学習データを取得する。一方、全ての学習データについて、上記ステップS100〜S108の処理を実行した場合には、学習部30は、最終的に得られた、生成器2としてのニューラルネットワークGのパラメータ、及び識別器3としてのニューラルネットワークDのパラメータを、ニューラルネットワーク記憶部40に格納する。
次に、ステップS112では、学習部30が、入力部10で受け付けた複数の学習データのうちの何れか一つを取得する。
ステップS114では、学習部30が、ステップS112で得た学習データに含まれる画像データxと属性ベクトルyとを入力として、エンコーダ1としてのニューラルネットワークEを用いて、個体性を表す隠れ変数zと各属性を表す隠れ変数zを抽出する。また、学習部30は、抽出された個体性を表す隠れ変数zと、各属性を表す隠れ変数z’とを入力とし、生成器2としてのニューラルネットワークGを用いて、画像データを生成する。このとき、各属性を表す隠れ変数z’は、当該画像データの属性ベクトルyの値により、抽出された各属性を表す隠れ変数zを変換することにより得られる。
ステップS116では、学習部30が、生成された画像データと、ステップS112で得た学習データに含まれる画像データxとに基づいて、エンコーダ1としてのニューラルネットワークEのパラメータを更新する。
ステップS118では、学習部30が、全ての学習データについて、上記ステップS112〜S116の処理を実行したか否かを判定する。上記ステップS112〜S116の処理を実行していない学習データが存在する場合、学習部30は、処理を上記ステップS112へ戻し、当該学習データを取得する。一方、全ての学習データについて、上記ステップS112〜S116の処理を実行した場合には、学習部30は、学習処理ルーチンを終了し、最終的に得られたエンコーダ1としてのニューラルネットワークEのパラメータを、ニューラルネットワーク記憶部40に格納する。
そして、入力部10が複数の蓄積画像データを受け付けると、予測部42が、入力部10で受け付けた蓄積画像データの各々を、属性ベクトルyを予測するための予測器としての予め学習されたニューラルネットワークに入力し、属性ベクトルyを予測する。
また、変数抽出部44が、蓄積画像データの各々を入力とし、ニューラルネットワーク記憶部40に記憶された、エンコーダ1としてのニューラルネットワークEを用いて、蓄積画像データの個体性を表す隠れ変数z及び各属性を表す隠れ変数zを抽出する。また、変数抽出部44は、抽出された各属性を表す隠れ変数zと、予測部42によって予測された属性ベクトルyとに基づいて、各属性を表す隠れ変数z’を求める。
そして、蓄積画像データの各々が、変数抽出部44により求められた当該蓄積画像データの各属性を表す隠れ変数z’と共に、信号蓄積部46に記憶される。
次に、検索処理ルーチンについて説明する。入力部10が、検索のための変更対象となる画像データを受け付けると、信号検索装置100は、図7に示す検索処理ルーチンを実行する。
ステップS150では、信号出力部53が、出力部90により、上記図1に示すように、属性変更画面92の画像表示領域98Aに、入力された変更対象の画像データを表示させる。
ステップS152では、予測部50が、入力部10で受け付けた変更対象となる画像データに基づいて、予め学習された予測器としてのニューラルネットワークを用いて、属性ベクトルyを予測する。
ステップS154では、変数抽出部52が、入力部10で受け付けた変更対象となる画像データを入力として、ニューラルネットワーク記憶部40に記憶された、エンコーダ1としてのニューラルネットワークEを用いて、個体性を表す隠れ変数zと各属性を表す隠れ変数zを抽出する。また、変数抽出部52は、抽出された各属性を表す隠れ変数zと、上記ステップS152で予測された属性ベクトルyとに基づいて、各属性を表す隠れ変数z’を求める。このとき、各属性を表す隠れ変数z’は、予測された属性ベクトルyの値により、抽出された各属性を表す隠れ変数zを変換することにより得られる。
ステップS156では、信号属性値表示部54が、上記ステップS154で求められた変更対象の画像データxの各属性を表す隠れ変数z’を、値の変更指示を受付可能な状態で出力部90に表示させる。具体的には、信号属性値表示部54は、上記図1に示すように、属性変更画面92に、各属性を表す隠れ変数z’の値の変更指示を受付可能な状態として、各属性を表す隠れ変数z’の値を示すラジオボタン94又はスライドバー96で、隠れ変数z’の値を表示する。
ステップS158では、変更後属性値取得部56が、属性変更画面92において、変更対象の属性を表す隠れ変数z’の値の変更指示(例えば、属性を表す隠れ変数z’の値を示すラジオボタン94又はスライドバー96に対する操作)を受け付けると、変更対象の属性を表す隠れ変数z’の変更後の値を取得する。
ステップS160では、変更部62が、上記ステップS154で求められた各属性を表す隠れ変数z’のうち、上記ステップS158で取得した変更対象の属性を表す隠れ変数z’の値を、変更後の値で置き換えることにより、変更対象の属性を表す隠れ変数z’を変更する。
そして、ステップS162では、信号検索部64が、上記ステップS160による変更後の各属性を表す隠れ変数z’と、信号蓄積部46に記憶された、蓄積画像データの各々についての各属性を表す隠れ変数z’とを比較して、変更部62による変更後の各属性を表す隠れ変数z’に最も類似する隠れ変数に対応した蓄積画像データを検索する。
そして、ステップS164では、類似信号出力部66が、出力部90により、上記図1に示すように、属性変更画面92の画像表示領域98Aに、上記ステップS162で検索された蓄積画像データを表示させて、検索処理ルーチンを終了する。
以上説明したように、本発明の第1の実施の形態に係る信号検索装置は、変更対象の画像データについて抽出された各属性を表す隠れ変数の値の変更指示を受付可能な状態で、属性を表す隠れ変数の値を表示し、属性を表す隠れ変数の値の変更指示を受け付けると、変更後の属性を表す隠れ変数の値に基づいて属性を変更した場合の画像データに類似する蓄積画像データを検索する。これにより、属性を変更した画像データに類似する蓄積画像データを検索することができる。
また、本発明の第1の実施の形態に係る信号検索装置は、エンコーダ1としてのニューラルネットワークEを用いて、入力された画像データの各属性を表す隠れ変数を抽出し、抽出された各属性を表す隠れ変数の値の変更指示を受付可能な状態で、属性を表す隠れ変数の値を表示し、属性を表す隠れ変数の値の変更指示を受け付けると、変更対象の属性を表す隠れ変数の値を変更し、変更後の画像データに類似する蓄積画像データを検索する。これにより、属性を変更した画像データに類似する蓄積画像データを検索することができる。
また、本発明の第1の実施の形態に係る信号検索装置は、属性毎に、複数の隠れ変数を有するため、属性の多様性を表現することができる。また、本発明の第1の実施の形態に係る信号検索装置は、一つの属性に対する複数の隠れ変数のうちの一つの隠れ変数の値だけをコントロールすることができる。例えば、属性(例えば眼鏡)だけを変える場合は、個体性を表す隠れ変数zを固定して、多次元の隠れ変数zの各次元をインタラクティブに変更すればよい。属性を維持したまま個体性だけを変える場合は、各属性を表す隠れ変数zを固定して、個体性を表す隠れ変数zを変更すればよい。
なお、上記の実施の形態では、互いに競合する最適化条件に従って、生成器2としてのニューラルネットワークGと、識別器3としてのニューラルネットワークDとを学習する場合を例に説明した。しかし、制約は、これに限定されるものではない。例えば、各隠れ変数が独立なものを表現するように制約を更に設けてもよい。具体的には、以下の式に示すように、隠れ変数z’と、隠れ変数z’から生成された画像データの相関(情報量)が大きくなるように制約を更に設ける。
Figure 0006831453
なお、I(z’;G(z,z,y)|y)は、属性ベクトルyが与えられたときの隠れ変数z’と画像データG(z、z、y)との相互情報量を表す。Hは、条件付きエントロピーを表す。DKLはカルバック・ライブラー情報量(Kullback-Leibler divergence)を表す。P(z’|x,y)は、画像データxおよび属性ベクトルyが与えられたときの隠れ変数z’の分布を表す。z^’(^はzの上に付される)は、P(z’|x,y)の分布に従って得られた隠れ変数である。
P(z’|x,y)は未知であるため、上記の情報量Iを直接求めることは困難である。そのため、上記のように、P(z’|x,y)を近似する近似分布Q(z’|x,y)を導入して、変分法を使い、情報量Iの下限を最大化するように、近似分布Q(z’|x,y)を推定するニューラルネットワークを学習すると共に、互いに競合する最適化条件の最適化を行う。これにより、属性「メガネ」に対する複数の隠れ変数が隠れ変数z と隠れ変数z とを含み、かつ、属性「メガネ」に対する隠れ変数z がサングラスを表す場合に、隠れ変数z がサングラス以外の眼鏡を表現するようになる。
また、上記の第1の実施の形態では、エンコーダ1としてのニューラルネットワークEが、属性を表す隠れ変数zと個体性を表す隠れ変数zを同時に推定する場合を例に説明した。しかし、隠れ変数の推定方法は、これに限定されるものではない。例えば、エンコーダ1としてのニューラルネットワークEが、属性を表す隠れ変数zではなく、属性を表す隠れ変数z’を直接推定することにより、属性を表す隠れ変数z’と個体性を表す隠れ変数zを同時に推定するようにしてもよい。
また、生成器2としてのニューラルネットワークGの学習の際に、近似分布Q(z’|x,y)を推定するニューラルネットワークを一緒に学習した場合は、この近似分布を推定するニューラルネットワークを用いて、属性を表す隠れ変数z’を推定するようにし、エンコーダ1としてのニューラルネットワークEは、個体性を表す隠れ変数zだけを推定するようにしてもよい。
また、エンコーダ1としてのニューラルネットワークEを使わずに、生成器2としてのニューラルネットワークGに任意の個体性を表す隠れ変数zを入力し、生成器2としてのニューラルネットワークGの出力が目的画像xに近づくように勾配法で個体性を表す隠れ変数zを更新していくことで、最適な個体性を表す隠れ変数zを求めるようにしてもよい。また、エンコーダ1としてのニューラルネットワークEで、属性を表す隠れ変数z’と個体性を表す隠れ変数zを求めた後、これらを初期値にして、生成器2としてのニューラルネットワークGに個体性を表す隠れ変数zを入力し、生成器2としてのニューラルネットワークGの出力が目的画像xに近づくように勾配法で個体性を表す隠れ変数zを更新していくことで、最適な個体性を表す隠れ変数zを求めるようにしてもよい。また、エンコーダ1としてのニューラルネットワークE、または、予測器としてのニューラルネットワークを生成器2としてのニューラルネットワークGおよび識別器3としてのニューラルネットワークDと一緒に学習しても良い。
次に、本発明の第2の実施の形態に係る信号検索装置について説明する。なお、第2の実施の形態に係る信号検索装置の構成は、第1の実施の形態に係る信号検索装置の構成と同様であるため、同一の符号を付して説明を省略する。
第2の実施の形態では、各属性を表す隠れ変数が、階層構造になっている点が、第1の実施の形態と異なっている。
<本発明の第2の実施の形態に係る概要>
次に、本発明の第2の実施の形態における概要を説明する。
第2の実施の形態では、属性に対して階層的な制御を実現するために、図8に示すように、各属性を表す隠れ変数が、2階層以上の隠れ変数へ階層的に変換される構造となっている。また、1層目の隠れ変数cが、各属性を表しており、上記第1の実施の形態における属性ベクトルyに対応している。隠れ変数は、例えば属性の有無や正負を表す。しかし、隠れ変数は、特にこれらに限定されるものではない。
2層目の隠れ変数cは、1層目の隠れ変数cの値により変換され、変換結果c’が得られる。また、3層目の隠れ変数cは、2層目の隠れ変数cの変換結果c’の値により変換され、変換結果c’が得られる。そして、信号検索装置100は、変更対象となる画像データについて得られた変換結果c’と蓄積画像データの各々について得られた変換結果c’を比較して、変更後の属性に類似する属性を持つ蓄積画像データを検索する。
また、ニューラルネットワークの学習では、信号検索装置100は、図9に示すように、1層目の隠れ変数c及び個体性を表す隠れ変数zを入力とし、画像データを生成するニューラルネットワークG、識別器としてのニューラルネットワークD、及び、近似分布としてのニューラルネットワークQを学習する。また、信号検索装置100は、2層目の隠れ変数の変換結果c’及び個体性を表す隠れ変数zを入力とし、画像データを生成するニューラルネットワークG、識別器としてのニューラルネットワークD、及び、近似分布としてのニューラルネットワークQを学習する。さらに、信号検索装置100は、3層目の隠れ変数の変換結果c’及び個体性を表す隠れ変数zを入力とし、画像データを生成するニューラルネットワークG、識別器としてのニューラルネットワークD、及び、近似分布としてのニューラルネットワークQを学習する。なお、図9において、P,P,Pは、それぞれ、識別器としてのニューラルネットワークD,D,Dの識別結果である。また、1層目〜3層目においてそれぞれ得られるc、c’、c’は、近似分布としてのニューラルネットワークQ,Q,Qによって予測された、属性を表す隠れ変数である。
このように、信号検索装置100は、1層目の隠れ変数に対応するニューラルネットワークを最初に学習し、その学習結果をもとに一層深い層の隠れ変数に対応するニューラルネットワークを学習することを再帰的に行って、一階層ずつ、生成器としてのニューラルネットワーク、識別器としてのニューラルネットワーク、及び近似分布としてのニューラルネットワークを学習する。これにより、浅い階層において、抽象的な概念が最初に獲得され、階層が深くなるに従って、徐々に概念を詳細化することができる。
<本発明の第2の実施の形態に係る信号検索装置の構成>
本発明の第2の実施の形態に係る信号検索装置100において、入力部10は、学習データとして、複数の画像データxを受け付ける。また、入力部10は、検索対象となる複数の蓄積画像データと、検索のための変更対象となる画像データxを受け付ける。
まず、学習部30は、あるデータ分布から個体性を表す隠れ変数z、z、z及び各階層における各属性を表す隠れ変数c、c、cを生成する。各隠れ変数は、例えば各階層における属性の有無や正負を表す。しかし、隠れ変数は、特にこれらに限定されるものではない。学習部30は、乱数を用いて隠れ変数z、z、z及び隠れ変数c、c、cを生成してもよい。学習部30は、入力された学習データに含まれる真の画像データxと、生成された個体性を表す隠れ変数z、z、zと各階層における各属性を表す隠れ変数c、c、cとを入力とする。そして、学習部30は、個体性を表す隠れ変数z、z、z及び各属性を表す隠れ変数c、c、cから、画像データを生成するための生成器としてのニューラルネットワーク(例えば、CNN)と、生成された画像データが真の画像データと同一の分布に従うか否かを識別する識別器としてのニューラルネットワーク(例えば、CNN)とを、互いに競合する最適化条件に従い学習する。同時に、学習部30は、生成された画像データについての各属性を表す隠れ変数を推定する近似分布としてのニューラルネットワーク(例えば、CNN)については、情報量の下限を最大化するように学習を行う。学習部30は、上記の処理を、各階層に対して再帰的に繰り返し行う。
具体的には、学習部30は、まず、1層目に対して、入力された学習データに含まれる真の画像データxと、生成された個体性を表す隠れ変数zと、1層目の各属性を表す隠れ変数cとを入力とする。
そして、学習部30は、生成された個体性を表す隠れ変数zと、1層目の各属性を表す隠れ変数cと、生成器としてのニューラルネットワークGとを用いて、画像データを生成する。
そして、学習部30は、生成された画像データを、なるべく識別器が、真の画像データxと同一の分布に従うと識別する制約を満たすように、生成器としてのニューラルネットワークGのパラメータを更新する。すなわち、生成された画像データを真の画像データxであると識別器が識別するように、ニューラルネットワークGのパラメータが更新される。
また、学習部30は、生成された画像データを、なるべく識別器が、真の画像データxと同一の分布に従わないと識別する制約を満たし、かつ、真の画像データxを、識別器が、真の画像データと同一の分布に従うと識別する制約を満たすように、識別器としてのニューラルネットワークDのパラメータを更新する。
また、学習部30は、生成された画像データについての1層目の各属性を表す隠れ変数cを予測する近似分布としてのニューラルネットワークQについて、隠れ変数cと、隠れ変数cから生成された画像データの相関(情報量)の下限が最大化するように、近似分布としてのニューラルネットワークQのパラメータを更新する。
次に、学習部30は、2層目に対して、入力された学習データに含まれる真の画像データxと、近似分布としてのニューラルネットワークQによって予測された1層目の各属性を表す隠れ変数cと、生成された個体性を表す隠れ変数zと、2層目の各属性を表す隠れ変数cとを入力とする。このとき、2層目の各属性を表す隠れ変数c’は、1層目の各属性を表す隠れ変数cの値により、2層目の各属性を表す隠れ変数cを変換することにより得られる。変換の一例としては、2層目の各属性を表す隠れ変数cと1層目の各属性を表す隠れ変数cとを掛け合わせることが考えられる。
また、学習部30は、生成された個体性を表す隠れ変数zと、2層目の各属性を表す隠れ変数cの変換結果c’と、生成器としてのニューラルネットワークGとを用いて、画像データを生成する。
そして、学習部30は、生成された画像データを、なるべく識別器が、1層目の各属性を表す隠れ変数cの下で真の画像データと同一の分布に従うと識別する制約を満たすように、生成器としてのニューラルネットワークGのパラメータを更新する。すなわち、生成された画像データを真の画像データであると識別器が識別するように、ニューラルネットワークGのパラメータが更新される。
また、学習部30は、生成された画像データを、なるべく識別器が、1層目の各属性を表す隠れ変数cの下で真の画像データと同一の分布に従わないと識別する制約を満たし、かつ、真の画像データxを、識別器が、真の画像データと同一の分布に従うと識別する制約を満たすように、識別器としてのニューラルネットワークDのパラメータを更新する。
また、学習部30は、1層目の各属性を表す隠れ変数cの下で、生成された画像データについての2層目の各属性を表す隠れ変数c’を予測する近似分布としてのニューラルネットワークQについて、隠れ変数c’と、隠れ変数c’から生成された画像データの相関(情報量)の下限が最大化するように、近似分布としてのニューラルネットワークQのパラメータを更新する。
次に、学習部30は、3層目に対して、入力された学習データに含まれる真の画像データxと、近似分布としてのニューラルネットワークQによって予測された2層目の各属性を表す隠れ変数c’と、生成された個体性を表す隠れ変数zと、3層目の各属性を表す隠れ変数cとを入力とする。このとき、3層目の各属性を表す隠れ変数c’は、2層目の各属性を表す隠れ変数cの変換結果c’の値により、3層目の各属性を表す隠れ変数cを変換することにより得られる。
また、学習部30は、生成された個体性を表す隠れ変数zと、3層目の各属性を表す隠れ変数cの変換結果c’と、生成器としてのニューラルネットワークGとを用いて、画像データを生成する。
そして、学習部30は、生成された画像データを、なるべく識別器が、2層目の各属性を表す隠れ変数cの変換結果c’の下で真の画像データと同一の分布に従うと識別する制約を満たすように、生成器としてのニューラルネットワークGのパラメータを更新する。すなわち、生成された画像データを真の画像データであると識別器が識別するように、ニューラルネットワークGのパラメータが更新される。
また、学習部30は、生成された画像データを、なるべく識別器が、2層目の各属性を表す隠れ変数cの変換結果c’の下で真の画像データと同一の分布に従わないと識別する制約を満たし、かつ、真の画像データxを、識別器が、真の画像データと同一の分布に従うと識別する制約を満たすように、識別器としてのニューラルネットワークDのパラメータを更新する。
また、学習部30は、2層目の各属性を表す隠れ変数cの変換結果c’の下で、生成された画像データについての3層目の各属性を表す隠れ変数c’を予測する近似分布としてのニューラルネットワークQについて、隠れ変数c’と、隠れ変数c’から生成された画像データの相関(情報量)の下限が最大化するように、近似分布としてのニューラルネットワークQのパラメータを更新する。
学習部30は、上記の処理を、学習データ毎に行って、各種のニューラルネットワークのパラメータを繰り返し更新する。
最終的に得られた、生成器としてのニューラルネットワークG、G、Gと、識別器としてのニューラルネットワークD、D、Dと、近似分布としてのニューラルネットワークQ、Q、Qとは、ニューラルネットワーク記憶部40に記憶される。
次に、学習部30は、入力された学習データに含まれる画像データxを入力とし、エンコーダとしてのニューラルネットワークを用いて、個体性を表す隠れ変数z、z、zを推定し、近似分布としてのニューラルネットワークQ、Q、Qを用いて、各属性を表す隠れ変数c、c’、c’を抽出する。
また、学習部30は、推定された個体性を表す隠れ変数zと、抽出された各属性を表す隠れ変数c’とを入力とし、生成器としてのニューラルネットワークGを用いて、画像データを生成する。
また、学習部30は、生成された画像データが、元の画像データxと同じになる制約を満たすように、エンコーダとしてのニューラルネットワークのパラメータを更新する。
学習部30は、上記の処理を、学習データ毎に行って、エンコーダとしてのニューラルネットワークのパラメータを繰り返し更新する。
最終的に得られたエンコーダとしてのニューラルネットワークは、ニューラルネットワーク記憶部40に記憶される。
予測部42は、入力部10で受け付けた蓄積画像データを、1層目の各属性を表す隠れ変数cを予測するための近似分布としてのニューラルネットワークQに入力し、1層目の各属性を表す隠れ変数cを予測する。
予測部42は、1層目の各属性を表す隠れ変数cを出力する。
変数抽出部44は、蓄積画像データを入力とし、ニューラルネットワーク記憶部40に記憶された、エンコーダとしてのニューラルネットワークを用いて、蓄積画像データの個体性を表す隠れ変数z、z、zを推定し、近似分布としてのニューラルネットワークQ、Qを用いて、2層目以降の各属性を表す隠れ変数c’、c’を抽出する。
信号蓄積部46は、変数抽出部44により求められた蓄積画像データの各属性を表す隠れ変数c’と共に蓄積画像データの各々を記憶する。
予測部50は、入力部10で受け付けた変更対象の画像データを、1層目の各属性を表す隠れ変数cを予測するための近似分布としてのニューラルネットワークQに入力し、1層目の各属性を表す隠れ変数cを予測する。予測部50は、予測した隠れ変数cを変数抽出部52に出力する。
変数抽出部52は、入力された変更対象の画像データxを入力とし、ニューラルネットワーク記憶部40に記憶された、エンコーダとしてのニューラルネットワークを用いて、変更対象の画像データxの個体性を表す隠れ変数z、z、zを推定し、近似分布としてのニューラルネットワークQ、Qを用いて、2層目以降の各属性を表す隠れ変数c’、c’を抽出する。変数抽出部52は、予測部50が予測した隠れ変数cおよび抽出した隠れ変数c’、c’を信号属性値表示部54に出力する。
信号属性値表示部54は、変更対象の画像データxの各属性を表す隠れ変数c、c’、c’を、値の変更指示を受付可能な状態で出力部90に表示させる。具体的には、信号属性値表示部54は、属性変更画面92に、各属性を表す隠れ変数c、c’、c’の値の変更指示を受付可能な状態として、各属性を表す隠れ変数c、c’、c’の値を示すラジオボタン94又はスライドバー96で、隠れ変数c、c’、c’の値を表示する。
変更後属性値取得部56は、属性変更画面92において、変更対象の属性を表す隠れ変数c、c’、c’の値の変更指示(例えば、各属性を表す隠れ変数c’の値を示すラジオボタン94又はスライドバー96に対する操作)を受け付けると、変更対象の属性を表す隠れ変数c、c’、c’の変更後の値を取得する。なお、属性を表す隠れ変数cの値の変更指示を受け付けた場合には、関連する属性を表す隠れ変数c’、c’の値も変更される。また、属性を表す隠れ変数c’の値の変更指示を受け付けた場合には、関連する属性を表す隠れ変数c’の値も変更される。
変更部62は、予測部50および変数抽出部52によって求められた各属性を表す隠れ変数c、c’、c’のうち、変更後属性値取得部56によって取得した変更対象の属性を表す隠れ変数c’を、変更後の値で置き換えることにより、変更対象の属性を表す隠れ変数c’を変更する。
信号検索部64は、変更部62による変更後の各属性を表す隠れ変数c’と、信号蓄積部46に記憶された、蓄積画像データの各々についての各属性を表す隠れ変数c’とを比較して、変更部62による変更後の各属性を表す隠れ変数c’に最も類似する隠れ変数に対応した蓄積画像データを検索する。なお、比較を行う際の距離基準には、ユークリッド距離などの既知の距離基準を用いればよい。
なお、第2の実施の形態に係る信号検索装置100の他の構成及び作用については、第1の実施の形態と同様であるため、説明を省略する。
以上説明したように第2の実施の形態に係る信号検索装置は、3層目の各属性を表す隠れ変数の変換結果の値を、変更指示に従って変更し、変更後の3層目の各属性を表す隠れ変数の変換結果に類似する隠れ変数に対応した蓄積画像データを検索する。これにより、属性を変更した画像データに類似する蓄積画像データを検索することができる。
なお、本発明は、上述した実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
例えば、上述した実施の形態では、ニューラルネットワークの学習を行う学習部30を含むように信号検索装置100を構成していた。しかし、本発明は、こうした構成に限定されるものではない。例えば、信号検索装置とは別に、学習部30を含む学習装置を設け、予測部、変数抽出部、信号出力部、信号属性値表示部、変更後属性値取得部、変更部、信号検索部、類似信号出力部、及び信号蓄積部を含むように信号検索装置を構成してもよい。
また、上述した実施の形態では、入力される信号が、顔画像データである場合を例に説明した。しかし、入力される信号は、これに限定されるものではなく、顔以外の画像データであってもよい。例えば、入力される信号が、文字画像データであってもよい。この場合には、属性ベクトルyが、文字の種類(例:a,b,c,…,1,2,…)の各々の有無を表し、属性を表す隠れ変数zが、文字内の多様性(例:どんな4か?を表現)を表す。あるいは、属性ベクトルyが、文字のフォント(例:ゴシック体,明朝体,太字,斜体字…)の各々の有無を表し、属性を表す隠れ変数zが、フォント内の多様性(例:どんなゴシック体か?を表現)を表す。
また、入力される信号が、動物画像データ(例えば、鳥画像データ)であってもよい。この場合には、属性ベクトルyが、色(例:赤)の有無を表し、属性を表す隠れ変数zが、色内の多様性(例:どこがどのように赤い鳥か?を表現)を表す。あるいは、属性ベクトルyが、パーツの形状(例:嘴が丸い/嘴が尖っている)を表し、属性を表す隠れ変数zが、パーツ内の多様性(例:どう丸い嘴か?を表現)を表す。
また、入力される信号が、背景画像データであってもよい。この場合には、属性ベクトルyが、背景のタイプ(例:海、山、川、家、道路)を表し、属性を表す隠れ変数zが、背景内の多様性(例:どんな海か?を表現)を表す。
また、入力される信号が、家画像データであってもよい。この場合には、属性ベクトルyが、色(例:赤)の有無を表し、属性を表す隠れ変数zが、色内の多様性(例:どこがどのように赤い家か?を表現)を表す。
また、入力される信号が、建物画像データであってもよい。この場合には、属性ベクトルyが、建物の種類(例:ビル、戸建、タワー)の有無を表し、属性を表す隠れ変数zが、建物内の多様性(例:どのようなビルか?を表現)を表す。あるいは、属性ベクトルyが、パーツの形状(例:屋根が平ら、屋根が丸い、屋根が三角)の有無を表し、属性を表す隠れ変数zが、パーツ内の多様性(例:屋根がどのように平らか?を表現)を表す。
また、上述した実施の形態では、入力される信号が、画像データである場合を例に説明した。しかし、入力される信号は、これに限定されるものではなく、画像データ以外の信号であってもよい。例えば、入力される信号は、音声信号(あるいは楽曲信号)、テキストデータ、または、動画データであってもよい。
音声信号を入力とする場合には、信号検索装置100は、個体性を表す隠れ変数と、属性(音声信号の発生源である人に関する属性(例えば、魅力、男性/女性、若い/年寄り、感情、方言など)や、音声信号を構成する要素に関する属性(例えば、速い/ゆっくり、高い/低い))を表す隠れ変数とを抽出した後、属性を表す隠れ変数を変更して、音声信号を再構成することができる。この場合、信号出力部53又は類似信号出力部66は、図10に示すように属性変更画面292の音声表示領域298A、298Bに、変更対象の音声データの音声波形及び音声スペクトログラム又は検索結果の音声データの音声波形及び音声スペクトログラムを表示させる。また、信号属性値表示部54は、属性変更画面292に、各属性を表す隠れ変数z’の値の変更指示を受付可能な状態として、各属性を表す隠れ変数z’の値を示すラジオボタン94又はスライドバー96で、各属性を表す隠れ変数z’の値を表示する。また、属性変更画面292には、変更対象の音声信号又は検索結果の音声信号を再生することを指示するためのボタン299も表示されている。
テキストデータを入力とする場合には、信号検索装置100は、個体性を表す隠れ変数と、属性(テキストデータの発生源である人に関する属性(例えば、丁寧度、男性/女性など)や、テキストデータを構成する要素に関する属性(例えば、抽象的/具体的、感情、ジャンル、口語/文語、フォーマル/notフォーマル))を表す隠れ変数とを抽出した後、属性を表す隠れ変数を変更して、テキストデータを再構成することができる。この場合、信号出力部53又は類似信号出力部66は、図11に示すように、属性変更画面392のテキスト表示領域398Aに、変更対象のテキストデータ又は検索結果のテキストデータを表示させる。また、信号属性値表示部54は、属性変更画面392に、各属性を表す隠れ変数z’の値の変更指示を受付可能な状態として、各属性を表す隠れ変数z’の値を示すラジオボタン94又はスライドバー96で、各属性を表す隠れ変数z’の値を表示する。
動画データを入力とする場合には、信号検索装置100は、個体性を表す隠れ変数と、属性(動画データを構成する要素に関する属性(例えば、コミカル度、古い/新しい、実写/アニメ、感情、ジャンルなど))を表す隠れ変数とを抽出した後、属性を表す隠れ変数を変更して、動画データを再構成することができる。この場合、信号出力部53又は類似信号出力部66は、図12に示すように、属性変更画面492の動画表示領域498Aに、変更対象の動画データ又は検索結果の動画データを表示させる。また、信号属性値表示部54は、属性変更画面492に、各属性を表す隠れ変数z’の値の変更指示を受付可能な状態として、各属性を表す隠れ変数z’の値を示すラジオボタン94又はスライドバー96で、各属性を表す隠れ変数z’の値を表示する。また、属性変更画面492には、変更対象の動画データ又は検索結果の動画データを再生することを指示するためのボタン499も表示されている。
なお、上記の第1の実施の形態では、各属性を表す隠れ変数z’同士を比較して、類似する蓄積画像データを検索する場合を例に説明した。しかし、比較の対象は、これに限定されるものではない。例えば、更に、個体性を表す隠れ変数z同士を比較して、類似する蓄積画像データを検索したり、属性ベクトルy同士を比較して、類似する蓄積画像データを検索したり、画像データ同士を比較して、類似する蓄積画像データを検索したりするようにしてもよい。
また、上記の第2の実施の形態では、各属性を表す隠れ変数c’同士を比較して、類似する蓄積画像データを検索する場合を例に説明した。しかし、比較の対象は、これに限定されるものではない。例えば、更に、各属性を表す隠れ変数c’同士を比較して、類似する蓄積画像データを検索すると共に、各属性を表す隠れ変数c同士を比較して、類似する蓄積画像データを検索することにより、各階層で類似する蓄積画像データを検索するようにしてもよい。また、更に、個体性を表す隠れ変数z(z、z、z)同士を比較して、類似する蓄積画像データを検索したり、画像データ同士を比較して、類似する蓄積画像データを検索したりするようにしてもよい。
また、上述した実施の形態では、識別器、生成器、予測器、及び近似分布としてのニューラルネットワークとして、CNNを用いる場合を例に説明した。しかし、ニューラルネットワークの構造は、これに限定されるものではなく、他のニューラルネットワーク構造を用いてもよい。例えば、時系列性を考慮したモデルであるRNN(Recurrent Neural Network、例えばLSTM(Long short-term memory)など)やFully Connectedなどを用いてもよい。
また、上述した実施の形態では、エンコーダとしてのニューラルネットワークの出力として、隠れ変数そのものを出力する場合を例に説明した。しかし、エンコーダとしてのニューラルネットワークの出力は、これに限定されるものではない。例えば、エンコーダとしてのニューラルネットワークの出力を、隠れ変数の分布に関するパラメータ(例えば、ガウシアン分布の場合、平均と標準偏差)とし、その分布に関するパラメータに従ってサンプリングして隠れ変数を得るようにしてもよい。
また、上記の第2の実施の形態では、エンコーダとしてのニューラルネットワークが、個体性を表す隠れ変数z、z、zを推定し、近似分布としてのニューラルネットワークQ、Qを用いて、属性を表す隠れ変数c’、c’を予測し、予測器としてのニューラルネットワークを用いて隠れ変数cを予測する場合を例に説明した。しかし、エンコーダとしてのニューラルネットワークが、属性を表す隠れ変数c、c、cと個体性を表す隠れ変数z、z、zを同時に推定するようにしてもよい。あるいは、エンコーダとしてのニューラルネットワークが、属性を表す隠れ変数c、cではなく、属性を表す隠れ変数c’、c’を直接推定するようにしてもよい。
また、エンコーダとしてのニューラルネットワークを使わずに、生成器としてのニューラルネットワークに任意の個体性を表す隠れ変数z(z、z、z)を入力し、出力が目的画像xに近づくように勾配法で個体性を表す隠れ変数z(z、z、z)を更新していくことで、最適な個体性を表す隠れ変数z(z、z、z)を求めるようにしてもよい。また、予測器としてのニューラルネットワークで属性を表す隠れ変数cを求め、エンコーダとしてのニューラルネットワークで、属性を表す隠れ変数c’、c’と個体性を表す隠れ変数z、z、zを求めた後、これらを初期値にして、生成器としてのニューラルネットワークに個体性を表す隠れ変数z(z、z、z)を入力し、出力が目的画像xに近づくように勾配法で個体性を表す隠れ変数z(z、z、z)を更新していくことで、最適な個体性を表す隠れ変数z(z、z、z)を求めるようにしてもよい。
また、エンコーダとしてのニューラルネットワークを用いて、個体性を表す隠れ変数z(z、z、z)と同時に、属性を表す隠れ変数c、cを推定する場合には、エンコーダとしてのニューラルネットワークは、推定された各属性を表す隠れ変数c、cと、予測された1層目の各属性を表す隠れ変数cとに基づいて、各属性を表す隠れ変数c’、c’を求める。各属性を表す隠れ変数c’は、以下のように得られる。
まず、2層目の各属性を表す隠れ変数c’が、1層目の各属性を表す隠れ変数cの値により、2層目の各属性を表す隠れ変数cを変換することにより得られる。次に、3層目の各属性を表す隠れ変数c’が、2層目の各属性を表す隠れ変数cの変換結果c’の値により、3層目の各属性を表す隠れ変数cを変換することにより得られる。
また、エンコーダとしてのニューラルネットワーク、または、予測器としてのニューラルネットワークを生成器としてのニューラルネットワークおよび識別器としてのニューラルネットワークと一緒に学習してもよい。
また、上記の第2の実施の形態では、学習データに含まれる画像データから、1層目の各属性を表す隠れ変数cを予測して、学習に用いる場合を例に説明した。しかし、1層目の各属性を表す隠れ変数cの与え方は、これに限定されるものではない。例えば、学習する際に、1層目の各属性を表す隠れ変数cを学習データとして入力するようにしてもよい。
また、1層目の各属性を表す隠れ変数cだけでなく、任意の階層の各属性を表す隠れ変数も学習データとして入力して、より深い階層を学習するようにしてもよい。
また、上記の第1の実施の形態では、学習データに含まれる全ての画像データxについて、属性ベクトルyが付与されている場合を例に説明した。しかし、属性ベクトルyが付与される画像データxは、これに限定されるものではない。例えば、学習データに含まれる一部の画像データxについてだけ、属性ベクトルyが付与されていてもよい。あるいは、学習データが属性ベクトルyを含まずともよい。この場合、信号検索装置は、第2の実施の形態の信号検索装置が属性ベクトルyに対応する各属性を表す隠れ変数cを推定するのと同様に、属性ベクトルyを推定してもよい。信号検索装置は、推定した属性ベクトルyに基づいて、各ニューラルネットワークを学習してもよい。同様に、第2の実施の形態の場合についても、任意の階層の各属性を表す隠れ変数を学習データとして入力するときに、学習データに含まれる一部の画像データxについてだけ隠れ変数を付与するようにしてもよい。
第2の実施の形態の信号検索装置が、1つ前の層の各属性を表す隠れ変数ci−1’の値により、隠れ変数cを変換して隠れ変数c’を得る場合について説明した。しかし、信号検索装置は、これに限定されることなく、隠れ変数c’に対応する層より浅い層の隠れ変数c’(j=1,2,…,i−1)のうち少なくとも1つにより、隠れ変数cを変換して隠れ変数c’を得てもよい。例えば、信号検索装置は、隠れ変数c’を得る際に、隠れ変数c’に対応する層より2つ浅い層の隠れ変数ci−2’により、隠れ変数cを変換して隠れ変数c’を得てもよい。更に、信号検索装置は、隠れ変数c’に対応する層より浅い層の隠れ変数c’(j=1,2,…,i−1)と隠れ変数c’との予め定められた関係に基づいて、隠れ変数c’を得てもよい。
第1の実施の形態の信号検索装置における生成器2において、隠れ変数zを属性ベクトルyで変換する処理をニューラルネットワークが行ってもよい。学習部は、隠れ変数zを変換するニューラルネットワークの学習を、生成器としてのニューラルネットワークGの学習とともに行ってもよい。第2の実施の形態の信号検索装置における生成器2において、隠れ変数cを隠れ変数ci−1’で変換して隠れ変数c’を得る処理をニューラルネットワークが行ってもよい。学習部は、隠れ変数c’を得るニューラルネットワークの学習を、生成器としてのニューラルネットワークGの学習とともに行ってもよい。
第1の実施の形態における信号検索装置が、カテゴリ分布又は一様分布などのあるデータ分布から隠れ変数z、zを生成する場合について説明した。しかし、隠れ変数z、zを生成する方法は、これに限定されない。例えば、信号検索装置は、ガウシアン分布、ディリクレ分布などを含む任意の分布に基づいて、隠れ変数z、zを生成してもよい。第2の実施の形態における信号検索装置は、同様に、ガウシアン分布、ディリクレ分布などを含む任意の分布に基づいて、隠れ変数z,z,z,c,c,cを生成してもよい。あるいは、第1及び第2の実施の形態における信号検索装置は、隠れ変数それぞれを生成するニューラルネットワークを備えてもよい。
第1及び第2の実施の形態における信号検索装置が、生成器としてのニューラルネットワークGと識別器としてのニューラルネットワークDとの学習における最適化条件として式(5)で表される目的関数を用いる場合について説明した。しかし、生成器としてのニューラルネットワークGと識別器としてのニューラルネットワークDとの学習における最適化条件を表す目的関数は、これに限定されない。例えば、信号検索装置は、Least Squares GAN、Wasserstein GANなどを含む任意の拡張モデルを用いてもよい。
第1及び第2の実施の形態における識別器としてのニューラルネットワークDが、生成器により生成される画像データが属性ベクトルの下で真の画像データと同一の分布に従うか否かを識別する場合について説明した。しかし、識別器としてのニューラルネットワークDが識別する対象は、これに限定されない。例えば、識別器としてのニューラルネットワークDは、生成される画像データが真の画像データと同一の分布に従うか否かを識別してもよい。この場合、生成器としてのニューラルネットワークGと、識別器としてのニューラルネットワークDとの学習における目的関数に、画像データが属性ベクトルを含むか否かの識別結果を加えてもよい。画像データが属性ベクトルを含むとは、属性ベクトルが示す属性(特徴)が画像データに含まれていることである。画像データが属性ベクトルを含むか否かの識別は、例えば、P(c|x)及びP(c|x,p)近似分布を推定するニューラルネットワークQ(l=1,2,…,L)が行ってもよい。
画像データが属性ベクトルを含むか否かの識別結果を、最適化条件としての目的関数に加える場合、例えば、目的関数は式(7)で表される。式(7)で表される目的関数を用いる学習では、生成器としてのニューラルネットワークGと、識別器としてのニューラルネットワークDと、P(c|x)及びP(c|x,p)近似分布を推定するニューラルネットワークQ(l=1,2,…,L)との学習が行われる。
Figure 0006831453
式(7)における、λ,…,λは、トレードオフ・パラメータである。LGAN(D,G)は式(8−1)で表される。LMI/AC(G,Q)は、式(8−2)で表されるLMI(G,Q)と、式(8−3)で表されるLAC(G,Q)との何れかを用いることを表す。学習データに属性ベクトルが含まれない場合、LMI(G,Q)が用いられる。学習データに属性ベクトルが含まれる場合、LAC(G,Q)が用いられる。LHCMI(G,Q)は、式(8−4)で表される。
Figure 0006831453
式(8−1)〜式(8−4)におけるx〜Pdata(x)は、学習データから真の画像データxをサンプリングすることを表す。z〜P(z)は、隠れ変数z(z,z)をあるデータ分布から生成することを表す。c〜P(c)は、1層目の属性ベクトルcをあるデータ分布から生成することを表す。x〜G(^c,z)は、L階層における各属性を表す隠れ変数^cと隠れ変数z(z,z)に基づいて、生成器としてのニューラルネットワークGで画像データを生成することを表す。c,x〜Pdata(c,x)は、学習データから真の画像データxと画像データxに対応する属性ベクトルcとをサンプリングすることを表す。c〜P(c|p)は、P(c|p)の分布に従って隠れ変数cをサンプリングすることを表す。式(8−4)におけるcはl層目の各属性を表す隠れ変数であり、pは(l−1)層目の各属性を表す隠れ変数である。
第2の実施の形態の信号検索装置において、生成される画像データが真の画像データと同一の分布に従うか否かを識別器が識別する場合、学習部30は、図9に示した3層のニューラルネットワークを有する構成に代えて、図13に示す1層のニューラルネットワークを有する構成を備えてもよい。図13に示す1層のニューラルネットワークの構成を学習部30が備える場合、学習部30は、生成器として動作するニューラルネットワークGと、識別器として動作するニューラルネットワークDと、各属性を表す隠れ変数c、c’、c’の分布を推定するニューラルネットワークQ、Q、Qとを有する。
各ニューラルネットワークの学習において、学習部30は、学習対象となる1つのニューラルネットワーク以外の他のニューラルネットワークのパラメータを固定して、学習対象のニューラルネットワークのパラメータを更新する。学習部30が有するニューラルネットワークそれぞれの学習は、第1及び第2の実施の形態において説明した学習と同様に、学習データごとに繰り返し行われる。
ニューラルネットワークQの学習を行う際、学習部30は、予め定められた初期値を設定した隠れ変数c、cと、あるデータ分布から生成される隠れ変数z、cとに基づいて、ニューラルネットワークQのパラメータを更新する。ニューラルネットワークQの学習を行う際、学習部30は、初期値を設定した隠れ変数cと、あるデータ分布から生成される隠れ変数z、c、cとに基づいて、ニューラルネットワークQのパラメータを更新する。ニューラルネットワークQの学習を行う際、学習部30は、あるデータ分布から生成される隠れ変数z、c、c、cに基づいて、ニューラルネットワークQのパラメータを更新する。
属性を表す隠れ変数c、cに設定する初期値は、例えば、隠れ変数c、cが取り得る値の期待値、平均値に基づいて決定される。あるいは、隠れ変数c、cに含まれる変数の数に基づいて初期値を決定してもよい。ニューラルネットワークG、Dの学習は、第2の実施の形態において説明した学習と同様である。
画像データが属性ベクトルを含むか否かの識別は、識別器としてのニューラルネットワークDが行ってもよい。画像データが属性ベクトルを含むか否かの識別を識別器が行う場合、識別器は、入力される画像データに各属性が含まれるか否かを判定するニュールラルネットワークを更に含んでもよい。
信号検索装置は、生成した画像データに対して、既知の画像処理技術を適用してもよい。例えば、信号検索装置は、生成した画像に対して超解像処理や画質の補正を行ってもよい。
上述した実施の形態における信号検索装置および学習装置をコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、OS(Operating System)や周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD(Compact Disc)−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また、上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、FPGA(Field Programmable Gate Array)等のプログラマブルロジックデバイスを用いて実現されるものであってもよい。
本発明は、例えば、画像などの信号を検索するために利用することができる。本発明によれば、属性を変更した信号に類似する信号を検索することができる。
1 エンコーダ
2 生成器
3 識別器
10 入力部
20 演算部
30 学習部
40 ニューラルネットワーク記憶部
42 予測部
44 変数抽出部
46 信号蓄積部
50 予測部
52 変数抽出部
53 信号出力部
54 信号属性値表示部
56 変更後属性値取得部
62 変更部
64 信号検索部
66 類似信号出力部
90 出力部
92 属性変更画面
94 ラジオボタン
96 スライドバー
98A 画像表示領域
100 信号検索装置
292 属性変更画面
294 ラジオボタン
298A、298B 音声表示領域
299 ボタン
392 属性変更画面
398A テキスト表示領域
492 属性変更画面
498A 動画表示領域
499 ボタン
E,D,G,Q,Q,Q ニューラルネットワーク

Claims (10)

  1. 取得された信号を出力する信号出力部と、
    信号を蓄積する信号蓄積部と、
    前記取得された信号が表現する対象を構成する要素、又は信号発生源に関する属性の値の変更指示を受付可能な状態で、前記属性の値を表示する信号属性値表示部と、
    前記属性の値の前記変更指示を受け付けると、変更後の属性の値を取得する変更後属性値取得部と、
    前記変更後属性値取得部によって取得された前記変更後の前記属性の値に基づいて前記属性の値を変更した場合の変更後の信号に類似する信号を、前記信号蓄積部に蓄積された前記信号から検索する信号検索部と、
    前記取得された信号から、前記信号の個体性を表す第1の隠れ変数と、前記信号の各属性を表す隠れ変数又は前記隠れ変数に基づく隠れ変数である、前記第1の隠れ変数とは独立した第2の隠れ変数と、を含む複数の隠れ変数をフィルタ関数を用いて抽出する変数抽出部と
    を含み、
    前記信号属性値表示部は、前記第2の隠れ変数を出力し、
    前記変更後属性値取得部は、前記第2の隠れ変数を変換することにより変更後の各属性を表す第3の隠れ変数を取得し、
    前記信号検索部は、前記信号を前記第3の隠れ変数に基づいて変更した信号に類似する信号を、前記信号蓄積部に蓄積された信号から検索し、
    前記隠れ変数は、前記信号の各属性を表す隠れ変数が、2階層以上の隠れ変数へ階層的に変換される階層構造を有する
    信号検索装置。
  2. 前記取得された信号、前記信号蓄積部に蓄積された前記信号、前記変更後の信号、および、前記変更後の信号に類似する前記信号の各々は、画像であり、
    前記属性は、前記画像が表現する被写体を構成する要素に関する属性である
    請求項1記載の信号検索装置。
  3. 前記信号属性値表示部は、前記属性の値の前記変更指示を受付可能な前記状態として、前記属性の値を示すコントローラで、前記属性の値を表示する
    請求項1又は2記載の信号検索装置。
  4. 取得された信号を出力する信号出力部と、
    信号を蓄積する信号蓄積部と、
    前記取得された信号が表現する対象を構成する要素、又は信号発生源に関する属性の値を前記取得された信号から抽出する変数抽出部と、
    前記取得された信号の前記属性の値の変更指示を受付可能な状態で、前記属性の値を表示する信号属性値表示部と、
    前記属性の値の前記変更指示を受け付けると、変更後の属性の値を取得する変更後属性値取得部と、
    前記変更後の前記属性の値と、前記信号蓄積部に蓄積された前記信号の各々について抽出された属性の値とに基づいて、前記変更後の前記属性の値に基づいて前記属性の値を変更した場合の変更後の信号に類似する信号を、前記信号蓄積部に蓄積された前記信号から検索する信号検索部と、
    を含み、
    前記変数抽出部は、前記取得された信号から、前記信号の個体性を表す第1の隠れ変数と、前記信号の各属性を表す隠れ変数又は前記隠れ変数に基づく隠れ変数である、前記第1の隠れ変数とは独立した第2の隠れ変数と、を含む複数の隠れ変数をフィルタ関数を用いて抽出し、
    前記信号属性値表示部は、前記第2の隠れ変数を出力し、
    前記変更後属性値取得部は、前記第2の隠れ変数を変換することにより変更後の各属性を表す第3の隠れ変数を取得し、
    前記信号検索部は、前記信号を前記第3の隠れ変数に基づいて変更した信号に類似する信号を、前記信号蓄積部に蓄積された信号から検索し、
    前記隠れ変数は、前記信号の各属性を表す隠れ変数が、2階層以上の隠れ変数へ階層的に変換される階層構造を有する
    信号検索装置。
  5. 前記信号検索部は、前記変更後の前記属性の値と、前記信号蓄積部に蓄積された前記信号の各々について抽出された前記属性の値とを比較して、前記変更後の信号に類似する前記信号を前記信号蓄積部に蓄積された前記信号から検索する
    請求項4記載の信号検索装置。
  6. 前記変数抽出部は、予め学習されたニューラルネットワークを用いて、前記取得された信号から、隠れ変数を抽出し、前記隠れ変数は、前記属性を表す隠れ変数を含み、
    前記変更後属性値取得部は、前記属性の値の前記変更指示を受け付けると、前記変更後の前記属性を表す隠れ変数を取得し、
    前記信号検索部は、前記変更後の前記属性を表す前記隠れ変数と、前記信号蓄積部に蓄積された前記信号の各々について抽出された前記属性を表す隠れ変数とを比較して、前記変更後の前記属性を表す前記隠れ変数に基づいて前記属性の値を変更した場合の変更後の信号に類似する信号を、前記信号蓄積部に蓄積された前記信号から検索する
    請求項4又は5記載の信号検索装置。
  7. 前記変数抽出部によって抽出された各属性を表す第2の隠れ変数のうち、変更対象の属性を表す隠れ変数の値を、変更後属性値取得部によって取得された変更後の値で置き換えることにより、前記変更対象の属性を表す第2の隠れ変数の値を変更する変更部をさらに備え、
    前記信号蓄積部は、蓄積された信号に関する第1の隠れ変数と第2の隠れ変数とを前記蓄積された信号とともに記憶しており、
    前記信号検索部は、前記第3の隠れ変数と、前記蓄積された信号に関する第2の隠れ変数とを比較することにより、前記信号蓄積部に蓄積されている前記第2の隠れ変数のうち前記第3の隠れ変数に最も類似する隠れ変数に対応する前記信号を検索する、
    請求項4〜6の何れか1項記載の信号検索装置。
  8. コンピュータを、請求項1〜請求項7の何れか1項記載の信号検索装置を構成する各部として機能させるためのプログラム。
  9. 信号出力部が、取得された信号を出力し、
    信号属性値表示部が、前記取得された信号が表現する対象を構成する要素、又は信号発生源に関する属性の値の変更指示を受付可能な状態で、前記属性の値を表示し、
    変更後属性値取得部が、前記属性の値の前記変更指示を受け付けると、変更後の属性の値を取得し、
    信号検索部が、前記変更後属性値取得部によって取得された前記変更後の前記属性の値に基づいて前記属性の値を変更した場合の変更後の信号に類似する信号を、信号を蓄積した信号蓄積部から検索し、
    変数抽出部が、前記取得された信号から、前記信号の個体性を表す第1の隠れ変数と、前記信号の各属性を表す隠れ変数又は前記隠れ変数に基づく隠れ変数である、前記第1の隠れ変数とは独立した第2の隠れ変数と、を含む複数の隠れ変数をフィルタ関数を用いて抽出し、
    前記信号属性値表示部が、前記第2の隠れ変数を出力し、
    前記変更後属性値取得部が、前記第2の隠れ変数を変換することにより変更後の各属性を表す第3の隠れ変数を取得し、
    前記信号検索部が、前記信号を前記第3の隠れ変数に基づいて変更した信号に類似する信号を、前記信号蓄積部に蓄積された信号から検索し、
    前記隠れ変数は、前記信号の各属性を表す隠れ変数が、2階層以上の隠れ変数へ階層的に変換される階層構造を有する
    信号検索方法。
  10. 信号出力部が、取得された信号を出力し、
    変数抽出部が、前記取得された信号が表現する対象を構成する要素、又は信号発生源に関する属性の値を前記取得された信号から抽出し、
    信号属性値表示部が、前記取得された信号の前記属性の値の変更指示を受付可能な状態で、前記属性の値を表示し、
    変更後属性値取得部が、前記属性の値の前記変更指示を受け付けると、変更後の属性の値を取得し、
    信号検索部が、前記変更後の前記属性の値と、信号蓄積部に蓄積された信号の各々について抽出された属性の値とに基づいて、前記変更後の前記属性の値に基づいて前記属性の値を変更した場合の変更後の信号に類似する信号を、前記信号蓄積部に蓄積された前記信号から検索し、
    前記変数抽出部が、前記取得された信号から、前記信号の個体性を表す第1の隠れ変数と、前記信号の各属性を表す隠れ変数又は前記隠れ変数に基づく隠れ変数である、前記第1の隠れ変数とは独立した第2の隠れ変数と、を含む複数の隠れ変数をフィルタ関数を用いて抽出し、
    前記信号属性値表示部が、前記第2の隠れ変数を出力し、
    前記変更後属性値取得部が、前記第2の隠れ変数を変換することにより変更後の各属性を表す第3の隠れ変数を取得し、
    前記信号検索部が、前記信号を前記第3の隠れ変数に基づいて変更した信号に類似する信号を、前記信号蓄積部に蓄積された信号から検索し、
    前記隠れ変数は、前記信号の各属性を表す隠れ変数が、2階層以上の隠れ変数へ階層的に変換される階層構造を有する
    信号検索方法。
JP2019515738A 2017-05-02 2018-05-01 信号検索装置、方法、及びプログラム Active JP6831453B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2017091735 2017-05-02
JP2017091735 2017-05-02
PCT/JP2018/017430 WO2018203555A1 (ja) 2017-05-02 2018-05-01 信号検索装置、方法、及びプログラム

Publications (2)

Publication Number Publication Date
JPWO2018203555A1 JPWO2018203555A1 (ja) 2019-12-19
JP6831453B2 true JP6831453B2 (ja) 2021-02-17

Family

ID=64016106

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019515738A Active JP6831453B2 (ja) 2017-05-02 2018-05-01 信号検索装置、方法、及びプログラム

Country Status (3)

Country Link
US (1) US11335118B2 (ja)
JP (1) JP6831453B2 (ja)
WO (1) WO2018203555A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11335118B2 (en) * 2017-05-02 2022-05-17 Nippon Telegraph And Telephone Corporation Signal retrieval apparatus, method, and program
JP7023669B2 (ja) * 2017-10-26 2022-02-22 株式会社Preferred Networks 画像生成方法、画像生成装置、及び画像生成プログラム
US11797864B2 (en) * 2018-06-18 2023-10-24 Fotonation Limited Systems and methods for conditional generative models
US11568207B2 (en) 2018-09-27 2023-01-31 Deepmind Technologies Limited Learning observation representations by predicting the future in latent space
US11055514B1 (en) * 2018-12-14 2021-07-06 Snap Inc. Image face manipulation
US11157763B2 (en) * 2020-02-07 2021-10-26 Wipro Limited System and method for identifying target sections within images
US11301724B2 (en) * 2020-04-30 2022-04-12 Robert Bosch Gmbh Semantic adversarial generation based function testing method in autonomous driving
WO2022091299A1 (ja) * 2020-10-29 2022-05-05 日本電気株式会社 検索装置、検索方法及び記録媒体

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002183205A (ja) * 2000-12-11 2002-06-28 Minolta Co Ltd データベース構築プログラムを記録したコンピュータ読み取り可能な記録媒体、データベース構築方法およびデータベース構築装置、ならびに、データベース検索プログラムを記録したコンピュータ読み取り可能な記録媒体、データベース検索方法およびデータベース検索装置
US7039222B2 (en) * 2003-02-28 2006-05-02 Eastman Kodak Company Method and system for enhancing portrait images that are processed in a batch mode
US8620038B2 (en) * 2006-05-05 2013-12-31 Parham Aarabi Method, system and computer program product for automatic and semi-automatic modification of digital images of faces
US7684651B2 (en) 2006-08-23 2010-03-23 Microsoft Corporation Image-based face search
US11074495B2 (en) * 2013-02-28 2021-07-27 Z Advanced Computing, Inc. (Zac) System and method for extremely efficient image and pattern recognition and artificial intelligence platform
US20140153832A1 (en) * 2012-12-04 2014-06-05 Vivek Kwatra Facial expression editing in images based on collections of images
CN107408401B (zh) * 2015-03-27 2020-07-03 谷歌有限责任公司 用于图像的简化调整的用户滑块
US10460493B2 (en) * 2015-07-21 2019-10-29 Sony Corporation Information processing apparatus, information processing method, and program
JP6548998B2 (ja) * 2015-09-07 2019-07-24 株式会社東芝 人物検索システムおよび人物検索方法
WO2018008138A1 (ja) * 2016-07-08 2018-01-11 株式会社オプティム 化粧品情報提供システム、化粧品情報提供装置、化粧品情報提供方法、及びプログラム
US10824942B1 (en) * 2017-04-10 2020-11-03 A9.Com, Inc. Visual similarity and attribute manipulation using deep neural networks
WO2018203549A1 (ja) * 2017-05-02 2018-11-08 日本電信電話株式会社 信号変更装置、方法、及びプログラム
US11335118B2 (en) * 2017-05-02 2022-05-17 Nippon Telegraph And Telephone Corporation Signal retrieval apparatus, method, and program
US10891509B2 (en) * 2017-10-27 2021-01-12 Avigilon Corporation Method and system for facilitating identification of an object-of-interest
CA3088781A1 (en) * 2018-03-23 2019-09-26 Avigilon Coporation Method and system for interfacing with a user to facilitate an image search for an object-of-interest
US10789753B2 (en) * 2018-04-23 2020-09-29 Magic Leap, Inc. Avatar facial expression representation in multidimensional space
JP7080212B2 (ja) * 2019-12-27 2022-06-03 グリー株式会社 コンピュータプログラム、サーバ装置及び方法

Also Published As

Publication number Publication date
JPWO2018203555A1 (ja) 2019-12-19
US20200065560A1 (en) 2020-02-27
US11335118B2 (en) 2022-05-17
WO2018203555A1 (ja) 2018-11-08

Similar Documents

Publication Publication Date Title
JP6831453B2 (ja) 信号検索装置、方法、及びプログラム
JP6908863B2 (ja) 信号変更装置、方法、及びプログラム
CN107609572B (zh) 基于神经网络和迁移学习的多模态情感识别方法、系统
KR102252081B1 (ko) 이미지 특성의 획득
Fabius et al. Variational recurrent auto-encoders
KR102601848B1 (ko) 데이터 인식 모델 구축 장치 및 방법과 데이터 인식 장치
KR102281590B1 (ko) 음성인식 성능 향상을 위한 비 지도 가중치 적용 학습 시스템 및 방법, 그리고 기록 매체
CN112800998B (zh) 融合注意力机制和dmcca的多模态情感识别方法及系统
KR102517513B1 (ko) 인공지능 기반 수목 데이터 관리 시스템 및 수목 데이터 관리 방법
CN112949647B (zh) 三维场景描述方法、装置、电子设备和存储介质
US20110060708A1 (en) Information processing device, information processing method, and program
CN113297369B (zh) 基于知识图谱子图检索的智能问答系统
KR20200123544A (ko) 동의어 추출 방법
KR20200078214A (ko) 스타일 변환을 위한 영상 처리 장치 및 방법
KR20200052453A (ko) 딥러닝 모델 학습 장치 및 방법
JP7078875B2 (ja) 信号生成装置、信号生成学習装置、方法、及びプログラム
CN115564027A (zh) 多模态学习行为分析方法、系统及存储介质
JP6886120B2 (ja) 信号検索装置、方法、及びプログラム
Atkar et al. Speech emotion recognition using dialogue emotion decoder and CNN Classifier
Devi et al. Dive in Deep Learning: Computer Vision, Natural Language Processing, and Signal Processing
CN111462762B (zh) 一种说话人向量正则化方法、装置、电子设备和存储介质
CN114926872A (zh) 模型训练方法、亲属关系识别方法、电子设备及存储介质
Gatto et al. Discriminative singular spectrum classifier with applications on bioacoustic signal recognition
Elibol et al. Semi-supervised and population based training for voice commands recognition
CN117668701B (zh) Ai人工智能机器学习系统及方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190806

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190806

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200915

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20201111

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210114

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210126

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210128

R150 Certificate of patent or registration of utility model

Ref document number: 6831453

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150