(57)【要約】【課題】訓練データから生成される中間特徴量を引き継ぐ逐次学習の精度を向上させること。【解決手段】学習装置は、第１ネットワークに元教師データを入力することで第１ネットワークから第１特徴量と第２特徴量とを生成する。学習装置は、第１特徴量および第２特徴量をデコーダに入力することで前記デコーダから出力される復元データが前記元教師データに近づくように、学習モデルのパラメータと、デコーダのパラメータとを学習する。また、学習装置は、第２特徴量を第２ネットワークに入力することで第２ネットワークから出力される出力データが、元教師データの正解データに近づくように、学習モデルのパラメータと、デコーダのパラメータとを学習する。【選択図】図２
2020115256.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータが実行する学習方法であって、
学習モデルに含まれる第１ネットワークおよび第２ネットワークと、前記第１ネットワークに入力されるデータを復元するデコーダとを実行し、
前記第１ネットワークに元教師データを入力することで前記第１ネットワークから第１特徴量と第２特徴量とを生成し、
前記第１特徴量および前記第２特徴量を前記デコーダに入力することで前記デコーダから出力される復元データが前記元教師データに近づき、また、前記第２特徴量を前記第２ネットワークに入力することで前記第２ネットワークから出力される出力データが、前記元教師データの正解データに近づくように、前記学習モデルのパラメータと、前記デコーダのパラメータとを学習する
処理を実行することを特徴とする学習方法。
【請求項２】
前記元教師データをデータ拡張されることで生成される複数の拡張教師データを前記第１ネットワークに入力することで算出される複数の第２特徴量に関して、同一の元教師データからデータ拡張された、複数の拡張教師データから算出される各第２特徴量が参照特徴量に類似するように、前記参照特徴量および前記第１ネットワークのパラメータを学習する処理を更に実行することを特徴とする請求項１に記載の学習方法。
【請求項３】
前記参照特徴量と、前記同一の元教師データの正解データとを対応づけて記憶装置に保存する処理を更に実行することを特徴とする請求項２に記載の学習方法。
【請求項４】
前記学習する処理は、前記記憶装置に保存された前記参照特徴量を、前記第２ネットワークに入力することで前記第２ネットワークから出力される出力データが、前記参照特徴量に対応する正解データに近づくように、前記第２ネットワークのパラメータを学習することを特徴とする請求項３に記載の学習方法。
【請求項５】
コンピュータに、
学習モデルに含まれる第１ネットワークおよび第２ネットワークと、前記第１ネットワークに入力されるデータを復元するデコーダとを実行し、
前記第１ネットワークに元教師データを入力することで前記第１ネットワークから第１特徴量と第２特徴量とを生成し、
前記第１特徴量および前記第２特徴量を前記デコーダに入力することで前記デコーダから出力される復元データが前記元教師データに近づき、また、前記第２特徴量を前記第２ネットワークに入力することで前記第２ネットワークから出力される出力データが、前記元教師データの正解データに近づくように、前記学習モデルのパラメータと、前記デコーダのパラメータとを学習する
処理を実行させることを特徴とする学習プログラム。
【請求項６】
学習モデルに含まれる第１ネットワークおよび第２ネットワークと、前記第１ネットワークに入力されるデータを復元するデコーダとを実行し、前記第１ネットワークに元教師データを入力することで前記第１ネットワークから第１特徴量と第２特徴量とを生成する特徴量生成部と、
前記第１特徴量および前記第２特徴量を前記デコーダに入力することで前記デコーダから出力される復元データが前記元教師データに近づき、また、前記第２特徴量を前記第２ネットワークに入力することで前記第２ネットワークから出力される出力データが、前記元教師データの正解データに近づくように、前記学習モデルのパラメータと、前記デコーダのパラメータとを学習する学習部と
を有することを特徴とする学習装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、学習方法等に関する。
【背景技術】
【０００２】
深層学習モデルを学習する場合、訓練データ（学習データ）の量は性能に大きく寄与する要因であり、訓練データの量は多いほど好ましい。訓練データが不足し、訓練データにないタイプの適用データを、訓練データで学習した深層学習モデルに適用すると、適切な出力結果を得られず、失敗する可能性が高くなる。
【０００３】
また、顧客データを用いるビジネスの場では、契約や情報漏洩のリスクに鑑みると、ある顧客データをいつまでも保持したり、別の顧客タスクなどに使いまわしたりすることが難しいため、訓練データが不足する場合がある。
【０００４】
訓練データが不足する場合、データ拡張（data  augmentation）を行うことが一般的である。データ拡張は、オリジナルの訓練データに対して、ノイズを付加、平行移動、欠損等の加工を行うものであり、訓練データの範囲を適用データの範囲に広げることができる。
【０００５】
ここで、オリジナルの訓練データを、深層学習モデルに入力することで得られる中間特徴量を保持することで、オリジナルの訓練データを保持することなく、新規に深層学習モデルを学習する際に使用可能なデータ量を増加させる従来技術がある。
【０００６】
図１２は、従来技術を説明するための図である。図１２において、深層学習モデル１０は、第１ＮＮ（Neural  Network）１０ａと、第２ＮＮ１０ｂとを有する。第１ＮＮ１０ａは、訓練データが入力された場合、中間特徴量を算出するＮＮである。第２ＮＮ１０ｂは、中間特徴量が入力された場合、出力ラベルを算出するＮＮである。第１ＮＮ１０ａおよび第２ＮＮ１０ｂのパラメータは、データベース１０Ｐに格納された顧客Ｐの複数の訓練データを用いて学習済みとする。学習が終了すると、データベース１０Ｐの情報は、顧客Ｐに返却される（または、破棄される）。
【０００７】
たとえば、訓練データｘＰ１を、第１ＮＮ１０ａに入力すると、中間特徴量ｚＰ１が算出される。中間特徴量ｚＰ１を、第２ＮＮ１０ｂに入力すると、出力ラベルｙＰ１’が算出される。従来技術では、データベース１０Ｐの情報を返却する前に、訓練データｘＰ１から算出される、中間特徴量ｚＰ１をデータベース１３に保存する。従来技術は、データベース１０Ｐに格納された他の訓練データから算出される中間特徴量も、データベース１３に保存する。
【０００８】
続いて、従来技術は、顧客Ｑの複数の訓練データを保存したデータベース１１Ｑと、データベース１３とを用いて、新規の深層学習モデル１１を学習（逐次学習）する。深層学習モデル１１は、第１ＮＮ１１ａと、第２ＮＮ１１ｂとを有する。従来技術は、第１ＮＮ１１ａのパラメータとして、第１ＮＮ１０ａの学習済みのパラメータを設定する。従来技術は、第２ＮＮ１１ｂのパラメータとして、第２ＮＮ１０ｂの学習済みのパラメータを設定する。
【０００９】
たとえば、データベース１１Ｑの訓練データｘＱ１を、第１ＮＮ１１ａに入力すると、中間特徴量ｚＱ１が算出される。中間特徴量ｚＱ１を、第２ＮＮ１１ｂに入力すると、出力ラベルｙＱ１’が算出される。従来技術は、出力ラベルｙＱ１’が正解ラベル（図示略）に近づくように、第２ＮＮ１１ｂのパラメータを学習する。
【００１０】
また、データベース１３の中間特徴量ｚＰ１を、第２ＮＮ１１ｂに入力すると、出力ラベルｙＰ１’が算出される。従来技術は、出力ラベルｙＰ１’が正解ラベル（図示略）に近づくように、第２ＮＮ１１ｂのパラメータを学習する。
【００１１】
上記のように、従来技術では、第２ＮＮ１１ｂのパラメータを学習する場合、データベース１１Ｑの訓練データから算出される中間特徴量に加えて、データベース１３の中間特徴量を用いて、学習を行う。このため、データベース１０Ｐを顧客Ｐに返却（破棄）しても、新規の深層学習モデルの学習時に使用可能なデータ量を増加させることができる。
【先行技術文献】
【非特許文献】
【００１２】
【非特許文献１】Utako  Yamamoto  et  al."Deformation  estimation  of  an  elastic  object  by  partial  observation  using  a  neural  network"
【発明の概要】
【発明が解決しようとする課題】
【００１３】
図１２で説明した従来技術では、学習済みの第１ＮＮ５０ａに訓練データを入力することで算出される中間特徴量が、自明な解による中間特徴量となることを抑止することができないという問題がある。
【００１４】
図１３は、従来技術の問題を説明するための図である。たとえば、第１ＮＮ１０ａがタスクに対して冗長な場合、訓練データｚＰを、第１ＮＮ１０ａに入力して算出される中間特徴量ｚＰが、出力ラベルｙＰ’そのものになる可能性がある。中間特徴量ｚＰが出力ラベルｙＰ’そのものであると、第１ＮＮ１０ａのみで、出力ラベルを推定可能である。この場合、第２ＮＮ１０ｂは、中間特徴量ｚＰを入力された際に、出力ラベルｙＰ’（中間特徴量ｚＰそのもの）を出力する自明な写像を行うことになる。そうすると、データベース１３に保存された中間特徴量ｚＰは、第２ＮＮを逐次学習するための情報が保存されていないことを意味し、２回目以降の逐次学習の精度が劣化してしまう。
【００１５】
１つの側面では、本発明は、訓練データから生成される中間特徴量を引き継ぐ逐次学習の精度を向上させることができる学習方法、学習プログラムおよび学習装置を提供することを目的とする。
【課題を解決するための手段】
【００１６】
第１の案では、コンピュータが次の処理を実行する。コンピュータは、学習モデルに含まれる第１ネットワークおよび第２ネットワークと、第１ネットワークに入力されるデータを復元するデコーダとを実行する。コンピュータは、第１ネットワークに元教師データを入力することで第１ネットワークから第１特徴量と第２特徴量とを生成する。コンピュータは、第１特徴量および第２特徴量をデコーダに入力することでデコーダから出力される復元データが元教師データに近づくように、学習モデルのパラメータと、デコーダのパラメータとを学習する。また、コンピュータは、第２特徴量を第２ネットワークに入力することで第２ネットワークから出力される出力データが、元教師データの正解データに近づくように、学習モデルのパラメータと、デコーダのパラメータとを学習する。
【発明の効果】
【００１７】
訓練データから生成される中間特徴量を引き継ぐ逐次学習の精度を向上させることができる。
【図面の簡単な説明】
【００１８】
【図１】図１は、参考技術の一例を説明するための図である。
【図２】図２は、本実施例に係る学習装置の処理を説明するための図である。
【図３】図３は、本実施例に係る学習装置の構成を示す機能ブロック図である。
【図４】図４は、本実施例に係る学習データベースのデータ構造の一例を示す図である。
【図５】図５は、本実施例に係る拡張訓練データテーブルのデータ構造の一例を示す図である。
【図６】図６は、本実施例に係るパラメータテーブルのデータ構造の一例を示す図である。
【図７】図７は、本実施例に係る参照特徴量データベースのデータ構造の一例を示す図である。
【図８】図８は、データ拡張の一例を説明するための図である。
【図９】図９は、本実施例に係る学習部の処理を説明するための図である。
【図１０】図１０は、本実施例に係る学習装置の処理手順を示すフローチャートである。
【図１１】図１１は、本実施例に係る学習装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【図１２】図１２は、従来技術を説明するための図である。
【図１３】図１３は、従来技術の問題を説明するための図である。
【発明を実施するための形態】
【００１９】
以下に、本願の開示する学習方法、学習プログラムおよび学習装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例１】
【００２０】
本実施例に係る学習装置の説明を行う前に、参考技術について説明する。図１は、参考技術の一例を説明するための図である。学習対象となる深層学習モデル２０は、第１ＮＮ２０ａと、第２ＮＮ２０ｂとを有する。第１ＮＮ２０ａは、訓練データが入力された場合、中間特徴量を算出するＮＮである。第２ＮＮ２０ｂは、中間特徴量が入力された場合、出力ラベルを算出するＮＮである。データベース１０Ｐは、顧客Ｐのオリジナルの訓練データｘＰを保存する。また、訓練データｘＰに対応する参照特徴量ｚＰが設定される。
【００２１】
参考技術は、訓練データｘＰに対してデータ拡張を実行し、訓練データｘＰ．１，ｘＰ．２，ｘＰ．３を生成する。データ拡張は、オリジナルの訓練データに対して、ノイズを付加、平行移動、欠損等の加工を行うものである。
【００２２】
参考技術は、訓練データｘＰ．１，ｘＰ．２，ｘＰ．３を第１ＮＮ２０ａに入力して、中間特徴量ｚＰ．１，ｚＰ．２，ｚＰ．３を算出する。参考技術は、中間特徴量ｚＰ．１，ｚＰ．２，ｚＰ．３を第２ＮＮ２０ｂに入力して、出力ラベルｙＰ．１’，ｙＰ．２’，ｙＰ．３’を算出する。参考技術は、出力ラベルｙＰ．１’，ｙＰ．２’，ｙＰ．３’が、それぞれの正解ラベル（図示略）に近づくように、第１ＮＮ２０ａのパラメータおよび第２ＮＮ２０ｂのパラメータの学習を行う。
【００２３】
また、参考技術は、中間特徴量ｚＰ．１，ｚＰ．２，ｚＰ．３が、参照特徴量ｚＰに近づくような「制約」を与え、第１ＮＮ２０ａのパラメータ、参照特徴量ｚＰの学習を行う。参考技術は、学習した参照特徴量ｚＰをデータベース１３に保存する。データベース１３に保存された参照特徴量ｚＰは、他の顧客の深層学習モデルの学習を新規に行う場合に利用される。
【００２４】
ここで、参考技術のように、各中間特徴量ｚＰ．１，ｚＰ．２，ｚＰ．３をデータベース１３に保存する代わりに、各中間特徴量ｚＰ．１〜ｚＰ．３を集約した参照特徴量ｚＰを保存することで、データベース１３のデータ量を削減することが可能となる。しかし、参照特徴量ｚＰは、図１２で説明した中間特徴量ｚＰと比較して、出力ラベルｙＰ．１’，ｙＰ．２’，ｙＰ．３’により近い情報となる。すなわち、データ拡張を行う場合に、第１ＮＮ１０ａにデータ拡張の違いを吸収する制約をかけると、より、参照特徴量（中間特徴量）が出力ラベルに近くなる。これは、第２ＮＮ１０ｂの部分が自明な写像になっていれば、容易に制約を満たすことができるためである。
【００２５】
このため、参考技術でも、従来技術と同様にして、参照特徴量が、自明な解による中間特徴量となることを抑止することができず、２回目以降の学習において、参照特徴量を用いると、学習精度が劣化する。
【００２６】
次に、本実施例に係る学習装置の処理の一例について説明する。図２は、本実施例に係る学習装置の処理を説明するための図である。図２に示すように、深層学習モデル５０は、第１ＮＮ５０ａと、第２ＮＮ５０ｂと、デコーダ（Decoder）５０ｃとを有する。学習データベース１４１には、オリジナルの訓練データｘＰが保存される。学習データベース１４１には、他の訓練データが保存される。
【００２７】
第１ＮＮ５０ａは、訓練データが入力された場合、中間特徴量を算出するＮＮである。第１ＮＮ５０ａにより算出される中間特徴量は、第１特徴量と、第２特徴量とを有する。たとえば、第１ＮＮ５０ａの出力層に含まれる複数の出力ノード（図示略）のうち、第１特徴量を出力するノードと、第２特徴量を出力するノードとが予め設定されているものとする。第１特徴量の次元は、第２特徴量の次元と比較して十分小さいものとする。
【００２８】
第２ＮＮ５０ｂは、第２特徴量が入力された場合、出力ラベルを算出する処理部である。デコーダ５０ｃは、第１特徴量と第２特徴量とが入力された場合、復元データを算出する処理部である。
【００２９】
学習装置は、オリジナルの訓練データｘＰに対してデータ拡張を実行し、訓練データｚＰ．１を生成する。学習装置が、訓練データＰ．１を第１ＮＮ５０ａに入力すると、第１ＮＮ５０ａから第１特徴量ｖＰ．１と、第２特徴量ｚＰ．１が出力される。
【００３０】
学習装置が、第２特徴量ｚＰ．１を第２ＮＮ５０ｂに入力すると、第２ＮＮ５０ｂから出力ラベルｙＰ．１’が出力される。学習装置が、第１特徴量ｖＰ．１および第２特徴量ｚＰ．１をデコーダ５０ｃに入力すると、復元データｘＰ．１’が出力される。
【００３１】
学習装置は、出力ラベルｙＰ．１’と、オリジナルの訓練データｘＰの正解ラベル（図示略）とが近づくように、第１ＮＮ５０ａのパラメータおよび第２ＮＮ５０ｂのパラメータを学習する。学習装置は、復元データｘＰ．１’と、訓練データｘＰとの類似度が上がるように、第１ＮＮのパラメータおよびデコーダ５０ｃのパラメータを学習する。また、第２特徴量ｚＰ．１が制約を満たすように、参照特徴量ｚＰと、第１ＮＮ５０ａのパラメータを学習する。たとえば、制約は、同一のオリジナルの訓練データからデータ拡張された複数の訓練データであって、この複数の訓練データから算出される各第２特徴量と、参照特徴量ｚＰとの類似度が上がるという制約である。学習装置は、学習した参照特徴量ｚＰを参照特徴量データベース１４４に保存して、２回目以降の学習において利用する。
【００３２】
ここで、デコーダ５０ｃは、第１特徴量と第２特徴量とを元にして元の訓練データ（たとえば、ｘＰ．１）を復元するものであるため、元の訓練データの特徴情報は、第１特徴量および第２特徴量に分散して保存される。第１特徴量の次元は小さく設定されているため、第１特徴量よりも第２特徴量に、元の訓練データの特徴情報が保存される。第２特徴量に保存される特徴情報には制約があるため、制約を満たせない特徴情報は、第１特徴量に保存される。これによって、第２特徴量は、復元を行うための特徴情報の大部分が残り、自明な特徴になること（第２特徴量が出力ラベルそのものに近い情報となること）を抑止することができる。
【００３３】
すなわち、学習装置が、第１ＮＮ５０ａから出力される中間特徴量を第１特徴量および第２特徴量に分割して、各パラメータの学習を行うと、訓練データのうち、本来保存したかった制約を満たす大部分の情報を、第２特徴量（参照特徴量）に残すことができる。
【００３４】
次に、本実施例に係る学習装置の構成の一例について説明する。図３は、本実施例に係る学習装置の構成を示す機能ブロック図である。図３に示すように、この学習装置１００は、通信部１１０と、入力部１２０と、表示部１３０と、記憶部１４０と、制御部１５０とを有する。
【００３５】
通信部１１０は、ネットワーク等を介して外部装置（図示略）とデータ通信を実行する処理部である。通信部１１０は、通信装置に対応する。たとえば、通信部１１０は、後述する学習データベース１４１の情報を、各顧客の外部装置等から受信する。後述する制御部１５０は、通信部１１０を介して、外部装置とデータをやり取りする。
【００３６】
入力部１２０は、各種の情報を学習装置１００に入力するための入力装置である。たとえば、入力部１２０は、キーボードやマウス、タッチパネル等に対応する。
【００３７】
表示部１３０は、制御部１５０から出力される各種の情報を表示する表示装置である。たとえば、表示部１３０は、液晶ディスプレイ、タッチパネル等に対応する。
【００３８】
記憶部１４０は、学習データベース１４１と、拡張訓練データテーブル１４２と、パラメータテーブル１４３と、参照特徴量データベース１４４とを有する。記憶部１４０は、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）、フラッシュメモリ（Flash  Memory）などの半導体メモリ素子や、ＨＤＤ（Hard  Disk  Drive）などの記憶装置に対応する。
【００３９】
学習データベース１４１は、各顧客から通知される訓練データの情報を保存する。図４は、本実施例に係る学習データベースのデータ構造の一例を示す図である。図４に示すように、この学習データベース１４１は、データ番号と、訓練データと、正解ラベルとを対応付ける。データ番号は、オリジナルの訓練データを一意に識別する番号である。たとえば、訓練データ「ｘＰ１」に対応する正解ラベルは「ｙＰ１」であり、訓練データ「ｘＰ１」のデータ番号は「ｐ００１」である。
【００４０】
拡張訓練データテーブル１４２は、オリジナルの訓練データを元にデータ拡張された訓練データを保持するテーブルである。図５は、本実施例に係る拡張訓練データテーブルのデータ構造の一例を示す図である。図５に示すように、この拡張訓練データテーブル１４２は、データ番号と、データ拡張された訓練データと、正解ラベルとを対応付ける。データ番号は、データ拡張の元となるオリジナルの訓練データを一意に識別する番号である。データ拡張された訓練データに対応する正解ラベルは、データ番号に対応するオリジナルの訓練データに対応付けられた正解ラベルとなる。
【００４１】
パラメータテーブル１４３は、第１ＮＮ５０ａのパラメータ、第２ＮＮ５０ｂのパラメータ、デコーダ５０ｃのパラメータを保存するテーブルである。図６は、本実施例に係るパラメータテーブルのデータ構造の一例を示す図である。図６に示すように、パラメータテーブル１４３は、識別情報と、パラメータとを対応付ける。識別情報は、各ＮＮ、デコーダを識別する情報である。パラメータは、各ＮＮに設定されるパラメータである。ＮＮは複数の層を有し、各層には複数のノードが含まれ、各ノードがエッジで結ばれる構造となっている。各層は、活性化関数と呼ばれる関数とバイアス値とを持ち、エッジは、重みを持つ。デコーダもＮＮと同様にして、複数の層を有し、各層には複数のノードが含まれ、各ノードがエッジで結ばれる構造となっている。本実施例では、ＮＮ、デコーダに設定されるバイアス値、重み等をまとめて「パラメータ」と表記する。
【００４２】
参照特徴量データベース１４４は、オリジナルの各訓練データに対してそれぞれ設定される参照特徴量を保存するデータベースである。図７は、本実施例に係る参照特徴量データベースのデータ構造の一例を示す図である。図７に示すように、参照特徴量データベース１４４は、データ番号と、参照特徴量と、正解ラベルとを対応付ける。データ番号は、オリジナルの訓練データを一意に識別する番号である。参照特徴量の初期値は予め設定されているものとする。正解ラベルは、データ番号に対応するオリジナルの訓練データの正解ラベルとなる。
【００４３】
図３の説明に戻る。制御部１５０は、取得部１５０ａと、拡張部１５０ｂと、特徴量生成部１５０ｃと、学習部１５０ｄとを有する。制御部１５０は、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などによって実現できる。また、制御部１５０は、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などのハードワイヤードロジックによっても実現できる。
【００４４】
取得部１５０ａは、各顧客の外部装置等から、学習データベース１４１の情報を取得する処理部である。取得部１５０ａは、取得した学習データベース１４１の情報を、学習データベース１４１に格納する。
【００４５】
拡張部１５０ｂは、学習データベース１４１に保存されたオリジナルの訓練データに対してデータ拡張（data  augmentation）を行うことで、複数の訓練データを生成する処理部である。たとえば、拡張部１５０ｂが行うデータ拡張は、訓練データにノイズ付加、平行移動、欠損等の加工する処理に対応する。
【００４６】
拡張部１５０ｂは、オリジナルの訓練データのデータ番号と、データ拡張した訓練データと、オリジナルの訓練データに対応する正解ラベルとを対応付けて、拡張訓練データテーブル１４２に保存する。拡張部１５０ｂは、学習データベース１４１に保存される各訓練データに対して、上記処理を繰り返し実行する。
【００４７】
図８は、データ拡張の一例を説明するための図である。図８に示す例では、訓練データ群２０Ａには、訓練データ２１Ａ−１〜２１Ａ−３、訓練データ２２Ａ−１〜２２Ａ−３、訓練データ２３Ａ−１〜２３Ａ−３が含まれる。たとえば、訓練データ群２０Ａには、正解ラベル「Ａ」が対応付けられる。
【００４８】
訓練データ２１Ａ−２、２１Ａ−３は、オリジナルの訓練データ２１Ａ−１に対してデータ拡張することで得られるデータである。訓練データ２２Ａ−２、２２Ａ−３は、オリジナルの訓練データ２２Ａ−１に対してデータ拡張することで得られるデータである。訓練データ２３Ａ−２、２３Ａ−３は、オリジナルの訓練データ２３Ａ−１に対してデータ拡張することで得られるデータである。
【００４９】
訓練データ群２０Ｂには、訓練データ２１Ｂ−１〜２１Ｂ−３，訓練データ２２Ｂ−１〜２２Ｂ−３，訓練データ２３Ｂ−１〜２３Ｂ−３が含まれる。たとえば、訓練データ群２０Ａには、正解ラベル「Ｂ」が対応付けられる。
【００５０】
訓練データ２１Ｂ−２、２１Ｂ−３は、オリジナルの訓練データ２１Ｂ−１に対してデータ拡張することで得られるデータである。訓練データ２２Ｂ−２、２２Ｂ−３は、オリジナルの訓練データ２２Ｂ−１に対してデータ拡張することで得られるデータである。訓練データ２３Ｂ−２、２３Ｂ−３は、オリジナルの訓練データ２３Ｂ−１に対してデータ拡張することで得られるデータである。
【００５１】
一例として、図８を用いて説明すると、拡張部１５０ｂは、訓練データ２１Ａ−１に対するデータ拡張を行うことで、訓練データ２１Ａ−２、２１Ａ−３を生成する。
【００５２】
特徴量生成部１５０ｃは、データ拡張された複数の訓練データを、第１ＮＮ５０ａに入力し、訓練データ毎に、第１特徴量および第２特徴量を生成する処理部である。以下において、特徴量生成部１５０ｃの処理の一例について説明する。
【００５３】
特徴量生成部１５０ｃは、第１ＮＮ５０ａを実行し、パラメータテーブル１４３に格納されたパラメータθ１を第１ＮＮ５０ａのパラメータとして設定する。第１ＮＮ５０ａの出力層に含まれる複数の出力ノード（図示略）のうち、第１特徴量を出力するノードと、第２特徴量を出力するノードとが予め設定されているものとする。第１特徴量の次元は、第２特徴量の次元と比較して十分小さいものとする。
【００５４】
特徴量生成部１５０ｃは、拡張訓練データテーブル１４２から、データ番号と、データ番号に紐付く複数の訓練データを取得し、取得した複数の訓練データを、順に第１ＮＮ５０ａに入力する。特徴量生成部１５０ｃは、第１ＮＮ５０ａに設定されたパラメータθ１を用いて、複数の訓練データの第１特徴量および第２特徴量をそれぞれ算出する。
【００５５】
特徴量生成部１５０ｃは、データ番号と、第１特徴量と、第２特徴量とを、学習部１５０ｄに出力する。特徴量生成部１５０ｃは、拡張訓練データテーブル１４２の各レコードについて、上記処理を繰り返し実行する。
【００５６】
学習部１５０ｄは、誤差逆伝播法等を用いて、第１ＮＮ５０ａのパラメータθ１、第２ＮＮ５０ａのパラメータθ２、デコーダ５０ｃのパラメータθ３、参照特徴量を学習する処理部である。
【００５７】
図９は、本実施例に係る学習部の処理を説明するための図である。学習部１５０ｄは、第１ＮＮ５０ａと、第２ＮＮ５０ｂと、デコーダ５０ｃを実行する。学習部１５０ｄは、第２ＮＮ５０ｂにパラメータθ２を設定し、デコーダ５０ｃにパラメータθ３を設定する。
【００５８】
たとえば、学習データベース１４１に保存されたオリジナルの訓練データｘＰ１がデータ拡張されることで、訓練データｘＰ１．１が生成される。学習データベース１４１に保存されたオリジナルの訓練データｘＰ２がデータ拡張されることで、訓練データｘＰ１．２が生成される。訓練データｘＰ１．１が、第１ＮＮ５０ａに入力されることで、第１特徴量ｖＰ１．１と、第２特徴量ｚＰ１．１とが生成される。訓練データｘＰ２．１が、第１ＮＮ５０ａに入力されることで、第１特徴量ｖＰ２．１と、第２特徴量ｚＰ２．１とが生成される。訓練データｘＰ１に対応する参照特徴量をｚＰ１とする。訓練データｘＰ２に対応する参照特徴量をｚＰ２とする。図示を省略するが、訓練データｘＰ１の正解ラベルを「ｙＰ１」とする。訓練データｘＰ２の正解ラベルを「ｙＰ２」とする。
【００５９】
学習部１５０ｄは、第１特徴量ｖＰ１．１と、第２特徴量ｚＰ１．１を特徴量生成部１５０ｃから取得し、データ番号をキーとして、対応する参照特徴量ｚＰ１を特定する。学習部１５０ｄは、第１特徴量ｖＰ２．１と、第２特徴量ｚＰ２．１を特徴量生成部１５０ｃから取得し、データ番号をキーとして、参照特徴量ｚＰ２を特定する。
【００６０】
学習部１５０ｄは、第２特徴量ｚＰ１．１を第２ＮＮ５０ｂに入力し、パラメータθ２を基にして、出力ラベルｙＰ１．１’を算出する。学習部１５０ｄは、第２特徴量ｚＰ２．１を第２ＮＮ５０ｂに入力し、パラメータθ２を基にして、出力ラベルｙＰ２．１’を算出する。学習部１５０ｄは、出力ラベルｙＰ１．１’と正解ラベルｙＰ１との誤差を計算する。学習部１５０ｄは、出力ラベルｙＰ２．１’と正解ラベルｙＰ２との誤差を計算する。学習部１５０ｄは、かかる誤差が小さくなるようにパラメータθ１，θ２を学習する。
【００６１】
学習部１５０ｄは、第１特徴量ｖＰ１．１および第２特徴量ｚＰ１．１をデコーダ５０ｃに入力し、パラメータθ３を基にして、復元データｘＰ１．１’を算出する。学習部１５０ｄは、復元データｘＰ１．１’と、訓練データｘＰ１との類似度を算出し、類似度が上がるように、パラメータθ１，θ３を学習する。学習部１５０ｄは、第１特徴量ｖＰ２．１および第２特徴量ｚＰ２．１をデコーダ５０ｃに入力し、パラメータθ３を基にして、復元データｘＰ２．１’を算出する。学習部１５０ｄは、復元データｘＰ２．１’と、訓練データｘＰ２との類似度を算出し、類似度が上がるように、パラメータθ１，θ３を学習する。
【００６２】
学習部１５０ｄは、第２特徴量ｚＰ１．１と、参照特徴量ｚＰ１との類似度を算出し、類似度が上がるように、参照特徴量ｚＰ１およびパラメータθ１を学習する。学習部１５０ｄは、第２特徴量ｚＰ２．１と、参照特徴量ｚＰ２との類似度を算出し、類似度が上がるように、参照特徴量ｚＰ２およびパラメータθ１を学習する。
【００６３】
すなわち、学習部１５０ｄは、出力ラベルと正解ラベルとの誤差を小さくし、復元データと元の訓練データとの類似度を上げ、参照特徴量と第２特徴量との類似度が上がるように、パラメータθ１〜θ３、参照特徴量を学習する処理を繰り返し実行する。学習部１５０ｄは、学習したパラメータθ１〜θ３を、パラメータテーブル１４３に保存する。学習部１５０ｄは、学習した各訓練データの参照特徴量を、正解ラベルと対応付けて、参照特徴量データベース１４４に保存する。
【００６４】
参照特徴量データベース１４４に登録された参照特徴量は、２回目以降の第２ＮＮの学習に利用される。たとえば、学習部１５０ｄは、参照特徴量を第２ＮＮに入力し、第２ＮＮから出力される出力ラベルが、参照特徴量に対応付けられた正解ラベルに近づくように、第２ＮＮのパラメータθ２の学習を行う。
【００６５】
学習部１５０ｄは、復元データと、訓練データとの類似度をどのように算出してもよい。たとえば、学習部１５０ｄは、復元データと、訓練データとの２乗誤差を算出し、２乗誤差の値を類似度として用いてもよい。この場合には、２乗誤差の値が小さくなるほど、類似度が上がることを意味する。
【００６６】
同様にして、学習部１５０ｄは、第２特徴量と、参照特徴量との類似度をどのように算出してもよい。たとえば、学習部１５０ｄは、第２特徴量と、参照特徴量との２乗誤差を算出し、２乗誤差の値を類似度として用いてもよい。この場合には、２乗誤差の値が小さくなるほど、類似度が上がることを意味する。
【００６７】
次に、本実施例に係る学習装置１００の処理手順の一例について説明する。図１０は、本実施例に係る学習装置の処理手順を示すフローチャートである。図１０に示すように、学習装置１００の拡張部１５０ｂは、学習データベース１４１から訓練データを取得する（ステップＳ１０１）。拡張部１５０ｂは、訓練データをデータ拡張する（ステップＳ１０２）。
【００６８】
学習装置１００の特徴量生成部１５０ｃは、第１ＮＮ５０ａに訓練データを入力して、第１特徴量と第２特徴量とを生成する（ステップＳ１０３）。学習装置１００の学習部１５０ｄは、第２特徴量を第２ＮＮ５０ｂに入力し、第２ＮＮ５０ｂから出力される出力ラベルと正解ラベルとの誤差が小さくなるように、パラメータθ１，θ２を学習する（ステップＳ１０４）。
【００６９】
学習部１５０ｄは、第１特徴量および第２特徴量をデコーダ５０ｃに入力し、デコーダ５０ｃから出力される復元データと、元データとの類似度が上がるように、パラメータθ１，θ２を学習する（ステップＳ１０５）。
【００７０】
学習部１５０ｄは、第２特徴量と参照特徴量との類似度が上がるように、パラメータθ１および参照特徴量を学習する（ステップＳ１０６）。学習部１５０ｄは、学習が終了していない場合には（ステップＳ１０７，Ｎｏ）、ステップＳ１０１に移行する。
【００７１】
一方、学習部１５０ｄは、学習が終了した場合には（ステップＳ１０７，Ｙｅｓ）、学習済みの参照特徴量を参照特徴量データベース１４４に保存する（ステップＳ１０８）。
【００７２】
次に、本実施例に係る学習装置１００の効果について説明する。学習装置１００は、第１ＮＮ５０ａから出力される中間特徴量を第１特徴量および第２特徴量に分割し、第２特徴量を第２ＮＮ５０ｂに入力して算出される出力ラベルが、正解ラベルに近づくように、パラメータθ１、θ２を学習する。学習装置１００は、第１特徴量および第２特徴量をデコーダ５０ｃに入力して算出される復元データが、訓練データに類似するように、パラメータθ１、θ３を学習する。また、学習装置１００は、第２特徴量が制約を満たすように、パラメータθ１、参照特徴量を学習する。
【００７３】
ここで、デコーダ５０ｃは、第１特徴量と第２特徴量とを元にして元の訓練データ（たとえば、図２のｘＰ）を復元するものであるため、訓練データｘＰの特徴情報は、第１特徴量および第２特徴量に分散して保存される。第１特徴量の次元は小さく設定されているため、第１特徴量よりも第２特徴量に、元の訓練データの特徴情報が保存される。第２特徴量に保存される特徴情報には制約があるため、制約を満たさない特徴情報は、第１特徴量に保存される。これによって、第２特徴量は、復元を行うための特徴情報の大部分が残り、自明な特徴になること（第２特徴量が出力ラベルそのものに近い情報となること）を抑止することができる。
【００７４】
参照特徴量データベース１４４の参照特徴量には、訓練データの特徴情報の大部分が残り、逐次学習時に保存する特徴量として意味のある情報となる。このため、参照特徴量を用いて、２回目以降の学習を行う場合に、第２ＮＮの逐次学習を精度よく行うことができる。
【００７５】
学習装置１００は、オリジナルの訓練データをデータ拡張した複数の訓練データを生成し、複数の訓練データを第１ＮＮ５０ａに入力した際に算出される第２特徴量が、参照特徴量に類似するように、参照特徴量および第１ＮＮ５０ａのパラメータθ１を学習する。これによって、複数の第２特徴量を集約した参照特徴量が、参照特徴量データベース１４４に保存できる。
【００７６】
また、学習装置１００は、参照特徴量と、オリジナルの訓練データに対応する正解ラベルとを対応付けて、参照特徴量データベース１４４に保存する。学習装置１００は、参照特徴量を第２ＮＮに入力した際の出力ラベルが、参照特徴量に対応する正解ラベルに近づくように、第２ＮＮのパラメータθ２を学習する。これによって、参照特徴量データベース１４４を用いて、２回目以降の逐次学習で利用可能なデータ量を増やすことができ、学習精度を向上させることができる。
【００７７】
次に、本実施例に示した学習装置１００と同様の機能を実現するコンピュータのハードウェア構成の一例について説明する。図１１は、本実施例に係る学習装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【００７８】
図１１に示すように、コンピュータ３００は、各種演算処理を実行するＣＰＵ３０１と、ユーザからのデータの入力を受け付ける入力装置３０２と、ディスプレイ３０３とを有する。また、コンピュータ３００は、記憶媒体からプログラム等を読み取る読み取り装置３０４と、有線または無線ネットワークを介して、外部装置等との間でデータの授受を行うインタフェース装置３０５とを有する。コンピュータ３００は、各種情報を一時記憶するＲＡＭ３０６と、ハードディスク装置３０７とを有する。そして、各装置３０１〜３０７は、バス３０８に接続される。
【００７９】
ハードディスク装置３０７は、取得プログラム３０７ａ、拡張プログラム３０７ｂ、特徴量生成プログラム３０７ｃ、学習プログラム３０７ｄを有する。ＣＰＵ３０１は、取得プログラム３０７ａ、拡張プログラム３０７ｂ、特徴量生成プログラム３０７ｃ、学習プログラム３０７ｄを読み出してＲＡＭ３０６に展開する。
【００８０】
取得プログラム３０７ａは、取得プロセス３０６ａとして機能する。拡張プログラム３０７ｂは、拡張プロセス３０６ｂとして機能する。特徴量生成プログラム３０７ｃは、特徴量生成プロセス３０６ｃとして機能する。学習プログラム３０７ｄは、学習プロセス３０６ｄとして機能する。
【００８１】
取得プロセス３０６ａの処理は、取得部１５０ａの処理に対応する。拡張プロセス３０６ｂの処理は、拡張部１５０ｂの処理に対応する。特徴量生成プロセス３０６ｃの処理は、特徴量生成部１５０ｃの処理に対応する。学習プロセス３０６ｄの処理は、学習部１５０ｄの処理に対応する。
【００８２】
なお、各プログラム３０７ａ〜３０７ｄについては、必ずしも最初からハードディスク装置３０７に記憶させておかなくてもよい。例えば、コンピュータ３００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ３００が各プログラム３０７ａ〜３０７ｄを読み出して実行するようにしてもよい。
【００８３】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【００８４】
（付記１）コンピュータが実行する学習方法であって、
学習モデルに含まれる第１ネットワークおよび第２ネットワークと、前記第１ネットワークに入力されるデータを復元するデコーダとを実行し、
前記第１ネットワークに元教師データを入力することで前記第１ネットワークから第１特徴量と第２特徴量とを生成し、
前記第１特徴量および前記第２特徴量を前記デコーダに入力することで前記デコーダから出力される復元データが前記元教師データに近づき、また、前記第２特徴量を前記第２ネットワークに入力することで前記第２ネットワークから出力される出力データが、前記元教師データの正解データに近づくように、前記学習モデルのパラメータと、前記デコーダのパラメータとを学習する
処理を実行することを特徴とする学習方法。
【００８５】
（付記２）前記元教師データをデータ拡張されることで生成される複数の拡張教師データを前記第１ネットワークに入力することで算出される複数の第２特徴量に関して、同一の元教師データからデータ拡張された、複数の拡張教師データから算出される各第２特徴量が参照特徴量に類似するように、前記参照特徴量および前記第１ネットワークのパラメータを学習する処理を更に実行することを特徴とする付記１に記載の学習方法。
【００８６】
（付記３）前記参照特徴量と、前記同一の元教師データの正解データとを対応づけて記憶装置に保存する処理を更に実行することを特徴とする付記２に記載の学習方法。
【００８７】
（付記４）前記学習する処理は、前記記憶装置に保存された前記参照特徴量を、前記第２ネットワークに入力することで前記第２ネットワークから出力される出力データが、前記参照特徴量に対応する正解データに近づくように、前記第２ネットワークのパラメータを学習することを特徴とする付記３に記載の学習方法。
【００８８】
（付記５）コンピュータに、
学習モデルに含まれる第１ネットワークおよび第２ネットワークと、前記第１ネットワークに入力されるデータを復元するデコーダとを実行し、
前記第１ネットワークに元教師データを入力することで前記第１ネットワークから第１特徴量と第２特徴量とを生成し、
前記第１特徴量および前記第２特徴量を前記デコーダに入力することで前記デコーダから出力される復元データが前記元教師データに近づき、また、前記第２特徴量を前記第２ネットワークに入力することで前記第２ネットワークから出力される出力データが、前記元教師データの正解データに近づくように、前記学習モデルのパラメータと、前記デコーダのパラメータとを学習する
処理を実行させることを特徴とする学習プログラム。
【００８９】
（付記６）前記元教師データをデータ拡張されることで生成される複数の拡張教師データを前記第１ネットワークに入力することで算出される複数の第２特徴量に関して、同一の元教師データからデータ拡張された、複数の拡張教師データから算出される各第２特徴量が参照特徴量に類似するように、前記参照特徴量および前記第１ネットワークのパラメータを学習する処理を更に実行することを特徴とする付記５に記載の学習プログラム。
【００９０】
（付記７）前記参照特徴量と、前記同一の元教師データの正解データとを対応づけて記憶装置に保存する処理を更に実行することを特徴とする付記６に記載の学習プログラム。
【００９１】
（付記８）前記学習する処理は、前記記憶装置に保存された前記参照特徴量を、前記第２ネットワークに入力することで前記第２ネットワークから出力される出力データが、前記参照特徴量に対応する正解データに近づくように、前記第２ネットワークのパラメータを学習することを特徴とする付記７に記載の学習プログラム。
【００９２】
（付記９）学習モデルに含まれる第１ネットワークおよび第２ネットワークと、前記第１ネットワークに入力されるデータを復元するデコーダとを実行し、前記第１ネットワークに元教師データを入力することで前記第１ネットワークから第１特徴量と第２特徴量とを生成する特徴量生成部と、
前記第１特徴量および前記第２特徴量を前記デコーダに入力することで前記デコーダから出力される復元データが前記元教師データに近づき、また、前記第２特徴量を前記第２ネットワークに入力することで前記第２ネットワークから出力される出力データが、前記元教師データの正解データに近づくように、前記学習モデルのパラメータと、前記デコーダのパラメータとを学習する学習部と
を有することを特徴とする学習装置。
【００９３】
（付記１０）前記学習部は、前記元教師データをデータ拡張されることで生成される複数の拡張教師データを前記第１ネットワークに入力することで算出される複数の第２特徴量に関して、同一の元教師データからデータ拡張された、複数の拡張教師データから算出される各第２特徴量が参照特徴量に類似するように、前記参照特徴量および前記第１ネットワークのパラメータを学習する処理を更に実行することを特徴とする付記９に記載の学習装置。
【００９４】
（付記１１）前記学習部は、前記参照特徴量と、前記同一の元教師データの正解データとを対応づけて記憶装置に保存する処理を更に実行することを特徴とする付記１０に記載の学習装置。
【００９５】
（付記１２）前記学習部は、前記記憶装置に保存された前記参照特徴量を、前記第２ネットワークに入力することで前記第２ネットワークから出力される出力データが、前記参照特徴量に対応する正解データに近づくように、前記第２ネットワークのパラメータを学習することを特徴とする付記１１に記載の学習装置。
【符号の説明】
【００９６】
１００    学習装置
１１０    通信部
１２０    入力部
１３０    表示部
１４０    記憶部
１４１    学習データベース
１４２    拡張訓練データテーブル
１４３    パラメータテーブル
１４４    参照特徴量データベース
１５０    制御部
１５０ａ  取得部
１５０ｂ  拡張部
１５０ｃ  特徴量生成部
１５０ｄ  学習部
【図１】
2020115256.tif 000003
【図２】
2020115256.tif 000004
【図３】
2020115256.tif 000005
【図４】
2020115256.tif 000006
【図５】
2020115256.tif 000007
【図６】
2020115256.tif 000008
【図７】
2020115256.tif 000009
【図８】
2020115256.tif 000010
【図９】
2020115256.tif 000011
【図１０】
2020115256.tif 000012
【図１１】
2020115256.tif 000013
【図１２】
2020115256.tif 000014
【図１３】
2020115256.tif 000015