(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-16
(45)【発行日】2024-07-24
(54)【発明の名称】学習装置、学習方法、推論装置、推論方法、プログラム
(51)【国際特許分類】
G06N 20/00 20190101AFI20240717BHJP
【FI】
G06N20/00 130
(21)【出願番号】P 2022518439
(86)(22)【出願日】2020-04-27
(86)【国際出願番号】 JP2020017963
(87)【国際公開番号】W WO2021220341
(87)【国際公開日】2021-11-04
【審査請求日】2022-10-05
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100149548
【氏名又は名称】松沼 泰史
(74)【代理人】
【識別番号】100181135
【氏名又は名称】橋本 隆史
(72)【発明者】
【氏名】吉田 周平
【審査官】坂庭 剛史
(56)【参考文献】
【文献】特開2019-021313(JP,A)
【文献】米国特許出願公開第2018/0336464(US,A1)
【文献】特開2019-148174(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
認識対象データと該認識対象データに付与された弱ラベルとの組の集合である学習用データセット中の前記認識対象データに対する認識結果を出力する認識手段と、
前記認識結果、前記学習用データセットに基づいて算出された交差行列、及び、前記弱ラベルを用いて認識損失を算出する認識損失算出手段と、
を備え、
前記学習用データセットは弱観測確率分布を備えたものであり、
前記弱観測確率分布は、前記認識対象データが属する真の正解クラスで条件づけた前記弱ラベルが従う確率分布であって、再構成可能なものであり、
前記認識損失算出手段は、
前記認識結果を共役ベクトルに変換する変換手段と、
前記共役ベクトルと前記交差行列との積を算出する交差行列積算出手段と、
前記共役ベクトルから正規化項を算出する正規化項算出手段と、
前記積と前記正規化項との和を算出し、前記認識損失として出力する総和算出手段と、 を備え、
前記認識手段は、前記認識損失を利用した学習を行う、
学習装置。
【請求項2】
前記学習用データセットに基づいて前記交差行列を算出する交差行列算出手段、
をさらに備える請求項1に記載の学習装置。
【請求項3】
前記認識損失に基づいて前記認識手段のパラメータを更新する更新手段、
をさらに備え、
前記認識手段は、前記パラメータを学習モデルに設定する
請求項2に記載の学習装置。
【請求項4】
前記学習用データセットを供給する弱ラベルデータセット供給手段、
をさらに備える請求項1から請求項3のいずれか1項に記載の学習装置。
【請求項5】
前記学習用データセットは、エキスパートデータセットまたはPUデータセットのいずれかである
請求項1から請求項4のいずれか1項に記載の学習装置。
【請求項6】
認識対象データと該認識対象データに付与された弱ラベルとの組の集合である学習用データセット中の前記認識対象データに対する認識結果を出力する認識ステップと、
前記認識結果、前記学習用データセットに基づいて算出された交差行列、及び、前記弱ラベルを用いて認識損失を算出する認識損失算出ステップと、
を含み、
前記学習用データセットは弱観測確率分布を備えたものであり、
前記弱観測確率分布は、前記認識対象データが属する真の正解クラスで条件づけた前記弱ラベルが従う確率分布であって、再構成可能なものであり、
前記認識損失算出ステップは、
前記認識結果を共役ベクトルに変換する変換ステップと、
前記共役ベクトルと前記交差行列との積を算出する交差行列積算出ステップと、
前記共役ベクトルから正規化項を算出する正規化項算出ステップと、
前記積と前記正規化項との和を算出し、前記認識損失として出力する総和算出ステップと、
を含み、
前記認識ステップは、前記認識損失を利用した学習を行うステップをさらに含む、
ことをコンピュータが実行することにより行う学習方法。
【請求項7】
認識対象データと該認識対象データに付与された弱ラベルとの組の集合である学習用データセット中の前記認識対象データに対する認識結果を出力する認識ステップと、
前記認識結果、前記学習用データセットに基づいて算出された交差行列、及び、前記弱ラベルを用いて認識損失を算出する認識損失算出ステップと、
を含み、
前記学習用データセットは弱観測確率分布を備えたものであり、
前記弱観測確率分布は、前記認識対象データが属する真の正解クラスで条件づけた前記弱ラベルが従う確率分布であって、再構成可能なものであり、
前記認識損失算出ステップは、
前記認識結果を共役ベクトルに変換する変換ステップと、
前記共役ベクトルと前記交差行列との積を算出する交差行列積算出ステップと、
前記共役ベクトルから正規化項を算出する正規化項算出ステップと、
前記積と前記正規化項との和を算出し、前記認識損失として出力する総和算出ステップと、
を含み、
前記認識ステップは、前記認識損失を利用した学習を行うステップをさらに含む、
学習方法をコンピュータに実行させるためプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、学習装置、学習方法、推論装置、推論方法、プログラムに関する。
【背景技術】
【0002】
近年、機械学習を用いた認識技術は、画像認識の分野を中心に極めて高い性能を示すようになっている。機械学習に基づく認識技術の高い精度は、大量の正解付き学習データに支えられている。しかし、データの収集と正解付けにかかるコストは高く、特に多クラス分類の正解付けにかかるコストは、クラス数が増えるごとに増大する。
【0003】
多クラス分類において、全ての認識対象に対してそれが属するクラスを示す真の正解ラベルを付与する代わりに、真の正解ラベルから確率的に定まる弱ラベルを付与したデータセットを用いる手法が非特許文献1に提案されている。しかし、非特許文献1は、負の成分を含む交差行列を重みとして半正定値関数を足し上げて計算される損失関数を学習に使用しており、損失関数に負の寄与をもたらすデータに対して過適合を生ずる。
【先行技術文献】
【非特許文献】
【0004】
【文献】Cid-Sueiro,J.,Garcia-Garcia,D.、and Santos-Rodoriguez、R., ”Consistency of losses for learning from weak labels”, In ECML-PKDD,2014.
【発明の概要】
【発明が解決しようとする課題】
【0005】
この開示は、上記関連する技術を改善する学習装置、学習方法、推論装置、推論方法、プログラムを提供することを目的としている。
【課題を解決するための手段】
【0006】
本開示の一実施形態による学習装置は、認識対象データと該認識対象データに付与された弱ラベルとの組の集合である学習用データセット中の前記認識対象データに対する認識結果を出力する認識手段と、前記認識結果、前記学習用データセットに基づいて算出された交差行列、及び、前記弱ラベルを用いて認識損失を算出する認識損失算出手段と、を備え、前記学習用データセットは弱観測確率分布を備えたものであり、前記弱観測確率分布は、前記認識対象データが属する真の正解クラスで条件づけた前記弱ラベルが従う確率分布であって、再構成可能なものであり、 前記認識損失算出手段は、前記認識結果を共役ベクトルに変換する変換手段と、前記共役ベクトルと前記交差行列との積を算出する交差行列積算出手段と、前記共役ベクトルから正規化項を算出する正規化項算出手段と、前記積と前記正規化項との和を算出し、前記認識損失として出力する総和算出手段と、を備え、前記認識手段は、前記認識損失を利用した学習を行う。
【0007】
本開示の一実施形態による学習方法は、認識対象データと該認識対象データに付与された弱ラベルとの組の集合である学習用データセット中の前記認識対象データに対する認識結果を出力する認識ステップと、前記認識結果、前記学習用データセットに基づいて算出された交差行列、及び、前記弱ラベルを用いて認識損失を算出する認識損失算出ステップと、を含み、前記学習用データセットは弱観測確率分布を備えたものであり、前記弱観測確率分布は、前記認識対象データが属する真の正解クラスで条件づけた前記弱ラベルが従う確率分布であって、再構成可能なものであり、 前記認識損失算出ステップは、前記認識結果を共役ベクトルに変換する変換ステップと、前記共役ベクトルと前記交差行列との積を算出する交差行列積算出ステップと、前記共役ベクトルから正規化項を算出する正規化項算出ステップと、前記積と前記正規化項との和を算出し、前記認識損失として出力する総和算出ステップと、を含み、前記認識ステップは、前記認識損失を利用した学習を行うステップをさらに含む。
【0008】
本開示の一実施形態による学習装置用記録媒体は、認識対象データと該認識対象データに付与された弱ラベルとの組の集合である学習用データセット中の前記認識対象データに対する認識結果を出力する認識ステップと、前記認識結果、前記学習用データセットに基づいて算出された交差行列、及び、前記弱ラベルを用いて認識損失を算出する認識損失算出ステップと、を含み、前記学習用データセットは弱観測確率分布を備えたものであり、前記弱観測確率分布は、前記認識対象データが属する真の正解クラスで条件づけた前記弱ラベルが従う確率分布であって、再構成可能なものであり、 前記認識損失算出ステップは、前記認識結果を共役ベクトルに変換する変換ステップと、前記共役ベクトルと前記交差行列との積を算出する交差行列積算出ステップと、前記共役ベクトルから正規化項を算出する正規化項算出ステップと、前記積と前記正規化項との和を算出し、前記認識損失として出力する総和算出ステップと、を含み、前記認識ステップは、前記認識損失を利用した学習を行うステップをさらに含む、学習方法をコンピュータに実行させるためプログラムを記録する。
【0009】
本開示の一実施形態による推論装置は、前述の学習装置により学習された認識手段と、前記認識手段の出力を共役ベクトルに変換する変換手段と、前記共役ベクトルをクラス事後確率に変換するクラス事後確率算出手段と、を備える。
【0010】
本開示の一実施形態による推論方法は、前述の学習装置により学習された認識手段を用いて、入力データの認識結果を出力する認識ステップと、前記認識結果を共役ベクトルに変換する変換ステップと、前記共役ベクトルをクラス事後確率に変換するクラス事後確率算出ステップと、を含む。
【0011】
本開示の一実施形態による推論装置用記録媒体は、前述の学習装置により学習された認識手段を用いて、入力データの認識結果を出力する認識ステップと、前記認識結果を共役ベクトルに変換する変換ステップと、前記共役ベクトルをクラス事後確率に変換するクラス事後確率算出ステップと、を含む、推論方法をコンピュータに実行させるためプログラムを記録する。
【図面の簡単な説明】
【0012】
【
図1A】多クラス分類問題の場合の通常のデータセットの例を示す。
【
図1B】多クラス分類問題の場合の弱ラベルデータセットの例(エキスパートデータセット)を示す。
【
図2】学習装置のハードウェア構成の一例を示すブロック図である。
【
図3】学習装置の機能構成を示すブロック図である。
【
図4】認識損失算出部の詳細な機能構成を示すブロック図である。
【
図5】学習装置の動作を示すフローチャートである。
【
図6】認識損失算出部の動作を示すフローチャートである。
【
図7】推論装置のハードウェア構成の一例を示すブロック図である。
【
図8】推論装置の機能構成を示すブロック図である。
【
図9】推論装置の動作を示すフローチャートである。
【
図11】学習装置の最小構成における動作を示すフローチャートである。
【発明を実施するための形態】
【0013】
以下、図面を参照して、本発明の好適な実施形態について説明する。
【0014】
[弱ラベルデータセット]
まず、本発明の実施形態において使用する弱ラベルを付与されたデータセット(以下、「弱ラベルデータセット」と呼ぶ)について説明する。
【0015】
本実施形態では、データ空間Xの要素xを正解候補集合Yの要素である正解クラスyに分類する多クラス分類について考える。
【0016】
多クラス分類問題における通常の学習用データセットは、データ空間Xの要素であるデータxと、正解候補集合Yの要素である正解クラスyとの組(x,y)の集合D
【0017】
【0018】
である。
【0019】
弱ラベルデータセットは、データ空間Xの要素であるデータxと、弱ラベル集合Zの要素である弱ラベルzとの組(x,z)の集合Dw
【0020】
【0021】
であり、弱観測確率分布
【0022】
【0023】
を備えている。弱観測確率分布としては、
【0024】
【0025】
を満たす交差行列Hを持つもの、すなわち再構成可能なものに限定する。ここでは、yとy’が等しい時に1の値を、異なる時に0の値を取る。データ空間Xの要素であるデータxに対して、それに付与される弱ラベルzは、弱ラベル集合Zの要素であり、データxが属する真の正解クラスyから弱観測確率分布に従って定まる。すなわち、データxiが属する真のクラスがyiである時、データxiに弱ラベルziが付与される確率は、式(3)の弱観測確率分布を用いて
【0026】
【0027】
で与えられる。実際に付与される弱ラベルziは、式(5)に従ってサンプルされる弱ラベルziの実現値である。
【0028】
次に、弱ラベルデータセットの具体例としてエキスパートデータセットとPUデータセットを説明する。これらの具体例に対しては、式(4)を満たす交差行列が存在する。但し、本発明の実施形態において使用する弱ラベルデータセットはエキスパートデータセットとPUデータセットに限らない。
【0029】
[1]エキスパートデータセット
「エキスパートデータセット」とは、多クラス分類のモデルを学習する際に使用できる学習用データセットであり、複数の部分データセットにより構成されるものである。具体的に、エキスパートデータセットは、以下の条件を具備するように構成される。
(A)複数の部分データセットの各々には、正解候補集合Yに含まれるクラスの少なくとも一部が責任範囲として割り当てられている。
(B)正解候補集合Yに含まれる全てのクラスが、複数の部分データセットのいずれかに割り当てられている。
(C)部分データセットに含まれる各データには、当該部分データセットに割り当てられた責任範囲に属するクラスのいずれか、又は、当該認識対象のクラスが当該部分データセットの責任範囲に属さないことを示す弱ラベルが付与されている。
【0030】
条件(C)から、エキスパートデータセットにおける弱ラベル集合Zは、正解候補集合Yに含まれる各クラスと、各部分データセットの責任範囲外にあることを示すラベルとを含む。データ空間Xの要素であるデータxが正解候補集合Yの要素である真のクラスyに属するとき、このデータxがどの部分データセットに含まれるかによってデータxに付与される弱ラベルが決定される。データxを含む部分データセットの責任範囲が真のクラスyを含む場合、データxに付与される弱ラベルzは真のクラスyを示す。他方、データxを含む部分データセットの責任範囲が真のクラスyを含まない場合、データxには「真のクラスが当該部分データセットの責任範囲外である」ことを示す弱ラベルzが付与される。このように、同じクラスyに属するデータxであっても、付与される弱ラベルzが何であるかはどの部分データセットに含まれるかという確率的な要素によって定まる。また、条件(B)により、弱ラベルを決定する確率分布に対して交差行列Hが存在することが保証される。以上より、エキスパートデータセットは本発明で使用する「弱ラベルを付与されたデータセット」の要件を満たしている。
【0031】
図1Bは、エキスパートデータセットの例を示す。いま、画像データに基づいて100クラスの多クラス分類を行う物体認識モデルを学習するものとする。エキスパートデータセットでは、複数の部分データセットを用意する。
図1Bの例では、「水生哺乳類」、「人」などの複数の部分データセットが用意される。そして、各部分データセットには、それぞれ責任範囲が設定される。「水生哺乳類」の部分データセットには、5種類の水生哺乳類、「ビーバー」、「イルカ」、「カワウソ」、「アザラシ」、「クジラ」が責任範囲として割り当てられる。「人」の部分データセットには、5種類の人、「赤ん坊」、「男の子」、「女の子」、「男性」、「女性」が責任範囲として割り当てられる。ここで、責任範囲は、正解候補集合Yに含まれる全てのクラスが、少なくとも一つの部分データセットの責任範囲に含まれるように決定されている。即ち、いずれの部分データセットにも割り当てられていないクラスが存在しないように、100クラスが複数の部分データセットに割り当てられている。言い換えると、複数の部分データセットにより、100クラスの認識対象全てが網羅されるように責任範囲が決定されている。これにより、エキスパートデータセットによっても、100クラスの多クラス分類の学習が可能となる。
【0032】
エキスパートデータセットでは、各部分データセットに含まれる各画像データに対しては、その責任範囲に属するカテゴリーのいずれかを示す正解ラベル、又は、その画像データのカテゴリーがその部分データセットの責任範囲に属さないことを示すラベルが用意される。
図1Bの例では、「水生哺乳類」の部分データセットに含まれる画像データに対しては、「ビーバー」、「イルカ」、「カワウソ」、「アザラシ」、「クジラ」のいずれかを示す正解ラベル、又は、その画像データのカテゴリーがその部分データセットの責任範囲に属さないことを示す「水生哺乳類でない」というラベルが用意される。例えば、「赤ん坊」の画像が「水生哺乳類」の部分データセットに含まれる場合、この画像に対しては「水生哺乳類でない」というラベルが付与される。
【0033】
このようなエキスパートデータセットを用いると、学習データに対する正解付けの作業負荷が大幅に軽減される。
図1Aに示す通常のデータセットの場合、用意された全ての画像データに対して100カテゴリーのいずれかを正解ラベルとして付与する必要がある。例えば、学習データとして6万枚の画像データが用意された場合、それら全てに対して100カテゴリーのいずれかを正解ラベルとして割り当てる必要がある。これに対して、
図1Bに示すエキスパートデータセットの場合には、6万枚の画像データを例えば20の集合に分け、20個の部分データセットを用意する。また、認識対象となる100カテゴリーを20の集合に分け、各部分データセットに責任範囲として5カテゴリーを割り当てる。こうすると、
図1Bに示すように、各部分データセットに属する画像データに対しては、その部分データセットに属する5カテゴリーのいずれかの正解ラベル、又は、その部分データセットの責任範囲に属さないことを示す正解ラベルの合計6個の正解ラベルのいずれかを付与すればよい。即ち、各部分データセットに対して、6個の正解ラベルのいずれかを付与すればよい。
【0034】
[2]PUデータセット
この他の弱ラベルを付与されたデータセットの例として、PUデータセットを説明する。
【0035】
PUデータセットは、データ空間Xの要素であるデータxを正クラス(Pと表記する)と負クラス(Nと表記する)に分類する2クラス分類問題のデータセットである。2クラス分類問題のデータセットでは、データxに対してそれがPに属するかNに属するかを示すラベルが付与されている。すなわち、データセットに含まれる全てのデータに真の正解ラベルが付与されている。他方、PUデータセットのデータxには、データxがPに属することを示すラベルか、真の正解が未知であることを示すラベル(Uと表記する)が付与されている。すなわち、PUデータセットは弱ラベル集合Zを持ち、ZにはPに属することを示すラベルと真の正解が未知であることを示すラベルが含まれている。
【0036】
データ空間Xの要素であるデータxが真の正解クラスPに属する場合、データxに対して弱ラベル集合Zの要素であるPとUのいずれが付与されるかは確率的に定まる。他方、データxが真の正解クラスNに属する場合、データxに対して付与される弱ラベルは確率1でUである。
【0037】
真の正解クラスを見分けることに高度な専門知識やコストが必要な場合、PUデータセットを用いることで学習データに対する正解付けの作業負荷が大幅に軽減される。このことを入力画像に対してそれが病変を含む(正クラス・P)か、正常か(負クラス・N)を識別する医療画像識別を例に説明する。画像を見てそれが病変を含むか否かを判断するためには、医師の高度な専門知識を必要とする。そのため、2クラス分類問題を学習するための通常のデータセットを作成するためには、全ての画像を医師が確認し正解ラベルを付与する必要がある。他方、PUデータセットを作成するためには、全ての画像に対して診断をつける必要はなく、病変が含まれる(すなわちPである)画像が一定量収集された段階で、残りの画像のすべてに弱ラベルUを付与して学習データの作成を完了できる。
【0038】
[学習装置の実施形態]
次に、弱ラベルデータセットを用いた学習装置の実施形態について説明する。
(ハードウェア構成)
図2は、実施形態に係る学習装置のハードウェア構成を示すブロック図である。図示のように、学習装置100は、インタフェース102と、プロセッサ103と、メモリ104と、記録媒体105と、データベース(DB)106と、を備える。
【0039】
インタフェース102は、外部装置との間でデータの入出力を行う。具体的には、学習装置100の学習に用いられる弱ラベルデータセットがインタフェース102を通じて入力される。
【0040】
プロセッサ103は、CPU(Central Processing Unit)、又はCPUとGPU(Graphics Processing Uit)などのコンピュータであり、予め用意されたプログラムを実行することにより、学習装置100の全体を制御する。具体的に、プロセッサ103は、後述する学習処理を実行する。
【0041】
メモリ104は、ROM(Read Only Memory)、RAM(Random Access Memory)などにより構成される。メモリ104は、学習装置100が学習するモデルを記憶する。また、メモリ104は、プロセッサ103による各種の処理の実行中に作業メモリとしても使用される。
【0042】
記録媒体105は、ディスク状記録媒体、半導体メモリなどの不揮発性で非一時的な記録媒体であり、学習装置100に対して着脱可能に構成される。記録媒体105は、プロセッサ103が実行する各種のプログラムを記録している。ここで、「各種プログラム」とは、
図3から
図6を用いて説明する学習装置100の各機能をコンピュータにより実現するためのコンピュータプログラムを含むプログラムである。学習装置100が各種の処理を実行する際には、記録媒体105に記録されているプログラムがメモリ104にロードされ、プロセッサ103により実行される。
【0043】
データベース106は、学習に使用される弱ラベルデータセットを記憶する。なお、上記に加えて、学習装置100は、ユーザが指示や入力を行うためのキーボード、マウスなどの入力機器や表示部を備えていても良い。
【0044】
(学習装置の機能構成)
図3は、実施形態に係る学習装置の機能構成を示すブロック図である。学習装置100は、弱ラベルデータセット供給部111と、認識部112と、認識損失算出部113と、更新部114と、認識部パラメータ記憶部115と、交差行列算出部116と、交差行列記憶部117と、を備える。また、学習装置100は、記憶装置300に記憶される学習用データセットである弱ラベルデータセットを用いた学習処理を行う。なお、学習用データセットを記憶する記憶装置300は学習装置100に含まれるものであってもよく、
図3に示すように学習装置100とは異なる別の装置構成としてもよい。
【0045】
弱ラベルデータセット供給部111は、記憶装置300に記憶される弱ラベルデータセットの入力データを認識部112及び認識損失算出部113に供給する。具体的には、弱ラベルデータセット供給部111は、データxiと、弱ラベルziとの組{xi,zi}(以下、これを「入力データの組」と呼ぶ)を認識部112及び認識損失算出部113に供給する。認識部112は、内部にニューラルネットワークなどにより構成される認識モデルを有する。認識部112は、画像データである入力xiに対する認識モデルを用いた認識処理を行って認識結果f(xi)を認識損失算出部113に出力する。認識結果f(xi)は、正解候補集合Yの要素数と同じ次元を持つベクトルであり、その各成分は各クラスの相対的な尤もらしさを表す実数値である。一般に、認識結果f(xi)の各成分は任意の実数値を取ってよいが、必要に応じて非負値で各成分の総和が1となるように正規化されていてもよい。なお、正規化はsoftmax関数を用いる方法が一般的であるが、この方法に限るものではない。
【0046】
一方、交差行列算出部116は、弱ラベルデータセットの属性値に基づいて、交差行列Hを算出し、交差行列記憶部117に供給する。なお、交差行列については後に詳しく説明する。交差行列記憶部117は、供給された交差行列Hを記憶し、認識損失算出部113に供給する。
【0047】
認識損失算出部113は、弱ラベルデータセット供給部111から供給される入力データの組{xi,zi}と、認識部112から供給される認識結果f(xi)と、交差行列Hとを用いて認識損失Lを算出し、更新部114へ供給する。認識損失Lについては後に詳しく説明する。更新部114は、認識損失Lに基づいて、認識部112の認識モデルを構成するパラメータを更新し、更新後のパラメータを認識部パラメータ記憶部115に供給する。認識部パラメータ記憶部115は、更新部114から供給された更新後のパラメータを記憶する。認識部112は、パラメータを更新するタイミングで認識部パラメータ記憶部115に記憶されるパラメータを読み出し、認識処理の際のパラメータとして設定する。こうして、弱ラベルデータセットを学習用データとして用いて、認識部112の学習が行われる。
【0048】
図4は認識損失算出部113の詳細な機能構成を示すブロック図である。認識損失算出部113の各構成要素の詳細な処理内容については後に詳しく説明することとし、ここではその概要のみを示す。認識損失算出部113は、変換部118と、交差行列積算出部119と、正規化項算出部120と、総和算出部121と、を備える。変換部118は認識部112から供給される認識結果f(x
i)を共役ベクトルv
iに変換する。交差行列積算出部119は、変換部118から供給される共役ベクトルv
iと、交差行列記憶部117から供給される交差行列Hと、弱ラベルデータセット供給部111から供給される入力データ{x
i,z
i}とから、積l
i1を算出する。正規化項算出部120は、変換部118から供給される共役ベクトルv
iと、交差行列記憶部117から供給される交差行列Hとから、正規化項l
i2を算出する。総和算出部121は、交差行列積算出部119から供給される積l
i1と正規化項算出部120から供給される正規化項l
i2との総和を算出し、損失関数Lとして更新部114へ供給する。
【0049】
(交差行列)
まず、交差行列Hについて詳しく説明する。交差行列Hは、正解候補集合Yの要素数と同じ数の行を持ち、弱ラベル集合Zの要素数と同じ数の列を持つ長方形行列である。この形状を持った行列のうち、式(4)を満たすものを交差行列Hとして採用する。すなわち、行列Mを、弱ラベル集合Zの要素数と同じ数の行を持ち、正解候補集合Yの要素数と同じ数の列を持つ行列であり、その第z行、第y列成分が
【0050】
【0051】
であるものとすると、交差行列Hはその左逆行列M+である。
【0052】
【0053】
交差行列算出部116は、式(7)に従い、式(6)で与えられる行列Mの左逆行列M+を計算することで交差行列Hを算出する。正解候補集合Yの要素数と弱ラベル集合Zの要素数が異なる場合、行列Mの左逆行列は無数に存在するが、そのいずれを用いても良い。
【0054】
(認識損失)
次に、認識損失算出部113において算出される認識損失について詳しく説明する。
【0055】
弱ラベルデータセットを用いて学習を行う場合、交差行列Hを用いて損失関数が定義される。しかしながら、従来は交差行列を半正定値関数の重み付き和の重みとして使用しており、交差行列の要素が負の値を持つために、結果として得られる損失関数は負の値を取りうる。損失関数が負の値を取りうる時、学習を実行すると負の重みが掛かった項が際限なく増大し、学習の妨げとなる。そこで、本実施形態では、交差行列Hが掛かった損失に正規化項を加えることで、前述の問題を解消する。
【0056】
従来は、入力データxiとそれに付与された弱ラベルziの組 ( xi, zi ) の集合 {( xi, zi )} に対して、次の2段階によって損失関数Lを計算する。第1の段階では、半正定値の関数lを用いて、認識結果f(xi)と、正解候補集合Yの各要素yとの損失l(f(xi),y)を計算する。第2の段階では、第1の段階で計算された損失を交差行列Hにより重みづけして学習データに渡って足し上げる。結果、以下のように損失関数Lが定義される。
【0057】
【0058】
これに対し、本実施形態においては、まず、変換部118が認識結果f(xi)を共役ベクトルviに変換する。共役ベクトルは、正解候補集合Yの要素数と同じ次元を持つユークリッド空間における、全ての要素が1であるベクトルに対する直行補空間の凸部分集合Cの元である。凸集合Cの選択は任意であり、全ての要素が1であるベクトルに対する直行補空間全体にとっても良い。変換部118の役割は、任意のベクトル値を取りうる認識結果を凸集合C上の点と対応付けることにあり、凸集合C上の点を過不足なく表現できれば変換部118の具体的な処理内容は任意である。
【0059】
次に、交差行列積算出部119は、変換部118から供給される共役ベクトルviと、交差行列記憶部117から供給される交差行列Hと、弱ラベルデータセット供給部111から供給される弱ラベルziとから、次の式に基づいての積li1を計算する。
【0060】
【0061】
次に、正規化項算出部120は、変換部118から供給される共役ベクトルviと、交差行列記憶部117から供給される交差行列Hとから、次の式に基づいて正規化項li2を算出する。
【0062】
【0063】
ここで、関数Fは前記凸集合C上で定義された凸関数であって、ある実数αが存在して、Cの元である任意の共役ベクトルvに対して次の2つの不等式を満たすものである。
【0064】
【0065】
この条件を満たす凸関数Fの具体例としては、以下のようなものが挙げられるが、この不等式を満たす限りにおいて凸関数Fの選択は以下の具体例に限らず任意である。
【0066】
【0067】
総和算出部121は、前記積li1と前記正規化項li2の総和を学習データに渡って足し上げる。結果、以下のように損失関数Lが計算される。
【0068】
【0069】
このようにして認識損失算出部113によって計算された認識損失は、関数Fが前記の条件を満たす限り、正定値性を保つ。その結果、弱ラベルデータセットからでも半正定値の損失関数に基づいた学習を実行することが可能となる。
【0070】
(学習装置による学習処理)
図5は、学習装置100による学習処理のフローチャートである。まず、交差行列算出部116は、上述の方法により、弱ラベルデータセットが備える弱観測確率分布を用いて交差行列Hを算出する(ステップS11)。交差行列算出部116は算出した交差行列Hを交差行列記憶部117に出力し、交差行列記憶部117は、入力された交差行列Hを記憶する。
【0071】
次に、学習装置100は学習を継続するか否かを判定する(ステップS12)。この判定は、予め決められた終了条件が具備されたか否かに基づいて行われる。終了条件としては、例えば、用意した学習用データを全て使用したか、パラメータの更新回数が所定回数に到達したか、などが挙げられる。
【0072】
学習を継続すると判定した場合(ステップS12:Yes)、弱ラベルデータセット供給部111は、入力データの組を認識部112と認識損失算出部113とに入力する(ステップS13)。認識部112は、入力されたデータに基づいて認識処理を行い、認識結果を認識損失算出部113に出力する(ステップS14)。
【0073】
次に、認識損失算出部113は、入力データと、認識結果と、交差行列とを用いて、前述の方法により認識損失Lを算出する(ステップS15)。そして、更新部114は、算出された認識損失Lが小さくなるように、認識部112のパラメータを更新する(ステップS16)。即ち、認識部パラメータ記憶部115は更新後のパラメータを記憶し、認識部112は学習処理のために認識部パラメータ記憶部115に記憶される更新後のパラメータを学習するモデルのために設定する。こうして、学習装置100は、ステップS12~S16を繰り返し、ステップS12で学習を継続しないと判定した場合(ステップS12:No)、処理を終了する。
【0074】
図6は、認識損失算出部113の動作を示すフローチャートであり、
図5のステップS15での処理をより詳細に示したフローチャートである。
変換部118は認識部112から供給される認識結果f(x
i)を共役ベクトルv
iに変換する(ステップS15a)。
【0075】
交差行列積算出部119は、変換部118から供給される共役ベクトルviと、交差行列記憶部117から供給される交差行列Hと、弱ラベルデータセット供給部111から供給される入力データ{xi,zi}とから、積li1を算出する(ステップS15b)。
【0076】
正規化項算出部120は、変換部118から供給される共役ベクトルviと、交差行列記憶部117から供給される交差行列Hとから、正規化項li2を算出する(ステップS15c)。
【0077】
総和算出部121は、交差行列積算出部119から供給される積li1と正規化項算出部120から供給される正規化項li2との総和を算出し、損失関数L(認識損失L)として更新部114へ供給する(ステップS15d)。
【0078】
[推論装置の実施形態]
次に、学習装置100により学習した認識部112を用いた推論装置の実施形態について説明する。
【0079】
(ハードウェア構成)
図7は、実施形態に係る推論装置のハードウェア構成を示すブロック図である。図示のように、推論装置200は、インタフェース202と、プロセッサ203と、メモリ204と、記録媒体205と、を備える。
【0080】
インタフェース202は、外部装置との間でデータの入出力を行う。具体的には、推論装置200で認識したい画像等の入力データがインタフェース202を通じて入力される。
【0081】
プロセッサ203は、CPU(Central Processing Unit)、又はCPUとGPU(Graphics Processing Uit)などのコンピュータであり、予め用意されたプログラムを実行することにより、推論装置200の全体を制御する。具体的に、プロセッサ203は、後述する推論処理を実行する。
【0082】
メモリ204は、ROM(Read Only Memory)、RAM(Random Access Memory)などにより構成される。メモリ204は、学習装置100により学習済みの推論部のパラメータを記憶する。また、メモリ204は、プロセッサ203による各種の処理の実行中に作業メモリとしても使用される。
【0083】
記録媒体205は、ディスク状記録媒体、半導体メモリなどの不揮発性で非一時的な記録媒体であり、推論装置200に対して着脱可能に構成される。記録媒体205は、プロセッサ203が実行する各種のプログラムや、学習装置100により額数済みの推論部のパラメータを記録している。ここで、「各種のプログラム」とは、
図8、
図9を用いて説明する推論装置200の各機能をコンピュータにより実現するためのコンピュータプログラムを含むプログラムである。推論装置200が各種の処理を実行する際には、記録媒体205に記録されているプログラムやパラメータがメモリ204にロードされ、プロセッサ203により実行される。
【0084】
なお、上記に加えて、推論装置200は、ユーザが指示や入力を行うためのキーボード、マウスなどの入力機器や表示部を備えていても良い。
【0085】
(推論装置の機能構成)
図8は推論装置200の機能構成を表すブロック図である。推論装置200は、学習装置100により学習済みの認識部112と、変換部118と、クラス事後確率算出部211と、を備える。なお、認識部112と変換部118の機能は、学習装置100における認識部112及び変換部118と同様であるため、ここでは詳細な説明を省略する。
クラス事後確率算出部211は、変換部118が算出した共役ベクトルvを、入力したデータが各クラスに属する確率であるクラス事後確率に変換する。クラスyに属する事後確率p
yを成分に持ち、正解候補集合Yの要素数と同じ次元を持つベクトルpは、入力データxに対応する共役ベクトルvと、学習装置100が有する正規化項算出部120が計算する凸関数Fと、を用いて、次の式に基づいて計算される。
【0086】
【0087】
ただし、凸関数Fが微分不可能な場合には、∇は劣勾配を表すものとする。∇が劣勾配である時、クラス事後確率算出部の出力は劣勾配全体か、劣勾配の代表元かのいずれかである。
【0088】
(推論装置による推論処理)
図9は、推論装置200による推論処理のフローチャートである。まず、認識部112は、入力されたデータに基づいて認識処理を行い、認識結果を変換部118へ供給する(ステップS21)。次に、変換部118は、認識結果を共役ベクトルに変換し、クラス事後確率算出部211へ供給する(ステップS22)。そして、クラス事後確率算出部211は、共役ベクトルからクラス事後確率を算出しその結果を出力、処理を終了する。
【0089】
図10は、学習装置100の最小構成図を示す図である。
図11は、
図10に示す最小構成における学習装置100の処理フロー図を示す図である。
【0090】
学習装置100は、認識部112(認識手段)と、認識損失算出部113(認識損失算出手段)とを備える。認識部112は、認識対象データと該認識対象データに付与された弱ラベルとの組の集合である学習用データセット中の前記認識対象データに対する認識結果を出力する(ステップS14)。
認識損失算出部113は、前記認識結果、前記学習用データセットに基づいて算出された交差行列、及び、前記弱ラベルを用いて認識損失を算出する(ステップS15)。
【0091】
前記学習用データセットは弱観測確率分布を備えたものであり、前記弱観測確率分布は、前記認識対象データが属する真の正解クラスで条件づけた前記弱ラベルが従う確率分布であって、再構成可能なものである。
【0092】
認識損失算出部113は、変換部118(変換手段)と、交差行列積算出部119(交差行列積算出手段)と、正規化項算出部120(正規化項算出手段)と、総和算出部121(総和算出手段)と、を備える。
【0093】
変換部118は、前記認識結果を共役ベクトルに変換する(ステップS15a)。
交差行列積算出部119は、前記共役ベクトルと前記交差行列との積を算出する(ステップS15b)。
正規化項算出部120は、前記共役ベクトルから正規化項を算出する(ステップS15c)。
総和算出部121は、前記積と前記正規化項との和を算出し、前記認識損失として出力する(ステップS15d)。
認識部112は、前記認識損失を利用した学習を行う(ステップS16’)。
学習装置100は、予め決められた終了条件まで繰り返すことにより学習を行うと良い。
【0094】
以上、実施形態及び実施例を参照して本開示を説明したが、本開示は上記実施形態及び実施例に限定されるものではない。本開示の構成や詳細には、本開示の範囲内で当業者が理解し得る様々な変更をすることができる。
【符号の説明】
【0095】
100 学習装置
111 弱ラベルデータセット供給部
112 認識部
113 認識損失算出部
114 更新部
115 認識部パラメータ記憶部
116 交差行列算出部
117 交差行列記憶部
118 変換部
119 交差行列積算出部
120 正規化項算出部
121 総和算出部
200 推論装置
211 クラス事後確率算出部