(57)【要約】【課題】データ拡張を用いた深層学習の精度を向上させること。【解決手段】学習装置は、元教師データをデータ拡張することで生成される複数の拡張教師データを学習モデルに入力する。学習装置は、学習モデルに複数の拡張教師データを学習モデルに入力することで算出される複数の中間特徴量に関して、同一の元教師データからデータ拡張された複数の拡張教師データから算出される各中間特徴量が類似するように、学習モデルのパラメータを学習する。【選択図】図２
2020115289.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータが実行する学習方法であって、
元教師データをデータ拡張することで生成される複数の拡張教師データを学習モデルに入力し、
前記学習モデルに前記複数の拡張教師データを前記学習モデルに入力することで算出される複数の中間特徴量に関して、同一の元教師データからデータ拡張された複数の拡張教師データから算出される各中間特徴量が類似するように、前記学習モデルのパラメータを学習する
処理を実行することを特徴とする学習方法。
【請求項２】
前記学習する処理は、前記同一の元教師データからデータを拡張された複数の拡張教師データを前記学習モデルに入力して、前記学習モデルの下位層から出力されるそれぞれの中間特徴量の分散を算出し、前記分散が小さくなるように、前記学習モデルのパラメータを学習することを特徴とする請求項１に記載の学習方法。
【請求項３】
前記学習する処理は、前記同一の元教師データからデータを拡張された複数の拡張教師データを前記学習モデルに入力して、前記学習モデルの下位層から出力されるそれぞれの中間特徴量と、前記複数の拡張教師データを生成する際に用いた元教師データに対応する参照特徴量とが類似するように、前記学習モデルのパラメータおよび前記参照特徴量を学習することを特徴とする請求項１に記載の学習方法。
【請求項４】
前記学習する処理は、前記同一の元教師データからデータを拡張された複数の拡張教師データを前記学習モデルに入力して、前記学習モデルの下位層から出力されるそれぞれの中間特徴量の分布と、前記複数の拡張教師データを生成する際に用いた元教師データに対応する参照特徴量とが類似するように、前記学習モデルのパラメータおよび前記参照特徴量を学習することを特徴とする請求項１に記載の学習方法。
【請求項５】
コンピュータに、
元教師データをデータ拡張することで生成される複数の拡張教師データを学習モデルに入力し、
前記学習モデルに前記複数の拡張教師データを前記学習モデルに入力することで算出される複数の中間特徴量に関して、同一の元教師データからデータ拡張された複数の拡張教師データから算出される各中間特徴量が類似するように、前記学習モデルのパラメータを学習する
処理を実行させることを特徴とする学習プログラム。
【請求項６】
元教師データをデータ拡張することで生成される複数の拡張教師データを学習モデルに入力して、複数の中間特徴量を算出する特徴量算出部と、
前記複数の中間特徴量に関して、同一の元教師データからデータ拡張された複数の拡張教師データから算出される各中間特徴量が類似するように、前記学習モデルのパラメータを学習する学習部と
を有することを特徴とする学習装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、学習方法等に関する。
【背景技術】
【０００２】
深層学習モデルを学習する場合、大量の訓練データ（学習データ）を用いることが好ましい。訓練データが不足し、訓練データにないタイプの適用データを、訓練データで学習した深層学習モデルに適用すると、適切な出力結果を得られず、失敗する可能性が高くなる。たとえば、ノイズのあるデータが、訓練データに含まれておらず、適用データにノイズのあるデータが含まれていると、適用データを深層学習モデルに適用することが難しい。
【０００３】
図２０は、訓練データと適用データとの関係を説明するための図である。訓練データ１０Ａのタイプの範囲が、適用データ１１Ａのタイプの範囲を包含している場合、訓練データ１０Ａで学習した深層学習モデルに、適用データ１１Ａを適用すると、適切な出力結果を得ることができる。以下、データのタイプの範囲を単に、範囲と表記する。
【０００４】
一方、訓練データ１０Ｂの範囲が、適用データ１１Ｂの範囲の一部を包含していない場合、訓練データ１０Ｂで学習した深層学習モデルに、適用データ１１Ｂを適用すると、適切な出力結果を得ることができない。たとえば、適用データ１１ｂを、深層学習モデルに適用すると、失敗する可能性が高い。
【０００５】
ここで、上記の問題を解消する技術として、正規化およびデータ拡張がある。図２１は、正規化およびデータ拡張を説明するための図である。図２１に示す例では、訓練データ１０Ｃが不足しており、訓練データ１０Ｃの範囲に、適用データ１１Ｃの全範囲が含まれていない。
【０００６】
従来技術では、訓練データ１０Ｃおよび適用データ１１Ｃに対して、ノイズ除去、センタリング、補間等の共通の加工（正規化）を行うことで、適用データ１１Ｃの範囲を訓練データ１０Ｃの範囲内に収める。
【０００７】
また、従来技術では、訓練データ１０Ｃに対して、ノイズ付加、平行移動、欠損等の加工（データ拡張）を行うことで、訓練データ１０Ｃの範囲を適用データ１１Ｃの範囲に広げ、適用データ１１Ｃの範囲を、訓練データ１０Ｃの範囲に収める。
【０００８】
図２１で説明したように、正規化またはデータ拡張を行うことで、訓練データ１０Ｃの範囲が適用データ１１Ｃの全範囲に含まれる。このため、訓練データ１０Ｃで学習した深層学習モデルに、適用データ１１Ｃを適用することが可能となる。
【先行技術文献】
【非特許文献】
【０００９】
【非特許文献１】Utako  Yamamoto  et  al."Deformation  estimation  of  an  elastic  object  by  partial  observation  using  a  neural  network"
【発明の概要】
【発明が解決しようとする課題】
【００１０】
上述した正規化の利点としては、もともと特徴が異なる同一ラベルの入力の一部が、ユーザの知識が反映された正規化によって同一の特徴量として学習器に入力されるため、中間特徴量においてラベルが分離されやすく、精度の高い学習が可能とする。
【００１１】
図２２は、正規化した訓練データを学習器に入力した場合の中間特徴量を説明するための図である。正規化された訓練データとして、データ１２Ａ，１２Ｂ，１２Ｃ，１２Ｄを用いて説明する。データ１２Ａとデータ１２Ｃは、もともと特徴が異なる同一ラベルのデータである。正規化により、データ１２Ａとデータ１２Ｃとの特徴量が同一となる。データ１２Ａ，１２Ｃを学習器２０に入力すると、データ１２Ａ，１２Ｃの中間特徴量は、領域（分布）Ａに含まれる。
【００１２】
データ１２Ｂとデータ１２Ｄは、もともと特徴が異なる同一ラベルのデータである。正規化により、データ１２Ｂとデータ１２Ｄとの特徴量が同一となる。データ１２Ｂ，１２Ｄを学習器２０に入力すると、データ１２Ｂ，１２Ｄの中間特徴量は、領域（分布）Ｂに含まれる。
【００１３】
図２２に示すように、データ１２Ａ，１２Ｃの中間特徴量の分布Ａと、データ１２Ｂ，１２Ｄの中間特徴量の分布Ｂとが分離されているため、精度の高い学習を行うことができる。しかしながら、正規化は、データ加工の難易度が高いという問題があり、正規化によって、深層学習モデルを学習するに足りる訓練データを準備することが難しい。
【００１４】
ここで、データ拡張は、正規化に比べて、データ加工が比較的容易であるという利点がある。しかし、データ拡張を用いても全ての入力パターンを作り出すことは困難である。また、不完全なデータ拡張を行うと、正規化を行ったデータと比較して、中間特徴量においてラベルが分離されにくく、学習精度が劣化する。
【００１５】
図２３は、データ拡張した訓練データを学習器に入力した場合の中間特徴量を説明するための図である。データ拡張された訓練データとして、データ１３Ａ，１３Ｂ，１３Ｃ，１３Ｄを用いて説明する。データ１３Ａとデータ１３Ｃは、特徴が異なる同一ラベルのデータである。データ１３Ａ，１３Ｃを学習器２０に入力すると、データ１３Ａ，１３Ｃの中間特徴量は、領域（分布）Ａに含まれる。
【００１６】
データ１３Ｂとデータ１３Ｄは、特徴が異なる同一ラベルのデータである。データ１３Ｂ，１３Ｄを学習器２０に入力すると、データ１３Ｂ，１３Ｄの中間特徴量は、領域（分布）Ｂに含まれる。
【００１７】
図２３に示すように、データ１３Ａ，１３Ｃの中間特徴量の分布Ａと、データ１３Ｂ，１３Ｄの中間特徴量の分布Ｂとが一部重複する場合があるため、明確にラベルが分離されず、学習精度が劣化する。
【００１８】
１つの側面では、本発明は、データ拡張を用いた深層学習の精度を向上させることができる学習方法、学習プログラムおよび学習装置を提供することを目的とする。
【課題を解決するための手段】
【００１９】
第１の案では、コンピュータは、次の処理を実行する。コンピュータは、元教師データをデータ拡張することで生成される複数の拡張教師データを学習モデルに入力する。コンピュータは、学習モデルに複数の拡張教師データを学習モデルに入力することで算出される複数の中間特徴量に関して、同一の元教師データからデータ拡張された複数の拡張教師データから算出される各中間特徴量が類似するように、学習モデルのパラメータを学習する。
【発明の効果】
【００２０】
データ拡張を用いた深層学習の精度を向上させることができる。
【図面の簡単な説明】
【００２１】
【図１】図１は、本実施例１に係るデータ拡張に関する説明を行うための図である。
【図２】図２は、本実施例１に係る学習装置の処理を説明するための図である。
【図３】図３は、本実施例１に係る学習装置の構成を示す機能ブロック図である。
【図４】図４は、本実施例１に係る学習データテーブルのデータ構造の一例を示す図である。
【図５】図５は、本実施例１に係る拡張訓練データテーブルのデータ構造の一例を示す図である。
【図６】図６は、本実施例１に係るパラメータテーブルのデータ構造の一例を示す図である。
【図７】図７は、本実施例１に係る中間特徴量の類似度を評価する処理を説明するための図である。
【図８】図８は、本実施例１に係る学習部の処理を説明するための図である。
【図９】図９は、本実施例１に係る学習装置の処理手順を示すフローチャートである。
【図１０】図１０は、本実施例１に係る学習装置の効果を説明するための図である。
【図１１】図１１は、本実施例２に係る学習装置の処理を説明するための図である。
【図１２】図１２は、本実施例２に係る学習装置の構成を示す機能ブロック図である。
【図１３】図１３は、本実施例２に係る学習データテーブルのデータ構造の一例を示す図である。
【図１４】図１４は、本実施例２に係る拡張訓練データテーブルのデータ構造の一例を示す図である。
【図１５】図１５は、本実施例２に係る参照特徴量テーブルのデータ構造の一例を示す図である。
【図１６】図１６は、本実施例２に係る学習部の処理を説明するための図である。
【図１７】図１７は、本実施例２に係る学習装置の処理手順を示すフローチャートである。
【図１８】図１８は、学習装置のその他の処理の一例を説明するための図である。
【図１９】図１９は、本実施例に係る学習装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【図２０】図２０は、訓練データと適用データとの関係を説明するための図である。
【図２１】図２１は、正規化およびデータ拡張を説明するための図である。
【図２２】図２２は、正規化した訓練データを学習器に入力した場合の中間特徴量を説明するための図である。
【図２３】図２３は、データ拡張した訓練データを学習器に入力した場合の中間特徴量を説明するための図である。
【発明を実施するための形態】
【００２２】
以下に、本願の開示する学習方法、学習プログラムおよび学習装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例１】
【００２３】
図１は、本実施例１に係るデータ拡張に関する説明を行うための図である。図１に示す例では、訓練データ群２０Ａには、訓練データ２１Ａ−１〜２１Ａ−３、訓練データ２２Ａ−１〜２２Ａ−３、訓練データ２３Ａ−１〜２３Ａ−３が含まれる。たとえば、訓練データ群２０Ａには、正解ラベル「Ａ」が対応付けられる。
【００２４】
訓練データ２１Ａ−２、２１Ａ−３は、オリジナルの訓練データ２１Ａ−１に対してデータ拡張することで得られるデータである。訓練データ２２Ａ−２、２２Ａ−３は、オリジナルの訓練データ２２Ａ−１に対してデータ拡張することで得られるデータである。訓練データ２３Ａ−２、２３Ａ−３は、オリジナルの訓練データ２３Ａ−１に対してデータ拡張することで得られるデータである。
【００２５】
訓練データ群２０Ｂには、訓練データ２１Ｂ−１〜２１Ｂ−３，訓練データ２２Ｂ−１〜２２Ｂ−３，訓練データ２３Ｂ−１〜２３Ｂ−３が含まれる。たとえば、訓練データ群２０Ａには、正解ラベル「Ｂ」が対応付けられる。
【００２６】
訓練データ２１Ｂ−２、２１Ｂ−３は、オリジナルの訓練データ２１Ｂ−１に対してデータ拡張することで得られるデータである。訓練データ２２Ｂ−２、２２Ｂ−３は、オリジナルの訓練データ２２Ｂ−１に対してデータ拡張することで得られるデータである。訓練データ２３Ｂ−２、２３Ｂ−３は、オリジナルの訓練データ２３Ｂ−１に対してデータ拡張することで得られるデータである。
【００２７】
本実施例１に係る学習装置は、訓練データをＮＮ（neural  network）等に入力して学習を行う場合において、同一のオリジナルの訓練データから生成された各訓練データの中間特徴量が類似するような制約を設けてパラメータの学習を行う。なお、オリジナルの訓練データの中間特徴量と、このオリジナルの訓練データから生成された各訓練データの中間特徴量とが類似するようにパラメータの学習を行ってもよい。
【００２８】
たとえば、学習装置は、訓練データ２１Ａ−１〜２１Ａ−３を、学習器に入力して深層学習を行う場合において、訓練データ２１Ａ−１〜２１Ａ−３の中間特徴量が類似するような制約を設けてＮＮのパラメータの学習を行う。また、学習装置は、訓練データ２１Ａ−１〜２１Ａ−３を学習器に入力した場合の出力ラベルが、正解ラベル「Ａ」に近づくように、ＮＮのパラメータの学習を行う。訓練データ２２Ａ−１〜２２Ａ−３，２３Ａ−１〜２３Ａ−３についても同様である。
【００２９】
学習装置は、訓練データ２１Ｂ−１〜２１Ｂ−３を、学習器に入力して深層学習を行う場合において、訓練データ２１Ｂ−１〜２１Ｂ−３の中間特徴量が類似するような制約を設けてＮＮのパラメータの学習を行う。また、学習装置は、訓練データ２１Ｂ−１〜２１Ｂ−３を学習器に入力した場合の出力ラベルが、正解ラベル「Ｂ」に近づくように、ＮＮのパラメータの学習を行う。訓練データ２２Ｂ−１〜２２Ｂ−３，２３Ｂ−１〜２３Ｂ−３についても同様である。
【００３０】
図２は、本実施例１に係る学習装置の処理を説明するための図である。図２に示すように、学習装置は、オリジナルの訓練データｘ１に対して、データ拡張を実行することで、複数の訓練データｘ１．１、ｘ１．２、ｘ１．３を生成する。訓練データｘ１に対する正解ラベルをｙ１とする。
【００３１】
学習装置は、複数の訓練データｘ１．１、ｘ１．２、ｘ１．３を、第１ＮＮにそれぞれ入力することで、中間特徴量ｚ１．１、ｚ１．２、ｚ１．３を算出する。第１ＮＮは「下位層」の一例である。学習装置は、中間特徴量ｚ１．１、ｚ１．２、ｚ１．３を第２ＮＮにぞれぞれ入力することで、出力ラベルｙ１．１、ｙ１．２、ｙ１．３を算出する。
【００３２】
ここで、学習装置は、中間特徴量ｚ１．１、ｚ１．２、ｚ１．３の類似度が高くなるように、第１ＮＮのパラメータを、誤差逆伝播法を用いて学習する。また、学習装置は、出力ラベルｙ１．１、ｙ１．２、ｙ１．３と、正解ラベルｙ１との誤差計算をそれぞれ行い、誤差が小さくなるように、誤差逆伝播法を用いて、第１ＮＮおよび第２ＮＮのパラメータを学習する。
【００３３】
本実施例１に係る学習装置によれば、中間特徴量ｚ１．１、ｚ１．２、ｚ１．３の類似度が高くなるように、第１ＮＮのパラメータを、誤差逆伝播法を用いて学習する。これによって、同一の訓練データからデータ拡張した複数の訓練データの中間特徴量同士が近くなるため、ラベル毎に分離されやすくなり、データ拡張を用いた深層学習の精度を向上されることができる。
【００３４】
次に、本実施例１に係る学習装置の構成の一例について説明する。図３は、本実施例１に係る学習装置の構成を示す機能ブロック図である。図３に示すように、この学習装置１００は、通信部１１０と、入力部１２０と、表示部１３０と、記憶部１４０と、制御部１５０とを有する。
【００３５】
通信部１１０は、ネットワーク等を介して外部装置（図示略）とデータ通信を実行する処理部である。通信部１１０は、通信装置に対応する。たとえば、通信部１１０は、後述する学習データテーブル１４０ａの情報を、外部装置等から受信する。
【００３６】
入力部１２０は、各種の情報を学習装置１００に入力するための入力装置である。たとえば、入力部１２０は、キーボードやマウス、タッチパネル等に対応する。
【００３７】
表示部１３０は、制御部１５０から出力される各種の情報を表示する表示装置である。たとえば、表示部１３０は、液晶ディスプレイ、タッチパネル等に対応する。
【００３８】
記憶部１４０は、学習データテーブル１４０ａと、拡張訓練データテーブル１４０ｂと、パラメータテーブル１４０ｃとを有する。記憶部１４０は、ＲＡＭ（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）を行うことで、複数の訓練データを生成する処理部である。たとえば、拡張部１５０ｂが行うデータ拡張は、訓練データにノイズ付加、平行移動、欠損等の加工する処理に対応する。図１を用いて説明すると、拡張部１５０ｂは、訓練データ２１Ａ−１に対するデータ拡張を行うことで、訓練データ２１Ａ−２、２１Ａ−３を生成する。
【００４６】
拡張部１５０ｂは、データ拡張した訓練データと、オリジナルの訓練データに対する正解ラベルとを対応付けて、拡張訓練データテーブル１４０ｂに保存する。拡張部１５０ｂは、学習データテーブル１４０ａに格納された各訓練データに対して、上記処理を繰り返し実行する。
【００４７】
特徴量生成部１５０ｃは、同一の訓練データを元にデータ拡張された複数の訓練データに対応する中間特徴量を生成し、各中間特徴量を評価する処理部である。以下において、特徴量生成部１５０ｃの処理を説明する。
【００４８】
特徴量生成部１５０ｃは、第１ＮＮを実行し、パラメータテーブル１４０ｃに格納されパラメータθ１を第１ＮＮのパラメータとして設定する。特徴量生成部１５０ｃは、拡張訓練データテーブル１４０ｂから、同一の訓練データを元にデータ拡張された複数の訓練データを取得し、取得した複数の訓練データを、順に第１ＮＮに入力する。特徴量生成部１５０ｃは、第１ＮＮに設定されたパラメータθ１を用いて、複数の訓練データの中間特徴量をそれぞれ算出する。
【００４９】
特徴量生成部１５０ｃは、同一の訓練データを元にデータ拡張された複数の訓練データに対応する中間特徴量と、複数の訓練データに対応付けられた正解ラベルを、学習部１５０ｄに出力する。
【００５０】
特徴量生成部１５０ｃは、同一の訓練データを元にデータ拡張された複数の訓練データに対応する各中間特徴量の類似度を評価する。たとえば、特徴量生成部１５０ｃは、各中間特徴量の分散を算出する。
【００５１】
図７は、本実施例１に係る中間特徴量の類似度を評価する処理を説明するための図である。図７では一例として、中間特徴量の次元を３次元とする。訓練データｘ１．１、ｘ１．２、ｘ１．３は、オリジナルの訓練データｘ１をデータ拡張されたデータである。特徴量生成部１５０ｃは、訓練データｘ１．１を第１ＮＮに入力し、中間特徴量ｚ１．１を算出する。特徴量生成部１５０ｃは、訓練データｘ１．２を第１ＮＮに入力し、中間特徴量ｚ１．２を算出する。特徴量生成部１５０ｃは、訓練データｘ１．３を第１ＮＮに入力し、中間特徴量ｚ１．３を算出する。
【００５２】
中間特徴量ｚ１．１の値を「０．１０，０．２０，０．３０」、中間特徴量ｚ１．２の値を「０．８０，０．２０，０．１０」、中間特徴量ｚ１．３の値を「０．５０，０．２０，０．１６」とする。特徴量生成部１５０ｃは、次元毎の分散を算出すると、各次元の分散は「０．０８，０．００，０．１６」となる。特徴量生成部１５０ｃは、各次元の分散を合計した値「０．２４」を評価値として算出する。分散は、各中間特徴量の類似度が上がるほど、小さい値となる。特徴量生成部１５０ｃは、分散の情報を、学習部１５０ｄに出力する。
【００５３】
特徴量生成部１５０ｃは、同一の訓練データを元にデータ拡張された複数の訓練データ組毎に、上記処理を繰り返し実行する。
【００５４】
図３の説明に戻る。学習部１５０ｄは、第１ＮＮおよび第２ＮＮのパラメータを学習する処理部である。以下において、学習部１５０ｄの処理を説明する。学習部１５０ｄは、第１ＮＮを実行し、パラメータテーブル１４０ｃに格納されたパラメータθ１を第１ＮＮのパラメータとして設定する。学習部１５０ｄは、第２ＮＮを実行し、パラメータテーブル１４０ｃに格納されたパラメータθ２を第２ＮＮのパラメータとして設定する。
【００５５】
学習部１５０ｄは、特徴量生成部１５０ｃから取得する各中間特徴量を、順に第２ＮＮに入力する。学習部１５０ｄは、第２ＮＮに設定されたパラメータθ２を用いて、複数の出力ラベルを算出する。
【００５６】
図８は、本実施例１に係る学習部の処理を説明するための図である。たとえば、学習部１５０ｄは、中間特徴量ｚ１．１を第２ＮＮに入力し、出力ラベルｙ１．１を算出する。学習部１５０ｄは、誤差逆伝搬法に基づいて、出力ラベルｙ１．１と、正解ラベルｙ１とが近づくように、第１ＮＮのパラメータθ１および第２ＮＮのパラメータθ２を学習する。
【００５７】
学習部１５０ｄは、中間特徴量ｚ１．２を第２ＮＮに入力し、出力ラベルｙ１．２を算出する。学習部１５０ｄは、誤差逆伝搬法に基づいて、出力ラベルｙ１．２と、正解ラベルｙ１とが近づくように、第１ＮＮのパラメータθ１および第２ＮＮのパラメータθ２を学習する。学習部１５０ｄは、中間特徴量ｚ１．３を第２ＮＮに入力し、出力ラベルｙ１．３を算出する。学習部１５０ｄは、誤差逆伝搬法に基づいて、出力ラベルｙ１．３と、正解ラベルｙ１とが近づくように、第１ＮＮのパラメータθ１および第２ＮＮのパラメータθ２を学習する。学習部１５０ｄは、学習したパラメータθ１、θ２によって、パラメータテーブル１４０ｃのパラメータθ１、θ２を更新する。
【００５８】
学習部１５０ｄは、複数の中間特徴量と、正解ラベルとの組を取得する毎に、上記処理を繰り返し実行する。
【００５９】
また、学習部１５０ｄは、特徴量生成部１５０ｃから、分散の情報を取得すると、訓練データｘ１．１、ｘ１．２、ｘ１．３を第１ＮＮに入力した場合の分散の値が下がるように（類似度が上がるように）、誤差逆伝播法を用いて、第１ＮＮのパラメータθ１を学習する。特徴量生成部１５０ｃは、学習した第１ＮＮのパラメータθ１によって、パラメータテーブル１４０ｃのパラメータθ１を更新する。学習部１５０ｄは、分散の情報を取得する毎に、上記処理を繰り返し実行する。
【００６０】
すなわち、学習部１５０ｄは、出力ラベルと正解ラベルとの誤差を下げつつ、また、中間特徴量の類似度が上がるように、第１ＮＮおよび第２ＮＮのパラメータθ１、θ２を学習する。
【００６１】
次に、本実施例１に係る学習装置１００の処理手順の一例について説明する。図９は、本実施例１に係る学習装置の処理手順を示すフローチャートである。図９に示すように、学習装置１００の拡張部１５０ｂは、学習データテーブル１４０ａから、オリジナルの訓練データを取得する（ステップＳ１０１）。
【００６２】
拡張部１５０ｂは、オリジナルの訓練データに対してデータ拡張を実行し、複数の訓練データを生成する（ステップＳ１０２）。学習装置１００の特徴量生成部１５０ｃは、第１ＮＮに訓練データを入力して、中間特徴量を生成する（ステップＳ１０３）。
【００６３】
学習装置１００の学習部１５０ｄは、第２ＮＮに中間特徴量を入力して、出力ラベルを算出し、出力ラベルと正解ラベルとの誤差が小さくなるように、パラメータθ１、θ２を学習する（ステップＳ１０４）。
【００６４】
特徴量生成部１５０ｃは、一つのオリジナルの訓練データに対応する複数の中間特徴量の類似度を評価する（ステップＳ１０５）。学習部１５０ｄは、同一の訓練データから生成された複数の訓練データに対応する各中間特徴量の類似度が上がるように、第１ＮＮのパラメータθ１を学習する（ステップＳ１０６）。
【００６５】
学習装置１００は、学習を終了しない場合には（ステップＳ１０７，Ｎｏ）、ステップＳ１０１に移行する。一方、学習装置１００は、学習を終了する場合には（ステップＳ１０７，Ｙｅｓ）、学習したパラメータθ１、θ２を、パラメータテーブル１４０ｃに格納する（ステップＳ１０８）。
【００６６】
なお、学習装置１００は、パラメータテーブル１４０ｃに格納された学習済みのパラメータθ１、θ２を、表示部１３０に表示してもよいし、パラメータθ１、θ２を用いて、各種の判定を行う判定装置に、パラメータθ１、θ２の情報を通知してもよい。
【００６７】
次に、本実施例１に係る学習装置１００の効果について説明する。学習装置１００は、同一の訓練データからデータ拡張された各訓練データの各中間特徴量の類似度が上がるように、誤差逆伝播法を用いて第１ＮＮのパラメータを学習する。これによって、同一の訓練データからデータ拡張した複数の訓練データの中間特徴量同士が近くなるため、ラベル毎に分離されやすくなり、データ拡張を用いた深層学習の精度を向上されることができる。
【００６８】
図１０は、本実施例１に係る学習装置の効果を説明するための図である。データ拡張された訓練データとして、データ１３Ａ，１３Ｂ，１３Ｃ，１３Ｄを用いて説明する。データ１３Ａとデータ１３Ｃは、特徴が異なる同一ラベルのデータ（同一のオリジナルの訓練データをデータ拡張したデータ）である。データ１３Ａ，１３Ｃを第１ＮＮに入力すると、データ１３Ａ，１３Ｃの中間特徴量は、領域Ａに含まれる。データ１３Ｂとデータ１３Ｄは、特徴が異なる同一ラベルのデータである。データ１３Ｂ，１３Ｄを学習器２０に入力すると、データ１３Ｂ，１３Ｄの中間特徴量は、領域Ｂに含まれる。
【００６９】
学習装置１００では、同一の訓練データからデータ拡張された複数の訓練データの中間特徴量が、類似するように、第１ＮＮのパラメータが学習されている。これにより、ラベル毎に分離されやすくなり、データ拡張を用いた深層学習の精度を向上されることができる。図２３で説明した例では、領域Ａと領域Ｂとが一部重複していたが、図１０に示す例では、領域Ａと領域Ｂとがほとんど重複しておらず、分離されている。
【００７０】
学習装置１００は、同一の訓練データからデータ拡張された複数の訓練データの各中間特徴量の分散を求め、この分散が小さくなるように、第１ＮＮのパラメータを学習する。このため、同一の訓練データからデータ拡張した複数の訓練データの中間特徴量同士を類似させることができる。
【００７１】
なお、本実施例１では、分散を用いて、第１ＮＮのパラメータを学習していたが、これに限定されるものではない。たとえば、学習装置１００の特徴量生成部１５０ｃは、同一の訓練データからデータ拡張された複数の訓練データの各中間特徴量の差分値が小さくなるように、第１ＮＮのパラメータを学習してもよい。
【実施例２】
【００７２】
図１１は、本実施例２に係る学習装置の処理を説明するための図である。図１１に示すように、学習装置は、オリジナルの訓練データｘ１に対して、データ拡張を実行することで、訓練データｘ１．１を生成する。訓練データｘ１に対する正解ラベルをｙ１とする。また、学習装置は、訓練データｘ１に対応する参照特徴量ｚ１を設定しておく。参照特徴量は、オリジナルの訓練データ毎に異なる値が設定される。
【００７３】
学習装置は、訓練データｘ１．１を第１ＮＮに入力することで、中間特徴量ｚ１．１を算出する。学習装置は、中間特徴量ｚ１．１を第２ＮＮに入力することで、出力ラベルｙ１．１を算出する。
【００７４】
ここで、学習装置は、中間特徴量ｚ１．１と、参照特徴量ｚ１とが類似するように、誤差逆伝播法を用いて、第１ＮＮのパラメータと、参照特徴量ｚ１とを学習する。また、学習装置は、出力ラベルｙ１．１と、正解ラベルｙ１との誤差計算を行い、誤差が小さくなるように、誤差逆伝播法を用いて、第１ＮＮおよび第２ＮＮのパラメータを学習する。
【００７５】
図示を省略するが、学習装置は、オリジナルの訓練データｘ１に対して、データ拡張を実行することで、訓練データｘ１．２を生成する。学習装置は、訓練データｘ１．２を第１ＮＮに入力することで、中間特徴量ｚ１．２を算出し、中間特徴量ｚ１．２を第２ＮＮに入力することで、出力ラベルｙ１．２を算出する。
【００７６】
学習装置は、中間特徴量ｚ１．２と、参照特徴量ｚ１とが類似するように、誤差逆伝播法を用いて、第１ＮＮのパラメータと、参照特徴量ｚ１とを学習する。また、学習装置は、出力ラベルｙ１．２と、正解ラベルｙ１との誤差計算を行い、誤差が小さくなるように、誤差逆伝播法を用いて、第１ＮＮおよび第２ＮＮのパラメータを学習する。
【００７７】
同様にして、学習装置は、オリジナルの訓練データｘ１に対して、データ拡張を実行することで、訓練データｘ１．３を生成する。学習装置は、訓練データｘ１．３を第１ＮＮに入力することで、中間特徴量ｚ１．３を算出し、中間特徴量ｚ１．３を第２ＮＮに入力することで、出力ラベルｙ１．３を算出する。
【００７８】
学習装置は、中間特徴量ｚ１．３と、参照特徴量ｚ１とが類似するように、誤差逆伝播法を用いて、第１ＮＮのパラメータと、参照特徴量ｚ１とを学習する。また、学習装置は、出力ラベルｙ１．３と、正解ラベルｙ１との誤差計算を行い、誤差が小さくなるように、誤差逆伝播法を用いて、第１ＮＮおよび第２ＮＮのパラメータを学習する。
【００７９】
学習装置は、上記の学習を繰り返し実行することで、同一の訓練データｘ１からデータ拡張された訓練データｘ１．１、ｘ１．２、ｘ１．３の中間特徴量ｚ１．１、ｚ１．２、ｚ１．３が、参照特徴量ｚ１に類似するように、第１ＮＮのパラメータが学習する。これによって、同一の訓練データからデータ拡張した複数の訓練データの中間特徴量同士が近くなるため、ラベル毎に分離されやすくなり、データ拡張を用いた深層学習の精度を向上されることができる。
【００８０】
次に、本実施例２に係る学習装置の構成の一例について説明する。図１２は、本実施例２に係る学習装置の構成を示す機能ブロック図である。図１２に示すように、この学習装置２００は、通信部２１０と、入力部２２０と、表示部２３０と、記憶部２４０と、制御部２５０とを有する。
【００８１】
通信部２１０は、ネットワーク等を介して外部装置（図示略）とデータ通信を実行する処理部である。通信部２１０は、通信装置に対応する。たとえば、通信部２１０は、後述する学習データテーブル２４０ａの情報を、外部装置等から受信する。
【００８２】
入力部２２０は、各種の情報を学習装置２００に入力するための入力装置である。たとえば、入力部２２０は、キーボードやマウス、タッチパネル等に対応する。
【００８３】
表示部２３０は、制御部２５０から出力される各種の情報を表示する表示装置である。たとえば、表示部２３０は、液晶ディスプレイ、タッチパネル等に対応する。
【００８４】
記憶部２４０は、学習データテーブル２４０ａと、拡張訓練データテーブル２４０ｂと、パラメータテーブル２４０ｃと、参照特徴量テーブル２４０ｄとを有する。記憶部２４０は、ＲＡＭ、ＲＯＭ、フラッシュメモリなどの半導体メモリ素子や、ＨＤＤなどの記憶装置に対応する。
【００８５】
学習データテーブル２４０ａは、オリジナルの訓練データを保持するテーブルである。図１３は、本実施例２に係る学習データテーブルのデータ構造の一例を示す図である。図４に示すように、この学習データテーブル２４０ａは、データ番号と、訓練データと、正解ラベルとを対応付ける。データ番号は、オリジナルの訓練データを一意に識別する番号である。たとえば、訓練データ「ｘ１」に対応する正解ラベルは「ｙ１」であり、訓練データ「ｘ１」のデータ番号は「００１」である。
【００８６】
拡張訓練データテーブル２４０ｂは、オリジナルの訓練データを元にデータ拡張された訓練データを保持するテーブルである。図１４は、本実施例２に係る拡張訓練データテーブルのデータ構造の一例を示す図である。図１４に示すように、この拡張訓練データテーブルは、データ番号と、データ拡張された訓練データと、正解ラベルとを対応付ける。データ番号は、データ拡張の元となるオリジナルの訓練データを一意に識別する番号である。データ拡張された訓練データに対応する正解ラベルは、データ番号に対応するオリジナルの訓練データに対応付けられた正解ラベルとなる。
【００８７】
パラメータテーブル２４０ｃは、第１ＮＮのパラメータおよび第２ＮＮのパラメータを保持するテーブルである。パラメータテーブル２４０ｃのデータ構造は、図３で説明した、パラメータテーブル１４０ｃのデータ構造と同様である。
【００８８】
参照特徴量テーブル２４０ｄは、オリジナルの各訓練データに対してそれぞれ設定される参照特徴量を保持するテーブルである。図１５は、本実施例２に係る参照特徴量テーブルのデータ構造の一例を示す図である。図１５に示すように、参照特徴量テーブル２４０ｄは、データ番号と、参照特徴量とを対応付ける。データ番号は、オリジナルの訓練データを一意に識別する番号である。参照特徴量の初期値は予め設定されているものとする。
【００８９】
図１２の説明に戻る。制御部２５０は、取得部２５０ａ、拡張部２５０ｂ、特徴量生成部２５０ｃ、学習部２５０ｄを有する。制御部２５０は、ＣＰＵやＭＰＵなどによって実現できる。また、制御部２５０は、ＡＳＩＣやＦＰＧＡなどのハードワイヤードロジックによっても実現できる。
【００９０】
取得部２５０ａは、外部装置等から、学習データテーブル２４０ａの情報を取得する処理部である。取得部２５０ａは、取得した学習データテーブル２４０ａの情報を、学習データテーブル２４０ａに格納する。
【００９１】
拡張部２５０ｂは、学習データテーブル２４０ａに格納されたオリジナルの訓練データに対してデータ拡張（data  augmentation）を行うことで、複数の訓練データを生成する処理部である。拡張部２５０ｂが行うデータ拡張の説明は、拡張部１５０ｂが行うデータ拡張の説明と同様である。
【００９２】
拡張部２５０ｂは、データ拡張した訓練データと、オリジナルの訓練データに対する正解ラベル、データ番号とを対応付けて、拡張訓練データテーブル２４０ｂに格納する。拡張部２５０ｂは、学習データテーブル２４０ａに格納された各訓練データに対して、上記処理を繰り返し実行する。
【００９３】
特徴量生成部２５０ｃは、データ拡張された複数の訓練データに対応する中間特徴量を生成する処理部である。以下において、特徴量生成部１５０ｃの処理を説明する。
【００９４】
特徴量生成部２５０ｃは、第１ＮＮを実行し、パラメータテーブル２４０ｃに格納されパラメータθ１を第１ＮＮのパラメータとして設定する。特徴量生成部２５０ｃは、拡張訓練データテーブル２４０ｂから、データ拡張された訓練データと、訓練データに対応するデータ番号を取得する。特徴量生成部１５０ｃは、データ拡張された訓練データを、第１ＮＮに入力する。特徴量生成部１５０ｃは、第１ＮＮに設定されたパラメータθ１を用いて、訓練データの中間特徴量をそれぞれ算出する。
【００９５】
特徴量生成部２５０ｃは、データ番号に対応する参照特徴量と、中間特徴量との類似度を評価する。たとえば、特徴量生成部２５０ｃは、参照特徴量と、中間特徴量との２乗誤差を算出する。特徴量生成部２５０ｃは、中間特徴量と、データ番号と、２乗誤差の情報とを、学習部２５０ｄに出力する。
【００９６】
特徴量生成部２５０ｃは、拡張訓練データテーブル２４０ｂから、データ拡張された訓練データを取得して、中間特徴量を算出する処理、２乗誤差の情報を算出する処理、中間特徴量と、データ番号と、２乗誤差の情報とを、学習部２５０ｄに出力する処理を繰り返し実行する。
【００９７】
学習部２５０ｄは、第１ＮＮおよび第２ＮＮのパラメータを学習する処理部である。以下において、学習部２５０ｄの処理を説明する。学習部２５０ｄは、第１ＮＮを実行し、パラメータテーブル２４０ｃに格納されたパラメータθ１を第１ＮＮのパラメータとして設定する。また、学習部２５０ｄは、第２ＮＮを実行し、パラメータテーブル２４０ｃに格納されたパラメータθ２を第２ＮＮのパラメータとして設定する。
【００９８】
学習部２５０ｄは、特徴量生成部２５０ｃから取得する中間特徴量を、第２ＮＮに入力する。学習部２５０ｄは、第２ＮＮに設定されたパラメータθ２を用いて、出力ラベルを算出する。
【００９９】
図１６は、本実施例２に係る学習部の処理を説明するための図である。たとえば、学習部２５０ｄは、中間特徴量ｚ１．１を第２ＮＮに入力し、出力ラベルｙ１．１を算出する。学習部２５０ｄは、誤差逆伝搬法に基づいて、出力ラベルｙ１．１と、正解ラベルｙ１とが近づくように、第１ＮＮのパラメータθ１および第２ＮＮのパラメータθ２を学習する。また、学習部２５０ｄは、中間特徴量ｚ１．１と、参照特徴量ｚ１との２乗誤差が小さくなるように、第１ＮＮのパラメータθ１および参照特徴量ｚ１を学習する。学習部２５０ｄは、特徴量生成部２５０ｃから、中間特徴量と、データ番号と、２乗誤差の情報とを取得する度に、上記処理を繰り返し実行する。
【０１００】
学習部２５０ｄは、学習したパラメータθ１、θ２によって、パラメータテーブル２４０ｃのパラメータθ１、θ２を更新する。また、学習部２５０ｄは、学習した参照特徴量によって、参照特徴量テーブル２４０ｄの参照特徴量を更新する。更新対象の参照特徴量は、特徴量生成部２５０ｃから取得するデータ番号に対応付けられた参照特徴量となる。
【０１０１】
すなわち、学習部２５０ｄは、出力ラベルと正解ラベルとの誤差を下げつつ、また、中間特徴量と参照特徴量との類似度が上がるように、第１ＮＮおよび第２ＮＮのパラメータθ１、θ２、参照特徴量を学習する。
【０１０２】
次に、本実施例１に係る学習装置２００の処理手順の一例について説明する。図１７は、本実施例２に係る学習装置の処理手順を示すフローチャートである。図１７に示すように、学習装置２００の拡張部２５０ｂは、学習データテーブル２４０ａから、オリジナルの訓練データを取得する（ステップＳ２０１）。
【０１０３】
拡張部２５０ｂは、オリジナルの訓練データに対してデータ拡張を実行し、複数の訓練データを生成する（ステップＳ２０２）。学習装置２００の特徴量生成部２５０ｃは、第１ＮＮに訓練データを入力して、中間特徴量を生成する（ステップＳ２０３）。
【０１０４】
学習部２５０ｄは、第２ＮＮに中間特徴量を入力して、出力ラベルを算出し、出力ラベルと正解ラベルとの誤差が小さくなるようにパラメータθ１、θ２を学習する（ステップＳ２０４）。特徴量生成部２５０ｃは、１つのオリジナルの訓練データに対応する参照特徴量と、中間特徴量との類似度を評価する（ステップＳ２０５）。
【０１０５】
学習部２５０ｄは、参照特徴量と、中間特徴量との類似度が上がるように、第１ＮＮのパラメータθ１を学習する（ステップＳ２０６）。
【０１０６】
学習装置２００は、学習を終了しない場合には（ステップＳ２０７，Ｎｏ）、ステップＳ２０１に移行する。一方、学習装置２００は、学習を終了する場合には（ステップＳ２０７，Ｙｅｓ）、学習したパラメータθ１、θ２を、パラメータテーブル２４０ｃに格納する（ステップＳ２０８）。学習装置２００は、学習した参照特徴量を、参照特徴量テーブル２４０ｄに格納する（ステップＳ２０９）。
【０１０７】
なお、学習装置２００は、パラメータテーブル２４０ｃに格納された学習済みのパラメータθ１、θ２を、表示部２３０に表示してもよいし、パラメータθ１、θ２を用いて、各種の判定を行う判定装置に、パラメータθ１、θ２の情報を通知してもよい。
【０１０８】
次に、本実施例２に係る学習装置２００の効果について説明する。学習装置２００は、同一の訓練データからデータ拡張された訓練データの中間特徴量が、参照特徴量に類似するように、第１ＮＮのパラメータ、第２ＮＮのパラメータ、参照特徴量を学習する。これによって、同一の訓練データからデータ拡張した複数の訓練データの中間特徴量同士が近くなるため、ラベル毎に分離されやすくなり、データ拡張を用いた深層学習の精度を向上されることができる。
【０１０９】
ところで、本実施例２に係る学習装置２００は、２乗誤差を評価の指標として、パラメータおよび参照特徴量を学習していたが、これに限定されるものでは無い。たとえば、学習装置２００は、中間特徴量の平均μと、分散σとを参照特徴量とし、同一の訓練データからデータ拡張された複数の訓練データの中間特徴量の平均および分散が、参照特徴量に近づくように、パラメータおよび参照特徴量を学習してもよい。
【０１１０】
図１８は、学習装置のその他の処理の一例を説明するための図である。たとえば、学習装置１００は、オリジナルの訓練データｘ１に対応する参照特徴量（平均μ１、分散σ１）を設定する。特徴量生成部２５０ｃは、同一の訓練データｘ１からデータ拡張した複数の訓練データｘ１．１〜ｘ１．３を順に第１ＮＮに入力して、それぞれの中間特徴量ｚ１．１〜ｚ１．３（図示略）を算出する。特徴量生成部２５０ｃは、それぞれの中間特徴量ｚ１．１〜ｚ１．３の平均μ１．１、分散σ１．１を算出する。特徴量生成部２５０ｃは、KL（Kullback-Leibler）diviergenceを基にして、参照特徴量（平均μ１、分散σ１）の確率分布と、（平均μ１．１、分散σ１．１）の確率分布との距離を評価する。
【０１１１】
学習装置１００の学習部２５０ｄは、確率分布の距離が近くなるように、第１ＮＮのパラメータおよび参照特徴量（平均μ１、分散σ１）を誤差逆伝播法によって学習する。また、学習部２５０ｄは、それぞれの中間特徴量ｚ１．１〜ｚ１．３を、第２ＮＮに入力した場合の出力ラベルｙ１．１〜ｙ１．３が、正解ラベルｙ１に近づくように、第１ＮＮのパラメータおよび第２ＮＮのパラメータを誤差逆伝播法によって学習する。
【０１１２】
すなわち、学習部２５０ｄは、出力ラベルと正解ラベルとの誤差を下げつつ、また、中間特徴量と参照特徴量との類似度が上がるように、第１ＮＮおよび第２ＮＮのパラメータθ１、θ２、参照特徴量を学習する。これによって、同一の訓練データからデータ拡張した複数の訓練データの中間特徴量同士が近くなるため、ラベル毎に分離されやすくなり、データ拡張を用いた深層学習の精度を向上されることができる。
【０１１３】
次に、本実施例に示した学習装置１００（２００）と同様の機能を実現するコンピュータのハードウェア構成の一例について説明する。図１９は、本実施例に係る学習装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【０１１４】
図１９に示すように、コンピュータ３００は、各種演算処理を実行するＣＰＵ３０１と、ユーザからのデータの入力を受け付ける入力装置３０２と、ディスプレイ３０３とを有する。また、コンピュータ３００は、記憶媒体からプログラム等を読み取る読み取り装置３０４と、有線または無線ネットワークを介して、外部装置等との間でデータの授受を行うインタフェース装置３０５とを有する。コンピュータ３００は、各種情報を一時記憶するＲＡＭ３０６と、ハードディスク装置３０７とを有する。そして、各装置３０１〜３０７は、バス３０８に接続される。
【０１１５】
ハードディスク装置３０７は、取得プログラム３０７ａ、拡張プログラム３０７ｂ、特徴量生成プログラム３０７ｃ、学習プログラム３０７ｄを有する。ＣＰＵ３０１は、取得プログラム３０７ａ、拡張プログラム３０７ｂ、特徴量生成プログラム３０７ｃ、学習プログラム３０７ｄを読み出してＲＡＭ３０６に展開する。
【０１１６】
取得プログラム３０７ａは、取得プロセス３０６ａとして機能する。拡張プログラム３０７ｂは、拡張プロセス３０６ｂとして機能する。特徴量生成プログラム３０７ｃは、特徴量生成プロセス３０６ｃとして機能する。学習プログラム３０７ｄは、学習プロセス３０６ｄとして機能する。
【０１１７】
取得プロセス３０６ａの処理は、取得部１５０ａ，２５０ａの処理に対応する。拡張プロセス３０６ｂの処理は、拡張部１５０ｂ，２５０ｂの処理に対応する。特徴量生成プロセス３０６ｃの処理は、特徴量生成部１５０ｃ，２５０ｃの処理に対応する。学習プロセス３０６ｄの処理は、学習部１５０ｄ，２５０ｄの処理に対応する。
【０１１８】
なお、各プログラム３０７ａ〜３０７ｄについては、必ずしも最初からハードディスク装置３０７に記憶させておかなくてもよい。例えば、コンピュータ３００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ３００が各プログラム３０７ａ〜３０７ｄを読み出して実行するようにしてもよい。
【０１１９】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１２０】
（付記１）コンピュータが実行する学習方法であって、
元教師データをデータ拡張することで生成される複数の拡張教師データを学習モデルに入力し、
前記学習モデルに前記複数の拡張教師データを前記学習モデルに入力することで算出される複数の中間特徴量に関して、同一の元教師データからデータ拡張された複数の拡張教師データから算出される各中間特徴量が類似するように、前記学習モデルのパラメータを学習する
処理を実行することを特徴とする学習方法。
【０１２１】
（付記２）前記学習する処理は、前記同一の元教師データからデータを拡張された複数の拡張教師データを前記学習モデルに入力して、前記学習モデルの下位層から出力されるそれぞれの中間特徴量の分散を算出し、前記分散が小さくなるように、前記学習モデルのパラメータを学習することを特徴とする付記１に記載の学習方法。
【０１２２】
（付記３）前記学習する処理は、前記同一の元教師データからデータを拡張された複数の拡張教師データを前記学習モデルに入力して、前記学習モデルの下位層から出力されるそれぞれの中間特徴量と、前記複数の拡張教師データを生成する際に用いた元教師データに対応する参照特徴量とが類似するように、前記学習モデルのパラメータおよび前記参照特徴量を学習することを特徴とする付記１に記載の学習方法。
【０１２３】
（付記４）前記学習する処理は、前記同一の元教師データからデータを拡張された複数の拡張教師データを前記学習モデルに入力して、前記学習モデルの下位層から出力されるそれぞれの中間特徴量の分布と、前記複数の拡張教師データを生成する際に用いた元教師データに対応する参照特徴量とが類似するように、前記学習モデルのパラメータおよび前記参照特徴量を学習することを特徴とする付記１に記載の学習方法。
【０１２４】
（付記５）コンピュータに、
元教師データをデータ拡張することで生成される複数の拡張教師データを学習モデルに入力し、
前記学習モデルに前記複数の拡張教師データを前記学習モデルに入力することで算出される複数の中間特徴量に関して、同一の元教師データからデータ拡張された複数の拡張教師データから算出される各中間特徴量が類似するように、前記学習モデルのパラメータを学習する
処理を実行させることを特徴とする学習プログラム。
【０１２５】
（付記６）前記学習する処理は、前記同一の元教師データからデータを拡張された複数の拡張教師データを前記学習モデルに入力して、前記学習モデルの下位層から出力されるそれぞれの中間特徴量の分散を算出し、前記分散が小さくなるように、前記学習モデルのパラメータを学習することを特徴とする付記５に記載の学習プログラム。
【０１２６】
（付記７）前記学習する処理は、前記同一の元教師データからデータを拡張された複数の拡張教師データを前記学習モデルに入力して、前記学習モデルの下位層から出力されるそれぞれの中間特徴量と、前記複数の拡張教師データを生成する際に用いた元教師データに対応する参照特徴量とが類似するように、前記学習モデルのパラメータおよび前記参照特徴量を学習することを特徴とする付記５に記載の学習プログラム。
【０１２７】
（付記８）前記学習する処理は、前記同一の元教師データからデータを拡張された複数の拡張教師データを前記学習モデルに入力して、前記学習モデルの下位層から出力されるそれぞれの中間特徴量の分布と、前記複数の拡張教師データを生成する際に用いた元教師データに対応する参照特徴量とが類似するように、前記学習モデルのパラメータおよび前記参照特徴量を学習することを特徴とする付記５に記載の学習プログラム。
【０１２８】
（付記９）元教師データをデータ拡張することで生成される複数の拡張教師データを学習モデルに入力して、複数の中間特徴量を算出する特徴量算出部と、
前記複数の中間特徴量に関して、同一の元教師データからデータ拡張された複数の拡張教師データから算出される各中間特徴量が類似するように、前記学習モデルのパラメータを学習する学習部と
を有することを特徴とする学習装置。
【０１２９】
（付記１０）前記学習部は、前記同一の元教師データからデータを拡張された複数の拡張教師データを前記学習モデルに入力して、前記学習モデルの下位層から出力されるそれぞれの中間特徴量の分散を算出し、前記分散が小さくなるように、前記学習モデルのパラメータを学習することを特徴とする付記９に記載の学習装置。
【０１３０】
（付記１１）前記学習部は、前記同一の元教師データからデータを拡張された複数の拡張教師データを前記学習モデルに入力して、前記学習モデルの下位層から出力されるそれぞれの中間特徴量と、前記複数の拡張教師データを生成する際に用いた元教師データに対応する参照特徴量とが類似するように、前記学習モデルのパラメータおよび前記参照特徴量を学習することを特徴とする付記９に記載の学習装置。
【０１３１】
（付記１２）前記学習部は、前記同一の元教師データからデータを拡張された複数の拡張教師データを前記学習モデルに入力して、前記学習モデルの下位層から出力されるそれぞれの中間特徴量の分布と、前記複数の拡張教師データを生成する際に用いた元教師データに対応する参照特徴量とが類似するように、前記学習モデルのパラメータおよび前記参照特徴量を学習することを特徴とする付記９に記載の学習装置。
【符号の説明】
【０１３２】
１００，２００  学習装置
１１０，２１０    通信部
１２０，２２０    入力部
１３０，２３０    表示部
１４０，２４０    記憶部
１４０ａ，２４０ａ  学習データテーブル
１４０ｂ，２４０ｂ  拡張訓練データテーブル
１４０ｃ，２４０ｃ  パラメータテーブル
１５０    制御部
１５０ａ，２５０ａ  取得部
１５０ｂ，２５０ｂ  拡張部
１５０ｃ，２５０ｃ  特徴量生成部
１５０ｄ，２５０ｄ  学習部
２４０ｄ  参照特徴量テーブル
【図１】
2020115289.tif 000003
【図２】
2020115289.tif 000004
【図３】
2020115289.tif 000005
【図４】
2020115289.tif 000006
【図５】
2020115289.tif 000007
【図６】
2020115289.tif 000008
【図７】
2020115289.tif 000009
【図８】
2020115289.tif 000010
【図９】
2020115289.tif 000011
【図１０】
2020115289.tif 000012
【図１１】
2020115289.tif 000013
【図１２】
2020115289.tif 000014
【図１３】
2020115289.tif 000015
【図１４】
2020115289.tif 000016
【図１５】
2020115289.tif 000017
【図１６】
2020115289.tif 000018
【図１７】
2020115289.tif 000019
【図１８】
2020115289.tif 000020
【図１９】
2020115289.tif 000021
【図２０】
2020115289.tif 000022
【図２１】
2020115289.tif 000023
【図２２】
2020115289.tif 000024
【図２３】
2020115289.tif 000025