JP7156049B2 - 学習方法、学習プログラムおよび学習装置 - Google Patents

学習方法、学習プログラムおよび学習装置 Download PDF

Info

Publication number
JP7156049B2
JP7156049B2 JP2019006321A JP2019006321A JP7156049B2 JP 7156049 B2 JP7156049 B2 JP 7156049B2 JP 2019006321 A JP2019006321 A JP 2019006321A JP 2019006321 A JP2019006321 A JP 2019006321A JP 7156049 B2 JP7156049 B2 JP 7156049B2
Authority
JP
Japan
Prior art keywords
learning
data
training data
feature amount
database
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019006321A
Other languages
English (en)
Other versions
JP2020115273A (ja
Inventor
孝 河東
健人 上村
優 安富
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2019006321A priority Critical patent/JP7156049B2/ja
Priority to US16/736,911 priority patent/US11409988B2/en
Priority to CN202010021677.9A priority patent/CN111444935A/zh
Priority to EP20151398.3A priority patent/EP3683735A1/en
Publication of JP2020115273A publication Critical patent/JP2020115273A/ja
Application granted granted Critical
Publication of JP7156049B2 publication Critical patent/JP7156049B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/211Selection of the most significant subset of features
    • G06F18/2111Selection of the most significant subset of features by using evolutionary computational techniques, e.g. genetic algorithms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/28Determining representative reference patterns, e.g. by averaging or distorting; Generating dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks

Description

本発明は、学習方法等に関する。
深層学習モデルを学習する場合、訓練データ(学習データ)の量は性能に大きく寄与する要因であり、訓練データの量は多いほど好ましい。訓練データが不足し、訓練データにないタイプの適用データを、訓練データで学習した深層学習モデルに適用すると、適切な出力結果を得られず、失敗する可能性が高くなる。
また、顧客データを用いるビジネスの場では、契約や情報漏洩のリスクに鑑みると、ある顧客データをいつまでも保持したり、別の顧客タスクなどに使いまわしたりすることが難しいため、訓練データが不足する場合がある。
訓練データが不足する場合、データ拡張(data augmentation)を行うことが一般的である。データ拡張は、オリジナルの訓練データに対して、ノイズを付加、平行移動、欠損等の加工を行うものであり、訓練データの範囲を適用データの範囲に広げることができる。
ここで、オリジナルの訓練データを、深層学習モデルに入力することで得られる中間特徴量を保持することで、オリジナルの訓練データを保持することなく、新規に深層学習モデルを学習する際に使用可能なデータ量を増加させる従来技術がある。
図18は、従来技術を説明するための図である。図18において、深層学習モデル10は、第1NN(Neural Network)10aと、第2NN10bとを有する。第1NN10aは、訓練データが入力された場合、中間特徴量を算出するNNである。第2NN10bは、中間特徴量が入力された場合、出力ラベルを算出するNNである。第1NN10aおよび第2NN10bのパラメータは、データベース10Pに格納された顧客Pの複数の訓練データを用いて学習済みとする。学習が終了すると、データベース10Pの情報は、顧客Pに返却される(または、破棄される)。
たとえば、訓練データxP1を、第1NN10aに入力すると、中間特徴量zP1が算出される。中間特徴量zP1を、第2NN10bに入力すると、出力ラベルyP1’が算出される。従来技術では、データベース10Pの情報を返却する前に、訓練データxP1から算出される、中間特徴量zP1をデータベース13に保存する。従来技術は、データベース10Pに格納された他の訓練データから算出される中間特徴量も、データベース13に保存する。
続いて、従来技術は、顧客Qの複数の訓練データを保存したデータベース11Qと、データベース13とを用いて、新規の深層学習モデル11を学習(逐次学習)する。深層学習モデル11は、第1NN11aと、第2NN11bとを有する。従来技術は、第1NN11aのパラメータとして、第1NN10aの学習済みのパラメータを設定する。従来技術は、第2NN11bのパラメータとして、第2NN10bの学習済みのパラメータを設定する。
たとえば、データベース11Qの訓練データxQ1を、第1NN11aに入力すると、中間特徴量zQ1が算出される。中間特徴量zQ1を、第2NN11bに入力すると、出力ラベルyQ1’が算出される。従来技術は、出力ラベルyQ1’が正解ラベル(図示略)に近づくように、第2NN11bのパラメータを学習する。
また、データベース13の中間特徴量zP1を、第2NN11bに入力すると、出力ラベルyP1’が算出される。従来技術は、出力ラベルyP1’が正解ラベル(図示略)に近づくように、第2NN11bのパラメータを学習する。
上記のように、従来技術では、第2NN11bのパラメータを学習する場合、データベース11Qの訓練データから算出される中間特徴量に加えて、データベース13の中間特徴量を用いて、学習を行う。このため、データベース10Pを顧客Pに返却(破棄)しても、新規の深層学習モデルの学習時に使用可能なデータ量を増加させることができる。
図18で説明した従来技術が深層学習モデルを学習する場合、データ拡張された複数の訓練データから算出される中間特徴量を全て保存すると、保存するデータ量が多くなる。
図19および図20は、従来技術の問題を説明するための図である。図19について説明する。従来技術は、データベース10Pのオリジナルの訓練データxP1をデータ拡張することで、訓練データxP1.1、xP1.2、xP1.3を生成する。従来技術は、訓練データxP1.1、xP1.2、xP1.3をそれぞれ第1NN10aに入力することで、中間特徴量zP1.1、zP1.2、zP1.3を算出する。従来技術は、中間特徴量zP1.1、zP1.2、zP1.3をそれぞれ第2NN10bに入力することで、出力ラベルyP1.1’、yP1.2’、yP1.3’を算出する。
従来技術は、中間特徴量zP1.1、zP1.2、zP1.3を、データベース13に格納する。ここで、データベース10Pに格納されたオリジナルの各訓練データに対して、データ拡張を行っている場合に、データ拡張された各訓練データの中間特徴量が全て、データベース13に格納され、データ量が多くなる。
一般的に、深層学習モデルを学習する場合、訓練データの量は多いほど好ましいといえる。しかし、あるオリジナルの訓練データからデータ拡張された訓練データの中間特徴量の分布と、他のオリジナルの訓練データからデータ拡張された訓練データの中間特徴量の分布とが分離していない場合、かかる中間特徴量を用いても、第2NN10bに入力した場合の出力ラベルが適切に分離されず、学習精度が劣化することがある。したがって、データ拡張によって、より多くの訓練データを、データベース13に格納すればよいというものではない。
図20の説明に移行する。データベース13に保存されるデータ量を減らすために、単に、中間特徴量を削減することが考えられる。図20に示す例では、中間特徴量zP1.1、zP1.2、zP1.3のうち、zP1.1、zP1.2が削除されている。しかし、このような手法で中間特徴量を削減すると、データ拡張の効果を得られず、深層学習モデルの学習精度が劣化する。すなわち、訓練データxQ1をデータ拡張して、xQ1.1、xQ1.2、xQ1.3を生成するとしても、図19で説明した、深層学習モデル10で訓練データxP1をデータ拡張したことによる効果を引き継ぐことができない。なお、xQ1.1、xQ1.2、xQ1.3が、第1NN11aに入力されると、中間特徴量zQ1.1、zQ1.2、zQ1.3が算出される。中間特徴量zQ1.1、zQ1.2、zQ1.3が、第2NN11bに入力されると、出力ラベルyQ1.1’、yQ1.2’、yQ1.3’が算出される。
1つの側面では、本発明は、データ拡張した訓練データの特徴量を引き継いで利用し、深層学習モデルの学習精度を向上させることができる学習方法、学習プログラムおよび学習装置を提供することを目的とする。
第1の案では、コンピュータが次の処理を実行する。コンピュータは、学習モデルに含まれる第1ネットワークおよび第2ネットワークを実行する。コンピュータは、第1元教師データをデータ拡張することで生成される複数の拡張教師データを第1ネットワークに入力することで算出される複数の中間特徴量に関して、同一の第1元教師データからデータ拡張された、複数の拡張教師データから算出される各中間特徴量が参照特徴量に類似するように、学習モデルのパラメータを学習する。コンピュータは、第1元教師データとは異なる第2元教師データと、参照特徴量とを用いて、第2ネットワークのパラメータを学習する。
データ拡張した訓練データの特徴量を引き継いで利用し、深層学習モデルの学習精度を向上させることができる。
図1は、本実施例1に係る学習装置の処理を説明するための図(1)である。 図2は、本実施例1に係る学習装置の処理を説明するための図(2)である。 図3は、本実施例1に係る学習装置の処理を説明するための図(3)である。 図4は、本実施例1に係る学習装置の処理を説明するための図(4)である。 図5は、本実施例1に係る学習装置の構成を示す機能ブロック図である。 図6は、本実施例1に係る学習データベースのデータ構造の一例を示す図である。 図7は、本実施例1に係る拡張訓練データテーブルのデータ構造の一例を示す図である。 図8は、本実施例1に係るパラメータテーブルのデータ構造の一例を示す図である。 図9は、本実施例1に係る参照特徴量データベースのデータ構造の一例を示す図である。 図10は、本実施例1に係る中間特徴量データベースのデータ構造の一例を示す図である。 図11は、データ拡張の一例を説明するための図である。 図12は、本実施例1に係る学習装置の処理手順を示すフローチャートである。 図13は、本実施例1に係る学習装置の効果を説明するための図である。 図14は、学習装置のその他の処理(1)の一例を説明するための図(1)である。 図15は、学習装置のその他の処理(1)の一例を説明するための図(2)である。 図16は、学習装置のその他の処理(2)を説明するための図である。 図17は、本実施例に係る学習装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。 図18は、従来技術を説明するための図である。 図19は、従来技術の問題を説明するための図(1)である。 図20は、従来技術の問題を説明するための図(2)である。
以下に、本願の開示する学習方法、学習プログラムおよび学習装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
図1~図4は、本実施例1に係る学習装置の処理を説明するための図である。図1について説明する。図1において、深層学習モデル50は、第1NN50aと、第2NN50bとを有する。第1NN50aは、訓練データが入力された場合、中間特徴量を算出するNNである。第2NN50bは、中間特徴量が入力された場合、出力ラベルを算出するNNである。データベース140Pは、顧客Pのオリジナルの訓練データを保存するデータベースである。たとえば、データベース140Pは、訓練データxP1,xP2を保存する。データベース140Pは、他の訓練データを保存していてもよい。
学習装置は、訓練データxP1,xP2に対してデータ拡張を実行することで、訓練データxP1.1,xP2.1を生成する。学習装置は、訓練データxP1.1を第1NN50aに入力し、中間特徴量zP1.1を算出する。学習装置は、訓練データxP2.1を第1NN50aに入力し、中間特徴量zP2.1を算出する。
学習装置は、中間特徴量zP1.1を第2NN50bに入力し、出力ラベルyP1.1’を算出する。学習装置は、中間特徴量zP2.1を第2NN50bに入力し、出力ラベルyP2.1’を算出する。
学習装置は、出力ラベルyP1.1’と、訓練データxP1の正解ラベル(図示略)との誤差を算出する。学習装置は、出力ラベルyP2.1’と、訓練データxP2の正解ラベル(図示略)との誤差を算出する。学習装置は、誤差逆伝播法を用いて、誤差が小さくなるように、第1NN50aのパラメータおよび第2NN50bのパラメータを学習する。
また、学習装置は、中間特徴量zP1.1と、訓練データxP1の参照特徴量zP1との類似度を算出する。学習装置は、中間特徴量zP2.1と、訓練データxP2の参照特徴量zP2との類似度を算出する。学習装置は、誤差逆伝播法を用いて、類似度が大きくなるように、第1NN50aのパラメータおよび参照特徴量zP1,zP2を学習する。
図2の説明に移行する。訓練データxP1,xP2に対してデータ拡張を実行することで、訓練データxP1.2,xP2.2を生成する。学習装置は、訓練データxP1.2を第1NN50aに入力し、中間特徴量zP1.2を算出する。学習装置は、訓練データxP2.2を第1NN50aに入力し、中間特徴量zP2.2を算出する。
学習装置は、中間特徴量zP1.2を第2NN50bに入力し、出力ラベルyP1.2’を算出する。学習装置は、中間特徴量zP2.2を第2NN50bに入力し、出力ラベルyP2.2’を算出する。
学習装置は、出力ラベルyP1.2’と、訓練データxP1の正解ラベル(図示略)との誤差を算出する。学習装置は、出力ラベルyP2.2’と、訓練データxP2の正解ラベル(図示略)との誤差を算出する。学習装置は、誤差逆伝播法を用いて、誤差が小さくなるように、第1NN50aのパラメータおよび第2NN50bのパラメータを学習する。
また、学習装置は、中間特徴量zP1.2と、訓練データxP1の参照特徴量zP1との類似度を算出する。学習装置は、中間特徴量zP2.2と、訓練データxP2の参照特徴量zP2との類似度を算出する。学習装置は、誤差逆伝播法を用いて、類似度が大きくなるように、第1NN50aのパラメータおよび参照特徴量zP1,zP2を学習する。
学習装置は、データベース140Pに保存された他の訓練データについても上記処理を繰り返し実行し、第1NNのパラメータ、第2NNのパラメータ、各訓練データに対応する各参照特徴量を学習する。学習された参照特徴量(zP1、zP2、図示しない他のオリジナルデータの参照特徴量)は、参照特徴量データベース144に保存される。
図3の説明に移行する。学習装置は、深層学習モデル50の学習が完了すると、データベース140Pの情報を、顧客Pに返却または破棄する。学習装置は、深層学習モデル50で学習した第1NN50aのパラメータおよび第2NN50bのパラメータ、参照特徴量データベース144の参照特徴量、顧客Qのオリジナルの訓練データを用いて、深層学習モデル51を逐次学習する。顧客Qのオリジナルの訓練データは、データベース140Qに保存される。
深層学習モデル51は、第1NN51aと、第2NN51bとを有する。学習装置は、第1NN51aのパラメータとして、第1NN50aの学習済みのパラメータを設定する。学習装置は、第2NN51bのパラメータとして、第2NN50bの学習済みのパラメータを設定する。深層学習モデル51では、第1NN51aのパラメータの学習を行わない。
学習装置は、データベース140Qの訓練データxQ1を、第1NN51aに入力し、中間特徴量zQ1を算出し、中間特徴量zQ1を中間特徴量データベース145Qに保存する。学習装置は、データベース140Qの訓練データxQ2を、第1NN51aに入力し、中間特徴量zQ2を算出し、中間特徴量zQ2を中間特徴量データベース145Qに保存する。
学習装置は、参照特徴量データベース144に格納された参照特徴量zP1を、第2NN51bに入力し、出力ラベルyP1’を算出する。学習装置は、参照特徴量データベース144に格納された参照特徴量zP2を、第2NN51bに入力し、出力ラベルyP2’を算出する。学習装置は、中間特徴量データベース145Qに格納された中間特徴量zQ1を、第2NN51bに入力し、出力ラベルyQ1’を算出する。学習装置は、中間特徴量データベース145Qに格納された中間特徴量zQ2を、第2NN51bに入力し、出力ラベルyQ2’を算出する。
学習装置は、出力ラベルyP1’と正解ラベル(図示略、以下同様)との誤差を算出する。学習装置は、出力ラベルyP2’と正解ラベルとの誤差を算出する。学習装置は、出力ラベルyQ1’と正解ラベルとの誤差を算出する。学習装置は、出力ラベルyQ2’と正解ラベルとの誤差を算出する。学習装置は、誤差逆伝播法を用いて、誤差が小さくなるように、第2NN51bのパラメータを学習する。
学習装置は、データベース140Qに保存された他の訓練データについても上記処理を繰り返し実行し、第2NN51bのパラメータを学習する。学習装置は、深層学習モデル51の学習が完了すると、データベース140Qの情報を、顧客Qに返却または破棄する。
図4の説明に移行する。学習装置は、顧客Rのオリジナルの訓練データと、他のデータを用いて、深層学習モデル52を逐次学習する。顧客Rのオリジナルの訓練データxR1,xR2は、データベース140Rに保存される。データベース140Rには、顧客Rの他の訓練データが保存されていてもよい。
他のデータは、深層学習モデル50で学習した第1NN50aのパラメータ、深層学習モデル51で学習した第2NN51bのパラメータ、参照特徴量データベース144の参照特徴量、中間特徴量データベース145Qの中間特徴量が含まれる。
深層学習モデル52は、第1NN52aと、第2NN52bとを有する。学習装置は、第1NN52aのパラメータとして、第1NN50a(第1NN51aでもよい)の学習済みのパラメータを設定する。学習装置は、第2NN52bのパラメータとして、第2NN51bの学習済みのパラメータを設定する。
学習装置は、データベース140Rの訓練データxR1を、第1NN52aに入力し、中間特徴量zR1を算出し、中間特徴量zR1を中間特徴量データベース145Rに保存する。学習装置は、データベース140Rの訓練データxR2を、第1NN52aに入力し、中間特徴量zR2を算出し、中間特徴量zR2を中間特徴量データベース145Rに保存する。
学習装置は、参照特徴量データベース144に格納された参照特徴量zP1を、第2NN52bに入力し、出力ラベルyP1’を算出する。学習装置は、参照特徴量データベース144に格納された参照特徴量zP2を、第2NN52bに入力し、出力ラベルyP2’を算出する。学習装置は、中間特徴量データベース145Qに格納された中間特徴量zQ1を、第2NN52bに入力し、出力ラベルyQ1’を算出する。学習装置は、参照特徴量データベース144に格納された中間特徴量zQ2を、第2NN52bに入力し、出力ラベルyQ2’を算出する。
学習装置は、出力ラベルyP1’と正解ラベル(図示略、以下同様)との誤差を算出する。学習装置は、出力ラベルyP2’と正解ラベルとの誤差を算出する。学習装置は、出力ラベルyQ1’と正解ラベルとの誤差を算出する。学習装置は、出力ラベルyQ2’と正解ラベルとの誤差を算出する。学習装置は、出力ラベルyR1’と正解ラベルとの誤差を算出する。学習装置は、出力ラベルyR2’と正解ラベルとの誤差を算出する。学習装置は、誤差逆伝播法を用いて、誤差が小さくなるように、第2NN52bのパラメータを学習する。
学習装置は、データベース140Rに保存された他の訓練データについても上記処理を繰り返し実行し、第2NN52bのパラメータを学習する。学習装置は、深層学習モデル52の学習が完了すると、データベース140Rの情報を、顧客Rに返却または破棄する。
上記のように、本実施例1に係る学習装置は、初回の学習時において、データ拡張した訓練データを第1NNに入力した際の中間特徴量がそれぞれ参照特徴量に近づくように、第1NNのパラメータ、参照特徴量の学習を行う。学習装置は、2回目の逐次学習において、初回の学習時に学習した参照特徴量を流用すると共に、新規の訓練データを用いて、第2NNのパラメータを学習する処理を行う。各参照特徴量は、オリジナルの訓練データをデータ拡張した複数の訓練データの中間特徴量を代表する特徴量と言える。データ拡張した各訓練データの有用な情報が、参照特徴量に残されている。したがって、かかる参照特徴量を用いて、第2NNの逐次学習を行うことで、データ量を減らしつつ、データ拡張した訓練データの特徴量を引き継いで利用し、深層学習モデルの学習精度を向上させることができる。
次に、本実施例1に係る学習装置の構成の一例について説明する。図5は、本実施例1に係る学習装置の構成を示す機能ブロック図である。図5に示すように、この学習装置100は、通信部110と、入力部120と、表示部130と、記憶部140と、制御部150とを有する。
通信部110は、ネットワーク等を介して外部装置(図示略)とデータ通信を実行する処理部である。通信部110は、通信装置に対応する。たとえば、通信部110は、後述する学習データベース141の情報を、各顧客の外部装置等から受信する。後述する制御部150は、通信部110を介して、外部装置とデータをやり取りする。
入力部120は、各種の情報を学習装置100に入力するための入力装置である。たとえば、入力部120は、キーボードやマウス、タッチパネル等に対応する。
表示部130は、制御部150から出力される各種の情報を表示する表示装置である。たとえば、表示部130は、液晶ディスプレイ、タッチパネル等に対応する。
記憶部140は、学習データベース141と、拡張訓練データテーブル142と、パラメータテーブル143と、参照特徴量データベース144と、中間特徴量データベース145とを有する。記憶部140は、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ(Flash Memory)などの半導体メモリ素子や、HDD(Hard Disk Drive)などの記憶装置に対応する。
学習データベース141は、各顧客から通知されるデータベースの情報を格納する。たとえば、顧客から通知されるデータベースは、上記のデータベース140P,140Q,140Rに対応する。学習データベース141は、データベース140P,140Q,140Rのうち、いずれか一つのデータベースの情報を保存し、保存したデータベースを用いて、深層学習モデルの学習を行う。学習が終了し、返却指示、破棄指示等を受け付けた場合には、学習データベース141に保存された、対象情報は削除される。
図6は、本実施例1に係る学習データベースのデータ構造の一例を示す図である。図6に示すように、この学習データベース141は、データ番号と、訓練データと、正解ラベルとを対応付ける。データ番号は、オリジナルの訓練データを一意に識別する番号である。たとえば、訓練データ「xP1」に対応する正解ラベルは「yP1」であり、訓練データ「xP1」のデータ番号は「p001」である。
拡張訓練データテーブル142は、オリジナルの訓練データを元にデータ拡張された訓練データを保持するテーブルである。図7は、本実施例1に係る拡張訓練データテーブルのデータ構造の一例を示す図である。図7に示すように、この拡張訓練データテーブル142は、データ番号と、データ拡張された訓練データと、正解ラベルとを対応付ける。データ番号は、データ拡張の元となるオリジナルの訓練データを一意に識別する番号である。データ拡張された訓練データに対応する正解ラベルは、データ番号に対応するオリジナルの訓練データに対応付けられた正解ラベルとなる。
パラメータテーブル143は、第1NNのパラメータおよび第2NNのパラメータを保持するテーブルである。図8は、本実施例1に係るパラメータテーブルのデータ構造の一例を示す図である。図8に示すように、パラメータテーブル143は、識別情報と、パラメータとを対応付ける。識別情報は、各NNを識別する情報である。パラメータは、各NNに設定されるパラメータである。NNは複数の層を有し、各層には複数のノードが含まれ、各ノードがエッジで結ばれる構造となっている。各層は、活性化関数と呼ばれる関数とバイアス値とを持ち、エッジは、重みを持つ。本実施例1では、NNに設定されるバイアス値、重み等をまとめて「パラメータ」と表記する。
参照特徴量データベース144は、初回のオリジナルの各訓練データに対してそれぞれ設定される参照特徴量を保存するデータベースである。図9は、本実施例1に係る参照特徴量データベースのデータ構造の一例を示す図である。図9に示すように、参照特徴量データベース144は、データ番号と、参照特徴量と、正解ラベルとを対応付ける。データ番号は、オリジナルの訓練データを一意に識別する番号である。参照特徴量の初期値は予め設定されているものとする。正解ラベルは、データ番号に対応するオリジナルの訓練データに対応付けられた正解ラベルとなる。
中間特徴量データベース145は、訓練データを第1NNに入力することで算出される中間特徴量を保存するデータベースである。図10は、本実施例1に係る中間特徴量データベースのデータ構造の一例を示す図である。図10に示すように、中間特徴量データベース145は、データ番号と、中間特徴量と、正解ラベルとを対応付ける。データ番号は、第1NNに入力する前の訓練データを、一意に識別する番号である。中間特徴量は、訓練データを第1NNに入力することで算出される特徴量である。正解ラベルは、データ番号に対応するオリジナルの訓練データに対応付けられた正解ラベルとなる。
図5の説明に戻る。制御部150は、取得部150aと、拡張部150bと、第1学習部150cと、第2学習部150dとを有する。制御部150は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などによって実現できる。また、制御部150は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などのハードワイヤードロジックによっても実現できる。
取得部150aは、各顧客の外部装置等から、学習データベース141の情報を取得する処理部である。取得部150aは、取得した学習データベース141の情報を、学習データベース141に格納する。たとえば、取得部150aは、顧客Pのデータベース140Pの情報を取得すると、取得したデータベース140Pの情報を、学習データベース141に保存する。取得部150aは、顧客Qのデータベース140Qの情報を取得すると、取得したデータベース140Qの情報を、学習データベース141に保存する。取得部150aは、顧客Rのデータベース140Rの情報を取得すると、取得したデータベース140Rの情報を、学習データベース141に保存する。
ところで、取得部150aは、学習データベース141に、データベース140Pの情報が保存されており、かかるデータベース140Pの返却要求を取得した場合には、次の処理を行う。取得部150aは、データベース140Pの情報を、顧客Pの外部装置に送信し、学習データベース141に保存されたデータベース140Pの情報を削除する。取得部150aは、データベース140Pを基に学習した深層学習モデル50の情報を、顧客Pの外部装置に送信してもよい。
取得部150aは、学習データベース141に、データベース140Qの情報が保存されており、かかるデータベース140Qの返却要求を取得した場合には、次の処理を行う。取得部150aは、データベース140Qの情報を、顧客Qの外部装置に送信し、学習データベース141に保存されたデータベース140Qの情報を削除する。取得部150aは、データベース140Qを基に学習した深層学習モデル51の情報を、顧客Qの外部装置に送信してもよい。
取得部150aは、学習データベース141に、データベース140Rの情報が保存されており、かかるデータベース140Rの返却要求を取得した場合には、次の処理を行う。取得部150aは、データベース140Rの情報を、顧客Rの外部装置に送信し、学習データベース141に保存されたデータベース140Pの情報を削除する。取得部150aは、データベース140Rを基に学習した深層学習モデル52の情報を、顧客Rの外部装置に送信してもよい。
拡張部150bは、学習データベース141に保存されたオリジナルの訓練データに対してデータ拡張(data augmentation)を行うことで、複数の訓練データを生成する処理部である。たとえば、拡張部150bが行うデータ拡張は、訓練データにノイズ付加、平行移動、欠損等の加工する処理に対応する。
図11は、データ拡張の一例を説明するための図である。図11に示す例では、訓練データ群20Aには、訓練データ21A-1~21A-3、訓練データ22A-1~22A-3、訓練データ23A-1~23A-3が含まれる。たとえば、訓練データ群20Aには、正解ラベル「A」が対応付けられる。
訓練データ21A-2、21A-3は、オリジナルの訓練データ21A-1に対してデータ拡張することで得られるデータである。訓練データ22A-2、22A-3は、オリジナルの訓練データ22A-1に対してデータ拡張することで得られるデータである。訓練データ23A-2、23A-3は、オリジナルの訓練データ23A-1に対してデータ拡張することで得られるデータである。
訓練データ群20Bには、訓練データ21B-1~21B-3、訓練データ22B-1~22B-3、訓練データ23B-1~23B-3が含まれる。たとえば、訓練データ群20Aには、正解ラベル「B」が対応付けられる。
訓練データ21B-2、21B-3は、オリジナルの訓練データ21B-1に対してデータ拡張することで得られるデータである。訓練データ22B-2、22B-3は、オリジナルの訓練データ22B-1に対してデータ拡張することで得られるデータである。訓練データ23B-2、23B-3は、オリジナルの訓練データ23B-1に対してデータ拡張することで得られるデータである。
一例として、図11を用いて説明すると、拡張部150bは、訓練データ21A-1に対するデータ拡張を行うことで、訓練データ21A-2、21A-3を生成する。
拡張部150bは、オリジナルの訓練データのデータ番号と、データ拡張した訓練データと、オリジナルの訓練データに対応する正解ラベルとを対応付けて、拡張訓練データテーブル142に保存する。拡張部150bは、初回に学習データベース141に保存される情報(たとえば、データベース140Pの情報)の各訓練データに対して、上記処理を繰り返し実行する。
第1学習部150cは、拡張訓練データテーブル142に保存された訓練データ(データ拡張された訓練データ)を基にして、初回の深層学習モデル50の学習を行う処理部である。たとえば、第1学習部150cは、中間特徴量を生成する処理、中間特徴量の類似度を算出する処理、学習する処理を実行する。
第1学習部150cが実行する「中間特徴量を生成する処理」について説明する。第1学習部150cは、第1NN50aを実行し、パラメータテーブル143に保存されたパラメータθ1を第1NN50aのパラメータとして設定する。第1学習部150cは、拡張訓練データテーブル142から、同一の訓練データを元にデータ拡張された複数の訓練データを取得し、取得した複数の訓練データを、順に第1NN50aに入力する。第1学習部150cは、第1NN50aに設定されたパラメータθ1を用いて、複数の訓練データの中間特徴量をそれぞれ算出する。
第1学習部150cは、同一の訓練データを元にデータ拡張された複数の訓練データに対応する中間特徴量と、複数の訓練データに対応付けられた正解ラベルとを対応付けて保持する。
図1を用いて説明すると、第1学習部150cは、データ拡張された訓練データxP1.1を、第1NN50aに入力することで、中間特徴量zP1.1を算出する。中間特徴量zP1.1の正解ラベルは、訓練データxP1に対応する正解ラベルとなる。第1学習部150cは、データ拡張された訓練データxP2.1を、第1NN50aに入力することで、中間特徴量zP2.1を算出する。中間特徴量zP2.1の正解ラベルは、訓練データxP2に対応する正解ラベルとなる。
続いて、第1学習部150cが実行する「中間特徴量の類似度を算出する処理」について説明する。たとえば、第1学習部150cは、データ番号に対応する参照特徴量と、このデータ番号に対応する中間特徴量との2乗誤差を類似度として算出する。2乗誤差が小さいほど、参照特徴量と、中間特徴量とが類似していることを意味する。
図1を用いて説明すると、中間特徴量zP1.1と、参照特徴量zP1との類似度は、中間特徴量zP1.1と、参照特徴量zP1との2乗誤差である。中間特徴量zP2.1と、参照特徴量zP2との類似度は、中間特徴量zP2.1と、参照特徴量zP2との2乗誤差である。
第1学習部150cが実行する「学習する処理」について説明する。第1学習部150cは、第2NN50bを実行し、パラメータテーブル143に保存されたパラメータθ2を第2NN50bのパラメータとして設定する。
第1学習部150cは、「中間特徴量を生成する処理」において算出した中間特徴量を、第2NN50bに入力する。第1学習部150cは、第2NN50bに設定されたパラメータθ2を用いて、出力ラベルを算出する。
第1学習部150cの処理を、図1を用いて説明する。第1学習部150cは、中間特徴量zP1.1を第2NN50bに入力することで、出力ラベルyP1.1’を算出する。第1学習部150cは、中間特徴量zP2.1を第2NN50bに入力することで、出力ラベルyP2.1’を算出する。
第1学習部150cは、出力ラベルyP1.1’と、訓練データxP1の正解ラベルyP1.1(図示略)との誤差を算出する。第1学習部150cは、出力ラベルyP2.1’と、訓練データxP2の正解ラベルyP2.1(図示略)との誤差を算出する。第1学習部150cは、誤差逆伝播法を用いて、誤差が小さくなるように、第1NN50aのパラメータθ1および第2NN50bのパラメータθ2を学習する。
また、第1学習部150cは、中間特徴量zP1.1と、訓練データxP1の参照特徴量zP1との類似度が上がるように、第1NN50aのパラメータθ1および参照特徴量zP1を学習する。第1学習部150cは、中間特徴量zP2.1と、訓練データxP1の参照特徴量zP2との類似度が上がるように、第1NN50aのパラメータθ1および参照特徴量zP2を学習する。
第1学習部150cは、学習データベース141(データベース140P)に保存された顧客Pの各訓練データに対して、上記処理を繰り返し実行することで、第1NN50aのパラメータθ1、第2NN50bのパラメータθ2、参照特徴量を学習する。第1学習部150cは、学習が完了した後に、学習したパラメータθ1,θ2によって、パラメータテーブル143を更新する。第1学習部150cは、学習した参照特徴量によって、参照特徴量データベース144を更新する。
ここで、学習データベース141(データベース140P)に保存された顧客Pの各訓練データを用いた深層学習モデル50の学習が完了すると、データベース140Pの情報が、学習データベース141から削除される。続いて、取得部150aによって、顧客Qのデータベース140Qの情報が、学習データベース141に保存され、後述する第2学習部150dの処理が実行される。
第2学習部150dは、学習データベース141の訓練データと、パラメータテーブル143と、参照特徴量データベース144を基にして、深層学習モデルを逐次学習する処理部である。まず、学習データベース141には、顧客Qのデータベース140Qの情報が格納されているものとする。たとえば、第2学習部150dは、中間特徴量を生成する処理(1)、学習する処理(1)を実行する。
第2学習部150dが実行する「中間特徴量を生成する処理(1)」について説明する。第2学習部150dは、第1NN51aを実行し、パラメータテーブル143に保存されたパラメータθ1を第1NN51aのパラメータとして設定する。第2学習部150dは、学習データベース141に保存された訓練データを、順に第1NN51aに入力する。第2学習部150dは、第1NN51aに設定されたパラメータθ1を用いて、複数の訓練データの中間特徴量をそれぞれ算出する。
第2学習部150dは、訓練データのデータ番号と、訓練データから算出した中間特徴量と、訓練データに対応付けられた正解ラベルとを対応付けて、中間特徴量データベース145(145Q)に保存する。
図3を用いて説明すると、第2学習部150dは、訓練データxQ1を、第1NN51aに入力することで、中間特徴量zQ1を算出する。第2学習部150dは、訓練データxQ1のデータ番号と、中間特徴量zQ1と、訓練データxQ1の正解ラベルとを対応付けて、中間特徴量データベース145(145Q)に保存する。
第2学習部150dは、訓練データxQ2を、第1NN51aに入力することで、中間特徴量zQ2を算出する。第2学習部150dは、訓練データxQ2のデータ番号と、中間特徴量zQ2と、訓練データxQ2の正解ラベルとを対応付けて、中間特徴量データベース145(145Q)に保存する。
続いて、第2学習部150dが実行する「学習する処理(1)」について説明する。第2学習部150dは、第2NN51bを実行し、パラメータテーブル143に保存されたパラメータθ2を第2NN51bのパラメータとして設定する。
第2学習部150dは、参照特徴量データベース144に保存された参照特徴量を、第2NN51bに入力し、パラメータθ2を用いて、出力ラベルを算出する。また、第2学習部150dは、中間特徴量データベース145に保存された中間特徴量を、第2NN51bに入力し、パラメータθ2を用いて、出力ラベルを算出する。
第2学習部150dの処理を、図3を用いて説明する。第2学習部150dは、参照特徴量データベース144の参照特徴量zP1を第2NN51bに入力することで、出力ラベルyP1’を算出する。第2学習部150dは、参照特徴量データベース144の参照特徴量zP2を第2NN51bに入力することで、出力ラベルyP2’を算出する。
第2学習部150dは、中間特徴量データベース145(145Q)の中間特徴量zQ1を第2NN51bに入力することで、出力ラベルyQ1’を算出する。第2学習部150dは、中間特徴量データベース145(145Q)の中間特徴量zQ2を第2NN51bに入力することで、出力ラベルyQ2’を算出する。
第2学習部150dは、出力ラベルyP1.1’と、参照特徴量zP1の正解ラベルyP1.1(図示略)との誤差を算出する。第2学習部150dは、出力ラベルyP2.1’と、参照特徴量zP2の正解ラベルyP2.1(図示略)との誤差を算出する。
第2学習部150dは、出力ラベルyQ1’と、中間特徴量zQ1の正解ラベルyQ1(図示略)との誤差を算出する。第2学習部150dは、出力ラベルyQ2’と、中間特徴量zQ2の正解ラベルyQ2(図示略)との誤差を算出する。
第2学習部150dは、誤差逆伝播法を用いて、誤差が小さくなるように、第2NN51bのパラメータθ2を学習する。
第2学習部150dは、学習データベース141(データベース140Q)に保存された顧客Qの各訓練データに対して、上記処理を繰り返し実行することで、第2NN51bのパラメータθ2を学習する。第2学習部150dは、学習したパラメータθ2によって、パラメータテーブル143を更新する。また、第2学習部150dは、学習の過程おいて生成する各中間特徴量を、中間特徴量データベース145に保存する。
ここで、学習データベース141(データベース140Q)に保存された顧客Qの各訓練データを用いた深層学習モデル51の学習が完了すると、データベース140Qの情報が、学習データベース141から削除される。続いて、取得部150aによって、顧客Rのデータベース140Rの情報が、学習データベース141に保存され、後述する第2学習部150dの処理が実行される。
学習データベース141には、顧客Rのデータベース140Rの情報が格納されているものとする。たとえば、第2学習部150dは、上記のデータベース140Qを用いた処理と同様にして、中間特徴量を生成する処理(2)、学習する処理(2)を実行する。
第2学習部150dが実行する「中間特徴量を生成する処理(2)」について説明する。第2学習部150dは、第1NN52aを実行し、パラメータテーブル143に保存されたパラメータθ1を第1NN52aのパラメータとして設定する。第2学習部150dは、学習データベース141に保存された訓練データを、順に第1NN52aに入力する。第2学習部150dは、第1NN52aに設定されたパラメータθ1を用いて、複数の訓練データの中間特徴量をそれぞれ算出する。
第2学習部150dは、訓練データのデータ番号と、訓練データから算出した中間特徴量と、訓練データに対応付けられた正解ラベルとを対応付けて、中間特徴量データベース145(145R)に保存する。
図4を用いて説明すると、第2学習部150dは、訓練データxR1を、第1NN52aに入力することで、中間特徴量zR1を算出する。第2学習部150dは、訓練データxR1のデータ番号と、中間特徴量zR1と、訓練データxR1の正解ラベルとを対応付けて、中間特徴量データベース145(145R)に保存する。
第2学習部150dは、訓練データxR2を、第1NN52aに入力することで、中間特徴量zR2を算出する。第2学習部150dは、訓練データxR2のデータ番号と、中間特徴量zR2と、訓練データxR2の正解ラベルとを対応付けて、中間特徴量データベース145(145R)に保存する。
続いて、第2学習部150dが実行する「学習する処理(2)」について説明する。第2学習部150dは、第2NN52bを実行し、パラメータテーブル143に保存されたパラメータθ2を第2NN52bのパラメータとして設定する。
第2学習部150dは、参照特徴量データベース144に保存された参照特徴量を、第2NN52bに入力し、パラメータθ2を用いて、出力ラベルを算出する。また、第2学習部150dは、中間特徴量データベース145(145Q)に保存された中間特徴量を、第2NN51bに入力し、パラメータθ2を用いて、出力ラベルを算出する。
第2学習部150dの処理を、図4を用いて説明する。第2学習部150dは、参照特徴量データベース144の参照特徴量zP1を第2NN52bに入力することで、出力ラベルyP1’を算出する。第2学習部150dは、参照特徴量データベース144の参照特徴量zP2を第2NN52bに入力することで、出力ラベルyP2’を算出する。
第2学習部150dは、中間特徴量データベース145(145Q)の中間特徴量zQ1を第2NN52bに入力することで、出力ラベルyQ1’を算出する。第2学習部150dは、中間特徴量データベース145(145Q)の中間特徴量zQ2を第2NN52bに入力することで、出力ラベルyQ2’を算出する。
第2学習部150dは、中間特徴量データベース145(145R)の中間特徴量zR1を第2NN52bに入力することで、出力ラベルyR1’を算出する。第2学習部150dは、中間特徴量データベース145(145R)の中間特徴量zR2を第2NN52bに入力することで、出力ラベルyR2’を算出する。
第2学習部150dは、出力ラベルyP1.1’と、参照特徴量zP1の正解ラベルyP1.1(図示略)との誤差を算出する。第2学習部150dは、出力ラベルyP2.1’と、参照特徴量zP2の正解ラベルyP2.1(図示略)との誤差を算出する。
第2学習部150dは、出力ラベルyQ1’と、中間特徴量zQ1の正解ラベルyQ1(図示略)との誤差を算出する。第2学習部150dは、出力ラベルyQ2’と、中間特徴量zQ2の正解ラベルyQ2(図示略)との誤差を算出する。
第2学習部150dは、出力ラベルyR1’と、中間特徴量zR1の正解ラベルyR1(図示略)との誤差を算出する。第2学習部150dは、出力ラベルyR2’と、中間特徴量zR2の正解ラベルyR2(図示略)との誤差を算出する。
第2学習部150dは、誤差逆伝播法を用いて、誤差が小さくなるように、第2NN52のパラメータθ2を学習する。
第2学習部150dは、学習データベース141(データベース140R)に保存された顧客Rの各訓練データに対して、上記処理を繰り返し実行することで、第2NN52bのパラメータθ2を学習する。第2学習部150dは、学習したパラメータθ2によって、パラメータテーブル143を更新する。また、第2学習部150dは、学習の過程おいて生成する各中間特徴量を、中間特徴量データベース145に保存する。
第1学習部150c、第2学習部150dは、上記処理を実行することで、深層学習モデル50、51,52のパラメータを逐次学習する。第1学習部150c、第2学習部150dは、深層学習モデル50、51,52のパラメータをそれぞれ区別して、パラメータテーブル143に保存してもよい。
次に、本実施例1に係る学習装置100の処理手順の一例について説明する。図12は、本実施例1に係る学習装置の処理手順を示すフローチャートである。図12では一例として、2回目の逐次学習を行う場合の処理について説明する。図12に示すように、学習装置100の拡張部150bは、学習データベース141から、初回のオリジナルの訓練データを取得する(ステップS101)。
拡張部150bは、オリジナルの訓練データに対してデータ拡張を実行し、複数の訓練データを生成する(ステップS102)。学習装置100の第1学習部150cは、第1NN50aに訓練データを入力して、中間特徴量を生成する(ステップS103)。
第1学習部150cは、第2NN50bに中間特徴量を入力して出力ラベルを算出する。第1学習部150cは、中間特徴量と参照特徴量との類似度を算出する(ステップS104)。
第1学習部150cは、出力ラベルと正解ラベルとの誤差が小さくなり、かつ、中間特徴量と参照特徴量との類似度が上がるように、パラメータθ1,θ2、参照特徴量を学習する(ステップS105)。第1学習部150cは、初回の学習が終了していない場合には(ステップS106,No)、ステップS101に移行する。一方、第1学習部150cは、初回の学習が終了した場合には(ステップS106,Yes)、ステップS107に移行する。
第1学習部150cは、初回の参照特徴量を参照特徴量データベース144に保存する(ステップS107)。第2学習部150dは、学習データベースから、2回目のオリジナルの訓練データを取得する(ステップS108)。
第2学習部150dは、第1NN51aに訓練データを入力して、中間特徴量を生成する(ステップS109)。第2学習部150dは、参照特徴量と、中間特徴量とを第2NN51bに入力し、出力ラベルを算出する(ステップS110)。
第2学習部150dは、出力ラベルと正解ラベルとの誤差が小さくなるように、パラメータθ1を学習する(ステップS111)。第2学習部150dは、2回目の学習が終了していない場合には(ステップS112,No)、ステップS108に移行する。一方、第2学習部150dは、2回目の学習が終了した場合には(ステップS112,Yes)、処理を終了する。
図12に示す処理では、2回目の学習を行う場合の処理について説明したが、3回目移動の学習についても、同様に実行することができる。たとえば、第2学習部150dは、ステップS108~S112に対応する処理を、学習毎に実行する。
次に、本実施例1に係る学習装置100の効果について説明する。学習装置100は、初回の学習時において、データ拡張した訓練データを第1NNに入力した際の中間特徴量がそれぞれ参照特徴量に近づくように、第1NNのパラメータθ1、参照特徴量の学習を行う。学習装置100は、2回目の逐次学習において、初回の学習時に学習した参照特徴量を流用すると共に、新規の訓練データを用いて、第2NNのパラメータθ2を学習する処理を行う。各参照特徴量は、オリジナルの訓練データをデータ拡張した複数の訓練データの中間特徴量を代表する特徴量と言える。データ拡張した各訓練データの有用な情報が、参照特徴量に残されている。したがって、かかる参照特徴量を用いて、第2NNの逐次学習を行うことで、データ量を減らしつつ、データ拡張した訓練データの特徴量を引き継いで利用し、深層学習モデルの学習精度を向上させることができる。
図13は、本実施例1に係る学習装置の効果を説明するための図である。実施例1で説明したように、学習装置100は、顧客Pの訓練データxP1をデータ拡張することで、訓練データxP1.1,xP1.2,xP1.3を生成する。学習装置100は、訓練データxP1.1,xP1.2,xP1.3を第1NN50aに入力して、中間特徴量zP1.1,zP1.2,zP1.3を算出する。学習装置100は、中間特徴量zP1.1,zP1.2,zP1.3を第1NN50aに入力して、出力ラベルyP1.1’,yP1.2’,yP1.3’を算出する。
ここで、学習装置100は、中間特徴量zP1.1,zP1.2,zP1.3が、訓練データxP1の参照特徴量zP1に近づくように、第1NN50aのパラメータ、参照特徴量zP1を学習し、学習した参照特徴量zP1を、参照特徴量データベース144に保存する。参照特徴量データベース144の参照特徴量zP1は、2回目以降の学習に利用される。
中間特徴量zP1.1,zP1.2,zP1.3は、参照特徴量zP1に近づくように学習されるため、中間特徴量zP1.1,zP1.2,zP1.3の違いは小さい。このため、中間特徴量zP1.1,zP1.2,zP1.3の代表として、参照特徴量zP1を、参照特徴量データベース144に保存することで、保存するデータ量を削減しても、データ拡張の効果を活かすことができる。
また、学習装置100は、1回目の学習で生成される第1NN50aのパラメータθ1を、2回目移行の学習にそのまま利用する。学習されたパラメータθ1を、第1NN51aに設定することで、第1NN51aは、データ正規化の機能を持つ。このため、ネットワーク規模が小さくなり、学習コストを下げることもできる。
実施例1で説明した学習装置100の処理は一例であり、学習装置100は、その他の処理を実行して、深層学習モデルのパラメータを学習してもよい。実施例2では、学習装置100が実行可能なその他の処理(1)、(2)について説明する。
学習装置100が実行するその他の処理(1)について説明する。学習装置100は、オリジナルの訓練データ毎に、参照特徴量を設定し、2乗誤差を評価の指標として、パラメータおよび参照特徴量を学習していたが、これに限定されるものでは無い。たとえば、学習装置100は、中間特徴量の平均μおよび分散σを参照特徴量とし、同一の訓練データからデータ拡張された複数の訓練データの中間特徴量の平均および分散が、参照特徴量に近づくように、パラメータおよび参照特徴量を学習してもよい。
図14および図15は、学習装置のその他の処理(1)の一例を説明するための図である。まず、図14について説明する。たとえば、学習装置100は、オリジナルの訓練データxP1に対応する参照特徴量(平均μP1、分散σP1)を設定する。特徴量生成部250cは、同一の訓練データxP1からデータ拡張した複数の訓練データxP1.1~xP1.3を順に第1NN50aに入力して、それぞれの中間特徴量zP1.1~zP1.3(図示略)を算出する。学習装置100は、それぞれの中間特徴量zP1.1~zP1.3の平均μP1.1、分散σP1.1を算出する。学習装置100は、KL(Kullback-Leibler)diviergenceを基にして、参照特徴量(平均μP1、分散σP1)の確率分布と、(平均μP1.1、分散σP1.1)の確率分布との距離を評価する。
学習装置100は、確率分布の距離が近くなるように、第1NN50aのパラメータおよび参照特徴量(平均μP1、分散σP1)を誤差逆伝播法によって学習する。また、学習装置100は、それぞれの中間特徴量zP1.1~zP1.3を、第2NN50bに入力した場合の出力ラベルyP1.1~yP1.3が、正解ラベルyP1に近づくように、第1NN50aのパラメータおよび第2NN50bのパラメータを誤差逆伝播法によって学習する。
すなわち、学習装置100は、出力ラベルと正解ラベルとの誤差を下げつつ、また、中間特徴量と参照特徴量との類似度が上がるように、第1NN50aおよび第2NN50bのパラメータθ1、θ2、参照特徴量(平均μP1、分散σP1)を学習する。学習装置100は、学習した参照特徴量(平均μP1、分散σP1)を、参照特徴量データベース144に保存する。学習装置100は、参照特徴量(平均μP1、分散σP1)を、参照特徴量データベース144に登録する場合には、正解ラベルyP1を対応付ける。学習装置100は、他のオリジナルの訓練データも同様にして、参照特徴量を学習し、参照特徴量データベース144に登録する。
図15の説明に移行する。学習装置100が2回目以降の学習を行う場合には、参照特徴量データベース144に保存された平均μP1、分散σP1の分布をサンプリングし、サンプリングした結果得られる中間特徴量を、第2NN51bに入力して、出力ラベルyP1.1’~yP1.3’を算出する。学習装置100は、出力ラベルyP1.1’~yP1.3’が、参照特徴量データベース144の正解ラベルyP1(図示略)に近づくように、第2NN51bのパラメータθ2を学習する。なお、データベース140Qに格納された訓練データxQ1を用いて、第2NN51bを学習する処理は、実施例1と同様である。
図14および図15で説明したように、参照特徴量を分布として学習することで、所望する数の中間特徴量をサンプリングして、2回目以降の学習時に利用することができる。
学習装置100が実行するその他の処理(2)について説明する。学習装置100は、初回のみオリジナルの訓練データをデータ拡張して深層学習モデルの学習を行っていたが、これに限定されるものではない。学習装置100は、2回目以降の学習においても、オリジナルの訓練データをデータ拡張して、学習を行ってもよい。
図16は、学習装置のその他の処理(2)を説明するための図である。図16に示すように、学習装置100は、データベース140Qに格納された顧客Qの訓練データxQ1をデータ拡張することで、訓練データxQ1.1,xQ1.2,xQ1.3を生成する。学習装置100は、訓練データxQ1.1,xQ1.2,xQ1.3を第1NN51aに入力することで、中間特徴量zQ1.1,zQ1.2,zQ1.3を算出する。
学習装置100は、中間特徴量zQ1.1,zQ1.2,zQ1.3を第2NN51bに入力することで、出力ラベルyQ1.1’,yQ1.2’,yQ1.3’を算出する。学習装置100は、出力ラベルyQ1.1’,yQ1.2’,yQ1.3’が、訓練データxQ1の正解ラベルyQ1(図示略)に近づくように、第2NN51bのパラメータθ2を学習する。また、学習装置100は、参照特徴量データベース144に保存された参照特徴量zP1を第2NN51bに入力して、出力ラベルyP1’を算出する。学習装置100は、出力ラベルyP1’が、正解ラベルyP1に近づくように、第2NN51bのパラメータθ2を学習する。
このように、学習装置100は、2回目以降の処理についても、データ拡張を実行することで、データ量を増加させることができる。
次に、本実施例に示した学習装置100と同様の機能を実現するコンピュータのハードウェア構成の一例について説明する。図17は、本実施例に係る学習装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
図17に示すように、コンピュータ300は、各種演算処理を実行するCPU301と、ユーザからのデータの入力を受け付ける入力装置302と、ディスプレイ303とを有する。また、コンピュータ300は、記憶媒体からプログラム等を読み取る読み取り装置304と、有線または無線ネットワークを介して、外部装置等との間でデータの授受を行うインタフェース装置305とを有する。コンピュータ300は、各種情報を一時記憶するRAM306と、ハードディスク装置307とを有する。そして、各装置301~307は、バス308に接続される。
ハードディスク装置307は、取得プログラム307a、拡張プログラム307b、第1学習プログラム307c、第2学習プログラム307dを有する。CPU301は、取得プログラム307a、拡張プログラム307b、第1学習プログラム307c、第2学習プログラム307dを読み出してRAM306に展開する。
取得プログラム307aは、取得プロセス306aとして機能する。拡張プログラム307bは、拡張プロセス306bとして機能する。第1学習プログラム307cは、第1学習プロセス306cとして機能する。第2学習プログラム307dは、第2学習プロセス306dとして機能する。
取得プロセス306aの処理は、取得部150aの処理に対応する。拡張プロセス306bの処理は、拡張部150bの処理に対応する。第1学習プロセス306cの処理は、第1学習部150cの処理に対応する。第2学習プロセス306dの処理は、第2学習部150dの処理に対応する。
なお、各プログラム307a~307dについては、必ずしも最初からハードディスク装置307に記憶させておかなくてもよい。例えば、コンピュータ300に挿入されるフレキシブルディスク(FD)、CD-ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ300が各プログラム307a~307dを読み出して実行するようにしてもよい。
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)コンピュータが実行する学習方法であって、
学習モデルに含まれる第1ネットワークおよび第2ネットワークを実行し、
第1元教師データをデータ拡張することで生成される複数の拡張教師データを前記第1ネットワークに入力することで算出される複数の中間特徴量に関して、同一の第1元教師データからデータ拡張された、複数の拡張教師データから算出される各中間特徴量が参照特徴量に類似するように、前記学習モデルのパラメータを学習し、
前記第1元教師データとは異なる第2元教師データと、前記参照特徴量とを用いて、前記第2ネットワークのパラメータを学習する
処理を実行することを特徴とする学習方法。
(付記2)前記第2ネットワークのパラメータを学習する処理は、前記第2元教師データを拡張することで生成される複数の拡張教師データを前記第1ネットワークに入力して算出される複数の中間特徴量と、前記参照特徴量とを用いて、前記第2ネットワークのパラメータを更新する学習を行うことを特徴とする付記1に記載の学習方法。
(付記3)前記学習モデルのパラメータを学習する処理は、同一の第1元教師データからデータ拡張された、複数の拡張教師データから算出される各中間特徴量の平均および分散が、参照特徴量に類似するように、前記学習モデルのパラメータおよび前記参照特徴量を学習することを特徴とする付記1または2に記載の学習方法。
(付記4)前記第1元教師データに対応する正解ラベルと、前記参照特徴量とを対応付けて記憶装置に記憶する処理を更に実行し、前記第2ネットワークのパラメータを学習する処理は、前記参照特徴量を前記第2ネットワークに入力することで算出される出力ラベルが、前記正解ラベルに近づくように、前記第2ネットワークのパラメータを学習することを特徴とする付記1、2または3に記載の学習方法。
(付記5)コンピュータに、
学習モデルに含まれる第1ネットワークおよび第2ネットワークを実行し、
第1元教師データをデータ拡張することで生成される複数の拡張教師データを前記第1ネットワークに入力することで算出される複数の中間特徴量に関して、同一の第1元教師データからデータ拡張された、複数の拡張教師データから算出される各中間特徴量が参照特徴量に類似するように、前記学習モデルのパラメータを学習し、
前記第1元教師データとは異なる第2元教師データと、前記参照特徴量とを用いて、前記第2ネットワークのパラメータを学習する
処理を実行させることを特徴とする学習プログラム。
(付記6)前記第2ネットワークのパラメータを学習する処理は、前記第2元教師データを拡張することで生成される複数の拡張教師データを前記第1ネットワークに入力して算出される複数の中間特徴量と、前記参照特徴量とを用いて、前記第2ネットワークのパラメータを更新する学習を行うことを特徴とする付記5に記載の学習プログラム。
(付記7)前記学習モデルのパラメータを学習する処理は、同一の第1元教師データからデータ拡張された、複数の拡張教師データから算出される各中間特徴量の平均および分散が、参照特徴量に類似するように、前記学習モデルのパラメータおよび前記参照特徴量を学習することを特徴とする付記5または6に記載の学習プログラム。
(付記8)前記第1元教師データに対応する正解ラベルと、前記参照特徴量とを対応付けて記憶装置に記憶する処理を更に実行し、前記第2ネットワークのパラメータを学習する処理は、前記参照特徴量を前記第2ネットワークに入力することで算出される出力ラベルが、前記正解ラベルに近づくように、前記第2ネットワークのパラメータを学習することを特徴とする付記5、6または7に記載の学習プログラム。
(付記9)学習モデルに含まれる第1ネットワークおよび第2ネットワークを実行し、
第1元教師データをデータ拡張することで生成される複数の拡張教師データを前記第1ネットワークに入力することで算出される複数の中間特徴量に関して、同一の第1元教師データからデータ拡張された、複数の拡張教師データから算出される各中間特徴量が参照特徴量に類似するように、前記学習モデルのパラメータを学習する第1学習部と、
前記第1元教師データとは異なる第2元教師データと、前記参照特徴量とを用いて、前記第2ネットワークのパラメータを学習する第2学習部と
を有することを特徴とする学習装置。
(付記10)前記第2学習部は、前記第2元教師データを拡張することで生成される複数の拡張教師データを前記第1ネットワークに入力して算出される複数の中間特徴量と、前記参照特徴量とを用いて、前記第2ネットワークのパラメータを更新する学習を行うことを特徴とする付記9に記載の学習装置。
(付記11)前記第1学習部は、同一の第1元教師データからデータ拡張された、複数の拡張教師データから算出される各中間特徴量の平均および分散が、参照特徴量に類似するように、前記学習モデルのパラメータおよび前記参照特徴量を学習することを特徴とする付記9または10に記載の学習装置。
(付記12)前記第1学習部は、前記第1元教師データに対応する正解ラベルと、前記参照特徴量とを対応付けて記憶装置に記憶する処理を更に実行し、前記第1学習部は、前記参照特徴量を前記第2ネットワークに入力することで算出される出力ラベルが、前記正解ラベルに近づくように、前記第2ネットワークのパラメータを学習することを特徴とする付記9、10または11に記載の学習装置。
100 学習装置
110 通信部
120 入力部
130 表示部
140 記憶部
141 学習データベース
142 拡張訓練データテーブル
143 パラメータテーブル
144 参照特徴量データベース
145 中間特徴量データベース
150 制御部
150a 取得部
150b 拡張部
150c 第1学習部
150d 第2学習部

