(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022131558
(43)【公開日】2022-09-07
(54)【発明の名称】アンサンブル学習システムおよびアンサンブル学習プログラム
(51)【国際特許分類】
G06N 20/20 20190101AFI20220831BHJP
【FI】
G06N20/20
【審査請求】未請求
【請求項の数】16
【出願形態】OL
(21)【出願番号】P 2021030562
(22)【出願日】2021-02-26
(71)【出願人】
【識別番号】514263540
【氏名又は名称】株式会社アダコテック
(74)【代理人】
【識別番号】100101982
【弁理士】
【氏名又は名称】久米川 正光
(72)【発明者】
【氏名】伊藤 桂一
(72)【発明者】
【氏名】井上 真嘉
(72)【発明者】
【氏名】大津 展之
(57)【要約】
【課題】アンサンブル学習システム全体としての性能を最大化しつつ、演算量の低減を図る。
【解決手段】複数の判別ユニット2は、データが共通で入力され、それぞれが機械学習モデル2cを有し、かつ、入力に対する判別結果の特性が互いに異なる。テスト実行部6は、複数の判別ユニット2に対して、テストデータを用いたテストを実行する。評価指標算出部7は、テストデータの正解と、テストデータの入力に対する複数の判別ユニット2のそれぞれの判別結果とに基づいて、テストでどの程度性能を発揮できたかを示す評価指標(例えば正解率)を算出する。ユニット構築部4は、テスト後に、複数の判別ユニット2の少なくとも一つの削除を伴う、複数の判別ユニット2の再構築を許容する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
アンサンブル学習システムにおいて、
データが共通で入力され、それぞれが学習済の機械学習モデルを有し、かつ、入力に対する判別結果の出力特性が互いに異なる複数の判別ユニットと、
前記複数の判別ユニットに対して、テストデータを用いたテストを実行するテスト実行部と、
前記テストデータの正解と、前記テストデータの入力に対する前記複数の判別ユニットのそれぞれの判別結果とに基づいて、テストでどの程度性能を発揮できたかを示す評価指標を算出する評価指標算出部と、
前記テスト後に、前記複数の判別ユニットの少なくとも一つの削除を伴う、前記複数の判別ユニットの再構築を許容するユニット構築部と
を有することを特徴とするアンサンブル学習システム。
【請求項2】
前記複数の判別ユニットのそれぞれは、共通で入力されたデータに対して、所定の前処理を行う前処理部を有し、
前記前処理部は、前記判別ユニットによって処理内容が異なることを特徴とする請求項1に記載されたアンサンブル学習システム。
【請求項3】
前記機械学習モデルは、前記判別ユニットによって異なることを特徴とする請求項1または2に記載されたアンサンブル学習システム。
【請求項4】
前記評価指標算出部は、前記判別ユニット毎に、前記評価指標を個別に算出し、
前記ユニット構築部は、前記算出された個別の評価指標と、所定のしきい値とを比較することによって、前記判別ユニットを削除するか否かを判定することを特徴とする請求項1から3のいずれかに記載されたアンサンブル学習システム。
【請求項5】
前記評価指標算出部は、前記複数の判別ユニットのそれぞれを所定のパターンで組み合わせ、当該組み合わせ毎に、前記アンサンブル学習システム全体としての評価指標を算出し、
前記ユニット構築部は、前記算出された全体の評価指標と、所定のしきい値とを比較することによって、特定の組み合わせパターンを前記再構築の選択肢から除外するか否かを判定することを特徴とする請求項1から3のいずれかに記載されたアンサンブル学習システム。
【請求項6】
前記ユニット構築部は、前記全体の評価指標が最も良好な前記組み合わせを選択することを特徴とする請求項5に記載されたアンサンブル学習システム。
【請求項7】
前記ユニット構築部は、前記全体の評価指標が同一値、または、同一とみなせる範囲内である場合、前記組み合わせを構成する前記判別ユニットの個数が最も少ないものを選択することを特徴とする請求項6に記載されたアンサンブル学習システム。
【請求項8】
前記ユニット構築部は、ユーザの指示に応じて、前記テストの対象となる前記複数の判別ユニットを構築することを特徴とする請求項1に記載されたアンサンブル学習システム。
【請求項9】
アンサンブル学習プログラムにおいて、
データが共通で入力され、それぞれが機械学習モデルを有し、かつ、入力に対する判別結果の出力特性が互いに異なる複数の判別ユニットを構築する第1のステップと、
学習済の前記複数の判別ユニットに対して、テストデータを用いたテストを実行する第2のステップと、
前記テストデータの正解と、前記テストデータの入力に対する前記複数の判別ユニットのそれぞれの判別結果とに基づいて、テストでどの程度性能を発揮できたかを示す評価指標を算出する第3のステップと、
前記複数の判別ユニットの少なくとも一つの削除を伴う、前記複数の判別ユニットの再構築を許容する第4のステップと
を有する処理をコンピュータに実行させることを特徴とするアンサンブル学習プログラム。
【請求項10】
前記複数の判別ユニットのそれぞれは、共通で入力されたデータに対して、所定の前処理を行う前処理部を有し、
前記前処理部は、前記判別ユニットによって処理内容が異なることを特徴とする請求項9に記載されたアンサンブル学習プログラム。
【請求項11】
前記機械学習モデルは、前記判別ユニットによって異なることを特徴とする請求項9または10に記載されたアンサンブル学習プログラム。
【請求項12】
前記第3のステップは、前記判別ユニット毎に、前記評価指標を個別に算出し、
前記第4のステップは、前記算出された個別の評価指標と、所定のしきい値とを比較することによって、前記判別ユニットを削除するか否かを判定することを特徴とする請求項9から11のいずれかに記載されたアンサンブル学習プログラム。
【請求項13】
前記第3のステップは、前記複数の判別ユニットのそれぞれを所定のパターンで組み合わせ、当該組み合わせ毎に、前記アンサンブル学習システム全体としての評価指標を算出し、
前記第4のステップは、前記算出された全体の評価指標と、所定のしきい値とを比較することによって、特定の組み合わせパターンを前記再構築の選択肢から除外するか否かを判定することを特徴とする請求項9から12のいずれかに記載されたアンサンブル学習プログラム。
【請求項14】
前記第4のステップは、前記全体の評価指標が最も高い前記組み合わせを選択することを特徴とする請求項13に記載されたアンサンブル学習プログラム。
【請求項15】
前記第4のステップは、前記全体の評価指標が同一値、または、同一とみなせる範囲内である場合、前記組み合わせを構成する前記判別ユニットの個数が最も少ないものを選択することを特徴とする請求項14に記載されたアンサンブル学習プログラム。
【請求項16】
前記第1のステップは、ユーザの指示に応じて、前記テストの対象となる前記複数の判別ユニットを構築することを特徴とする請求項9に記載されたアンサンブル学習プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、アンサンブル学習システムおよびアンサンブル学習プログラムに関する。
【背景技術】
【0002】
従来、機械学習におけるアプローチの一つとしてアンサンブル学習が知られている。アンサンブル学習とは、機械学習モデルが互いに異なる複数の判別器を設け、これらの判別器の判別結果を統合することによって、全体としての性能を向上させる手法である。
【0003】
例えば、特許文献1には、従来のCNNアプローチの計算速度や価格を改善し、大量の画像データを処理するアンサンブル学習ベースの画像分類システムが開示されている。このシステムは、画像分類タスクのアンサンブルの基本学習器のセットとして動作可能に接続する複数のセルラニューラルネットワーク(CNN)ベースの集積回路を含み、フィルタ係数の形式の少なくとも1つの個別のディープラーニングモデルで構成されている。またこのシステムは、アンサンブルのメタ学習器として構成されている制御装置と、制御装置およびCNNベースのICがアンサンブルで使用する様々なデータを保持するメモリベースのデータバッファとを有する。
【0004】
また、特許文献2には、処理手順を遺伝子とみた遺伝的アルゴリズムによるアンサンブル学習処理の最適化方法が示されている。具体的には、まず、複数の演算子からなる特徴量抽出式を複数含む特徴量抽出式リストを、前世代の特徴量抽出式リストに含まれる複数の特徴量抽出式を遺伝子とみなし、特徴量抽出式の評価値に基づいた遺伝的アルゴリズムを用いて、前世代の特徴量抽出式リストが更新される。つぎに、特徴量抽出式リストに含まれる各特徴量抽出式に、実データ、実データの特徴を示す情報、および、重みからなる教師データの実データを入力して、実データに対応する複数の特徴量が計算される。つぎに、計算された教師データの実データに対応する複数の特徴量から、教師データの実データに対応する情報を推定する機械学習により、特徴量抽出式リストに含まれる各特徴量抽出式にそれぞれ対応する情報抽出部候補が生成される。それとともに、生成した情報抽出部候補によって正しく推定された教師データの重みを用いて、各特徴量抽出式にそれぞれ対応する評価値が算出され、最終世代の特徴量抽出式リストに含まれる特徴量抽出式のうち、評価値が最も良い特徴量抽出式に対応する情報抽出部候補が、アンサンブル学習における1つの情報抽出部として決定される。また、決定した情報抽出部によって間違って推定された教師データの重みを用いて、決定した情報抽出部の信頼度が算出される。最後に、決定された情報抽出部の信頼度を用いて、教師データの重みが更新される。
【0005】
さらに、特許文献3には、複数の判別器による結果を統合することによって、パターンを判別するアンサンブル判別器を自動構成する情報処理装置が開示されている。具体的には、まず、入力手段を介して入力された複数のパターン間における特徴量の差異の分布が算出される。つぎに、算出された差異の分布を正規化することによって、確率分布が生成される。つぎに、生成された確率分布が示す確率に基づいて、複数のパターンを判別するために参照するべきパターンにおける複数の画素が決定される。最後に、決定された複数の画素の特徴量を用いて、入力された複数のパターンを分類することによって、パターン判別に用いる複数の判別器が生成される。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2020-68027号公報
【特許文献2】特開2013-164863号公報
【特許文献3】特開2012-43156号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、アンサンブル学習は、複数の判別器を用いた処理が併存するため、単一の判別器を用いた処理と比較して、演算量の増大を招くといった問題がある。この点、特許文献1では、アンサンブル学習モデルの計算速度向上と、計算機コストの削減とに着目しているが、アンサンブル学習モデルの性能自体は考慮していない。また、特許文献2および3では、アンサンブル学習モデルの最適化による性能向上のみに着目しており、演算量コストの削減は考慮していない。
【0008】
そこで、本発明の目的は、アンサンブル学習における性能を最大化しつつ、演算量の低減を図ることである。
【課題を解決するための手段】
【0009】
かかる課題を解決すべく、第1の発明は、判別ユニットと、テスト実行部と、評価指標算出部と、ユニット構築部とを有するアンサンブル学習システムを提供する。複数の判別ユニットは、データが共通で入力され、それぞれが学習済の機械学習モデルを有し、かつ、入力に対する判別結果の出力特性が互いに異なる。テスト実行部は、複数の判別ユニットに対して、テストデータを用いたテストを実行する。評価指標算出部は、テストデータの正解と、テストデータの入力に対する複数の判別ユニットのそれぞれの判別結果とに基づいて、テストでどの程度性能を発揮できたかを示す評価指標を算出する。ユニット構築部は、テスト後に、複数の判別ユニットの少なくとも一つの削除を伴う、複数の判別ユニットの再構築を許容する。
【0010】
ここで、第1の発明において、上記複数の判別ユニットのそれぞれは、共通で入力されたデータに対して、所定の前処理を行う前処理部を有し、これらの前処理部は、判別ユニットによって処理内容が異なっていてもよい。また、上記機械学習モデルは、判別ユニットによって異なっていてもよい。
【0011】
第1の発明において、上記評価指標算出部は、判別ユニット毎に、評価指標を個別に算出してもよい。この場合、上記ユニット構築部は、算出された個別の評価指標と、所定のしきい値とを比較することによって、判別ユニットを削除するか否かを判定することが好ましい。
【0012】
第1の発明において、上記評価指標算出部は、複数の判別ユニットのそれぞれを所定のパターンで組み合わせ、これらの組み合わせ毎に、アンサンブル学習システム全体としての評価指標を算出してもよい。この場合、上記ユニット構築部は、算出された全体の評価指標と、所定のしきい値とを比較することによって、特定の組み合わせパターンを再構築の選択肢から除外するか否かを判定することが好ましい。また、上記ユニット構築部は、全体の評価指標が最も良好な組み合わせを選択してもよい。さらに、上記ユニット構築部は、全体の評価指標が同一値、または、同一とみなせる範囲内である場合、組み合わせを構成するモデル数が最も少ないものを選択してもよい。
【0013】
第1の発明において、上記ユニット構築部は、ユーザの指示に応じて、テストの対象となる複数の判別ユニットを構築することが好ましい。
【0014】
第2の発明は、以下の第1から第4のステップを有する処理をコンピュータに実行させるアンサンブル学習プログラムを提供する。第1のステップでは、データが共通で入力され、それぞれが機械学習モデルを有し、かつ、入力に対する判別結果の出力特性が互いに異なる複数の判別ユニットを構築する。第2のステップでは、学習済の複数の判別ユニットに対して、テストデータを用いたテストを実行する。第3のステップでは、テストデータの正解と、テストデータの入力に対する複数の判別ユニットのそれぞれの判別結果とに基づいて、テストでどの程度性能を発揮できたかを示す評価指標を算出する。第4のステップでは、複数の判別ユニットの少なくとも一つの削除を伴う、複数の判別ユニットの再構築を許容する。
【0015】
ここで、第2の発明において、上記複数の判別ユニットのそれぞれは、共通で入力されたデータに対して、所定の前処理を行う前処理部を有し、これらの前処理部は、判別ユニットによって処理内容が異なっていてもよい。また、上記機械学習モデルは、判別ユニットによって異なっていてもよい。
【0016】
第2の発明において、上記第3のステップは、判別ユニット毎に、評価指標を個別に算出してもよい。この場合、上記第4のステップは、算出された個別の評価指標と、所定のしきい値とを比較することによって、判別ユニットを削除するか否かを判定することが好ましい。
【0017】
第2の発明において、上記第3のステップは、複数の判別ユニットのそれぞれを所定のパターンで組み合わせ、当該組み合わせ毎に、アンサンブル学習システム全体としての評価指標を算出してもよい。この場合、上記第4のステップは、算出された全体の評価指標と、所定のしきい値とを比較することによって、特定の組み合わせパターンを再構築の選択肢から除外することが好ましい。また、上記第4のステップは、全体の評価指標が最も良好な組み合わせを選択してもよい。さらに、上記第4のステップは、全体の評価指標が同一値、または、同一とみなせる範囲内である場合、組み合わせを構成するモデル数が最も少ないものを選択してもよい。
【0018】
第2の発明において、上記第1のステップは、ユーザの指示に応じて、テストの対象となる複数の判別ユニットを構築することが好ましい。
【発明の効果】
【0019】
本発明によれば、テストを実行することによって算出された評価指標を考慮した上で、複数の判別ユニットの再構築を許容することで、アンサンブル学習システム全体としての性能を最大化しつつ、演算量を有効に低減することができる。
【図面の簡単な説明】
【0020】
【
図2】判別モデルの構築から再構築までの処理手順を示すフローチャート
【発明を実施するための形態】
【0021】
図1は、本実施形態に係るアンサンブル学習システムのブロック図である。このアンサンブル学習システム1は、これを機能的に捉えると、複数の判別ユニット2と、判別部3と、ユニット構築部4と、学習処理部5と、テスト実行部6と、評価指標算出部7とを主体に構成されている。
【0022】
複数の判別ユニット2には、同一のデータが共通で入力され、それぞれの判別ユニット2は、前処理部2aと、特徴量抽出部2bと、機械学習モデル2cとを有する。前処理部2aは、入力データ(トレーニングデータやテストデータを含む。)に対して所定の前処理を行う。処理対象が、カメラによって取得された画像データの場合、前処理としては、例えば、ラプラシアンフィルタ、分散フィルタ、3次モーメントフィルタ、最大値フィルタ、中央値フィルタ、最小値フィルタ、が牛案フィルタ、輝度補正処理、シェーディング処理、輝度反転などが挙げられる。
【0023】
特徴量抽出部2bは、データの冗長性を低減すべく、前処理部2aによって前処理が施されたデータの特徴量を抽出する。特徴量の抽出手法としては、既知の手法を任意に採用することができるが、処理対象が画像データの場合、例えば、高次局所自己相関(HLAC:Higher-order Local Auto Correlation)を用いることができる。HLACとは、画像の解析や認識等に用いられる認識精度に優れた汎用かつ高速な特徴抽出法であり、そのメリットとしては、積和演算のみで算出可能なので、検査対象の形状や大きさを瞬時に計算できること、位置不変性(認識対象の位置に依存しない)という特性から、対象の切り出しを必要としないこと(セグメンテーションフリー)、および、加法性(対象が2つあればそれぞれの特徴ベクトルの和となる)といった、画像認識にとって好ましい性質を備えていることが挙げられる。なお、HLACの詳細については、例えば、特開2008-46903号公報や特開2008-185845号公報などに記載されているので、必要ならば参照されたい。
【0024】
複数の判別ユニット2は、それぞれ処理が異なる特徴量抽出部2bを有していてもよい。この場合、上記HLAC特徴の他に、HOG特徴(HOG:Histograms of Oriented Gradients)やSIFT特徴(SIFT:Scale-Invariant Feature Transform)などの公知の特徴量を採用することが考えられる。ここで、HOG特徴とは、局所領域における輝度(色,明るさ)の勾配方向をヒストグラム化した特徴量である。局所領域を複数のブロックに分割し、各ブロックの勾配をヒストグラム化することによって、物体の形状変化に頑健な特徴量を得ることができる。また、SHFT特徴とは、画像の類似検索や物体検出などに使われる局所特徴量と呼ばれるものの一種で、特徴量はある単位(特徴点やピクセル)に紐付けて表現されることが多い。
【0025】
機械学習モデル2cは、前処理が行われ、かつ、冗長性を減らすために特徴量化されたデータの入力に応じて、例えば、カメラによって撮像された物品の外観検査における判別結果(OK/NG)を出力する。機械学習には、各種多変量解析手法、1 Class SVM、ロジスティクス回帰分析、ニューラルネットなどの様々な手法が存在する。本明細書では、これらの機械学習手法に対してトレーニングデータを入力し、出力された生成物を「機械学習モデル」と定義する。このため、同一の機械学習手法を用いた場合であっても、トレーニングデータが別データであれば、機械学習モデルとしては別物になる。また、検査処理は、検査対象データと機械学習モデルを機械学習手法に入力して実施する。
【0026】
複数の判別ユニット2は、アンサンブル学習の特性上、個々の判別ユニット2の入力に対する判別結果の出力特性が互いに異なっている。このような出力特性の差異は、典型的には、以下に例示する手法を採用することによって実現できる。第1に、前処理部2aの処理内容を判別ユニット2毎に異ならせ、機械学習モデル2cを学習する手法を共通化することで、出力特性を相違させる。第2に、前処理部2aの処理内容を共通化し、機械学習モデル2cを学習する手法を判別ユニット2毎に異ならせることで、出力特性を相違させる。そして、第3に、前処理部2aの処理内容および機械学習モデル2cの学習手法の双方を判別ユニット2毎に異ならせることで、出力特性を相違させる。
【0027】
なお、本実施形態では、上記第1のタイプを採用している関係上、特徴量抽出部2bを判別ユニット2毎に個別に設けているが、前処理の内容が同一である場合、または、前処理を行わない場合には、特徴量抽出部2bを複数の判別ユニット2で共通化できる。
【0028】
判別部3は、それぞれの判別ユニット2の判別結果に基づいて、アンサンブル学習システム1としての最終的な判別結果を決定し、これを出力する。最終的な判別結果の決定手法としては、最大値投票(Max Voting)、重量平均投票(Weighted Average Voting)、バギングアンサンブル(Bagging Ensemble)、ブースティングアンサンブル(Boosting Ensemble)、スタッキングアンサンブル(Stacking Ensemble)などが存在し、適宜の手法を用いることができる。
【0029】
ユニット構築部4は、ユニット数および処理内容を含む判別ユニット2の構築(初期設定)を行うと共に、テスト後における判別ユニット2の再構築を許容する。この再構築は、初期設定された複数の判別ユニット2の少なくとも一つを削除することによって行われる。学習処理部5は、初期設定された判別ユニット2のそれぞれが備える前処理、特徴抽出処理、機械学習手法を活用して、機械学習モデル2cの学習を行う。この学習は、教師あり学習および教師なし学習のどちらであってもよい。
【0030】
テスト実行部6は、初期設定された学習済の判別ユニット2に対して、正解付きのテストデータを用いたテストを実行する。評価指標算出部7は、テストデータの正解と、テストデータの入力に対する個々の判別ユニット2の判別結果とに基づいて、評価指標を算出する。ここで、「評価指標」とは、テストにおいて、どの程度性能を発揮できたかを示す指標であり、本実施形態では、その一例として、正解数/テスト回数として規定される正解率を用いる。また、評価指標には、全体の評価指標と、個別の評価指標とが存在する。前者は、判別部3より出力される評価指標、すなわち、アンサンブル学習システム1全体としての評価指標であり、後者は、それぞれの判別ユニット2に関する個別的な評価指標である。ユニット構築部4における判別ユニット2の再構築は、評価指標算出部7によって算出された全体の評価指標または個別の評価指標に基づいて行われる。
【0031】
図2は、判別モデル2の構築から再構築までの処理手順を示すフローチャートである。まず、ステップ1において、ユニット構築部4は、初期設定として、複数の判別ユニット2を構築する。この構築は、
図3に示すように、設定画面上におけるユーザの操作・指示によって行われる。具体的には、ユーザは、「画像処理一覧」に表示された画像処理群(前処理の候補群)の中から所望のものを選択する。ユーザによって選択された画像処理は、「前処理一覧」に表示される。また、ユーザは、撮像画像上における検査範囲を定義するためのマスク画像を指定する。設定画面の右側には、ユーザによって選択された前処理によって、画像がどのように変化するかが対比可能な形態で表示される。判別モデル2の個数は、ユーザによって選択された前処理の個数に相当し、それぞれの判別ユニット2の内部構造(前処理部2a)は、ユーザによって指定された前処理の内容によって特定されることになる。
【0032】
つぎに、ステップ2において、学習処理部5は、ステップ1で構築された複数の判別ユニット2が備える機械学習モデル2cに対する学習を個別に実行する。なお、本実施形態では、ユーザが行った一つの前処理の設定に対して、一つ判別モデル2が学習される形となっているが、これに限らず、実験的に前処理の設定を調整する方法や、複数の設定候補から最適な設定を探索的に決定する方法を採用してもよい。
【0033】
つぎに、ステップ3において、テスト実行部6は、機械学習モデル2cの学習が完了した複数の判別ユニット2に対して、正解付きのテストデータを用いたテストを実行する。
【0034】
つぎに、ステップ4において、評価指標算出部7は、テストデータの正解と、テストデータの入力に対する判別ユニット2のそれぞれの判別結果とに基づいて、判別部2より出力された判別結果の評価指標(例えば、システム全体の正解率)、または、個々の判別ユニット2より出力された判別結果の評価指標(例えば、個々の判定ユニット2の正解率)を算出する。
【0035】
最後に、ステップ5において、ユニット構築部4は、ステップ1で構築された複数の判別ユニット2の再構築を許容する。この再構築は、ステップ4で算出された評価指標を閲覧したユーザによる手動削除、あるいは、ユニット構築部4による自動削除のどちらで行ってもよい。
【0036】
以下、初期設定された複数の判別ユニット2の再構築について、具体例に基づいて詳述する。
図4は、第1の再構築例の説明図であり、テストデータA~Dについて、3つの判別ユニット2A~2Cの判別結果と、これらの多数決に基づく判別部3の判別結果とを示す。
【0037】
特定の判別ユニット2を削除するか否かは、個別の評価指標と、所定のしきい値とを比較することによって判定される。同図の場合、判別ユニット2毎の正解率(個別正解率)は、判別ユニット2Aが75%、判別ユニット2Bが75%、判別ユニット2Cが100%である。ここで、しきい値が例えば80%に設定されている場合、個別正解率が80%以下の判別ユニット2は、全体的な性能に影響を及ぼさないものとして削除される。
【0038】
これにより、個別正解率が75%である2つの判別ユニット2A,2Bは削除され、判別ユニット2Cのみが残ることになる。初期設定された3個の判別ユニット2A~2Cを1個の判別ユニット2Cに減らしたとしても、アンサンブル学習システム1全体としての正解率は変わらず、アンサンブル学習システム1全体としての演算量は、1/3に低減されることになる。演算量の低減という観点において、判別ユニット2の個数を削減することの意義は大きい。
【0039】
図5および
図6は、第2の再構築例の説明図である。本構築例では、初期設定された複数の判別ユニット2のそれぞれを所定のパターンで組み合わせることによって、再構築が行われる。まず、
図5に示すように、3つの判別ユニット2A~2Cが存在する場合、その組み合わせは2×2×2-1の7通りとなり、7つの組み合わせパターンの中から最良なものが選択される。
図6に示すように、7つの組み合わせパターンのそれぞれについて、全体の正解率、すなわち、判別部3より出力された判別結果の正解率が算出される。
【0040】
特定の組み合わせパターンを再構築の選択肢から除外するか否かは、全体の正解指標と、所定のしきい値とを比較することによって判定される。具体的には、全体正解率が所定のしきい値以下である組み合わせパターンについては、再構築の選択肢から除外される。例えば、しきい値が80%に設定されている場合、全体正解率が50%である[判別ユニット2A]、全体正解率が75%である[判別ユニット2B]、[判別ユニット2A+2B]、[判別ユニット2A+2C]、[判別ユニット2A+2B+2C]の5パターンが除外され、全体正解率が100%である[判別ユニット2C]、[判別ユニット2B+2C]の2パターンが再構築の選択肢となる。
【0041】
ここで、再構築の選択肢が複数存在する場合、全体正解率が最も良好な組み合わせパターンが選択される。その際、全体正解率が同一値、または、同一とみなせる範囲内(例えば、±数%)である場合、組み合わせパターンを構成するユニット数が最も少ないものが選択される。同図の場合、[判別ユニット2C]、[判別ユニット2B+2C]の2パターンは、全体正解率が共に100%であるが、前者の方がユニット数が少ないので、[判別ユニット2C]の組み合わせパターンが最終的に選択されることになる。これは、全体正解率に変わりがなければ、演算量は少ない方が好ましいという考え方に基づいている。
【0042】
同図の再構築例では、初期設定された3個の判別ユニット2A~2Cを1個の判別ユニット2Cに減らすことで、アンサンブル学習システム1全体としての正解率は向上し、演算量も1/3に低減される。一般に、判別ユニット2を多数設ければ性能が向上するとは限らず、検査を行うにあたり妥当なユニット数が存在する。第2の再構築例では、判別ユニット2A~2Cの組み合わせを個別に評価することで、最良な組み合わせが能動的に特定できる。なお、判別ユニット2の最適な組み合わせの探し方に関しては、全探索のみならず、ベイズ最適などを利用してもよい。
【0043】
なお、上述した第1および第2の再構築例は、二者択一的に採用してもよいし、両者を併用してもよい。例えば、最適なユニットの組み合わせを探すのに要する時間を削減するため、個別正解率が50%以下の判別ユニット2については、足切りするといった仕組みが考えられる。
【0044】
このように、本実施形態によれば、テストを実行することによって算出された評価指標を考慮した上で、初期的に構築された判別ユニット2の再構築を許容することで、アンサンブル学習システム1全体としての性能を大きく損なうことなく、演算量を有効に低減することができる。
【0045】
なお、上述した実施形態では、所定のしきい値と比較される評価指標として正解率を例に説明したが、これは一例であって、本発明はこれに限定されるものではない。例えば、正解率の代わりに、誤答数/テスト回数として規定される誤答率を用いてもよい。誤答率は、(100%-正解率)であり、しきい値との大小関係の比較が正解率とは逆になる点に留意すれば、正解指標として有効に用いることができる。また、F値(f-measure)、ROC・AUC、AP(Average Precision)などを正解指標として用いてもよい。ここで、「F値」は、予測結果の評価尺度の一つであり、適合率(precision)と再現率(recall)という2つの評価指標を踏まえた統計的な値である。また、「ROC・AUC」は、機械学習の評価指標の一つであり、ROC(Receiver Operating Characteristic)は、推測曲線と呼ばれ、縦軸にTPR(True Positive Rate)、横軸にFPR(False Positive Rate)の割合をプロットしたものである。一方、ACU(Area Under the Curve)は、ROC曲線の下部分の面のことで、AUCの面積が大きいほど、一般的に機械学習の性能が良いことを意味する。さらに、「AP」は、物体検知モデルに使われる評価指標であり、PR曲線(Recallを横軸に、Precisionを縦軸にとってしきい値を変化させてプロットした曲線)の面積として算出される。
【0046】
また、上述した実施形態では、正解率を用いており、誤答ケースについては考慮していないが、例えば、NGテストデータに対する誤答率が0%という前提におけるOKテストデータの正答率を最大化するといったような形で、誤答ケースを考慮してもよい。
【0047】
また、上述した実施形態では、カメラによって撮像された物品の外観検査における判別結果(OK/NG)を出力するシステムを例に説明したが、本発明はこれに限定されるものではない。例えば、駅ホームに設置された監視カメラから、ホームへの転落を発見する用途の場合では、入力されたデータに応じて、事故の有無を判定結果として出力する。この場合、入力されるデータは動画像となるが、特徴量化するための手法としては、例えば、立体高次局所自己相関(CHLAC:Cubic Higher-order Local Auto Correlation)を用いることで同様の仕組みを実現できる。CHLACの詳細については、特許第4061377号公報などに記載されているので、必要ならば参照されたい。また、音響データを解析する公知の機械学習手法は多く提案されているが、これらの手法に本発明を適用し、工場内の生産設備の異常音を検知することで、設備保全に応用することも可能である。
【0048】
さらに、本発明は、
図2のフローチャートに示した手順をコンピュータに実行させるアンサンブル学習プログラムとして捉えることができる。
【符号の説明】
【0049】
1 アンサンブル学習システム
2,2A~2C 判別ユニット
2a 前処理部
2b 特徴量抽出部
2c 機械学習モデル
3 判別部
4 ユニット構築部
5 学習処理部
6 テスト実行部
7 評価指標算出部