(57)【要約】【課題】アノテーションの誤りを検出することが可能な判別装置及び機械学習方法を提供すること。【解決手段】本発明の判別装置１は、ラベルが付与された複数の学習データから、学習に用いるサブ学習データセットと、検証に用いるサブ検証データセットを抽出するサブデータセット抽出部３４と、サブ学習データセットに基づいた教師あり学習を行い、前記対象物に係るデータからラベルを判別する学習済みモデルを生成する学習部１１０と、サブ検証データセットに含まれるそれぞれの学習データについて、学習済みモデルを用いた判別処理を行う判別部１２０と、判別処理の結果を学習データと関連付けて記録する検証結果記録部４０と、それぞれの学習データと関連付けて記録された判別処理の結果に基づいて、付与されたラベルが誤っている可能性がある学習データを検出する正誤検出部４２と、を備える。【選択図】図２
2020030692.tif 000002
【特許請求の範囲】
【請求項１】
アノテーションの誤りを検出する判別装置であって、
複数の学習データからなる学習データセットを記憶する学習データ記憶部と、
判別する対象物に係るデータを取得して学習データとして前記学習データ記憶部に記憶するデータ取得部と、
前記学習データに対してラベルを付与するラベル付与部と、
前記学習データ記憶部に記憶される学習データセットから、学習に用いるサブ学習データセットと、検証に用いるサブ検証データセットを抽出するサブデータセット抽出部と、
前記サブ学習データセットに基づいた教師あり学習を行い、前記対象物に係るデータからラベルを判別する学習済みモデルを生成する学習部と、
前記サブ検証データセットに含まれるそれぞれの学習データについて、前記学習済みモデルを用いた判別処理を行う判別部と、
前記判別部によるそれぞれの学習データに対する判別処理の結果を該学習データと関連付けて前記学習データ記憶部へと記録する判別結果記録部と、
前記学習データ記憶部にそれぞれの学習データと関連付けて記録された判別処理の結果に基づいて、前記ラベル付与部により付与されたラベルが誤っている可能性がある学習データを検出する正誤検出部と、
を備え、
前記サブデータセット抽出部によるサブ学習データセットとサブ検証データセットの抽出、前記学習部による学習済みモデルの生成及び前記判別部による判別処理は所定の回数だけ実行され、
前記正誤検出部は、前記判別部が所定の回数だけ実行した判別処理の結果に基づいて前記ラベル付与部により付与されたラベルが正しい確率を算出し、算出したラベルが正しい確率に基づいて前記ラベル付与部により付与されたラベルが誤っている可能性がある学習データを検出する、
を備えた判別装置。
【請求項２】
前記正誤検出部は、算出したラベルが正しい確率が、予め定めた閾値より低い学習データを作業者に提示する、
請求項１に記載の判別装置。
【請求項３】
前記学習データセットに含まれる学習データのラベルが正しい確率の統計的分布に基づいて、前記学習データセットの判別の困難さを判定する、
請求項１又は２に記載の判別装置。
【請求項４】
アノテーションの誤りを検出する機械学習方法において、
複数の学習データからなる学習データセットを記憶する学習データ記憶部と、
判別する対象物に係るデータを取得する第１ステップと、
前記第１ステップで取得された前記学習データに対してラベルを付与する第２ステップと、
前記第２ステップでラベルが付与された学習データのセットから、学習に用いるサブ学習データセットと、検証に用いるサブ検証データセットを抽出する第３ステップと、
前記サブ学習データセットに基づいた教師あり学習を行い、前記対象物に係るデータからラベルを判別する学習済みモデルを生成する第４ステップと、
前記サブ検証データセットに含まれるそれぞれの学習データについて、前記学習済みモデルを用いた判別処理を行う第５ステップと、
前記第５ステップでのそれぞれの学習データに対する判別処理の結果を該学習データと関連付けて記録する第６ステップと、
前記第６ステップでそれぞれの学習データと関連付けて記録された判別処理の結果に基づいて、付与されたラベルが誤っている可能性がある学習データを検出する第７ステップと、
を実行する機械学習方法であって、
前記第３〜５ステップは所定の回数だけ実行され、
前記第７ステップは、前記５ステップにおいて所定の回数だけ実行された判別処理の結果に基づいてそれぞれの学習データに付与されたラベルが正しい確率を算出し、算出したラベルが正しい確率に基づいて、付与されたラベルが誤っている可能性がある学習データを検出する、
機械学習方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、判別装置及び機械学習方法に関し、特にアノテーションの誤りを検出する判別装置及び機械学習方法に関する。
【背景技術】
【０００２】
従来、工場において製造された製品等の対象物の外観を撮像手段で撮像し、撮像した画像に基づいた製品の仕分け作業や、正常品とキズや欠け等がある欠陥品との分類を行なう外観検査等が行なわれている（例えば、特許文献１〜３等）。対象物の外観を撮像した画像に基づいて該対象物の外観検査を行う手法として、ディープニューラルネットワーク等の機械学習器を利用した機械学習が用いる手法がある。このような手法を取る場合、画像を用いた外観検査システムで学習を行う前段階として、画像に不良個所があるかどうかを示すラベルを、それぞれの画像データに関連付けるアノテーションと呼ぶ作業を行う。アノテーションは画像を１枚ずつ作業者が確認し、画像内の対象物に不良個所があるかどうかを目視で判断して行っている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−０２１７５６号公報
【特許文献２】特開２００５−０５２９２６号公報
【特許文献３】特開２０１３−１４００９０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
このように画像へのアノテーションは通常人間が手動で行うため、対象物に明らかな変形や傷等がある場合には適切に不良品のラベルを付与することができるが、対象物の特徴の位置や寸法（例えば、製品に空いている穴の位置や寸法等）といったような、良品と比較した際の微妙な違いについては見落としがちで、不整合なくアノテーションすることが困難である。また、人間のケアレスミスによって、明らかに対象物に不良がある場合であっても良品としてしまうことやその逆は容易に起こり得る。
【０００５】
このような人為的ミスによりアノテーションに矛盾が存在することで、的確に不良を判断できる学習器（学習済みモデル）の学習が行えなくなり、その結果、機械学習による検査結果の正解率が実用レベルに達しないということが起こる。人間がこのような間違いを正すためには、すべてのアノテーションを目視で再確認する必要があるが、これは非常に手間のかかる作業になる。このような問題は、画像による外観検査に用いられる機械学習器に特化したものではなく、人間がアノテーションすることで作成された学習データを用いた機械学習を行う場合に同様の問題が生じる。
【０００６】
そこで本発明の目的は、アノテーションの誤りを検出することが可能な判別装置及び機械学習方法を提供することである。
【課題を解決するための手段】
【０００７】
本発明は、学習データのセットから抽出される学習データと検証データとに基づくラベルの判別処理を繰り返し行い、その判別結果について統計的な処理を施すことで、誤っている可能性が高いアノテーションを検知し、これを作業者に提示して是正させる。この手法により、アノテーションの精度を向上させることで機械学習器をより的確に学習させることを可能とし、このような学習により生成した学習済みモデルを用いることで対象物の判別の精度を向上させる。
【０００８】
より具体的には、以下の手順によりアノテーションの誤りを検出する。
手順１）学習データセットからあらかじめ決められた数または割合だけ、学習データを選び出す。選び出す方法はランダムに選び出す等、偏りが起きにくい方法が望ましい。
手順２）手順１で選出された学習データの集合をサブ学習データセットとする。
手順３）手順１で選出されなかった残りの学習データの集合をサブ検証データセットとする。
手順４）サブ学習データセットを使って通常の学習と同じように学習器の学習を行う。
手順５）手順４で生成された学習器を使ってサブ検証データセットに対して判別を行う。
手順６）判別が行われた各学習データについて、その学習データの判別回数を１増やすと共に、判別結果がアノテーションと一致していたらその学習データの正解回数を１増やす。
手順７）手順１での選び方を変えながら、手順１〜６をあらかじめ決められた回数だけ行う。
手順８）各学習データについて、正解回数を判別回数で割った値をその学習データのアノテーションが正しい確率として算出する。
手順９）手順８で算出した各学習データの確率があらかじめ定めた閾値より低い学習データを、アノテーションが誤っている可能性がある学習データとしてユーザに提示し、アノテーションが正しいか再確認、必要があれば修正することを促す。
手順１０）アノテーションの誤りを修正したのちに、全ての学習データセットを用いて学習を行う。
【０００９】
そして、本発明の一態様は、アノテーションの誤りを検出する判別装置であって、複数の学習データからなる学習データセットを記憶する学習データ記憶部と、判別する対象物に係るデータを取得して学習データとして前記学習データ記憶部に記憶するデータ取得部と、前記学習データに対してラベルを付与するラベル付与部と、前記学習データ記憶部に記憶される学習データセットから、学習に用いるサブ学習データセットと、検証に用いるサブ検証データセットを抽出するサブデータセット抽出部と、前記サブ学習データセットに基づいた教師あり学習を行い、前記対象物に係るデータからラベルを判別する学習済みモデルを生成する学習部と、前記サブ検証データセットに含まれるそれぞれの学習データについて、前記学習済みモデルを用いた判別処理を行う判別部と、前記判別部によるそれぞれの学習データに対する判別処理の結果を該学習データと関連付けて前記学習データ記憶部へと記録する検証結果記録部と、前記学習データ記憶部にそれぞれの学習データと関連付けて記録された判別処理の結果に基づいて、前記ラベル付与部により付与されたラベルが誤っている可能性がある学習データを検出する正誤検出部と、を備え、前記サブデータセット抽出部によるサブ学習データセットとサブ検証データセットの抽出、前記学習部による学習済みモデルの生成及び前記判別部による判別処理は所定の回数だけ実行され、前記正誤検出部は、前記判別部が所定の回数だけ実行した判別処理の結果に基づいて前記ラベル付与部により付与されたラベルが正しい確率を算出し、算出したラベルが正しい確率に基づいて前記ラベル付与部により付与されたラベルが誤っている可能性がある学習データを検出する、を備えた判別装置である。
【００１０】
本発明の他の態様は、アノテーションの誤りを検出する機械学習方法において、複数の学習データからなる学習データセットを記憶する学習データ記憶部と、判別する対象物に係るデータを取得する第１ステップと、前記第１ステップで取得された前記学習データに対してラベルを付与する第２ステップと、前記第２ステップでラベルが付与された学習データのセットから、学習に用いるサブ学習データセットと、検証に用いるサブ検証データセットを抽出する第３ステップと、前記サブ学習データセットに基づいた教師あり学習を行い、前記対象物に係るデータからラベルを判別する学習済みモデルを生成する第４ステップと、前記サブ検証データセットに含まれるそれぞれの学習データについて、前記学習済みモデルを用いた判別処理を行う第５ステップと、前記第５ステップでのそれぞれの学習データに対する判別処理の結果を該学習データと関連付けて記録する第６ステップと、前記第６ステップでそれぞれの学習データと関連付けて記録された判別処理の結果に基づいて、付与されたラベルが誤っている可能性がある学習データを検出する第７ステップと、を実行する機械学習方法であって、前記第３〜５ステップは所定の回数だけ実行され、前記第７ステップは、前記５ステップにおいて所定の回数だけ実行された判別処理の結果に基づいてそれぞれの学習データに付与されたラベルが正しい確率を算出し、算出したラベルが正しい確率に基づいて、付与されたラベルが誤っている可能性がある学習データを検出する、機械学習方法である。
【発明の効果】
【００１１】
本発明により、作業者が手作業で行った対象物に係るデータに対するアノテーション（ラベルの付与）について、誤っている可能性があるラベルを自動的に検出することができるようになり、このようにして誤りを検出したラベルを修正することで、正しい学習データに基づいた学習済みモデルを生成することが可能となる。
【図面の簡単な説明】
【００１２】
【図１】一実施形態による機械学習装置を備えた判別装置の要部を示す概略的なハードウェア構成図である。
【図２】一実施形態による判別装置の概略的な機能ブロック図である。
【図３】学習データ記憶部に記憶される学習データセットを例示する図である。
【図４】一実施形態による判別装置上で実行される処理の概略的なフローチャートである。
【発明を実施するための形態】
【００１３】
以下、本発明の実施形態を図面と共に説明する。
図１は第１の実施形態による機械学習装置を備えた判別装置の要部を示す概略的なハードウェア構成図である。本実施形態では、アノテーションの間違いを検知する機械学習方法を、外観検査に用いられる判別装置上に実装した場合の例を用いて説明する。
【００１４】
図１は本発明の一実施形態による判別装置の要部を示す概略的なハードウェア構成図である。本実施形態の判別装置１は、工場に設置されているパソコンや、工場に設置される機械を管理するセルコンピュータ、ホストコンピュータ、エッジコンピュータ、クラウドサーバ等のコンピュータとして実装することが出来る。図１は、工場に設置されているパソコンとして判別装置１を実装した場合の例を示している。
【００１５】
本実施形態による判別装置１が備えるＣＰＵ１１は、判別装置１を全体的に制御するプロセッサである。ＣＰＵ１１は、ＲＯＭ１２に格納されたシステム・プログラムをバス２０を介して読み出し、該システム・プログラムに従って判別装置１全体を制御する。ＲＡＭ１３には一時的な計算データ、入力装置７１を介して作業者が入力した各種データ等が一時的に格納される。
【００１６】
不揮発性メモリ１４は、例えば図示しないバッテリでバックアップされたメモリやＳＳＤ等で構成され、判別装置１の電源がオフされても記憶状態が保持される。不揮発性メモリ１４には、判別装置１の動作に係る設定情報が格納される設定領域や、入力装置７１から入力されたプログラムやデータ等、図示しない外部記憶装置やネットワークを介して読み込まれた学習データセット等が記憶される。不揮発性メモリ１４に記憶されたプログラムや各種データは、実行時／利用時にはＲＡＭ１３に展開されても良い。また、ＲＯＭ１２には、学習データセットを解析するための公知の解析プログラムや後述する機械学習装置１００とのやりとりを制御するためのシステム・プログラムなどを含むシステム・プログラムがあらかじめ書き込まれている。
【００１７】
撮像装置４は、例えばＣＣＤ等の撮像素子を有する電子カメラであり、撮像により２次元画像を撮像面（ＣＣＤアレイ面上）で検出する機能を持つ周知の受光デバイスである。撮像装置４は、例えば図示しないロボットのハンドに取り付けられ、該ロボットにより判別対象となる対象物を撮像する撮像位置に移動され、該対象物を撮像して得られた画像データをインタフェース１９を介してＣＰＵ１１に渡す。撮像装置４による対象物撮像に係る制御は、判別装置１がプログラムを実行することにより行うようにしてもよいし、ロボットを制御するロボットコントローラや、他の装置からの制御により行うようにしても良い。
【００１８】
表示装置７０には、メモリ上に読み込まれた各データ、プログラム等が実行された結果として得られたデータ、撮像装置４が撮像して得られた対象物の画像データ、後述する機械学習装置１００から出力されたデータ等がインタフェース１７を介して出力されて表示される。また、キーボードやポインティングデバイス等から構成される入力装置７１は、作業者による操作に基づく指令，データ等を受けて、インタフェース１８を介してＣＰＵ１１に渡す。
【００１９】
インタフェース２１は、判別装置１と機械学習装置１００とを接続するためのインタフェースである。機械学習装置１００は、機械学習装置１００全体を統御するプロセッサ１０１と、システム・プログラム等を記憶したＲＯＭ１０２、機械学習に係る各処理における一時的な記憶を行うためのＲＡＭ１０３、及び学習モデル等の記憶に用いられる不揮発性メモリ１０４を備える。機械学習装置１００は、インタフェース２１を介して判別装置１で取得可能な各情報（例えば、学習データセット等）を観測することができる。また、判別装置１は、機械学習装置１００から出力される処理結果をインタフェース２１を介して取得する。
【００２０】
図２は、第１の実施形態による判別装置１と機械学習装置１００の概略的な機能ブロック図である。図２に示した各機能ブロックは、図１に示した判別装置１が備えるＣＰＵ１１、及び機械学習装置１００のプロセッサ１０１が、それぞれのシステム・プログラムを実行し、判別装置１及び機械学習装置１００の各部の動作を制御することにより実現される。
【００２１】
本実施形態の判別装置１は、データ取得部３０、ラベル付与部３２、サブデータセット抽出部３４、検証結果記録部４０、正誤検出部４２を備え、また、判別装置１が備える機械学習装置１００は、学習部１１０、判別部１２０を備える。
【００２２】
データ取得部３０は、撮像装置４や、図示しない外部記憶装置やネットワークを介して、判別する対象物に係るデータを取得する。本実施形態では、判別する対象物は外観検査を行う製品等であるから、データ取得部３０が取得する対象物に係るデータは画像データとなる。この時、データ取得部３０は、取得したデータを判別装置１の内部で扱うデータ形式へと前処理するようにしても良く、例えば、本実施形態のように対象物に係るデータが画像である場合には、特開２０１７−０９１０７９号公報等により公知となっている画像処理手法により、画像データ内の対象物の位置や姿勢を検出し、検出した位置、姿勢で予め定められた領域の部分画像を切り抜く、といった処理をするようにしても良い。データ取得部３０が取得した対象物に係るデータは、不揮発性メモリ１４内に記憶領域として確保された学習データ記憶部５０に学習データとして記憶される。なお、学習データ記憶部５０に記憶されるそれぞれの学習データについて判別回数／正解回数を関連付けて記憶するようにしておき、データ取得部３０により学習データ記憶部５０に記憶された段階で、該学習データに関する判別回数／正解回数を０にリセットしておく。
【００２３】
ラベル付与部３２は、データ取得部３０が取得して学習データ記憶部５０に記憶した学習データ（対象物に係るデータ）に対してラベルを付与（アノテーション）し、付与したラベルを該学習データと関連付けて学習データ記憶部５０に記憶する機能手段である。ラベル付与部３２は、例えば学習データ記憶部５０に記憶されている学習データを表示装置７０に表示させ、これを見た作業者が入力装置７１を操作して各学習データに対して付与したラベルを学習データと関連付けて学習データ記憶部５０に記憶する。ラベル付与部３２は、例えば対象物に係るデータの判別を自動で行う数理的アルゴリズムに基づいて算出された判別値が予め定めた所定の第１の閾値以上であれば良品、予め定めた所定の第２の閾値以下であれば不良品と自動的にラベルを付与するようにし、その結果を表示装置７０に表示して作業者に確認乃至修正をさせるようにしても良い。ラベル付与部３２が付与するラベルは、例えば外観検査において対象物が良品であるか不良品であるかを判別する場合には良品／不良品という２つのラベルを用いればよいが、その他にも判別装置１による判別の目的に応じて、例えば３つ以上のラベル（大／中／小、種類Ａ／種類Ｂ／…、等）を付与するようにしても良い。
【００２４】
サブデータセット抽出部３４は、学習データ記憶部５０に記憶された複数の学習データの中から、予め定めた所定の数又は所定の割合の学習データをサブ学習データセットとして抽出し、その他の学習データをサブ検証データセットとして抽出する機能手段である。サブデータセット抽出部３４が抽出するそれぞれのサブデータセットは、偏りが起きにくいように抽出することが望ましく、例えば学習データ記憶部５０に記憶されている学習データの中からサブ学習データセットとしての学習データをランダムに抽出したり、系統抽出法等の統計的な標本抽出法を用いるようにしたりしても良い。また、サブデータセット抽出部３４は、後述する判別回数が少ない学習データは、優先してサブ検証データセットとして抽出するようにしても良い。
【００２５】
学習部１１０は、サブデータセット抽出部３４が抽出したサブ学習データセットを用いた教師あり学習を行い、対象物に係るデータから判別結果（ラベル）を推定するために用いられる学習済みモデルを生成する（学習する）機能手段である。本実施形態の学習部１１０は、例えばニューラルネットワークを学習モデルとして用い、サブデータセット抽出部３４が抽出したサブ学習データセットに含まれるそれぞれの学習データの対象物に係るデータを入力データ、該学習データに付与されているラベルを出力データとした教師あり学習を行うように構成しても良い。この様に構成する場合、学習モデルとしては入力層、中間層、出力層の三層を備えたニューラルネットワークを用いても良いが、三層以上の層を為すニューラルネットワークを用いた、いわゆるディープラーニングの手法を用いることで、より効果的な学習及び推論を行うように構成することも可能である。本実施形態による学習部１１０による学習においては、例えば学習モデルに対して画像データの各画素値を入力して一致度を算出し、算出した一致度と付与されているラベルとの誤差を学習モデルに対して逆伝播し、学習モデルのパラメータを更新する手法（誤差逆伝播法）等を取ることができる。また、学習部１１０はＳＶＭや他の学習モデルを用いた機械学習を行うように構成してもよく、判別装置１が判別する対象物に係るデータの特性等を考慮して適切な学習モデルを選択すると良い。学習部１１０が生成した学習済みモデルは、不揮発性メモリ１０４上に設けられた学習モデル記憶部１３０に記憶され、判別部１２０によるサブ検証データセットに基づく推定処理に用いられる。
【００２６】
判別部１２０は、サブデータセット抽出部３４が抽出したサブ検証データセットに含まれるそれぞれの学習データについて、学習部１１０が生成した学習済みモデルを用いた判別（判別結果の推定）を行う機能手段である。判別部１２０は、サブ検証データセットに含まれるそれぞれの学習データについて、該学習データの対象物に係るデータを学習モデル記憶部１３０に記憶されている学習済みモデルに対する入力として判別処理を行い、その結果としての判別結果を検証結果記録部４０に出力する。
【００２７】
検証結果記録部４０は、サブ検証データセットに含まれる学習データであって、判別部１２０により判別が行われた各学習データについて、判別の結果を学習データ記憶部５０に該学習データと関連付けて記憶する機能手段である。検証結果記録部４０は、判別部１２０により判別が行われた学習データの判別回数を１増加させ、また、判別部１２０による判別結果がラベル付与部３２により該学習データに付与されたラベルと一致していた場合に、その学習データの正解回数を１増加させる。
【００２８】
前記した、サブデータセット抽出部３４によるサブ学習データセット及びサブ検証データセットの抽出処理、学習部１１０によるサブ学習データセットを用いた学習済みモデルの生成処理、判別部１２０によるサブ検証データセットに対する判別処理、及び検証結果記録部４０による判別部１２０の判別結果の記録処理は、所定の回数だけ繰り返し行われる。この繰り返し回数は、学習データ記憶部５０に記憶された学習データの数に基づいて決定するようにしても良い。また、学習データ記憶部５０に記憶されるすべての学習データについて、検証結果記録部４０が記録する判別回数が、予め所定の回数以上となるまで、この繰り返し処理が繰り返されるようにしても良い。
各繰り返しの回において、サブデータセット抽出部３４が抽出するサブ学習データセット及びサブ検証データセットは、毎回異なるデータセットとなることに留意されたい。このようにして、様々なサブデータセットの組み合わせの元で、学習部１１０による学習と、判別部１２０による判別が行われ、結果として各学習データについて、複数回の判別処理が行われた上で、検証結果記録部４０により、それぞれの学習データの判別回数及び正解回数が記録されることとなる。
【００２９】
正誤検出部４２は、学習データ記憶部５０に記憶されたそれぞれの学習データについて、正解回数を判別回数で割った値をその学習データに付与されたラベル（アノテーション）が正しい確率として算出する。正誤検出部４２は、ラベルが正しい確率が予め定めた所定の閾値より低い学習データについて、該学習データに付与されているラベルが誤っている可能性があるとして表示装置７０に表示し、作業者に対してラベルが正しいか否か再確認させ、必要に応じて入力装置７１を操作してラベルの修正を行うよう促しても良い。正誤検出部が算出したラベルが正しい確率は、例えば図３に例示されるように、学習データと関連付けて学習データ記憶部５０に記憶するようにしても良い。
【００３０】
このような構成を備えた判別装置１では、取得した学習データに対して付与されるラベルについて、他の学習データに付与されたラベルとの関係性の元で、正しくない可能性があるラベルについて作業者に対して修正を促すことができる。そして、作業者により再確認され、正しいラベル付けが為されたと推定される学習データのセットを用いて、改めて学習部１１０による学習済みモデルの生成を行う。このようにして生成された学習済みモデルは正しいアノテーションに基づいて生成されたものであるため、該学習済みモデルを用いて高い精度で対象物の判別を行えることが見込まれる。
【００３１】
図４は、本実施形態による判別装置１によるアノテーションの誤りを検出する処理の概略的なフローチャートである。
●［ステップＳＡ０１］データ取得部３０が、対象物に係るデータを取得し、学習データとして学習データ記憶部５０に記憶する。
●［ステップＳＡ０２］ラベル付与部３２が、ステップＳＡ０１で取得した対象物に係るデータに対して作業者の操作等に基づいてアノテーション（ラベル付け）を行い、学習データと関連付けて学習データ記憶部５０に記憶する。
●［ステップＳＡ０３］対象物に係るデータがまだあるか否かを判定する。対象物に係るデータがまだある場合には、ステップＳＡ０１へ処理を移行し、対象物に係るデータがない場合には、ステップＳＡ０４に処理を移行する。
【００３２】
●［ステップＳＡ０４］サブデータセット抽出部３４は、学習データ記憶部５０に記憶された学習データのセットの中から、サブ学習データセット及びサブ検証データセットを抽出する。
●［ステップＳＡ０５］学習部１１０は、ステップＳＡ０４で抽出されたサブ学習データセットを用いた教師あり学習を行い、学習済みモデルを生成する。
●［ステップＳＡ０６］判別部１２０は、ステップＳＡ０４で抽出されたサブ検証データセットに含まれるそれぞれの学習データについて、ステップＳＡ０５で構築された学習済みモデルを用いた判別処理を行う。
●［ステップＳＡ０７］検証結果記録部４０は、ステップＳＡ０６での判別結果を、各学習データの判定回数／正解回数として学習データと関連付けて学習データ記憶部５０に記録する。
●［ステップＳＡ０８］ステップＳＡ０４〜ＳＡ０７が所定回数繰り返されたか否かを判定する。所定回数繰り返された場合は、ステップＳＡ０９へ処理を移行し、所定回数繰り返されていない場合は、ステップＳＡ０４へ処理を移行する。
【００３３】
●［ステップＳＡ０９］正誤検出部４２は、学習データ記憶部５０に記憶された学習データの判定回数／正解回数に基づいてそれぞれの学習データに付与されているラベルの正解の確率を算出し、算出したラベルが正解の確率に基づいて誤ったラベルが付与されている可能性がある学習データを抽出し、表示装置７０へ表示する。
●［ステップＳＡ１０］ラベル付与部３２は、作業者の操作に基づいて学習データに付与されているラベルを修正する。
【００３４】
本実施形態の判別装置１の一変形例として、正誤検出部４２が算出したそれぞれの学習データに付与されたラベルが正しい確率に基づいて、与えられている学習データ又は学習／判別に用いている学習モデルでは正しくラベルを判別することが難しいこと、即ち学習データセットの判別の困難さを判断し、その旨を表示装置７０に表示するように構成しても良い。正誤検出部４２は、例えば学習データ記憶部５０に記憶されている学習データのセット全体の付与されたラベルが正しい確率について統計的な処理を施し、学習データセットに付与されたラベルが正しい確率の平均が著しく低い場合や分散値が高い場合等、統計的な分布に基づいて、与えられている学習データ又は学習／判別に用いている学習モデルでは正しくラベルを判別することが難しいこと、即ち学習データセットの判別の困難さを判断するようにしても良い。
【００３５】
本実施形態の判別装置１の他の変形例として、判別装置１が判別する対象物に付与されるラベルを、該対象物が属する分類（良品／不良品等の離散値）ではなく、座標値や角度、分量等の連続値や連続値の組とするようにしても良い。ラベルを連続値や連続値の組とした場合、学習部１１０により生成する学習済みモデルは対象物に係るデータを入力として連続値（数値）乃至連続値の組を出力するものとなり、判別部１２０は連続値（数値）乃至連続値の組を推定結果として出力するようになる。
この時、学習データに付与されたラベルが正解かどうかを、学習データに付与されたラベルと判別部１２０が出力するラベルの推定値との距離と所定の閾値と比較することで決定することができる。または計算した距離に基づいて該ラベルが正しい確率を算出するようにしても良い。一例として、学習データ記憶部５０に記憶されるそれぞれの学習データについて、正解回数に変えて差分積算値を関連付けて記憶するようにし、判別部１２０によるサブ検証データセットに含まれるそれぞれの学習データに対する判別処理が行われるたびに、検証結果記録部４０は、判別部１２０による判別結果として出力されたラベルの推定値とラベル付与部３２により該学習データに付与されたラベルとの差分の絶対値又は判別部１２０による判別結果として出力されたラベルの推定値とラベル付与部３２により該学習データに付与されたラベルとの距離を差分積算値に積算する。そして、正誤検出部４２は、学習データ記憶部５０に記憶されたそれぞれの学習データについて、差分積算値を判別回数で割った値に基づいて、学習データに付与されているラベルが正しい確率を算出する（例えば、それぞれの学習データにおける差分積算値を判別回数で割った値の分布に基づいて公知の確率分布に係る統計的手法により該ラベルが正しい確率を算出する等）ようにすれば良い。
【００３６】
以上、本発明の実施の形態について説明したが、本発明は上述した実施の形態の例のみに限定されることなく、適宜の変更を加えることにより様々な態様で実施することができる。
【００３７】
例えば、機械学習装置１００が実行する学習アルゴリズム、機械学習装置１００が実行する演算アルゴリズム、判別装置１が実行する制御アルゴリズム等は、前記したものに限定されず、様々なアルゴリズムを採用できる。
【００３８】
また、上記した実施形態では判別装置１と機械学習装置１００が異なるＣＰＵ（プロセッサ）を有する装置として説明しているが、機械学習装置１００は判別装置１が備えるＣＰＵ１１と、ＲＯＭ１２に記憶されるシステム・プログラムにより実現するようにしても良い。
【００３９】
上記した実施形態では、対象物に係るデータとして外観検査で用いられる対象物を撮像した画像データを用いた例を示したが、本願発明のアノテーションの誤りの検知方法は画像データ以外にも、例えば対象物から取得される電流／電圧、圧力等の物理量の波形データ、対象物が発する音に係る音声データ等のような他のデータに対しても適用できる。いずれのデータを対象とする場合であっても、作業者が自己の感覚に基づいてアノテーションをする（ラベルを付与する）場合に、適宜適用することが可能である。
【符号の説明】
【００４０】
１  判別装置
４  撮像装置
１１  ＣＰＵ
１２  ＲＯＭ
１３  ＲＡＭ
１４  不揮発性メモリ
１７，１８，１９  インタフェース
２０  バス
２１  インタフェース
３０  データ取得部
３２  ラベル付与部
３４  サブデータセット抽出部
４０  検証結果記録部
４２  正誤検出部
７０  表示装置
７１  入力装置
１００  機械学習装置
１０１  プロセッサ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  不揮発性メモリ
１１０  学習部
１２０  判別部
１３０  学習モデル記憶部
【図１】
2020030692.tif 000003
【図２】
2020030692.tif 000004
【図３】
2020030692.tif 000005
【図４】
2020030692.tif 000006
【手続補正書】
【提出日】令和2年1月9日(2020.1.9)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０００９
【補正方法】変更
【補正の内容】
【０００９】
そして、本発明の一態様は、アノテーションの誤りを検出する判別装置であって、複数の学習データからなる学習データセットを記憶する学習データ記憶部と、判別する対象物に係るデータを取得して学習データとして前記学習データ記憶部に記憶するデータ取得部と、前記学習データに対してラベルを付与するラベル付与部と、前記学習データ記憶部に記憶される学習データセットから、学習に用いるサブ学習データセットと、検証に用いるサブ検証データセットを抽出するサブデータセット抽出部と、前記サブ学習データセットに基づいた教師あり学習を行い、前記対象物に係るデータからラベルを判別する学習済みモデルを生成する学習部と、前記サブ検証データセットに含まれるそれぞれの学習データについて、前記学習済みモデルを用いた判別処理を行う判別部と、前記判別部によるそれぞれの学習データに対する判別処理の結果を該学習データと関連付けて前記学習データ記憶部へと記録する検証結果記録部と、前記学習データ記憶部にそれぞれの学習データと関連付けて記録された判別処理の結果に基づいて、前記ラベル付与部により付与されたラベルが誤っている可能性がある学習データを検出する正誤検出部と、を備え、前記サブデータセット抽出部によるサブ検証データセットの抽出、前記学習部による学習済みモデルの生成及び前記判別部による判別処理は所定の回数だけ実行され、前記正誤検出部は、前記判別部が所定の回数だけ実行した判別処理の結果に基づいて前記ラベル付与部により付与されたラベルが正しい確率を算出し、算出したラベルが正しい確率に基づいて前記ラベル付与部により付与されたラベルが誤っている可能性がある学習データを検出する、を備えた判別装置である。
本発明の他の態様は、ラベルが付与されたデータに基づくデータセットから、学習に用いるサブ学習データセットと、検証に用いるサブ検証データセットを抽出する抽出部と、前記サブ学習データセットに基づいて、前記サブ検証データセットに含まれるそれぞれのデータについて判別処理を行う判別部と、前記判別処理の結果に基づいて、付与された前記ラベルが誤っている可能性があるデータかを検出する正誤検出部と、を備え、前記抽出部による抽出および前記判別部による判別処理は、所定の回数だけ実行される、判別装置である。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
アノテーションの誤りを検出する判別装置であって、
複数の学習データからなる学習データセットを記憶する学習データ記憶部と、
判別する対象物に係るデータを取得して学習データとして前記学習データ記憶部に記憶するデータ取得部と、
前記学習データに対してラベルを付与するラベル付与部と、
前記学習データ記憶部に記憶される学習データセットから、学習に用いるサブ学習データセットと、検証に用いるサブ検証データセットを抽出するサブデータセット抽出部と、
前記サブ学習データセットに基づいた教師あり学習を行い、前記対象物に係るデータからラベルを判別する学習済みモデルを生成する学習部と、
前記サブ検証データセットに含まれるそれぞれの学習データについて、前記学習済みモデルを用いた判別処理を行う判別部と、
前記判別部によるそれぞれの学習データに対する判別処理の結果を該学習データと関連付けて前記学習データ記憶部へと記録する判別結果記録部と、
前記学習データ記憶部にそれぞれの学習データと関連付けて記録された判別処理の結果に基づいて、前記ラベル付与部により付与されたラベルが誤っている可能性がある学習データを検出する正誤検出部と、
を備え、
前記サブデータセット抽出部によるサブ検証データセットの抽出、前記学習部による学習済みモデルの生成及び前記判別部による判別処理は所定の回数だけ実行され、
前記正誤検出部は、前記判別部が所定の回数だけ実行した判別処理の結果に基づいて前記ラベル付与部により付与されたラベルが正しい確率を算出し、算出したラベルが正しい確率に基づいて前記ラベル付与部により付与されたラベルが誤っている可能性がある学習データを検出する、
を備えた判別装置。
【請求項２】
前記正誤検出部は、算出したラベルが正しい確率が、予め定めた閾値より低い学習データを作業者に提示する、
請求項１に記載の判別装置。
【請求項３】
前記学習データセットに含まれる学習データのラベルが正しい確率の統計的分布に基づいて、前記学習データセットの判別の困難さを判定する、
請求項１又は２に記載の判別装置。
【請求項４】
ラベルが付与されたデータに基づくデータセットから、学習に用いるサブ学習データセットと、検証に用いるサブ検証データセットを抽出する抽出部と、
前記サブ学習データセットに基づいて、前記サブ検証データセットに含まれるそれぞれのデータについて判別処理を行う判別部と、
前記判別処理の結果に基づいて、付与された前記ラベルが誤っている可能性があるデータかを検出する正誤検出部と、
を備え、
前記抽出部による抽出および前記判別部による判別処理は、所定の回数だけ実行される、
判別装置。
【請求項５】
アノテーションの誤りを検出する機械学習方法において、
複数の学習データからなる学習データセットを記憶する学習データ記憶部と、
判別する対象物に係るデータを取得する第１ステップと、
前記第１ステップで取得された前記学習データに対してラベルを付与する第２ステップと、
前記第２ステップでラベルが付与された学習データのセットから、学習に用いるサブ学習データセットと、検証に用いるサブ検証データセットを抽出する第３ステップと、
前記サブ学習データセットに基づいた教師あり学習を行い、前記対象物に係るデータからラベルを判別する学習済みモデルを生成する第４ステップと、
前記サブ検証データセットに含まれるそれぞれの学習データについて、前記学習済みモデルを用いた判別処理を行う第５ステップと、
前記第５ステップでのそれぞれの学習データに対する判別処理の結果を該学習データと関連付けて記録する第６ステップと、
前記第６ステップでそれぞれの学習データと関連付けて記録された判別処理の結果に基づいて、付与されたラベルが誤っている可能性がある学習データを検出する第７ステップと、
を実行する機械学習方法であって、
前記第３〜５ステップは所定の回数だけ実行され、
前記第７ステップは、前記５ステップにおいて所定の回数だけ実行された判別処理の結果に基づいてそれぞれの学習データに付与されたラベルが正しい確率を算出し、算出したラベルが正しい確率に基づいて、付与されたラベルが誤っている可能性がある学習データを検出する、
機械学習方法。