(57)【要約】【課題】性質の異なる複数のデータセットを用いた転移学習の精度を向上させること。【解決手段】学習装置は、転移元のデータセットおよび転移先のデータセットうち、いずれかのデータセットをエンコーダに入力して、第１データセットの特徴量の分布と、第２データセットの特徴量の分布とを算出する。学習装置は、第１データセットの特徴量の分布と、第２データセットの特徴量の分布とで部分的に一致する特徴量を選択する。部分的に一致する特徴量を分類器に入力して、予測ラベルを算出する。学習装置は、予測ラベルが、転移元のデータセットの正解ラベルに近づくように、エンコーダおよび分類器のパラメータを学習する。【選択図】図１
2020126468.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータが実行する学習方法であって、
転移元のデータセットおよび転移先のデータセットうち、いずれかのデータセットをエンコーダに入力して、第１データセットの特徴量の分布と、第２データセットの特徴量の分布とを生成し、
前記第１データセットの特徴量の分布と、前記第２データセットの特徴量の分布とで部分的に一致する特徴量を選択し、
前記部分的に一致する特徴量を分類器に入力して、予測ラベルを算出し、
前記予測ラベルが、前記転移元のデータセットの正解ラベルに近づくように、前記エンコーダおよび前記分類器のパラメータを学習する
処理を実行することを特徴とする学習方法。
【請求項２】
前記予測ラベルを算出する処理によって算出される複数の予測ラベルを基にして、前記転移先のデータセットに対応するラベルを予測する処理を更に実行することを特徴とする請求項１に記載の学習方法。
【請求項３】
前記第１データセットの特徴量および前記第２データセットの特徴量から前記部分的に一致する特徴量を除いた特徴量と、前記予測ラベルとをデコーダに入力して、復元データを算出する処理を更に実行することを特徴とする請求項１または２に記載の学習方法。
【請求項４】
前記エンコーダに入力したデータと、前記復元データとの誤差が小さくなるように、前記エンコーダのパラメータと、前記デコーダのパラメータと、前記分類器のパラメータを学習する処理を更に実行することを特徴とする請求項３に記載の学習方法。
【請求項５】
前記第１データセットの特徴量の分布と、前記第２データセットの特徴量の分布とが部分的に一致するように、前記エンコーダのパラメータを学習する処理を更に実行することを特徴とする請求項１〜４のいずれか一つに記載の学習方法。
【請求項６】
前記分布を算出する処理は、転移元のデータセットと、転移先のデータセットとの組、または、２つの異なる転移先のデータセットの組を、前記エンコーダに入力して、第１データセットの特徴量の分布と、第２データセットの特徴量の分布とを算出することを特徴とする請求項１〜５のいずれか一つに記載の学習方法。
【請求項７】
コンピュータに、
転移元のデータセットおよび転移先のデータセットうち、いずれかのデータセットをエンコーダに入力して、第１データセットの特徴量の分布と、第２データセットの特徴量の分布とを算出し、
前記第１データセットの特徴量の分布と、前記第２データセットの特徴量の分布とで部分的に一致する特徴量を選択し、
前記部分的に一致する特徴量を分類器に入力して、予測ラベルを算出し、
前記予測ラベルが、前記転移元のデータセットの正解ラベルに近づくように、前記エンコーダおよび前記分類器のパラメータを学習する
処理を実行させることを特徴とする学習プログラム。
【請求項８】
転移元のデータセットおよび転移先のデータセットうち、いずれかのデータセットをエンコーダに入力して、第１データセットの特徴量の分布と、第２データセットの特徴量の分布とを生成する特徴量生成部と、
前記第１データセットの特徴量の分布と、前記第２データセットの特徴量の分布とで部分的に一致する特徴量を選択する選択部と、
前記部分的に一致する特徴量を分類器に入力して、予測ラベルを算出し、
前記予測ラベルが、前記転移元のデータセットの正解ラベルに近づくように、前記エンコーダおよび前記分類器のパラメータを学習する学習部と
を有することを特徴とする学習装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、学習方法等に関する。
【背景技術】
【０００２】
第１学習モデルと、この第１学習モデルとは異なる第２学習モデルが存在し、第１学習モデルは、第１データセットによって学習可能であり、第２学習モデルは、第１データセットとはデータの分布（性質）の異なる第２データセットによって学習されるものとする。ここで、ラベル付きの第１データセットを、第２学習モデルの学習に適用する場合が存在し、かかる学習は、トランスダクティブ転移学習と呼ばれる。トランスダクティブ転移学習では、適用先のデータセットが複数存在する場合もある。以下の説明では、トランスダクティブ転移学習を、転移学習と表記する。
【０００３】
転移学習では、第１データセットと第２データセットとの性質が異なる場合に、第１データセットの固有の特徴量を使う第２モデルを作成してしまうと、第２学習モデルの精度が悪化する。これに対して、第１データセットと第２データセットとのドメイン間で共通する特徴量の分布を手がかりにして学習を行うことで、第１データセットの固有の特徴量による精度悪化を抑止する従来技術がある。
【０００４】
図１４は、従来技術の一例を説明するための図である。図１４に示す学習モデルには、Encoder１０ａと、Classifier１０ｂとが含まれる。Encoder１０ａは、入力されたデータと、Encoder１０ａに設定されたパラメータとを基にして、特徴量を算出する。Classifier１０ｂは、入力された特徴量と、Classifier１０ｂに設定されたパラメータとを基にして、特徴量に応じた予測ラベルを算出する。
【０００５】
従来技術は、転移元データｘｓ、転移先データｘｔ１を用いて、Encoder１０ａおよびClassifier１０ｂのパラメータの学習（転移学習）を行う。たとえば、図１４に示す学習モデルとは別の学習モデルを学習する場合に、転移元データｘｓを用いて学習可能であり、ラベルｙｓが設定されている。これに対して、転移先データｘｔは、図１４に示す学習モデルを学習する場合に使用可能なデータであるが、ラベルが設定されていないものとする。
【０００６】
図１５は、転移元データおよび転移先データの一例を示す図である。図１５において、転移元データ（データセット）には、複数の転移元データｘｓ１，ｘｓ２が含まれ、各転移元データｘｓ１，ｘｓ２にはそれぞれ、転移元ラベルが設定されている。転移元データには、転移元データｘｓ１，ｘｓ２以外の転移元データが含まれていてもよい。
【０００７】
転移元データｘｓ１に対応する転移元ラベルは、転移元ラベルｙｓ１である。転移元データｘｓ２に対応する転移元ラベルは、転移元ラベルｙｓ２である。以下の説明では、適宜、各転移元データｘｓ１，ｘｓ２をまとめて、転移元データｘｓと表記する。転移元ラベルｙｓ１，ｙｓ２をまとめて、転移元ラベルｙｓと表記する。
【０００８】
転移先データ（データセット）には、同一の性質をもつ複数の転移先データｘｔ１．１，ｘｔ１．２が含まれ、各転移先データには、ラベルが設定されていない。転移先データには、転移先データｘｔ１．１，ｘｔ１．２以外の転移先データが含まれていてもよい。転移先データｘｔ１．１，ｘｔ１．２をまとめて、転移先データｘｔ１と表記する。
【０００９】
図１４において、転移元データｘｓをEncoder１０ａに入力すると、特徴量ｚｓが算出される。転移先データｘｔをEncoder１０ａに入力すると、特徴量ｚｔ１が算出される。特徴量ｚｓは、Classifier１０ｂに入力され、判定ラベルｙｓ’が算出される。特徴量ｚｔ１は、Classifier１０ｂに入力され、判定ラベルｙｔ１’が算出される。
【００１０】
従来技術では、学習時において、特徴量ｚｓの分布と、特徴量ｚｔ１の分布との誤差（similarity  loss）が小さくなるように、Encoder１０ａのパラメータを学習する。また、従来技術では、判定ラベルｙｓ’と、転移元ラベルｙｓとの誤差（supervised  loss）が小さくなるように、Encoder１０ａのパラメータおよびClassifier１０ｂのパラメータを学習する。
【先行技術文献】
【非特許文献】
【００１１】
【非特許文献１】Tianchun  Wang,Xiaoming  Jin,Xiaojun  Ye  "Multi-Relevance  Transfer  Learning"
【非特許文献２】Sean  Rowan  "Transductive  Adversarial  Networks(TAN)"
【発明の概要】
【発明が解決しようとする課題】
【００１２】
しかしながら、上述した従来技術では、性質の異なる複数のデータセットを用いた転移学習の精度が低下するという問題がある。
【００１３】
図１６は、従来技術の問題を説明するための図である。たとえば、転移元データｘｓ１と、転移先データｘｔ１．１，ｘｔ２．１，ｘｔ３．１とを用いて、学習モデルを転移学習する場合について説明する。転移先データｘｔ１．１，ｘｔ２．１，ｘｔ３．１は、それぞれ性質のことなるデータセットである。
【００１４】
たとえば、転移元データｘｓ１には、トラック１５ａの画像と、ランプ１５ｂが赤く光る画像とが含まれる。転移先データｘｔ１．１には、トラック１５ａの画像と、壁１５ｃの画像とが含まれる。転移先データｘｔ２．１には、トラック１５ａの画像と、ランプ１５ｂが赤く光る画像とが含まれる。転移先データｘｔ３．１には、トラック１５ａの画像と、屋根１５ｄの画像とが含まれる。
【００１５】
ここで、転移元データｘｓ１と、転移先データｘｔ２．１とを比較すると、ランプ１５ｂが赤いという特徴は、ラベル（トラック）を推定するために有用な特徴である。しかし、従来技術では、転移先データｘ１．１〜ｘ３．１の特徴量の誤差が小さくなるようにEncoder１０ａのパラメータが学習されることになり、転移先データｘｔ１．１，ｘｔ３．１には、ランプ１５ｂの画像は含まれないため、ランプ１５ｂに関する特徴量がなくなる。
【００１６】
また、転移先データｘｔ２．１と、転移先データｘｔ３．１とを比較すると、トラック１５ａの画像に含まれる文字「Ｔ」の特徴が、ラベル（トラック）を推定するために有用な特徴である。しかし、従来技術のように、転移先データｘｔ１．１〜ｘｔ３．１の特徴量の誤差が小さくなるにEncoder１０ａのパラメータが学習されることになり、転移元データｘｓ１，転移先データｘｔ１．１には、トラック１５ａの画像に文字「Ｔ」は含まれないため、文字「Ｔ」の特徴量がなくなる。
【００１７】
すなわち、従来技術では、一部のデータセットのラベル推定に有用な特徴量が作成されず、転移学習の精度が低下する。
【００１８】
なお、性質の異なるデータセット毎に学習モデルを生成すると、学習に使用可能なデータ量が減少するため、十分なデータセットで学習することができず、転移学習の精度が低下する。
【００１９】
１つの側面では、本発明は、性質の異なる複数のデータセットを用いた転移学習の精度を向上させることができる学習方法、学習プログラムおよび学習装置を提供することを目的とする。
【課題を解決するための手段】
【００２０】
第１の案では、コンピュータが次の処理を実行する。コンピュータは、転移元のデータセットおよび転移先のデータセットうち、いずれかのデータセットをエンコーダに入力して、第１データセットの特徴量の分布と、第２データセットの特徴量の分布とを算出する。コンピュータは、第１データセットの特徴量の分布と、第２データセットの特徴量の分布とで部分的に一致する特徴量を選択する。部分的に一致する特徴量を分類器に入力して、予測ラベルを算出する。コンピュータは、予測ラベルが、転移元のデータセットの正解ラベルに近づくように、エンコーダおよび分類器のパラメータを学習する。
【発明の効果】
【００２１】
性質の異なる複数のデータセットを用いた転移学習の精度を向上させることができる。
【図面の簡単な説明】
【００２２】
【図１】図１は、本実施例に係る学習装置の処理を説明するための図である。
【図２】図２は、本実施例に係る選択部の処理を説明するための図である。
【図３】図３は、本実施例に係る学習装置の処理の過程を説明するための図（１）である。
【図４】図４は、本実施例に係る学習装置の処理の過程を説明するための図（２）である。
【図５】図５は、本実施例に係る学習装置の処理の過程を説明するための図（３）である。
【図６】図６は、本実施例に係る学習装置の処理の過程を説明するための図（４）である。
【図７】図７は、本実施例に係る学習装置の構成を示す機能ブロック図である。
【図８】図８は、学習データテーブルのデータ構造の一例を示す図である。
【図９】図９は、パラメータテーブルのデータ構造の一例を示す図である。
【図１０】図１０は、予測ラベルテーブルのデータ構造の一例を示す図である。
【図１１】図１１は、本実施例に係る学習装置の学習処理の処理手順を示すフローチャートである。
【図１２】図１２は、本実施例に係る学習装置の予測処理の処理手順を示すフローチャートである。
【図１３】図１３は、本実施例に係る学習装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【図１４】図１４は、従来技術の一例を説明するための図である。
【図１５】図１５は、転移元データおよび転移先データの一例を示す図である。
【図１６】図１６は、従来技術の問題を説明するための図である。
【発明を実施するための形態】
【００２３】
以下に、本願の開示する学習方法、学習プログラムおよび学習装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例】
【００２４】
図１は、本実施例に係る学習装置の処理を説明するための図である。学習装置は、エンコーダ（Encoder）５０ａ、デコーダ（Decoder）５０ｂ、分類器（Classifier）６０を実行する。たとえば、学習装置は、性質の異なる複数のデータセットから、データセットＸｓ，Ｘｔを選択する。学習装置は、選択したデータセットＸｓ，Ｘｔに含まれる各データをエンコーダ５０ａにそれぞれ入力し、データセットＸｓに含まれる各データに応じた特徴量Ｚｓの分布と、データセットＸｔに含まれる各データに応じた特徴量Ｚｔの分布とを算出する。
【００２５】
学習装置の選択部１５０ｃは、特徴量Ｚｓの分布と、データセットに含まれる各データに応じた特徴量Ｚｔの分布とを比較し、お互いに分布の近い特徴量と、お互いに分布の異なる特徴量とを判定する。
【００２６】
図２は、本実施例に係る選択部の処理を説明するための図である。選択部１５０ｃは、特徴量Ｚｓの分布と、特徴量Ｚｔの分布とを比較し、分布が部分的に一致している特徴量を選択する。たとえば、特徴量Ｚｓに含まれる特徴量ｚｓ１，ｚｓ２，ｚｓ３，ｚｓ４の分布と、特徴量Ｚｔに含まれる特徴量ｚｔ１，ｚｔ２，ｚｔ３，ｚｔ４の分布とを比較した結果、特徴量ｚｓ２の分布と、特徴量ｚｔ２の分布とが一致する（分布が類似する）ものとする。また、特徴量ｚｓ３の分布と、特徴量ｚｔ３の分布とが一致する（分布が類似する）ものとする。この場合には、選択部１５０ｃは、特徴量ｚｓ２，ｚｓ３を選択し、選択した特徴量ｚｓ２，ｚｓ３を、特徴量Ｕｓに設定する。選択部１５０ｃは、特徴量ｚｔ２，ｚｔ３を選択し、選択した特徴量ｚｔ２，ｚｔ３を、特徴量Ｕｔに設定する。
【００２７】
ここで、選択部１５０ｃは、同一のデータセットから算出された各特徴量について、分布が一致するとして選択した特徴量と、相関のある特徴量を、更に選択してもよい。たとえば、選択部１５０ｃは、特徴量ｚｔ３の分布と、特徴量ｚｔ４の分布とが相関する場合、特徴量ｚｔ４を、特徴量Ｕｔに設定する。
【００２８】
選択部１５０ｃは、上記処理によって選択しなかった残りの特徴量を、特徴量Ｖｓ，Ｖｔに設定する。たとえば、選択部１５０ｃは、特徴量ｚｓ１，ｚｓ４を、特徴量Ｖｓに設定する。選択部１５０ｃは、特徴量ｚｔ１を、特徴量Ｖｔに設定する。
【００２９】
図２に示した特徴量Ｕｓ，Ｕｔは、分類器６０に入力される。特徴量Ｖｓ，Ｖｔは、分類器６０から出力されるクラスラベルと共に、デコーダ５０ｂに入力される。なお、選択部１５０ｃは、Dropoutと同様にして、特徴量Ｕｓ，Ｕｔ、特徴量Ｖｓ，Ｖｔに対して信号強度の補正を行うものとする。
【００３０】
図１の説明に戻る。学習装置は、特徴量Ｕｓを分類器６０に入力し、クラスラベルＹｓ’を算出する。学習装置は、特徴量Ｕｔを分類器６０に入力し、クラスラベルＹｔ’を算出する。
【００３１】
学習装置は、特徴量ＶｓとクラスラベルＹｓ’とを合わせたデータを、デコーダ５０ｂに入力し、復元データＸｓ’を算出する。学習装置は、特徴量ＶｔとクラスラベルＹｔ’とを合わせたデータを、デコーダ５０ｂに入力し、復元データＸｔ’を算出する。
【００３２】
学習装置は、条件１，２，３を満たすように、エンコーダ５０ａ，デコーダ５０ｂ，分類器６０の各パラメータを学習する。
【００３３】
「条件１」は、データセットにラベルが付与されている場合、予測誤差（supervised  loss）が小さくなるという条件である。図１に示す例では、データセットＸｓの各データに付与されているラベルＹｓと、クラスラベルＹｓ’との誤差が予測誤差となる。
【００３４】
「条件２」は、復元誤差（reconstruction  loss）が小さくなるという条件である。図１に示す例では、データセットＸｓと、復元データＸｓ’との誤差、データセットＸｔと、復元データＸｔ’との誤差が、それぞれ復元誤差となる。
【００３５】
「条件３」は、データセットＸｓに含まれる各データに応じた特徴量の分布と、データセットＸｔに含まれる各データに応じた特徴量の分布との部分的な違い（partial  similarity  loss）が小さくなるという条件である。
【００３６】
図１、２で説明したように、本実施例に係る学習装置によれば、転移元および転移先のうちいずれかのデータセットをエンコーダに入力して得られる複数の特徴量の分布の組を比較し、部分的に一致する特徴量のみを分類器に入力して学習を行う。これによって、データセット間でラベル付けに有用な特徴量の情報が共用されるようになるため、転移学習の精度を向上させることができる。
【００３７】
図３〜図６は、本実施例に係る学習装置の処理の過程を説明するための図である。図３について説明する。学習装置は、性質の異なる複数のデータセットＤ１〜Ｄ４から、２つのデータセットを選択する。たとえば、データセットＤ１に含まれる各データには、ラベルがそれぞれ設定されているものとする。データセットＤ２〜Ｄ４に含まれる各データには、ラベルが設定されていないものとする。
【００３８】
図３に示す例では、学習装置は、複数のデータセットＤ１〜Ｄ４から、データセットＤ１，Ｄ２を選択する。学習装置は、選択したデータセットＤ１，Ｄ２に含まれる各データをエンコーダ５０ａにそれぞれ入力し、データセットＤ１に含まれる各データに応じた特徴量の分布と、データセットＤ２に含まれる各データに応じた特徴量の分布とを算出する。
【００３９】
学習装置は、データセットＤ１に含まれる各データに応じた特徴量の分布と、データセットＤ２に含まれる各データに応じた特徴量の分布とを比較し、お互いに分布の近い特徴量と、お互いに分布の異なる特徴量とを判定する。図３に示す例では、分布の近い特徴量を、特徴量Ｕ１とし、分布の異なる特徴量を特徴量Ｖ１，Ｖ２，Ｖ３とする。
【００４０】
学習装置は、特徴量Ｕ１を分類器６０に入力して、分類結果（クラスラベル）Ｙ’を算出する。学習装置は、分類結果Ｙ’と、特徴量Ｖ１，Ｖ２，Ｖ３とをデコーダ５０ｂに入力し、復元データＸ１’、Ｘ２’を算出する。学習装置は、データセットＤ１をラベル付きのデータセットであるとし、分類結果（たとえば、Ｙ’）と、データセットＤ１のラベルとの予測誤差を算出するする。学習装置は、復元データＸ１’（Ｘ２’）と、データセットＤ１（Ｄ２）に含まれるデータとの復元誤差を算出する。
【００４１】
学習装置は、条件１〜３を満たすように、誤差逆伝播法等を用いて、エンコーダ５０ａ，デコーダ５０ｂ，分類器６０の各パラメータを学習する。
【００４２】
図４の説明に移行する。図４の例では、学習装置は、データセットＤ２，Ｄ３を選択する。学習装置は、選択したデータセットＤ２，Ｄ３に含まれる各データをエンコーダ５０ａにそれぞれ入力し、データセットＤ２に含まれる各データに応じた特徴量の分布と、データセットＤ３に含まれる各データに応じた特徴量の分布とを算出する。
【００４３】
学習装置は、データセットＤ２に含まれる各データに応じた特徴量の分布と、データセットＤ３に含まれる各データに応じた特徴量の分布とを比較し、お互いに分布の近い特徴量と、お互いに分布の異なる特徴量とを判定する。図４に示す例では、分布の近い特徴量を、特徴量Ｕ１とし、分布の異なる特徴量を特徴量Ｖ１，Ｖ２，Ｖ３とする。
【００４４】
学習装置は、特徴量Ｕ１を分類器６０に入力して、分類結果（クラスラベル）Ｙ’を算出する。学習装置は、分類結果Ｙ’と、特徴量Ｖ１，Ｖ２，Ｖ３とをデコーダ５０ｂに入力し、復元データＸ２’、Ｘ３’を算出する。
【００４５】
学習装置は、条件２，３を満たすように、誤差逆伝播法等を用いて、エンコーダ５０ａ，デコーダ５０ｂ，分類器６０の各パラメータを学習する。ここで、条件２の復元誤差は、データを復元するために必要な情報が不足するほど、復元誤差が大きくなる。
【００４６】
デコーダ５０ｂは、分類器６０の出力する結果が正しい場合に、分類器６０の出力結果に重きをおいて、復元データを算出するという特性がある。そうすると、復元誤差が大きい場合、復元誤差を小さくする、学習装置の学習の過程において、分類器６０は、特徴量Ｕ１を使用しないようになる。
【００４７】
図５の説明に移行する。図５の例では、学習装置は、データセットＤ１，Ｄ４を選択する。学習装置は、選択したデータセットＤ１，Ｄ４に含まれる各データをエンコーダ５０ａにそれぞれ入力し、データセットＤ１に含まれる各データに応じた特徴量の分布と、データセットＤ４に含まれる各データに応じた特徴量の分布とを算出する。
【００４８】
学習装置は、データセットＤ１に含まれる各データに応じた特徴量の分布と、データセットＤ４に含まれる各データに応じた特徴量の分布とを比較し、お互いに分布の近い特徴量と、お互いに分布の異なる特徴量とを判定する。図５に示す例では、分布の近い特徴量を、特徴量Ｕ１，Ｕ２とし、分布の異なる特徴量を特徴量Ｖ１，Ｖ２とする。たとえば、特徴量Ｕ２は、特徴量Ｕ１に相関のある特徴量とする。
【００４９】
学習装置は、特徴量Ｕ１，Ｕ２を分類器６０に入力して、分類結果（クラスラベル）Ｙ’を算出する。学習装置は、分類結果Ｙ’と、特徴量Ｖ１，Ｖ２とをデコーダ５０ｂに入力し、復元データＸ１’、Ｘ４’を算出する。
【００５０】
学習装置は、条件１，２，３を満たすように、誤差逆伝播法等を用いて、エンコーダ５０ａ，デコーダ５０ｂ，分類器６０の各パラメータを学習する。
【００５１】
図６の説明に移行する。図６の例では、学習装置は、データセットＤ３，Ｄ４を選択する。学習装置は、選択したデータセットＤ３，Ｄ４に含まれる各データをエンコーダ５０ａにそれぞれ入力し、データセットＤ３に含まれる各データに応じた特徴量の分布と、データセットＤ４に含まれる各データに応じた特徴量の分布とを算出する。
【００５２】
学習装置は、データセットＤ３に含まれる各データに応じた特徴量の分布と、データセットＤ４に含まれる各データに応じた特徴量の分布とを比較し、お互いに分布の近い特徴量と、お互いに分布の異なる特徴量とを判定する。図６に示す例では、分布の近い特徴量を、特徴量Ｕ１とし、分布の異なる特徴量を特徴量Ｖ１，Ｖ２，Ｖ３とする。
【００５３】
学習装置は、特徴量Ｕ１を分類器６０に入力して、分類結果（クラスラベル）Ｙ’を算出する。学習装置は、分類結果Ｙ’と、特徴量Ｖ１，Ｖ２，Ｖ３とをデコーダ５０ｂに入力し、復元データＸ３’、Ｘ４’を算出する。
【００５４】
学習装置は、条件２，３を満たすように、誤差逆伝播法等を用いて、エンコーダ５０ａ，デコーダ５０ｂ，分類器６０の各パラメータを学習する。
【００５５】
学習装置が、上記処理を繰り返し実行することで、ラベル無しデータセット間でラベル付けに有用な特徴量の情報が共有される。たとえば、ラベル付けに有用な特徴量は、図５に示した特徴量Ｕ１，Ｕ２、図６に示した特徴量Ｕ１等に対応する。これに対して、ラベル付けに有用でない特徴量は、学習の過程において使用されなくなる。たとえば、ラベル付けに有用でない特徴量は、図４に示した特徴量Ｕ１である。
【００５６】
次に、本実施例に係る学習装置の構成の一例について説明する。図７は、本実施例に係る学習装置の構成を示す機能ブロック図である。図７に示すように、この学習装置１００は、通信部１１０と、入力部１２０と、表示部１３０と、記憶部１４０と、制御部１５０とを有する。
【００５７】
通信部１１０は、ネットワーク等を介して外部装置（図示略）とデータ通信を実行する処理部である。通信部１１０は、通信装置に対応する。たとえば、通信部１１０は、後述する学習データテーブル１４０ａの情報を、外部装置等から受信する。
【００５８】
入力部１２０は、各種の情報を学習装置１００に入力するための入力装置である。たとえば、入力部１２０は、キーボードやマウス、タッチパネル等に対応する。
【００５９】
表示部１３０は、制御部１５０から出力される各種の情報を表示する表示装置である。たとえば、表示部１３０は、液晶ディスプレイ、タッチパネル等に対応する。
【００６０】
記憶部１４０は、学習データテーブル１４０ａと、パラメータテーブル１４０ｂと、予測ラベルテーブル１４０ｃとを有する。記憶部１４０は、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）、フラッシュメモリ（Flash  Memory）などの半導体メモリ素子や、ＨＤＤ（Hard  Disk  Drive）などの記憶装置に対応する。
【００６１】
学習データテーブル１４０ａは、転送元データセットおよび転送先データセットを保存するテーブルである。図８は、学習データテーブルのデータ構造の一例を示す図である。図８に示すように、この学習データテーブル１４０ａは、データセット識別情報と、訓練データと、正解ラベルとを対応付ける。データセット識別情報は、データセットを識別する情報である。訓練データは、学習時にエンコーダ５０ａに入力されるデータである。正解ラベルは、訓練データに対応する正解のラベルである。
【００６２】
図８において、正解ラベルに情報が設定されているデータセットは、ラベル付き（教師あり）のデータセットである。正解ラベルに情報が設定されていないデータセットは、ラベルなし（教師なし）のデータセットである。たとえば、データセット識別情報Ｄ１のデータセットは、ラベル付きのデータセットである。データセット識別情報Ｄ２〜Ｄ４のデータセットは、ラベルなしのデータセットである。各データセットは、それぞれ性質の異なるデータセットであるものとする。以下の説明では適宜、データセット識別情報Ｄに識別されるデータセットを、データセットＤと表記する。
【００６３】
パラメータテーブル１４０ｂは、エンコーダ５０ａ、デコーダ５０ｂ、分類器６０のパラメータを保持するテーブルである。図９は、パラメータテーブルのデータ構造の一例を示す図である。図９に示すように、このパラメータテーブル１４０ｂは、ネットワーク識別情報と、パラメータとを対応付ける。ネットワーク識別情報は、エンコーダ５０ａ、デコーダ５０ｂ、分類器６０をそれぞれ識別する情報である。たとえば、ネットワーク識別情報「Ｅｎ」は、エンコーダ５０ａを示す。ネットワーク識別情報「Ｄｅ」は、デコーダ５０ｂを示す。ネットワーク識別情報「Ｃｌ」は、分類器６０を示す。
【００６４】
エンコーダ５０ａ、デコーダ５０ｂ、分類器６０は、ニューラルネットワーク（ＮＮ：Neural  Network）に対応する。ＮＮは、複数の層を有し、各層には複数のノードが含まれ、各ノードがエッジで結ばれる構造となっている。各層は、活性化関数と呼ばれる関数とバイアス値とを持ち、エッジは、重みを持つ。本実施例では、ＮＮに設定されるバイアス値、重み等をまとめて「パラメータ」と表記する。エンコーダ５０ａのパラメータを、パラメータθｅとする。デコーダ５０ｂのパラメータを、パラメータθｄとする。分類器６０のパラメータを、パラメータθｃとする。
【００６５】
予測ラベルテーブル１４０ｃは、ラベルなしのデータセットを、エンコーダ５０ａに入力した場合に、分類器６０から出力されるラベル（予測ラベル）を保存するテーブルである。図１０は、予測ラベルテーブルのデータ構造の一例を示す図である。図１０に示すように、予測ラベルテーブル１４０ｃは、データセット識別情報と、訓練データと、予測ラベルとを対応付ける。
【００６６】
図７の説明に戻る。制御部１５０は、取得部１５０ａ、特徴量生成部１５０ｂ、選択部１５０ｃ、学習部１５０ｄ、予測部１５０ｅを有する。制御部１５０は、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などによって実現できる。また、制御部１５０は、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などのハードワイヤードロジックによっても実現できる。
【００６７】
取得部１５０ａは、外部装置等から、学習データテーブル１４０ａの情報を取得する処理部である。取得部１５０ａは、取得した学習データテーブル１４０ａの情報を、学習データテーブル１４０ａに格納する。
【００６８】
特徴量生成部１５０ｂは、性質の異なる２つのデータセットを、エンコーダ５０ａに入力し、一方のデータセット（以下、第１データセット）の特徴量の分布と、他方のデータセット（以下、第２データセット）の特徴量の分布を生成する処理部である。特徴量生成部１５０ｂは、第１データセットの特徴量の分布と、第２データセットの特徴量の分布との情報を、選択部１５０ｃに出力する。以下において、特徴量生成部１５０ｂの処理の一例について説明する。
【００６９】
特徴量生成部１５０ｂは、エンコーダ５０ａを実行し、パラメータテーブル１４０ｂに保存されたパラメータθｅをエンコーダ５０ａに設定する。特徴量生成部１５０ｂは、学習データテーブル１４０ａから、性質の異なる第１データセットと、第２データセットとを取得する。
【００７０】
特徴量生成部１５０ｂは、第１データセットに含まれる各訓練データを、エンコーダ５０ａに入力し、パラメータθｅを基にして、各訓練データに対応する特徴量をそれぞれ算出することで、第１データセットの特徴量の分布を生成する。ここで、特徴量生成部１５０ｂは、特徴量の次元を圧縮する処理（特徴量の軸を変更する処理）等を行うことで、複数の特徴量の分布を生成してもよい。たとえば、特徴量生成部１５０ｂは、第１次元数の特徴量の分布ｚｓ１、第２次元数の特徴量の分布ｚｓ２、第３次元数の特徴量の分布ｚｓ３、第４次元数の特徴量の分布ｚｓ４を生成する。
【００７１】
特徴量生成部１５０ｂは、第２データセットに含まれる各訓練データを、エンコーダ５０ａに入力し、パラメータθｅを基にして、各訓練データに対応する特徴量をそれぞれ算出することで、第２データセットの特徴量の分布を生成する。ここで、特徴量生成部１５０ｂは、特徴量の次元を圧縮する処理（特徴量の軸を変更する処理）等を行うことで、複数の特徴量の分布を生成してもよい。たとえば、特徴量生成部１５０ｂは、第１次元数の特徴量の分布ｚｔ１、第２次元数の特徴量の分布ｚｔ２、第３次元数の特徴量の分布ｚｔ３、第４次元数の特徴量の分布ｚｔ４を生成する。
【００７２】
ところで、特徴量生成部１５０ｂが、複数の特徴量の分布を生成する際に、次元の圧縮や変換等を行ってもよいが、もっと単純に軸ごとの特徴量に分解する処理を行って、複数の特徴量の分布を生成してもよい。たとえば、特徴量生成部１５０ｂは、[（１,２,３）]という１つの３次元の特徴量を[（１）,（２）,（３）]という３つの１次元の特徴量に分解する。また、特徴量生成部１５０ｂは、他の分解する処理として、主成分分析や独立成分分析を使用して特徴量を分解してもよい。
【００７３】
選択部１５０ｃは、第１データセットの特徴量の分布と、第２データセットの特徴量の分布とを比較し、部分的に一致する特徴量を選択する処理部である。選択部１５０ｃは、部分的に一致する特徴量と、部分的に一致しない特徴量とを学習部１５０ｄに出力する。以下の説明では、適宜、部分的に一致する特徴量を「特徴量Ｕ」と表記する。部分的に一致しない特徴量を「特徴量Ｖ」と表記する。
【００７４】
また、選択部１５０ｃは、同一のデータセットに含まれる各特徴量のうち、第１特徴量と相関する特徴量を、学習部１５０ｄに出力する。以下の説明では、適宜、同一のデータセットに含まれる各特徴量のうち、特徴量Ｕと相関する特徴量を「特徴量Ｕ’」と表記する。特徴量Ｕと、特徴量Ｕ’とを特に区別しない場合には、単に、特徴量Ｕと表記する。
【００７５】
選択部１５０ｃの処理を、図２を用いて説明する。ここでは一例として、第１データセットの特徴量Ｚｓの分布と、第２データセットの特徴量Ｚｔの分布とを用いて説明する。特徴量Ｚｓの分布には、特徴量ｚｓ１〜ｚｓ４の分布が含まれる。特徴量ｚｓ１〜ｚｓ４はそれぞれ、特徴量Ｚｓの軸を変更した際の各特徴量に対応する。特徴量Ｚｔの分布には、特徴量ｚｔ１〜ｚｔ４の分布が含まれる。特徴量ｚｔ１〜ｚｔ４はそれぞれ、特徴量Ｚｔの軸を変更した際の各特徴量に対応する。
【００７６】
選択部１５０ｃは、特徴量ｚｓ１〜ｚｓ４の分布と、特徴量ｚｔ１〜ｚｔ４の分布とを比較して、分布の近い特徴量を判定する。たとえば、選択部１５０ｃは、各特徴量の分布の重心距離が閾値未満である場合に、各特徴量の分布が近いと判定する。
【００７７】
たとえば、選択部１５０ｃは、特徴量ｚｓ２の分布と、特徴量ｚｔ２の分布とが近い場合、特徴量ｚｓ２と、特徴量ｚｔ２を、特徴量Ｕとして選択する。特徴量ｚｓ３の分布と、特徴量ｚｔ３の分布とが近い場合、特徴量ｚｓ３と、特徴量ｚｔ３を、特徴量Ｕとして選択する。選択部１５０ｃは、特徴量ｚｔ３と、特徴量ｚｔ４とが相関している場合、特徴量ｚｔ４を、特徴量Ｕ’として選択する。
【００７８】
選択部１５０ｃは、特徴量ｚｓ２，ｚｓ３を選択し、選択した特徴量ｚｓ２，ｚｓ３を、特徴量Ｕｓに設定する。選択部１５０ｃは、特徴量ｚｔ２，ｚｔ３、ｚｔ４を選択し、選択した特徴量ｚｔ２，ｚｔ３、ｚｔ４を、特徴量Ｕｔに設定する。
【００７９】
選択部１５０ｃは、特徴量ｚｓ１，ｚｓ４を、特徴量Ｖｓに設定する。選択部１５０ｃは、特徴量ｚｔ１を、特徴量Ｖｔに設定する。
【００８０】
選択部１５０ｃは、特徴量Ｕｓ、Ｕｔ、Ｖｓ、Ｖｔの情報を、学習部１５０ｄに出力する。
【００８１】
更に、選択部１５０ｃは、第１データセットの特徴量の分布と、第２データセットの特徴量の分布とを比較し、部分的に一致する特徴量の違いを評価し、評価結果を、学習部１５０ｄに出力する。図２で説明した例では、選択部１５０ｃは、特徴量ｚｓ２の分布と特徴量ｚｔ２の分布の誤差、特徴量ｚｓ３の分布と特徴量ｚｔ３の分布との違いを評価する。
【００８２】
学習部１５０ｄは、予測誤差、復元誤差が小さくなり、部分的に一致する特徴量の違いが小さくなるように、エンコーダ５０ａ、デコーダ５０ｂ、分類器６０のパラメータを学習する処理部である。以下において、学習部１５０ｄの処理の一例について説明する。
【００８３】
学習部１５０ｄは、エンコーダ５０ａ、デコーダ５０ｂ、分類器６０を実行し、パラメータテーブル１４０ｂに保存されたパラメータθｅ，θｄ，θｃを、エンコーダ５０ａ、デコーダ５０ｂ、分類器６０にそれぞれ設定する。
【００８４】
学習部１５０ｄは、選択部１５０ｃから取得した特徴量Ｕを分類器６０に入力し、パラメータθｃを基にして、クラスラベルを算出する。たとえば、図１に示す例では、学習部１５０ｄは、特徴量Ｕｓを分類器６０に入力し、パラメータθｃを基にして、クラスラベルＹｓ’を算出する。
【００８５】
学習部１５０ｄは、特徴量Ｕに対応するデータセットが、ラベル付きのデータセットである場合、特徴量Ｕのクラスラベルと、正解ラベルとの予測誤差を評価する。たとえば、学習部１５０ｄは、クラスラベル（クラスラベルの確率）と、正解ラベルとの２乗誤差を、予測誤差として評価する。
【００８６】
学習部１５０ｄは、選択部１５０ｃから取得した特徴量Ｖと、特徴量Ｕのクラスラベルとを合わせた情報をデコーダ５０ｂに入力し、パラメータθｄを基にして、復元データを算出する。たとえば、図１に示す例では、学習部１５０ｄは、特徴量Ｖｓと、特徴量ＵｓのクラスラベルＹｓ’とを合わせた情報をデコーダ５０ｂに入力し、パラメータθｄを基にして、復元データＸｓ’を算出する。
【００８７】
学習部１５０ｄは、特徴量Ｖに対応する訓練データと、復元データとの復元誤差を評価する。たとえば、学習部１５０ｄは、特徴量Ｖに対応する訓練データと、復元データとの２乗誤差を、復元誤差として評価する。
【００８８】
学習部１５０ｄは、上記処理によって求めた「予測誤差」、「復元誤差」、「部分的に一致する特徴量の違い」がそれぞれ小さくなるように、誤差逆伝播法によって、パラメータθｅ，θｄ，θｃを学習する。
【００８９】
特徴量生成部１５０ｂ、選択部１５０ｃ、学習部１５０ｄは、所定の終了条件を満たすまで、上記処理を繰り返し実行する。所定の終了条件は、パラメータθｅ，θｄ，θｃの収束状況を規定する条件、学習回数などを含む。たとえば、学習回数がＮ回以上となった場合、パラメータθｅ，θｄ，θｃの変化が閾値未満となった場合に、特徴量生成部１５０ｂ、選択部１５０ｃ、学習部１５０ｄは、学習を終了する。
【００９０】
学習部１５０ｄは、学習済みのパラメータθｅ，θｄ，θｃの情報を、パラメータテーブル１４０ｂに保存する。学習部１５０ｄは、学習済みのパラメータθｅ，θｄ，θｃの情報を表示部１３０に表示してもよいし、パラメータθｅ，θｃを用いて、各種の判定を行う判定装置に、パラメータθｅ，θｃの情報を通知してもよい。
【００９１】
予測部１５０ｅは、ラベルなしのデータセットに含まれる各訓練データのラベルを予測する処理部である。以下に説明するように、予測部１５０ｅは、特徴量生成部１５０ｂおよび選択部１５０ｃと連携して処理を実行する。たとえば、予測部１５０ｅは、処理を開始する場合に、特徴量生成部１５０ｂおよび選択部１５０ｃに対して、制御信号を出力する。
【００９２】
特徴量生成部１５０ｂは、予測部１５０ｅから制御信号を受け付けると、次の処理を実行する。特徴量生成部１５０ｂは、学習データテーブル１４０ａに含まれる複数のラベルなしのデータセットから、性質の異なる第１データセットと、第２データセットとを取得する。特徴量生成部１５０ｂは、第１データセットの特徴量の分布と、第２データセットの特徴量の分布との情報を、選択部１５０ｃに出力する。特徴量生成部１５０ｂに関するその他の処理の説明は、上記の特徴量生成部１５０ｂの処理の説明と同様である。
【００９３】
選択部１５０ｃは、予測部１５０ｅから制御信号を受け付けると、次の処理を実行する。選択部１５０ｃは、第１データセットの特徴量の分布と、第２データセットの特徴量の分布とを比較し、部分的に一致する特徴量Ｕを選択する。選択部１５０ｃは、選択した特徴量Ｕを、予測部１５０ｅに出力する。選択部１５０ｃが、特徴量Ｕを選択する処理の説明は、上記の選択部１５０ｃの処理の説明と同様である。
【００９４】
予測部１５０ｅは、分類器６０を実行し、パラメータテーブル１４０ｂに保存されたパラメータθｃを分類器６０に設定する。予測部１５０ｅは、選択部１５０ｃから取得した特徴量Ｕを、分類器６０に入力し、パラメータθｃを基にして、クラスラベルを算出する。
【００９５】
特徴量生成部１５０ｂ、選択部１５０ｃ、予測部１５０ｅは、第１データセットの各訓練データおよび第２データセットの各訓練データについて、上記処理を繰り返し実行し、各訓練データに対応する予測ラベルを算出し、予測ラベルテーブル１４０ｃに登録する。また、特徴量生成部１５０ｂ、選択部１５０ｃ、予測部１５０ｅは、他の第１データセットおよび他の第２データセットを選択し、上記処理を繰り返し実行する。特徴量生成部１５０ｂ、選択部１５０ｃ、予測部１５０ｅが係る処理を実行することで、予測ラベルテーブル１４０ｃには、ラベル無しの各データセットの各訓練データに対する予測ラベルが保存される。予測部１５０ｅは、実行回数などの終了条件を設けて、終了条件を満たすまで、上記処理を繰り返し実行してもよい。
【００９６】
予測部１５０ｅは、予測ラベルテーブル１４０ｃの各訓練データに対応する予測ラベルについて、多数決を行うことで、予測ラベルを決定する。たとえば、予測部１５０ｅは、訓練データのＸ２．ｎ，Ｘ３．ｎ，Ｘ４．ｎ，Ｘ５．ｎ，・・・，Ｘｍ．ｎ（ｎ＝１，２，３，４，・・・）に対応する予測ラベルの多数決を行い、ラベルを決定する。訓練データ「Ｘ２．１，Ｘ３．１，Ｘ４．１，Ｘ５．１」の予測ラベルに関して、「Ｙ１’」が３つ、「Ｙ１−１’」が１つである。このため、予測部１５０ｅは、訓練データ「Ｘ２．１，Ｘ３．１，Ｘ４．１，Ｘ５．１」に対応する正解ラベルを「Ｙ１’」であると判定し、判定結果を、学習データテーブル１４０ａの正解ラベルに登録する。
【００９７】
訓練データ「Ｘ２．２，Ｘ３．２，Ｘ４．２，Ｘ５．２」の予測ラベルに関して、「Ｙ２’」が４つである。このため、予測部１５０ｅは、訓練データ「Ｘ２．２，Ｘ３．２，Ｘ４．２，Ｘ５．２」に対応する正解ラベルを「Ｙ２’」であると判定し、判定結果を、学習データテーブル１４０ａの正解ラベルに登録する。
【００９８】
次に、本実施例に係る学習装置１００の処理手順の一例について説明する。図１１は、本実施例に係る学習装置の学習処理の処理手順を示すフローチャートである。図１１に示すように、学習装置１００は、パラメータテーブル１４０ｂのパラメータを初期化する（ステップＳ１０１）。学習装置１００の特徴量生成部１５０ｂは、学習データテーブル１４０ａから２つのデータセットを選択する（ステップＳ１０２）。
【００９９】
特徴量生成部１５０ｂは、２つのデータセットから複数の訓練データＸ１，Ｘ２を選択する（ステップＳ１０３）。特徴量生成部１５０ｂは、訓練データＸ１，Ｘ２をエンコーダ５０ａに入力して、特徴量Ｚ１，Ｚ２を生成する（ステップＳ１０４）。
【０１００】
学習装置１００の選択部１５０ｃは、特徴量Ｚ１，Ｚ２の分布の違いを評価する（ステップＳ１０５）。選択部１５０ｃは、特徴量Ｚ１，Ｚ２を、お互いの分布が近い特徴量Ｕ１，Ｕ２と、分布が異なる特徴量Ｖ１，Ｖ２に分割する（ステップＳ１０６）。
【０１０１】
学習装置１００の学習部１５０ｄは、特徴量Ｕ１，Ｕ２を分類部６０に入力し、クラスラベルＹ１’，Ｙ２’を予測する（ステップＳ１０７）。学習部１５０ｄは、データセットがラベル付きのデータセットの場合、クラスラベルの予測誤差を算出する（ステップＳ１０８）。
【０１０２】
学習部１５０ｄは、特徴量Ｖ１，Ｖ２、クラスラベルＹ１’，Ｙ２’をデコーダ５０ｂに入力し、復元データＸ１’，Ｘ２’を算出する（ステップＳ１０９）。学習部１５０ｄは、復元データＸ１’，Ｘ２’と、訓練データＸ１，Ｘ２とを基にして復元誤差を算出する（ステップＳ１１０）。
【０１０３】
学習部１５０ｄは、予測誤差、復元誤差が小さくなるように、また、分布の違いが部分的に小さくなるように、エンコーダ５０ａ、デコーダ５０ｂ、分類器６０のパラメータを学習する（ステップＳ１１１）。学習部１５０ｄは、終了条件を満たすか否かを判定する（ステップＳ１１２）。学習部１５０ｄは、終了条件を満たさない場合には（ステップＳ１１３，Ｎｏ）、ステップＳ１０２に移行する。
【０１０４】
一方、学習部１５０ｄは、終了条件を満たす場合には（ステップＳ１１３，Ｙｅｓ）、ステップＳ１１４に移行する。学習部１５０ｄは、エンコーダ５０ａ、デコーダ５０ｂ、分類器６０の学習済みのパラメータをパラメータテーブル１４０ｂに保存する（ステップＳ１１４）。
【０１０５】
図１２は、本実施例に係る学習装置の予測処理の処理手順を示すフローチャートである。図１２に示すように、学習装置１００の特徴量生成部１５０ｂは、学習データテーブル１４０ａからラベルなしの２つのデータセットを選択する（ステップＳ２０１）。
【０１０６】
特徴量生成部１５０ｂは、２つのデータセットから複数の訓練データＸ１，Ｘ２を選択する（ステップＳ２０２）。特徴量生成部１５０ｂは、訓練データＸ１，Ｘ２をエンコーダ５０ａに入力して、特徴量Ｚ１，Ｚ２を生成する（ステップＳ２０３）。
【０１０７】
学習装置１００の選択部１５０ｃは、特徴量Ｚ１，Ｚ２の分布の違いを評価する（ステップＳ２０４）。選択部１５０ｃは、特徴量Ｚ１，Ｚ２を、お互いの分布が近い特徴量Ｕ１，Ｕ２と、分布が異なる特徴量Ｖ１，Ｖ２に分割する（ステップＳ２０５）。
【０１０８】
学習装置１００の予測部１５０ｅは、特徴量Ｕ１，Ｕ２を分類部６０に入力し、クラスラベルＹ１’，Ｙ２’を予測する（ステップＳ２０６）。予測部１５０ｅは、予測されたクラスラベルＹ１’，Ｙ２’を予測ラベルテーブル１４０ｃに保存する（ステップＳ２０７）。予測部１５０ｅは、終了条件を満たすか否かを判定する（ステップＳ２０８）。
【０１０９】
予測部１５０ｅは、終了条件を満たさない場合には（ステップＳ２０９，Ｎｏ）、ステップＳ２０１に移行する。予測部１５０ｅは、終了条件を満たす場合には（ステップＳ２０９，Ｙｅｓ）、各訓練データに対応する正解ラベルを、多数決に基づいて決定する（ステップＳ２１０）。
【０１１０】
次に、本実施例に係る学習装置１００の効果について説明する。学習装置１００は、転移元および転移先のうちいずれかのデータセットをエンコーダ５０ａに入力して得られる複数の特徴量の分布の組を比較し、部分的に一致する特徴量のみを分類器６０に入力して学習を行う。これによって、データセット間でラベル付けに有用な特徴量の情報が共用されるようになるため、転移学習の精度を向上させることができる。
【０１１１】
学習装置１００は、第１データセットの特徴量および第２データセットの特徴量から部分的に一致する特徴量を除いた特徴量と、予測ラベルとをデコーダに入力して、復元データを算出する。また、学習装置１００は、訓練データと復元データとの復元誤差が小さくなるように、パラメータθｅ，θｄ，θｃを学習する。これによって、データセット間でラベル付けに有用でない特徴量の情報を使用しないように、分類器６０を調整することができる。
【０１１２】
学習装置１００は、第１データセットの特徴量の分布と、第２データセットの特徴量の分布とが部分的に一致するように、エンコーダのパラメータθｅを学習する。これによって、特定のデータセット間で、ラベル付けに有用な特徴量の情報であって、他のデータセット間に存在しない特徴量の情報を、共用することができる。
【０１１３】
学習装置１００は、ラベルなしの２つのデータセットを選択して、データセットに対応する特徴量Ｕを分類器６０に入力して得られるクラスラベルを予測する処理を繰り返し実行し、クラスラベルの多数決等によって、データセットの正解ラベルを決定する。これによって、転移先のデータセットの正解ラベルを生成することができる。
【０１１４】
次に、本実施例に示した学習装置１００と同様の機能を実現するコンピュータのハードウェア構成の一例について説明する。図１３は、本実施例に係る学習装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【０１１５】
図１３に示すように、コンピュータ３００は、各種演算処理を実行するＣＰＵ３０１と、ユーザからのデータの入力を受け付ける入力装置３０２と、ディスプレイ３０３とを有する。また、コンピュータ３００は、記憶媒体からプログラム等を読み取る読み取り装置３０４と、有線または無線ネットワークを介して、外部装置等との間でデータの授受を行うインタフェース装置３０５とを有する。コンピュータ３００は、各種情報を一時記憶するＲＡＭ３０６と、ハードディスク装置３０７とを有する。そして、各装置３０１〜３０７は、バス３０８に接続される。
【０１１６】
ハードディスク装置３０７は、取得プログラム３０７ａ、特徴量生成プログラム３０７ｂ、選択プログラム３０７ｃ、学習プログラム３０７ｄ、予測プログラム３０７ｅを有する。ＣＰＵ３０１は、取得プログラム３０７ａ、特徴量生成プログラム３０７ｂ、選択プログラム３０７ｃ、学習プログラム３０７ｄ、予測プログラム３０７ｅを読み出してＲＡＭ３０６に展開する。
【０１１７】
取得プログラム３０７ａは、取得プロセス３０６ａとして機能する。特徴量生成プログラム３０７ｂは、特徴量生成プロセス３０６ｂとして機能する。選択プログラム３０７ｃは、選択プロセス３０６ｃとして機能する。学習プログラム３０７ｄは、学習プロセス３０６ｄとして機能する。予測プログラム３０７ｅは、予測プロセス３０６ｅとして機能する。
【０１１８】
取得プロセス３０６ａの処理は、取得部１５０ａの処理に対応する。特徴量生成プロセス３０６ｂの処理は、特徴量生成部１５０ｂの処理に対応する。選択プロセス３０６ｃの処理は、選択部１５０ｃ，２５０ｃの処理に対応する。学習プロセス３０６ｄの処理は、学習部１５０ｄの処理に対応する。予測プロセス３０６ｅの処理は、予測部１５０ｅの処理に対応する。
【０１１９】
なお、各プログラム３０７ａ〜３０７ｅについては、必ずしも最初からハードディスク装置３０７に記憶させておかなくてもよい。例えば、コンピュータ３００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ３００が各プログラム３０７ａ〜３０７ｅを読み出して実行するようにしてもよい。
【０１２０】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１２１】
（付記１）コンピュータが実行する学習方法であって、
転移元のデータセットおよび転移先のデータセットうち、いずれかのデータセットをエンコーダに入力して、第１データセットの特徴量の分布と、第２データセットの特徴量の分布とを生成し、
前記第１データセットの特徴量の分布と、前記第２データセットの特徴量の分布とで部分的に一致する特徴量を選択し、
前記部分的に一致する特徴量を分類器に入力して、予測ラベルを算出し、
前記予測ラベルが、前記転移元のデータセットの正解ラベルに近づくように、前記エンコーダおよび前記分類器のパラメータを学習する
処理を実行することを特徴とする学習方法。
【０１２２】
（付記２）前記予測ラベルを算出する処理によって算出される複数の予測ラベルを基にして、前記転移先のデータセットに対応するラベルを予測する処理を更に実行することを特徴とする付記１に記載の学習方法。
【０１２３】
（付記３）前記第１データセットの特徴量および前記第２データセットの特徴量から前記部分的に一致する特徴量を除いた特徴量と、前記予測ラベルとをデコーダに入力して、復元データを算出する処理を更に実行することを特徴とする付記１または２に記載の学習方法。
【０１２４】
（付記４）前記エンコーダに入力したデータと、前記復元データとの誤差が小さくなるように、前記エンコーダのパラメータと、前記デコーダのパラメータと、前記分類器のパラメータを学習する処理を更に実行することを特徴とする付記３に記載の学習方法。
【０１２５】
（付記５）前記第１データセットの特徴量の分布と、前記第２データセットの特徴量の分布とが部分的に一致するように、前記エンコーダのパラメータを学習する処理を更に実行することを特徴とする付記１〜４のいずれか一つに記載の学習方法。
【０１２６】
（付記６）前記分布を算出する処理は、転移元のデータセットと、転移先のデータセットとの組、または、２つの異なる転移先のデータセットの組を、前記エンコーダに入力して、第１データセットの特徴量の分布と、第２データセットの特徴量の分布とを算出することを特徴とする付記１〜５のいずれか一つに記載の学習方法。
【０１２７】
（付記７）コンピュータに、
転移元のデータセットおよび転移先のデータセットうち、いずれかのデータセットをエンコーダに入力して、第１データセットの特徴量の分布と、第２データセットの特徴量の分布とを算出し、
前記第１データセットの特徴量の分布と、前記第２データセットの特徴量の分布とで部分的に一致する特徴量を選択し、
前記部分的に一致する特徴量を分類器に入力して、予測ラベルを算出し、
前記予測ラベルが、前記転移元のデータセットの正解ラベルに近づくように、前記エンコーダおよび前記分類器のパラメータを学習する
処理を実行させることを特徴とする学習プログラム。
【０１２８】
（付記８）前記予測ラベルを算出する処理によって算出される複数の予測ラベルを基にして、前記転移先のデータセットに対応するラベルを予測する処理を更に実行することを特徴とする付記７に記載の学習プログラム。
【０１２９】
（付記９）前記第１データセットの特徴量および前記第２データセットの特徴量から前記部分的に一致する特徴量を除いた特徴量と、前記予測ラベルとをデコーダに入力して、復元データを算出する処理を更に実行することを特徴とする付記７または８に記載の学習プログラム。
【０１３０】
（付記１０）前記エンコーダに入力したデータと、前記復元データとの誤差が小さくなるように、前記エンコーダのパラメータと、前記デコーダのパラメータと、前記分類器のパラメータを学習する処理を更に実行することを特徴とする付記９に記載の学習プログラム。
【０１３１】
（付記１１）前記第１データセットの特徴量の分布と、前記第２データセットの特徴量の分布とが部分的に一致するように、前記エンコーダのパラメータを学習する処理を更に実行することを特徴とする付記７〜１０のいずれか一つに記載の学習プログラム。
【０１３２】
（付記１２）前記分布を算出する処理は、転移元のデータセットと、転移先のデータセットとの組、または、２つの異なる転移先のデータセットの組を、前記エンコーダに入力して、第１データセットの特徴量の分布と、第２データセットの特徴量の分布とを算出することを特徴とする付記７〜１１のいずれか一つに記載の学習プログラム。
【０１３３】
（付記１３）転移元のデータセットおよび転移先のデータセットうち、いずれかのデータセットをエンコーダに入力して、第１データセットの特徴量の分布と、第２データセットの特徴量の分布とを生成する特徴量生成部と、
前記第１データセットの特徴量の分布と、前記第２データセットの特徴量の分布とで部分的に一致する特徴量を選択する選択部と、
前記部分的に一致する特徴量を分類器に入力して、予測ラベルを算出し、前記予測ラベルが、前記転移元のデータセットの正解ラベルに近づくように、前記エンコーダおよび前記分類器のパラメータを学習する学習部と
を有することを特徴とする学習装置。
【０１３４】
（付記１４）前記予測ラベルを算出する処理によって算出される複数の予測ラベルを基にして、前記転移先のデータセットに対応するラベルを予測する予測部を更に有することを特徴とする付記１３に記載の学習装置。
【０１３５】
（付記１５）前記学習部は、前記第１データセットの特徴量および前記第２データセットの特徴量から前記部分的に一致する特徴量を除いた特徴量と、前記予測ラベルとをデコーダに入力して、復元データを算出する処理を更に実行することを特徴とする付記１３または１４に記載の学習装置。
【０１３６】
（付記１６）前記学習部は、前記エンコーダに入力したデータと、前記復元データとの誤差が小さくなるように、前記エンコーダのパラメータと、前記デコーダのパラメータと、前記分類器のパラメータを学習する処理を更に実行することを特徴とする付記１５に記載の学習装置。
【０１３７】
（付記１７）前記学習部は、前記第１データセットの特徴量の分布と、前記第２データセットの特徴量の分布とが部分的に一致するように、前記エンコーダのパラメータを学習する処理を更に実行することを特徴とする付記１３〜１６のいずれか一つに記載の学習装置。
【０１３８】
（付記１８）前記特徴量生成部は、転移元のデータセットと、転移先のデータセットとの組、または、２つの異なる転移先のデータセットの組を、前記エンコーダに入力して、第１データセットの特徴量の分布と、第２データセットの特徴量の分布とを算出することを特徴とする付記１３〜１７のいずれか一つに記載の学習装置。
【符号の説明】
【０１３９】
１００    学習装置
１１０    通信部
１２０    入力部
１３０    表示部
１４０    記憶部
１４０ａ  学習データテーブル
１４０ｂ  パラメータテーブル
１４０ｃ  予測ラベルテーブル
１５０    制御部
１５０ａ  取得部
１５０ｂ  特徴量生成部
１５０ｃ  選択部
１５０ｄ  学習部
１５０ｅ  予測部
【図１】
2020126468.tif 000003
【図２】
2020126468.tif 000004
【図３】
2020126468.tif 000005
【図４】
2020126468.tif 000006
【図５】
2020126468.tif 000007
【図６】
2020126468.tif 000008
【図７】
2020126468.tif 000009
【図８】
2020126468.tif 000010
【図９】
2020126468.tif 000011
【図１０】
2020126468.tif 000012
【図１１】
2020126468.tif 000013
【図１２】
2020126468.tif 000014
【図１３】
2020126468.tif 000015
【図１４】
2020126468.tif 000016
【図１５】
2020126468.tif 000017
【図１６】
2020126468.tif 000018