(57)【要約】【課題】データ拡張した訓練データの特徴量を引き継いで利用し、深層学習モデルの学習精度を向上させること。【解決手段】学習装置は、学習モデルに含まれる第１ネットワークおよび第２ネットワークを実行する。学習装置は、第１元教師データをデータ拡張することで生成される複数の拡張教師データを第１ネットワークに入力することで算出される複数の中間特徴量に関して、同一の第１元教師データからデータ拡張された、複数の拡張教師データから算出される各中間特徴量が参照特徴量に類似するように、学習モデルのパラメータを学習する。学習装置は、第１元教師データとは異なる第２元教師データと、参照特徴量とを用いて、第２ネットワークのパラメータを学習する。【選択図】図１
2020115273.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータが実行する学習方法であって、
学習モデルに含まれる第１ネットワークおよび第２ネットワークを実行し、
第１元教師データをデータ拡張することで生成される複数の拡張教師データを前記第１ネットワークに入力することで算出される複数の中間特徴量に関して、同一の第１元教師データからデータ拡張された、複数の拡張教師データから算出される各中間特徴量が参照特徴量に類似するように、前記学習モデルのパラメータを学習し、
前記第１元教師データとは異なる第２元教師データと、前記参照特徴量とを用いて、前記第２ネットワークのパラメータを学習する
処理を実行することを特徴とする学習方法。
【請求項２】
前記第２ネットワークのパラメータを学習する処理は、前記第２元教師データを拡張することで生成される複数の拡張教師データを前記第１ネットワークに入力して算出される複数の中間特徴量と、前記参照特徴量とを用いて、前記第２ネットワークのパラメータを更新する学習を行うことを特徴とする請求項１に記載の学習方法。
【請求項３】
前記学習モデルのパラメータを学習する処理は、同一の第１元教師データからデータ拡張された、複数の拡張教師データから算出される各中間特徴量の平均および分散が、参照特徴量に類似するように、前記学習モデルのパラメータおよび前記参照特徴量を学習することを特徴とする請求項１または２に記載の学習方法。
【請求項４】
前記第１元教師データに対応する正解ラベルと、前記参照特徴量とを対応付けて記憶装置に記憶する処理を更に実行し、前記第２ネットワークのパラメータを学習する処理は、前記参照特徴量を前記第２ネットワークに入力することで算出される出力ラベルが、前記正解ラベルに近づくように、前記第２ネットワークのパラメータを学習することを特徴とする請求項１、２または３に記載の学習方法。
【請求項５】
コンピュータに、
学習モデルに含まれる第１ネットワークおよび第２ネットワークを実行し、
第１元教師データをデータ拡張することで生成される複数の拡張教師データを前記第１ネットワークに入力することで算出される複数の中間特徴量に関して、同一の第１元教師データからデータ拡張された、複数の拡張教師データから算出される各中間特徴量が参照特徴量に類似するように、前記学習モデルのパラメータを学習し、
前記第１元教師データとは異なる第２元教師データと、前記参照特徴量とを用いて、前記第２ネットワークのパラメータを学習する
処理を実行させることを特徴とする学習プログラム。
【請求項６】
学習モデルに含まれる第１ネットワークおよび第２ネットワークを実行し、
第１元教師データをデータ拡張することで生成される複数の拡張教師データを前記第１ネットワークに入力することで算出される複数の中間特徴量に関して、同一の第１元教師データからデータ拡張された、複数の拡張教師データから算出される各中間特徴量が参照特徴量に類似するように、前記学習モデルのパラメータを学習する第１学習部と、
前記第１元教師データとは異なる第２元教師データと、前記参照特徴量とを用いて、前記第２ネットワークのパラメータを学習する第２学習部と
を有することを特徴とする学習装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、学習方法等に関する。
【背景技術】
【０００２】
深層学習モデルを学習する場合、訓練データ（学習データ）の量は性能に大きく寄与する要因であり、訓練データの量は多いほど好ましい。訓練データが不足し、訓練データにないタイプの適用データを、訓練データで学習した深層学習モデルに適用すると、適切な出力結果を得られず、失敗する可能性が高くなる。
【０００３】
また、顧客データを用いるビジネスの場では、契約や情報漏洩のリスクに鑑みると、ある顧客データをいつまでも保持したり、別の顧客タスクなどに使いまわしたりすることが難しいため、訓練データが不足する場合がある。
【０００４】
訓練データが不足する場合、データ拡張（data  augmentation）を行うことが一般的である。データ拡張は、オリジナルの訓練データに対して、ノイズを付加、平行移動、欠損等の加工を行うものであり、訓練データの範囲を適用データの範囲に広げることができる。
【０００５】
ここで、オリジナルの訓練データを、深層学習モデルに入力することで得られる中間特徴量を保持することで、オリジナルの訓練データを保持することなく、新規に深層学習モデルを学習する際に使用可能なデータ量を増加させる従来技術がある。
【０００６】
図１８は、従来技術を説明するための図である。図１８において、深層学習モデル１０は、第１ＮＮ（Neural  Network）１０ａと、第２ＮＮ１０ｂとを有する。第１ＮＮ１０ａは、訓練データが入力された場合、中間特徴量を算出するＮＮである。第２ＮＮ１０ｂは、中間特徴量が入力された場合、出力ラベルを算出するＮＮである。第１ＮＮ１０ａおよび第２ＮＮ１０ｂのパラメータは、データベース１０Ｐに格納された顧客Ｐの複数の訓練データを用いて学習済みとする。学習が終了すると、データベース１０Ｐの情報は、顧客Ｐに返却される（または、破棄される）。
【０００７】
たとえば、訓練データｘＰ１を、第１ＮＮ１０ａに入力すると、中間特徴量ｚＰ１が算出される。中間特徴量ｚＰ１を、第２ＮＮ１０ｂに入力すると、出力ラベルｙＰ１’が算出される。従来技術では、データベース１０Ｐの情報を返却する前に、訓練データｘＰ１から算出される、中間特徴量ｚＰ１をデータベース１３に保存する。従来技術は、データベース１０Ｐに格納された他の訓練データから算出される中間特徴量も、データベース１３に保存する。
【０００８】
続いて、従来技術は、顧客Ｑの複数の訓練データを保存したデータベース１１Ｑと、データベース１３とを用いて、新規の深層学習モデル１１を学習（逐次学習）する。深層学習モデル１１は、第１ＮＮ１１ａと、第２ＮＮ１１ｂとを有する。従来技術は、第１ＮＮ１１ａのパラメータとして、第１ＮＮ１０ａの学習済みのパラメータを設定する。従来技術は、第２ＮＮ１１ｂのパラメータとして、第２ＮＮ１０ｂの学習済みのパラメータを設定する。
【０００９】
たとえば、データベース１１Ｑの訓練データｘＱ１を、第１ＮＮ１１ａに入力すると、中間特徴量ｚＱ１が算出される。中間特徴量ｚＱ１を、第２ＮＮ１１ｂに入力すると、出力ラベルｙＱ１’が算出される。従来技術は、出力ラベルｙＱ１’が正解ラベル（図示略）に近づくように、第２ＮＮ１１ｂのパラメータを学習する。
【００１０】
また、データベース１３の中間特徴量ｚＰ１を、第２ＮＮ１１ｂに入力すると、出力ラベルｙＰ１’が算出される。従来技術は、出力ラベルｙＰ１’が正解ラベル（図示略）に近づくように、第２ＮＮ１１ｂのパラメータを学習する。
【００１１】
上記のように、従来技術では、第２ＮＮ１１ｂのパラメータを学習する場合、データベース１１Ｑの訓練データから算出される中間特徴量に加えて、データベース１３の中間特徴量を用いて、学習を行う。このため、データベース１０Ｐを顧客Ｐに返却（破棄）しても、新規の深層学習モデルの学習時に使用可能なデータ量を増加させることができる。
【先行技術文献】
【非特許文献】
【００１２】
【非特許文献１】Utako  Yamamoto  et  al."Deformation  estimation  of  an  elastic  object  by  partial  observation  using  a  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）を行うことで、複数の訓練データを生成する処理部である。たとえば、拡張部１５０ｂが行うデータ拡張は、訓練データにノイズ付加、平行移動、欠損等の加工する処理に対応する。
【００６４】
図１１は、データ拡張の一例を説明するための図である。図１１に示す例では、訓練データ群２０Ａには、訓練データ２１Ａ−１〜２１Ａ−３、訓練データ２２Ａ−１〜２２Ａ−３、訓練データ２３Ａ−１〜２３Ａ−３が含まれる。たとえば、訓練データ群２０Ａには、正解ラベル「Ａ」が対応付けられる。
【００６５】
訓練データ２１Ａ−２、２１Ａ−３は、オリジナルの訓練データ２１Ａ−１に対してデータ拡張することで得られるデータである。訓練データ２２Ａ−２、２２Ａ−３は、オリジナルの訓練データ２２Ａ−１に対してデータ拡張することで得られるデータである。訓練データ２３Ａ−２、２３Ａ−３は、オリジナルの訓練データ２３Ａ−１に対してデータ拡張することで得られるデータである。
【００６６】
訓練データ群２０Ｂには、訓練データ２１Ｂ−１〜２１Ｂ−３、訓練データ２２Ｂ−１〜２２Ｂ−３、訓練データ２３Ｂ−１〜２３Ｂ−３が含まれる。たとえば、訓練データ群２０Ａには、正解ラベル「Ｂ」が対応付けられる。
【００６７】
訓練データ２１Ｂ−２、２１Ｂ−３は、オリジナルの訓練データ２１Ｂ−１に対してデータ拡張することで得られるデータである。訓練データ２２Ｂ−２、２２Ｂ−３は、オリジナルの訓練データ２２Ｂ−１に対してデータ拡張することで得られるデータである。訓練データ２３Ｂ−２、２３Ｂ−３は、オリジナルの訓練データ２３Ｂ−１に対してデータ拡張することで得られるデータである。
【００６８】
一例として、図１１を用いて説明すると、拡張部１５０ｂは、訓練データ２１Ａ−１に対するデータ拡張を行うことで、訓練データ２１Ａ−２、２１Ａ−３を生成する。
【００６９】
拡張部１５０ｂは、オリジナルの訓練データのデータ番号と、データ拡張した訓練データと、オリジナルの訓練データに対応する正解ラベルとを対応付けて、拡張訓練データテーブル１４２に保存する。拡張部１５０ｂは、初回に学習データベース１４１に保存される情報（たとえば、データベース１４０Ｐの情報）の各訓練データに対して、上記処理を繰り返し実行する。
【００７０】
第１学習部１５０ｃは、拡張訓練データテーブル１４２に保存された訓練データ（データ拡張された訓練データ）を基にして、初回の深層学習モデル５０の学習を行う処理部である。たとえば、第１学習部１５０ｃは、中間特徴量を生成する処理、中間特徴量の類似度を算出する処理、学習する処理を実行する。
【００７１】
第１学習部１５０ｃが実行する「中間特徴量を生成する処理」について説明する。第１学習部１５０ｃは、第１ＮＮ５０ａを実行し、パラメータテーブル１４３に保存されたパラメータθ１を第１ＮＮ５０ａのパラメータとして設定する。第１学習部１５０ｃは、拡張訓練データテーブル１４２から、同一の訓練データを元にデータ拡張された複数の訓練データを取得し、取得した複数の訓練データを、順に第１ＮＮ５０ａに入力する。第１学習部１５０ｃは、第１ＮＮ５０ａに設定されたパラメータθ１を用いて、複数の訓練データの中間特徴量をそれぞれ算出する。
【００７２】
第１学習部１５０ｃは、同一の訓練データを元にデータ拡張された複数の訓練データに対応する中間特徴量と、複数の訓練データに対応付けられた正解ラベルとを対応付けて保持する。
【００７３】
図１を用いて説明すると、第１学習部１５０ｃは、データ拡張された訓練データｘＰ１．１を、第１ＮＮ５０ａに入力することで、中間特徴量ｚＰ１．１を算出する。中間特徴量ｚＰ１．１の正解ラベルは、訓練データｘＰ１に対応する正解ラベルとなる。第１学習部１５０ｃは、データ拡張された訓練データｘＰ２．１を、第１ＮＮ５０ａに入力することで、中間特徴量ｚＰ２．１を算出する。中間特徴量ｚＰ２．１の正解ラベルは、訓練データｘＰ２に対応する正解ラベルとなる。
【００７４】
続いて、第１学習部１５０ｃが実行する「中間特徴量の類似度を算出する処理」について説明する。たとえば、第１学習部１５０ｃは、データ番号に対応する参照特徴量と、このデータ番号に対応する中間特徴量との２乗誤差を類似度として算出する。２乗誤差が小さいほど、参照特徴量と、中間特徴量とが類似していることを意味する。
【００７５】
図１を用いて説明すると、中間特徴量ｚＰ１．１と、参照特徴量ｚＰ１との類似度は、中間特徴量ｚＰ１．１と、参照特徴量ｚＰ１との２乗誤差である。中間特徴量ｚＰ２．１と、参照特徴量ｚＰ２との類似度は、中間特徴量ｚＰ２．１と、参照特徴量ｚＰ２との２乗誤差である。
【００７６】
第１学習部１５０ｃが実行する「学習する処理」について説明する。第１学習部１５０ｃは、第２ＮＮ５０ｂを実行し、パラメータテーブル１４３に保存されたパラメータθ２を第２ＮＮ５０ｂのパラメータとして設定する。
【００７７】
第１学習部１５０ｃは、「中間特徴量を生成する処理」において算出した中間特徴量を、第２ＮＮ５０ｂに入力する。第１学習部１５０ｃは、第２ＮＮ５０ｂに設定されたパラメータθ２を用いて、出力ラベルを算出する。
【００７８】
第１学習部１５０ｃの処理を、図１を用いて説明する。第１学習部１５０ｃは、中間特徴量ｚＰ１．１を第２ＮＮ５０ｂに入力することで、出力ラベルｙＰ１．１’を算出する。第１学習部１５０ｃは、中間特徴量ｚＰ２．１を第２ＮＮ５０ｂに入力することで、出力ラベルｙＰ２．１’を算出する。
【００７９】
第１学習部１５０ｃは、出力ラベルｙＰ１．１’と、訓練データｘＰ１の正解ラベルｙＰ１．１（図示略）との誤差を算出する。第１学習部１５０ｃは、出力ラベルｙＰ２．１’と、訓練データｘＰ２の正解ラベルｙＰ２．１（図示略）との誤差を算出する。第１学習部１５０ｃは、誤差逆伝播法を用いて、誤差が小さくなるように、第１ＮＮ５０ａのパラメータθ１および第２ＮＮ５０ｂのパラメータθ２を学習する。
【００８０】
また、第１学習部１５０ｃは、中間特徴量ｚＰ１．１と、訓練データｘＰ１の参照特徴量ｚＰ１との類似度が上がるように、第１ＮＮ５０ａのパラメータθ１および参照特徴量ｚＰ１を学習する。第１学習部１５０ｃは、中間特徴量ｚＰ２．１と、訓練データｘＰ１の参照特徴量ｚＰ２との類似度が上がるように、第１ＮＮ５０ａのパラメータθ１および参照特徴量ｚＰ２を学習する。
【００８１】
第１学習部１５０ｃは、学習データベース１４１（データベース１４０Ｐ）に保存された顧客Ｐの各訓練データに対して、上記処理を繰り返し実行することで、第１ＮＮ５０ａのパラメータθ１、第２ＮＮ５０ｂのパラメータθ２、参照特徴量を学習する。第１学習部１５０ｃは、学習が完了した後に、学習したパラメータθ１，θ２によって、パラメータテーブル１４３を更新する。第１学習部１５０ｃは、学習した参照特徴量によって、参照特徴量データベース１４４を更新する。
【００８２】
ここで、学習データベース１４１（データベース１４０Ｐ）に保存された顧客Ｐの各訓練データを用いた深層学習モデル５０の学習が完了すると、データベース１４０Ｐの情報が、学習データベース１４１から削除される。続いて、取得部１５０ａによって、顧客Ｑのデータベース１４０Ｑの情報が、学習データベース１４１に保存され、後述する第２学習部１５０ｄの処理が実行される。
【００８３】
第２学習部１５０ｄは、学習データベース１４１の訓練データと、パラメータテーブル１４３と、参照特徴量データベース１４４を基にして、深層学習モデルを逐次学習する処理部である。まず、学習データベース１４１には、顧客Ｑのデータベース１４０Ｑの情報が格納されているものとする。たとえば、第２学習部１５０ｄは、中間特徴量を生成する処理（１）、学習する処理（１）を実行する。
【００８４】
第２学習部１５０ｄが実行する「中間特徴量を生成する処理（１）」について説明する。第２学習部１５０ｄは、第１ＮＮ５１ａを実行し、パラメータテーブル１４３に保存されたパラメータθ１を第１ＮＮ５１ａのパラメータとして設定する。第２学習部１５０ｄは、学習データベース１４１に保存された訓練データを、順に第１ＮＮ５１ａに入力する。第２学習部１５０ｄは、第１ＮＮ５１ａに設定されたパラメータθ１を用いて、複数の訓練データの中間特徴量をそれぞれ算出する。
【００８５】
第２学習部１５０ｄは、訓練データのデータ番号と、訓練データから算出した中間特徴量と、訓練データに対応付けられた正解ラベルとを対応付けて、中間特徴量データベース１４５（１４５Ｑ）に保存する。
【００８６】
図３を用いて説明すると、第２学習部１５０ｄは、訓練データｘＱ１を、第１ＮＮ５１ａに入力することで、中間特徴量ｚＱ１を算出する。第２学習部１５０ｄは、訓練データｘＱ１のデータ番号と、中間特徴量ｚＱ１と、訓練データｘＱ１の正解ラベルとを対応付けて、中間特徴量データベース１４５（１４５Ｑ）に保存する。
【００８７】
第２学習部１５０ｄは、訓練データｘＱ２を、第１ＮＮ５１ａに入力することで、中間特徴量ｚＱ２を算出する。第２学習部１５０ｄは、訓練データｘＱ２のデータ番号と、中間特徴量ｚＱ２と、訓練データｘＱ２の正解ラベルとを対応付けて、中間特徴量データベース１４５（１４５Ｑ）に保存する。
【００８８】
続いて、第２学習部１５０ｄが実行する「学習する処理（１）」について説明する。第２学習部１５０ｄは、第２ＮＮ５１ｂを実行し、パラメータテーブル１４３に保存されたパラメータθ２を第２ＮＮ５１ｂのパラメータとして設定する。
【００８９】
第２学習部１５０ｄは、参照特徴量データベース１４４に保存された参照特徴量を、第２ＮＮ５１ｂに入力し、パラメータθ２を用いて、出力ラベルを算出する。また、第２学習部１５０ｄは、中間特徴量データベース１４５に保存された中間特徴量を、第２ＮＮ５１ｂに入力し、パラメータθ２を用いて、出力ラベルを算出する。
【００９０】
第２学習部１５０ｄの処理を、図３を用いて説明する。第２学習部１５０ｄは、参照特徴量データベース１４４の参照特徴量ｚＰ１を第２ＮＮ５１ｂに入力することで、出力ラベルｙＰ１’を算出する。第２学習部１５０ｄは、参照特徴量データベース１４４の参照特徴量ｚＰ２を第２ＮＮ５１ｂに入力することで、出力ラベルｙＰ２’を算出する。
【００９１】
第２学習部１５０ｄは、中間特徴量データベース１４５（１４５Ｑ）の中間特徴量ｚＱ１を第２ＮＮ５１ｂに入力することで、出力ラベルｙＱ１’を算出する。第２学習部１５０ｄは、中間特徴量データベース１４５（１４５Ｑ）の中間特徴量ｚＱ２を第２ＮＮ５１ｂに入力することで、出力ラベルｙＱ２’を算出する。
【００９２】
第２学習部１５０ｄは、出力ラベルｙＰ１．１’と、参照特徴量ｚＰ１の正解ラベルｙＰ１．１（図示略）との誤差を算出する。第２学習部１５０ｄは、出力ラベルｙＰ２．１’と、参照特徴量ｚＰ２の正解ラベルｙＰ２．１（図示略）との誤差を算出する。
【００９３】
第２学習部１５０ｄは、出力ラベルｙＱ１’と、中間特徴量ｚＱ１の正解ラベルｙＱ１（図示略）との誤差を算出する。第２学習部１５０ｄは、出力ラベルｙＱ２’と、中間特徴量ｚＱ２の正解ラベルｙＱ２（図示略）との誤差を算出する。
【００９４】
第２学習部１５０ｄは、誤差逆伝播法を用いて、誤差が小さくなるように、第２ＮＮ５１ｂのパラメータθ２を学習する。
【００９５】
第２学習部１５０ｄは、学習データベース１４１（データベース１４０Ｑ）に保存された顧客Ｑの各訓練データに対して、上記処理を繰り返し実行することで、第２ＮＮ５１ｂのパラメータθ２を学習する。第２学習部１５０ｄは、学習したパラメータθ２によって、パラメータテーブル１４３を更新する。また、第２学習部１５０ｄは、学習の過程おいて生成する各中間特徴量を、中間特徴量データベース１４５に保存する。
【００９６】
ここで、学習データベース１４１（データベース１４０Ｑ）に保存された顧客Ｑの各訓練データを用いた深層学習モデル５１の学習が完了すると、データベース１４０Ｑの情報が、学習データベース１４１から削除される。続いて、取得部１５０ａによって、顧客Ｒのデータベース１４０Ｒの情報が、学習データベース１４１に保存され、後述する第２学習部１５０ｄの処理が実行される。
【００９７】
学習データベース１４１には、顧客Ｒのデータベース１４０Ｒの情報が格納されているものとする。たとえば、第２学習部１５０ｄは、上記のデータベース１４０Ｑを用いた処理と同様にして、中間特徴量を生成する処理（２）、学習する処理（２）を実行する。
【００９８】
第２学習部１５０ｄが実行する「中間特徴量を生成する処理（２）」について説明する。第２学習部１５０ｄは、第１ＮＮ５２ａを実行し、パラメータテーブル１４３に保存されたパラメータθ１を第１ＮＮ５２ａのパラメータとして設定する。第２学習部１５０ｄは、学習データベース１４１に保存された訓練データを、順に第１ＮＮ５２ａに入力する。第２学習部１５０ｄは、第１ＮＮ５２ａに設定されたパラメータθ１を用いて、複数の訓練データの中間特徴量をそれぞれ算出する。
【００９９】
第２学習部１５０ｄは、訓練データのデータ番号と、訓練データから算出した中間特徴量と、訓練データに対応付けられた正解ラベルとを対応付けて、中間特徴量データベース１４５（１４５Ｒ）に保存する。
【０１００】
図４を用いて説明すると、第２学習部１５０ｄは、訓練データｘＲ１を、第１ＮＮ５２ａに入力することで、中間特徴量ｚＲ１を算出する。第２学習部１５０ｄは、訓練データｘＲ１のデータ番号と、中間特徴量ｚＲ１と、訓練データｘＲ１の正解ラベルとを対応付けて、中間特徴量データベース１４５（１４５Ｒ）に保存する。
【０１０１】
第２学習部１５０ｄは、訓練データｘＲ２を、第１ＮＮ５２ａに入力することで、中間特徴量ｚＲ２を算出する。第２学習部１５０ｄは、訓練データｘＲ２のデータ番号と、中間特徴量ｚＲ２と、訓練データｘＲ２の正解ラベルとを対応付けて、中間特徴量データベース１４５（１４５Ｒ）に保存する。
【０１０２】
続いて、第２学習部１５０ｄが実行する「学習する処理（２）」について説明する。第２学習部１５０ｄは、第２ＮＮ５２ｂを実行し、パラメータテーブル１４３に保存されたパラメータθ２を第２ＮＮ５２ｂのパラメータとして設定する。
【０１０３】
第２学習部１５０ｄは、参照特徴量データベース１４４に保存された参照特徴量を、第２ＮＮ５２ｂに入力し、パラメータθ２を用いて、出力ラベルを算出する。また、第２学習部１５０ｄは、中間特徴量データベース１４５（１４５Ｑ）に保存された中間特徴量を、第２ＮＮ５１ｂに入力し、パラメータθ２を用いて、出力ラベルを算出する。
【０１０４】
第２学習部１５０ｄの処理を、図４を用いて説明する。第２学習部１５０ｄは、参照特徴量データベース１４４の参照特徴量ｚＰ１を第２ＮＮ５２ｂに入力することで、出力ラベルｙＰ１’を算出する。第２学習部１５０ｄは、参照特徴量データベース１４４の参照特徴量ｚＰ２を第２ＮＮ５２ｂに入力することで、出力ラベルｙＰ２’を算出する。
【０１０５】
第２学習部１５０ｄは、中間特徴量データベース１４５（１４５Ｑ）の中間特徴量ｚＱ１を第２ＮＮ５２ｂに入力することで、出力ラベルｙＱ１’を算出する。第２学習部１５０ｄは、中間特徴量データベース１４５（１４５Ｑ）の中間特徴量ｚＱ２を第２ＮＮ５２ｂに入力することで、出力ラベルｙＱ２’を算出する。
【０１０６】
第２学習部１５０ｄは、中間特徴量データベース１４５（１４５Ｒ）の中間特徴量ｚＲ１を第２ＮＮ５２ｂに入力することで、出力ラベルｙＲ１’を算出する。第２学習部１５０ｄは、中間特徴量データベース１４５（１４５Ｒ）の中間特徴量ｚＲ２を第２ＮＮ５２ｂに入力することで、出力ラベルｙＲ２’を算出する。
【０１０７】
第２学習部１５０ｄは、出力ラベルｙＰ１．１’と、参照特徴量ｚＰ１の正解ラベルｙＰ１．１（図示略）との誤差を算出する。第２学習部１５０ｄは、出力ラベルｙＰ２．１’と、参照特徴量ｚＰ２の正解ラベルｙＰ２．１（図示略）との誤差を算出する。
【０１０８】
第２学習部１５０ｄは、出力ラベルｙＱ１’と、中間特徴量ｚＱ１の正解ラベルｙＱ１（図示略）との誤差を算出する。第２学習部１５０ｄは、出力ラベルｙＱ２’と、中間特徴量ｚＱ２の正解ラベルｙＱ２（図示略）との誤差を算出する。
【０１０９】
第２学習部１５０ｄは、出力ラベルｙＲ１’と、中間特徴量ｚＲ１の正解ラベルｙＲ１（図示略）との誤差を算出する。第２学習部１５０ｄは、出力ラベルｙＲ２’と、中間特徴量ｚＲ２の正解ラベルｙＲ２（図示略）との誤差を算出する。
【０１１０】
第２学習部１５０ｄは、誤差逆伝播法を用いて、誤差が小さくなるように、第２ＮＮ５２のパラメータθ２を学習する。
【０１１１】
第２学習部１５０ｄは、学習データベース１４１（データベース１４０Ｒ）に保存された顧客Ｒの各訓練データに対して、上記処理を繰り返し実行することで、第２ＮＮ５２ｂのパラメータθ２を学習する。第２学習部１５０ｄは、学習したパラメータθ２によって、パラメータテーブル１４３を更新する。また、第２学習部１５０ｄは、学習の過程おいて生成する各中間特徴量を、中間特徴量データベース１４５に保存する。
【０１１２】
第１学習部１５０ｃ、第２学習部１５０ｄは、上記処理を実行することで、深層学習モデル５０、５１，５２のパラメータを逐次学習する。第１学習部１５０ｃ、第２学習部１５０ｄは、深層学習モデル５０、５１，５２のパラメータをそれぞれ区別して、パラメータテーブル１４３に保存してもよい。
【０１１３】
次に、本実施例１に係る学習装置１００の処理手順の一例について説明する。図１２は、本実施例１に係る学習装置の処理手順を示すフローチャートである。図１２では一例として、２回目の逐次学習を行う場合の処理について説明する。図１２に示すように、学習装置１００の拡張部１５０ｂは、学習データベース１４１から、初回のオリジナルの訓練データを取得する（ステップＳ１０１）。
【０１１４】
拡張部１５０ｂは、オリジナルの訓練データに対してデータ拡張を実行し、複数の訓練データを生成する（ステップＳ１０２）。学習装置１００の第１学習部１５０ｃは、第１ＮＮ５０ａに訓練データを入力して、中間特徴量を生成する（ステップＳ１０３）。
【０１１５】
第１学習部１５０ｃは、第２ＮＮ５０ｂに中間特徴量を入力して出力ラベルを算出する。第１学習部１５０ｃは、中間特徴量と参照特徴量との類似度を算出する（ステップＳ１０４）。
【０１１６】
第１学習部１５０ｃは、出力ラベルと正解ラベルとの誤差が小さくなり、かつ、中間特徴量と参照特徴量との類似度が上がるように、パラメータθ１，θ２、参照特徴量を学習する（ステップＳ１０５）。第１学習部１５０ｃは、初回の学習が終了していない場合には（ステップＳ１０６，Ｎｏ）、ステップＳ１０１に移行する。一方、第１学習部１５０ｃは、初回の学習が終了した場合には（ステップＳ１０６，Ｙｅｓ）、ステップＳ１０７に移行する。
【０１１７】
第１学習部１５０ｃは、初回の参照特徴量を参照特徴量データベース１４４に保存する（ステップＳ１０７）。第２学習部１５０ｄは、学習データベースから、２回目のオリジナルの訓練データを取得する（ステップＳ１０８）。
【０１１８】
第２学習部１５０ｄは、第１ＮＮ５１ａに訓練データを入力して、中間特徴量を生成する（ステップＳ１０９）。第２学習部１５０ｄは、参照特徴量と、中間特徴量とを第２ＮＮ５１ｂに入力し、出力ラベルを算出する（ステップＳ１１０）。
【０１１９】
第２学習部１５０ｄは、出力ラベルと正解ラベルとの誤差が小さくなるように、パラメータθ１を学習する（ステップＳ１１１）。第２学習部１５０ｄは、２回目の学習が終了していない場合には（ステップＳ１１２，Ｎｏ）、ステップＳ１０８に移行する。一方、第２学習部１５０ｄは、２回目の学習が終了した場合には（ステップＳ１１２，Ｙｅｓ）、処理を終了する。
【０１２０】
図１２に示す処理では、２回目の学習を行う場合の処理について説明したが、３回目移動の学習についても、同様に実行することができる。たとえば、第２学習部１５０ｄは、ステップＳ１０８〜Ｓ１１２に対応する処理を、学習毎に実行する。
【０１２１】
次に、本実施例１に係る学習装置１００の効果について説明する。学習装置１００は、初回の学習時において、データ拡張した訓練データを第１ＮＮに入力した際の中間特徴量がそれぞれ参照特徴量に近づくように、第１ＮＮのパラメータθ１、参照特徴量の学習を行う。学習装置１００は、２回目の逐次学習において、初回の学習時に学習した参照特徴量を流用すると共に、新規の訓練データを用いて、第２ＮＮのパラメータθ２を学習する処理を行う。各参照特徴量は、オリジナルの訓練データをデータ拡張した複数の訓練データの中間特徴量を代表する特徴量と言える。データ拡張した各訓練データの有用な情報が、参照特徴量に残されている。したがって、かかる参照特徴量を用いて、第２ＮＮの逐次学習を行うことで、データ量を減らしつつ、データ拡張した訓練データの特徴量を引き継いで利用し、深層学習モデルの学習精度を向上させることができる。
【０１２２】
図１３は、本実施例１に係る学習装置の効果を説明するための図である。実施例１で説明したように、学習装置１００は、顧客Ｐの訓練データｘＰ１をデータ拡張することで、訓練データｘＰ１．１，ｘＰ１．２，ｘＰ１．３を生成する。学習装置１００は、訓練データｘＰ１．１，ｘＰ１．２，ｘＰ１．３を第１ＮＮ５０ａに入力して、中間特徴量ｚＰ１．１，ｚＰ１．２，ｚＰ１．３を算出する。学習装置１００は、中間特徴量ｚＰ１．１，ｚＰ１．２，ｚＰ１．３を第１ＮＮ５０ａに入力して、出力ラベルｙＰ１．１’，ｙＰ１．２’，ｙＰ１．３’を算出する。
【０１２３】
ここで、学習装置１００は、中間特徴量ｚＰ１．１，ｚＰ１．２，ｚＰ１．３が、訓練データｘＰ１の参照特徴量ｚＰ１に近づくように、第１ＮＮ５０ａのパラメータ、参照特徴量ｚＰ１を学習し、学習した参照特徴量ｚＰ１を、参照特徴量データベース１４４に保存する。参照特徴量データベース１４４の参照特徴量ｚＰ１は、２回目以降の学習に利用される。
【０１２４】
中間特徴量ｚＰ１．１，ｚＰ１．２，ｚＰ１．３は、参照特徴量ｚＰ１に近づくように学習されるため、中間特徴量ｚＰ１．１，ｚＰ１．２，ｚＰ１．３の違いは小さい。このため、中間特徴量ｚＰ１．１，ｚＰ１．２，ｚＰ１．３の代表として、参照特徴量ｚＰ１を、参照特徴量データベース１４４に保存することで、保存するデータ量を削減しても、データ拡張の効果を活かすことができる。
【０１２５】
また、学習装置１００は、１回目の学習で生成される第１ＮＮ５０ａのパラメータθ１を、２回目移行の学習にそのまま利用する。学習されたパラメータθ１を、第１ＮＮ５１ａに設定することで、第１ＮＮ５１ａは、データ正規化の機能を持つ。このため、ネットワーク規模が小さくなり、学習コストを下げることもできる。
【実施例２】
【０１２６】
実施例１で説明した学習装置１００の処理は一例であり、学習装置１００は、その他の処理を実行して、深層学習モデルのパラメータを学習してもよい。実施例２では、学習装置１００が実行可能なその他の処理（１）、（２）について説明する。
【０１２７】
学習装置１００が実行するその他の処理（１）について説明する。学習装置１００は、オリジナルの訓練データ毎に、参照特徴量を設定し、２乗誤差を評価の指標として、パラメータおよび参照特徴量を学習していたが、これに限定されるものでは無い。たとえば、学習装置１００は、中間特徴量の平均μおよび分散σを参照特徴量とし、同一の訓練データからデータ拡張された複数の訓練データの中間特徴量の平均および分散が、参照特徴量に近づくように、パラメータおよび参照特徴量を学習してもよい。
【０１２８】
図１４および図１５は、学習装置のその他の処理（１）の一例を説明するための図である。まず、図１４について説明する。たとえば、学習装置１００は、オリジナルの訓練データｘＰ１に対応する参照特徴量（平均μＰ１、分散σＰ１）を設定する。特徴量生成部２５０ｃは、同一の訓練データｘＰ１からデータ拡張した複数の訓練データｘＰ１．１〜ｘＰ１．３を順に第１ＮＮ５０ａに入力して、それぞれの中間特徴量ｚＰ１．１〜ｚＰ１．３（図示略）を算出する。学習装置１００は、それぞれの中間特徴量ｚＰ１．１〜ｚＰ１．３の平均μＰ１．１、分散σＰ１．１を算出する。学習装置１００は、KL（Kullback-Leibler）diviergenceを基にして、参照特徴量（平均μＰ１、分散σＰ１）の確率分布と、（平均μＰ１．１、分散σＰ１．１）の確率分布との距離を評価する。
【０１２９】
学習装置１００は、確率分布の距離が近くなるように、第１ＮＮ５０ａのパラメータおよび参照特徴量（平均μＰ１、分散σＰ１）を誤差逆伝播法によって学習する。また、学習装置１００は、それぞれの中間特徴量ｚＰ１．１〜ｚＰ１．３を、第２ＮＮ５０ｂに入力した場合の出力ラベルｙＰ１．１〜ｙＰ１．３が、正解ラベルｙＰ１に近づくように、第１ＮＮ５０ａのパラメータおよび第２ＮＮ５０ｂのパラメータを誤差逆伝播法によって学習する。
【０１３０】
すなわち、学習装置１００は、出力ラベルと正解ラベルとの誤差を下げつつ、また、中間特徴量と参照特徴量との類似度が上がるように、第１ＮＮ５０ａおよび第２ＮＮ５０ｂのパラメータθ１、θ２、参照特徴量（平均μＰ１、分散σＰ１）を学習する。学習装置１００は、学習した参照特徴量（平均μＰ１、分散σＰ１）を、参照特徴量データベース１４４に保存する。学習装置１００は、参照特徴量（平均μＰ１、分散σＰ１）を、参照特徴量データベース１４４に登録する場合には、正解ラベルｙＰ１を対応付ける。学習装置１００は、他のオリジナルの訓練データも同様にして、参照特徴量を学習し、参照特徴量データベース１４４に登録する。
【０１３１】
図１５の説明に移行する。学習装置１００が２回目以降の学習を行う場合には、参照特徴量データベース１４４に保存された平均μＰ１、分散σＰ１の分布をサンプリングし、サンプリングした結果得られる中間特徴量を、第２ＮＮ５１ｂに入力して、出力ラベルｙＰ１．１’〜ｙＰ１．３’を算出する。学習装置１００は、出力ラベルｙＰ１．１’〜ｙＰ１．３’が、参照特徴量データベース１４４の正解ラベルｙＰ１（図示略）に近づくように、第２ＮＮ５１ｂのパラメータθ２を学習する。なお、データベース１４０Ｑに格納された訓練データｘＱ１を用いて、第２ＮＮ５１ｂを学習する処理は、実施例１と同様である。
【０１３２】
図１４および図１５で説明したように、参照特徴量を分布として学習することで、所望する数の中間特徴量をサンプリングして、２回目以降の学習時に利用することができる。
【０１３３】
学習装置１００が実行するその他の処理（２）について説明する。学習装置１００は、初回のみオリジナルの訓練データをデータ拡張して深層学習モデルの学習を行っていたが、これに限定されるものではない。学習装置１００は、２回目以降の学習においても、オリジナルの訓練データをデータ拡張して、学習を行ってもよい。
【０１３４】
図１６は、学習装置のその他の処理（２）を説明するための図である。図１６に示すように、学習装置１００は、データベース１４０Ｑに格納された顧客Ｑの訓練データｘＱ１をデータ拡張することで、訓練データｘＱ１．１，ｘＱ１．２，ｘＱ１．３を生成する。学習装置１００は、訓練データｘＱ１．１，ｘＱ１．２，ｘＱ１．３を第１ＮＮ５１ａに入力することで、中間特徴量ｚＱ１．１，ｚＱ１．２，ｚＱ１．３を算出する。
【０１３５】
学習装置１００は、中間特徴量ｚＱ１．１，ｚＱ１．２，ｚＱ１．３を第２ＮＮ５１ｂに入力することで、出力ラベルｙＱ１．１’，ｙＱ１．２’，ｙＱ１．３’を算出する。学習装置１００は、出力ラベルｙＱ１．１’，ｙＱ１．２’，ｙＱ１．３’が、訓練データｘＱ１の正解ラベルｙＱ１（図示略）に近づくように、第２ＮＮ５１ｂのパラメータθ２を学習する。また、学習装置１００は、参照特徴量データベース１４４に保存された参照特徴量ｚＰ１を第２ＮＮ５１ｂに入力して、出力ラベルｙＰ１’を算出する。学習装置１００は、出力ラベルｙＰ１’が、正解ラベルｙＰ１に近づくように、第２ＮＮ５１ｂのパラメータθ２を学習する。
【０１３６】
このように、学習装置１００は、２回目以降の処理についても、データ拡張を実行することで、データ量を増加させることができる。
【０１３７】
次に、本実施例に示した学習装置１００と同様の機能を実現するコンピュータのハードウェア構成の一例について説明する。図１７は、本実施例に係る学習装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【０１３８】
図１７に示すように、コンピュータ３００は、各種演算処理を実行するＣＰＵ３０１と、ユーザからのデータの入力を受け付ける入力装置３０２と、ディスプレイ３０３とを有する。また、コンピュータ３００は、記憶媒体からプログラム等を読み取る読み取り装置３０４と、有線または無線ネットワークを介して、外部装置等との間でデータの授受を行うインタフェース装置３０５とを有する。コンピュータ３００は、各種情報を一時記憶するＲＡＭ３０６と、ハードディスク装置３０７とを有する。そして、各装置３０１〜３０７は、バス３０８に接続される。
【０１３９】
ハードディスク装置３０７は、取得プログラム３０７ａ、拡張プログラム３０７ｂ、第１学習プログラム３０７ｃ、第２学習プログラム３０７ｄを有する。ＣＰＵ３０１は、取得プログラム３０７ａ、拡張プログラム３０７ｂ、第１学習プログラム３０７ｃ、第２学習プログラム３０７ｄを読み出してＲＡＭ３０６に展開する。
【０１４０】
取得プログラム３０７ａは、取得プロセス３０６ａとして機能する。拡張プログラム３０７ｂは、拡張プロセス３０６ｂとして機能する。第１学習プログラム３０７ｃは、第１学習プロセス３０６ｃとして機能する。第２学習プログラム３０７ｄは、第２学習プロセス３０６ｄとして機能する。
【０１４１】
取得プロセス３０６ａの処理は、取得部１５０ａの処理に対応する。拡張プロセス３０６ｂの処理は、拡張部１５０ｂの処理に対応する。第１学習プロセス３０６ｃの処理は、第１学習部１５０ｃの処理に対応する。第２学習プロセス３０６ｄの処理は、第２学習部１５０ｄの処理に対応する。
【０１４２】
なお、各プログラム３０７ａ〜３０７ｄについては、必ずしも最初からハードディスク装置３０７に記憶させておかなくてもよい。例えば、コンピュータ３００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ３００が各プログラム３０７ａ〜３０７ｄを読み出して実行するようにしてもよい。
【０１４３】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１４４】
（付記１）コンピュータが実行する学習方法であって、
学習モデルに含まれる第１ネットワークおよび第２ネットワークを実行し、
第１元教師データをデータ拡張することで生成される複数の拡張教師データを前記第１ネットワークに入力することで算出される複数の中間特徴量に関して、同一の第１元教師データからデータ拡張された、複数の拡張教師データから算出される各中間特徴量が参照特徴量に類似するように、前記学習モデルのパラメータを学習し、
前記第１元教師データとは異なる第２元教師データと、前記参照特徴量とを用いて、前記第２ネットワークのパラメータを学習する
処理を実行することを特徴とする学習方法。
【０１４５】
（付記２）前記第２ネットワークのパラメータを学習する処理は、前記第２元教師データを拡張することで生成される複数の拡張教師データを前記第１ネットワークに入力して算出される複数の中間特徴量と、前記参照特徴量とを用いて、前記第２ネットワークのパラメータを更新する学習を行うことを特徴とする付記１に記載の学習方法。
【０１４６】
（付記３）前記学習モデルのパラメータを学習する処理は、同一の第１元教師データからデータ拡張された、複数の拡張教師データから算出される各中間特徴量の平均および分散が、参照特徴量に類似するように、前記学習モデルのパラメータおよび前記参照特徴量を学習することを特徴とする付記１または２に記載の学習方法。
【０１４７】
（付記４）前記第１元教師データに対応する正解ラベルと、前記参照特徴量とを対応付けて記憶装置に記憶する処理を更に実行し、前記第２ネットワークのパラメータを学習する処理は、前記参照特徴量を前記第２ネットワークに入力することで算出される出力ラベルが、前記正解ラベルに近づくように、前記第２ネットワークのパラメータを学習することを特徴とする付記１、２または３に記載の学習方法。
【０１４８】
（付記５）コンピュータに、
学習モデルに含まれる第１ネットワークおよび第２ネットワークを実行し、
第１元教師データをデータ拡張することで生成される複数の拡張教師データを前記第１ネットワークに入力することで算出される複数の中間特徴量に関して、同一の第１元教師データからデータ拡張された、複数の拡張教師データから算出される各中間特徴量が参照特徴量に類似するように、前記学習モデルのパラメータを学習し、
前記第１元教師データとは異なる第２元教師データと、前記参照特徴量とを用いて、前記第２ネットワークのパラメータを学習する
処理を実行させることを特徴とする学習プログラム。
【０１４９】
（付記６）前記第２ネットワークのパラメータを学習する処理は、前記第２元教師データを拡張することで生成される複数の拡張教師データを前記第１ネットワークに入力して算出される複数の中間特徴量と、前記参照特徴量とを用いて、前記第２ネットワークのパラメータを更新する学習を行うことを特徴とする付記５に記載の学習プログラム。
【０１５０】
（付記７）前記学習モデルのパラメータを学習する処理は、同一の第１元教師データからデータ拡張された、複数の拡張教師データから算出される各中間特徴量の平均および分散が、参照特徴量に類似するように、前記学習モデルのパラメータおよび前記参照特徴量を学習することを特徴とする付記５または６に記載の学習プログラム。
【０１５１】
（付記８）前記第１元教師データに対応する正解ラベルと、前記参照特徴量とを対応付けて記憶装置に記憶する処理を更に実行し、前記第２ネットワークのパラメータを学習する処理は、前記参照特徴量を前記第２ネットワークに入力することで算出される出力ラベルが、前記正解ラベルに近づくように、前記第２ネットワークのパラメータを学習することを特徴とする付記５、６または７に記載の学習プログラム。
【０１５２】
（付記９）学習モデルに含まれる第１ネットワークおよび第２ネットワークを実行し、
第１元教師データをデータ拡張することで生成される複数の拡張教師データを前記第１ネットワークに入力することで算出される複数の中間特徴量に関して、同一の第１元教師データからデータ拡張された、複数の拡張教師データから算出される各中間特徴量が参照特徴量に類似するように、前記学習モデルのパラメータを学習する第１学習部と、
前記第１元教師データとは異なる第２元教師データと、前記参照特徴量とを用いて、前記第２ネットワークのパラメータを学習する第２学習部と
を有することを特徴とする学習装置。
【０１５３】
（付記１０）前記第２学習部は、前記第２元教師データを拡張することで生成される複数の拡張教師データを前記第１ネットワークに入力して算出される複数の中間特徴量と、前記参照特徴量とを用いて、前記第２ネットワークのパラメータを更新する学習を行うことを特徴とする付記９に記載の学習装置。
【０１５４】
（付記１１）前記第１学習部は、同一の第１元教師データからデータ拡張された、複数の拡張教師データから算出される各中間特徴量の平均および分散が、参照特徴量に類似するように、前記学習モデルのパラメータおよび前記参照特徴量を学習することを特徴とする付記９または１０に記載の学習装置。
【０１５５】
（付記１２）前記第１学習部は、前記第１元教師データに対応する正解ラベルと、前記参照特徴量とを対応付けて記憶装置に記憶する処理を更に実行し、前記第１学習部は、前記参照特徴量を前記第２ネットワークに入力することで算出される出力ラベルが、前記正解ラベルに近づくように、前記第２ネットワークのパラメータを学習することを特徴とする付記９、１０または１１に記載の学習装置。
【符号の説明】
【０１５６】
１００    学習装置
１１０    通信部
１２０    入力部
１３０    表示部
１４０    記憶部
１４１    学習データベース
１４２    拡張訓練データテーブル
１４３    パラメータテーブル
１４４    参照特徴量データベース
１４５    中間特徴量データベース
１５０    制御部
１５０ａ  取得部
１５０ｂ  拡張部
１５０ｃ  第１学習部
１５０ｄ  第２学習部
【図１】
2020115273.tif 000003
【図２】
2020115273.tif 000004
【図３】
2020115273.tif 000005
【図４】
2020115273.tif 000006
【図５】
2020115273.tif 000007
【図６】
2020115273.tif 000008
【図７】
2020115273.tif 000009
【図８】
2020115273.tif 000010
【図９】
2020115273.tif 000011
【図１０】
2020115273.tif 000012
【図１１】
2020115273.tif 000013
【図１２】
2020115273.tif 000014
【図１３】
2020115273.tif 000015
【図１４】
2020115273.tif 000016
【図１５】
2020115273.tif 000017
【図１６】
2020115273.tif 000018
【図１７】
2020115273.tif 000019
【図１８】
2020115273.tif 000020
【図１９】
2020115273.tif 000021
【図２０】
2020115273.tif 000022