(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-15
(45)【発行日】2024-10-23
(54)【発明の名称】情報処理装置、情報処理方法、及びプログラム
(51)【国際特許分類】
G06N 20/00 20190101AFI20241016BHJP
【FI】
G06N20/00
(21)【出願番号】P 2023523860
(86)(22)【出願日】2021-05-27
(86)【国際出願番号】 JP2021020174
(87)【国際公開番号】W WO2022249392
(87)【国際公開日】2022-12-01
【審査請求日】2023-11-17
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】110000338
【氏名又は名称】弁理士法人 HARAKENZO WORLD PATENT & TRADEMARK
(72)【発明者】
【氏名】畠山 優太
(72)【発明者】
【氏名】岡嶋 穣
【審査官】千葉 久博
(56)【参考文献】
【文献】国際公開第2019/022136(WO,A1)
【文献】米国特許出願公開第2019/0080205(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
複数の訓練用例を取得する取得手段と、
用例を入力として予測結果を出力する機械学習モデルを複数含む機械学習モデル群を、前記複数の訓練用例を用いて訓練する訓練手段と、
前記複数の訓練用例のうち、訓練後の前記機械学習モデル群を用いて得られる複数の予測結果にばらつきがある訓練用例を選択する選択手段と、
前記複数の訓練用例のうち、前記選択した訓練用例を含む2つ以上の訓練用例を合成して人工用例を生成する生成手段と、
を備えた情報処理装置。
【請求項2】
前記生成手段は、前記選択した訓練用例と、特徴量空間において前記選択した訓練用例の近傍に存在する用例とを合成して前記人工用例を生成する、請求項1に記載の情報処理装置。
【請求項3】
前記選択手段は、前記複数の訓練用例のうち、2つ以上の前記複数の予測結果にばらつきがある訓練用例を選択し、
前記生成手段は、2つ以上の前記選択した訓練用例を合成して前記人工用例を生成する、請求項1に記載の情報処理装置。
【請求項4】
前記生成手段は、
前記選択した訓練用例と、特徴量空間において前記選択した訓練用例の近傍に存在する用例とを合成する第1生成処理と、
2つ以上の前記選択した訓練用例を合成して前記人工用例を生成する第2生成処理と、
の何れかを実行することにより前記人工用例を生成する、請求項1に記載の情報処理装置。
【請求項5】
前記人工用例を前記複数の訓練用例に追加して、前記取得手段、前記訓練手段、前記選択手段、及び前記生成手段を再度機能させる、請求項1から4の何れか1項に記載の情報処理装置。
【請求項6】
前記生成手段は、
複数の前記人工用例を生成し、
複数の前記人工用例のうち類似条件を満たす2つの人工用例を1つの人工用例に統合する、請求項1から4の何れか1項に記載の情報処理装置。
【請求項7】
前記生成手段は、前記人工用例のうち、訓練後の前記機械学習モデル群を用いて得られる複数の予測結果にばらつきがある人工用例を出力する、請求項1から6の何れか1項に記載の情報処理装置。
【請求項8】
前記機械学習モデル群は、前記人工用例を用いて訓練する訓練対象の機械学習モデルを含む、請求項1から7の何れか1項に記載の情報処理装置。
【請求項9】
少なくとも1つのプロセッサが、
複数の訓練用例を取得すること、
用例を入力として予測結果を出力する機械学習モデルを複数含む機械学習モデル群を、前記複数の訓練用例を用いて訓練すること、
前記複数の訓練用例のうち、訓練後の前記機械学習モデル群を用いて得られる複数の予測結果にばらつきがある訓練用例を選択すること、及び、
前記複数の訓練用例のうち、前記選択した訓練用例を含む2つ以上の訓練用例を合成して人工用例を生成すること、
を含む情報処理方法。
【請求項10】
コンピュータを情報処理装置として機能させるためのプログラムであって、前記コンピュータを、
複数の訓練用例を取得する取得手段と、
用例を入力として予測結果を出力する機械学習モデルを複数含む機械学習モデル群を、前記複数の訓練用例を用いて訓練する訓練手段と、
前記複数の訓練用例のうち、訓練後の前記機械学習モデル群を用いて得られる複数の予測結果にばらつきがある訓練用例を選択する選択手段と、
前記複数の訓練用例のうち、前記選択した訓練用例を含む2つ以上の訓練用例を合成して人工用例を生成する生成手段と、
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、機械学習に用いる用例を生成する技術に関する。
【背景技術】
【0002】
機械学習モデルの推論の精度は、その機械学習モデルを構築する際に用いた訓練用例の数や内容に依存することが知られている。機械学習モデルの推論精度を向上させるために、事前に用意された訓練用例から人工用例を生成することにより、訓練用例を増強する技術が知られている。例えば非特許文献1には、サポートベクタマシン(Support Vector Machine)の決定境界に最も近いマイノリティクラスのインスタンス(訓練用例)とその近傍のマイノリティクラスのインスタンスとを合成して、マイノリティクラスの仮想インスタンスを生成することが記載されている。
【先行技術文献】
【非特許文献】
【0003】
【文献】Seyda Ertekin, “Adaptive Oversampling for Imbalanced Data Classification”, Information Sciences and Systems 2013", proceedings of the 28th International Symposium on Computer and Information Sciences (ISCIS), pp. 261-269), 2013
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、非特許文献1に記載の技術では、決定境界付近に仮想インスタンス(人工用例)が生成され、決定境界付近以外で訓練用例が不足している領域に人工用例が生成されない、という問題があった。
【0005】
本発明の一態様は、上記の問題に鑑みてなされたものであり、その目的の一例は、機械学習の訓練に用いる訓練用例が不足している領域に人工用例を生成可能な技術を提供することである。
【課題を解決するための手段】
【0006】
本発明の一側面に係る情報処理装置は、複数の訓練用例を取得する取得手段と、用例を入力として予測結果を出力する機械学習モデルを複数含む機械学習モデル群を、前記複数の訓練用例を用いて訓練する訓練手段と、前記複数の訓練用例のうち、訓練後の前記機械学習モデル群を用いて得られる複数の予測結果にばらつきがある訓練用例を選択する選択手段と、前記複数の訓練用例のうち、前記選択した訓練用例を含む2つ以上の訓練用例を合成して人工用例を生成する生成手段と、を備える。
【0007】
本発明の一側面に係る情報処理方法は、複数の訓練用例を取得すること、用例を入力として予測結果を出力する機械学習モデルを複数含む機械学習モデル群を、前記複数の訓練用例を用いて訓練すること、前記複数の訓練用例のうち、訓練後の前記機械学習モデル群を用いて得られる複数の予測結果にばらつきがある訓練用例を選択すること、及び前記複数の訓練用例のうち、前記選択した訓練用例を含む2つ以上の訓練用例を合成して人工用例を生成すること、を含む。
【0008】
本発明の一側面に係るプログラムは、コンピュータを情報処理装置として機能させるためのプログラムであって、前記コンピュータを、複数の訓練用例を取得する取得手段と、用例を入力として予測結果を出力する機械学習モデルを複数含む機械学習モデル群を、前記複数の訓練用例を用いて訓練する訓練手段と、前記複数の訓練用例のうち、訓練後の前記機械学習モデル群を用いて得られる複数の予測結果にばらつきがある訓練用例を選択する選択手段と、前記複数の訓練用例のうち、前記選択した訓練用例を含む2つ以上の訓練用例を合成して人工用例を生成する生成手段と、として機能させる。
【発明の効果】
【0009】
本発明の一態様によれば、機械学習の訓練に用いる訓練用例が不足している領域に人工用例を生成することができる。
【図面の簡単な説明】
【0010】
【
図1】本発明の例示的実施形態1に係る情報処理装置の構成を示すブロック図である。
【
図2】本発明の例示的実施形態1に係る情報処理方法の流れを示すフロー図である。
【
図3】本発明の例示的実施形態1に係る情報処理方法の具体例を模式的に示す図である。
【
図4】本発明の例示的実施形態1により生成される人工用例を模式的に説明する図である。
【
図5】本発明の例示的実施形態2に係る情報処理装置の構成を示すブロック図である。
【
図6】本発明の例示的実施形態2に係る情報処理方法の流れを示すフロー図である。
【
図7】本発明の例示的実施形態2に係る情報処理方法の具体例を模式的に示す図である。
【
図8】本発明の例示的実施形態2に係る第1生成処理の流れを示すフロー図である。
【
図9】本発明の例示的実施形態2に係る第2生成処理の流れを示すフロー図である。
【
図10】本発明の例示的実施形態2に係る第3生成処理の流れを示すフロー図である。
【
図11】本発明の例示的実施形態3に係る情報処理方法の流れを示すフロー図である。
【
図12】本発明の例示的実施形態4に係る情報処理方法の流れを示すフロー図である。
【
図13】本発明の例示的実施形態5に係る情報処理方法を模式的に説明する図である。
【
図14】非特許文献1に記載の技術が生成する人工用例を模式的に説明する図である。
【
図15】本発明の例示的実施形態1~5に係る情報処理装置として機能するコンピュータの構成を示すブロック図である。
【発明を実施するための形態】
【0011】
〔例示的実施形態1〕
本発明の第1の例示的実施形態について、図面を参照して詳細に説明する。本例示的実施形態は、後述する例示的実施形態の基本となる形態である。
【0012】
<情報処理装置の構成>
本例示的実施形態に係る情報処理装置10の構成について、
図1を参照して説明する。
図1は、情報処理装置10の構成を示すブロック図である。情報処理装置10は、複数の訓練用例から、機械学習モデル群を用いて人工用例を生成する装置である。
【0013】
情報処理装置10は、
図1に示すように、取得部11と、訓練部12と、選択部13と、生成部14とを含む。取得部11は、請求の範囲に記載した取得手段を実現する構成の一例である。訓練部12は、請求の範囲に記載した訓練手段を実現する構成の一例である。選択部13は、請求の範囲に記載した選択手段を実現する構成の一例である。生成部14は、請求の範囲に記載した生成手段を実現する構成の一例である。
【0014】
取得部11は、複数の訓練用例を取得する。訓練部12は、用例を入力として予測結果を出力する機械学習モデルを複数含む機械学習モデル群を、複数の訓練用例を用いて訓練する。選択部13は、複数の訓練用例のうち、訓練後の機械学習モデル群を用いて得られる複数の予測結果にばらつきがある訓練用例を選択する。生成部14は、複数の訓練用例のうち、選択した訓練用例を含む2つ以上の訓練用例を合成して人工用例を生成する。
【0015】
(機械学習モデル群)
機械学習モデル群は、複数の機械学習モデルを含む。各機械学習モデルは、用例を入力として予測結果を出力する。予測結果は、例えば、複数のラベルの各々が予測される予測確率を含むものであってもよい。この場合、最も予測確率が高いラベルを、予測結果と記載する場合もある。機械学習モデルは、一例として、決定木、ニューラルネットワーク、ランダムフォレスト、又はサポートベクタマシン等の機械学習アルゴリズムを用いて生成されたモデルである。ただし、各機械学習モデルの生成に用いられる機械学習アルゴリズムは、これらに限られない。複数の機械学習モデルは、全て同一の機械学習アルゴリズムを用いて生成されたモデルであってもよい。また、複数の機械学習モデルのうち少なくとも2つが、互いに異なる機械学習アルゴリズムを用いて生成されたモデルであってもよい。機械学習モデル群は、例えば情報処理装置10のメモリに記憶されていてもよいし、情報処理装置10と通信可能に接続された他の装置に記憶されていてもよい。
【0016】
また、機械学習モデル群は、必ずしも全てが、「生成した人工用例を用いて訓練する訓練対象の機械学習モデル」でなくてもよい。換言すると、機械学習モデル群は、訓練対象である機械学習モデルの一部又は全部を含んでいてもよい。また、機械学習モデル群は、訓練対象である機械学習モデルを含んでいなくてもよい。訓練対象である機械学習モデルの数は複数であってもよく、また単数であってもよい。
【0017】
(用例、訓練用例、人工用例)
用例は、各機械学習モデルに入力される情報であり、特徴量を含む。換言すると、用例は、特徴量空間に存在する。訓練用例は、機械学習モデル群の訓練に用いる用例である。訓練用例は、観測により得られる用例であってもよいし、人工的に生成された人工用例であってもよい。
【0018】
(予測結果にばらつきがある訓練用例)
複数の予測結果にばらつきがある訓練用例とは、ばらつきの評価結果が「ばらつきが大きい」ことを示す訓練用例である。例えば、ばらつきの評価とは、複数の予測結果のばらつきが大きいか否かを評価することである。具体例として、ばらつきの評価は、投票結果のエントロピーに基づく評価であってもよい。投票結果のエントロピーについては、後述の例示的実施形態2で詳細を説明する。また、ばらつきの評価は、複数の予測結果のうち同一のラベルを示す予測結果の割合に基づく評価であってもよい。ただし、ばらつきの評価は、上述したものに限られない。以降、「複数の予測結果のばらつきが大きいと評価した訓練用例」を、「予測結果にばらつきがある訓練用例」とも記載する。また、「複数の予測結果のばらつきが大きくないと評価した訓練用例」を、「予測結果のばらつきが小さい訓練用例」とも記載する。
【0019】
<情報処理方法の流れ>
本例示的実施形態に係る情報処理方法S10の流れについて、
図2を参照して説明する。
図2は、情報処理方法S10の流れを示すフロー図である。
図2に示すように、情報処理方法S10は、ステップS101~S104を含む。
【0020】
(ステップS101)
ステップS101(取得処理)において、取得部11は、複数の訓練用例を取得する。例えば、取得部11は、複数の訓練用例をメモリから読み込むことにより取得してもよい。また、例えば、取得部11は、複数の訓練用例を、入力装置から取得してもよいし、ネットワークを介して接続された装置から取得してもよい。本ステップで取得する複数の訓練用例は、観測用例及び人工用例の一方又は両方を含んでいる。
【0021】
(ステップS102)
ステップS102(訓練処理)において、訓練部12は、ステップS101で取得した複数の訓練用例を用いて、機械学習モデル群を訓練する。ここで、機械学習モデル群の各々の訓練に用いる訓練用例は、ステップS101で取得した複数の訓練用例の一部であってもよいし全部であってもよい。
【0022】
(ステップS103)
ステップS103(選択処理)において、選択部13は、複数の訓練用例のうち、予測結果にばらつきがある訓練用例を選択する。選択部13は、そのような訓練用例を1つ選択してもよいし、複数選択してもよい。
【0023】
具体的には、選択部13は、複数の訓練用例のうち評価対象の訓練用例を、訓練後の各機械学習モデルに入力し、各機械学習モデルから出力される予測結果を取得する。これにより、選択部13は、評価対象の訓練用例について複数の予測結果を得る。また、選択部13は、得られた複数の予測結果のばらつきを評価する。選択部13は、複数の予測結果のばらつきが大きいと評価した場合、当該訓練用例を「予測結果にばらつきがある訓練用例」として選択する。
【0024】
なお、選択部13は、複数の訓練用例の一部又は全部を、ばらつきの評価対象とする。例えば、複数の訓練用例の一部を用いて機械学習モデル群の各々を訓練した場合、選択部13は、複数の訓練用例の他の一部(すなわち、機械学習モデル群の訓練に用いなかった訓練用例)をそれぞれ評価対象としてもよい。
【0025】
(ステップS104)
ステップS104(生成処理)において、生成部14は、複数の訓練用例のうち、ステップS103で選択した訓練用例を含む2つ以上の訓練用例を合成して人工用例を生成する。例えば、生成部14は、選択した訓練用例と、特徴量空間においてその近傍に存在する他の訓練用例とを合成してもよい。また、例えば、生成部14は、ステップS103において複数の訓練用例を選択した場合、選択した複数の訓練用例同士を合成してもよい。また、生成部14は、2つの訓練用例を合成して1つの人工用例を生成してもよいし、3以上の訓練用例を合成して1つの人工用例を生成してもよい。また、生成部14は、本ステップにおいて、1つの人工用例を生成してもよいし、複数の人工用例を生成してもよい。
【0026】
(合成処理の具体例)
2つの訓練用例を合成して1つの人工用例を生成する場合、生成部14が行う合成処理は、一例として、以下の(1)式で表される。
【数1】
式(1)において、^x
vは人工用例を表し、x
iは、選択部13が選択した訓練用例を表す。x
jは、選択部13が選択した他の訓練用例であってもよいし、選択しなかった他の訓練用例であってもよい。選択しなかった他の訓練用例である場合、x
jは、x
iの近傍に存在する訓練用例である。λは、0≦λ≦1を満たす重み係数である。生成部14は、一例として、係数λの値を、ランダム関数により発生させた乱数を用いて決定する。なお、生成部14が行う合成処理は上述した手法に限られず、生成部14は他の手法により複数の訓練用例を合成してもよい。
【0027】
<情報処理方法の具体例>
情報処理方法S10の具体例について、
図3を参照して説明する。
図3は、情報処理方法S10の具体例を模式的に示す図である。
【0028】
本具体例では、ステップS101において取得部11が取得する複数の訓練用例Tは、訓練用例t1,t2,t3,…を含む。ステップS102において訓練部12が訓練する機械学習モデル群は、機械学習モデルm1,m2,m3,…を含む。機械学習モデルm1,m2,m3,…のそれぞれは、用例が入力されると、予測結果として「A」及び「B」の何れかのラベルを出力する。機械学習モデルm1,m2,m3,…のそれぞれは、訓練用例Tの一部又は全部を用いて訓練される。ステップS103において、選択部13は、評価対象の訓練用例t1~t10について、複数の予測結果のばらつきを評価する。
図3では、実線の円は、予測結果にばらつきがある訓練用例を示し、破線の円は、予測結果のばらつきが小さい訓練用例を示す。
【0029】
具体的には、訓練用例t1、t2、t5は、機械学習モデルm1,m2,m3,…から得られる複数の予測結果が全て「A」であり、この例では、予測結果のばらつきが大きくないと評価される。訓練用例t6、t9、t10は、機械学習モデルm1,m2,m3,…から得られる複数の予測結果が全て「B」であり、この例では、予測結果のばらつきが大きくないと評価される。訓練用例t3、t4は、機械学習モデルm1,m2,m3,…から得られる複数の予測結果のうち2つが「A」であり、1つが「B」であり、この例では、予測結果のばらつきが大きいと評価される。訓練用例t7、t8は、機械学習モデルm1,m2,m3,…から得られる複数の予測結果のうち2つが「B」であり、1つが「A」であり、この例では、予測結果のばらつきが大きいと評価される。
【0030】
したがって、選択部13は、予測結果にばらつきがある訓練用例t3、t4、t7、t8を選択する。ステップS104において、生成部14は、予想結果にばらつきがある訓練用例t3とその近傍の訓練用例t5とを合成することにより、人工用例t51を生成する。また、生成部14は、予想結果にばらつきがある訓練用例t4とその近傍の訓練用例t1とを合成することにより、人工用例t52を生成する。また、生成部14は、複数の予想結果にばらつきがある訓練用例t7、t8同士を合成することにより、人工用例t53を生成する。
図3では、二重線の円は、人工用例を示している。
【0031】
<本例示的実施形態の効果>
本例示的実施形態は、複数の訓練用例を取得し、用例を入力として予測結果を出力する機械学習モデルを複数含む機械学習モデル群を、複数の訓練用例を用いて訓練し、複数の訓練用例のうち、訓練後の機械学習モデル群を用いて得られる複数の予測結果にばらつきがある訓練用例を選択し、複数の訓練用例のうち、選択した訓練用例を含む2つ以上の訓練用例を合成して人工用例を生成する、との構成を採用している。
【0032】
ここで、複数の予想結果にばらつきがある訓練用例は、特徴量空間において訓練用例が不足している領域にあると考えられる。そのような訓練用例を含む複数の訓練用例を合成して得られる人工用例は、訓練用例が不足している領域に生成される可能性が高い。したがって、本例示的実施形態は、訓練用例が不足している領域に人工用例を生成可能である。
【0033】
このような本例示的実施形態の効果について、
図4、及び
図14を参照して説明する。
図4は、本例示的実施形態が生成する人工用例を模式的に説明する図である。
図14は、非特許文献1に記載の技術が生成する人工用例を模式的に説明する図である。
図4、及び
図14において、実線の円は、予測結果のばらつきが小さい訓練用例を示し、破線の円は、予測結果にばらつきがある訓練用例を示し、二重線の円は、人工用例を示す。領域R1、R2、R3は、特徴量空間における領域を示す。領域R1、R2、R3は、予測結果にばらつきがある人工用例を含んでおり、人工用例が不足している領域である。
【0034】
図14に示すように、非特許文献1に記載の技術は、サポートベクタマシンによる決定境界Bの近傍である領域R1に人工用例を生成する。しかしながら、非特許文献1に記載の技術は、決定境界Bの近傍以外で訓練用例が不足している領域R2、R3に人工用例を生成することが難しい。
【0035】
これに対して、
図4に示すように、本例示的実施形態は、予測結果にばらつきがある訓練用例を含む複数の訓練用例を合成して人工用例を生成する。したがって、本例示的実施形態は、訓練用例が不足している領域R1、R2、R3に、人工用例を生成することができる。また、本例示的実施形態は、一部の領域R1に偏って人工用例を生成することを抑制できる。
【0036】
また、本例示的実施形態は、予測結果にばらつきがある訓練用例を選択するために、機械学習モデル群を用いる、との構成を採用している。
【0037】
これにより、本例示的実施形態は、非特許文献1に記載の技術のように決定境界の近傍に人工用例を生成する場合と比較して、偏った領域に人工用例を生成することを抑制することができる。
【0038】
また、これにより、本例示的実施形態は、予測結果にばらつきがある訓練用例を選択するために予測確率を用いる場合と比較して、より訓練用例が不足している領域に人工用例を生成することができる。これは、例えば、機械学習モデル群に決定木が含まれる場合、決定木は、予測確率1で間違った予測をする可能性があるためである。
【0039】
〔例示的実施形態2〕
本発明の第2の例示的実施形態について、図面を参照して詳細に説明する。なお、例示的実施形態1にて説明した構成要素と同じ機能を有する構成要素については、同じ符号を付し、その説明を適宜省略する。
【0040】
<情報処理装置の構成>
本例示的実施形態に係る情報処理装置20の構成について、
図5を参照して説明する。
図5は、情報処理装置20の構成を示すブロック図である。情報処理装置20は、複数の用例から、機械学習モデル群COM0を用いて人工用例を生成する装置である。
【0041】
(機械学習モデル群)
機械学習モデル群COM0は、例示的実施形態1における機械学習モデル群とほぼ同様に構成される。ただし、本例示的実施形態では、機械学習モデル群COM0に含まれる複数の機械学習モデルは、そのうち少なくとも2つが、互いに異なる機械学習アルゴリズムを用いて生成されたものである。
【0042】
また、機械学習モデル群COM0は、人工用例を用いて訓練する訓練対象である機械学習モデルを含む。また、機械学習モデル群COM0に含まれる機械学習モデルは、少なくとも1つが決定木である。ここでは、訓練対象である機械学習モデルが、決定木である。
【0043】
情報処理装置20は、
図5に示すように、取得部21と、訓練部22と、選択部23と、生成部24と、ラベル付与部25と、出力部26と、制御部27とを含む。取得部21は、請求の範囲に記載した取得手段を実現する構成の一例である。訓練部22は、請求の範囲に記載した訓練手段を実現する構成の一例である。選択部23は、請求の範囲に記載した選択手段を実現する構成の一例である。生成部24は、請求の範囲に記載した生成手段を実現する構成の一例である。ラベル付与部25は、請求の範囲に記載したラベル付与手段を実現する構成の一例である。出力部26は、請求の範囲に記載した出力手段を実現する構成の一例である。
【0044】
取得部21は、例示的実施形態1における取得部11と同様に構成される。
【0045】
訓練部22は、例示的実施形態1における訓練部12とほぼ同様に構成されるが、機械学習モデル群COM0を複数のグループに分けて訓練する点が異なる。訓練部22による訓練処理の詳細については後述する。
【0046】
選択部23は、例示的実施形態1における選択部23とほぼ同様に構成されるが、予測結果のばらつきの評価対象とする訓練用例の詳細が異なる。評価対象とする訓練用例の詳細については後述する。
【0047】
生成部24は、選択部23が選択した訓練用例と、特徴量空間において選択した訓練用例の近傍に存在する用例とを合成して人工用例を生成する。生成部24は、一例として、上記式(1)により2つの訓練用例を合成して人工用例を生成する。
【0048】
ラベル付与部25は、複数の訓練用例及び人工用例の一部又は全部にラベルを付与する。ラベル付与部25は、一例として、ユーザ操作を受け付ける入力装置から出力される情報に基づきラベルを付与してもよい。また、一例として、ラベル付与部25は、用例を入力としてラベルを出力するよう訓練された機械学習モデルに、訓練用例および人工用例を入力することにより得られるラベルを付与してもよい。この場合、ラベルを出力する機械学習モデルは、機械学習モデル群COM0に含まれる各機械学習モデルとは異なる機械学習モデルである。また、ラベルを出力する機械学習モデルは、機械学習モデル群に含まれる少なくとも1つの機械学習モデルより予測精度の高いモデルであることが望ましい。例えば、機械学習モデル群に含まれる、訓練対象の機械学習モデルが決定木であれば、ラベルを出力する機械学習モデルは、ランダムフォレストであってもよい。
【0049】
出力部26は、生成部24が生成した人工用例を出力する。出力部26は一例として、生成部24が生成した人工用例を、外部記憶装置等の記録媒体に格納してもよい。また、出力部26は一例として、表示装置等の出力装置に人工用例を出力してもよい。
【0050】
制御部27は、情報処理装置20の各部を制御する。本例示的実施形態において制御部27は特に、生成部24が生成した人工用例を複数の訓練用例に追加して、取得部21、訓練部22、選択部23、および生成部24を再度機能させる。
【0051】
<情報処理方法の流れ>
本例示的実施形態に係る情報処理方法S20の流れについて、
図6を参照して説明する。
図6は、情報処理方法S20の流れを示すフロー図である。
【0052】
(ステップS201)
ステップS201(取得処理)において、取得部21は、複数の訓練用例を取得する。取得する複数の訓練用例は、観測により得られた用例を含んでいてもよいし、人工用例を含んでいてもよい。
【0053】
(ステップS202)
ステップS202において、ラベル付与部25は、取得部21が取得した複数の訓練用例の各々にラベルを付与する。
【0054】
(ステップS203)
ステップS203(訓練処理)において、訓練部22は、取得部21が取得した複数の訓練用例の一部または全部を用いて、複数の機械学習モデル群の各々を訓練する。機械学習モデル群の各々を訓練する訓練処理の詳細については後述する。
【0055】
(ステップS204)
ステップS204(選択処理)において、選択部23は、取得部21が取得した複数の訓練用例のうち、予測結果にばらつきがある訓練用例を1つ以上選択する。選択部23が行う選択処理については後述する。予測結果にばらつきがある訓練用例を選択する処理の詳細については後述する。
【0056】
(ステップS205)
ステップS205(生成処理)において、生成部24は、選択部23が選択した訓練用例を含む複数の訓練用例を、合成対象として特定する。また、生成部24は、合成対象として特定した複数の訓練用例を合成して人工用例を生成する。生成部24が行う生成処理の詳細については後述する。
【0057】
(ステップS206)
ステップS206において、ラベル付与部25は、生成部24が生成した人工用例の各々にラベルを付与する。ステップS207において、制御部27は、訓練処理を終了するかを判定する。制御部27は、一例として、ステップS203~S206の処理を実行した回数が所定の閾値以上である場合、訓練処理を終了すると判定する。一方、ステップS203~S206の処理を実行した回数が所定の閾値未満である場合、訓練処理を終了しないと判定する。訓練処理を終了しない場合(ステップS207にてNO)、制御部27はステップS208の処理に進む。一方、訓練処理を終了する場合(ステップS207にてYES)、制御部27はステップS209の処理に進む。
【0058】
(ステップS208)
ステップS208において、制御部27は、これまでに実行したステップS206で生成された1以上の人工用例を複数の訓練用例に追加する。ステップS208の処理を終えると、制御部27は、ステップS203の処理に戻る。換言すると、制御部27は、人工用例を複数の訓練用例に追加して、取得部21、訓練部22、選択部23、および生成部24を再度機能させる。
【0059】
(ステップS209)
ステップS209において、出力部26は、これまでに実行したステップS206で生成された1以上の人工用例を出力する。
【0060】
<訓練対象の機械学習モデルの訓練>
このようにして情報処理方法S20を用いて生成された1つ以上の人工用例は、訓練対象の機械学習モデルを訓練するために用いられる。訓練対象の機械学習モデルを訓練する処理は、例えば、訓練部22が実行してもよい。
【0061】
(訓練処理、選択処理の具体例)
ステップS203~S204における訓練処理及び選択処理の具体例について、
図7を参照して説明する。
図7は、情報処理方法S20の具体例を模式的に示す図である。
【0062】
図7に示すように、ステップS203において、訓練部22は、機械学習モデル群COM0を、複数のグループCOMi(i=1,2,…,M、Mは2以上の整数)に分割して訓練を行う。以降、分割した各グループを、機械学習モデル群COMiと記載する。また、機械学習モデル群COMiには、複数の機械学習モデルmi-j(j=1,2,…)が含まれる。以降、機械学習モデル群COMiに含まれる複数の機械学習モデルを、機械学習モデルmi-jと記載する。機械学習モデル群COMiに含まれる複数の機械学習モデルmi-jは、全てが同一の機械学習アルゴリズムにより生成されたモデルであってもよいし、そのうち少なくとも2つが互いに異なる機械学習アルゴリズムにより生成されたモデルであってもよい。また、機械学習モデル群COMi1に含まれる機械学習モデルmi1-jの個数は、機械学習モデル群COMi2に含まれる機械学習モデルmi2-jの個数と同一であってもよいし、異なっていてもよい(i1=1,2,…,M、i2=1,2,…,M、i1≠i2)。
【0063】
ステップS203において、訓練部22は、ステップS201において取得部21が取得した訓練用例群Tから、訓練用例群Diを抽出する。訓練用例群Diは、訓練用例群Tの一部である。例えば、訓練部22は、ランダムサンプリングにより訓練用例群Diを抽出してもよい。訓練用例群Di1とDi2とは、含まれる訓練用例が全て同一であってもよいし、一部または全部が異なっていてもよい。訓練部22は、訓練用例群Diを用いて、機械学習モデル群COMiに含まれる各機械学習モデルmi-jを訓練することを、i=1,2,…,Mについて繰り返す。
【0064】
ステップS204において、選択部23は、機械学習モデル群COMiを用いて、予測結果にばらつきがある訓練用例を選択することを、i=1,2,…,Mについて繰り返す。。具体的には、選択部23は、機械学習モデル群COMiの訓練に用いなかった各訓練用例(すなわち、訓練用例群Tのうち訓練用例群Di以外)について、予測結果のばらつきを評価する。これにより、選択部23は、このような評価対象の訓練用例のうち、予測結果予測結果にばらつきがある訓練用例を選択する。
図7の例では、選択部23は、機械学習モデル群COM1を用いて、予測結果にばらつきがある訓練用例t1,t2,…を選択している。また、選択部23は、機械学習モデル群COM2を用いて、予測結果にばらつきがある訓練用例t11,t12,…を選択している。
【0065】
選択部23は例えば、評価対象の各訓練用例について、QBC(query by committee)の手法における投票結果のエントロピー(vote entropy)の指標を用いて、ばらつきの評価を行う。例えば、以下の式(2)は、投票結果のエントロピーが最大である訓練用例^xを示す式である。
【数2】
式(2)において、Cは、機械学習モデル群COMiにおける機械学習モデルmi-jの総数を示す。V(y)は、機械学習モデル群COMiにおいてラベルyを予測した機械学習モデルmi-jの数を示す。選択部23は、式(2)が示す訓練用例^xを、予測結果にばらつきがある訓練用例として選択してもよい。この場合、各機械学習モデル群COMiについて選択部23が選択する、予測結果にばらつきがある訓練用例の数は1つである。換言すると、この場合、選択部23は、M個の機械学習モデル群COMiを用いて、予測結果にばらつきがある訓練用例をM個選択する。また、選択部23は、各機械学習モデル群COMiについて、投票結果のエントロピーが大きい順に所定数の訓練用例を選択してもよいし、投票結果のエントロピーが閾値以上の訓練用例を選択してもよい。この場合、各機械学習モデル群COMiについて選択部23が選択する、予測結果にばらつきがある訓練用例の数は複数でありうる。換言すると、この場合、選択部23は、M個の機械学習モデル群COMiを用いて、予測結果にばらつきがある訓練用例をM個以上選択する。さらに、選択部23は、このようにして選択した、予測結果にばらつきがあるM個以上の訓練用例の中から、ランダムに1つ又は所定数を選択してもよいし、投票結果のエントロピーが大きい順に1つ又は所定数を選択してもよい。
【0066】
(生成処理の具体例)
ステップS205における生成処理の具体例について説明する。ステップS205において、生成部24は、予測結果にばらつきがある訓練用例を用いて、第1生成処理S30、第2生成処理S40、及び第3生成処理S50の何れかを実行することにより、人工用例を生成する。第1生成処理S30は、予測結果にばらつきがある訓練用例とその近傍の訓練用例とを合成して人工用例を生成する処理である。第2生成処理は、予測結果にばらつきがある2つ以上の訓練用例を合成して人工用例を生成する処理である。第3生成処理は、第1生成処理及び第2生成処理の何れかを選択的に実行する処理である。
【0067】
(第1生成処理)
第1生成処理S30について、
図8を参照して説明する。
図8は、第1生成処理S30の流れを示すフロー図である。
図8において、第1生成処理S30は、ステップS301~S302を含む。ここで、先行して実施されたステップS204では、予測結果にばらつきがある1または複数の訓練用例が選択されている。生成部24は、予測結果にばらつきがある1または複数の訓練用例のそれぞれ(以下では、当該訓練用例と記載)について、以下のステップS301~S302を実行する。
【0068】
(ステップS301)
ステップS301において、生成部24は、当該訓練用例の近傍の訓練用例を選択する。近傍の訓練用例は、予測結果にばらつきがある訓練用例であってもよいし、予測結果のばらつきが小さい訓練用例であってもよい。例えば、近傍の訓練用例は、訓練用例群Tのうち、当該訓練用例との特徴量空間における距離が最も近い訓練用例であってもよい。また、例えば、近傍の訓練用例は、訓練用例群Tのうち、当該訓練用例との特徴量空間における距離が閾値以下の訓練用例であってもよい。
【0069】
(ステップS302)
ステップS302において、生成部24は、当該訓練用例と、ステップS301で選択した近傍の訓練用例とを合成して人工用例を生成する。例えば、
図7の例では、予測結果にばらつきがある訓練用例t1とその近傍の訓練用例とを合成して人工用例tv1-1が生成される。また、予測結果にばらつきがある訓練用例t2とその近傍の訓練用例とを合成して人工用例tv1-2が生成される。
【0070】
ここで、生成部24は、合成処理の一例として、上記式(1)を用いてもよい。また、生成部24は、合成処理の他の例として、MUNGE(参考文献1参照)、SMOTE(参考文献2参照)等の公知の技術を用いてもよい。
【0071】
[参考文献1] Bucilua, C., Caruana, R. and Niculescu-Mizil, A., “Model Compression”, Proc. ACM SIGKDD, pp. 535-541 (2006)
[参考文献2] Chawla, N. V., Bowyer, K. W., Hall, L. O., and Kegelmeyer, W. P., “SMOTE: Synthetic minority over-sampling technique”, Journal of Artificial Intelligent Research, 16, 321-357 (2002).
(第2生成処理)
第2生成処理S40について、
図9を参照して説明する。
図9は、第2生成処理S40の流れを説明するフロー図である。
図9に示すように、第2生成処理S40は、ステップS401~S402を含む。なお、第2生成処理は、ステップS204において、予測結果にばらつきがある訓練用例が複数選択されている場合に実行可能である。生成部24は、生成部24は、予測結果にばらつきがある複数の訓練用例のそれぞれ(以下、当該訓練用例と記載)について、以下のステップS401~S402を実行する。
【0072】
(ステップS401)
ステップS401において、選択部23は、予測結果にばらつきがある複数の訓練用例のうち、当該訓練用例とは異なる他の訓練用例を選択する。換言すると、選択部23は、複数の訓練用例のうち、複数の予測結果にばらつきがある2つ以上の訓練用例を選択する。例えば、選択部23は、そのような他の訓練用例を、予測結果にばらつきがある複数の訓練用例からランダムに選択してもよい。また、例えば、選択部23は、そのような他の訓練用例として、予測結果にばらつきがある複数の訓練用例のうち当該訓練用例との特徴量空間における距離が最も小さいもの、又は距離が閾値以下のものを選択してもよい。なお、当該訓練用例が、既に合成に用いられている場合、当該訓練用例に関するステップS401~S402の処理は、実行されなくてもよい。
【0073】
(ステップS402)
ステップS402において、生成部24は、当該訓練用例と、ステップS401で選択した他の訓練用例とを合成して人工用例を生成する。例えば、
図7の例では、予測結果にばらつきがある訓練用例t11及びt12を合成して人工用例tv2-1が生成される。ここで、生成部24が合成する2以上の訓練用例は、この例のように、同一の機械学習モデル群COMiを用いて選択したものであってもよいし、そのうち少なくとも1つが他とは異なる機械学習モデル群COMiを用いて選択したものであってもよい。例えば、
図7の例では、生成部24は、予測結果にばらつきのある訓練用例t1、t2、…、t11、t12、…の中から2つ以上の訓練用例を選択し、選択した訓練用例を合成して人工用例tv1-1、tv1-2、tv2-1、又はtv2-2を生成してもよい。なお、ステップS402における合成処理に用いる手法については、ステップS302で説明した通りであるため、詳細な説明を繰り返さない。
【0074】
(第3生成処理)
第3生成処理について、
図10を参照して説明する。
図10は、第3生成処理S50の流れを説明するフロー図である。
図10において、第3生成処理S50は、ステップS501~S503を含む。ここで、ステップS204では、予測結果にばらつきがある1または複数の訓練用例が選択されている。生成部24は、予測結果にばらつきがある1または複数の訓練用例のそれぞれ(以下では、当該訓練用例と記載)について、以下のステップS501~S503を実行する。
【0075】
(ステップS501)
ステップS501において、生成部24は、第1生成処理及び第2生成処理の何れかを選択する。例えば、生成部24は、ランダム関数により決定した確率pを用いて第1生成処理を選択し、第1生成処理を選択しなかった場合に第2生成処理を選択してもよい。なお、第1生成処理及び第2生成処理の何れかを選択する手法は、確率pを用いる手法に限らず、他の手法であってもよい。
【0076】
(ステップS502~S504)
ステップS502において、生成部24は、いずれを選択したかを判定する。第1生成処理を選択した場合、生成部24はステップS503の処理に進み、第1生成処理を実行する。一方、第2生成処理を選択した場合、生成部24はステップS504の処理に進み、第2生成処理を実行する。第1生成処理及び第2生成処理の詳細については、上述した通りである。
【0077】
<本例示的実施形態の効果>
本例示的実施形態は、予測結果にばらつきがある訓練用例と、その近傍にある訓令用例とを合成して人工用例を生成する第1生成処理を実行する、との構成を有する。
【0078】
ここで、第1生成処理により生成される人工用例は、予測結果にばらつきがある訓練用例の近傍に生成される。予測結果にばらつきがある訓練用例は、特徴量空間において訓練用例が不足している領域にあると考えられる。したがって、このような人工用例は、訓練用例が不足している領域に生成される。
【0079】
また、本例示的実施形態は、予測結果にばらつきがある2つ以上の訓練用例を合成して人工用例を生成する第2生成処理を実行する、との構成を有する。
【0080】
ここで、第2生成処理により生成される人工用例は、訓練用例が不足している領域にある訓練用例同士が合成されたものである。したがって、このような人工用例が存在する領域も、訓練用例が不足している可能性が高い。
【0081】
また、本例示的実施形態は、第1生成処理と、第2生成処理との何れかを選択して実行することにより人工用例を生成する第3生成処理を実行する、との構成を有する。
【0082】
ここで、例えば、第3生成処理により生成される人工用例は、第1生成処理又は第2生成処理により生成される。第1生成処理により人工用例が生成される領域と、第2生成処理により人工用例が生成される領域とは、異なり得る。したがって、第3生成処理により複数の人工用例を生成する場合、これらの人工用例は、訓練用例が不足しているより多様な領域に分散して生成される可能性が高くなる。
【0083】
その結果、本例示的実施形態は、第1生成処理、第2生成処理、及び第3生成処理の何れかを実行することにより、訓練用例が十分である領域に偏って過剰に人工用例を生成することがなく、訓練用例がより不足している領域に人工用例を生成することができる。
【0084】
また、本例示的実施形態は、機械学習モデル群が、訓練対象の機械学習モデルを含んでいる。これにより、本例示的実施形態は、訓練対象の機械学習モデルの精度向上により効果的な人工用例を生成することができる。
【0085】
また、本例示的実施形態は、機械学習モデル群のうち少なくとも2つが、互いに異なる機械学習アルゴリズムにより生成されるモデルである、との構成を採用している。
【0086】
これにより、予測結果にばらつきがある訓練用例をより精度よく選択することができる。
【0087】
また、本例示的実施形態は、訓練対象の機械学習モデルが決定木であり、サポートベクタマシンではない。また、本例示的実施形態は、そのような訓練対象の機械学習モデルが機械学習モデル群COM0に含まれている。したがって、サポートベクタマシンの決定境界近傍に人工用例を生成する非特許文献1に記載の技術と比較して、本例示的実施形態は、訓練対象の機械学習モデルの精度向上により効果的な人工用例を生成することができる。
【0088】
〔例示的実施形態3〕
本発明の例示的実施形態3について、図面を参照して詳細に説明する。なお、例示的実施形態2にて説明した構成要素と同じ機能を有する構成要素については、同じ符号を付記してその説明を繰り返さない。本例示的実施形態は、例示的実施形態2における生成部24を次のように変形した形態である。
【0089】
<生成部の構成>
本例示的実施形態において、生成部24は、複数の人工用例を生成する。また、生成部24は、生成した複数の人工用例のうち、類似条件を満たす2つの人工用例を1つの人工用例に統合する。ここで、類似条件とは、用例が類似することを示す条件である。類似条件は、例えばコサイン類似度が閾値以上であることであってもよいし、特徴量空間における距離が閾値以下であることであってもよい。ただし、類似条件はこれらに限られない。統合する処理の詳細については後述する。
【0090】
<情報処理方法の流れ>
本例示的実施形態における情報処理方法S20Aについて、
図11を参照して説明する。
図11は、例示的実施形態3に係る情報処理方法S20Aの流れを説明するフロー図である。
図11に示す情報処理方法S20Aは、例示的実施形態2に係る情報処理方法S20とほぼ同様に構成されるが、ステップS205Aをさらに含む点が異なる。
【0091】
(ステップS205A)
ステップS205Aにおいて、生成部24は、ステップS205において生成した人工用例のうち、類似する2つの人工用例を統合する。具体的には、生成部24は、今回のステップS205において生成した人工用例と、前回までのステップS205において生成した人工用例の何れかとが類似条件を満たすか否かを判定する。類似条件を満たすと判定した場合、生成部24は、類似条件を満たす2つの人工用例を統合する。
【0092】
(統合処理の具体例)
統合処理の一例として、2つの人工用例を合成する処理が挙げられる。この場合、生成部24は、2つの人工用例を合成して1つの人工用例を生成し、類似条件を満たした元の2つの人工用例を削除する。また、統合処理の他の例として、2つの人工用例のうち一方を削除する処理が挙げられる。なお、統合処理は、類似条件を満たす2つの人工用例の代わりに、当該2つの人工用例を参照して生成した1つの人工用例を採用する処理であればよく、上述した処理に限られない。なお、人工用例を削除するとは、ステップS206でラベルを付与する対象、及びステップS208で訓練用例に追加する対象から削除することである。これにより、統合された人工用例に対して、ラベルが付与されるとともに訓練用例に追加される。
【0093】
<本例示的実施形態の効果>
本例示的実施形態においては、生成部が、複数の人工用例を生成し、生成した複数の人工用例のうち、類似条件を満たす2つの人工用例を1つの人工用例に統合する、との構成が採用されている。
【0094】
ここで、訓練用例が不足している領域に存在する複数の用例が類似する場合、それらの用例を用いて機械学習モデルを訓練することは、機械学習モデルの精度向上において効率的ではない。したがって、本例示的実施形態は、類似条件を満たす人工用例を統合することにより、訓練用例が不足している領域に、より効率的に機械学習モデルの精度を向上させることができる人工用例を生成することができる。
【0095】
〔例示的実施形態4〕
本発明の例示的実施形態4について、図面を参照して詳細に説明する。なお、例示的実施形態2にて説明した構成要素と同じ機能を有する構成要素については、同じ符号を付記してその説明を繰り返さない。本例示的実施形態は、例示的実施形態2における生成部24を次のように変形した形態である。
【0096】
<生成部の構成>
本例示的実施形態において、生成部24は、生成した人工用例のうち、訓練後の機械学習モデル群COM0を用いて得られる複数の予測結果にばらつきがある人工用例を出力する。ここで、ばらつきがある人工用例は、ばらつきの評価結果が「ばらつきが大きい」ことを示す人工用例である。ばらつきの評価の詳細については、上述した通りであるため、詳細を繰り返さない。換言すると、生成部24は、生成した人工用例のばらつきを、訓練後の機械学習モデル群COM0を用いて事後評価し、事後評価により予測結果にばらつきがある人工用例を採用する。
【0097】
<情報処理方法の流れ>
本例示的実施形態における情報処理方法S20Bについて、
図12を参照して説明する。
図12は、例示的実施形態4に係る情報処理方法S20Bの流れを説明するフロー図である。
図12に示す情報処理方法S20Bは、例示的実施形態2に係る情報処理方法S20とほぼ同様に構成されるが、ステップS205Bをさらに含む点が異なる。
【0098】
(ステップS205B)
ステップS205Bにおいて、生成部24は、ステップS205において生成した人工用例を事後評価する。
【0099】
具体的には、生成部24は、当該人工用例について、機械学習モデル群COM0を用いて予測結果のばらつきを評価する。例えば、
図7に示した例では、生成部24は、人工用例tv1-1について、機械学習モデル群COM1を用いて予測結果のばらつきを評価する。このように、ばらつきの評価に用いる機械学習モデル群COM1は、当該人工用例tv1-1を生成するために参照した訓練用例t1の評価に用いたものであることが望ましい。機械学習モデル群COM0を用いて予測結果のばらつきを評価する処理の詳細については、例示的実施形態2において説明した通りである。
【0100】
生成部24は、ステップS205において生成した人工用例について、予測結果のばらつきが大きくないと評価した場合には、当該人工用例を削除する。ここで、人工用例を削除するとは、ステップS206でラベルを付与する対象、及びステップS208で訓練用例に追加する対象から削除することである。これにより、予測結果にばらつきがある人工用例に対してラベルが付与されるとともに、訓練用例に追加される。
【0101】
<本例示的実施形態の効果>
本例示的実施形態においては、生成部が、生成した人工用例のうち、訓練後の機械学習モデル群を用いて得られる複数の予測結果にばらつきがある人工用例を出力する、との構成が採用されている。
【0102】
ここで、予測結果にばらつきがある訓練用例を含む複数の訓練用例を合成して得られた人工用例は、必ずしも予測結果にばらつきがあるとは限らない。換言すると、このようにして生成した人工用例は、予測結果のばらつきが小さい可能性がある。予測結果のばらつきが小さい訓練用例を用いて機械学習モデルを訓練することは、機械学習モデルの精度向上において効率的ではない。したがって、本例示的実施形態は、生成した人工用例を事後評価することにより、訓練用例が不足している領域に、より効率的に機械学習モデルの精度を向上させることができる人工用例を生成することができる。
【0103】
〔例示的実施形態5〕
本発明の例示的実施形態5について、図面を参照して詳細に説明する。なお、例示的実施形態2にて説明した構成要素と同じ機能を有する構成要素については、同じ符号を付記してその説明を繰り返さない。
【0104】
本例示的実施形態は、例示的実施形態2における機械学習モデル群COM0の構成、及び情報処理方法S20におけるステップS203~S204を次のように変形した形態である。本例示的実施形態について、
図13を参照して説明する。
図13は、本例示的実施形態に係る情報処理方法を模式的に説明する図である。
【0105】
(機械学習モデル群)
図13に示すように、本例示的実施形態では、機械学習モデル群COM0は、機械学習モデルmj(j=1,2,…,M)を含む。各機械学習モデルmjは、同一の機械学習アルゴリズムによって生成されるモデルである。例えば、各機械学習モデルmjは、決定木であってもよい。
【0106】
(ステップS203)
本例示的実施形態のステップS203において、訓練部22は、ステップS201で取得部21が取得した訓練用例群Tから、訓練用例群Djを抽出する。訓練用例群Djは、訓練用例群Tの一部である。例えば、訓練部22は、ランダムサンプリングにより訓練用例群Djを抽出してもよい。訓練部22は、訓練用例群Djを用いて、機械学習モデルmjを訓練することを、j=1,2,…,Mについて繰り返す。
【0107】
ここで、訓練用例群Dj1とDj2とは、含まれる訓練用例が全て同一であってもよいが、一部または全部が異なることが望ましい(j1=1,2,…,M、j2=1,2,…,M、j1≠j2)。少なくとも一部が異なる訓練用例群Dj1とDj2とをそれぞれ用いることにより、機械学習モデル群mj1及びmj2は、それぞれを構成するパラメータが互いに異なるように訓練される。
【0108】
(ステップS204)
本例示的実施形態のステップS204において、選択部23は、機械学習モデル群COM0を用いて、訓練用例群Tに含まれる各訓練用例について、予測結果のばらつきを評価する。また、選択部23は、予測結果にばらつきがある訓練用例を選択する。
図13の例では、選択部23は、機械学習モデル群COM0を用いて、予測結果にばらつきがある訓練用例t1,t3,…を選択している。
【0109】
ステップS205の処理は、例示的実施形態2で説明した通りである。すなわち、
図13の例では、予測結果にばらつきがある訓練用例t1、t2、…の各々について、第1生成処理、第2生成処理、及び第3生成処理の何れかが実行される。これにより、人工用例tv1、tv2、…が生成される。
【0110】
<本例示的実施形態の効果>
本例示的実施形態は、機械学習モデル群を構成する機械学習モデルとして、全て同一の機械学習アルゴリズムによって生成されたモデルを用い、取得した訓練用例群の中から予測結果にばらつきがある訓練用例を選択する、との構成を採用している。
【0111】
これにより、本例示的実施形態は、取得した訓練用例群の全てに亘って訓練用例が不足している領域に、人工用例を生成することができる。
【0112】
また、本例示定期実施形態は、機械学習モデル群に含まれる機械学習モデルが全て決定木である場合、当該機械学習モデルの精度向上により効果的な人工用例を生成することができる。その理由について説明する。決定木は、訓練用例の小さな変更に対して木の構造が大きく変化しうる。そのため、複数の決定木を含む機械学習モデル群を用いることにより、予測結果にばらつきがある訓練用例をより精度よく選択することができるためである。
【0113】
〔ソフトウェアによる実現例〕
情報処理装置10,20の一部又は全部の機能は、集積回路(ICチップ)等のハードウェアによって実現してもよいし、ソフトウェアによって実現してもよい。
【0114】
後者の場合、情報処理装置10,20は、例えば、各機能を実現するソフトウェアであるプログラムの命令を実行するコンピュータによって実現される。このようなコンピュータの一例(以下、コンピュータCと記載する)を
図15に示す。コンピュータCは、少なくとも1つのプロセッサC1と、少なくとも1つのメモリC2と、を備えている。メモリC2には、コンピュータCを情報処理装置10,20として動作させるためのプログラムPが記録されている。コンピュータCにおいて、プロセッサC1は、プログラムPをメモリC2から読み取って実行することにより、情報処理装置10,20の各機能が実現される。
【0115】
プロセッサC1としては、例えば、CPU(Central Processing Unit)、GPU(Graphic Processing Unit)、DSP(Digital Signal Processor)、MPU(Micro Processing Unit)、FPU(Floating point number Processing Unit)、PPU(Physics Processing Unit)、マイクロコントローラ、又は、これらの組み合わせなどを用いることができる。メモリC2としては、例えば、フラッシュメモリ、HDD(Hard Disk Drive)、SSD(Solid State Drive)、又は、これらの組み合わせなどを用いることができる。
【0116】
なお、コンピュータCは、プログラムPを実行時に展開したり、各種データを一時的に記憶したりするためのRAM(Random Access Memory)を更に備えていてもよい。また、コンピュータCは、他の装置との間でデータを送受信するための通信インタフェースを更に備えていてもよい。また、コンピュータCは、キーボードやマウス、ディスプレイやプリンタなどの入出力機器を接続するための入出力インタフェースを更に備えていてもよい。
【0117】
また、プログラムPは、コンピュータCが読み取り可能な、一時的でない有形の記録媒体Mに記録することができる。このような記録媒体Mとしては、例えば、テープ、ディスク、カード、半導体メモリ、又はプログラマブルな論理回路などを用いることができる。コンピュータCは、このような記録媒体Mを介してプログラムPを取得することができる。また、プログラムPは、伝送媒体を介して伝送することができる。このような伝送媒体としては、例えば、通信ネットワーク、又は放送波などを用いることができる。コンピュータCは、このような伝送媒体を介してプログラムPを取得することもできる。
【0118】
〔付記事項1〕
本発明は、上述した実施形態に限定されるものでなく、請求項に示した範囲で種々の変更が可能である。例えば、上述した実施形態に開示された技術的手段を適宜組み合わせて得られる実施形態についても、本発明の技術的範囲に含まれる。
【0119】
〔付記事項2〕
上述した実施形態の一部又は全部は、以下のようにも記載され得る。ただし、本発明は、以下の記載する態様に限定されるものではない。
【0120】
(付記1)
複数の訓練用例を取得する取得手段と、
用例を入力として予測結果を出力する機械学習モデルを複数含む機械学習モデル群を、前記複数の訓練用例を用いて訓練する訓練手段と、
前記複数の訓練用例のうち、訓練後の前記機械学習モデル群を用いて得られる複数の予測結果にばらつきがある訓練用例を選択する選択手段と、
前記複数の訓練用例のうち、前記選択した訓練用例を含む2つ以上の訓練用例を合成して人工用例を生成する生成手段と、
を備えた情報処理装置。
【0121】
上記構成により、予測結果にばらつきがある訓練用例を用いて人工用例を生成するので、決定境界の近傍のように偏った領域に人工用例を生成することがなく、訓練用例が不足する領域に精度よく人工用例を生成することができる。
【0122】
(付記2)
前記生成手段は、前記選択した訓練用例と、特徴量空間において前記選択した訓練用例の近傍に存在する用例とを合成して前記人工用例を生成する、付記1に記載の情報処理装置。
【0123】
上記構成により、予測結果にばらつきがある訓練用例の近傍に人工用例を生成するので、訓練用例が不足する領域に精度よく人工用例を生成することができる。
【0124】
(付記3)
前記選択手段は、前記複数の訓練用例のうち、2つ以上の前記複数の予測結果にばらつきがある訓練用例を選択し、
前記生成手段は、2つ以上の前記選択した訓練用例を合成して前記人工用例を生成する、付記1に記載の情報処理装置。
【0125】
上記構成により、予測結果にばらつきがある訓練用例同士を合成して人工用例を生成するので、訓練用例が不足する領域に精度よく人工用例を生成することができる。
【0126】
(付記4)
前記生成手段は、
前記選択した訓練用例と、特徴量空間において前記選択した訓練用例の近傍に存在する用例とを合成する第1生成処理と、
2つ以上の前記選択した訓練用例を合成して前記人工用例を生成する第2生成処理と、
の何れかを実行することにより前記人工用例を生成する、付記1に記載の情報処理装置。
【0127】
上記構成により、第1生成処理及び第2生成処理の何れかを選択的に用いて人工用例を生成するので、複数の人工用例を生成する場合には、訓練用例が不足するより多様な領域に人工用例を生成することができる。
【0128】
(付記5)
前記人工用例を前記複数の訓練用例に追加して、前記取得手段、前記訓練手段、前記選択手段、及び前記生成手段を再度機能させる、付記1から4の何れか1つに記載の情報処理装置。
【0129】
上記構成により、生成した人工用例を加えた訓練用例を用いて機械学習モデル群を訓練することを繰り返すので、予測結果にばらつきがある訓練用例をより精度よく選択することができる。その結果、人工用例がより不足している領域に人工用例を生成することができる。
【0130】
(付記6)
前記生成手段は、
複数の前記人工用例を生成し、
複数の前記人工用例のうち類似条件を満たす2つの人工用例を1つの人工用例に統合する、付記1から4の何れか1つに記載の情報処理装置。
【0131】
上記構成により統合した人工用例を用いて機械学習モデルを訓練する場合、既に用いた人工用例に類似する人工用例を用いて訓練することを避けられる。したがって、より効率的に機械学習モデルの精度を向上させることができる人工用例を生成することができる。
【0132】
(付記7)
前記生成手段は、前記人工用例のうち、訓練後の前記機械学習モデル群を用いて得られる複数の予測結果にばらつきがある人工用例を出力する、付記1から6の何れか1つに記載の情報処理装置。
【0133】
上記構成により出力した人工用例を用いて機械学習モデルを訓練する場合、予測結果のばらつきが小さい人工用例を用いて訓練することを避けられる。したがって、より効率的に機械学習モデルの精度を向上させることができる人工用例を生成することができる。
【0134】
(付記8)
前記機械学習モデル群は、前記人工用例を用いて訓練する訓練対象の機械学習モデルを含む、付記1から7の何れか1つに記載の情報処理装置。
【0135】
上記構成により、生成した人工用例を用いて訓練対象の機械学習モデルを訓練すれば、より効果的に訓練対象の機械学習モデルの精度を向上させることができる。
【0136】
(付記9)
前記機械学習モデル群のうち少なくとも2つは、互いに異なる機械学習アルゴリズムを用いる、付記1から8の何れか1つに記載の情報処理装置。
【0137】
上記構成により、予測結果にばらつきがあるより多様な訓練用例を選択することができる。
【0138】
(付記10)
前記機械学習モデル群のそれぞれは、同一の機械学習アルゴリズムを用いる、付記1から8の何れか1つに記載の情報処理装置。
【0139】
上記構成により、予測結果にばらつきがある訓練用例をより精度よく選択することができる。
【0140】
(付記11)
前記機械学習モデル群のうち少なくとも1つは決定木である、付記1から10の何れか1つに記載の情報処理装置。
【0141】
上記構成により、決定木の精度をより効果的に向上させることができる人工用例を生成することができる。
【0142】
(付記12)
前記複数の訓練用例及び前記人工用例の一部又は全部にラベルを付与するラベル付与手段をさらに備える、付記1から11の何れか1つに記載の情報処理装置。
【0143】
上記構成により、用例にラベルが付与されていることを前提する訓練手法を用いて、機械学習モデル群又は訓練対象の機械学習モデルを訓練することができる。
【0144】
(付記13)
複数の訓練用例を取得すること、
用例を入力として予測結果を出力する機械学習モデルを複数含む機械学習モデル群を、前記複数の訓練用例を用いて訓練すること、
前記複数の訓練用例のうち、訓練後の前記機械学習モデル群を用いて得られる複数の予測結果にばらつきがある訓練用例を選択すること、及び、
前記複数の訓練用例のうち、前記選択した訓練用例を含む2つ以上の訓練用例を合成して人工用例を生成すること、
を含む情報処理方法。
【0145】
上記構成により、付記1と同様の効果を奏する。
【0146】
(付記14)
コンピュータを情報処理装置として機能させるためのプログラムであって、前記コンピュータを、
複数の訓練用例を取得する取得手段と、
用例を入力として予測結果を出力する機械学習モデルを複数含む機械学習モデル群を、前記複数の訓練用例を用いて訓練する訓練手段と、
前記複数の訓練用例のうち、訓練後の前記機械学習モデル群を用いて得られる複数の予測結果にばらつきがある訓練用例を選択する選択手段と、
前記複数の訓練用例のうち、前記選択した訓練用例を含む2つ以上の訓練用例を合成して人工用例を生成する生成手段と、
として機能させるプログラム。
【0147】
上記構成により、付記1と同様の効果を奏する。
【0148】
(付記15)
付記14に記載のプログラムが記録された、コンピュータ読み取り可能な記録媒体。
【0149】
上記の構成によれば、付記1と同様の効果を奏する。
【0150】
〔付記事項3〕
上述した実施形態の一部又は全部は、更に、以下のように表現することもできる。
【0151】
少なくとも1つのプロセッサを備え、前記プロセッサは、
複数の訓練用例を取得する取得処理と、
用例を入力として予測結果を出力する機械学習モデルを複数含む機械学習モデル群を、前記複数の訓練用例を用いて訓練する訓練処理と、
前記複数の訓練用例のうち、訓練後の前記機械学習モデル群を用いて得られる複数の予測結果にばらつきがある訓練用例を選択する選択処理と、
前記複数の訓練用例のうち、前記選択した訓練用例を含む2つ以上の訓練用例を合成して人工用例を生成する生成処理と、を実行する情報処理装置。
【0152】
なお、この情報処理装置は、更にメモリを備えていてもよく、このメモリには、前記取得処理と、前記訓練処理と、前記選択処理と、前記生成処理とを前記プロセッサに実行させるためのプログラムが記憶されていてもよい。また、このプログラムは、コンピュータ読み取り可能な一時的でない有形の記録媒体に記録されていてもよい。
【符号の説明】
【0153】
10、20 情報処理装置
11、21 取得部
12、22 訓練部
13、23 選択部
14、24 生成部
25 ラベル付与部
26 出力部
27 制御部