(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023171356
(43)【公開日】2023-12-01
(54)【発明の名称】情報処理装置および機械学習方法
(51)【国際特許分類】
G06N 20/00 20190101AFI20231124BHJP
【FI】
G06N20/00 160
【審査請求】未請求
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2023083252
(22)【出願日】2023-05-19
(31)【優先権主張番号】202231028920
(32)【優先日】2022-05-19
(33)【優先権主張国・地域又は機関】IN
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(71)【出願人】
【識別番号】517249934
【氏名又は名称】インディアン インスティテュート オブ サイエンス
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】竹森 翔
(72)【発明者】
【氏名】河東 孝
(72)【発明者】
【氏名】梅田 裕平
(72)【発明者】
【氏名】ラングワニ ハーシュ
(72)【発明者】
【氏名】ラマスブラマニアン シュリニヴァース
(72)【発明者】
【氏名】ラーダークリシュナン ヴェンカテシュ バブ
(57)【要約】
【課題】信頼度の高い予測ラベルを持つラベルなし訓練データを使用して、機械学習を実行すること。
【解決手段】情報処理装置は、入力された指標に基づいて、利得行列を決定する。情報処理装置は、利得行列を基にして、ラベルが付与されていない複数の訓練データから、機械学習モデルの訓練に使用する第1の訓練データを選択する。情報処理装置は、第1の訓練データと第1の訓練データから予測される予測ラベルと、利得行列を含む損失関数とを基にして、機械学習モデルを訓練する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
入力された指標に基づいて、利得行列を決定し、
前記利得行列を基にして、ラベルが付与されていない複数の訓練データから、機械学習モデルの訓練に使用する第1の訓練データを選択し、
前記第1の訓練データと前記第1の訓練データから予測される予測ラベルと、前記利得行列を含む損失関数とを基にして、前記機械学習モデルを訓練する、
処理を実行する制御部を有する情報処理装置。
【請求項2】
前記第1の訓練データを選択する処理は、前記第1の訓練データを拡張したデータを前記機械学習モデルに入力した際の出力確率の分布と、前記利得行列に基づく確率分布との擬距離が閾値以下である場合に、前記第1の訓練データを選択する処理を含む、ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記制御部は、前記第1の訓練データに対して、第1強度のデータ拡張を実行して得られた第1のデータを、前記機械学習モデルに入力した際の出力結果を基にして、前記予測ラベルを生成する処理を更に実行する、ことを特徴とする請求項1に記載の情報処理装置。
【請求項4】
前記機械学習モデルを訓練する処理は、前記第1の訓練データに対して、前記第1強度よりも強い第2強度でデータ拡張して得られた第2のデータを、前記機械学習モデルに入力した際の出力結果と、前記第1のデータを前記機械学習モデルに入力した際の出力結果をベクトル化した値とを損失関数に入力することによって実行される、ことを特徴とする請求項3に記載の情報処理装置。
【請求項5】
入力された指標に基づいて、利得行列を決定し、
前記利得行列を基にして、ラベルが付与されていない複数の第1の訓練データから、機械学習モデルの訓練に使用する第1の訓練データを選択し、
選択した第1の訓練データと、選択した第1の訓練データから予測される予測ラベルと、ラベルが付与された第2の訓練データと、前記利得行列を含む損失関数とを基にして、前記機械学習モデルのパラメータを訓練する
処理をコンピュータが実行することを特徴とする機械学習方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、機械学習技術に関する。
【背景技術】
【0002】
異常検知や医療における画像診断に機械学習アルゴリズムを適用し、訓練データセットを用いて分類器(機械学習モデル)を訓練する場合、訓練データセットがクラス不均衡なデータセットになる傾向がある。たとえば、異常検知の分類器の訓練を行う場合には、訓練データセットのほとんどに、異常なしラベルが付与される。医療診断の分類器の訓練を行う場合も、訓練データセットに異常なしラベルが多く付与される。
【0003】
クラス不均衡な訓練データセットを用いて、分類器の訓練を行う場合、分類器の精度だけでは、機械学習アルゴリズムの性能を適切に評価することが難しいため、より複雑な指標が用いられる場合がある。より複雑な指標とは、例えば、損失関数としてよく用いられる交差エントロピーでは最適化が難しい指標である。
【0004】
以下において、従来技術1および従来技術2について説明を行う。
【0005】
まず、従来技術1で用いられる基本的な指標について説明する。分類器を「F:X→[K]」と定義する。ここで「X」は、入力の空間を示す。[K]={1,・・・,K}は、ラベルの集合である。
【0006】
K行K列の混同行列C[F]を式(1)のように定義する。式(1)において、Dはデータの分布である。式(1)において、「1」は、指示関数である。指示関数において、「y=i,F(x)=j」が成立する場合には、指示関数の値は「1」となり、成立しない場合には、指示関数の値は「0」である。また、式(1)のEは、期待値の計算に対応する。
【0007】
【0008】
各iに対して、クラス分布(class distribution)を、式(2)で定義する。
【0009】
【0010】
分類器の精度acc[F]は、式(3)で定義される。たとえば、精度は、分類器に入力した全データのうち、正解したデータ数の割合に対応する。
【0011】
【0012】
分類器のクラス毎の再現率(recall)reci[F]は、式(4)で定義される。再現率は、判別したいデータの数のうち、実際に判別できた割合に対応する。たとえば、第1クラスに分類されるべき複数のデータのうち、どれだけ、分類器が第1クラスに分類できたのかを示す。
【0013】
【0014】
分類器のクラス毎の適合率(precision)preci[F]は、式(5)で定義される。適合率は、「判別対象のデータ」を判別した数のうち、実際に正解している割合に対応する。たとえば、適合率は、分類器が第1クラスに分類した複数のデータのうち、実際に第1クラスに分類されるべきデータである割合である。
【0015】
【0016】
分類器がクラスiであると予測した割合はカバレッジ(coverage)と定義される。カバレッジcovi[F]は式(6)で定義される。
【0017】
【0018】
ここで、最悪時の再現率は、式(7)で定義される。最悪時の再現率は、クラス不均衡なデータセットに対して役立つ指標である。
【0019】
【0020】
同様に、データセットが、クラス不均衡なデータセットである場合、分類器の予測が特定のクラスに偏ってしまう問題があるので、カバレッジ制約の最適化が重要である。式(8)は、カバレッジ制約下における平均再現率の最適化を行うための指標の一例である。たとえば、式(8)では、カバレッジを「0.95×πi」以上とする条件下で、各クラス1~Kの再現率の合計値を最大化するという指標である。
【0021】
【0022】
また、適合率に関する制約下で最適化を行う指標もあり、式(9)で示される。たとえば、式(9)では、適合率を「τ(閾値)」以上とする条件下で、精度acc[F]を最大化するという指標である。
【0023】
【0024】
上記の式(7)、(8)、(9)等で説明した最適化を行うことが困難な指標については、コスト考慮型学習に帰着させることができる。コスト考慮型学習は、式(10)に示される。コスト考慮型学習では、利得行列G(gain Matrix)を用いて、最大化を目指す。
【0025】
【0026】
たとえば、最悪時の再現率は、連続緩和により、式(11)のように示される。式(11)において、ΔK-1⊂RKは、確率単体である。たとえば、「ΔK-1」は、K次元のベクトルで、各成分が正の値であり、各成分の値を足して1になるベクトルの集合を示す。最悪時の再現率において、利得行列Gは、式(12)で与えられる。式(12)において、「δ」は、Kronecker deltaである。
【0027】
【0028】
【0029】
なお、カバレッジ制約については、ラグランジュ係数λ∈RKにより、利得行列Gは、式(13)で与えられる。ここで、式(13)のλiは、全てのjに対して、λj≧0とする。
【0030】
【0031】
λの学習と、コスト考慮型学習とを交互に繰り返すことで、元の指標の学習を行うことができる。元の指標は、最悪時の再現率、カバレッジ制約下における平均再現率等である。
【0032】
ここで、通常の機械学習に用いられるcross-entropy損失関数は、コスト考慮型学習にとっては適切ではないため、従来技術1では、コスト考慮型学習のための損失関数を提案している。
【0033】
たとえば、利得行列Gを、G=MDと分解する。M,Dは、K行K列の行列であり、Dは、対角行列である。分解の仕方はいくつかあるが、たとえば、Dを、式(14)、または、D(15)に示す式で定義する。
【0034】
【0035】
【0036】
分類器の出力確率をp(x)とし、ラベルy=1,・・・,Kとすると、hybrid損失関数は、式(16)で定義される。式(16)に含まれるri(x)は、式(17)で定義される。
【0037】
【0038】
【0039】
利得行列Gが対角行列のときは、式(16)に示したhybrid損失関数は、logit-adjustment(LA)損失関数と呼ばれる。従来技術1では、(x,y)~Dのとき、式(18)に示す期待値Eが最小化されるように、分類器のパラメータを訓練する。
【0040】
【0041】
続いて、従来技術2について説明する。従来技術2では、ラベル付き訓練データと、ラベルなし訓練データとを用いた半教師あり学習を行う。ラベル付き訓練データを{(xb,yb):b=1,・・・,B}とする。ラベルなし訓練データを{ub∈X:b=1,・・・,μB}とする。
【0042】
図6は、従来技術2を説明するための図である。従来技術2では、強データ拡張(strong augmentation)と、弱データ拡張(weak augmentation)と呼ばれる2種類のデータ拡張を使用する。
【0043】
図6において、ラベルなし訓練データIm1に対して、強データ拡張を実行することで、データIm1-1が生成される。訓練データIm1に対して、弱データ拡張を実行することで、データIm1-2が生成される。
【0044】
従来技術2では、データIm1-1をモデル10に入力することで、モデル10から、出力確率p1-1が出力される。従来技術2では、データIm1-2をモデル10に入力することで、モデル10から、出力確率p1-2が出力される。従来技術2では、出力確率p1-2を基にして、Pseudo-label5を生成する。たとえば、Pseudo-label5は、出力確率p1-2の各成分のうち最大となる成分に「1」を設定し、他の成分を0に設定された出力確率である。従来技術2では、出力確率p1-1と、Pseudo-label5とのcross-entropyを利用した損失関数を用いて、モデル10の訓練を行う。
【0045】
以下の説明では適宜、強データ拡張されたラベルなし訓練データを、A(ub)と表記する。弱データ拡張されたラベルなし訓練データを、α(ub)と表記する。
【0046】
従来技術2では、式(19)の損失関数Lを用いて、モデル10の訓練を行う。式(19)において、損失関数lsは、ラベルあり訓練データの損失関数である。損失関数luは、ラベルなし訓練データの損失関数である。λuは、0以上の値が設定される。
【0047】
【0048】
損失関数lsは、式(20)で定義される。式(20)において、ybは、訓練データに設定されたラベルに対応する。qbは、弱データ拡張での出力確率であり、「qb=p(α(ub))」で定義される。たとえば、2つの確率p1,p2に対してH(p1,p2)でcross-entropyを示す。H(yb,qb)は、ybと、qbとのcross-entropyである。
【0049】
【0050】
損失関数luは、ラベルなし訓練データubの強データ拡張における出力確率と、ラベルなし訓練データubの弱データ拡張における出力確率との差で定義される。具体的に、損失関数luは、式(21)で定義される。qbは、弱データ拡張したラベルなし訓練データを分類器に入力した場合の出力確率「qb=p(α(ub))」である。pはモデル10の出力確率である。「q’b」は、argmax(qb)番目の成分だけが「1」となるone-hotベクトルを示す。p(A(ub))は、強データ拡張したラベルなし訓練データを分類器に入力した場合の出力確率である。
【0051】
【0052】
また、式(21)において、「τ」はアルゴリズムのパラメータである。「1(max q
b>τ)」によって、ラベルなしの訓練データセットのうち、予測ラベルが信頼できる訓練データだけが、モデル10の訓練に使用されることが示される。予測ラベルは、
図6で説明した、Pseudo-labelに対応する。
【先行技術文献】
【非特許文献】
【0053】
【非特許文献1】Narasimhan, H., Menon, A.K.: Training over-parameterized models with non-decomposable objectives, NeurIPS 2021
【非特許文献2】Sohn et al., FixMatch: Simplifying Semi-Supervised Learning with Consistency and Confidence, NeurIPS 2020
【発明の概要】
【発明が解決しようとする課題】
【0054】
たとえば、従来技術1と従来技術2とを単純に組み合わせると、最適化が困難な指標をコスト考慮型学習に帰着させた後、半教師あり学習の手法で最適化を行うことになる。この場合、ラベルあり訓練データセットに加えて、ラベルなし訓練データセットのうち、予測ラベルが信頼できる訓練データを使用して、分類器の訓練を行うことになる。具体的には、式(21)に示した「1(max qb>τ)」を満たすqbに対応する、ラベルなし訓練データを使用する。
【0055】
しかしながら、従来技術1と従来技術2とを単純に組み合わせた技術では、最適化が困難な指標については、ラベルなし訓練データに対応するほとんどのqbが「1(max qb>τ)」を満たさない。すなわち、実際には、信頼性の高い予測ラベルに対応するラベルなし訓練データが多く含む場合であっても、ラベルなし訓練データのほとんどが、分類器の訓練に使用されないという問題が発生する。
【0056】
1つの側面では、本発明は、信頼度の高い予測ラベルを持つラベルなし訓練データを使用して、機械学習を実行することができる機械学習方法を提供することを目的とする。
【課題を解決するための手段】
【0057】
第1の案では、コンピュータが次の処理を実行する。コンピュータは、入力された指標に基づいて、利得行列を決定する。コンピュータは、利得行列を基にして、ラベルが付与されていない複数の訓練データから、機械学習モデルの訓練に使用する第1の訓練データを選択する。コンピュータは、第1の訓練データと第1の訓練データから予測される予測ラベルと、利得行列を含む損失関数とを基にして、機械学習モデルを訓練する。
【発明の効果】
【0058】
信頼度の高い予測ラベルを持つラベルなし訓練データを使用して、機械学習を実行することができる。
【図面の簡単な説明】
【0059】
【
図1】
図1は、指標と利得行列Gとの関係を示す図である。
【
図2】
図2は、本実施例に係る情報処理装置の構成を示す機能ブロック図である。
【
図3】
図3は、本実施例に係る情報処理装置の処理手順を示すフローチャート(1)である。
【
図4】
図4は、本実施例に係る情報処理装置の処理手順を示すフローチャート(2)である。
【
図5】
図5は、実施例の情報処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【
図6】
図6は、従来技術2を説明するための図である。
【発明を実施するための形態】
【0060】
以下に、本願の開示する情報処理装置および機械学習方法の実施例を図面に基づいて詳細に説明する。なお、本実施例により、開示技術が限定されるものではない。また、以下の実施例は、矛盾しない範囲で適宜組み合わせてもよい。
【実施例0061】
本実施例に係る情報処理装置は、ラベルあり訓練データの損失関数と、ラベルなし訓練データの損失関数とを含む損失関数を用いて、分類器(機械学習モデル)のパラメータを訓練する。
【0062】
本実施例では、ラベルなし訓練データの損失関数において、予測ラベルが信頼できるラベルなし訓練データの定義を、KLダイバージェンス(Kullback-Leibler divergence)を用いて定義する。KLダイバージェンスは、2つの確率分布の擬距離を示し、2つの確率分布がどれほど似ているかを示す尺度である。
【0063】
たとえば、情報処理装置は、式(22)に示す条件を満たす場合に、該当するラベル無し訓練データを、予測ラベルが信頼できるラベルなし訓練データとして選択する。式(22)の「qb」は、出力確率であって、ラベルなし訓練データを弱データ拡張し、弱データ拡張したデータを分類器に入力した際の出力確率「qb=p(α(ub))」である。DKLは、KLダイバージェンスを示す。「τ」はアルゴリズムのパラメータであり事前に設定される。
【0064】
【0065】
式(22)において、y’は、予測ラベル(pseudo label)であり、式(23)で定義される。
【0066】
【0067】
式(22)の定義は、理論上は、qbが、式(24)の値に収束することを根拠とする。
【0068】
【0069】
なお、情報処理装置は、式(22)の利得行列Gの定義を、指定される指標に応じて特定する。情報処理装置は、指標の指定を外部から受け付ける。
図1は、指標と利得行列Gとの関係を示す図である。
図1に示すように、情報処理装置は、指標が「最悪時の再現率」の場合には、利得行列Gは、式(12)に示す利得行列を利用する。情報処理装置は、指標が「カバレッジ制約下における平均再現率」の場合には、利得行列Gは、式(13)に示す利得行列を使用する。情報処理装置は、指標が「適合率制約下における精度」の場合には、利得行列Gは、式(25)に示す利得行列を使用する。
【0070】
【0071】
情報処理装置は、式(26)の損失関数L’を用いて、分類器のパラメータを訓練する。式(26)の損失関数L’において、損失関数lsは、ラベルあり訓練データの損失関数である。損失関数l’uは、ラベルなし訓練データの損失関数である。λuは、0以上の値が設定される。
【0072】
【0073】
損失関数lsは、式(26a)で定義される。
【0074】
【0075】
損失関数l’uは、式(27)で定義される。式(27)は、式(21)と比較して、式(21)の「1(max qb>τ)」が、式(22)で説明したKLダイバージェンスを用いた定義に置き換わっている。また、式(27)では、クロスエントロピーHの代わりに、式(16)で説明したhybrid損失関数を用いる。qbは、弱データ拡張したラベルなし訓練データを分類器に入力した場合の出力確率「qb=p(α(ub))」である。pは分類器の出力確率である。「q’b」は、argmax(qb)番目の成分だけが「1」となるone-hotベクトルを示す。p(A(ub))は、強データ拡張したラベルなし訓練データを分類器に入力した場合の出力確率である。
【0076】
【0077】
上記のように、情報処理装置は、ラベルあり訓練データと、ラベルなし訓練データと、指標に応じた利得行列Gと基にして、損失関数L’の値が最小化されるように、分類器のパラメータを訓練する。これによって、いくつかの最適化が困難な指標についても、適切に信頼度の高い予測ラベルを導くラベルなし訓練データを使用して、分類器の訓練を実行できる。最適化が困難な指標は、
図1で説明した最悪時の再現率、カバレッジ制約下における平均再現率、適合率制約下における再現度等である。
【0078】
続いて、本実施例に係る情報処理装置の構成例について説明する。
図2は、本実施例に係る情報処理装置の構成を示す機能ブロック図である。
図2に示すように、情報処理装置100は、通信部110、入力部120、表示部130、記憶部140、制御部150を有する。
【0079】
通信部110は、ネットワークを介して外部装置等とデータ通信を実行する。通信部110は、後述するラベル付き訓練データセット141、ラベルなし訓練データセット142、検証データセット143等を、外部装置から受信してもよい。
【0080】
入力部120は、利用者からの操作を受付ける。利用者は、入力部120を用いて、指標の指定を行う。
【0081】
表示部130は、制御部150の処理結果を表示する。
【0082】
記憶部140は、ラベル付き訓練データセット141、ラベルなし訓練データセット142、検証データセット143、初期値データ144、分類器データ145を有する。たとえば、記憶部140は、メモリ等により実現される。
【0083】
ラベル付き訓練データセット141は、複数のラベル付き訓練データを含む。ラベル付き訓練データは、入力データと、正解ラベルとの組から成る。ラベル付き訓練データを{(xb,yb):b=1,・・・,B}とする。
【0084】
ラベルなし訓練データセット142は、複数のラベルなし訓練データを含む。ラベルなし訓練データは、入力データを含み、正解ラベルを有さない。ラベルなし訓練データを{ub∈X:b=1,・・・,μB}とする。ラベルなし訓練データに対する予測ラベル(pseudo-label)は、後述する制御部150によって生成される。
【0085】
検証データセット143は、複数の検証データを含む。検証データは、入力データと、正解ラベルとの組から成る。検証データセット143は、混同行列を推定する場合に使用される。
【0086】
初期値データ144は、iteration回数T、学習率ω等を有する。iteration回数T、学習率ωは、分類器を訓練する場合に利用される。
【0087】
分類器データ145は、訓練の対象となる分類器Fのデータである。たとえば、分類器Fは、NN(Neural Network)である。
【0088】
制御部150は、受付部151、生成部152、訓練実行部153を有する。たとえば、制御部150は、プロセッサにより実現される。
【0089】
受付部151は、入力部120から、指標の入力を受け付ける。たとえば、受付部151が受け付ける指標は、最悪時の再現率、カバレッジ制約下における平均再現率、適合率制約下における再現率等である。受付部151は、受け付けた指標を、訓練実行部153に出力する。
【0090】
生成部152は、ラベルなし訓練データubに対して、強データ拡張を実行することで、訓練データA(ub)を生成する。生成部152は、ラベルなし訓練データに対して、弱データ拡張を実行することで、訓練データα(ub)を生成する。
【0091】
生成部152は、分類器データ145を読み出し、分類器Fに、訓練データα(ub)を入力することで、出力確率qbを算出する。出力確率qbは、「qb=p(α(ub))」で定義される。また、生成部152は、上記の式(23)を計算することで、ラベルなし訓練データに対する予測ラベルy’を算出する。
【0092】
生成部152は、ラベルなし訓練データubと、訓練データA(ub)と、訓練データα(ub)と、出力確率qbと、予測ラベルy’とを、訓練実行部153に出力する。
【0093】
生成部152は、ラベルなし訓練データセット142に含まれる各ラベルなし訓練データについて、上記処理を繰り返し実行する。なお、係る生成部152の処理を、後述する訓練実行部153が実行してもよい。
【0094】
訓練実行部153は、指定された指標に応じた利得行列を基にして、ラベルなし訓練データubから、分類器Fの訓練に使用するラベルなし訓練データを選択する。たとえば、訓練実行部153は、式(22)の条件を満たす複数のラベルなし訓練データを選択する。
【0095】
訓練実行部153は、選択した複数のラベルなし訓練データと、かかるラベルなし訓練データに対応する予測ラベルと、ラベル付き訓練データセット141と、損失関数L’とを基にして、損失関数L’の値が最小化されるように、分類器Fのパラメータを訓練する。損失関数L’は、上記の式(26)に示される。
【0096】
ここで、指標として「カバレッジ制約下における平均再現率」が指定された場合の、訓練実行部153の処理手順の一例について説明する。
図3は、本実施例に係る情報処理装置の処理手順を示すフローチャート(1)である。
図3の説明では、ラベル付き訓練データを「S
S」と表記する。ラベルなし訓練データを「S
u」と表記する。検証データを「S
val」と表記する。iteration回数を「T」と表記する。学習率を「ω」と表記する。
【0097】
図3に示すように、情報処理装置100の訓練実行部153は、分類器F
0と、ラグランジュ乗数λ
0とを初期化する(ステップS101)。なお、λ
0は各成分が0以上であるK次元ベクトルである。訓練実行部153は、t=0に設定する(ステップS102)。
【0098】
訓練実行部153は、ラグランジュ乗数を更新する(ステップS103)。ステップS103において、訓練実行部153は、次の処理を実行する。訓練実行部153は、検証データセット143を用いて、混同行列C’[Ft]を推定する。具体的に、訓練実行部153は、式(28)を基にして、混同行列C’[Ft]を推定する。式(28)において、|Sval|は、検証データセット143に含まれる検証データの数である。
【0099】
【0100】
訓練実行部153は、ラグランジュ乗数λt+1を、式(29)を基にして算出する。また、訓練実行部153は、式(29)を基にして、ラグランジュ乗数λt+1を計算した後に、式(30)を基にして、ラグランジュ乗数λt+1の値を特定する。
【0101】
【0102】
【0103】
ステップS104の説明に移行する。訓練実行部153は、カバレッジ制約下における平均再現率に対応する利得行列Gを選択する(ステップS104)。カバレッジ制約下における平均再現率に対応する利得行列Gを、式(31)に示す。
【0104】
【0105】
訓練実行部153は、分類器Fを確率的勾配法により更新する(ステップS105)。ステップS105において、訓練実行部153は、バッチBS,Buをそれぞれ、SS,Suからサンプリングする。訓練実行部153は、バッチBS,Buと、式(31)の利得行列とを基にして、式(26)で定義した損失関数L’が最小化されるように、確率勾配法で分類器Ftのパラメータを更新し、更新後の分類器を分類器Ft+1とする。
【0106】
訓練実行部153は、t=t+1によって、tを更新する(ステップS106)。訓練実行部153は、t>Tの条件を満たさない場合には(ステップS107,No)、ステップS103に移行する。一方、訓練実行部153は、t>Tの条件を満たす場合には(ステップS107,Yes)、処理を終了する。
【0107】
続いて、指標として「適合率制約下における精度」が指定された場合の、訓練実行部153の処理手順の一例について説明する。
図4は、本実施例に係る情報処理装置の処理手順を示すフローチャート(2)である。
図4の説明では、ラベル付き訓練データを「S
S」と表記する。ラベルなし訓練データを「S
u」と表記する。検証データを「S
val」と表記する。iteration回数を「T」と表記する。学習率を「ω」と表記する。
【0108】
図4に示すように、情報処理装置100の訓練実行部153は、分類器F
0と、ラグランジュ乗数λ
0とを初期化する(ステップS201)。なお、λ
0は各成分が0以上であるK次元ベクトルである。訓練実行部153は、t=0に設定する(ステップS202)。
【0109】
訓練実行部153は、ラグランジュ乗数を更新する(ステップS203)。ステップS203の処理は、
図3のステップS103の処理と同様である。
【0110】
訓練実行部153は、適合率制約下における精度に対応する利得行列Gを選択する(ステップS204)。適合率制約下における精度に対応する利得行列Gを、式(32)に示す。
【0111】
【0112】
訓練実行部153は、分類器Fを確率的勾配法により更新する(ステップS205)。ステップS205の処理は、
図3のステップS105の処理と同様である。
【0113】
訓練実行部153は、t=t+1によって、tを更新する(ステップS206)。訓練実行部153は、t>Tの条件を満たさない場合には(ステップS207,No)、ステップS203に移行する。一方、訓練実行部153は、t>Tの条件を満たす場合には(ステップS207,Yes)、処理を終了する。
【0114】
次に、本実施例に係る情報処理装置100の効果について説明する。情報処理装置100は、予測ラベルが信頼できるラベルなし訓練データの定義を、KLダイバージェンスを用いて定義し、入力された指標に応じた利得行列を選択し、信頼度の高い予測ラベルを導くラベルなし訓練データを選択する。情報処理装置100は、ラベルあり訓練データと、選択したラベルなし訓練データと、指標に応じた利得行列Gとを含む損失関数L’とを基にして、損失関数L’の値が最小化されるように、分類器のパラメータを訓練する。これによって、いくつかの最適化が困難な指標についても、適切に信頼度の高い予測ラベルを導くラベルなし訓練データを使用して、分類器Fの訓練を実行できる。
【0115】
情報処理装置100は、ラベルなし訓練データに対して、データ拡張を実行し、拡張したデータを分類器に入力した際に出力される出力確率の分布と、利得行列に基づく確率分布との擬距離が閾値以下である場合に、該当するラベルなし訓練データを選択する。これによって、適切に信頼度の高い予測ラベルを導くラベルなし訓練データを使用することができる。
【0116】
情報処理装置100は、分類器Fに、弱データ拡張した訓練データα(ub)を入力することで、出力確率qbを算出し、出力確率qbを基にして、予測ラベルy’を算出する。これによって、ラベルなし訓練データに対して、予測ラベルを設定し、訓練に使用することができる。
【0117】
情報処理装置100は、弱データ拡張したラベルなし訓練データを分類器Fに入力した場合の出力確率となるqbと、強データ拡張したラベルなし訓練データを分類器Fに入力した場合の出力確率を示すp(A(ub))とをhybrid損失関数に入力した値を基にして、分類器Fを訓練する。すなわち、ラベルなしデータを用いて、分類器Fを訓練することができる。
【0118】
次に、上記実施例に示した情報処理装置100と同様の機能を実現するコンピュータのハードウェア構成の一例について説明する。
図5は、実施例の情報処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【0119】
図5に示すように、コンピュータ200は、各種演算処理を実行するCPU201と、ユーザからのデータの入力を受け付ける入力装置202と、ディスプレイ203とを有する。また、コンピュータ200は、有線または無線ネットワークを介して、外部装置等との間でデータの授受を行う通信装置204と、インタフェース装置205とを有する。また、コンピュータ200は、各種情報を一時記憶するRAM206と、ハードディスク装置207とを有する。そして、各装置201~207は、バス208に接続される。
【0120】
ハードディスク装置207は、受付プログラム207a、生成プログラム207b、訓練実行プログラム207cを有する。また、CPU201は、各プログラム207a~207cを読み出してRAM206に展開する。
【0121】
受付プログラム207aは、受付プロセス206aとして機能する。生成プログラム207bは、生成プロセス206bとして機能する。訓練実行プログラム207cは、訓練実行プロセス206cとして機能する。
【0122】
受付プロセス206aの処理は、受付部151の処理に対応する。生成プロセス206bの処理は、生成部152の処理に対応する。訓練実行プロセス206cの処理は、訓練実行部153の処理に対応する。
【0123】
なお、各プログラム207a~207cについては、必ずしも最初からハードディスク装置207に記憶させておかなくても良い。例えば、コンピュータ200に挿入されるフレキシブルディスク(FD)、CD-ROM、DVD、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ200が各プログラム207a~207cを読み出して実行するようにしてもよい。
【0124】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【0125】
(付記1)入力された指標に基づいて、利得行列を決定し、
前記利得行列を基にして、ラベルが付与されていない複数の訓練データから、機械学習モデルの訓練に使用する第1の訓練データを選択し、
前記第1の訓練データと前記第1の訓練データから予測される予測ラベルと、前記利得行列を含む損失関数とを基にして、前記機械学習モデルを訓練する、
処理を実行する制御部を有する情報処理装置。
【0126】
(付記2)前記第1の訓練データを選択する処理は、前記第1の訓練データを拡張したデータを前記機械学習モデルに入力した際の出力確率の分布と、前記利得行列に基づく確率分布との擬距離が閾値以下である場合に、前記第1の訓練データを選択する処理を含む、ことを特徴とする付記1に記載の情報処理装置。
【0127】
(付記3)前記制御部は、前記第1の訓練データに対して、第1強度のデータ拡張を実行して得られた第1のデータを、前記機械学習モデルに入力した際の出力結果を基にして、前記予測ラベルを生成する処理を更に実行する、ことを特徴とする付記1に記載の情報処理装置。
【0128】
(付記4)前記機械学習モデルを訓練する処理は、前記第1の訓練データに対して、前記第1強度よりも強い第2強度でデータ拡張して得られた第2のデータを、前記機械学習モデルに入力した際の出力結果と、前記第1のデータを前記機械学習モデルに入力した際の出力結果をベクトル化した値とを損失関数に入力することによって実行される、ことを特徴とする付記3に記載の情報処理装置。
【0129】
(付記5)入力された指標に基づいて、利得行列を決定し、
前記利得行列を基にして、ラベルが付与されていない複数の第1の訓練データから、機械学習モデルの訓練に使用する第1の訓練データを選択し、
選択した第1の訓練データと、選択した第1の訓練データから予測される予測ラベルと、ラベルが付与された第2の訓練データと、前記利得行列を含む損失関数とを基にして、前記機械学習モデルのパラメータを訓練する
処理をコンピュータが実行することを特徴とする機械学習方法。
【0130】
(付記6)前記第1の訓練データを選択する処理は、前記第1の訓練データを拡張したデータを前記機械学習モデルに入力した際の出力確率の分布と、前記利得行列に基づく確率分布との擬距離が閾値以下である場合に、前記第1の訓練データを選択する処理を含む、ことを特徴とする付記5に記載の機械学習方法。
【0131】
(付記7)前記制御部は、前記第1の訓練データに対して、第1強度のデータ拡張を実行して得られた第1のデータを、前記機械学習モデルに入力した際の出力結果を基にして、前記予測ラベルを生成する処理を更に実行する、ことを特徴とする付記5に記載の機械学習方法。
【0132】
(付記8)前記機械学習モデルを訓練する処理は、前記第1の訓練データに対して、前記第1強度よりも強い第2強度でデータ拡張して得られた第2のデータを、前記機械学習モデルに入力した際の出力結果と、前記第1のデータを前記機械学習モデルに入力した際の出力結果をベクトル化した値とを損失関数に入力することによって実行される、ことを特徴とする付記7に記載の機械学習方法。