(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-24
(45)【発行日】2024-10-02
(54)【発明の名称】情報処理装置、情報処理方法及びプログラム
(51)【国際特許分類】
G06N 20/00 20190101AFI20240925BHJP
G06N 20/10 20190101ALI20240925BHJP
G06N 20/20 20190101ALI20240925BHJP
G06F 18/214 20230101ALI20240925BHJP
【FI】
G06N20/00
G06N20/10
G06N20/20
G06F18/214
(21)【出願番号】P 2023523844
(86)(22)【出願日】2021-05-27
(86)【国際出願番号】 JP2021020115
(87)【国際公開番号】W WO2022249373
(87)【国際公開日】2022-12-01
【審査請求日】2023-11-14
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】110000338
【氏名又は名称】弁理士法人 HARAKENZO WORLD PATENT & TRADEMARK
(72)【発明者】
【氏名】畠山 優太
(72)【発明者】
【氏名】岡嶋 穣
【審査官】多賀 実
(56)【参考文献】
【文献】KABRA, Anubha et al.,"MixBoost: Synthetic Oversampling with Boosted Mixup for Handling Extreme Imbalance",arXiv.org [online],arXiv:2009.01571v1,米国,Cornell University,2020年,[検索日 2021.07.08], インターネット:<URL:https://arxiv.org/pdf/2009.01571v1>
【文献】CZYZEWSKI, Maciej A.,"batchboost: REGULARIZATION FOR STABILIZING TRAINING WITH RESISTANCE TO UNDERFITTING & OVERFITTING",arXiv.org [online],arXiv:2001.07627v1,米国,Cornell University,2020年,pp.1-6,[検索日 2021.07.08], インターネット:<URL: https://arxiv.org/pdf/2001.07627v1>
【文献】渡邊 正人 ほか,「能動学習のための教師なしアノテーション対象データ選択手法」,情報処理学会研究報告 コンピュータビジョンとイメージメディア(CVIM) [online],情報処理学会,2018年,第2018-CVIM-213巻, 第38号,pp.1-8,[検索日 2018.09.19], インターネット:<URL:https://ipsj.ixsq.nii.ac.jp/ej/?action=repository_uri&item_id=191383&file_id=1&file_no=1>
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
G06T 7/00
G06F 18/00-18/40
(57)【特許請求の範囲】
【請求項1】
複数の訓練用例を取得する取得手段と、
前記複数の訓練用例のうち、用例を入力として予測結果を出力する1又は複数の機械学習モデルを用いて得られる1又は複数の予測結果が不確かな訓練用例を2つ以上選択する選択手段と、
前記選択手段が選択した2つ以上の訓練用例を合成して人工用例を生成する生成手段と、
を備えた情報処理装置。
【請求項2】
前記複数の訓練用例の一部又は全部を用いて、前記1又は複数の機械学習モデルの一部又は全部を訓練する訓練手段、をさらに備えた請求項1に記載の情報処理装置。
【請求項3】
前記選択手段が選択する2つ以上の訓練用例は、複数の前記機械学習モデルを用いて得られる複数の予測結果にばらつきがある訓練用例を含む、
請求項1又は2に記載の情報処理装置。
【請求項4】
前記選択手段が選択する2つ以上の訓練用例は、少なくとも1つの前記機械学習モデルの特徴量空間における決定境界の近傍に存在する訓練用例を含み、
前記選択手段は、前記複数の訓練用例の中から、前記特徴量空間における決定境界により区切られる複数の空間のそれぞれに含まれる訓練用例を選択する、
請求項1から3の
何れか1項に記載の情報処理装置。
【請求項5】
前記生成手段は、
複数の前記人工用例を生成し、
複数の前記人工用例のうち類似条件を満たす2つの人工用例を1つの人工用例に統合する、請求項1から
4の何れか1項に記載の情報処理装置。
【請求項6】
前記1又は複数の機械学習モデルは、前記人工用例を用いて訓練する訓練対象の機械学習モデルを含む、
請求項1から
5の何れか1項に記載の情報処理装置。
【請求項7】
前記選択手段は、前記複数の訓練用例のうち、複数の前記機械学習モデルを用いて得られる複数の予測結果が不確かな訓練用例を2つ以上選択し、
前記複数の機械学習モデルのうちの少なくとも2つは、互いに異なる機械学習アルゴリズムを用いる、請求項1から
6の何れか1項に記載の情報処理装置。
【請求項8】
前記選択手段は、前記複数の訓練用例のうち、複数の前記機械学習モデルを用いて得られる複数の予測結果が不確かな訓練用例を2つ以上選択し、
前記複数の機械学習モデルのそれぞれは、同一の機械学習アルゴリズムを用いる、請求項1から
7の何れか1項に記載の情報処理装置。
【請求項9】
情報処理装置が、
複数の訓練用例を取得すること、
前記複数の訓練用例のうち、用例を入力として予測結果を出力する1又は複数の機械学習モデルを用いて得られる1又は複数の予測結果が不確かな訓練用例を2つ以上選択し、選択した2つ以上の訓練用例を合成して人工用例を生成すること、
を含む情報処理方法。
【請求項10】
コンピュータを情報処理装置として機能させるためのプログラムであって、前記コンピュータを、
複数の訓練用例を取得する取得手段と、
前記複数の訓練用例のうち、用例を入力として予測結果を出力する1又は複数の機械学習モデルを用いて得られる1又は複数の予測結果が不確かな訓練用例を2つ以上選択する選択手段と、
前記選択手段が選択した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に記載の技術により生成される仮想インスタンスは、決定境界に最も近いマイノリティクラスのインスタンスよりも決定境界から離れた場所に生成される可能性がある。このような場所に生成される人工用例は、必ずしもサポートベクタマシンの推定精度を効率的に向上させるとは限らない。このように、非特許文献1に記載の技術により生成する人工用例は、機械学習モデルの推定精度を効率的に向上させる点において改善の余地がある。
【0005】
本発明の一態様は、上記の問題に鑑みてなされたものであり、その目的の一例は、機械学習モデルの予測精度をより効率的に向上させる人工用例を生成する技術を提供することである。
【課題を解決するための手段】
【0006】
本発明の一側面に係る情報処理装置は、複数の訓練用例を取得する取得手段と、前記複数の訓練用例のうち、用例を入力として予測結果を出力する1又は複数の機械学習モデルを用いて得られる1又は複数の予測結果が不確かな訓練用例を2つ以上選択する選択手段と、前記選択手段が選択した2つ以上の訓練用例を合成して人工用例を生成する生成手段と、を備える。
【0007】
本発明の一側面に係る情報処理方法は、情報処理装置が、複数の訓練用例を取得すること、前記複数の訓練用例のうち、用例を入力として予測結果を出力する1又は複数の機械学習モデルを用いて得られる1又は複数の予測結果が不確かな訓練用例を2つ以上選択し、選択した2つ以上の訓練用例を合成して人工用例を生成すること、を含む。
【0008】
本発明の一側面に係るプログラムは、コンピュータを情報処理装置として機能させるためのプログラムであって、前記コンピュータを、複数の訓練用例を取得する取得手段と、前記複数の訓練用例のうち、用例を入力として予測結果を出力する1又は複数の機械学習モデルを用いて得られる1又は複数の予測結果が不確かな訓練用例を2つ以上選択する選択手段と、前記選択手段が選択した2つ以上の訓練用例を合成して人工用例を生成する生成手段と、として機能させる。
【発明の効果】
【0009】
本発明の一態様によれば、機械学習モデルの予測精度をより効率的に向上させる人工用例を生成することができる。
【図面の簡単な説明】
【0010】
【
図1】本発明の例示的実施形態1に係る情報処理装置の構成を示すブロック図である。
【
図2】本発明の例示的実施形態1に係る情報処理方法の流れを示すフロー図である。
【
図3】本発明の例示的実施形態1に係る情報処理方法の具体例を模式的に示す図である。
【
図4】本発明の例示的実施形態2に係る情報処理装置の構成を示すブロック図である。
【
図5】本発明の例示的実施形態2に係る情報処理方法の流れを示すフロー図である。
【
図6】本発明の例示的実施形態2に係る第1選択処理の具体例を模式的に示す図である。
【
図7】本発明の例示的実施形態2に係る第2選択処理の具体例を模式的に示す図である。
【
図8】本発明の例示的実施形態3に係る生成処理の流れを示すフロー図である。
【
図9】本発明の例示的実施形態3に係る第1生成処理の流れを示すフロー図である。
【
図10】本発明の例示的実施形態3に係る第2生成処理の流れを示すフロー図である。
【
図11】本発明の例示的実施形態4に係る情報処理方法の具体例を模式的に示す図である。
【
図12】本発明の例示的実施形態5に係る情報処理方法の流れを示すフロー図である。
【
図13】本発明の例示的実施形態6に係る情報処理方法の流れを示すフロー図である。
【
図14】本発明の例示的実施形態1~6に係る情報処理装置として機能するコンピュータの構成を示すブロック図である。
【発明を実施するための形態】
【0011】
〔例示的実施形態1〕
本発明の第1の例示的実施形態について、図面を参照して詳細に説明する。本例示的実施形態は、後述する例示的実施形態の基本となる形態である。
【0012】
<情報処理装置の構成>
本例示的実施形態に係る情報処理装置10の構成について、
図1を参照して説明する。
図1は、情報処理装置10の構成を示すブロック図である。情報処理装置10は、複数の用例から、機械学習モデルの訓練に用いるための人工用例を生成する装置である。
【0013】
情報処理装置10は、
図1に示すように、取得部11、選択部12、及び生成部13を備える。取得部11は、請求の範囲に記載した取得手段を実現する構成の一例である。選択部12は、請求の範囲に記載した選択手段を実現する構成の一例である。生成部13は、請求の範囲に記載した生成手段を実現する構成の一例である。
【0014】
取得部11は、複数の訓練用例を取得する。選択部12は、取得部11が取得した複数の訓練用例のうち、用例を入力として予測結果を出力する1又は複数の機械学習モデルを用いて得られる1又は複数の予測結果が不確かな訓練用例を2つ以上選択する。生成部13は、選択部12が選択した2つ以上の訓練用例を合成して人工用例を生成する。
【0015】
(用例、訓練用例、人工用例)
用例は、機械学習モデルに入力される情報であり、特徴量を含む。換言すると、用例は、特徴量空間に存在する。訓練用例は、1又は複数の機械学習モデルのそれぞれの訓練に利用可能な用例である。訓練用例は、観測により得られる用例であってもよいし、人工的に生成された人工用例であってもよい。
【0016】
(機械学習モデル)
1又は複数の機械学習モデルの各々は、用例を入力として予測結果を出力する。予測結果は、例えば、複数のラベルの各々が予測される予測確率を含むものであってもよい。この場合、最も予測確率が高いラベルを、予測結果と記載する場合もある。1又は複数の機械学習モデルの各々は、一例として、決定木、ニューラルネットワーク、ランダムフォレスト、又はサポートベクタマシンなどの機械学習アルゴリズムを用いて生成されたモデルである。ただし、各機械学習モデルの生成に用いられる機械学習アルゴリズムは、これらに限られない。1又は複数の機械学習モデルは、例えば情報処理装置10のメモリに記憶されていてもよいし、情報処理装置10と通信可能に接続された他の装置に記憶されていてもよい。
【0017】
1又は複数の機械学習モデルの一部又は全部は、取得部11が取得する複数の訓練用例の一部又は全部を用いて訓練されたモデルであってもよい。また、1又は複数の機械学習モデルの一部又は全部は、取得部11が取得する訓練用例以外の訓練用例を用いて訓練されたモデルであってもよい。
【0018】
1又は複数の機械学習モデルは、必ずしも全てが、「生成した人工用例を用いて訓練する訓練対象の機械学習モデル」でなくてもよい。換言すると、1又は複数の機械学習モデルは、訓練対象である機械学習モデルの一部又は全部を含んでいてもよい。また、1又は複数の機械学習モデルは、訓練対象である機械学習モデルを含んでいなくてもよい。訓練対象である機械学習モデルの数は複数であってもよく、また単数であってもよい。
【0019】
(予測結果が不確かな訓練用例)
予測結果が不確かな訓練用例は、1又は複数の機械学習モデルによる予測結果の信頼度が低い訓練用例である。換言すると、予測結果が不確かな訓練用例は、一例として、不確かさの評価結果が所定条件を満たす訓練用例である。より具体的には、予測結果が不確かな訓練用例は、一例として、複数の機械学習モデルを用いて得られる複数の予測結果にばらつきがある訓練用例である。この場合、不確かさを評価するとは、複数の予測結果のばらつきを評価することであり、例えば、ばらつきが大きいか否かを評価することである。
【0020】
ここで、複数の予測結果にばらつきがある訓練用例とは、ばらつきの評価結果が「ばらつきが大きい」ことを示す訓練用例である。例えば、ばらつきの評価とは、複数の予測結果のばらつきが大きいか否かを評価することである。具体例として、ばらつきの評価は、投票結果のエントロピーに基づく評価であってもよい。投票結果のエントロピーについては、後述の例示的実施形態2で詳細を説明する。また、ばらつきの評価は、複数の予測結果のうち同一のラベルを示す予測結果の割合に基づく評価であってもよい。ただし、ばらつきの評価は、上述したものに限られない。以降、「複数の予測結果のばらつきが大きいと評価した訓練用例」を、「予測結果にばらつきがある訓練用例」とも記載する。また、「複数の予測結果のばらつきが大きくないと評価した訓練用例」を、「予測結果のばらつきが小さい訓練用例」とも記載する。
【0021】
また、予測結果が不確かな訓練用例は、一例として、少なくとも1つの機械学習モデルの特徴量空間における決定境界の近傍に存在する訓練用例である。この場合、不確かさを評価するとは、訓練用例が決定境界の近傍に存在するか否かを評価することであり、所定条件とは、決定境界の近傍に存在するとの条件である。
【0022】
<情報処理方法の流れ>
本例示的実施形態に係る情報処理方法S10の流れについて、
図2を参照して説明する。
図2は、情報処理方法S10の流れを示すフロー図である。
【0023】
(ステップS101)
ステップS101(取得処理)において、取得部11は、複数の訓練用例を取得する。例えば、取得部11は、複数の訓練用例をメモリから読み込むことにより取得してもよい。また、例えば、取得部11は、複数の訓練用例を、入力装置から取得してもよいし、ネットワークを介して接続された装置から取得してもよい。本ステップで取得する複数の訓練用例は、観測用例及び人工用例の一方又は両方を含んでいる。
【0024】
(ステップS102)
ステップS102(選択処理)において、選択部12は、複数の訓練用例のうち、用例を入力として予測結果を出力する1又は複数の機械学習モデルを用いて得られる1又は複数の予測結果が不確かな訓練用例を2つ以上選択する。
【0025】
(ステップS103)
ステップS103(生成処理)において、生成部13は、ステップS102において選択した2つ以上の訓練用例を合成して人工用例を生成する。生成部13は、2つの訓練用例を合成して1つの人工用例を生成してもよいし、3以上の訓練用例を合成して1つの人工用例を生成してもよい。また、生成部13は、1つの人工用例を生成してもよく、また、複数の人工用例を生成してもよい。生成部13は、一例として、以下の式(1)により人工用例を生成する。
【数1】
【0026】
式(1)において、^xvは人工用例を表し、xiとxjとは選択部12が選択した訓練用例を表す。λは、0≦λ≦1を満たす重み係数である。生成部13は、一例として、係数λの値を、ランダム関数により発生させた乱数を用いて決定する。なお、生成部13が行う生成処理は上述した手法に限られず、生成部13は他の手法により複数の訓練用例を合成してもよい。
【0027】
図3は、情報処理方法S10の具体例を模式的に示す図である。
図3では、選択部12が用いる機械学習モデルmj(j=1,2,3,…)の数が複数である場合を例示している。本具体例では、ステップS101において取得部11が取得する訓練用例群Tは、訓練用例t1,t2,t3,…を含む。複数の機械学習モデルmjのそれぞれは、用例が入力されると、予測結果として「A」又は「B」を示すラベルを出力するように訓練されたモデルである。
【0028】
図3において、選択部12は、評価対象である複数の訓練用例t1~t10を複数の機械学習モデルmjのそれぞれに入力する。これにより、選択部12は機械学習モデルm1から出力される予測結果と、機械学習モデルm2から出力される予測結果と、機械学習モデルm3から出力される予測結果と、…を含む複数の予測結果を得る。また、選択部12は、複数の予測結果に基づき、複数の訓練用例t1~t10のなかから、予測結果が不確かな訓練用例t3、t4、t7、t8を選択する。
【0029】
また、
図3において、生成部13は、選択部12が選択した訓練用例t3と訓練用例t4とを合成して訓練用例t51を生成する。また、生成部13は、選択部12が選択した訓練用例t3と訓練用例t8とを合成して訓練用例t52を生成する。また、生成部13は、選択部12が選択した訓練用例t7と訓練用例t8とを合成して訓練用例t53を生成する。
【0030】
<本例示的実施形態の効果>
以上のように、本例示的実施形態に係る情報処理装置10においては、複数の訓練用例のうち、用例を入力として予測結果を出力する1又は複数の機械学習モデルを用いて得られる1又は複数の予測結果が不確かな訓練用例を2つ以上選択し、選択した予測結果が不確かな2つ以上の訓練用例を合成して人工用例を生成する構成が採用されている。予測結果が不確かな2つ以上の訓練用例を合成して得られる人工用例は、予測結果が不足している場所に生成される可能性が高い。したがって、生成された人工用例を用いて機械学習モデルを訓練することにより、訓練対象とする機械学習モデルの予測精度をより効率的に向上させることができる。
【0031】
〔例示的実施形態2〕
本発明の例示的実施形態2について、図面を参照して詳細に説明する。なお、例示的実施形態1にて説明した構成要素と同じ機能を有する構成要素については、同じ符号を付し、その説明を繰り返さない。
【0032】
<情報処理装置の構成>
本例示的実施形態に係る情報処理装置20の構成について、
図4を参照して説明する。
図4は、情報処理装置20の構成を示すブロック図である。情報処理装置20は、機械学習モデルの訓練に用いる人工用例を生成する装置である。情報処理装置20は、取得部21、訓練部22、選択部23、生成部24、ラベル付与部25、出力部26、及び制御部27を備える。訓練部22は、請求の範囲に記載した訓練手段を実現する構成の一例である。ラベル付与部25は、請求の範囲に記載したラベル付与手段を実現する構成の一例である。出力部26は、請求の範囲に記載した出力手段を実現する構成の一例である。
【0033】
取得部21は、例示的実施形態1における取得部11と同様に構成される。訓練部22は、取得部21が取得した複数の訓練用例の一部又は全部を用いて、1又は複数の機械学習モデルの一部又は全部を訓練する。以降、複数の機械学習モデルを用いる場合には、「複数の機械学習モデル」を「機械学習モデル群」ともいう。
【0034】
1又は複数の機械学習モデルは、一例として、情報処理装置20が生成する人工用例を用いて訓練する訓練対象の機械学習モデルを含む。また、1又は複数の機械学習モデルのうちの少なくとも1つは、一例として、決定木であってもよい。
【0035】
選択部23は、取得部21が取得した複数の訓練用例のうち、用例を入力として予測結果を出力する1又は複数の機械学習モデルを用いて得られる1又は複数の予測結果が不確かな訓練用例を2つ以上選択する。選択部が行う選択処理については後述する。
【0036】
生成部24は、選択部23が選択した2つ以上の訓練用例を合成して人工用例を生成する。生成部24は、一例として、上記式(1)により表される合成処理を行って人工用例を生成する。
【0037】
ラベル付与部25は、複数の訓練用例及び人工用例の一部又は全部にラベルを付与する。ラベル付与部25は、一例として、ユーザ操作を受け付ける入力装置から出力される情報に基づきラベルを付与してもよい。また、ラベル付与部25は、一例として、用例を入力としてラベルを出力するよう訓練された機械学習モデルに、訓練用例及び人工用例を入力することにより得られるラベルを付与してもよい。この場合、ラベルを出力する機械学習モデルは、例えば、少なくとも1つの機械学習モデル、又は、訓練対象である機械学習モデルよりも予測精度の高いモデルである。訓練対象である機械学習モデルが決定木である場合、ラベルを出力する機械学習モデルは、例えばランダムフォレストである。
【0038】
出力部26は、生成部24が生成した人工用例を出力する。出力部26は一例として、生成部24が生成した人工用例を、外部記憶装置等の記録媒体に格納してもよい。また、出力部26は一例として、表示装置等の出力装置に人工用例を出力してもよい。
【0039】
制御部27は、情報処理装置20の各部を制御する。本例示的実施形態において制御部27は特に、生成部24が生成した人工用例を複数の訓練用例に追加して、取得部21、訓練部22、選択部23、及び生成部24を再度機能させる。
【0040】
<情報処理方法の流れ>
以上のように構成された情報処理装置20が実行する情報処理方法S20の流れについて、
図5を参照して説明する。
図5は、情報処理方法S20の流れを示すフロー図である。
【0041】
(ステップS201)
ステップS201において、取得部21は、複数の訓練用例を取得する。取得する複数の訓練用例は、観測により得られた用例を含んでいてもよいし、人工用例を含んでいてもよい。
【0042】
(ステップS202)
ステップS202において、ラベル付与部25は、取得部21が取得した複数の訓練用例の各々にラベルを付与する。
【0043】
(ステップS203)
ステップS203において、訓練部22は、取得部21が取得した複数の訓練用例の一部又は全部を用いて、1又は複数の機械学習モデルを訓練する。例えば、訓練部22は、1又は複数の機械学習モデルをそれぞれ、訓練用例群Djを用いて訓練する。訓練用例群Djは、機械学習モデルの訓練に用いられる訓練用例群である。訓練用例群は、取得部21が取得した複数の訓練用例から訓練部22がランダムに抽出した訓練用例の集合である。ある機械学習モデルの訓練に用いられる訓練用例群は、その一部又は全部が、他の機械学習モデルの訓練に用いられる訓練用例群と重複していてもよい。
【0044】
複数の機械学習モデルを用いる場合、一例として、複数の機械学習モデルのうちの少なくとも2つは、互いに異なる機械学習アルゴリズムを用いるものであってもよい。また、複数の機械学習モデルを用いる場合、一例として、複数の機械学習モデルのそれぞれは、同一の機械学習アルゴリズムを用いるものであってもよい。
【0045】
(ステップS204)
ステップS204において、選択部23は、取得部21が取得した複数の訓練用例のうち、1又は複数の機械学習モデルを用いて得られる1又は複数の予測結果が不確かな訓練用例を2つ以上選択する。選択部23が行う選択処理については後述する。以下の説明では、選択部23が選択する訓練用例を「不確かな訓練用例」ともいう。
【0046】
(ステップS205)
ステップS205において、生成部24は、選択部23が選択した2つ以上の訓練用例を合成して人工用例を生成する。生成部24は、一例として、上記式(1)により表される合成処理を行って人工用例を生成する。又は、生成部24は、複数の訓練用例を合成する手法として、例えば、MUNGE(参考文献1参照)、SMOTE(参考文献2参照)等の公知技術を用いてもよい。
【0047】
[参考文献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).
選択部23が選択した訓練用例の数が3以上である場合、生成部24は、選択部23が選択した訓練用例の一部又は全部の訓練用例を合成して人工用例を生成する。選択部23が選択した訓練用例の一部を合成する場合、生成部24は、選択部23が選択した訓練用例の一部を合成対象として特定し、特定した訓練用例を合成して人工用例を生成する。生成部24が合成対象として特定する訓練用例の数は、2であってもよく、3以上であってもよい。
【0048】
生成部24は、一例として、選択部23が選択した複数の訓練用例の中から、合成対象として、複数の訓練用例をランダムに特定してもよく、また、特徴量空間における距離が閾値以下である複数の訓練用例を特定してもよい。なお、生成部24が合成対象とする訓練用例を特定する手法はこれらに限られない。
【0049】
(ステップS206)
ステップS206において、ラベル付与部25は、生成部24が生成した1以上の人工用例にそれぞれラベルを付与する。
【0050】
(ステップS207)
ステップS207において、制御部27は、訓練処理を終了するか否かを判定する。制御部27は、一例として、ステップS203~S206の処理を実行した回数が所定の閾値以上である場合、訓練処理を終了すると判定する。一方、ステップS203~S206の処理を実行した回数が所定の閾値未満である場合、訓練処理を終了しないと判定する。訓練処理を終了しない場合(ステップS207にてNO)、制御部27はステップS208の処理に進む。一方、訓練処理を終了する場合(ステップS207にてYES)、制御部27はステップS209の処理に進む。
【0051】
(ステップS208)
ステップS208において、制御部27は、ラベルを付与した1以上の人工用例を複数の訓練用例に追加する。ステップS208の処理を終えると、制御部27は、ステップS203の処理に戻る。換言すると、制御部27は、人工用例を複数の訓練用例に追加して、取得部21、訓練部22、選択部23、及び生成部24を再度機能させる。
【0052】
(ステップS209)
ステップS209において、出力部26は、生成部24が生成した人工用例を出力する。出力部26は、一例として、生成部24が生成した人工用例のうち、訓練部22による訓練後の1又は複数の機械学習モデルを用いて得られる1又は複数の予測結果が不確かな人工用例を1つ以上出力する。
【0053】
<合成対象とする訓練用例の選択処理>
選択部23が行う訓練用例の選択処理の具体例として、第1選択処理~第3選択処理を説明する。第1選択処理では、選択部23が選択する2つ以上の訓練用例は、一例として、複数の機械学習モデルを用いて得られる複数の予測結果にばらつきがある訓練用例を含む。第2選択処理では、選択部23が選択する2つ以上の訓練用例は、一例として、少なくとも1つの機械学習モデルの特徴量空間における決定境界の近傍に存在する訓練用例を含む。第3選択処理では、選択部23は、少なくとも1つの機械学習モデルの予測確率を利用して訓練用例を選択する。
【0054】
選択部23は、第1選択処理~第3選択処理の少なくともいずれか1つの処理を実行することにより、合成対象とする訓練用例を選択する。なお、選択部23が行う選択処理はこれらに限られず、選択部23は他の手法により予測結果が不確かな訓練用例を選択してもよい。
【0055】
(第1選択処理)
第1選択処理は、複数の機械学習モデルを用いて実行可能な処理である。第1選択処理では、選択部23は、複数の機械学習モデルを用いて得られる複数の予測結果にばらつきがある訓練用例を選択する。
図6は、第1選択処理の具体例を模式的に示す図である。
図6において、訓練用例群Tは、複数の訓練用例t1、t2、t3、…を含む。機械学習モデル群COMは、複数の機械学習モデルm1、m2、…を含む。機械学習モデルm1は、訓練用例群Tに含まれる訓練用例群D1を用いて訓練部22が訓練したモデルである。機械学習モデルm2は、訓練用例群Tに含まれる訓練用例群D2を用いて訓練部22が訓練したモデルである。このように、機械学習モデルmj(j=1,2,…)は、訓練用例群Tに含まれる訓練用例群Djを用いて訓練部22が訓練したモデルである。
【0056】
図6において、選択部23は、訓練部22が訓練した複数の機械学習モデルmjを用いて、合成対象とする訓練用例を選択する。この例で、選択部23は、取得部21が取得した訓練用例群Tのうち評価対象の複数の訓練用例を、複数の機械学習モデルmjのそれぞれに入力する。これにより、選択部23は機械学習モデルm1から出力される予測結果と、機械学習モデルm2から出力される予測結果と、…を含む複数の予測結果を得る。また、選択部23は、複数の機械学習モデルmjの予測結果にばらつきがある訓練用例t1、t2、…を選択する。選択部23が複数の機械学習モデルmjに入力する訓練用例、すなわち評価対象とする訓練用例は、一例として、訓練用例群Tのうち訓練部22が何れの機械学習モデルmjの訓練にも用いなかった訓練用例である。
【0057】
このとき、選択部23は、一例として、QBC(query by committee)の手法における投票結果のエントロピー(vote entropy)の指標を用いて、予測結果にばらつきがある訓練用例を選択する。例えば以下の式(2)は、投票結果のエントロピーが最大である訓練用例^xを選択することを示す。
【数2】
【0058】
式(2)において、Cは機械学習モデルの総数を示す。V(y)はラベルyを予測した機械学習モデルの数を示す。選択部23は、式(2)が示す^xを、予測結果にばらつきがある訓練用例として選択してもよい。また、選択部23は、例えばエントロピーが大きい順に所定数の訓練用例t1,t2,…を選択してもよいし、エントロピーが閾値以上の訓練用例t1,t2,…を選択してもよい。
【0059】
例えば、評価対象の訓練用例t1~t3をそれぞれ機械学習モデルm1~m2に入力したときの予測結果が以下である場合を説明する。
・訓練用例t1を機械学習モデルm1に入力した場合の予測結果が「A」であり、訓練用例t1を機械学習モデルm2に入力した場合の予測結果が「B」である。
・訓練用例t2を機械学習モデルm1に入力した場合の予測結果が「A」であり、訓練用例t2を機械学習モデルm2に入力した場合の予測結果が「B」である。
・訓練用例t3を機械学習モデルm1に入力した場合の予測結果が「A」であり、訓練用例t3を機械学習モデルm2に入力した場合の予測結果が「A」である。
【0060】
この場合、選択部23は、エントロピーが最大となる訓練用例t1、t2を、予測結果が不確かな訓練用例として選択する。生成部24は、選択部23が選択した訓練用例t1と訓練用例t2とを合成し、人工用例tv1を生成する。
【0061】
(第2選択処理)
次いで、選択部23が行う第2選択処理を説明する。第2選択処理は、少なくとも1つの機械学習モデルがサポートベクタマシンである場合に、当該機械学習モデルを用いて実行可能な処理である。第2選択処理では、選択部23は、当該機械学習モデルの特徴量空間における決定境界の近傍に存在する訓練用例を選択する。
【0062】
図7は、第2選択処理の具体例を模式的に示す図である。この例で、選択部23は、当該機械学習モデルが示す決定境界Bの近傍に存在する複数の訓練用例を、予測結果が不確かな訓練用例として選択する。選択部23は、一例として、決定境界Bからの距離が所定の閾値以下である訓練用例を選択してもよく、また、一例として、決定境界Bからの距離が小さい順に所定数の訓練用例を選択してもよい。
図7の例では、選択部23は、複数の訓練用例t21~t29のうち、決定境界Bとの距離が小さい順に5つの訓練用例t23~t27を選択している。
【0063】
選択部23は、複数の訓練用例の中から、特徴量空間における決定境界Bにより区切られる複数の空間のうちの1つに含まれる複数の訓練用例を選択してもよい。また、選択部23は、複数の訓練用例の中から、特徴量空間における決定境界Bにより区切られる複数の空間のそれぞれに含まれる訓練用例を選択してもよい。換言すると、選択部23は、同一のラベルが予測された複数の訓練用例を選択してもよく、また、異なるラベルが予測された訓練用例を選択してもよい。
【0064】
図7の例では、生成部24は、決定境界Bに区切られる空間R1、R2のうち、空間R2に含まれる訓練用例t23、t24を合成し、人工用例t121を生成する。また、生成部24は、空間R2に含まれる訓練用例t24と、空間R1に含まれる訓練用例t26とを合成し、人工用例t122を生成する。また、生成部24は、空間R2に含まれる訓練用例t25と、空間R1に含まれる訓練用例t27とを合成し、人工用例t123を生成する。ここで、空間R1、R2のそれぞれに含まれる訓練用例を合成した人工用例t122は、合成に用いた訓練用例t23、t24に比べて、より決定境界Bに近くに生成される。また、空間R1、R2のそれぞれに含まれる訓練用例を合成した人工用例t123は、合成に用いた訓練用例t25、t27に比べて、より決定境界Bに近くに生成される。
【0065】
(第3選択処理)
次いで、選択部23が行う第3選択処理を説明する。第3選択処理は、少なくとも1つの機械学習モデルを用いて実行可能な処理である。第3選択処理では、選択部23は、機械学習モデルから出力される各ラベルの予測確率を利用して訓練用例を選択する。選択部23は、一例として、以下の式(3)又は式(4)により、不確かな訓練用例^xを選択する。
【数3】
【数4】
【0066】
式(3)は、「予測確率が最大のラベルy」の予測確率maxP(y|x)が最小である訓練用例^xを選択する、いわゆるLeast Confidentの手法を表す式である。
【0067】
式(4)は、「予測確率が最も高いラベルy1」の予測確率P(y1|x)と「予測確率が二番目に高いラベルy2」の予測確率P(y1|x)との差分が最小である訓練用例^xを選択する、いわゆるMargin Samplingの手法を表す式である。
【0068】
<本例示的実施形態の効果>
本例示的実施形態に係る情報処理装置20においては、取得部21が取得した複数の訓練用例の一部又は全部を用いて1又は複数の機械学習モデルを訓練し、訓練した1又は複数の機械学習モデルを用いて合成対象とする訓練用例を選択する。情報処理装置20が生成した人工用例を用いて訓練対象である機械学習モデルを訓練することにより、訓練対象とする機械学習モデルの予測精度をより効果的に向上させることができる。
【0069】
特に、訓練対象の機械学習モデルが決定木である場合、決定木は訓練用例を少し変更するだけで木の構造が大きく変化し得る。そのため、決定木の予測精度は他の複雑な機械学習モデルの予測精度よりも低い。本例示的実施形態によれば、情報処理装置20が生成した人工用例を用いて訓練対象の機械学習モデルを訓練することにより、決定木等の訓練対象である機械学習モデルの予測精度をより効果的に向上させることができる。
【0070】
また、本例示的実施形態によれば、情報処理装置20は、第1選択処理において、複数の機械学習モデルを用いて得られる複数の予測結果にばらつきがある訓練用例を選択する。選択された訓練用例を合成して得られる人工用例を用いて機械学習モデルを訓練することにより、訓練対象である機械学習モデルの予測精度をより効果的に向上させることができる。
【0071】
また、本例示的実施形態に係る
図7の例において、人工用例t122は、合成に用いた訓練用例t23、t24よりも決定境界Bに近い位置に生成される。人工用例t123は、合成に用いた訓練用例t25、t27よりも決定境界Bに近い位置に生成される。このように、情報処理装置20が決定境界Bにより区切られる複数の空間にそれぞれ含まれる訓練用例を合成することにより、合成に用いた訓練用例よりも決定境界Bに近い位置に人工用例を生成することができる。決定境界Bにより近い位置にある人工用例を用いることにより、訓練対象である機械学習モデルの予測精度をより効率的に向上させることができる。
【0072】
また、特に、訓練対象である機械学習モデルがサポートベクタマシンではない場合、サポートベクタマシンの決定境界付近の訓練用例を用いて人工用例を生成しても、訓練対象である機械学習モデルの予測精度を改善できない場合がある。それに対し、本例示的実施形態によれば、情報処理装置20は、サポートベクタマシンの決定境界の近傍に存在する訓練用例を選択する処理(上述の第2選択処理)だけでなく、他の選択処理(上述の第1選択処理、第3選択処理、等)により選択した不確かな訓練用例を用いて人工用例を選択する。これにより、訓練対象である機械学習モデルがサポートベクタマシンでない場合であっても、サポートベクタマシンとは異なる機械学習モデルの予測精度を効率的に向上させることができる。
【0073】
また、本例示的実施形態によれば、情報処理装置20が複数の機械学習モデルを含む機械学習モデル群を用いて不確かな訓練用例を選択することにより、特徴量空間におけるより多様な場所に人工用例を生成することができる。換言すると、サポートベクタマシンの決定境界の付近に偏って過剰に人工用例を生成することを防ぐことができる。
【0074】
また、本例示的実施形態によれば、情報処理装置20は、生成した人工用例を用いて1又は複数の機械学習モデルを訓練する。再度訓練された1又は複数の機械学習モデルを用いて生成された人工用例を用いることにより、訓練対象である機械学習モデルの予測精度をより効率的に向上させることができる。
【0075】
<変形例>
上述の例示的実施形態では、選択部23は、第1選択処理~第3選択処理の少なくともいずれか1つにより、予測結果が不確かな訓練用例を選択したが、予測結果が不確かな訓練用例を選択する手法は、上述の例示的実施形態で例示した手法に限られない。選択部23は、他の手法により、予測結果が不確かな訓練用例を選択してもよい。選択部23は、一例として、consensus entropyの指標を用いて、予測結果が不確かな訓練用例を選択してもよい。
【0076】
〔例示的実施形態3〕
本発明の例示的実施形態3について、図面を参照して詳細に説明する。なお、例示的実施形態2にて説明した構成要素と同じ機能を有する構成要素については、同じ符号を付記し、その説明を繰り返さない。
【0077】
本例示的実施形態では、例示的実施形態2に係る情報処理装置20を次のように変形した形態について説明する。情報処理装置20の生成部24は、人工用例を生成する人工用例生成処理を繰り返し実行することにより、複数の人工用例を生成する。本例示的実施形態において、人工用例生成処理は、第1生成処理と、第2生成処理と、の何れかを所定の条件に基づいて選択し、選択した処理を実行することにより、人工用例を生成する処理である。第1生成処理は、選択部23が選択した複数の訓練用例を合成する処理である。一方、第2生成処理は、選択部23が選択した複数の訓練用例の中から少なくとも一つを抽出し、抽出した訓練用例と、特徴量空間において当該抽出した訓練用例の近傍に存在する訓練用例とを合成する処理である。
【0078】
図8は、本例示的実施形態に係る生成部24が実行する人工用例の生成処理S30の流れを示すフロー図である。生成部24は、選択部23が選択した不確かな訓練用例のそれぞれについて、ステップS301~S304の処理を実行する。
【0079】
ステップS301において、生成部24は、第1生成処理と第2生成処理のいずれかを、所定の条件に基づき選択する。生成部24は、一例として、ランダム関数により発生させた乱数に基づいて算出される確率に基づき、第1生成処理と第2生成処理のいずれかを選択する。
【0080】
ステップS302において、生成部24は、いずれを選択したかを判定する。第1生成処理を選択した場合、生成部24はステップS303の処理に進み、第1生成処理を実行する。一方、第2生成処理を選択した場合、生成部24はステップS304の処理に進み、第2生成処理を実行する。
【0081】
図9は、生成部24が行う第1生成処理S40の流れを示すフロー図である。ステップS401において、生成部24は、選択部23が選択した複数の訓練用例のうちの一部である複数の訓練用例を特定する。この特定処理は、上述の例示的実施形態2において選択部23が行った特定処理と同様である。
【0082】
図10は、生成部24が行う第2生成処理S50の流れを示すフロー図である。ステップS501において、生成部24は、特徴量空間において、当該予測結果が不確かな訓練用例に最も近傍の訓練用例を特定する。ステップS502において、生成部24は、当該不確かな訓練用例と、ステップS501で特定した最も近傍の訓練用例とを合成し、人工用例を生成する。
【0083】
<本例示的実施形態の効果>
本例示的実施形態によれば、情報処理装置20は、第1生成処理と第2生成処理とを所定の条件に基づいて選択し、選択した処理を実行することにより人工用例を生成する生成処理を繰り返し実行する。これにより、情報処理装置20はより多様な特徴を有する人工用例を生成することができる。換言すると、情報処理装置20は、生成する人工用例が画一的になってしまうことを防ぐことができる。
【0084】
〔例示的実施形態4〕
本発明の例示的実施形態4について、図面を参照して詳細に説明する。なお、例示的実施形態2~3にて説明した構成要素と同じ機能を有する構成要素については、同じ符号を付記し、その説明を繰り返さない。
【0085】
本例示的実施形態では、例示的実施形態2に係る情報処理装置20を次のように変形した形態について説明する。本例示的実施形態に係る情報処理装置20は、機械学習モデル群を用いて、不確かな訓練用例を選択する。
図11は、本例示的実施形態に係る情報処理方法の具体例を模式的に示す図である。
図11において、機械学習モデル群COM0は、複数の機械学習モデル群COM1、COM2、…を含む。情報処理装置20の選択部23は、複数の機械学習モデル群COMi(1≦i≦M;Mは2以上の整数)を用いて、不確かな訓練用例を選択する。機械学習モデル群COM1は、機械学習モデルm1-1、m1-2、…を含む。機械学習モデル群COM2は、機械学習モデルm2-1、m2-2、…を含む。同様に、機械学習モデル群COMiは、機械学習モデルmi-j(j=1,2,…)を含む。訓練部22は、以下のように機械学習モデル群COMiを用いて人工用例を生成することを、i=1,2,…,Mについて繰り返す。
【0086】
具体的には、訓練部22は、取得部21が取得した訓練用例群Tから、訓練用例群Diを抽出する。訓練部22は、一例として、訓練用例群Tからランダムサンプリングにより訓練用例群Diを抽出する。
【0087】
訓練部22は、抽出した訓練用例群Diを用いて機械学習モデル群COMiを訓練する。すなわち、訓練部22は、訓練用例群D1を用いて機械学習モデルm1-1、m1-2、…を訓練する。また、訓練部22は、訓練用例群D2を用いて機械学習モデルm2-1、m2-2、…を訓練する。
【0088】
訓練部22は、機械学習モデル群COMiを用いて、訓練に用いなかった訓練用例の不確かさを表す情報を算出する。訓練用例の不確かさを表す情報は、一例として、上述の式(2)におけるエントロピーである。訓練部22は、一例として、訓練に用いなかった訓練用例を、機械学習モデル群COMiに含まれる各機械学習モデルmi-jに入力して得られる予測結果に基づき、不確かさを示す情報を算出する。一例として、訓練部22は、機械学習モデル群COM1の訓練で用いなかった訓練用例(すなわち訓練用例群D1に含まれない訓練用例)を、機械学習モデルm1-1、m1-2、…のそれぞれに入力して予測結果を取得する。訓練部22は、機械学習モデル群COM1に入力した複数の訓練用例のそれぞれについて、取得した複数の予測結果に基づき、不確かさを示す情報を算出する。
【0089】
また、訓練部22は、機械学習モデル群COM2の訓練で用いなかった訓練用例(すなわち訓練用例群D2に含まれない訓練用例)を機械学習モデルm2-1、m2-2、…のそれぞれに入力して予測結果を取得する。訓練部22は、機械学習モデル群COM2に入力した複数の訓練用例のそれぞれについて、取得した複数の予測結果に基づき、不確かさを示す情報を算出する。
【0090】
図11の例では、選択部23は、機械学習モデル群COM1に入力した訓練用例毎に算出した不確かさを示す情報に基づき、予測結果にばらつきがある訓練用例t1-1、t1-2、…を選択する。また、選択部23は、機械学習モデル群COM2に入力した訓練用例毎に算出した不確かさを示す情報に基づき、予測結果にばらつきがある訓練用例t2-1、t2-2、…を選択する。
【0091】
生成部24は、選択部23が選択した訓練用例t1-1、訓練用例t1-2、…、訓練用例t2-1、訓練用例t2-2、…の中から2つ以上の訓練用例を選択し合成して人工用例tv1-1を生成する。
図11の例では、生成部24は、選択部23が選択した訓練用例t1-1と訓練用例t1-2とを合成して人工用例tv1-1を生成する。また、生成部24は、選択部23が選択した訓練用例t2-1と訓練用例t2-2とを合成して人工用例tv2-1を生成する。なお、合成対象とする訓練用例の組み合わせは
図11で示した組み合わせに限られず、他の組み合わせであってもよい。
【0092】
<本例示的実施形態の効果>
本例示的実施形態においては、予測結果が不確かな訓練用例を選択するために、機械学習モデル群を用いる、との構成を採用している。
【0093】
これにより、本例示的実施形態は、非特許文献1に記載の技術のように決定境界の近傍に人工用例を生成する場合と比較して、偏った領域に人工用例を生成することを抑制することができる。
【0094】
〔例示的実施形態5〕
本発明の例示的実施形態5について、図面を参照して詳細に説明する。なお、例示的実施形態2~4にて説明した構成要素と同じ機能を有する構成要素については、同じ符号を付記し、その説明を繰り返さない。本例示的実施形態は、例示的実施形態2における生成部24を次のように変形した形態である。
【0095】
<生成部の構成>
本例示的実施形態において、生成部24は、複数の人工用例を生成する。また、生成部24は、複数の人工用例のうち類似条件を満たす2つの人工用例を1つの人工用例に統合して出力する。ここで、類似条件とは、用例が類似することを示す条件である。類似条件は、例えばコサイン類似度が閾値以上であることであってもよいし、特徴量空間における距離が閾値以下であることであってもよい。ただし、類似条件はこれらに限られない。統合する処理の詳細については後述する。
【0096】
<情報処理方法の流れ>
本例示的実施形態における情報処理方法S20Aについて、
図12を参照して説明する。
図12は、例示的実施形態5に係る情報処理方法S20Aの流れを説明するフロー図である。
図12に示す情報処理方法S20Aは、例示的実施形態2に係る情報処理方法S20とほぼ同様に構成されるが、ステップS205Aをさらに含む点が異なる。
【0097】
(ステップS205A)
ステップS205Aにおいて、生成部24は、ステップS205において生成した人工用例のうち、類似する2つの人工用例を統合する。具体的には、生成部24は、今回のステップS205において生成した人工用例と、前回までのステップS205において生成した人工用例の何れかとが類似条件を満たすか否かを判定する。類似条件を満たすと判定した場合、生成部24は、類似条件を満たす2つの人工用例を統合する。
【0098】
(統合処理の具体例)
統合処理の一例として、2つの人工用例を合成する処理が挙げられる。この場合、生成部24は、2つの人工用例を合成して1つの人工用例を生成し、類似条件を満たした元の2つの人工用例を削除する。また、統合処理の他の例として、2つの人工用例のうち一方を削除する処理が挙げられる。なお、統合処理は、類似条件を満たす2つの人工用例の代わりに、当該2つの人工用例を参照して生成した1つの人工用例を採用する処理であればよく、上述した処理に限られない。なお、人工用例を削除するとは、ステップS206でラベルを付与する対象、及びステップS208で訓練用例に追加する対象から削除することである。これにより、統合された人工用例に対して、ラベルが付与されるとともに訓練用例に追加される。
【0099】
<本例示的実施形態の効果>
本例示的実施形態においては、生成部が、複数の人工用例を生成し、生成した複数の人工用例のうち、類似条件を満たす2つの人工用例を1つの人工用例に統合する、との構成が採用されている。
【0100】
ここで、訓練用例が不足している領域に存在する複数の用例が類似する場合、それらの用例を用いて機械学習モデルを訓練することは、機械学習モデルの精度向上において効率的ではない。したがって、本例示的実施形態は、類似条件を満たす人工用例を統合することにより、訓練用例が不足している領域に、より効率的に機械学習モデルの精度を向上させることができる人工用例を生成することができる。
【0101】
〔例示的実施形態6〕
本発明の例示的実施形態6について、図面を参照して詳細に説明する。なお、例示的実施形態2~4にて説明した構成要素と同じ機能を有する構成要素については、同じ符号を付記し、その説明を繰り返さない。本例示的実施形態は、例示的実施形態2における生成部24を次のように変形した形態である。
【0102】
<生成部の構成>
本例示的実施形態において、生成部24は、人工用例のうち、訓練部22による訓練後の1又は複数の機械学習モデルを用いて得られる1又は複数の予測結果が不確かな人工用例を1つ以上出力する。ここで、予測結果が不確かな人工用例は、不確かさの評価結果が所定条件を満たす人工用例である。不確かさの評価結果が所定条件を満たすことの詳細については、上述した通りであるため、詳細を繰り返さない。換言すると、生成部24は、生成した人工用例の不確かさを、訓練後の1又は複数の機械学習モデルを用いて事後評価し、事後評価により予測結果が不確かな人工用例を採用する。
【0103】
<情報処理方法の流れ>
本例示的実施形態における情報処理方法S20Bについて、
図13を参照して説明する。
図13は、例示的実施形態6に係る情報処理方法S20Bの流れを説明するフロー図である。
図13に示す情報処理方法S20Bは、例示的実施形態2に係る情報処理方法S20とほぼ同様に構成されるが、ステップS205Bをさらに含む点が異なる。
【0104】
(ステップS205B)
ステップS205Bにおいて、生成部24は、ステップS205において生成した人工用例を事後評価する。
【0105】
具体的には、生成部24は、当該人工用例について、1又は複数の機械学習モデルを用いて予測結果の不確かさを評価する。例えば、
図6に示した例では、生成部24は、人工用例tv1-1について、機械学習モデルm1,m2,…を用いて予測結果の不確かさを評価する。1又は複数の機械学習モデルを用いて予測結果の不確かさを評価する処理の詳細については、例示的実施形態2において説明した通りである。
【0106】
生成部24は、ステップS205において生成した人工用例について、予測結果が不確かさでないと評価した場合には、当該人工用例を削除する。ここで、人工用例を削除するとは、ステップS206でラベルを付与する対象、及びステップS208で訓練用例に追加する対象から削除することである。これにより、予測結果が不確かな人工用例に対してラベルが付与されるとともに、訓練用例に追加される。
【0107】
<本例示的実施形態の効果>
本例示的実施形態においては、生成部が、生成した人工用例のうち、訓練後の1又は複数の機械学習モデルを用いて得られる予測結果が不確かな人工用例を出力する、との構成が採用されている。
【0108】
ここで、予測結果が不確かな訓練用例同士を合成して得られた人工用例は、必ずしも予測結果が不確かであるとは限らない。換言すると、このようにして生成した人工用例は、予測結果が不確かでない可能性がある。予測結果が不確かでない訓練用例を用いて機械学習モデルを訓練することは、機械学習モデルの精度向上において効率的ではない。したがって、本例示的実施形態は、生成した人工用例を事後評価することにより、訓練用例が不足している領域に、より効率的に機械学習モデルの精度を向上させることができる人工用例を生成することができる。
【0109】
〔ソフトウェアによる実現例〕
情報処理装置10、20(以下、「情報処理装置10等」という)の一部又は全部の機能は、集積回路(ICチップ)等のハードウェアによって実現してもよいし、ソフトウェアによって実現してもよい。
【0110】
後者の場合、情報処理装置10等は、例えば、各機能を実現するソフトウェアであるプログラムの命令を実行するコンピュータによって実現される。このようなコンピュータの一例(以下、コンピュータCと記載する)を
図14に示す。コンピュータCは、少なくとも1つのプロセッサC1と、少なくとも1つのメモリC2と、を備えている。メモリC2には、コンピュータCを情報処理装置10等として動作させるためのプログラムPが記録されている。コンピュータCにおいて、プロセッサC1は、プログラムPをメモリC2から読み取って実行することにより、情報処理装置10等の各機能が実現される。
【0111】
プロセッサ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)、又は、これらの組み合わせなどを用いることができる。
【0112】
なお、コンピュータCは、プログラムPを実行時に展開したり、各種データを一時的に記憶したりするためのRAM(Random Access Memory)を更に備えていてもよい。また、コンピュータCは、他の装置との間でデータを送受信するための通信インタフェースを更に備えていてもよい。また、コンピュータCは、キーボードやマウス、ディスプレイやプリンタなどの入出力機器を接続するための入出力インタフェースを更に備えていてもよい。
【0113】
また、プログラムPは、コンピュータCが読み取り可能な、一時的でない有形の記録媒体Mに記録することができる。このような記録媒体Mとしては、例えば、テープ、ディスク、カード、半導体メモリ、又はプログラマブルな論理回路などを用いることができる。コンピュータCは、このような記録媒体Mを介してプログラムPを取得することができる。また、プログラムPは、伝送媒体を介して伝送することができる。このような伝送媒体としては、例えば、通信ネットワーク、又は放送波などを用いることができる。コンピュータCは、このような伝送媒体を介してプログラムPを取得することもできる。
【0114】
〔付記事項1〕
本発明は、上述した実施形態に限定されるものでなく、請求項に示した範囲で種々の変更が可能である。例えば、上述した実施形態に開示された技術的手段を適宜組み合わせて得られる実施形態についても、本発明の技術的範囲に含まれる。
【0115】
〔付記事項2〕
上述した実施形態の一部又は全部は、以下のようにも記載され得る。ただし、本発明は、以下の記載する態様に限定されるものではない。
【0116】
(付記1)
複数の訓練用例を取得する取得手段と、
前記複数の訓練用例のうち、用例を入力として予測結果を出力する1又は複数の機械学習モデルを用いて得られる1又は複数の予測結果が不確かな訓練用例を2つ以上選択する選択手段と、
前記選択手段が選択した2つ以上の訓練用例を合成して人工用例を生成する生成手段と、
を備えた情報処理装置。
【0117】
上記の構成によれば、予測結果が不確かな2つ以上の訓練用例を情報処理装置が合成して得られる人工用例は、特徴量空間において予測結果が不足している場所に生成される可能性が高い。したがって、生成された人工用例を用いて訓練対象である機械学習モデルを訓練することにより、訓練対象である機械学習モデルの予測精度をより効率的に向上させることができる。
【0118】
(付記2)
前記複数の訓練用例の一部又は全部を用いて、前記1又は複数の機械学習モデルの一部又は全部を訓練する訓練手段、をさらに備えた付記1に記載の情報処理装置。
【0119】
上記の構成によれば、情報処理装置が生成した人工用例を用いて機械学習モデルを訓練することにより、訓練対象である機械学習モデルの予測精度をより効率的に向上させることができる。
【0120】
(付記3)
前記選択手段が選択する2つ以上の訓練用例は、複数の前記機械学習モデルを用いて得られる複数の予測結果にばらつきがある訓練用例を含む、
付記1又は2に記載の情報処理装置。
【0121】
上記の構成によれば、情報処理装置は、複数の機械学習モデルを用いて得られる複数の予測結果にばらつきがある訓練用例を選択する。情報処理装置が選択した訓練用例を合成して得られる人工用例を用いて機械学習モデルを訓練することにより、訓練対象である機械学習モデルの予測精度をより効果的に向上させることができる。
【0122】
(付記4)
前記選択手段が選択する2つ以上の訓練用例は、少なくとも1つの前記機械学習モデルの特徴量空間における決定境界の近傍に存在する訓練用例を含み、
前記選択手段は、前記複数の訓練用例の中から、前記特徴量空間における決定境界により区切られる複数の空間のそれぞれに含まれる訓練用例を選択する、
付記1から3のいずれか1項に記載の情報処理装置。
【0123】
上記の構成によれば、予測結果が不確かな2つ以上の訓練用例を合成して得られる人工用例は、合成に用いた訓練用例よりも決定境界に近い場所に生成される可能性が高い。したがって、生成された人工用例を用いて機械学習モデルを訓練することにより、訓練対象である機械学習モデルの予測精度をより効率的に向上させることができる。
【0124】
(付記5)
前記人工用例を前記複数の訓練用例に追加して、前記取得手段、前記訓練手段、前記選択手段、及び前記生成手段を再度機能させる、付記2に記載の情報処理装置。
【0125】
上記の構成によれば、情報処理装置は、生成した人工用例を用いて1又は複数の機械学習モデルを訓練し、再度訓練した1又は複数の機械学習モデルを用いて人工用例を生成する。情報処理装置が生成した人工用例を用いることにより、訓練対象である機械学習モデルの予測精度をより効率的に向上させることができる。
【0126】
(付記6)
前記生成手段は、
複数の前記人工用例を生成し、
複数の前記人工用例のうち類似条件を満たす2つの人工用例を1つの人工用例に統合する、付記1から5の何れか1項に記載の情報処理装置。
【0127】
上記の構成によれば、情報処理装置が生成した人工用例のうち類似条件を満たす人工用例を統合することにより、類似度の高い人工用例が生成されてしまうのを防ぐことができる。
【0128】
(付記7)
前記生成手段は、前記人工用例のうち、前記訓練手段による訓練後の前記1又は複数の機械学習モデルを用いて得られる1又は複数の予測結果が不確かな人工用例を1つ以上出力する、
付記2に記載の情報処理装置。
【0129】
上記の構成によれば、情報処理装置は、訓練後の機械学習モデルを用いて人工用例を事後評価し、機械学習モデルの実際の予測結果が不確かとなる人工用例を出力する。出力される人工用例を訓練に用いることにより、訓練対象である機械学習モデルの訓練をより効率的に行うことができる。
【0130】
(付記8)
前記1又は複数の機械学習モデルは、前記人工用例を用いて訓練する訓練対象の機械学習モデルを含む、
付記1から7の何れか1項に記載の情報処理装置。
【0131】
上記の構成によれば、情報処理装置10は、訓練対象である機械学習モデルを用いて得られる1又は複数の予測結果が不確かな訓練用例を合成して人工用例を生成する。これにより、訓練対象である機械学習モデルの予測精度をより効率的に向上させることができる。
【0132】
(付記9)
前記選択手段は、前記複数の訓練用例のうち、複数の前記機械学習モデルを用いて得られる複数の予測結果が不確かな訓練用例を2つ以上選択し、
前記複数の機械学習モデルのうちの少なくとも2つは、互いに異なる機械学習アルゴリズムを用いる、付記1から8の何れか1項に記載の情報処理装置。
【0133】
上記の構成によれば、情報処理装置は、互いに異なる機械学習アルゴリズムを用いる複数の機械学習モデルを用いて合成対象とする訓練用例を選択する。これにより、予測結果が不確かな訓練用例として多様な訓練用例が選択されるため、生成される人工用例が画一的になってしまうことを防止することができる。
【0134】
(付記10)
前記選択手段は、前記複数の訓練用例のうち、複数の前記機械学習モデルを用いて得られる複数の予測結果が不確かな訓練用例を2つ以上選択し、
前記複数の機械学習モデルのそれぞれは、同一の機械学習アルゴリズムを用いる、付記1から8の何れか1項に記載の情報処理装置。
【0135】
上記の構成によれば、生成された人工用例を用いて訓練対象である機械学習モデルを訓練することにより、訓練対象である機械学習モデルの予測精度をより効率的に向上させることができる。
【0136】
(付記11)
前記訓練対象の機械学習モデルのうちの少なくとも1つは、決定木である、付記8に記載の情報処理装置。
【0137】
上記の構成によれば、情報処理装置が生成した人工用例を用いて決定木を訓練することにより、決定木の予測精度をより効率的に向上させることができる。
【0138】
(付記12)
前記複数の訓練用例及び前記人工用例の一部又は全部にラベルを付与するラベル付与手段をさらに備える、付記1から11の何れか1項に記載の情報処理装置。
【0139】
上記構成により、用例にラベルが付与されていることを前提する訓練手法を用いて、機械学習モデルを訓練することができる。
【0140】
(付記13)
前記生成手段は、
前記選択手段が選択した複数の訓練用例を合成する第1生成処理と、
前記選択手段が選択した複数の訓練用例の中から少なくとも一つを抽出し、抽出した訓練用例と、特徴量空間において当該抽出した訓練用例の近傍に存在する訓練用例とを合成する第2生成処理と、
の何れかを所定の条件に基づいて選択し、選択した処理を実行することにより前記人工用例を生成する、生成処理を繰り返し実行することにより、複数の前記人工用例を生成する、付記1から12の何れか1項に記載の情報処理装置。
【0141】
上記の構成によれば、第1生成処理と第2生成処理とを所定の条件に基づいて選択し、選択した処理を実行することにより人工用例を生成する生成処理を繰り返し実行する。これにより、情報処理装置は、より多様な特徴を有する人工用例を生成することができる。
【0142】
(付記14)
情報処理装置が、
複数の訓練用例を取得すること、
前記複数の訓練用例のうち、用例を入力として予測結果を出力する1又は複数の機械学習モデルを用いて得られる1又は複数の予測結果が不確かな訓練用例を2つ以上選択し、選択した2つ以上の訓練用例を合成して人工用例を生成すること、
を含む情報処理方法。
【0143】
上記の構成によれば、付記1と同様の効果を奏する。
【0144】
(付記15)
コンピュータを情報処理装置として機能させるためのプログラムであって、前記コンピュータを、
複数の訓練用例を取得する取得手段と、
前記複数の訓練用例のうち、用例を入力として予測結果を出力する1又は複数の機械学習モデルを用いて得られる1又は複数の予測結果が不確かな訓練用例を2つ以上選択する選択手段と、
前記選択手段が選択した2つ以上の訓練用例を合成して人工用例を生成する生成手段と、
として機能させるプログラム。
【0145】
上記の構成によれば、付記1と同様の効果を奏する。
【0146】
(付記16)
付記15に記載のプログラムが記録された、コンピュータ読み取り可能な記録媒体。
【0147】
上記の構成によれば、付記1と同様の効果を奏する。
【0148】
〔付記事項3〕
上述した実施形態の一部又は全部は、更に、以下のように表現することもできる。
【0149】
少なくとも1つのプロセッサを備え、前記プロセッサは、
複数の訓練用例を取得する取得処理と、
前記複数の訓練用例のうち、用例を入力として予測結果を出力する1又は複数の機械学習モデルを用いて得られる1又は複数の予測結果が不確かな訓練用例を2つ以上選択する選択処理と、
前記選択した2つ以上の訓練用例を合成して人工用例を生成する生成処理と、を実行する情報処理装置。
【0150】
なお、この情報処理装置は、更にメモリを備えていてもよく、このメモリには、前記取得処理と、前記選択処理と、前記生成処理とを前記プロセッサに実行させるためのプログラムが記憶されていてもよい。また、このプログラムは、コンピュータ読み取り可能な一時的でない有形の記録媒体に記録されていてもよい。
【符号の説明】
【0151】
10、20 情報処理装置
11、21 取得部(取得手段)
12、23 選択部(選択手段)
13、24 生成部(生成手段)
22 訓練部(訓練手段)
25 ラベル付与部(ラベル付与手段)
26 出力部(出力手段)
27 制御部
S10、S20、S20A、S20B 情報処理方法