Claims (6)

  1. コンピュータが実行する学習方法であって、
    学習モデルに含まれる第1ネットワークおよび第2ネットワークを実行し、
    第1元教師データをデータ拡張することで生成される複数の拡張教師データを前記第1ネットワークに入力することで算出される複数の中間特徴量に関して、同一の第1元教師データからデータ拡張された、複数の拡張教師データから算出される各中間特徴量が参照特徴量に類似するように、前記学習モデルのパラメータを学習し、
    前記第1元教師データとは異なる第2元教師データと、前記参照特徴量とを用いて、前記第2ネットワークのパラメータを学習する
    処理を実行することを特徴とする学習方法。
  2. 前記第2ネットワークのパラメータを学習する処理は、前記第2元教師データを拡張することで生成される複数の拡張教師データを前記第1ネットワークに入力して算出される複数の中間特徴量と、前記参照特徴量とを用いて、前記第2ネットワークのパラメータを更新する学習を行うことを特徴とする請求項1に記載の学習方法。
  3. 前記学習モデルのパラメータを学習する処理は、同一の第1元教師データからデータ拡張された、複数の拡張教師データから算出される各中間特徴量の平均および分散が、参照特徴量に類似するように、前記学習モデルのパラメータおよび前記参照特徴量を学習することを特徴とする請求項1または2に記載の学習方法。
  4. 前記第1元教師データに対応する正解ラベルと、前記参照特徴量とを対応付けて記憶装置に記憶する処理を更に実行し、前記第2ネットワークのパラメータを学習する処理は、前記参照特徴量を前記第2ネットワークに入力することで算出される出力ラベルが、前記正解ラベルに近づくように、前記第2ネットワークのパラメータを学習することを特徴とする請求項1、2または3に記載の学習方法。
  5. コンピュータに、
    学習モデルに含まれる第1ネットワークおよび第2ネットワークを実行し、
    第1元教師データをデータ拡張することで生成される複数の拡張教師データを前記第1ネットワークに入力することで算出される複数の中間特徴量に関して、同一の第1元教師データからデータ拡張された、複数の拡張教師データから算出される各中間特徴量が参照特徴量に類似するように、前記学習モデルのパラメータを学習し、
    前記第1元教師データとは異なる第2元教師データと、前記参照特徴量とを用いて、前記第2ネットワークのパラメータを学習する
    処理を実行させることを特徴とする学習プログラム。
  6. 学習モデルに含まれる第1ネットワークおよび第2ネットワークを実行し、
    第1元教師データをデータ拡張することで生成される複数の拡張教師データを前記第1ネットワークに入力することで算出される複数の中間特徴量に関して、同一の第1元教師データからデータ拡張された、複数の拡張教師データから算出される各中間特徴量が参照特徴量に類似するように、前記学習モデルのパラメータを学習する第1学習部と、
    前記第1元教師データとは異なる第2元教師データと、前記参照特徴量とを用いて、前記第2ネットワークのパラメータを学習する第2学習部と
    を有することを特徴とする学習装置。
