(57)【要約】【課題】類推データの生成精度を向上させることを課題とする。【解決手段】学習装置は、入力データおよび自己符号化器の符号化器により生成される特徴量を、推定ラベルを生成する判別器に入力する。続いて、学習装置は、判別器を用いて、入力データに対応するラベルと推定ラベルとが一致するように判別器を学習させる。そして、学習装置は、判別器を用いて、入力データに対応するラベルと推定ラベルとが離れるように符号化器を学習させる。【選択図】図２
2019159823.tif 000002
【特許請求の範囲】
【請求項１】
入力データおよび自己符号化器の符号化器により生成される特徴量を入力し、推定ラベルを生成する判別器を用いて、前記入力データに対応するラベルと前記推定ラベルとが一致するように前記判別器を学習させ、
前記判別器を用いて、前記入力データに対応するラベルと前記推定ラベルとが離れるように前記符号化器を学習させる
処理をコンピュータに実行させる学習プログラム。
【請求項２】
前記符号化器を学習させる処理は、複数の入力データに対応する各特徴量が独立して分布されるように、前記符号化器を学習させる請求項１に記載の学習プログラム。
【請求項３】
前記符号化器を学習させる処理は、複数の入力データに対応する各特徴量が前記複数の入力データそれぞれに対応するラベルでクラスタリングされないように、前記符号化器を学習させる請求項１に記載の学習プログラム。
【請求項４】
前記入力データに対応するラベルと前記特徴量を入力し、前記入力データを復元する復号化器を用いて、前記入力データに対応する再構成データを生成し、
前記入力データと前記再構成データとの差が小さくなるように、前記符号化器および前記復号化器を学習させる処理を前記コンピュータに実行させる請求項１から３のいずれか一つに記載の学習プログラム。
【請求項５】
学習済みの前記符号化器に類推対象のデータを入力して前記特徴量を生成し、前記特徴量と前記類推対象のデータに対して類推対象となる目的ラベルとを前記復号化器に入力して、前記類推対象のデータに対応する類推データを生成する処理を前記コンピュータに実行させる請求項４に記載の学習プログラム。
【請求項６】
入力データおよび自己符号化器の符号化器により生成される特徴量を入力し、推定ラベルを生成する判別器を用いて、前記入力データに対応するラベルと前記推定ラベルとが一致するように前記判別器を学習させ、
前記判別器を用いて、前記入力データに対応するラベルと前記推定ラベルとが離れるように前記符号化器を学習させる
処理をコンピュータが実行する学習方法。
【請求項７】
入力データおよび自己符号化器の符号化器により生成される特徴量を入力し、推定ラベルを生成する判別器を用いて、前記入力データに対応するラベルと前記推定ラベルとが一致するように前記判別器を学習させる第１の学習部と、
前記判別器を用いて、前記入力データに対応するラベルと前記推定ラベルとが離れるように前記符号化器を学習させる第２の学習部と
を有する学習装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、学習プログラム、学習方法および学習装置に関する。
【背景技術】
【０００２】
入力ｘに対してラベルｙが付加されたラベル付きデータを用いた学習器として、エンコーダとデコーダを訓練させる自己符号化器が知られている。例えば、エンコーダは、入力ｘから特徴量ｚへの変換を実行し、デコーダは、特徴量ｚとラベルｙとから再構成データｘ´へ変換する。このとき、エンコーダおよびデコーダは、元の入力ｘと再構成データｘ´との誤差が小さくなるように学習し、エンコーダは、元のデータｘを変換したときの特徴量ｚの分布と目標分布との誤差が小さくなるように学習する。
【０００３】
近年では、ラベル付きデータのアナロジー（類推データ）の自動生成の技術も知られている。具体的には、データｘとラベルｙのペアから、ラベルｙを変更したときの再構成データｘ´を類推することが行われている。例えば、何の文字かを示すラベルが付加された文字画像から、同じようなスタイルの文字画像を類推する。また、話した内容を示すラベルが付加された音声データから、同じような音質や声色の他の発話音声データを類推する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−１１８４９６号公報
【特許文献２】特開２００４−３２６２００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、類推データの自動生成を自己符号化器で実行することが一般的に考えられるが、上記自己符号化器では類推データの精度がよくない。例えば、上記自己符号化器のエンコーダは、デコーダに直接与えられない、ラベルｙ以外の情報を積極的に表すような特徴量ｚへの変換を学習する。このため、学習が進むと、エンコーダは、ラベルｙを含むような情報またはラベルｙに近い情報となる特徴量ｚを生成し、デコーダは、ラベルｙと特徴量ｚから、入力ｘとの誤差が小さい再構成データｘ´への変換を行うので、再構成データｘ´は、入力ｘに近づく。
【０００６】
したがって、上記自己符号化器では、類推データの作成のために学習を繰り返しても、入力ｘから入力ｘに近い再構成データｘ´の生成精度が向上するが、類推データの精度は向上しない。また、上記自己符号化器の特徴量ｚのサイズ設定や学習するデータを変更するなどの試行錯誤を行って、類推データの精度が向上する学習を設計することも考えられるが、工数がかかるので、現実的ではない。
【０００７】
一つの側面では、類推データの生成精度を向上させることができる学習プログラム、学習方法および学習装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
第１の案では、学習プログラムは、入力データおよび自己符号化器の符号化器により生成される特徴量を入力し、推定ラベルを生成する判別器を用いて、前記入力データに対応するラベルと前記推定ラベルとが一致するように前記判別器を学習させる処理をコンピュータに実行させる。学習プログラムは、前記判別器を用いて、前記入力データに対応するラベルと前記推定ラベルとが離れるように前記符号化器を学習させる処理をコンピュータに実行させる。
【発明の効果】
【０００９】
一実施形態によれば、類推データの生成精度を向上させることができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施例１にかかる学習装置を説明する図である。
【図２】図２は、実施例１にかかる学習装置の機能構成を示す機能ブロック図である。
【図３】図３は、学習処理の流れを示すフローチャートである。
【図４】図４は、類推処理の流れを示すフローチャートである。
【図５】図５は、初期化から学習処理の初期段階を説明する図である。
【図６】図６は、学習処理の学習初期を説明する図である。
【図７】図７は、評価器の学習を説明する図である。
【図８】図８は、エンコーダの学習を説明する図である。
【図９】図９は、学習結果と類推結果を説明する図である。
【図１０】図１０は、従来の学習を説明する図である。
【図１１】図１１は、従来の学習を説明する図である。
【図１２】図１２は、従来の学習結果を説明する図である。
【図１３】図１３は、ラベル無しデータを併用した学習例を説明する図である。
【図１４】図１４は、ハードウェア構成例を示す図である。
【発明を実施するための形態】
【００１１】
以下に、本願の開示する学習プログラム、学習方法および学習装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。各実施例は、矛盾のない範囲内で適宜組み合わせることができる。
【実施例１】
【００１２】
［学習装置の説明］
図１は、実施例１にかかる学習装置を説明する図である。図１に示す学習装置は、エンコーダ１とデコーダ２と評価器３とを有し、ラベルが付加されたラベル付きデータ（教師ありデータ）を用いて学習する自己符号化器の一例である。なお、エンコーダは、符号化器の一例であり、デコーダは、復号化器の一例であり、評価器３は、判別器の一例である。
【００１３】
また、実施例１では、再構成の学習例を説明するので、エンコーダ１やデコーダ２と記載するが、学習内容や機能を限定するものではない。また、エンコーダ１とデコーダ２と評価器３などの各学習器には、例えばニューラルネットワークで構成し、勾配法など様々な学習手法を採用することができる。また、学習の例として手書き文字の画像を例示して説明するが、あくまで一例であり、学習内容や学習対象を限定するものではない。
【００１４】
本実施例では、ラベル付きデータ（ｘ、ｙ）を用いて学習する例を説明する。例えば、学習対象が手書き文字の画像の場合、ｘは写真などの画像データであり、ｙは何の文字が書かれているかを示すラベルであり、ｚは、線幅や文字の傾きなど、書かれている文字に関係のない特徴を表すデータ（ベクトル）である。また、学習対象が発話音声データの場合、ｘは音声データであり、ｙは発話内容のテキストデータであり、ｚは発話者の音色、雑音、音量など、発話内容に関係のない特徴を表すデータ（ベクトル）である。
【００１５】
エンコーダ１は、ラベル付きデータ（ｘ、ｙ）のｘを入力として、入力ｘから特徴量ｚを生成する。デコーダ２は、特徴量ｚとラベルｙとから再構成データｘ´を復元する。そして、評価器３は、特徴量ｚから推定ラベルｙ´を生成する。
【００１６】
ここで、エンコーダ１とデコーダ２は、入力ｘを正しく復元するために、入力ｘと再構成データｘ´の誤差（Ａ）が小さくなるように学習する。また、エンコーダ１は、特徴量ｚのみから正しいラベルｙが予測できないように、既知のラベルｙと推定ラベルｙ´の誤差（Ｂ）が大きくなるように学習する。そして、評価器３は、特徴量ｚのみから正しいラベルｙが予測できるように、誤差（Ｂ）が小さくなるように学習する。
【００１７】
したがって、誤差Ｂの最大化問題と誤差Ｂの最小化問題とを競合させることで、学習するにつれて、徐々に特徴量ｚにラベルｙの情報が含まれなくなっていく。また、誤差Ａの最小化問題により、特徴量ｚからラベルｙ以外の情報まで過度に失われることを防ぐ。この学習により、入力ｘからラベルｙの情報を含まない特徴量ｚへの変換、および、特徴量ｚとラベルｙから入力ｘを再構成する変換が学習される。
【００１８】
つまり、特徴量ｚにどれだけラベルｙの情報が含まれているか、言い換えると、特徴量ｚとラベルｙがどれだけ分離できているかを評価するための評価器を導入することで、直接的に特徴量ｚとラベルｙがより分離する方向に学習を進めることができる。この結果、学習装置１０は、アナロジー生成に好適な特徴量ｚを探索することを直接の目的とした学習を実行できるので、類推データの生成精度を向上させることができる。
【００１９】
［機能構成］
図２は、実施例１にかかる学習装置１０の機能構成を示す機能ブロック図である。図２に示すように、学習装置１０は、訓練データＤＢ１１、エンコーダモデルパラメータＤＢ１２、デコーダモデルパラメータＤＢ１３、評価器モデルパラメータＤＢ１４、対象データＤＢ１５、類推データＤＢ１６を有する。また、学習装置１０は、エンコーダ実行部２０、デコーダ実行部２１、評価器実行部２２、類推データ生成部２３を有する。
【００２０】
なお、訓練データＤＢ１１、エンコーダモデルパラメータＤＢ１２、デコーダモデルパラメータＤＢ１３、評価器モデルパラメータＤＢ１４、対象データＤＢ１５、類推データＤＢ１６は、メモリやハードディスクなどの記憶装置に記憶される。エンコーダ実行部２０、デコーダ実行部２１、評価器実行部２２、類推データ生成部２３は、プロセッサなどが実行するプロセスによって実現することもできる。また、評価器実行部２２は、第１の学習部の一例であり、エンコーダ実行部２０は、第２の学習部の一例である。
【００２１】
訓練データＤＢ１１は、学習対象の訓練データを記憶するデータベースである。例えば、訓練データＤＢ１１は、画像データｘとラベルｙとから構成される、複数のラベル付きデータ（ｘ、ｙ）を記憶する。
【００２２】
エンコーダモデルパラメータＤＢ１２は、エンコーダ１に設定する各種パラメータを記憶するデータベースであり、エンコーダ１が学習によって更新する各種パラメータを記憶する。デコーダモデルパラメータＤＢ１３は、デコーダ２に設定する各種パラメータを記憶するデータベースであり、デコーダ２が学習によって更新する各種パラメータを記憶する。評価器モデルパラメータＤＢ１４は、評価器３に設定する各種パラメータを記憶するデータベースであり、評価器３が学習によって更新する各種パラメータを記憶する。なお、各種パラメータは、各学習器が畳み込み層、プーリング層、全結合層からなるニューラルネットワーク（ＮＮ）の場合には、重み係数などの一般的なパラメータである。
【００２３】
対象データＤＢ１５は、学習結果を用いてデータの類推を実行する、類推対象の対象データを記憶するデータベースである。例えば、対象データＤＢ１５は、手書き文字の画像などを記憶する。類推データＤＢ１６は、学習された各種パラメータを用いて、対象データＤＢ１５に記憶される対象データから類推された類推データを記憶するデータベースである。
【００２４】
エンコーダ実行部２０は、エンコーダ１を実行する処理部であり、エンコーダ１に設定するパラメータを学習する処理部である。具体的には、エンコーダ実行部２０は、訓練データＤＢ１１に記憶されるラベル付きデータ（ｘ、ｙ）のｘをエンコーダ１に入力し、エンコーダ１によって、入力ｘから特徴量ｚを生成して、デコーダ実行部２１に出力する。
【００２５】
そして、エンコーダ実行部２０は、入力ｘが正しく復元できるように、入力ｘとデコーダ２の出力である再構成データ（復元データ）ｘ´の誤差（Ａ）が小さくなるように、エンコーダモデルパラメータＤＢ１２に記憶されるパラメータを学習（更新）する。また、エンコーダ実行部２０は、特徴量ｚのみから正しいラベルｙが予測できないように、ラベルｙと評価器３の出力である推定ラベルｙ´との誤差（Ｂ）が大きくなるように、エンコーダモデルパラメータＤＢ１２に記憶されるパラメータを学習する。
【００２６】
ここで、エンコーダ実行部２０は、入力ｘとデコーダ２の出力である復元データｘ´の誤差（Ａ）については、二重誤差、クロスエントロピー、画像間距離、画像の類似性などによって、誤差（Ａ）が小さくなるように学習する。なお、二重誤差は、数値化された広い範囲のデータに適しており、特に画像や音声に有効である。クロスエントリピーは、入力ｘがカテゴリカルな整数を含むデータに適しており、特にテキストデータに有効である。画像間距離や画像の類似性は、人の直観に近い画像同士の距離を示す誤差で判定する指標であり、画像データに適する。より詳細には、ＰＮＳＲ（Peak  Signal−to−noise  Ratio）やＳＳＩＭ（structural  similarity）などの類似度、画像認識ニューラルネットの中間表現での誤差などである。
【００２７】
また、エンコーダ実行部２０は、ラベルｙと推定ラベルｙ´の誤差（Ｂ）については、クロスエントロピーや二重誤差などによって、誤差（Ｂ）が大きくなるように学習する。なお、クロスエントロピーは、ラベルｙが整数ラベルの場合に適しており、二重誤差は、ラベルｙが実数ラベルの場合に適している。
【００２８】
デコーダ実行部２１は、デコーダ２を実行する処理部であり、デコーダ２に設定するパラメータを学習する処理部である。具体的には、デコーダ実行部２１は、エンコーダ１から出力された特徴量ｘと、特徴量ｚの生成に利用された入力ｘに対応するラベルｙとをデコーダ２に入力し、デコーダ２によって再構成データｘ´を復元する。
【００２９】
そして、デコーダ実行部２１は、入力ｘが正しく復元できるように、入力ｘとデコーダ２の出力である推定ラベルｘ´との誤差（Ａ）が小さくなるように、デコーダモデルパラメータＤＢ１３に記憶されるパラメータを学習する。
【００３０】
評価器実行部２２は、評価器３を実行する処理部であり、評価器３に設定するパラメータを学習する処理部である。具体的には、評価器実行部２２は、エンコーダ１から出力された特徴量ｚを評価器３に入力し、評価器３によって、推定ラベルｙ´を生成する。
【００３１】
そして、評価器実行部２２は、特徴量ｚの生成に使用された入力ｘに対応するラベルｙが正しく復元できるように、既知のラベルｙと推定ラベルｙ´の誤差（Ｂ）が小さくなるように、評価器モデルパラメータＤＢ１４に記憶されるパラメータを学習する。
【００３２】
なお、エンコーダ１、デコーダ２、評価器３の学習は、各誤差が閾値以下となるまで繰り返すこともできる。また、エンコーダ１、デコーダ２、評価器３の学習は、予め定めた回数だけ繰り返すこともできる。また、エンコーダ１、デコーダ２、評価器３の学習は、いずれかの誤差が閾値以下となるまで繰り返すこともできる。
【００３３】
類推データ生成部２３は、学習されたエンコーダ１およびデコーダ２を用いて、類推データを生成する処理部である。具体的には、類推データ生成部２３は、エンコーダモデルパラメータＤＢ１２に記憶される学習後のパラメータを適用したエンコーダ１と、デコーダモデルパラメータＤＢ１３に記憶される学習後のパラメータを適用したデコーダ２とに対して、対象データＤＢ１５に記憶されるデータを入力して、類推データを生成して類推データＤＢ１６に格納する。
【００３４】
例えば、類推データ生成部２３は、学習後のパラメータを適用したエンコーダ１と、学習後のパラメータを適用したデコーダ２とを実行する。そして、類推データ生成部２３は、対象データＤＢ１５に記憶される画像データ（ａ）をエンコーダ１に入力して特徴量ｚを生成する。続いて、類推データ生成部２３は、特徴量ｚと、入力された画像データ（ａ）に対する目的のラベル（ｂ）とをデコーダ２に入力する。その後、類推データ生成部２３は、デコーダ２からの出力を、画像データ（ａ）からの類推データとして、類推データＤＢ１６に格納する。
【００３５】
［学習処理の流れ］
図３は、学習処理の流れを示すフローチャートである。図３に示すように、学習装置１０は、訓練データＤＢ１１から訓練データを読み込み（Ｓ１０１）、エンコーダ１とデコーダ２と評価器３の各モデルを初期化する（Ｓ１０２）。
【００３６】
続いて、エンコーダ実行部２０とデコーダ実行部２１は、訓練データを用いて、誤差（Ａ）を算出して、エンコーダ１とデコーダ２のそれぞれを学習する（Ｓ１０３）。そして、評価器実行部２２は、誤差（Ｂ）を算出して評価器３の学習を実行し（Ｓ１０４）、エンコーダ実行部２０は、誤差（Ｂ）を用いてエンコーダ１を学習する（Ｓ１０５）。なお、Ｓ１０３からＳ１０５の学習は順不同である。
【００３７】
その後、精度が十分ではない場合（Ｓ１０６：Ｎｏ）、Ｓ１０３以降が繰り返され、精度が十分である場合（Ｓ１０６：Ｙｅｓ）、各モデルが出力される（Ｓ１０７）。例えば、各パラメータＤＢの更新が終了し、学習終了時に記憶される各パラメータが各モデル（学習モデル）のパラメータとして決定される。
【００３８】
［類推処理の流れ］
図４は、類推処理の流れを示すフローチャートである。図４に示すように、類推データ生成部２３は、各モデルを読み込み、学習後のパラメータを適用したエンコーダ１とデコーダ２を実行する（Ｓ２０１）。
【００３９】
続いて、類推データ生成部２３は、対象データＤＢ１５から類推対象のデータを読み込み（Ｓ２０２）、エンコーダ１およびデコーダ２を用いて、類推データを生成する（Ｓ２０３）。その後、類推データ生成部２３は、生成した類推データを類推データＤＢ１６に出力する（Ｓ２０４）。
【００４０】
［学習処理の具体例］
次に、図５から図９を用いて、学習処理の具体的な流れを説明する。図５は、初期化から学習処理の初期段階を説明する図である。図６は、学習処理の学習初期を説明する図である。図７は、評価器３の学習を説明する図である。図８は、エンコーダ１の学習を説明する図である。図９は、学習結果と類推結果を説明する図である。
【００４１】
なお、ここでは、エンコーダ１をＥｎｃ１、デコーダ２をＤｅｃ２、評価器３をＥｖｌ３と記載し、ニューラルネットワークでのモデル化を想定して説明するが、それぞれのモデル化の方法は、ニューラルネットワークに限定されず、他のモデル化も利用できる。また、特徴量として、２次元のベクトルを例にして説明する。
【００４２】
（初期化）
図５に示すように、まず、学習装置１０は、Ｅｎｃ１とＤｅｃ２とＥｖｌ３のそれぞれを初期化する。例えば、学習装置１０は、各学習器のニューラルネットワークの内部パラメータに適当な乱数の値を代入する。
【００４３】
続いて、学習装置１０は、手書き文字の画像データである「２、５、４、４、８、８、２」の各文字データを入力データｘとしてＥｎｃ１に入力して、それぞれの特徴量ｚを出力する。この時点では、学習が行われていないので、入力データｘを変換しても意味のある特徴量ｚは得られない。すなわち、各入力データｘは適当な特徴量ｚに変換されるので、特徴量ｚの分布も意味をなさない。なお、入力データについて、１番目の「２の画像」と３番目の「４の画像」の筆跡が似ており、２番目の「５の画像」と６番目の「８の画像」の筆跡が似ており、４番目の「４の画像」と５番目の「８の画像」と７番目の「２の画像」の筆跡が似ているものとする。
【００４４】
その後、学習装置１０は、入力データから生成された各特徴量と各特徴量に対応するラベル「２、５、４、４、８、８、２」のそれぞれをＤｅｃ２に入力して、入力データに対応する再構成データｘ´をそれぞれ復元する。例えば、学習装置１０は、文字「２」の入力データから得られた特徴量ｚとラベル「２」とをＤｅｃ２に入力して、入力データである文字「２」の復元データｘ´を得る。次に、学習装置１０は、文字「５」の入力データから得られた特徴量ｚとラベル「５」とをＤｅｃ２に入力して、入力データである文字「５」の復元データｘ´を得る。このようにして、学習装置１０は、各特徴量と各ラベルから入力画像を復元する。この時点では、学習が行われていないので、意味のある復元データｘ´は得られない。すなわち、各入力データｘは適当な特徴量ｚに変換されるので、復元データｘ´は入力データｘを正しく復元できない。
【００４５】
（学習初期）
図６に示すように、学習装置１０は、入力データｘと復元データｘ´の誤差（Ａ）が小さくなるように、Ｅｎｃ１とＤｅｃ２を学習する。具体的には、学習装置１０は、入力データｘと復元データｘ´の二乗誤差の最小化問題を、バックプロパゲーションで解き、Ｅｎｃ１とＤｅｃ２にパラメータを更新する。
【００４６】
学習後、学習装置１０は、入力データ「２、５、４、４、８、８、２」の各画像データを入力データｘとしてＥｎｃ１に入力して、それぞれの特徴量ｚを出力する。すなわち、入力データｘと復元データｘ´が近くなる一方で、特徴量ｚにラベルｙの情報が含まれるようになる。言い換えると、特徴量ｚの空間にラベルｙの情報が含まれるようになり、特徴量ｚの分布がラベルｙでクラスタリングされる。なお、ここでは、一例として、図５と図６の入力データが同じである例で説明したが、異なるデータであってもよい。
【００４７】
Ｅｎｃ１とＤｅｃ２の学習後、学習装置１０は、入力データから生成された各特徴量と各特徴量に対応するラベル「２、５、４、４、８、８、２」のそれぞれをＤｅｃ２に入力して、復元データｘ´をそれぞれ生成する。すると、復元データｘ´は、正しく入力データｘを復元し始める。
【００４８】
（評価器３の学習による影響）
図７に示すように、学習装置１０は、Ｅｖｌ３によって、特徴量ｚから、各入力データｘに対してラベルｙ´を求める。例えば、学習装置１０は、文字「２」の入力データに対してラベル「３」を求め、文字「５」の入力データに対してラベル「５」を求め、文字「４」の入力データに対してラベル「９」を求める。
【００４９】
そして、学習装置１０は、Ｄｅｃ２に入力されるラベルｙと、Ｅｖｌ３が特徴量ｚから生成する推定ラベルｙ´との誤差（Ｂ）が小さくなるように、Ｅｖｌ３を学習する。具体的には、学習装置１０は、ラベルｙと推定ラベルｙ´のクロスエントロピーの最小化問題を、バックプロパゲーションで解き、Ｅｖｌ３のパラメータを更新する。この結果、現時点でのＥｎｃ１のもとで、Ｅｖｌ３がより正しいラベルｙを生成できるようになる。
【００５０】
（エンコーダ１の学習による影響）
図８に示すように、学習装置１０は、Ｄｅｃ２に入力するラベルｙと、Ｅｖｌ３から出力される推定ラベルｙ´とが離れるように、Ｅｎｃ１を学習する。すなわち、学習装置１０は、上記誤差（Ｂ）が大きくなるように、Ｅｎｃ１を学習する。具体的には、学習装置１０は、ラベルｙと推定ラベルｙ´のクロスエントロピーの最大化問題を、バックプロパゲーションで解き、Ｅｎｃ１のパラメータを更新する。例えば、学習装置１０は、各入力データｘから生成される各特徴量ｚが、各入力データに対応するラベルでクラスタリングされないように学習する。または、学習装置１０は、各入力データｘから生成される各特徴量ｚが独立となるように学習する。
【００５１】
そして、学習装置１０は、Ｅｖｌ３によって、各入力データｘに対して各ラベルｙ´を求める。ここで、上記最大化学習によって、特徴量ｚの空間にラベルｙの情報が含まれなくなるので、特徴量ｚがラベルｙ以外の情報である筆跡や線幅などに依存して分布するようになる。つまり、Ｄｅｃ２に入力されるラベル「２」や「５」で特徴量がクラスタリングされなくなり、各特徴量ｚが独立して分布されるようになる。
【００５２】
そして、学習装置１０は、入力画像から生成された各特徴量と各特徴量に対応するラベル「２、５、４、４、８、８、２」のそれぞれをＤｅｃ２に入力して、復元データｘ´をそれぞれ復元する。ここでは、特徴量ｚにラベルｙの情報が含まれなくなるので、入力データｘと復元データｘ´の差が大きくなる。すなわち、Ｅｎｃ１が変化するため、Ｄｅｃ２での復元結果が変化し、入力データｘの復元能力が低下する。
【００５３】
（学習結果）
図５から図８で説明した学習を繰り返すことにより、入力画像データｘと復元データｘ´との誤差を十分小さくできるようなＥｎｃ１およびＤｅｃ２が学習されると同時に、ラベルｙの情報を含まない特徴量ｚに変換できるようなＥｎｃ１が学習される。したがって、図９に示すように、学習装置１０は、文字の画像データである「２、５、４、４、８、８、２」の各入力データｘをＥｎｃ１に入力すると、ラベルｙの情報が含まれず、ラベルｙとは関係がない、各文字の筆跡など特徴を含む特徴量ｚを抽出する。この結果、学習装置１０は、特徴量ｚとラベルｙとをＤｅｃ２に入力することで、入力データｘを精度よく復元することができる。
【００５４】
また、図９の下図は、学習済みモデルを用いたアナロジー生成を説明する図である。学習装置１０は、入力データをＥｎｃ１に入力して、対応する中間表現ｚに変換し、ｚと所望のラベルｙをＤｅｃ２に入力して、入力データのラベルのみを入れ替えた類推データを得る。ここで、入力画像に対して目的のラベルを入力することで、ラベル以外の情報（筆跡や線幅など）を保持した類推画像が出力される。つまり、学習装置１０は、「５」の文字データとラベル「７」を入力したときに、「５」を復元するのではなく、入力データである「５」の筆跡や線幅で記載された「７」の文字データを復元できる。
【００５５】
［従来の学習］
次に、アナロジー生成のための一般的な学習について説明する。図１０と図１１は、従来の学習を説明する図であり、図１２は、従来の学習結果を説明する図である。
【００５６】
図１０に示すように、従来の学習装置（以下では、単に従来装置と記載する場合がある）は、ＥｎｃとＤｅｃから構成され、ラベル付きデータをＥｎｃに入力して特徴量ｚを生成する。そして、従来装置は、入力ｘの対応するラベルｙと特徴量ｚとをＤｅｃに入力して、再構成データ（復元データ）ｘ´を生成する。ここで、従来装置は、Ｅｎｃに入力される元データｘと、再構成データｘ´との差が小さくなるように、ＥｎｃとＤｅｃを学習するとともに、元データｘをＥｎｃで変換した特徴量ｚの分布と目標分布との差が小さくなるように、Ｅｎｃを学習する。
【００５７】
このような学習を繰り返すことで、図１１のような学習が繰り返される。すなわち、従来装置は、入力の元データｘと再構成データｘ´の誤差が十分に小さくなるパラメータを学習とともに、Ｅｎｃから出力される特徴量ｚの分布と目標分布との誤差が十分に小さくなるパラメータを学習する。つまり、従来装置は、特徴量ｚにラベルｙの情報が含まれた状態で、上記２つの誤差を最小化できる学習結果を得る。このため、従来装置は、特徴量ｚだけからラベルｙが推定可能となる。
【００５８】
したがって、従来装置では、アナロジー生成に好適な、入力ｘから特徴量ｚへの変換器が得られないので、図１２に示すように、アナロジー生成ができない。すなわち、Ｄｅｃは、ラベルｙを無視するように学習され、特徴量ｚにラベルｙの情報が含まれるようになり、別に入力されるラベルｙを利用せずとも、良い復元ができてしまう。例えば、従来装置では、「５」の文字データとラベル「７」を入力したときに、別に入力されたラベル「７」を利用せずに復元できてしまうので、入力データである「５」の筆跡や線幅で記載されたアナロジーではなく、入力データである「５」そのものを復元した文字データを復元する。
【００５９】
［効果］
上述したように、学習装置１０は、中間表現である特徴量ｚのサイズや利用するデータによらず、入力ｘをラベルｙと分離した特徴量ｚに変換する変換器を学習することができる。したがって、学習装置１０は、類推データの生成精度を向上させることができる。また、学習装置１０は、アナロジー生成に好適なデータｘの変換器の獲得にかかる工数を削減することができる。
【実施例２】
【００６０】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下に異なる実施例を説明する。
【００６１】
［装置例］
上記実施例では、学習装置１０が各学習器の学習と学習結果を用いたアナロジー生成とを実行する例を説明したが、これに限定されるものではなく、学習とアナロジー生成とを別々の装置で実行することもできる。
【００６２】
［ラベル無しデータの併用］
図１３は、ラベル無しデータを併用した学習例を説明する図である。図１３に示すように、実施例１で説明した学習装置１０のＥｎｃの出力に「ｙ〜」を追加することで、ラベル無しデータを用いることもできる。具体的には、Ｅｎｃは、ラベル付きデータ（ｘ、ｙ）に対しては、ｙとｙ〜の誤差が小さくなるように学習し、正しいｙのみをＤｅｃに出力する。また、Ｅｎｃは、ラベル無しデータ（ｘ）に対しては、推定したｙ〜をｙの代わりに、Ｄｅｃに出力する。すなわち、ラベルｙがあるときは、ラベルｙがＤｅｃに出力され、ラベルｙがないときは、Ｅｎｃによる推定されたラベルｙ〜がＤｅｃに出力される。このようにすることで、人的なコストが少ないラベル無しデータを用いることができるので、訓練データを増やすことができ、類推データの生成精度を向上させることができる。
【００６３】
［システム］
上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【００６４】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られない。つまり、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００６５】
［ハードウェア構成］
図１４は、ハードウェア構成例を示す図である。図１４に示すように、学習装置１０は、通信インタフェース１０ａ、ＨＤＤ（Hard  Disk  Drive）１０ｂ、メモリ１０ｃ、プロセッサ１０ｄを有する。
【００６６】
通信インタフェース１０ａは、他の装置の通信を制御するネットワークインタフェースカードなどである。ＨＤＤ１０ｂは、プログラムやデータなどを記憶する記憶装置の一例である。
【００６７】
メモリ１０ｃの一例としては、ＳＤＲＡＭ（Synchronous  Dynamic  Random  Access  Memory）等のＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）、フラッシュメモリ等が挙げられる。プロセッサ１０ｄの一例としては、ＣＰＵ（Central  Processing  Unit）、ＤＳＰ（Digital  Signal  Processor）、ＦＰＧＡ（Field  Programmable  Gate  Array）、ＰＬＤ（Programmable  Logic  Device）等が挙げられる。
【００６８】
また、学習装置１０は、プログラムを読み出して実行することで学習方法を実行する情報処理装置として動作する。つまり、学習装置１０は、エンコーダ実行部２０、デコーダ実行部２１、評価器実行部２２、類推データ生成部２３と同様の機能を実行するプログラムを実行する。この結果、学習装置１０は、エンコーダ実行部２０、デコーダ実行部２１、評価器実行部２２、類推データ生成部２３と同様の機能を実行するプロセスを実行することができる。なお、この他の実施例でいうプログラムは、学習装置１０によって実行されることに限定されるものではない。例えば、他のコンピュータまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。
【００６９】
このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＭＯ（Magneto−Optical  disk）、ＤＶＤ（Digital  Versatile  Disc）などのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することができる。
【符号の説明】
【００７０】
１０  学習装置
１１  訓練データＤＢ
１２  エンコーダモデルパラメータＤＢ
１３  デコーダモデルパラメータＤＢ
１４  評価器モデルパラメータＤＢ
１５  対象データＤＢ
１６  類推データＤＢ
２０  エンコーダ実行部
２１  デコーダ実行部
２２  評価器実行部
２３  類推データ生成部
【図１】
2019159823.tif 000003
【図２】
2019159823.tif 000004
【図３】
2019159823.tif 000005
【図４】
2019159823.tif 000006
【図５】
2019159823.tif 000007
【図６】
2019159823.tif 000008
【図７】
2019159823.tif 000009
【図８】
2019159823.tif 000010
【図９】
2019159823.tif 000011
【図１０】
2019159823.tif 000012
【図１１】
2019159823.tif 000013
【図１２】
2019159823.tif 000014
【図１３】
2019159823.tif 000015
【図１４】
2019159823.tif 000016