(57)【要約】  学習部（１０）が、学習用データの要素ごとにＯＫラベルとＮＧラベルを割り当てた学習基準ラベルに基づいて、学習用データの要素を入力としてニューラルネットワークを学習し、ＮＧ判定グループに属するデータの少なくとも一つをＮＧと判定する識別器を出力する。動的更新部（１１）は、学習部（１０）によるニューラルネットワークの学習の途中で学習基準ラベルを動的に更新する。
2019176087.tif 000002
【特許請求の範囲】
【請求項１】
複数の要素から構成された学習用データと、グループに属するデータの少なくとも一つがＮＧと判定されることが定義されたグループ情報とを入力し、前記学習用データの要素ごとにＯＫラベルまたはＮＧラベルが割り当てられた学習基準ラベルを用いて、前記学習用データの複数の要素を入力としてニューラルネットワークを学習することにより、学習結果のニューラルネットワークを用いて前記グループに属するデータの少なくとも一つをＮＧと判定する識別器を出力する学習部と、
前記学習部によるニューラルネットワークの学習の途中で前記学習基準ラベルを動的に更新する動的更新部とを備え、
前記学習部は、
前記学習用データおよび前記グループ情報を用いて前記学習用データの要素ごとの前記学習基準ラベルの初期値を生成し、
前記学習基準ラベルの初期値から前記動的更新部によって更新された前記学習基準ラベルを逐次用いてニューラルネットワークを反復して学習し、
学習の反復ごとのニューラルネットワークの出力値を用いて、前記学習用データの要素がＮＧとなり得るＮＧ指標値を算出し、
前記動的更新部は、
学習の反復回数の推移ごとに得られたＮＧ指標値の変化傾向を統計的に検定した結果に基づいて、前記学習基準ラベルを更新すること
を特徴とする学習装置。
【請求項２】
前記学習部は、
前記学習用データの要素ごとの前記学習基準ラベルが格納された学習基準ラベルバッファと、
前記学習用データの要素が前記グループに属さない場合にＯＫラベルを割り当て、前記グループに属する場合にＮＧラベルを割り当てた前記学習基準ラベルの初期値を生成する学習基準ラベル生成部と、
ニューラルネットワークの出力値を用いて前記学習用データの要素のＮＧ指標値を算出し、ＯＫクラスおよびＮＧクラスのうち、ＮＧ指標値に基づいて前記学習用データの要素が属するクラスを判定し、前記学習基準ラベルの初期値および前記動的更新部によって更新された前記学習基準ラベルと判定したクラスとを誤差評価するニューラルネットワーク管理部と、
前記ニューラルネットワーク管理部によって算出されたＮＧ指標値に基づいて、ニューラルネットワークパラメータを更新するニューラルネットワーク更新部とを備えたこと
を特徴とする請求項１記載の学習装置。
【請求項３】
前記動的更新部は、
学習の反復回数ごとに得られたＮＧ指標値が格納された履歴バッファと、
学習の反復回数、ＮＧ指標値に応じたＮＧ候補レベル、前記学習用データの要素がＯＫに確定されたことを示すＯＫ確定フラグ、および前記学習用データの要素がＮＧに確定されたことを示すＮＧ確定フラグが、前記学習用データの要素ごとに格納されたＮＧ候補バッファと、
学習の反復ごとに得られたＮＧ指標値を前記履歴バッファに格納する履歴管理部と、
前記履歴バッファに格納されたＮＧ指標値の変化傾向を、前記ＮＧ候補レベルの推移を用いて統計的に検定し、検定結果に基づいてＮＧ候補の要素のＯＫまたはＮＧを確定して前記ＮＧ候補バッファにおける前記ＯＫ確定フラグまたは前記ＮＧ確定フラグを更新する検定部と、
ＮＧ候補の要素のうち、前記検定部によってＯＫに確定された要素に対応する前記学習基準ラベルをＮＧラベルからＯＫラベルに更新する学習基準ラベル更新部とを備えたこと
を特徴とする請求項１または請求項２記載の学習装置。
【請求項４】
学習部が、複数の要素から構成された学習用データと、グループに属するデータの少なくとも一つがＮＧと判定されることが定義されたグループ情報とを入力し、前記学習用データの要素ごとにＯＫラベルまたはＮＧラベルが割り当てられた学習基準ラベルを用いて、前記学習用データの複数の要素を入力としてニューラルネットワークを学習することにより、学習結果のニューラルネットワークを用いて前記グループに属するデータの少なくとも一つをＮＧと判定する識別器を出力するステップと、
動的更新部が、前記学習部によるニューラルネットワークの学習の途中で前記学習基準ラベルを動的に更新するステップとを備え、
前記学習部は、
前記学習用データおよび前記グループ情報を用いて前記学習用データの要素ごとの前記学習基準ラベルの初期値を生成し、
前記学習基準ラベルの初期値から前記動的更新部によって更新された前記学習基準ラベルを逐次用いてニューラルネットワークを反復して学習し、
学習の反復ごとのニューラルネットワークの出力値を用いて、前記学習用データの要素がＮＧとなり得るＮＧ指標値を算出し、
前記動的更新部は、
学習の反復回数の推移ごとに得られたＮＧ指標値の変化傾向を統計的に検定した結果に基づいて、前記学習基準ラベルを更新すること
を特徴とする学習方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ニューラルネットワークを用いた識別器を学習する学習装置および学習方法に関する。
【背景技術】
【０００２】
異常検知を行うために使用される学習用画像データは、一般に画像単位で正常（以下、ＯＫと記載する）か、異常（以下、ＮＧと記載する）かが判定されていることが多い。
一方、ＮＧと判定された学習用画像データにおいて、ＮＧ要素のある画像領域は局所的であることが多く、大半の領域は、ＯＫと判定された学習用画像データと局所的には変わらない。【０００３】
従来から、複数の要素から構成された学習用データについて要素ごとにＯＫまたはＮＧが判定された学習用データを使用する機械学習がある。
例えば、特許文献１には、入力画像を複数の画像領域に分割し、分割した画像領域ごとに前景と背景とを区別するラベルを付与する技術が記載されている。この技術では、前景または背景が確定しているラベルが付与された画像領域からの連続性に基づいて、不確定のラベルが付与されたピクセルが前景であるか背景であるかが推定される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−２０８９１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
画像、動画または多次元データについて機械学習によってＯＫとＮＧを識別する場合、学習用データには、人手によってＯＫまたはＮＧが判定されたデータが提供されることが多い。ただし、学習用データを構成する全ての要素がＮＧであることは少なく、不特定の要素のみからＮＧと判定されている場合が多い。このような学習用データを用いると、本来はＯＫである要素をＮＧと誤って学習することになり、学習結果の識別器の識別精度が低下するという課題があった。【０００６】
この発明は上記課題を解決するものであり、高精度の識別を行う識別器を提供することができる学習装置および学習方法を得ることを目的とする。
【課題を解決するための手段】
【０００７】
この発明に係る学習装置は、学習部および動的更新部を備える。学習部は、複数の要素から構成された学習用データと、グループに属するデータの少なくとも一つがＮＧと判定されることが定義されたグループ情報とを入力し、学習用データの要素ごとにＯＫラベルまたはＮＧラベルが割り当てられた学習基準ラベルを用いて、学習用データの複数の要素を入力としてニューラルネットワークを学習することにより、学習結果のニューラルネットワークを用いてグループに属するデータの少なくとも一つをＮＧと判定する識別器を出力する。動的更新部は、学習部によるニューラルネットワークの学習の途中で学習基準ラベルを動的に更新する。この構成において、学習部は、学習用データおよびグループ情報を用いて学習用データの要素ごとの学習基準ラベルの初期値を生成し、学習基準ラベルの初期値から動的更新部によって更新された学習基準ラベルを逐次用いてニューラルネットワークを反復して学習し、学習の反復ごとのニューラルネットワークの出力値を用いて、学習用データの要素がＮＧとなり得るＮＧ指標値を算出する。動的更新部は、学習の反復回数の推移ごとに得られたＮＧ指標値の変化傾向を統計的に検定した結果に基づいて学習基準ラベルを更新する。
【発明の効果】
【０００８】
この発明によれば、学習装置は、グループに属するデータの少なくとも一つをＮＧと判定することにより高精度の識別を行う識別器を提供することができる。
【図面の簡単な説明】
【０００９】
【図１】この発明の実施の形態１に係る学習装置の構成を示すブロック図である。
【図２】実施の形態１に係る学習装置の詳細な構成を示すブロック図である。
【図３】学習用データＤＢの内容の一例を示す図である。
【図４】ＮＧ判定グループＤＢの内容の一例を示す図である。
【図５】学習基準ラベルバッファの内容の一例を示す図である。
【図６】ニューラルネットワークの構成の一例を示す図である。
【図７】ＮＧ指標値バッファの内容の一例を示す図である。
【図８】履歴バッファの内容の一例を示す図である。
【図９】ＮＧ候補バッファの内容の一例を示す図である。
【図１０】図１０Ａは、実施の形態１に係る学習装置の機能を実現するハードウェア構成を示すブロック図である。図１０Ｂは、実施の形態１に係る学習装置の機能を実現するソフトウェアを実行するハードウェア構成を示すブロック図である。
【図１１】実施の形態１に係る学習方法を示すフローチャートである。
【図１２】学習基準ラベル生成処理を示すフローチャートである。
【図１３】ニューラルネットワーク管理処理を示すフローチャートである。
【図１４】ＮＧ指標値の履歴管理処理を示すフローチャートである。
【図１５】ＮＧ指標値の統計的検定処理を示すフローチャートである。
【図１６】学習基準ラベル更新処理を示すフローチャートである。
【図１７】ニューラルネットワークパラメータ更新処理を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、この発明をより詳細に説明するため、この発明を実施するための形態について、添付の図面に従って説明する。
実施の形態１．
図１は、この発明の実施の形態１に係る学習装置１の構成を示すブロック図である。
学習装置１は、学習用データデータベース（以下、学習用データＤＢと記載する）２から入力した学習用データとＮＧ判定グループデータベース（以下、ＮＧ判定グループＤＢと記載する）３から入力したＮＧ判定グループ情報とを用いて、ニューラルネットワーク初期パラメータを更新していくことにより、学習結果の識別器を与えるニューラルネットワークパラメータを生成する。
【００１１】
学習用データＤＢ２に格納された学習用データは、複数の要素から構成されたデータである。例えば、学習用データが画像データである場合、この画像データが示す画像を複数に分割した個々の画像領域が要素である。ＮＧ判定グループＤＢ３に格納されたＮＧ判定グループ情報は、ＮＧ判定グループに属するデータの少なくとも一つがＮＧと判定されることが定義された情報である。
【００１２】
学習装置１は、学習部１０および動的更新部１１を備える。学習部１０は、学習用データＤＢ２から学習用データを入力し、ＮＧ判定グループＤＢ３からＮＧ判定グループ情報を入力し、学習用データの要素ごとの学習基準ラベルを用いて、学習用データの複数の要素を入力として、ニューラルネットワークを学習する。学習基準ラベルは、学習用データの要素ごとにＯＫラベルまたはＮＧラベルが割り当てられた情報である。学習部１０は、ＮＧ判定グループに属するデータの少なくとも一つをＮＧと判定する識別器を与えるニューラルネットワークパラメータを出力する。
【００１３】
また、学習部１０は、学習用データおよびＮＧ判定グループ情報を用いて学習用データの要素ごとの学習基準ラベルの初期値を生成し、学習基準ラベルの初期値から、動的更新部１１によって動的に更新された学習基準ラベルを逐次用いてニューラルネットワークを反復して学習する。学習の反復ごとのニューラルネットワークの出力値を用いて、学習部１０は、学習用データの要素がＮＧとなり得る指標値（以下、ＮＧ指標値と記載する）を算出する。
【００１４】
動的更新部１１は、学習部１０によるニューラルネットワークの学習の途中で学習基準ラベルを動的に更新する。具体的には、動的更新部１１は、学習の反復回数の推移ごとに得られたＮＧ指標値の変化傾向を統計的に検定して、統計的検定結果に基づいて学習基準ラベルを更新する。動的更新部１１は、ＮＧ指標値の変化傾向の統計的検定結果を用いることにより、学習基準ラベルにおいて本来はＯＫである要素に割り当てられたＮＧラベルをＯＫラベルに更新する。
【００１５】
図２は、実施の形態１に係る学習装置１の詳細な構成を示すブロック図である。図２に示すように、学習部１０は、学習基準ラベルバッファ１０ａ、学習基準ラベル生成部１０ｂ、ニューラルネットワーク管理部１０ｃ、ニューラルネットワーク更新部１０ｄおよびＮＧ指標値バッファ１０ｅを備える。動的更新部１１は、履歴バッファ１１ａ、ＮＧ候補バッファ１１ｂ、履歴管理部１１ｃ、検定部１１ｄおよび学習基準ラベル更新部１１ｅを備える。
【００１６】
ニューラルネットワーク初期パラメータは、ニューラルネットワークの初期状態を定義するパラメータである。例えば、ニューラルネットワーク初期パラメータには、ニューラルネットワークにおける隠れユニットのノード数、ノード間に付与された重みパラメータ、バイアスパラメータおよび学習率パラメータの初期値が含まれる。これらのパラメータは、下記の参考文献１に記載されたパラメータである。学習装置１は、ニューラルネットワーク初期パラメータを更新することで、ＮＧ判定グループに属するデータの少なくとも一つを異常と判定する識別器を与えるニューラルネットワークパラメータが生成される。
（参考文献１）Ｃ．Ｍ．ビショップ，  元田浩（監訳），  “パターン認識と機械学習  上”，  丸善出版，  ｐｐ．  ２２５−２４７．
【００１７】
学習用データＤＢ２には、複数の要素から構成された学習用データが格納されている。図３は、学習用データＤＢ２の内容の一例を示す図である。図３において、学習用データは、“データＩＤ”で識別される複数の要素から構成されており、複数の要素のそれぞれは、“データ値系列”から構成されている。例えば、図３には、ある学習用データを構成するデータＩＤがＤ０００１の要素、データＩＤがＤ０００２の要素、データＩＤがＤ０００３の要素、データＩＤがＤ０００４の要素、・・・が記載されている。
【００１８】
ＮＧ判定グループＤＢ３には、ＮＧ判定グループの識別情報と、ＮＧ判定グループに属する学習用データの要素の識別情報とから構成されたＮＧ判定グループ情報が格納されている。図４は、ＮＧ判定グループＤＢ３の内容の一例を示す図である。学習用データを構成する複数の要素のそれぞれは、図３と同様に、“データＩＤ”で識別される。ＮＧ判定グループは、“ＮＧ判定グループＩＤ”で識別される。例えば、データＩＤがＤ０００１の要素、データＩＤがＤ０００２の要素、データＩＤがＤ０００４の要素は、ＮＧ判定グループＩＤがＧ００１のＮＧ判定グループに属しており、これらの要素の少なくとも一つがＮＧと判定される。
【００１９】
学習基準ラベルバッファ１０ａには、学習用データの要素ごとの学習基準ラベルが格納されている。図５は、学習基準ラベルバッファ１０ａの内容の一例を示す図である。学習基準ラベル情報は、図５に示すように、学習用データの要素のデータＩＤ、ＯＫフラグおよびＮＧフラグを有している。学習用データを構成する複数の要素のそれぞれは、図３と同様に、“データＩＤ”で識別される。ＯＫラベルが割り当てられた要素では、この要素に対応するＯＫフラグに値１が設定され、この要素に対応するＮＧフラグに値０が設定される。反対に、ＮＧラベルが割り当てられた要素では、この要素に対応するＯＫフラグに値０が設定され、この要素に対応するＮＧフラグに値１が設定される。
【００２０】
学習基準ラベル生成部１０ｂは、学習用データが、ＮＧ判定グループに属するか否かの判定結果に基づいて、学習基準ラベルの初期値を生成する。例えば、学習基準ラベル生成部１０ｂは、学習用データＤＢ２に登録されている要素のデータＩＤのうち、ＮＧ判定グループＤＢ３におけるＮＧ判定グループに属する要素と同じデータＩＤが存在するか否かを判定する。ＮＧ判定グループに属する要素と同じデータＩＤであると判定した場合に、学習基準ラベル生成部１０ｂは、この要素に対応するＯＫフラグに値０を設定し、ＮＧフラグに値１を設定した学習基準ラベルを生成して、学習基準ラベルバッファ１０ａに格納する。
【００２１】
ニューラルネットワーク管理部１０ｃは、学習用データＤＢ２に格納されたデータＩＤに対応する要素を、学習基準ラベルバッファ１０ａにおける、上記データＩＤに対応するＯＫフラグおよびＮＧフラグのうち、値が１のフラグに対応するクラス（ＯＫクラスまたはＮＧクラス）に振り分けるニューラルネットワークの学習を管理する。
図６は、ニューラルネットワークの構成の一例を示す図である。図６に示すように、ニューラルネットワークは、入力層、隠れ層および出力層から構成される。学習用データの要素を構成するデータ値系列ｘ１，ｘ２，・・・，ｘＮが入力層に入力されると、入力層のノードと隠れ層のノードとの間の重みパラメータとｘ１，ｘ２，・・・，ｘＮとの乗算和を非線形変換したｚ１，ｚ２，・・・，ｚＭが算出される。続いて、隠れ層のノードと出力層のノードとの間の重みパラメータとｚ１，ｚ２，・・・，ｚＭとの乗算和を非線形変換したｙ１，ｙ２が出力層から出力される。
【００２２】
出力値ｙ１，ｙ２は、クラスごとのＮＧ評価値であり、出力値ｙ１は、要素がＯＫクラスに属する度合いを表し、出力値ｙ２は、要素がＮＧクラスに属する度合いを表している。ニューラルネットワークに入力された要素（データ値系列）は、ｙ１＞ｙ２であるとき、ＯＫクラスに属すると判定され、ｙ１≦ｙ２であるときに、ＮＧクラスに属すると判定される。ＮＧ指標値は、分母が０にならないように補正したｙ２とｙ１との比率であってもよいが、以下では、ｙ２−ｙ１をＮＧ指標値とする。
なお、図６において、隠れ層が１層のニューラルネットワークを示したが、ニューラルネットワーク管理部１０ｃによって管理されるニューラルネットワークは、隠れ層が複数層のニューラルネットワークであってもよい。
【００２３】
ニューラルネットワーク更新部１０ｄは、ニューラルネットワーク管理部１０ｃにより得られたＮＧ指標値に基づいて、ニューラルネットワークパラメータを更新することで、学習結果の識別器を与えるニューラルネットワークパラメータを出力する。例えば、ニューラルネットワーク更新部１０ｄは、参考文献１に記載されたパラメータ最適化方法を用いて、ニューラルネットワークパラメータを更新する。ニューラルネットワーク更新部１０ｄは、学習の反復回数が閾値に到達したか、あるいは学習の終了条件が満たされた場合に、その段階で最適化して更新されたニューラルネットワークパラメータを学習装置１の外部に出力する。
【００２４】
ＮＧ指標値バッファ１０ｅには、ニューラルネットワークの学習反復の過程で得られた学習用データの要素ごとのＮＧ指標値が格納されている。図７は、ＮＧ指標値バッファ１０ｅの内容の一例を示す図である。ＮＧ指標値バッファ１０ｅには、学習用データの要素のデータＩＤと、この要素のＮＧ指標値のうち、ニューラルネットワーク管理部１０ｃによって算出された時点のＮＧ指標値が設定される。
【００２５】
履歴バッファ１１ａには、学習の反復回数およびこれに対応するＮＧ指標値が、学習用データの要素ごとに格納されている。図８は、履歴バッファ１１ａの内容の一例を示す図である。履歴バッファ１１ａには、学習反復回数が１回、１００回および２００回であるときのＮＧ指標値が設定されている。例えば、データＩＤがＤ０００１の要素では、学習反復回数が１回であるときに得られたＮＧ指標値が０．５５であり、学習反復回数が１００回であるときに得られたＮＧ指標値が０．３５であり、学習反復回数が２００回であるときに得られたＮＧ指標値が０．１２である。
【００２６】
ＮＧ候補バッファ１１ｂには、学習反復回数、ＮＧ候補レベル、ＯＫ確定フラグおよびＮＧ確定フラグが学習用データの要素ごとに格納されている。図９は、ＮＧ候補バッファ１１ｂの内容の一例を示す図である。ＮＧ候補バッファ１１ｂには、図９に示すように、学習用データの要素のデータＩＤ、ＮＧ候補レベル、ＯＫ確定フラグおよびＮＧ確定フラグが設定される。ＮＧ候補レベルは、ＮＧ指標値が過去にとった値に応じて変化する。
ＮＧ候補は、学習基準ラベルでＮＧラベルが割り当てられた要素であり、ＮＧ候補レベルは、ＮＧ候補の要素に対応するＮＧ指標値に応じたレベルとなる。
【００２７】
ＯＫ確定フラグは、要素がＯＫに確定されたことを示すフラグである。例えば、ＯＫ確定フラグに値０が設定されていれば、このＯＫ確定フラグに対応する要素がＯＫに確定されていないことを示しており、値１が設定された場合、このＯＫ確定フラグに対応する要素がＯＫに確定されたことを示している。一方、ＮＧ確定フラグは、要素がＮＧに確定されたことを示すフラグである。例えば、ＮＧ確定フラグに値０が設定されていれば、このＮＧ確定フラグに対応する要素がＮＧに確定されていないことを示しており、値１が設定された場合、このＮＧ確定フラグに対応する要素がＮＧに確定されたことを示している。
【００２８】
履歴管理部１１ｃは、学習の反復ごとに得られた学習用データの要素ごとのＮＧ指標値を履歴バッファ１１ａに格納する。例えば、履歴管理部１１ｃは、ＮＧ指標値バッファ１０ｅに格納されたＮＧ指標値を、その時点での学習反復回数とともに履歴バッファ１１ａに格納する。これにより、履歴バッファ１１ａには、事前に設定された学習反復回数（図８の例では１回、１００回、２００回）で得られたＮＧ指標値が格納される。
【００２９】
検定部１１ｄは、履歴バッファ１１ａに格納されたＮＧ指標値の変化傾向を統計的に検定し、この統計的検定結果に基づいて、ＮＧ候補バッファ１１ｂの内容を学習用データの要素ごとに更新する。例えば、検定部１１ｄは、履歴バッファ１１ａから、処理対象の要素に対応する、学習反復回数の推移ごとのＮＧ指標値の時系列を抽出する。次に、検定部１１ｄは、履歴バッファ１１ａから抽出したＮＧ指標値の時系列を統計的に検定して、ＮＧ指標値の変化傾向を確認する。
【００３０】
検定部１１ｄは、ＮＧ指標値の時系列について無規則性の検体を行う。無規則性の検定によってＮＧ指標値の変化に規則性がないと確認された場合、検定部１１ｄは、この要素をＮＧ候補のままとする。規則性があると確認された場合、検定部１１ｄは、ＮＧ指標値の時系列について傾向性の検定を行う。傾向性の検定によってＮＧ指標値が上昇傾向であると確認されると、検定部１１ｄは、この要素をＮＧ候補のままとする。
【００３１】
検定部１１ｄは、ＮＧ指標値の時系列に規則性があり、かつ上昇傾向が確認されると、この要素をＮＧ確定と判断して、ＮＧ候補バッファ１１ｂにおける、この要素に対応するＮＧ確定フラグに値１を設定する。一方、検定部１１ｄは、ＮＧ指標値の時系列に規則性があり、かつ下降傾向が確認されると、この要素をＯＫ確定と判断して、ＮＧ候補バッファ１１ｂにおける、この要素に対応するＯＫ確定フラグに値１を設定する。
無規則性の検定および傾向性の検定の方法として、下記の参考文献２に記載された検定方法を使用してもよい。
（参考文献２）武藤眞介著，“統計解析ハンドブック”，  朝倉書店，  ｐｐ．  ３９８−３９９，  ４０２−４０３．
【００３２】
学習基準ラベル更新部１１ｅは、検定部１１ｄによってＯＫに確定された学習用データの要素の学習基準ラベルを、ＮＧラベルからＯＫラベルに更新する。例えば、学習基準ラベル更新部１１ｅは、学習用データの要素が検定部１１ｄによってＯＫ確定された場合、この要素に対応する学習基準ラベルにおけるＯＫフラグに値１を設定し、ＮＧフラグに値０を設定する。
【００３３】
学習装置１における学習部１０および動的更新部１１の機能は、処理回路によって実現される。すなわち、学習装置１は、後述する図１１におけるステップＳＴ１からステップＳＴ５までの処理を実行するための処理回路を備えている。この処理回路は、専用のハードウェアであってもよいが、メモリに記憶されたプログラムを実行するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）であってもよい。
【００３４】
図１０Ａは、学習装置１の機能を実現するハードウェア構成を示すブロック図である。図１０Ｂは、学習装置１の機能を実現するソフトウェアを実行するハードウェア構成を示すブロック図である。図１０Ａおよび図１０Ｂにおいて、情報入力インタフェース１００は、図示しない外部装置から、図１および図２に示した学習装置１への情報の入力を中継するインタフェースである。例えば、図２に示したニューラルネットワーク管理部１０ｃは、情報入力インタフェース１００を介して、ニューラルネットワーク初期パラメータを外部装置から入力する。外部装置は、学習装置１とは独立して設けられた記憶装置であってもよい。例えば、学習装置１は、クラウド上に存在する記憶装置を利用してもよい。
【００３５】
ＤＢ入出力インタフェース１０１は、学習装置１とデータベース１０２との間のデータのやり取りを中継するインタフェースである。データベース１０２は、図１および図２に示した学習用データＤＢ２およびＮＧ判定グループＤＢ３である。例えば、学習部１０が備える学習基準ラベル生成部１０ｂは、ＤＢ入出力インタフェース１０１を介して、学習用データＤＢ２およびＮＧ判定グループＤＢ３からデータを入力する。なお、データベース１０２は、学習装置１とは独立して設けられた記憶装置に構築されてもよい。例えば、学習装置１は、ＤＢ入出力インタフェース１０１を介して、クラウドに存在する記憶装置に構築されたデータベース１０２からデータを入力する。
【００３６】
図２に示した学習基準ラベルバッファ１０ａ、ＮＧ指標値バッファ１０ｅ、履歴バッファ１１ａおよびＮＧ候補バッファ１１ｂは、図１０Ａに示す処理回路１０４に内蔵されたメモリに構築されるか、あるいは、図１０Ｂに示すメモリ１０６に構築される。情報出力インタフェース１０３は、学習装置１から図示しない外部装置への情報の出力を中継するインタフェースである。例えば、図２に示したニューラルネットワーク更新部１０ｄは、情報出力インタフェース１０３を介して、ニューラルネットワークパラメータを外部装置へ出力する。外部装置は、例えば、ニューラルネットワークパラメータが与える識別器を利用する異常検知装置が挙げられる。
【００３７】
上記処理回路が図１０Ａに示す専用のハードウェアの処理回路１０４である場合、処理回路１０４は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）、または、これらを組み合わせたものが該当する。学習装置１における学習部１０および動的更新部１１の機能を別々の処理回路で実現してもよく、これらの機能をまとめて１つの処理回路で実現してもよい。
【００３８】
上記処理回路が図１０Ｂに示すプロセッサ１０５である場合、学習装置１における学習部１０および動的更新部１１の機能は、ソフトウェア、ファームウェアまたはソフトウェアとファームウェアとの組み合わせによって実現される。なお、ソフトウェアまたはファームウェアは、プログラムとして記述されてメモリ１０６に記憶される。
【００３９】
プロセッサ１０５は、メモリ１０６に記憶されたプログラムを読み出して実行することにより、学習装置１における学習部１０および動的更新部１１の機能を実現する。
すなわち、学習装置１は、プロセッサ１０５によって実行されるときに、図１１に示すステップＳＴ１からステップＳＴ５までの処理が結果的に実行されるプログラムを記憶するためのメモリ１０６を備える。これらのプログラムは、学習部１０および動的更新部１１の手順または方法をコンピュータに実行させる。メモリ１０６は、コンピュータを、学習部１０および動的更新部１１として機能させるためのプログラムが記憶されたコンピュータ可読記憶媒体であってもよい。
【００４０】
メモリ１０６には、例えば、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、フラッシュメモリ、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ−ＥＰＲＯＭ）などの不揮発性または揮発性の半導体メモリ、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤなどが該当する。
【００４１】
学習部１０および動的更新部１１の機能について一部を専用のハードウェアで実現し、一部をソフトウェアまたはファームウェアで実現してもよい。例えば、学習部１０は、専用のハードウェアである処理回路で機能を実現し、動的更新部１１は、プロセッサ１０５がメモリ１０６に記憶されたプログラムを読み出して実行することによって機能を実現する。このように、処理回路は、ハードウェア、ソフトウェア、ファームウェアまたはこれらの組み合わせにより上記機能を実現することができる。
【００４２】
次に動作について説明する。
図１１は、実施の形態１に係る学習方法を示すフローチャートである。
ステップＳＴ１において、学習基準ラベル生成部１０ｂが、学習用データの複数の要素のうち、ＮＧ判定グループに属する要素に対応するＯＫフラグに値０を設定し、ＮＧフラグに値１を設定することにより、学習用データの要素ごとの学習基準ラベルを生成する。また、ニューラルネットワーク管理部１０ｃは、ニューラルネットワーク初期パラメータを用いて、初期状態のニューラルネットワークを構築する。
【００４３】
ステップＳＴ２において、ニューラルネットワーク管理部１０ｃは、ニューラルネットワークに学習用データの要素を入力し、ニューラルネットワークの出力結果に基づいて、要素ごとのＮＧ指標値を算出する。次に、ニューラルネットワーク管理部１０ｃは、ＮＧ指標値に基づいて、対象の要素がＯＫクラスおよびＮＧクラスのいずれに属するかを判定する。続いて、ニューラルネットワーク管理部１０ｃは、対象の要素に対応する学習基準ラベルの初期値および動的更新部１１によって更新された学習基準ラベルと、判定したクラスとを、誤差関数を用いて誤差評価する。誤差関数には、参考文献１に記載された関数を用いてもよい。また、履歴管理部１１ｃは、学習が反復するたびに得られたＮＧ指標値を履歴バッファ１１ａに格納する。
【００４４】
ステップＳＴ３において、検定部１１ｄは、履歴バッファ１１ａに格納されたＮＧ指標値の変化傾向を統計的に検定した結果に基づいて、ＮＧ候補の要素について、ＯＫまたはＮＧに確定すべきか評価する。学習基準ラベル更新部１１ｅは、検定部１１ｄによる評価結果に基づいて、学習基準ラベルを更新する。例えば、学習基準ラベル更新部１１ｅは、検定部１１ｄによってＯＫに確定された要素に対応する学習基準ラベルをＮＧラベルからＯＫラベルに更新する。
【００４５】
ステップＳＴ４において、ニューラルネットワーク更新部１０ｄは、ニューラルネットワーク管理部１０ｃにより得られたＮＧ指標値に基づいて、ニューラルネットワークパラメータを更新する。ステップＳＴ２からステップＳＴ４までの一連の学習処理は、学習用データを構成する複数の要素のそれぞれについて反復して行われる。
学習の反復が終了すると、ニューラルネットワーク更新部１０ｄは、前述した一連の学習で更新したニューラルネットワークパラメータを、学習結果として出力する（ステップＳＴ５）。
【００４６】
次に、学習基準ラベル生成処理について詳細に説明する。
図１２は、学習基準ラベル生成処理を示すフローチャートであって、学習基準ラベルの初期値を生成する処理を示している。
学習基準ラベル生成部１０ｂは、学習用データＤＢ２に登録されている学習用データの要素ごとのデータＩＤを順次読み出して以降の処理を実行する。
学習基準ラベル生成部１０ｂは、学習用データＤＢ２から読み出した要素のデータＩＤのうち、ＮＧ判定グループＤＢ３に登録されているＮＧ判定グループに属する要素のデータＩＤと同じデータＩＤがあるか否かを判定する（ステップＳＴ１ａ）。
【００４７】
対象の要素のデータＩＤがＮＧ判定グループに属する要素のデータＩＤと同じであると判定した場合（ステップＳＴ１ａ；ＹＥＳ）、学習基準ラベル生成部１０ｂは、対象の要素に対応するＯＫフラグに値０を設定し、ＮＧフラグには値１を設定する（ステップＳＴ２ａ）。一方、対象の要素のデータＩＤがＮＧ判定グループに属する要素のデータＩＤとは異なると判定した場合（ステップＳＴ１ａ；ＮＯ）、学習基準ラベル生成部１０ｂは、対象の要素に対応するＯＫフラグに値１を設定し、ＮＧフラグには値０を設定する（ステップＳＴ３ａ）。
【００４８】
学習基準ラベル生成部１０ｂは、対象の要素に対応するＯＫフラグおよびＮＧフラグに値を設定すると、対象の要素のデータＩＤとＯＫフラグおよびＮＧフラグの値とを、学習基準ラベルバッファ１０ａに格納する（ステップＳＴ４ａ）。
学習基準ラベル生成部１０ｂは、ステップＳＴ１ａからステップＳＴ４ａまでの一連の処理を、学習用データＤＢ２に登録されている学習用データの全ての要素について繰り返し実行する。この処理により学習基準ラベルの初期値が生成される。
【００４９】
次に、ニューラルネットワーク管理処理について詳細に説明する。
図１３は、ニューラルネットワーク管理処理を示すフローチャートであり、要素ごとのＮＧ指標値を算出する処理を示している。
初回処理において、ニューラルネットワーク管理部１０ｃは、ニューラルネットワーク初期パラメータに基づいて、初期状態のニューラルネットワークを構築する（ステップＳＴ１ｂ）。
【００５０】
次に、ニューラルネットワーク管理部１０ｃは、学習用データＤＢ２から読み出された学習用データの要素（データ値系列Ｄｉ）をニューラルネットワークに入力して、出力層で算出される出力値ｙ１＿ｉおよびｙ２＿ｉを得る（ステップＳＴ２ｂ）。出力値ｙ１＿ｉは、前述したように、要素がＯＫクラスに属する度合いを表し、出力値ｙ２＿ｉは、要素がＮＧクラスに属する度合いを表している。ニューラルネットワークに入力された要素（データ値系列Ｄｉ）は、ｙ１＿ｉ＞ｙ２＿ｉであるとき、ＯＫクラスに属すると判定され、ｙ１＿ｉ≦ｙ２＿ｉであるときに、ＮＧクラスに属すると判定される。ニューラルネットワーク管理部１０ｃは、判定したクラスと学習基準ラベルとを誤差評価する。
【００５１】
ステップＳＴ３ｂにおいて、ニューラルネットワーク管理部１０ｃは、ＮＧ指標値ＮＧＥｉとしてｙ２＿ｉ−ｙ１＿ｉを算出し、算出したＮＧ指標値ＮＧＥｉを、これに対応する要素のデータＩＤとともにＮＧ指標値バッファ１０ｅに格納する。
なお、ｙ２＿ｉ−ｙ１＿ｉをＮＧＥｉとしたが、ｙ１＿ｉおよびｙ２＿ｉの比率をＮＧＥｉとしてもよく、ｙ１＿ｉおよびｙ２＿ｉの分布を考慮した距離をＮＧＥｉとしてもよい。
ニューラルネットワーク管理部１０ｃは、ステップＳＴ２ｂからステップＳＴ３ｂまでの一連の処理を、学習用データＤＢ２に登録されている学習用データの全ての要素について繰り返し実行する。
【００５２】
次に、ＮＧ指標値の履歴管理処理について詳細に説明する。
図１４は、ＮＧ指標値の履歴管理処理を示すフローチャートである。
まず、履歴管理部１１ｃは、学習反復回数が一定数（例えば、１００）で割り切れるか否かを判定する（ステップＳＴ１ｃ）。学習反復回数は、図１１に示したステップＳＴ２からステップＳＴ４までの学習部１０による一連の処理が繰り返し行われる回数である。
【００５３】
学習反復回数が一定数で割り切れると判定した場合（ステップＳＴ１ｃ；ＹＥＳ）、履歴管理部１１ｃは、ＮＧ指標値バッファ１０ｅからデータＩＤおよびこれに対応する要素のＮＧ指標値の系列を抽出する（ステップＳＴ２ｃ）。
次に、履歴管理部１１ｃは、抽出したデータＩＤおよびＮＧ指標値の系列に対して現在の学習反復回数を追加して履歴バッファ１１ａに格納する（ステップＳＴ３ｃ）。
この後、履歴管理部１１ｃは図１４の処理を終了し、検定部１１ｄの処理に移行する。
【００５４】
一方、学習反復回数が一定数で割り切れないと判定した場合（ステップＳＴ１ｃ；ＮＯ）、履歴管理部１１ｃは図１４の処理を終了し、ニューラルネットワーク更新部１０ｄの処理に移行する。
【００５５】
次に、ＮＧ指標値の統計的検定処理について詳細に説明する。
図１５は、ＮＧ指標値の統計的検定処理を示すフローチャートである。
検定部１１ｄは、履歴バッファ１１ａから、第ｊ番目の要素（対象の要素）のデータＩＤに対応する、学習反復回数ごとのＮＧ指標値の系列Ｖｊを抽出し、抽出したＮＧ指標値の系列Ｖｊを、ＮＧ候補レベルの系列Ｌｊに換算する（ステップＳＴ１ｄ）。系列Ｌｊは、系列Ｖｊが過去にとった値の範囲を一定数で等分割した何番目の範囲に、現在のＮＧ指標値が属しているかによって決定される。
【００５６】
例えば、ＮＧ指標値の系列Ｖｊが過去にとった値の範囲を５分割した場合、図９に示すように、ＮＧ候補レベルの割り当てを、−２，−１，０，＋１，＋２とする。
ＮＧ候補レベル０は、ＮＧ指標値が過去にとった中間の範囲に対応する。ＮＧ候補レベル＋１は、中間の範囲よりもＮＧ指標値が大きい範囲に対応し、ＮＧ候補レベル＋２は、ＮＧ候補レベル＋１に対応する範囲よりもＮＧ指標値が大きい範囲に対応する。ＮＧ候補レベル−１は、中間の範囲よりもＮＧ指標値が小さい範囲に対応し、ＮＧ候補レベル−２は、ＮＧ候補レベル−１に対応する範囲よりもＮＧ指標値が小さい範囲に対応する。
なお、初回はＮＧ指標値が１つしかないため、系列Ｖｊが過去にとった値の範囲は０である。このときのＮＧ候補レベルを０とする。
【００５７】
検定部１１ｄは、対象の要素（ＮＧ候補）が属するＮＧ判定グループに属している要素のうち、対象の要素以外の全ての要素に対応するＯＫ確定フラグに値１が設定されているか否かを判定する（ステップＳＴ２ｄ）。このとき、いずれかの要素に対応するＯＫ確定フラグに値０が設定されていた場合（ステップＳＴ２ｄ；ＮＯ）、検定部１１ｄは、ＮＧ候補バッファ１１ｂを参照して、対象の要素に対応するＮＧ確定フラグとＯＫ確定フラグのいずれにも値０が設定されているか否かを判定する（ステップＳＴ３ｄ）。
【００５８】
ＮＧ確定フラグまたはＯＫ確定フラグに値１が設定されていた場合（ステップＳＴ３ｄ；ＮＯ）、検定部１１ｄは、ＮＧ候補バッファ１１ｂにおける、対象の要素に対応するデータを、現在の学習反復回数、対象の要素の現在のＮＧ候補レベル、対象の要素の現在のＯＫ確定フラグおよびＮＧ確定フラグの値で更新する（ステップＳＴ４ｄ）。
この後、検定部１１ｄは、履歴バッファ１１ａから、引き続き、第ｊ＋１番目の要素のデータＩＤに対応するＮＧ指標値の系列Ｖｊ＋１を抽出してステップＳＴ１ｄからの処理を繰り返す。
【００５９】
対象の要素が属するＮＧ判定グループに属している要素のうち、対象の要素以外の全ての要素に対応するＯＫ確定フラグに値１が設定されていた場合（ステップＳＴ２ｄ；ＹＥＳ）、検定部１１ｄは、対象の要素に対応するＮＧ確定フラグに設定すべき値を“１”に決定する（ステップＳＴ５ｄ）。この後、ステップＳＴ４ｄの処理に移行して、検定部１１ｄは、ＮＧ候補バッファ１１ｂにおける、対象の要素に対応するＮＧ確定フラグに値１を設定して更新する。
【００６０】
対象の要素に対応するＮＧ確定フラグとＯＫ確定フラグのいずれにも値０が設定されていた場合（ステップＳＴ３ｄ；ＹＥＳ）、検定部１１ｄは、ＮＧ候補レベルの系列Ｌｊに対して一定の信頼係数（例えば、０．９５）に基づいた無規則性の検定を行う（ステップＳＴ６ｄ）。検定部１１ｄは、ＮＧ候補レベルの系列Ｌｊに対する無規則性の検定結果に基づいて、ＮＧ候補レベルの系列Ｌｊに規則性があるか否かを判定する（ステップＳＴ７ｄ）。
【００６１】
ＮＧ候補レベルの系列Ｌｊに規則性が確認されず、学習が反復されるたびにＮＧ指標値の変化傾向がランダムに変化していると判定した場合（ステップＳＴ７ｄ；ＮＯ）、検定部１１ｄは、対象の要素をＯＫ確定せず、ＮＧ確定もしない。この後、ステップＳＴ４ｄの処理に移行する。
【００６２】
ＮＧ候補レベルの系列Ｌｊに規則性が確認されて学習が反復されるたびにＮＧ指標値の変化傾向が規則的であると判定した場合（ステップＳＴ７ｄ；ＹＥＳ）、検定部１１ｄは、ＮＧ候補レベルの系列Ｌｊに対して上昇方向の傾向性の検定を行う（ステップＳＴ８ｄ）。検定部１１ｄは、ＮＧ候補レベルの系列Ｌｊに対する傾向性の検定結果に基づいて、ＮＧ候補レベルの系列Ｌｊに上昇傾向があるか否かを判定する（ステップＳＴ９ｄ）。
【００６３】
ＮＧ候補レベルの系列Ｌｊに上昇傾向がある場合（ステップＳＴ９ｄ；ＹＥＳ）、検定部１１ｄは、学習が反復されるたびにＮＧ指標値が大きくなると判断して、ステップＳＴ５ｄの処理に移行する。これにより、対象の要素に対応するＮＧ確定フラグに設定すべき値が“１”に決定され、ＮＧが確定される。
【００６４】
一方、ＮＧ候補レベルの系列Ｌｊに上昇傾向が確認されなかった場合（ステップＳＴ９ｄ；ＮＯ）、検定部１１ｄは、ＮＧ候補レベルの系列Ｌｊに対して、下降方向の傾向性の検定を行う（ステップＳＴ１０ｄ）。検定部１１ｄは、ＮＧ候補レベルの系列Ｌｊに対する上記傾向性の検定結果に基づいて、ＮＧ候補レベルの系列Ｌｊに下降傾向があるか否かを判定する（ステップＳＴ１１ｄ）。
【００６５】
ＮＧ候補レベルの系列Ｌｊに下降傾向も確認されなかった場合（ステップＳＴ１１ｄ；ＮＯ）、検定部１１ｄは、ステップＳＴ４ｄの処理に移行し、系列Ｌｊの値を現在のＮＧ候補レベルに決定して、ＮＧ候補バッファ１１ｂに反映させる。
【００６６】
ＮＧ候補レベルの系列Ｌｊに下降傾向が確認された場合（ステップＳＴ１１ｄ；ＹＥＳ）、検定部１１ｄは、学習が反復されるたびにＮＧ指標値が小さくなると判断して、対象の要素に対応するＯＫ確定フラグに設定すべき値を“１”に決定する（ステップＳＴ１２ｄ）。この後、ステップＳＴ４ｄの処理に移行して、検定部１１ｄは、ＮＧ候補バッファ１１ｂにおける、対象の要素に対応するＯＫ確定フラグに値１を設定して更新する。
【００６７】
次に、学習基準ラベルの更新処理について詳細に説明する。
図１６は、学習基準ラベル更新処理を示すフローチャートである。
学習基準ラベル更新部１１ｅは、ＮＧ候補バッファ１１ｂから、ＯＫ確定フラグに値１が設定されている要素のデータＩＤを、重複のない系列Ｕとして抽出する（ステップＳＴ１ｅ）。系列Ｕには、ＯＫ確定フラグに値１が設定されている要素のデータＩＤが含まれている。
【００６８】
次に、学習基準ラベル更新部１１ｅは、学習基準ラベルバッファ１０ａのうち、系列Ｕに含まれるデータＩＤと同じデータＩＤのレコードを特定し、特定したレコードにおけるＯＫフラグが値１、ＮＧフラグが値０となるように学習基準ラベルを更新する（ステップＳＴ２ｅ）。この処理は、学習部１０によるニューラルネットワークの学習の途中で実行されるので、学習基準ラベルは動的に更新される。
【００６９】
次に、ニューラルネットワークパラメータの更新処理について詳細に説明する。
図１７は、ニューラルネットワークパラメータ更新処理を示すフローチャートである。
ニューラルネットワーク更新部１０ｄは、ＮＧ指標値バッファ１０ｅから、ニューラルネットワーク管理部１０ｃによって、現時点のニューラルネットワークパラメータで構築されたニューラルネットワークの出力結果から算出されたＮＧ指標値を抽出する。
【００７０】
ＮＧ指標値バッファ１０ｅから抽出したＮＧ指標値に基づいて、ニューラルネットワーク更新部１０ｄは、ニューラルネットワークパラメータを最適化する（ステップＳＴ１ｆ）。例えば、ニューラルネットワーク更新部１０ｄは、ＮＧ指標値バッファ１０ｅから抽出したＮＧ指標値に基づいて、参考文献１に記載された勾配降下最適法を用いて、現時点のニューラルネットワークパラメータを最適化する。この最適化は、学習を反復するたびに逐次的に行われる。
【００７１】
続いて、ニューラルネットワーク更新部１０ｄは、学習反復回数が既定値（例えば、１００００）以上になったか否かを判定する（ステップＳＴ２ｆ）。
学習反復回数が既定値未満である場合（ステップＳＴ２ｆ；ＮＯ）、ニューラルネットワーク更新部１０ｄは、図１７の処理を終了し、ニューラルネットワーク管理部１０ｃによる図１１のステップＳＴ２からの処理に移行する。
【００７２】
一方、学習反復回数が既定値以上であった場合（ステップＳＴ２ｆ；ＹＥＳ）、ニューラルネットワーク更新部１０ｄは、その時点でのニューラルネットワークパラメータを、学習結果として出力する（ステップＳＴ３ｆ）。学習結果のニューラルネットワークパラメータを用いて構築されたニューラルネットワークは、ＮＧ判定グループに属するデータの少なくとも一つをＮＧと判定する識別器として機能する。
【００７３】
次に、実施の形態１に係る学習装置１によって得られる識別器について説明する。
ここで、グループ（事例群）全体に対してＮＧと判定された履歴はあるが、グループ内のどの要素がＮＧであるかがわからない状況、例えば、３つのグループがあり、そのうちの２つのグループの全体に対してＮＧと判定され、残りの１つのグループの全体に対してＯＫと判定された状況を考える。ＮＧと判定されたグループの１つを、ＮＧ判定グループ（１）｛Ｅ１１（ＯＫ），Ｅ１２（ＮＧ），Ｅ１３（ＯＫ）｝とし、もう１つを、ＮＧ判定グループ（２）｛Ｅ２１（ＮＧ），Ｅ２２（ＯＫ），Ｅ２３（ＯＫ）｝とする。ＯＫと判定されたグループを、ＯＫ判定グループ（３）｛Ｅ３１（ＯＫ），Ｅ３２（ＯＫ），Ｅ３３（ＯＫ）｝とする。
【００７４】
ＮＧ判定グループ（１）は２番目の要素のみがＮＧであり、残りの要素はＯＫである。また、ＮＧ判定グループ（２）は１番目の要素のみがＮＧであり、残りの要素はＯＫである。ただし、これらのグループはＮＧの要素を含むため、グループ全体としてＮＧと判定されている。要素Ｅの（）内に要素単位のＯＫまたはＮＧを示したが、３つのグループが学習用データとして扱われる段階では、要素ごとのＯＫおよびＮＧは不明である。
【００７５】
識別器の学習段階では、グループ全体に対するＯＫまたはＮＧの判定結果のみが既知であるため、要素ごとにＯＫとＮＧとを識別する場合、Ｅ１１（ＯＫ）、Ｅ１２（ＮＧ）、Ｅ１３（ＯＫ）、Ｅ２１（ＮＧ）、Ｅ２２（ＯＫ）、Ｅ２３（ＯＫ）の６つの要素の全てがＮＧとみなされて学習される。すなわち、これらのうちの４つの要素は、本来はＯＫであるが、ＮＧとして誤って学習される。これにより、学習結果の識別器の識別精度は低下する。
【００７６】
例えば、グループ（４）｛Ｅ４１（ＯＫ），Ｅ４２（ＯＫ），Ｅ４３（ＯＫ）｝と、グループ（５）｛Ｅ５１（ＯＫ），Ｅ５２（ＯＫ），Ｅ５３（ＮＧ）｝とのＯＫおよびＮＧを判定する場合、従来の識別器では、本来はＯＫである要素がＮＧと誤って学習されるため、グループ（４）に属する要素のいずれかをＮＧと判定する可能性がある。グループ（４）に属する要素のいずれかがＮＧと判定されると、グループ（４）全体もＮＧと判定されてしまう。このように、従来の識別器は、要素単位の識別精度が低く、グループ単位の識別精度も低い。
【００７７】
これに対して、実施の形態１に係る学習装置１では、ＮＧ指標値の変化傾向を統計的に検定した結果に基づいて、要素ごとにＯＫラベルまたはＮＧラベルを割り当てた学習基準ラベルを更新する。これにより、学習部１０は、本来はＯＫである要素をＮＧと誤って学習することがほとんどなく、高精度の識別を行う識別器を学習することができる。
また、学習結果の識別器は、ＮＧ判定グループに属するデータの少なくとも一つをＮＧと判定するので、グループ（５）がＮＧ判定グループであれば、グループ（５）は適切にＮＧと判定され、グループ（４）はＯＫと判定される。
【００７８】
以上のように、実施の形態１に係る学習装置１は、学習部１０および動的更新部１１を備える。学習部１０は、学習基準ラベルを用いて、学習用データの複数の要素を入力としてニューラルネットワークを学習することにより、学習結果のニューラルネットワークを用いて、グループに属するデータの少なくとも一つをＮＧと判定する識別器を出力する。動的更新部１１は、学習部１０によるニューラルネットワークの学習の途中で学習基準ラベルを動的に更新する。この構成において、学習部１０は、学習基準ラベルの初期値から動的更新部１１によって更新された学習基準ラベルを逐次用いてニューラルネットワークを反復して学習し、学習の反復ごとのニューラルネットワークの出力値を用いて、学習用データの要素に対応するＮＧ指標値を算出する。動的更新部１１は、学習の反復回数の推移ごとに得られたＮＧ指標値の変化傾向を統計的に検定した結果に基づいて、学習基準ラベルを更新する。学習結果の識別器が、グループに属するデータの少なくとも一つをＮＧと判定するので、学習装置１は、高精度の識別を行う識別器を提供することができる。
【００７９】
なお、本発明は上記実施の形態に限定されるものではなく、本発明の範囲内において、実施の形態の任意の構成要素の変形もしくは実施の形態の任意の構成要素の省略が可能である。
【産業上の利用可能性】
【００８０】
この発明に係る学習装置は、高精度の識別を行う識別器を提供することができるので、例えば、異常検知システムに利用可能である。
【符号の説明】
【００８１】
１  学習装置、２  学習用データＤＢ、３  ＮＧ判定グループＤＢ、１０  学習部、１０ａ  学習基準ラベルバッファ、１０ｂ  学習基準ラベル生成部、１０ｃ  ニューラルネットワーク管理部、１０ｄ  ニューラルネットワーク更新部、１０ｅ  ＮＧ指標値バッファ、１１  動的更新部、１１ａ  履歴バッファ、１１ｂ  ＮＧ候補バッファ、１１ｃ  履歴管理部、１１ｄ  検定部、１１ｅ  学習基準ラベル更新部、１００  情報入力インタフェース、１０１  ＤＢ入出力インタフェース、１０２  データベース、１０３  情報出力インタフェース、１０４  処理回路、１０５  プロセッサ、１０６  メモリ。
【図１】
2019176087.tif 000003
【図２】
2019176087.tif 000004
【図３】
2019176087.tif 000005
【図４】
2019176087.tif 000006
【図５】
2019176087.tif 000007
【図６】
2019176087.tif 000008
【図７】
2019176087.tif 000009
【図８】
2019176087.tif 000010
【図９】
2019176087.tif 000011
【図１０】
2019176087.tif 000012
【図１１】
2019176087.tif 000013
【図１２】
2019176087.tif 000014
【図１３】
2019176087.tif 000015
【図１４】
2019176087.tif 000016
【図１５】
2019176087.tif 000017
【図１６】
2019176087.tif 000018
【図１７】
2019176087.tif 000019
【手続補正書】
【提出日】令和2年3月3日(2020.3.3)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００３０
【補正方法】変更
【補正の内容】
【００３０】
検定部１１ｄは、ＮＧ指標値の時系列について無規則性の検定を行う。無規則性の検定によってＮＧ指標値の変化に規則性がないと確認された場合、検定部１１ｄは、この要素をＮＧ候補のままとする。規則性があると確認された場合、検定部１１ｄは、ＮＧ指標値の時系列について傾向性の検定を行う。傾向性の検定によってＮＧ指標値が上昇傾向であると確認されると、検定部１１ｄは、この要素をＮＧ候補のままとする。
【手続補正２】
【補正対象書類名】図面
【補正対象項目名】図１０
【補正方法】変更
【補正の内容】
【図１０】
2019176087.tif 000020
【国際調査報告】
2019176087.tif 000021
2019176087.tif 000022