JP2019006321A 2019-01-17 2019-01-17 学習方法、学習プログラムおよび学習装置 Active JP7156049B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2019006321A JP7156049B2 (ja) 2019-01-17 2019-01-17 学習方法、学習プログラムおよび学習装置
US16/736,911 US11409988B2 (en) 2019-01-17 2020-01-08 Method, recording medium, and device for utilizing feature quantities of augmented training data
CN202010021677.9A CN111444935A (zh) 2019-01-17 2020-01-09 学习方法、计算机可读记录介质和学习装置
EP20151398.3A EP3683735A1 (en) 2019-01-17 2020-01-13 Learning method, learning program, and learning device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019006321A JP7156049B2 (ja) 2019-01-17 2019-01-17 学習方法、学習プログラムおよび学習装置

Publications (2)

Publication Number Publication Date
JP2020115273A JP2020115273A (ja) 2020-07-30
JP7156049B2 true JP7156049B2 (ja) 2022-10-19

Family

ID=69159642

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019006321A Active JP7156049B2 (ja) 2019-01-17 2019-01-17 学習方法、学習プログラムおよび学習装置

Country Status (4)

Country Link
US (1) US11409988B2 (ja)
EP (1) EP3683735A1 (ja)
JP (1) JP7156049B2 (ja)
CN (1) CN111444935A (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6119431B2 (ja) 2013-05-31 2017-04-26 ブラザー工業株式会社 無線通信装置及び無線通信方法
US20180157934A1 (en) 2016-12-02 2018-06-07 Apple Inc. Inspection neural network for assessing neural network reliability
US20180253865A1 (en) 2017-03-02 2018-09-06 Adobe Systems Incorporated Image matting using deep learning

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06119431A (ja) * 1992-10-03 1994-04-28 Ricoh Co Ltd ワイヤボンダー等におけるパターン認識方法及び装置
JPH11126259A (ja) * 1997-06-02 1999-05-11 Matsushita Electric Ind Co Ltd 画像検出方法、画像検出装置、画像処理方法、画像処理装置、及び媒体
US11144889B2 (en) * 2016-04-06 2021-10-12 American International Group, Inc. Automatic assessment of damage and repair costs in vehicles
US10074038B2 (en) * 2016-11-23 2018-09-11 General Electric Company Deep learning medical systems and methods for image reconstruction and quality evaluation
JP6897335B2 (ja) * 2017-05-31 2021-06-30 富士通株式会社 学習プログラム、学習方法および物体検知装置
JP7006401B2 (ja) * 2018-03-13 2022-01-24 富士通株式会社 学習プログラム、学習方法および学習装置
JP7180393B2 (ja) * 2019-01-11 2022-11-30 富士通株式会社 学習プログラム、学習装置及び学習方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6119431B2 (ja) 2013-05-31 2017-04-26 ブラザー工業株式会社 無線通信装置及び無線通信方法
US20180157934A1 (en) 2016-12-02 2018-06-07 Apple Inc. Inspection neural network for assessing neural network reliability
US20180253865A1 (en) 2017-03-02 2018-09-06 Adobe Systems Incorporated Image matting using deep learning

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Luis Perez, Jason Wang,The Effectiveness of Data Augmentation in Image Classification using Deep Learning,arXiv [online],2017年12月13日,https://arxiv.org/pdf/1712.04621.pdf,[2022年8月9日検索]

Also Published As

Publication number Publication date
EP3683735A1 (en) 2020-07-22
US11409988B2 (en) 2022-08-09
US20200234081A1 (en) 2020-07-23
JP2020115273A (ja) 2020-07-30
CN111444935A (zh) 2020-07-24

Similar Documents

Publication Publication Date Title
Radev et al. BayesFlow: Learning complex stochastic models with invertible neural networks
US11341424B2 (en) Method, apparatus and system for estimating causality among observed variables
Yin et al. Joint multi-leaf segmentation, alignment, and tracking for fluorescence plant videos
Raissi et al. On parameter estimation approaches for predicting disease transmission through optimization, deep learning and statistical inference methods
US20170364796A1 (en) Quantum deep learning
JP5006214B2 (ja) ばらつきシミュレーション・システム、ばらつき決定モデル方法と装置ならびにプログラム
JPWO2018051841A1 (ja) モデル学習装置、その方法、及びプログラム
US11620530B2 (en) Learning method, and learning apparatus, and recording medium
JPWO2018062265A1 (ja) 音響モデル学習装置、その方法、及びプログラム
CN105895089A (zh) 一种语音识别方法及装置
JP4369791B2 (ja) 有向スケールフリーオブジェクト関係のモデリング
JP7156049B2 (ja) 学習方法、学習プログラムおよび学習装置
CN112529057A (zh) 一种基于图卷积网络的图相似性计算方法及装置
Drovandi ABC and indirect inference
CN110070120B (zh) 基于判别采样策略的深度度量学习方法及系统
CN106485286B (zh) 一种基于局部敏感判别的矩阵分类模型
CN113705092B (zh) 基于机器学习的疾病预测方法及装置
Mohammad-Taheri et al. Do-calculus enables estimation of causal effects in partially observed biomolecular pathways
Giang et al. Skeleton based shape matching using reweighted random walks
TWI829099B (zh) 學習模組及訓練模組
JP7230521B2 (ja) 学習方法、学習プログラムおよび学習装置
Asmus et al. Towards an FCA-based recommender system for black-box optimization
CN117668548A (zh) 一种基于实例相关性消除噪声标记的偏多标记学习方法
CN112633483B (zh) 四元组门图神经网络事件预测方法、装置、设备及介质
WO2021111831A1 (ja) 情報処理方法、情報処理システム及び情報処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211007

TRDD Decision of grant or rejection written
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220810

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220906

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220919

R150 Certificate of patent or registration of utility model

Ref document number: 7156049

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150