(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-08
(45)【発行日】2024-07-17
(54)【発明の名称】学習装置、学習方法、及び、プログラム
(51)【国際特許分類】
G06N 20/00 20190101AFI20240709BHJP
【FI】
G06N20/00 130
(21)【出願番号】P 2023506588
(86)(22)【出願日】2021-03-17
(86)【国際出願番号】 JP2021010827
(87)【国際公開番号】W WO2022195762
(87)【国際公開日】2022-09-22
【審査請求日】2023-08-30
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100107331
【氏名又は名称】中村 聡延
(74)【代理人】
【識別番号】100104765
【氏名又は名称】江上 達夫
(74)【代理人】
【識別番号】100131015
【氏名又は名称】三輪 浩誉
(72)【発明者】
【氏名】吉田 周平
【審査官】千葉 久博
(56)【参考文献】
【文献】国際公開第2020/070876(WO,A1)
【文献】福田隆, 外4名,“データ拡張処理の非ネイティブ英語音声認識への効果”,情報処理学会研究報告 音声言語情報処理(SLP),日本,情報処理学会,2018年10月03日,第2018-SLP-124巻, 第2号,p.1-6
【文献】山口真弥,“敵対的生成ネットワークの複数データセット同時学習によるデータ拡張”,第11回データ工学と情報マネジメントに関するフォーラム (第17回日本データベース学会年次大会),日本,2019年03月06日,DEIM Forum 2019 P1-114
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
正解付きデータに対して第1のデータ拡張を行い、得られたデータから第1の推論を行う第1の推論手段と、
前記第1の推論の結果と、前記正解付きデータに付与された正解とから第1の損失を計算する第1の損失計算手段と、
正解なしデータに対して第2のデータ拡張を行い、得られたデータから第2の推論を行う第2の推論手段と、
前記正解なしデータに対して第3のデータ拡張を行い、得られたデータから第3の推論を行う第3の推論手段と、
前記第3の推論の結果から疑似補ラベルを生成する疑似補ラベル生成手段と、
前記第2の推論の結果と、前記疑似補ラベルとに基づいて第2の損失を計算する第2の損失計算手段と、
前記第1の損失及び前記第2の損失に基づいて、前記第1の推論手段、前記第2の推論手段及び前記第3の推論手段のパラメータを更新する更新手段と、
を備える学習装置。
【請求項2】
前記第2のデータ拡張は、前記第1のデータ拡張及び前記第3のデータ拡張とは異なる請求項1に記載の学習装置。
【請求項3】
前記更新手段は、前記第1の推論手段及び前記第2の推論手段に対して同一のパラメータを設定する請求項1又は2に記載の学習装置。
【請求項4】
前記更新手段は、前記第1の推論手段及び前記第2の推論手段に設定したパラメータに基づいて別のパラメータを生成し、前記第3の推論手段に設定する請求項3に記載の学習装置。
【請求項5】
前記正解付きデータは、弱正解付きデータを含む請求項1乃至4のいずれか一項に記載の学習装置。
【請求項6】
前記正解付きデータは、入力データと、当該入力データに対する正解とを含み、
前記正解なしデータは、前記正解付きデータの入力データを含む請求項1乃至5のいずれか一項に記載の学習装置。
【請求項7】
コンピュータにより実行される学習方法であって、
正解付きデータに対して第1のデータ拡張を行い、得られたデータから第1のモデルを用いて第1の推論を行い、
前記第1の推論の結果と、前記正解付きデータに付与された正解とから第1の損失を計算し、
正解なしデータに対して第2のデータ拡張を行い、得られたデータから第2のモデルを用いて第2の推論を行い、
前記正解なしデータに対して第3のデータ拡張を行い、得られたデータから第3のモデルを用いて第3の推論を行い、
前記第3の推論の結果から疑似補ラベルを生成し、
前記第2の推論の結果と、前記疑似補ラベルとに基づいて第2の損失を計算し、
前記第1の損失及び前記第2の損失に基づいて、前記第1のモデル、前記第2のモデル及び前記第3のモデルのパラメータを更新する学習方法。
【請求項8】
正解付きデータに対して第1のデータ拡張を行い、得られたデータから第1のモデルを用いて第1の推論を行い、
前記第1の推論の結果と、前記正解付きデータに付与された正解とから第1の損失を計算し、
正解なしデータに対して第2のデータ拡張を行い、得られたデータから第2のモデルを用いて第2の推論を行い、
前記正解なしデータに対して第3のデータ拡張を行い、得られたデータから第3のモデルを用いて第3の推論を行い、
前記第3の推論の結果から疑似補ラベルを生成し、
前記第2の推論の結果と、前記疑似補ラベルとに基づいて第2の損失を計算し、
前記第1の損失及び前記第2の損失に基づいて、前記第1のモデル、前記第2のモデル及び前記第3のモデルのパラメータを更新する処理をコンピュータに実行させるプログラム
。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、機械学習モデルの学習方法に関する。
【背景技術】
【0002】
近年、機械学習に基づく認識技術は、画像認識の分野を中心に極めて高い性能を示している。このような機械学習に基づく認識技術の高い精度は、大量の正解付きデータにより支えられている。即ち、大量の正解付きデータを用意して学習を行うことにより、高い精度が実現されている。
【0003】
しかし、大量の正解付きデータを用意するにはコストと時間を要する。この観点から、特許文献1は、通常の実教師データから人工教師データを生成して教師データの量を増やす手法を開示している。また、特許文献2は、教師ありデータと、教師なしデータとを用いて半教師あり学習を行う手法を開示している。
【先行技術文献】
【特許文献】
【0004】
【文献】国際公開WO2020/070876号公報
【文献】国際公開WO2014/136316号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
通常、正解のないデータであれば、運用時に低コストで蓄積することができるため、正解なしデータを有効に活用することにより、データ収集を低コスト化することが期待できる。
【0006】
本開示の1つの目的は、データ収集コストを抑えて、高精度な機械学習モデルを生成することにある。
【課題を解決するための手段】
【0007】
本開示の一つの観点では、学習装置は、
正解付きデータに対して第1のデータ拡張を行い、得られたデータから第1の推論を行う第1の推論手段と、
前記第1の推論の結果と、前記正解付きデータに付与された正解とから第1の損失を計算する第1の損失計算手段と、
正解なしデータに対して第2のデータ拡張を行い、得られたデータから第2の推論を行う第2の推論手段と、
前記正解なしデータに対して第3のデータ拡張を行い、得られたデータから第3の推論を行う第3の推論手段と、
前記第3の推論の結果から疑似補ラベルを生成する疑似補ラベル生成手段と、
前記第2の推論の結果と、前記疑似補ラベルとに基づいて第2の損失を計算する第2の損失計算手段と、
前記第1の損失及び前記第2の損失に基づいて、前記第1の推論手段、前記第2の推論手段及び前記第3の推論手段のパラメータを更新する更新手段と、を備える。
【0008】
本開示の他の観点では、学習方法は、
コンピュータにより実行される学習方法であって、
正解付きデータに対して第1のデータ拡張を行い、得られたデータから第1のモデルを用いて第1の推論を行い、
前記第1の推論の結果と、前記正解付きデータに付与された正解とから第1の損失を計算し、
正解なしデータに対して第2のデータ拡張を行い、得られたデータから第2のモデルを用いて第2の推論を行い、
前記正解なしデータに対して第3のデータ拡張を行い、得られたデータから第3のモデルを用いて第3の推論を行い、
前記第3の推論の結果から疑似補ラベルを生成し、
前記第2の推論の結果と、前記疑似補ラベルとに基づいて第2の損失を計算し、
前記第1の損失及び前記第2の損失に基づいて、前記第1のモデル、前記第2のモデル及び前記第3のモデルのパラメータを更新する。
【0009】
本開示のさらに他の観点では、プログラムは、
正解付きデータに対して第1のデータ拡張を行い、得られたデータから第1のモデルを用いて第1の推論を行い、
前記第1の推論の結果と、前記正解付きデータに付与された正解とから第1の損失を計算し、
正解なしデータに対して第2のデータ拡張を行い、得られたデータから第2のモデルを用いて第2の推論を行い、
前記正解なしデータに対して第3のデータ拡張を行い、得られたデータから第3のモデルを用いて第3の推論を行い、
前記第3の推論の結果から疑似補ラベルを生成し、
前記第2の推論の結果と、前記疑似補ラベルとに基づいて第2の損失を計算し、
前記第1の損失及び前記第2の損失に基づいて、前記第1のモデル、前記第2のモデル及び前記第3のモデルのパラメータを更新する処理をコンピュータに実行させる。
【発明の効果】
【0010】
本開示によれば、データ収集コストを抑えて、高精度な機械学習モデルを生成することが可能となる。
【図面の簡単な説明】
【0011】
【
図1】第1実施形態の学習装置のハードウェア構成を示すブロック図である。
【
図2】第1実施形態の学習装置の機能構成を示すブロック図である。
【
図3】第1実施形態の学習装置による学習処理のフローチャートである。
【
図4】多クラス分類問題の場合のデータセットの例を示す。
【
図6】第2実施形態の学習装置の機能構成を示すブロック図である。
【
図7】第2実施形態の学習装置による学習処理のフローチャートである。
【発明を実施するための形態】
【0012】
以下、図面を参照して、本開示の好適な実施形態について説明する。
<第1実施形態>
[学習装置]
まず、第1実施形態の学習装置について説明する。
(ハードウェア構成)
図1は、第1実施形態の学習装置100のハードウェア構成を示すブロック図である。図示のように、学習装置100は、インタフェース(I/F)11と、プロセッサ12と、メモリ13と、記録媒体14と、データベース(DB)15と、を備える。
【0013】
インタフェース11は、外部装置との間でデータの入出力を行う。具体的に、学習に使用される正解付きデータ及び正解なしデータは、インタフェース11を通じて入力される。
【0014】
プロセッサ12は、CPU(Central Processing Unit)などのコンピュータであり、予め用意されたプログラムを実行することにより学習装置100の全体を制御する。なお、プロセッサ12は、GPU(Graphics Processing Unit)またはFPGA(Field-Programmable Gate Array)であってもよい。プロセッサ12は、後述する学習処理を実行する。
【0015】
メモリ13は、ROM(Read Only Memory)、RAM(Random Access Memory)などにより構成される。メモリ13は、プロセッサ12による各種の処理の実行中に作業メモリとしても使用される。
【0016】
記録媒体14は、ディスク状記録媒体、半導体メモリなどの不揮発性で非一時的な記録媒体であり、学習装置100に対して着脱可能に構成される。記録媒体14は、プロセッサ12が実行する各種のプログラムを記録している。学習装置100が各種の処理を実行する際には、記録媒体14に記録されているプログラムがメモリ13にロードされ、プロセッサ12により実行される。DB15は、必要に応じて、学習のための正解付きデータ、正解なしデータを記憶する。
【0017】
(機能構成)
図2は、第1実施形態の学習装置100の機能構成を示すブロック図である。学習装置100は、データ拡張部21a~21cと、推論部22a~22cと、正解付き損失計算部23と、正解なし補ラベル損失計算部24と、疑似補ラベル生成部25と、勾配計算部26と、更新部27と、パラメータ保持部28a、28bと、を備える。
【0018】
正解付きデータは、入力データと、その入力データに対応する正解ラベルとを含む。例えば画像認識モデルを学習する場合、入力データは学習に使用される画像であり、正解ラベルはその画像に含まれる対象物のクラスを示す情報である。正解付きデータのうち、入力データはデータ拡張部21aに入力され、正解ラベルは正解付き損失計算部23へ入力される。
【0019】
データ拡張部21aは、入力データに対してランダムな変換を行い、変換後の入力データを推論部22aに出力する。推論部22aは、機械学習モデルを用いて、入力データに対する推論を行う。例えば画像認識モデルを学習する場合、推論部22aは、入力データに含まれる対象物のクラスを推論し、正解付き損失計算部23へ出力する。
【0020】
正解付き損失計算部23は、推論部22aから入力される推論結果と、正解付きデータに含まれる正解ラベルとから正解付き損失を計算する。なお、正解付き損失計算部23は、例えばクロスエントロピー損失など、一般的な多値分類向け損失関数を用いることができる。正解付き損失計算部23は、計算した正解付き損失を勾配計算部26へ出力する。
【0021】
正解なしデータは、入力データのみを含み、正解ラベルを含まないデータである。正解なしデータとしては、機械学習モデルを実際に運用する環境において収集されたデータなどを用いることができる。例えば、映像監視用の画像認識モデルを学習する場合、正解なしデータとして、監視対象となる環境に設置されたカメラによる撮影画像などを使用することができる。正解なしデータは、データ拡張部21b、21cへ入力される。
【0022】
データ拡張部21bは、入力された正解なしデータに対してランダムな変換行い、変換後のデータを推論部22bへ出力する。同様に、データ拡張部21cは、入力された正解なしデータに対してランダムな変換を行い、変換後のデータを推論部22cへ出力する。なお、データ拡張部21aを含む3つのデータ拡張部21a~21cは、それぞれ入力データに対して独立にランダムな変換を作用させるが、その変換の種類は同一であってもよく、異なってもよい。なお、好適な例では、データ拡張部21bによる変換は、データ拡張部21a、21cによる変換よりも強い変換とする。強い変換とは、入力データに対する変化が大きい変換を言い、例えば入力データが画像である場合、画像の内容をより大きく変えるような変換である。
【0023】
推論部22bは、機械学習モデルを用いて、データ拡張部21bによる変換後の入力データに対する推論を行い、推論結果を正解なし補ラベル損失計算部24へ出力する。また、推論部22cは、機械学習モデルを用いて、データ拡張部21cによる変換後の入力データに対する推論を行い、推論結果を疑似補ラベル生成部25へ出力する。
【0024】
疑似補ラベル生成部25は、推論部22cによる推論結果に基づいて疑似補ラベルを生成する。「補ラベル」とは、入力データに対して付与されるラベルであり、その入力データが特定のクラス(カテゴリー)に属さないことを示す。例えば、補ラベルcは、その入力データがクラスcに属さないことを示す。また、「疑似補ラベル」とは、学習途中又は学習済みのモデルの推論結果から生成した補ラベルをいう。
【0025】
以下、疑似補ラベルの生成方法について詳しく説明する。いま、推論部22a~22cが画像認識モデルを用いて多クラス(以下、Nクラスとする)の分類を行うとする。この場合、推論部22a~22cは、1つの入力データ(画像)に対して、その入力データがN個のクラスそれぞれに該当する確率を出力する。即ち、推論部22a~22cは、推論結果としてN個の確率値を出力する。疑似補ラベル生成部25は、推論部22cが出力したN個の確率値のうち、最大の確率値を有するクラス(以下、「最大クラス」とも呼ぶ。)をクラスcとする。そして、疑似補ラベル生成部25は、N個のクラスのうち、最大クラスc以外のクラスからランダムに選択したクラスc’を疑似補ラベルと決定する。
【0026】
このように疑似補ラベルを生成すると、推論部22cの推論の精度が十分に高くなくても、疑似補ラベルの精度は高くなる。例えば、推論部22cが10クラス分類を行う場合を考える。この場合、推論部22cが正しく推論するデータに対しては、100%の確率で正しい疑似補ラベルが付与される。推論部22cが間違って推論するデータに対しても、88.9%の確率で正しい疑似補ラベルが付与される。また、推論部22cの推論の精度が30%であったとしても、疑似補ラベルの精度は92.2%となる。よって、疑似補ラベルを用いることにより、正解なしデータに対して、精度の高い疑似ラベルを付与することができる。疑似補ラベル生成部25は、生成した疑似補ラベルを正解なし補ラベル損失計算部24へ出力する。
【0027】
正解なし補ラベル損失計算部24は、正解なしデータに対して付与された疑似補ラベルと、推論部22bから入力された推論結果とを用いて、補ラベル損失を計算する。補ラベル損失としては、例えば前方補正損失、下方有界な後方補正損失などを用いることができる。正解なし補ラベル損失計算部24は、計算した補ラベル損失を勾配計算部26へ出力する。
【0028】
勾配計算部26は、入力された正解付き損失及び補ラベル損失の勾配を計算し、更新部27へ出力する。例えば、勾配計算部26は、正解付き損失と補ラベル損失の和又は重み付き和の勾配を算出し、更新部27へ出力する。
【0029】
更新部27は、入力された勾配を用いて推論部22a、22bのパラメータ(以下、「パラメータP1」と呼ぶ。)を更新し、パラメータ保持部28aへ出力する。パラメータ保持部28aは、推論部22a、22bに対して更新後のパラメータP1を設定する。こうして、正解付きデータについて推論を行う推論部22aと、正解なしデータについて推論を行う推論部22bに、同一のパラメータP1が設定される。
【0030】
また、更新部27は、入力された勾配を用いて、推論部22cのパラメータ(以下、「パラメータP2」と呼ぶ。)を更新し、パラメータ保持部28bへ出力する。パラメータ保持部28aは、更新後のパラメータP2を推論部22cに設定する。ここで、パラメータ保持部28bが保持するパラメータP2は、パラメータ保持部28aが保持するパラメータP1と同一であってもよく、推論部22a、22bのパラメータP1が更新されるごとに、その指数移動平均を取ったものとしてもよい。
【0031】
上記の構成において、データ拡張部21a及び推論部22aは第1の推論手段の一例であり、正解付き損失計算部23は第1の損失計算手段の一例である。データ拡張部21b及び推論部22bは第2の推論手段の一例であり、データ拡張部21c及び推論部22cは第3の推論手段の一例である。疑似補ラベル生成部25は疑似補ラベル生成手段の一例であり、正解なし補ラベル損失計算部24は第2の損失計算手段の一例である。勾配計算部26、更新部27、パラメータ保持部28a、28bは、更新手段の一例である。
【0032】
(学習処理)
図3は、第1実施形態の学習装置100による学習処理のフローチャートである。この処理は、
図1に示すプロセッサ12が予め用意されたプログラムを実行し、
図2に示す各要素として動作することにより実現される。なお、この処理は、正解付きデータ及び正解なしデータが入力される毎に繰り返し実行される。
【0033】
まず、正解付きデータに含まれる入力データがデータ拡張部21aに入力され、正解付きデータに含まれる正解ラベルが正解付き損失計算部23へ入力される。また、正解なしデータがデータ拡張部21b、21cに入力される。
【0034】
データ拡張部21aは、正解付きデータの入力データを変換し、推論部22aへ出力する(ステップS11)。推論部22aは、変換後の入力データから推論を行い、推論結果を正解付き損失計算部23へ出力する(ステップS12)。正解付き損失計算部23は、推論結果と、正解ラベルとから損失を計算し、勾配計算部26へ出力する(ステップS13)。
【0035】
また、ステップS11~S13と並行して、データ拡張部21cは、正解なしデータを変換し、推論部22cへ出力する(ステップS14)。推論部22cは、変換後の入力データから推論を行い、推論結果を疑似補ラベル生成部25へ出力する(ステップS15)。疑似補ラベル生成部25は、推論結果から疑似補ラベルを生成し、正解なし補ラベル損失計算部24へ出力する(ステップS16)。
【0036】
また、データ拡張部21bは、正解なしデータを変換し、推論部22bへ出力する(ステップS17)。推論部22bは、変換後の入力データから推論を行い、推論結果を正解なし補ラベル損失計算部24へ出力する(ステップS18)。正解なし補ラベル損失計算部24は、推論部22bから入力された推論結果と、疑似補ラベル生成部25から入力された疑似補ラベルとから補ラベル損失を計算し、勾配計算部26へ出力する(ステップS19)。
【0037】
勾配計算部26は、入力された正解付き損失及び補ラベル損失の勾配を計算し、更新部27へ出力する(ステップS20)。更新部27は、入力された勾配に基づいて、推論部22a、22bのパラメータP1を更新してパラメータ保持部28aへ出力するとともに、推論部22cのパラメータP2を更新してパラメータ保持部28bへ出力する(ステップS21)。そして、パラメータ保持部28aはパラメータP1を推論部22a、22bに設定し、パラメータ保持部28bはパラメータP2を推論部22cに設定する(ステップS22)。こうして、推論部22a~22cのパラメータが更新される。
【0038】
(変形例)
(1)上記の実施形態では、正解なしデータを正解付きデータと別個に用意しているが、正解付きデータの入力データを正解なしデータとして使用してもよい。これにより、正解なしデータを容易に増量することができる。
【0039】
(2)上記の実施形態において、正解付きデータとして、弱正解付きデータを使用してもよい。即ち、正解付きデータは、弱正解データも含む概念とする。通常の「正解」はそのデータが属する正解クラスを正しくただ一つ指定するのに対し、「弱正解」はあいまいさやノイズなどを含む正解である。この意味で、前述の「補ラベル」は弱正解の一例と捉えることができる。即ち、補ラベルcは、そのデータがクラスc以外であることを示しており、クラス数が3つ以上ある場合、補ラベルは必ずあいまいさを含むため、弱正解と考えることができる。
【0040】
また、弱正解の他の例として、エキスパートデータセットを用いることができる。「エキスパートデータセット」とは、多クラス分類のモデルを学習する際に使用できる学習用データセットであり、複数の部分データセットにより構成されるものである。具体的に、エキスパートデータセットは、以下の条件を具備するように構成される。
(A)複数の部分データセットの各々には、認識対象とする全てのカテゴリーの少なくとも一部が責任範囲として割り当てられている。
(B)認識対象とする全てのカテゴリーが、複数の部分データセットのいずれかに割り当てられている。
(C)部分データセットに含まれる各データには、当該部分データセットに割り当てられた責任範囲に属するカテゴリーのいずれか、又は、当該認識対象のカテゴリーが当該部分データセットの責任範囲に属さないことを示す正解ラベルが付与されている。
【0041】
図4は、多クラス分類問題の場合の通常のデータセットと、エキスパートデータセットの例を示す。
図4(A)は、学習に使用される通常のデータセットを示す。いま、画像データに基づいて100クラスの多クラス分類を行う物体認識モデルを学習するものとする。通常の学習用データセットとしては、用意された画像データの各々について、100クラス、即ち、100カテゴリーのうちの1つが正解ラベルとして割り当てられる。
【0042】
図4(B)は、エキスパートデータセットの例を示す。なお、このエキスパートデータセットでも、
図4(A)の例と同様に全体で100クラスの多クラス分類を行うものとする。エキスパートデータセットでは、複数の部分データセットを用意する。
図4(B)の例では、「水生哺乳類」、「人」などの複数の部分データセットが用意される。そして、各部分データセットには、それぞれ責任範囲が設定される。「水生哺乳類」の部分データセットには、5種類の水生哺乳類、「ビーバー」、「イルカ」、「カワウソ」、「アザラシ」、「クジラ」が責任範囲として割り当てられる。「人」の部分データセットには、5種類の人、「赤ん坊」、「男の子」、「女の子」、「男性」、「女性」が責任範囲として割り当てられる。ここで、責任範囲は、認識対象とする全てのクラス(カテゴリー)が、複数の部分データセットのいずれかに割り当てられるように決定されている。即ち、いずれの部分データセットにも割り当てられていないクラスが存在しないように、100個のクラスが複数の部分データセットに割り当てられている。言い換えると、複数の部分データセットにより、100個のクラスの認識対象全てが網羅されるように責任範囲が決定されている。これにより、エキスパートデータセットによっても、
図4(A)に示す通常のデータセットと同様に、100クラスの多クラス分類の学習が可能となる。このようなエキスパートデータセットも、上記の実施形態における正解付きデータとして使用することができる。
【0043】
[推論装置]
図5は、第1実施形態の推論装置の構成を示す。推論装置200は、推論部201を備える。推論部201には、上記の学習処理により学習された機械学習モデルを使用する。即ち、推論部201には、上記の学習処理により得られたパラメータP1が設定される。
【0044】
推論時には、推論部201に、推論の対象となる入力データが入力される。この入力データは、推論装置200が実際に運用される環境において取得された撮影画像などのデータであり、実際の画像認識などの対象となるデータである。推論部201は、入力データから推論を行い、推論結果を出力する。例えば多クラス分類を行う画像認識の場合、推論部201は、入力画像に基づいて各クラスの確率値を推論結果として出力する。
【0045】
<第2実施形態>
【0046】
図6は、第2実施形態の学習装置の機能構成を示すブロック図である。学習装置70は、第1の推論手段71と、第1の損失計算手段72と、第2の推論手段73と、第3の推論手段74と、疑似補ラベル生成手段75と、第2の損失計算手段76と、更新手段77と、を備える。
【0047】
図7は、第2実施形態の学習装置70による学習処理のフローチャートである。第1の推論手段71は、正解付きデータに対して第1のデータ拡張を行い、得られたデータから第1の推論を行う(ステップS41)。第1の損失計算手段72は、第1の推論の結果と、正解付きデータに付与された正解とから第1の損失を計算する(ステップS42)。第2の推論手段73は、正解なしデータに対して第2のデータ拡張を行い、得られたデータから第2の推論を行う(ステップS43)。第3の推論手段74は、正解なしデータに対して第3のデータ拡張を行い、得られたデータから第3の推論を行う(ステップS44)。疑似補ラベル生成手段75は、第3の推論の結果から疑似補ラベルを生成する(ステップS45)。第2の損失計算手段76は、第2の推論の結果と、疑似補ラベルとに基づいて第2の損失を計算する(ステップS46)。更新手段77は、第1の損失及び第2の損失に基づいて、第1の推論手段、第2の推論手段及び第3の推論手段のパラメータを更新する(ステップS47)。
【0048】
第2実施形態の学習装置によれば、正解なしデータを用いて高精度な機械学習モデルを生成することが可能となる。
【0049】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【0050】
(付記1)
正解付きデータに対して第1のデータ拡張を行い、得られたデータから第1の推論を行う第1の推論手段と、
前記第1の推論の結果と、前記正解付きデータに付与された正解とから第1の損失を計算する第1の損失計算手段と、
正解なしデータに対して第2のデータ拡張を行い、得られたデータから第2の推論を行う第2の推論手段と、
前記正解なしデータに対して第3のデータ拡張を行い、得られたデータから第3の推論を行う第3の推論手段と、
前記第3の推論の結果から疑似補ラベルを生成する疑似補ラベル生成手段と、
前記第2の推論の結果と、前記疑似補ラベルとに基づいて第2の損失を計算する第2の損失計算手段と、
前記第1の損失及び前記第2の損失に基づいて、前記第1の推論手段、前記第2の推論手段及び前記第3の推論手段のパラメータを更新する更新手段と、
を備える学習装置。
【0051】
(付記2)
前記第2のデータ拡張は、前記第1のデータ拡張及び前記第3のデータ拡張とは異なる付記1に記載の学習装置。
【0052】
(付記3)
前記更新手段は、前記第1の推論手段及び前記第2の推論手段に対して同一のパラメータを設定する付記1又は2に記載の学習装置。
【0053】
(付記4)
前記更新手段は、前記第1の推論手段及び前記第2の推論手段に設定したパラメータに基づいて別のパラメータを生成し、前記第3の推論手段に設定する付記3に記載の学習装置。
【0054】
(付記5)
前記正解付きデータは、弱正解付きデータを含む付記1乃至4のいずれか一項に記載の学習装置。
【0055】
(付記6)
前記正解付きデータは、入力データと、当該入力データに対する正解とを含み、
前記正解なしデータは、前記正解付きデータの入力データを含む付記1乃至5のいずれか一項に記載の学習装置。
【0056】
(付記7)
正解付きデータに対して第1のデータ拡張を行い、得られたデータから第1のモデルを用いて第1の推論を行い、
前記第1の推論の結果と、前記正解付きデータに付与された正解とから第1の損失を計算し、
正解なしデータに対して第2のデータ拡張を行い、得られたデータから第2のモデルを用いて第2の推論を行い、
前記正解なしデータに対して第3のデータ拡張を行い、得られたデータから第3のモデルを用いて第3の推論を行い、
前記第3の推論の結果から疑似補ラベルを生成し、
前記第2の推論の結果と、前記疑似補ラベルとに基づいて第2の損失を計算し、
前記第1の損失及び前記第2の損失に基づいて、前記第1のモデル、前記第2のモデル及び前記第3のモデルのパラメータを更新する学習方法。
【0057】
(付記8)
正解付きデータに対して第1のデータ拡張を行い、得られたデータから第1のモデルを用いて第1の推論を行い、
前記第1の推論の結果と、前記正解付きデータに付与された正解とから第1の損失を計算し、
正解なしデータに対して第2のデータ拡張を行い、得られたデータから第2のモデルを用いて第2の推論を行い、
前記正解なしデータに対して第3のデータ拡張を行い、得られたデータから第3のモデルを用いて第3の推論を行い、
前記第3の推論の結果から疑似補ラベルを生成し、
前記第2の推論の結果と、前記疑似補ラベルとに基づいて第2の損失を計算し、
前記第1の損失及び前記第2の損失に基づいて、前記第1のモデル、前記第2のモデル及び前記第3のモデルのパラメータを更新する処理をコンピュータに実行させるプログラムを記録した記録媒体。
【0058】
以上、実施形態及び実施例を参照して本開示を説明したが、本開示は上記実施形態及び実施例に限定されるものではない。本開示の構成や詳細には、本開示のスコープ内で当業者が理解し得る様々な変更をすることができる。
【符号の説明】
【0059】
21a~21c データ拡張部
22a~22c 推論部
23 正解付き損失計算部
24 正解なし補ラベル損失計算部
25 疑似補ラベル生成部
26 勾配計算部
27 更新部
28a、28b パラメータ保持部
100 学習装置
200 推論装置