(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-03-12
(45)【発行日】2025-03-21
(54)【発明の名称】機械学習装置、機械学習方法、及び機械学習プログラム
(51)【国際特許分類】
G06T 7/00 20170101AFI20250313BHJP
【FI】
G06T7/00 350B
(21)【出願番号】P 2020219580
(22)【出願日】2020-12-28
【審査請求日】2023-06-28
【前置審査】
(73)【特許権者】
【識別番号】000005186
【氏名又は名称】株式会社フジクラ
(74)【代理人】
【識別番号】110000338
【氏名又は名称】弁理士法人 HARAKENZO WORLD PATENT & TRADEMARK
(72)【発明者】
【氏名】黒澤 公紀
(72)【発明者】
【氏名】劉 青
【審査官】松浦 功
(56)【参考文献】
【文献】特開2020-024534(JP,A)
【文献】特開2018-142097(JP,A)
【文献】特開2012-190159(JP,A)
【文献】特開2016-076073(JP,A)
【文献】特開2019-036167(JP,A)
【文献】特開2020-204800(JP,A)
【文献】特開2020-021372(JP,A)
【文献】特開2019-212073(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00 - 7/90
G06V 10/00 -40/70
(57)【特許請求の範囲】
【請求項1】
少なくも1つのプロセッサを備え、
前記プロセッサは、データセットに含まれる各画像データの属するクラスを、機械学習により構築されたモデルを用いて推定するクラス推定処理と、前記クラス推定処理にて特定クラスに属すると推定された画像データのうち、その推定の尤度が閾値以上である画像データを、前記データセットから選別するデータ選別処理と、前記データ選別処理にて選別された画像データのうち、検査者が前記特定クラスに属すると判定した画像データに、前記特定クラスを示すラベルを付与するラベル付与処理と、前記ラベル付与処理にてラベルが付与された画像データを含む学習用データセットを用いて、前記モデルの追加学習を行う追加学習処理と、を実行
し、
前記特定クラスは、出現頻度が低いクラスとして予め選択されたクラスである、
ことを特徴とする機械学習装置。
【請求項2】
前記プロセッサは、前記クラス推定処理、前記データ選別処理、前記ラベル付与処理、及び前記追加学習処理を、繰り返し実行する、
ことを特徴とする請求項1に記載の機械学習装置。
【請求項3】
前記閾値を設定する閾値設定処理を更に含んでいる、
ことを特徴とする請求項1又は2に記載の機械学習装置。
【請求項4】
少なくも1つのプロセッサが、データセットに含まれる各画像データの属するクラスを、機械学習により構築されたモデルを用いて推定するクラス推定処理と、
前記プロセッサが、前記クラス推定処理にて特定クラスに属すると推定された画像データのうち、その推定の尤度が閾値以上である画像データを、前記データセットから選別するデータ選別処理と、
前記プロセッサが、前記データ選別処理にて選別された画像データのうち、検査者が前記特定クラスに属すると判定した画像データに、前記特定クラスを示すラベルを付与するラベル付与処理と、
前記プロセッサが、前記ラベル付与処理にてラベルが付与された画像データを含む学習用データセットを用いて、前記モデルの追加学習を行う追加学習処理と、を含
み、
前記特定クラスは、出現頻度が低いクラスとして予め選択されたクラスである、
ことを特徴とする機械学習方法。
【請求項5】
コンピュータを請求項1~3の何れか一項に記載の機械学習装置として動作させるための機械学習プログラムであって、前記コンピュータが備えるプロセッサに前記各処理を実行させる機械学習プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像データを入力とし、機械学習により構築されたモデルの性能を追加学習により向上させるための機械学習装置、機械学習方法、及び機械学習プログラムに関する。
【背景技術】
【0002】
機械学習により構築されたモデル(以下、学習済モデルとも記載する)を用いて、物品の検査を行う方法が知られている。例えば、特許文献1には、物品を被写体として含む画像データを入力とし、その物品のクラスを出力とする学習済モデルを用いて、物品の検査を行う検査装置が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
学習済モデルは、入力された画像データが属するクラスとして、複数のクラスの何れかを出力する。しかしながら、これらのクラスのなかには、出現頻度が極めて低いクラスが含まれている場合がある。この場合、そのようなクラスに属する画像データに対する学習が不十分になり、その結果、そのようなクラスに属する画像データに対する判定精度が低下することがある。
【0005】
このような問題に対処するためには、出現頻度が低いクラスに属する画像データを十分に含む学習用データセットを用いた追加学習を行うことが効果的である。しかしながら、膨大な数の画像データを含むデータセットから出現頻度が低いクラスに属する画像データを検査者が目視でピックアップすることは、不可能又は極めて困難である。また、学習済モデルを用いてピックアップする方法も考えられるが、そもそも学習済モデルは出現頻度が低いクラスに属する画像データに対する判定精度が低いため、この方法も有効性に欠ける。
【0006】
本発明は、上記の問題に鑑みてなされたものであり、その目的は、機械学習により構築されたモデルの性能、特に、出現頻度が低いクラスに属する画像データに対する判定精度を追加学習により向上させることが可能な機械学習技術を実現することにある。
【課題を解決するための手段】
【0007】
本発明の態様1に係る機械学習装置は、少なくも1つのプロセッサを備え、前記プロセッサは、データセットに含まれる各画像データの属するクラスを、機械学習により構築されたモデルを用いて推定するクラス推定処理と、前記クラス推定処理にて特定クラスに属すると推定された画像データのうち、その推定の尤度が閾値以上である画像データを、前記データセットから選別するデータ選別処理と、前記データ選別処理にて選別された画像データのうち、検査者が前記特定クラスに属すると判定した画像データに、前記特定クラスを示すラベルを付与するラベル付与処理と、前記ラベル付与処理にてラベルが付与された画像データを含む学習用データセットを用いて、前記モデルの追加学習を行う追加学習処理と、を実行する、という特徴としている。
【0008】
上記の構成によれば、出現頻度の低いクラスを特定クラスとして上記各処理を実行することで、出現頻度が低いクラスに属する画像データに対する判定精度を向上させることができる。しかも、上記の構成によれば、検査者が目視によるクラス判定を行う必要のある画像データは、データ選択処理にて選択された画像データに限定される。したがって、検査者の負担を軽減することができる。
【0009】
本発明の態様2に係る機械学習装置においては、態様1に係る機械学習装置の構成に加えて、前記プロセッサは、前記クラス推定処理、前記データ選別処理、前記ラベル付与処理、及び前記追加学習処理を、繰り返し実行する、という構成が採用されている。
【0010】
上記の構成によれば、出現頻度が低いクラスに属する画像データに対する判定精度を更に向上させることができる。
【0011】
本発明の態様3に係る機械学習装置においては、態様1又は2に係る機械学習装置の構成に加えて、前記閾値を設定する閾値設定処理を更に含んでいる、という構成が採用されている。
【0012】
上記の構成によれば、データ選別処理にて選別される画像データの量、すなわち、検査者が目視によるクラス判定を行う必要のある画像データの量を適宜調整することができる。したがって、検査者の負担を適宜調整することができる。
【0013】
本発明の態様4に係る機械学習方法は、少なくも1つのプロセッサが、データセットに含まれる各画像データの属するクラスを、機械学習により構築されたモデルを用いて推定するクラス推定処理と、前記プロセッサが、前記クラス推定処理にて特定クラスに属すると推定された画像データのうち、その推定の尤度が閾値以上である画像データを、前記データセットから選別するデータ選別処理と、前記プロセッサが、前記データ選別処理にて選別された画像データのうち、検査者が前記特定クラスに属すると判定した画像データに、前記特定クラスを示すラベルを付与するラベル付与処理と、前記プロセッサが、前記ラベル付与処理にてラベルが付与された画像データを含む学習用データセットを用いて、前記モデルの追加学習を行う追加学習処理と、を含んでいる、ことを特徴としている。
【0014】
上記の構成によれば、出現頻度の低いクラスを特定クラスとして上記各処理を実行することで、出現頻度が低いクラスに属する画像データに対する判定精度を向上させることができる。しかも、上記の構成によれば、検査者が目視によるクラス判定を行う必要のある画像データは、データ選択処理にて選択された画像データに限定される。したがって、検査者の負担を軽減することができる。
【0015】
本発明の態様5に係る機械学習プログラムは、コンピュータを態様1~3の何れかに係る機械学習装置として動作させるためのプログラムであって、前記コンピュータが備えるプロセッサに前記各処理を実行させるプログラムである。
【0016】
上記の構成によれば、コンピュータを用いて上記の機械学習装置を実現することができる。
【発明の効果】
【0017】
本発明の一態様によれば、機械学習により構築されたモデルの性能、特に、出現頻度が低いクラスに属する画像データに対する判定精度を追加学習により向上させることが可能な機械学習技術を実現することができる。
【図面の簡単な説明】
【0018】
【
図1】本発明の一実施形態に係る機械学習装置の構成を示すブロック図である。
【
図2】
図1の機械学習装置が実施する機械学習方法の流れを示すフロー図である。
【
図3】(a)は、閾値(尤度の下限値)が大きい場合に、どのような画像データがデータ選別処理にて選別されるかを説明するための図である。(b)は、閾値(尤度の下限値)が小さい場合に、どのような画像データがデータ選別処理にて選別されるかを説明するための図である。
【
図4】(a)は、本発明の一適用例(LDチップの外観検査)においてクラスC1(特定クラス以外のクラス)に属する画像データの一例を示す図である。(b)は、同適用例においてクラスC4(特定クラス)に属する画像データの一例を示す図である。
【発明を実施するための形態】
【0019】
(機械学習装置の構成)
本発明の一実施形態に係る機械学習装置1の構成について、
図1を参照して説明する。
図1は、機械学習装置1の構成を示すブロック図である。
【0020】
機械学習装置1は、機械学習により構築されたモデルMの性能を追加学習により向上させるための機械学習方法Sを実施するための装置である。機械学習装置1は、
図1に示すように、メモリ11と、プロセッサ12と、ストレージ13と、バス14と、を備えている。メモリ11、プロセッサ12、及びストレージ13は、バス14を介して互いに接続されている。
【0021】
メモリ11は、機械学習方法Sを実施するための機械学習プログラムP、及び、機械学習方法Sにおいて構築及び評価されるモデルMを記録するための構成である。なお、メモリ11としては、例えば、半導体RAM(Random Access Memory)等を用いることができる。
【0022】
プロセッサ12は、メモリ11に記憶された機械学習プログラムPに従って、機械学習方法Sを実行するための構成である。プロセッサ12としては、例えば、CPU(Central Processing Unit)、GPU(Graphic Processing Unit)、マイクロプロセッサ、デジタルシグナルプロセッサ、マイクロコントローラ、TPU(Tensor Processing Unit)等のASIC(Application Specific Integrated Circuit)又は、これらの組み合わせ等を用いることができる。
【0023】
ストレージ13は、機械学習方法Sにおいて参照されるデータセットDを格納するための構成である。ストレージ13としては、例えば、フラッシュメモリ、HDD(Hard Disk Drive)、SSD(Solid State Drive)、又は、これらの組み合わせ等を用いることができる。
【0024】
なお、ここでは、機械学習方法Sを単一のコンピュータに設けられた単一のプロセッサ12が実行する構成について説明したが、これに限定されない。すなわち、機械学習方法Sを単一のコンピュータに設けられた、或いは、複数のコンピュータに分散して設けられた複数のプロセッサが共同して実行する構成を採用することも可能である。
【0025】
また、ここでは、データセットDを単一のコンピュータに設けられた単一のストレージ13に格納する構成について説明したが、これに限定されない。すなわち、データセットDを単一のコンピュータに設けられた、或いは、複数のコンピュータに分散して設けられた複数のストレージに分散して格納する構成を採用することも可能である。
【0026】
なお、プロセッサ12に機械学習方法Sを実行させるための機械学習プログラムPは、コンピュータ読み取り可能な一時的でない有形の記録媒体に記録され得る。この記録媒体は、メモリ11であってもよいし、ストレージ13であってもよいし、その他の記録媒体であってもよい。例えば、テープ、ディスク、カード、半導体メモリ、プログラマブル論理回路が、その他の記録媒体として利用可能である。
【0027】
(機械学習方法)
機械学習装置1が実施する機械学習方法Sの流れについて、
図2を参照して説明する。
図2は、機械学習方法Sの流れを示すフロー図である。
【0028】
機械学習方法Sは、上述したように、機械学習により構築されたモデルMの性能を追加学習により向上させる方法である。より具体的には、出現頻度の低い特定クラスに属する画像データについても、そのクラスを正しく推定することができるように、モデルMの性能を向上させるための方法である。機械学習方法Sは、
図2に示すように、クラス推定処理S1と、データ選別処理S2と、ラベル付与処理S3と、追加学習処理S4と、を含んでいる。
【0029】
データセットDSは、画像データの集合である。モデルMは、画像データを入力とし、複数のクラスの何れかを出力とするアルゴリズムであり、機械学習により構築されたものである。モデルMは、入力された画像データが属すると推定したクラスと共に、その推定の尤度を出力する。なお、本実施形態においては、CNN(Convolutional Neural Network)をモデルMとして用いるが、CNN以外のニューラルネットワーク、ロジスティック回帰モデル、サポートベクトルマシン、ランダムフォレストなどをモデルMとして用いてもよい。
【0030】
クラス推定処理S1は、データセットDに含まれる各画像データの属するクラスを、モデルMを用いて推定する処理である。本実施形態において、クラス推定処理S1は、プロセッサ12により実行され、推定されたクラスは、その推定の尤度と共にメモリ11に記憶される。
【0031】
データ選別処理S2は、クラス推定処理S1にて特定クラスに属すると推定された画像データのうち、その推定の尤度が予め定められた閾値α以上である画像データを、データセットDSから選別する処理である。本実施形態において、データ選別処理S2は、プロセッサ12により実行され、選別された画像データは、メモリ11に記憶される。
【0032】
データ選別処理S2にて選別された画像データは、検査者に提供される。検査者は、データ選別処理S2にて選別された各画像データについて、その画像データの属するクラスを目視により判別する。
【0033】
ラベル付与処理S3は、データ選別処理S2にて選別された画像データのうち、検査者が特定クラスに属すると判定した画像データに、特定クラスを示すラベルを付与する処理である。本実施形態において、ラベル付与処理S3は、プロセッサ12により実行され、ラベルが付与された画像データは、メモリ11に記憶される。
【0034】
追加学習処理S4は、ラベル付与処理S3にてラベルが付与された画像データを含む学習用データセットDLを用いて、モデルMの追加学習を行う処理である。学習用データセットDLは、ラベル付与処理S3にてラベルが付与された画像データのみを含んでいてもよいし、それ以外の画像データを含んでいてもよい。後者の例としては、データ選別処理S2にて選別された画像データの集合を、学習用データセットDLとして用いることなどが考えられる。本実施形態において、追加学習処理S4は、プロセッサ12により実行され、追加学習後のモデルMは、メモリ11に記憶される。
【0035】
プロセッサ12は、クラス推定処理S1、データ選別処理S2、ラベル付与処理S3、及び追加学習処理S4を、繰り返し実行してもよい。これにより、学習用データセットDLに含まれる特定クラスに属する画像データを順次増やしながら、特定クラスに属する画像データに対するモデルの性能を順次向上させることができる。上述した閾値αは、これらの処理の繰り返しに際し、一定に保ってもよいし、順次大きくしていってもよい。
【0036】
なお、これらの処理を繰り返す場合の終了条件は、任意である。一例として、(1)特定クラスに属する画像データに対するモデルMの判定精度が予め定められた判定精度に達したとき、(2)任意の画像データに対するモデルMの判定精度が予め定められた判定精度に達したとき、(3)繰り返し回数が予め定められた回数に達したとき、などが挙げられる。
【0037】
(閾値αの調整)
閾値αの調整について、
図3を参照して説明する。
図3においては、画像データを二次元平面に射影して示している。
図3における三角印は、特定クラスに属する画像データに対応し、
図3における四角印は、特定クラス以外のクラスに属する画像データに対応する。
図3における曲線γは、データ選別処理S2にて選別されるか否かの分水嶺を表す。曲線γよりも左下にある画像データは、データ選別処理S2にて特定クラスに属する画像データとして選別される。曲線γよりも右上にある画像データは、データ選別処理S2にて特定クラスに属する画像データとして選別されない。
【0038】
上述した閾値αを大きくすると、
図3の(a)に示すように、データ選別処理S2にて選別される画像データが少なくなる。その結果、データ選別処理S2にて選別された各画像データについて、その画像データの属するクラスを目視により判別する検査者の負担が小さくなる。ただし、学習用データセットDLに組み込むことができる、特定クラスに属する画像データの個数が少なくなるので、追加学習の効果は低くなる。
【0039】
逆に、上述した閾値αを小さくすると、
図3の(b)に示すように、データ選別処理S2にて選別される画像データが多くなる。その結果、学習用データセットDLに組み込むことができる、特定クラスに属する画像データの個数が多くなるので、追加学習の効果は高くなる。ただし、データ選別処理S2にて選別された各画像データについて、その画像データの属するクラスを目視により判別する検査者の負担は大きくなる。
【0040】
このため、上述した閾値αは、追加学習の効果と検査者の負担との双方を勘案し、最適な値に設定しておくことが好ましい。このため、機械学習方法Sは、上述した閾値αを設定する閾値設定処理を更に含んでいることが好ましい。この閾値設定処理にて設定される閾値αは、ユーザにより指定された値であってもよいし、機械学習装置1が導出した値であってもよい。
【0041】
(適用例)
機械学習方法Sの一適用例について、
図4を参照して説明する。本適用例の対象となるモデルMは、LDチップの外観検査に用いられる学習済モデルである。モデルMの入力は、LDチップを被写体として含む画像データであり、モデルMの出力は、そのLDチップの状態を表す5つのクラスC1,C2,C3,C4,C5の何れかである。クラスC1に属する画像データの一例を
図4の(a)に示す。クラスC1は、
図4の(a)に示すように、正常なLDチップに対応するクラスである。また、クラスC5に属する画像データの一例を
図4の(b)に示す。クラスC4は、
図4の(b)に示すように、クラックの入ったLDチップに対応するクラスである。クラスC5は、上述した特定クラスに相当する、出現頻度が極めて低いクラスである。
【0042】
与えられたモデルMは、クラスC5に属する画像データに対する判定精度が低く、追加学習が必要であった。このため、LDチップを被写体として含む50万枚の画像データからなるデータセットDを用意した。50万枚の画像データから検査員が目視でクラスC5に属する画像データをピックアップすることは、不可能又は極困難である。そこで、機械学習方法Sを用いてモデルMの追加学習を行った。
【0043】
1回目のクラス推定処理S1においては、与えられたモデルMを用いた。また、1回目のデータ選別処理S2においては、閾値αを10%に設定した。その結果、1回目のデータ選別処理S2において、146枚の画像データが選別された。また、1回目のラベル付与処理S3においては、これら146枚の画像データのうち、検査者が目視によりクラスC5に属することを確認した20枚の画像データにクラスC5を示すラベルを付与した。また、1回目の追加学習処理S4においては、これら20枚の画像データを含む学習用データセットDLを用いて、モデルMの追加学習を行った。その結果、クラスC5に属する画像データに対するモデルMの判定精度は、46%となった。
【0044】
2回目のクラス推定処理S1においては、1回目の追加学習処理S4により構築されたモデルMを用いた。また、2回目のデータ選別処理S2においては、閾値αを再度10%に設定した。その結果、2回目のデータ選別処理S2において、72枚の画像データが選別された。また、2回目のラベル付与処理S3においては、これら72枚の画像データのうち、検査者が目視によりクラスC5に属することを確認した41枚の画像データにクラスC5を示すラベルを付与した。また、2回目の追加学習処理S4においては、これら41枚の画像データを含む学習用データセットDLを用いて、モデルMの追加学習を行った。その結果、クラスC5に属する画像データに対するモデルMの判定精度は、85%となった。
【0045】
以上のことから、機械学習方法Sを用いれば、出現頻度の低いクラスに属する画像データに対するモデルMの判定精度を向上し得ることが確認された。このような処理を更に繰り返せば、出現頻度の低いクラスに属する画像データに対するモデルMの判定精度が更に向上することが期待される。また、1回目のラベル付与処理S3のために検査者が目視によりクラス判別を行った画像データの枚数は、146枚であり、2回目のラベル付与処理S3のために検査者が目視によりクラス判別を行った画像データの枚数は、72枚である。したがって、検査者に過度な負担を掛けることなく、上述したモデルMの性能向上を実現し得ることが確かめられた。
【0046】
(付記事項)
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても、本発明の技術的範囲に含まれる。
【符号の説明】
【0047】
1 機械学習装置
11 メモリ
12 プロセッサ
13 ストレージ
14 バス
S 機械学習方法
S1 クラス推定処理
S2 データ選別処理
S3 ラベル付与処理
S4 追加学習処理
D データセット
DL 学習用データセット