(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-07-11
(45)【発行日】2022-07-20
(54)【発明の名称】情報処理方法、情報処理装置、及びプログラム
(51)【国際特許分類】
G06N 20/00 20190101AFI20220712BHJP
【FI】
G06N20/00
(21)【出願番号】P 2018099519
(22)【出願日】2018-05-24
【審査請求日】2021-04-13
(73)【特許権者】
【識別番号】000001247
【氏名又は名称】株式会社ジェイテクト
(74)【代理人】
【識別番号】110000280
【氏名又は名称】特許業務法人サンクレスト国際特許事務所
(72)【発明者】
【氏名】加納 正晃
(72)【発明者】
【氏名】中瀬 晶詳
【審査官】松崎 孝大
(56)【参考文献】
【文献】特開平03-092795(JP,A)
【文献】特開2018-032071(JP,A)
【文献】国際公開第2019/167180(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
複数の部品が組み立てられて得た動作する組立品の製品データを処理する情報処理方法であって、
前記組立品の振動又は温度に関する良品データを対象とした教師ありの機械学習を行なって良品学習モデルを生成すると共に、
前記組立品の振動又は温度に関する不良品データを対象とした教師ありの機械学習を不良の種別毎に行なって不良の種別毎の不良品学習モデルを生成する学習ステップと、
対象となる
前記組立品の振動又は温度に関する製品データを入力データとして前記良品学習モデルを用いた演算により得られる出力データから、良品の尤度を求めると共に、
前記組立品の振動又は温度に関する製品データを入力データとして前記不良品学習モデルを用いた演算により得られる出力データから、不良品の尤度を不良の種別毎に求め
、更に、前記良品の尤度と良品の閾値との比較を行うと共に、不良の種別毎に前記不良品の尤度と不良品の閾値との比較を行う演算ステップと、
前記演算ステップにおいて求められた前記良品の尤度及び不良の種別毎の前記不良品の尤度が、
前記比較の結果、尤度に関する所定の条件を満たす場合に、対象となる前記製品データは、未知の不良によるデータであると判定する判定ステップと、
を含
み、
前記良品の尤度と比較する前記閾値と、前記不良品の尤度と比較する前記閾値とは異なり、前記不良の種別毎の前記閾値も異なる、
情報処理方法。
【請求項2】
前記判定ステップにおいて、不良の種別毎に行った前記比較の結果、全ての前記不良品の尤度が前記不良品の閾値未満であり、かつ、良品の尤度が良品の閾値未満である場合、対象となる前記製品データは、未知の不良によるデータであると判定する、請求項1に記載の情報処理方法。
【請求項3】
前記判定ステップにおいて、不良の種別毎に行った前記比較の結果、複数の不良の種別について前記不良品の尤度が前記不良品の閾値以上である場合、当該複数の不良の種別のうち、前記不良品の閾値との差が最も大きい不良の種別が、対象となる前記製品データの不良の種別であると判定する、請求項2に記載の情報処理方法。
【請求項4】
前記判定ステップにおいて、不良の種別毎に行った前記比較の結果、一つの種別についての前記不良品の尤度が前記不良品の閾値以上である場合、対象となる前記製品データは、当該一つの種別の不良によるデータであると判定する、請求項2又は3に記載の情報処理方法。
【請求項5】
前記判定ステップにおいて、不良の種別毎に行った前記比較の結果、全ての前記不良品の尤度が前記不良品の閾値未満であり、かつ、良品の尤度が良品の閾値以上である場合、対象となる前記製品データは、良品によるデータであると判定する、請求項2~4のいずれか一項に記載の情報処理方法。
【請求項6】
前記判定ステップにおいて、不良の種別毎に求められた前記不良品の尤度が、尤度に関する前記所定の条件を満たすか否かを判定してから、前記良品の尤度が、尤度に関する前記所定の条件を満たすか否かを判定する、請求項1~5のいずれか一項に記載の情報処理方法。
【請求項7】
複数の部品が組み立てられて得た動作する組立品の製品データを処理する情報処理装置であって、
前記組立品の振動又は温度に関する良品データを対象とした教師ありの機械学習を行なって良品学習モデルを生成すると共に、
前記組立品の振動又は温度に関する不良品データを対象とした教師ありの機械学習を不良の種別毎に行なって不良の種別毎の不良品学習モデルを生成する学習部と、
対象となる
前記組立品の振動又は温度に関する製品データを入力データとして前記良品学習モデルを用いた演算により得られる出力データから、良品の尤度を求めると共に、
前記組立品の振動又は温度に関する製品データを入力データとして前記不良品学習モデルを用いた演算により得られる出力データから、不良品の尤度を不良の種別毎に求め
、更に、前記良品の尤度と良品の閾値との比較を行うと共に、不良の種別毎に前記不良品の尤度と不良品の閾値との比較を行う演算部と、
前記演算部により求められた前記良品の尤度及び不良の種別毎の前記不良品の尤度が、
前記比較の結果、尤度に関する所定の条件を満たす場合に、対象となる前記製品データは、未知の不良によるデータであると判定する判定部と、
を備え
、
前記良品の尤度と比較する前記閾値と、前記不良品の尤度と比較する前記閾値とは異なり、前記不良の種別毎の前記閾値も異なる、
情報処理装置。
【請求項8】
複数の部品が組み立てられて得た動作する組立品の製品データを処理するためのプログラムであって、
コンピュータを、
前記組立品の振動又は温度に関する良品データを対象とした教師ありの機械学習を行なって良品学習モデルを生成すると共に、
前記組立品の振動又は温度に関する不良品データを対象とした教師ありの機械学習を不良の種別毎に行なって不良の種別毎の不良品学習モデルを生成する学習部、
対象となる
前記組立品の振動又は温度に関する製品データを入力データとして前記良品学習モデルを用いた演算により得られる出力データから、良品の尤度を求めると共に、
前記組立品の振動又は温度に関する製品データを入力データとして前記不良品学習モデルを用いた演算により得られる出力データから、不良品の尤度を不良の種別毎に求め
、更に、前記良品の尤度と良品の閾値との比較を行うと共に、不良の種別毎に前記不良品の尤度と不良品の閾値との比較を行う演算部、
及び、
前記演算部により求められた前記良品の尤度及び不良の種別毎の前記不良品の尤度が、
前記比較の結果、尤度に関する所定の条件を満たす場合に、対象となる前記製品データは、未知の不良によるデータであると判定する判定部、
として機能させ
、
前記良品の尤度と比較する前記閾値と、前記不良品の尤度と比較する前記閾値とは異なり、前記不良の種別毎の前記閾値も異なる、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理方法、情報処理装置、及びプログラムに関する。
【背景技術】
【0002】
コンピュータによる機械学習を用いた判定及び分類が行われている。その例として、生産された製品が良品であるか不良品であるかの判定(分類)が行われている。コンピュータによる判定の一般的な手段としては、まず、事前に入手した良品データ及び不良品データを教師データとして機械学習を行い、学習モデルを生成する。製品の不良には、様々な種別(種類)があり、不良の種別毎に判定を行なうためには、教師データとして不良の種別毎の不良品データが必要である。
図6は、良品データ及び不良の種別毎の不良品データについて、特徴量を表す空間のイメージ図である。
図6に示されるように、良品データ及び不良の種別毎の不良品データそれぞれの間に判定の境界が設定され、空間内において良品データのグループ及び不良の種別毎の不良品データのグループに分けられる。ここでは、不良の種別として「不良1」「不良2」「不良3」が存在する場合を説明する。
【0003】
次に、検査の対象となる製品データが得られると、その製品データを入力データとして生成した前記学習モデルに入力する。これにより、製品データは、当該製品データが有する特徴量に最も類似した特徴量のグループに分類される。つまり、
図6のイメージ図により説明すると、対象となる製品データが、前記判定の境界で分割された複数の領域(グループ)のうち、どの領域に属するかの判定が行われる。特許文献1には、コンピュータによって機械学習及び判定を行なう技術が開示されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
図6では、不良品データに関して、不良の種別として「不良1」「不良2」「不良3」が存在し、不良の種別毎に特徴量が異なる。従来の情報処理方法によれば、前記のとおり、特徴量を表す空間内において、良品データ及び不良の種別毎の不良品データそれぞれの間に判定の境界が設定される。つまり、判定の境界は共通する一つの空間に設定される。すると、例えば
図6の矢印Eで示されるように、対象となる製品データの特徴量が、不良1と良品との境界B1を跨ぐような場合、その特徴量を有する製品データは、不良1と良品とのうちのいずれか一方に(択一的に)判定される。
【0006】
しかし、前記特徴量を有する製品データ(矢印E)が、不良1とは異なる新たな(未知の)種別の不良によるデータである場合、前記判定は正確ではない。また、この場合において、対象となる製品データが、不良のデータであるにもかかわらず、その特徴が既知の不良1よりも良品に似ていると、従来の情報処理方法では、この不良データは良品のデータであると判定されてしまうという問題点がある。
【0007】
そこで、本発明は、対象となる製品データに未知の不良によるデータが含まれる場合に、そのデータは未知の不良によるデータであると判定することが可能となる情報処理方法、情報処理装置、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明の情報処理方法は、良品データを対象とした教師ありの機械学習を行なって良品学習モデルを生成すると共に、不良品データを対象とした教師ありの機械学習を不良の種別毎に行なって不良の種別毎の不良品学習モデルを生成する学習ステップと、対象となる製品データを入力データとして前記良品学習モデルを用いた演算により得られる出力データから、良品の尤度を求めると共に、当該製品データを入力データとして前記不良品学習モデルを用いた演算により得られる出力データから、不良品の尤度を不良の種別毎に求める演算ステップと、前記演算ステップにおいて求められた前記良品の尤度及び不良の種別毎の前記不良品の尤度が、尤度に関する所定の条件を満たす場合に、対象となる前記製品データは、未知の不良によるデータであると判定する判定ステップと、を含む。
【0009】
前記情報処理方法によれば、良品学習モデルとは別に不良の種別毎の不良品学習モデルが生成される。このため、良品及び不良品(種別毎)の判別を行なうための、いわゆる判定の境界が良品及び不良の種別毎に得られる。したがって、対象となる製品データを入力データとして演算ステップにおいて求められた良品の尤度及び不良の種別毎の不良品の尤度が、尤度に関する所定の条件を満たす場合に、その対象となる製品データを、未知の不良によるデータであると判定することが可能となる。
【0010】
また、前記演算ステップでは、更に、前記良品の尤度と良品の閾値との比較を行うと共に、不良の種別毎に前記不良品の尤度と不良品の閾値との比較を行い、前記判定ステップにおいて、不良の種別毎に行った前記比較の結果、全ての前記不良品の尤度が前記不良品の閾値未満であり、かつ、良品の尤度が良品の閾値未満である場合、対象となる前記製品データは、未知の不良によるデータであると判定するのが好ましい。つまり、前記比較の結果、「全ての不良品の尤度が不良品の閾値未満である」ということは、対象となる前記製品データに不良らしさが無いことを意味する。そして、「良品の尤度が良品の閾値未満である」ということは、対象となる前記製品データに良品らしさが無いことを意味する。このため、対象となる製品データを、未知の不良によるデータであると判定することが可能となる。
【0011】
また、前記判定ステップにおいて、不良の種別毎に行った前記比較の結果、複数の不良の種別について前記不良品の尤度が前記不良品の閾値以上である場合、当該複数の不良の種別のうち、前記不良品の閾値との差が最も大きい不良の種別が、対象となる前記製品データの不良の種別であると判定するのが好ましい。つまり、「不良品の尤度が不良品の閾値以上」であり「不良品の閾値との差が最も大きい」ということは、複数の不良の種別の中で、最もその不良の種別らしいということを意味する。このため、複数の不良の種別について不良品の尤度が不良品の閾値以上となる場合であっても、尤もらしい一つの不良の種別を判定することが可能となる。
【0012】
また、前記判定ステップにおいて、不良の種別毎に行った前記比較の結果、一つの種別についての前記不良品の尤度が前記不良品の閾値以上である場合、対象となる前記製品データは、当該一つの種別の不良によるデータであると判定するのが好ましい。この構成により、尤もらしい一つの不良の種別を判定することが可能となる。
【0013】
また、前記判定ステップにおいて、不良の種別毎に行った前記比較の結果、全ての前記不良品の尤度が前記不良品の閾値未満であり、かつ、良品の尤度が良品の閾値以上である場合、対象となる前記製品データは、良品によるデータであると判定するのが好ましい。つまり、前記比較の結果、「全ての不良品の尤度が不良品の閾値未満である」ということは、対象となる前記製品データに不良らしさが無いことを意味し、そして、「良品の尤度が良品の閾値以上である」ということは、対象となる前記製品データに良品らしさがあることを意味する。このため、対象となる製品データを、良品によるデータであると判定することが可能となる。
【0014】
また、前記判定ステップにおいて、不良の種別毎に求められた前記不良品の尤度が、尤度に関する前記所定の条件を満たすか否かを判定してから、前記良品の尤度が、尤度に関する前記所定の条件を満たすか否かを判定するのが好ましい。この場合、対象となる製品データが不良品によるデータであるのに、良品によるデータであると判定される間違いが発生し難くなる。
【0015】
また、本発明の情報処理装置は、良品データを対象とした教師ありの機械学習を行なって良品学習モデルを生成すると共に、不良品データを対象とした教師ありの機械学習を不良の種別毎に行なって不良の種別毎の不良品学習モデルを生成する学習部と、対象となる製品データを入力データとして前記良品学習モデルを用いた演算により得られる出力データから、良品の尤度を求めると共に、当該製品データを入力データとして前記不良品学習モデルを用いた演算により得られる出力データから、不良品の尤度を不良の種別毎に求める演算部と、前記演算部により求められた前記良品の尤度及び不良の種別毎の前記不良品の尤度が、尤度に関する所定の条件を満たす場合に、対象となる前記製品データは、未知の不良によるデータであると判定する判定部と、を備える。
【0016】
前記情報処理装置によれば、前記情報処理方法を実行することが可能であり、対象となる製品データに未知の不良によるデータが含まれる場合に、そのデータは未知の不良によるデータであると判定することが可能となる。
【0017】
また、本発明のプログラムは、コンピュータを、良品データを対象とした教師ありの機械学習を行なって良品学習モデルを生成すると共に、不良品データを対象とした教師ありの機械学習を不良の種別毎に行なって不良の種別毎の不良品学習モデルを生成する学習部、対象となる製品データを入力データとして前記良品学習モデルを用いた演算により得られる出力データから、良品の尤度を求めると共に、当該製品データを入力データとして前記不良品学習モデルを用いた演算により得られる出力データから、不良品の尤度を不良の種別毎に求める演算部、及び、前記演算部により求められた前記良品の尤度及び不良の種別毎の前記不良品の尤度が、尤度に関する所定の条件を満たす場合に、対象となる前記製品データは、未知の不良によるデータであると判定する判定部、として機能させるためのプログラムである。
【0018】
前記プログラムによれば、前記情報処理方法を実行することが可能であり、対象となる製品データに未知の不良によるデータが含まれる場合に、そのデータは未知の不良によるデータであると判定することが可能となる。
【発明の効果】
【0019】
本発明によれば、対象となる製品データに未知の不良によるデータが含まれる場合に、そのデータは未知の不良によるデータであると判定することが可能となる。
【図面の簡単な説明】
【0020】
【
図1】情報処理装置のハードウエア構成の一例を示す概略構成図である。
【
図2】情報処理装置のソフトウエア構成を示す図である。
【
図3】演算部及び判定部が行なう処理の概略を示すフロー図である。
【
図6】特徴量を表す空間のイメージ図(従来例)である。
【発明を実施するための形態】
【0021】
〔情報処理装置について〕
図1は、情報処理装置のハードウエア構成の一例を示す概略構成図である。本実施形態の情報処理装置10は、製品の生産ラインの検査工程に用いられる。製品として、例えば転がり軸受の軌道輪のような部品の他に、複数の部品が組み立てられて得た組立品がある。組立品の例としては、例えばステアリング装置(電動パワーステアリング装置)及び転がり軸受である。
【0022】
製品が組立品である場合、検査工程において製品を動作させ(回転させ)、製品の一部に接触させたセンサ7によって製品の振動(音)が計測される。センサ7の計測により得られたデータが、製品データとして情報処理装置10に入力される。また、製品が部品であっても組立品であっても、検査工程において製品をカメラ8によって撮影し、外観検査を行なってもよい。この場合、カメラ8による撮影画像のデータが、製品データとして情報処理装置10に入力される。このように製品データを、振動データ又は画像データ(外観画像データ)とすることができる。または、製品データは、センサ7による振動データ(生データ)を加工した加工データ、又は、カメラ8による画像データ(生データ)を加工した加工データであってもよい。加工データの例として、センサ7によって取得された時系列データである振動データを解析(フーリエ解析)して生成した周波数データが挙げられる。又は、加工データは、撮影画像のデータを画像解析して得た画像解析データであってもよい。振動データを用いる場合、情報処理装置10は、製品の動作検査を行なうことができる。画像データを用いる場合、情報処理装置10は、製品の外観検査を行なうことができる。
【0023】
情報処理装置10は、生産ラインにおいて生産された製品について、良品と不良品との判別を行ない、不良品については、その不良の種別(種類)の判別を行ない、更に、未知の不良についても判別を行なう機能を有する。ここでは、製品がステアリング装置であり、製品データとして振動データを用いる場合について説明する。この場合の不良の種別としては、特定のギア部分の不良、及び特定の軸受部の不良が例として挙げられる。これらの不良は、ステアリング装置を動作させると、それぞれ異なる周波数成分を有する振動を発生させる。周波数成分に特徴があることから、この特徴に基づいて情報処理装置10は不良の種別を判別することが可能となる。なお、製品データとして画像データを用いる場合、傷等による濃淡がデータ化され、このデータに基づいて情報処理装置10は不良の種別を判別することが可能となる。
【0024】
情報処理装置10の構成について説明する。情報処理装置10は、中央処理装置(CPU)11、ROM及びRAMにより構成されたメモリ12、ハードディスクドライブにより構成された記憶装置13、表示部14、入力部15、及び、通信部16を有する。中央処理装置11は、メモリ12又は記憶装置13に記憶されたプログラム(コンピュータプログラム)を読み出して各種処理を実行する。記憶装置13は、センサ7から取得したデータ、このデータを加工して得たデータ(製品データ)、各種閾値、後述する学習モデル、及びプログラム等の各種情報を記憶する。後に説明する情報処理装置10が備える各種の機能部(各機能部が実行する処理)は、CPU11が、メモリ12又は記憶装置13に格納されたプログラムを読み出し、このプログラムを実行することにより実現される。
【0025】
情報処理装置10が行なう情報処理によって製品(ステアリング装置)の検査が行われる。製品の検査(検査工程)は、製品を生産する生産ラインの一部に含まれる。良品である製品について得られた製品データを「良品データ」と称する。これに対して、不良品である製品について得られた製品データを「不良品データ」と称する。製品の不良には様々な種別(種類)がある。そこで、複数存在する既知の不良の種別を区別するために、以下において、不良の種別として、不良1、不良2、・・・不良nのように、連番を付して説明する(nは整数)。この場合、不良の種別の数はnとなる。これら複数の不良1、不良2、・・・不良nはそれぞれ既知の不良である。また、製品の生産において、既知の不良以外の「未知の不良」が発生する場合がある。なお、後に説明するが、既知の不良については、情報処理装置10によって機械学習がされている。これに対して、機械学習がされていない不良が、未知の不良である。
【0026】
〔情報処理装置10が有する機能について〕
図2は、情報処理装置10のソフトウエア構成を示す図である。情報処理装置10は、前記機能部として、学習部21、演算部22、及び、判定部23を備える。前記のとおり、これら各機能部は、前記プログラムを実行することにより実現される。つまり、このプログラムは、コンピュータを、前記学習部21、前記演算部22、及び、前記判定部23として機能させるためのプログラムである。このプログラムは、各種記憶媒体に保存される。前記各機能部について説明する。
【0027】
学習部21は、学習モデルを生成する機能を有する。学習部21は、機械学習により良品学習モデル、及び、この良品学習モデルとは別に不良品学習モデルを生成する。本実施形態では、前記のとおり既知である不良は複数存在するため、不良の種別毎の不良品学習モデルが生成される。例えば、三つの既知の不良(不良1、不良2、不良3)が存在する場合、三つの不良品学習モデル(M1、M2、M3)が生成される。nを1以上の整数とした場合、不良nの不良品学習モデルを「不良品学習モデルMn」とする。
【0028】
学習部21は、良品学習モデルを生成するために、良品データを対象とした教師ありの機械学習を行なう。また、学習部21は、不良の種別毎の不良品学習モデルMnを生成するために、不良品データを対象とした教師ありの機械学習を、不良の種別毎に行なう。前記の各機械学習で用いられる良品データには、教師ラベルとして「良品ラベル」の情報が対応付けられていて(紐付けられていて)、不良品データには、教師ラベルとして「不良品ラベル」の情報が対応付けられている(紐付けられている)。不良品ラベルは不良の種別毎に異なっており、各不良品ラベルが不良品データに対応付けられる。
【0029】
良品データを教師データとして用いて機械学習(良品学習)を行なうアルゴリズムと、同じアルゴリズムで、不良の種別毎に不良品データを教師データとして用いて機械学習(良品学習)を行う。この結果、良品データに基づく良品学習モデルが生成され、不良品データに基づく不良品学習モデルが、不良の種別毎に生成される。
【0030】
学習部21が用いる学習モデルの例として、Variational Auto encoder(VAE)が挙げられる。良品データをVAEの学習モデルに入力し、学習が実行されることで、良品を学習したパラメータを有する良品学習モデルが生成される。この良品学習モデルは、良品データが入力されると良品データを再現した出力が得られるように学習されている。同様に、不良の種別毎に、不良品データをVAEの学習モデルに入力し、学習が実行されることで、不良品を学習したパラメータを有する不良品学習モデルが生成される。このように、学習部21は、良品データを対象とした教師ありの機械学習を行なって良品学習モデルを生成すると共に、不良品データを対象とした教師ありの機械学習を不良の種別毎に行なって不良の種別毎の不良品学習モデルを生成する。生成された良品学習モデル、及び、不良の種別毎の不良品学習モデルは、記憶装置13に記憶される。
【0031】
図3は、演算部22及び判定部23が行なう処理の概略を示すフロー図である。生産ラインから製品が生産されると、検査工程として、その製品のデータ(製品データ)が前記センサ7(
図1参照)によって取得される(
図3のステップS10)。製品データは、検査の対象として、情報処理装置10(記憶装置13)に次々と記憶される。演算部22は、各製品データを、学習部21によって生成された全ての学習モデル(良品学習モデル及び不良の種別毎の不良品学習モデル)にそれぞれ入力し、各学習モデルから出力された出力データを取得する。そして、判定部23は、前記出力データを基に、当該各製品データが、良品、不良1、・・・不良nそれぞれに該当する可能性があるか判定する処理(この処理を「個別判定処理」と称する。)を行なう(
図3のステップS20、ステップS21・・・)。判定部23は、更に、前記個別判定処理の結果に基づいて、対象となった製品データが、良品に該当するか、既知の不良1、・・・不良nのいずれかに該当するか、既知の不良に該当せずに未知の不良に該当するのか、の判定を行なう(
図3のステップS30)。
【0032】
演算部22が行なう処理の具体例について説明する。演算部22は、入力データである製品データと、出力データとの差(平方二乗誤差)を判定値として求める。ここで、不良1についての不良品学習モデルM1に、不良1のデータを入力すると、不良1のデータを再現したデータが出力される。このため、不良品学習モデルM1に不良1のデータを入力した場合、前記判定値は小さくなる。これに対して、不良品学習モデルM1に、不良1のデータ以外のデータ(例えば不良2のデータ)を入力すると、不良1のデータを入力した場合よりも、前記判定値は大きくなる。演算部22は、求めた前記判定値を尤度に変換する。尤度は尤もらしさを示す指標である。例えば不良1の尤度は「不良1らしさ」を示す指標である。このため、不良1の前記判定値(前記差)が小さい場合は、不良1の尤度は高い。つまり、不良nの学習モデルMnに入力した製品データの前記判定値が小さい場合(尤度が高い場合)、その製品データは、種別が不良nの不良データらしい可能性があると推定できる。同様に、良品の学習モデルに入力した製品データの前記判定値が小さい場合(尤度が高い場合)、その製品データは、種別が良品であるデータらしい可能性があると推定できる。
【0033】
このように、演算部22は、対象となる製品データを入力データとして良品学習モデルを用いた演算により得られる出力データから、良品の尤度を求める。更に、演算部22は、対象となった前記製品データを入力データとして不良品学習モデルMnを用いた演算により得られる出力データから、不良品の尤度を不良の種別毎に求める。求められた尤度(前記判定値)は、用いた学習モデル毎に区別されて、記憶装置13に記憶される。
【0034】
判定部23が行なう処理について説明する。判定部23は、演算部22によって求められた対象となる製品データについての良品の尤度と、良品用の閾値とを比較すると共に、当該製品データについての不良nの尤度と、不良n用の閾値とを比較する処理を行なう機能を有する。更に、判定部23は、これらの比較の処理の結果に基づいて、当該製品データが、良品データであるのか、既知の不良品データであるのか、未知の不良品データであるのかを判定する機能を有する。なお、既知の不良品データであると判定される場合は、不良の種別についても判定される。なお、前記閾値は、予め設定されている値であり、良品の場合と不良品の場合とで異なっていてもよく、同じであってもよい。また、不良の種別毎に前記閾値は異なっていてもよく、同じであってもよい。判定部23は、製品データに関して、不良nの尤度が不良nの閾値より大きい場合(不良nの前記判定値が小さい場合)、その製品のデータは、不良nのデータらしい可能性があると判定(推定)することができる。
【0035】
このように、判定部23は、演算部22により求められた良品の尤度及び不良の種別毎の不良品の尤度が、尤度に関する所定の条件を満たすか否かの判定を行なう。後に説明するが、一つの例として、判定部23は、演算部22により求められた良品の尤度及び不良の種別毎の不良品の尤度が、尤度に関する「所定の条件」を満たす場合に、対象となる製品データは、未知の不良によるデータであると判定する。前記「所定の条件」とは、「不良の種別毎に行った前記閾値との比較の結果、全ての不良品の尤度が不良品の閾値未満であり、かつ、良品の尤度が良品の閾値未満であるという条件」である。判定部23による処理の詳細は、後の情報処理方法により説明する。
【0036】
〔情報処理方法(検査方法)について〕
前記構成を備える情報処理装置10が行なう情報処理方法について
図4により説明する。この情報処理方法では、まず、学習部21による機械学習(学習ステップ)が行われ、次に、機械学習の結果に基づいて、演算部22による演算(演算ステップ)及び判定部23による判定(判定ステップ)が行われる。
【0037】
〔学習ステップ〕
学習部21が行なう機械学習について説明する。不良1の不良品ラベルを教師ラベルとして用いて製品データ(不良1の不良品データ)を対象とした機械学習を行ない、不良品学習モデルM1を生成する(
図4のステップS1)。この処理を、既知の不良の全てについて(n回)繰り返し個別に行なう。つまり、前記のような学習モデルの生成処理を、複数存在する不良の種別毎に行って、不良の種別毎の不良品学習モデルを生成する(
図4のステップS2)。不良品ラベルを用いる前記機械学習とは別に、良品ラベルを教師ラベルとして用いて製品データ(良品データ)を対象とした機械学習を行ない、良品学習モデルを生成する(
図4のステップS9)。この学習ステップにより、不良の種別毎の不良品学習モデル(つまり、n個の不良品学習モデル)と、一つの良品学習モデルとが生成される。
図3において、ステップS1からステップS2を経てステップS9を行なう工程が、学習ステップである。なお、前記教師ラベルの抽出及び対応付けは、作業員によって行われる。
【0038】
〔演算ステップ及び判定ステップ〕
生産ラインにより製品が生産されると、例えばセンサ7(
図1参照)によって、製品毎に製品データが取得される(ステップS11)。情報処理装置10(メモリ12又は記憶装置13)は、データ(データ群)を格納する記憶領域を有している。演算部22が一つの製品データを処理対象として取得すると、前記記憶領域が初期化される(ステップS12)。
図4では、この記憶領域を「配列a[ ]」としており、以下の説明においても、この記憶領域を配列a[ ]とする。
【0039】
演算部22は、処理対象となる前記製品データDaを、学習部21が生成した不良1の不良品学習モデルM1を用いた演算アルゴリズムに入力し、この演算アルゴリズムから出力データを取得する。演算部22は、この出力データに基づいて、前記製品データDaを対象とした不良1の尤度p1を算出する(ステップS21)。なお、以下において行われる処理は、特に説明する場合を除いて、演算部22が行なう処理である。本実施形態では、更に、入力した製品データDaと出力データとの差を求め、この差を判定値とする。この判定値は不良1の尤度p1に変換される。判定部23は、不良1の尤度p1と、不良1のための閾値t1との比較を行なう(ステップS22)。比較の結果、不良1の尤度p1が閾値t1以上である場合(ステップS22において「yes」の場合)、判定部23は、尤度p1と閾値t1との差(p1-t1)を配列a[ ]に記憶させる(ステップS23)。これに対して、比較の結果、不良1の尤度p1が閾値t1未満である場合(ステップS22において「no」の場合)、配列a[ ]にデータを格納せず、次のステップ(ステップS24)へと進む。
【0040】
前記処理を、不良の種別毎に行なう。つまり、演算部22は、処理対象となる前記製品データDaを、学習部21が生成した不良nの不良品学習モデルMnを用いた演算アルゴリズムに入力し、この演算アルゴリズムから出力データを取得する。演算部22は、この出力データに基づいて、前記製品データDaを対象とした不良nの尤度pnを算出する(ステップS24)。更に、入力した製品データDaと出力データとの差を求め、この差を判定値とする。この判定値は不良nの尤度pnに変換される。判定部23は、不良nの尤度pnと、不良nのための閾値tnとの比較を行なう(ステップS25)。比較の結果、不良nの尤度pnが閾値tn以上である場合(ステップS25において「yes」の場合)、判定部23は、尤度pnと閾値tnとの差(pn-tn)を配列a[ ]に記憶させる(ステップS26)。これに対して、比較の結果、不良nの尤度pnが閾値tn未満である場合(ステップS25において「no」の場合)、配列a[ ]にデータを格納せず、次のステップへと進む。
【0041】
全ての不良の種別に関して、前記製品データDaの処理が行われると、判定部23は、配列a[ ]にデータが格納されているか否かを判定する(ステップS27)。データが格納されている場合(ステップS27で「yes」の場合)、判定部23は、配列a[ ]の中で、前記差が最大となる不良nを抽出する。抽出された不良nが、処理対象となる前記製品データDaの不良の種別であると判定する(ステップS28)。
【0042】
これに対して、配列a[ ]にデータが格納されていない場合(ステップS27で「no」の場合)、次のステップS29へと進む。ステップS29では、演算部22は、処理対象となる前記製品データDaを、学習部21が生成した良品学習モデルを用いた演算アルゴリズムに入力し、この演算アルゴリズムから出力データを取得する。演算部22は、この出力データに基づいて、良品の尤度p0を算出する(ステップS29)。なお、以下において行われる処理は、特に説明する場合を除いて、演算部22が行なう処理である。本実施形態では、入力した製品データDaと出力データとの差を求め、この差を判定値とする。この判定値は良品の尤度p0に変換される。判定部23は、良品の尤度p0と、良品のための閾値t0との比較を行なう(ステップS30)。比較の結果、良品の尤度p0が閾値t0以上である場合(ステップS30において「yes」の場合)、判定部23は、対象となった製品データDaは、良品データであると判定する(ステップS31)。これに対して、比較の結果、良品の尤度p0が閾値t0未満である場合(ステップS30において「no」の場合)、判定部23は、対象となった製品データDaは、未知の不良のデータであると判定する(ステップS32)。
【0043】
前記のとおり、配列a[ ]にデータが格納されていない場合(ステップS27で「no」の場合)、つまり、全ての不良品の尤度が不良品の閾値未満である場合であって、良品の尤度p0が閾値t0未満である場合(ステップS30において「no」の場合)、判定部23は、対象となった製品データDaは、未知の不良によるデータであると判定する(ステップS32)。
【0044】
〔本実施形態の情報処理方法について〕
以上のように、本実施形態の情報処理方法には、学習ステップと、演算ステップと、判定ステップとが含まれる。演算ステップ及び判定ステップが、製品データ毎に繰り返し実行される。
【0045】
学習ステップでは、良品データを対象とした教師ありの機械学習を行なって良品学習モデルを生成する(
図4のステップS9)と共に、この良品学習モデルの生成とは別に、不良品データを対象とした教師ありの機械学習を不良の種別毎に行なって不良の種別毎の不良品学習モデルを生成する(
図4のステップS1、ステップS2)。学習ステップは、学習部21によって実行される。
【0046】
演算ステップとして、対象となる製品データDaを入力データとして前記良品学習モデルを用いた演算により得られる出力データから、良品の尤度p0を求める(ステップS29)と共に、当該製品データDaを入力データとして前記不良品学習モデルを用いた演算により得られる出力データから、不良品の尤度(p1、・・・pn)を不良の種別毎に求める(ステップS21、ステップS24)。
【0047】
本実施形態では、演算ステップとして、更に、良品の尤度p0と良品の閾値t0との比較を行う(ステップS30)と共に、不良の種別毎に不良品の尤度(p1、・・・pn)と不良品の閾値(t1、・・・tn)との比較を行う(ステップS22、ステップS25)。なお、
図4に示されるフローとは異なり、良品の尤度p0と閾値t0との比較を先に行ってから、不良品の尤度(p1、・・・pn)と閾値(t1、・・・tn)との比較を行ってもよい。しかし、本実施形態では、
図4に示されるフローのとおり、先に、不良品の尤度(p1、・・・pn)と閾値(t1、・・・tn)との比較を不良の種別毎に行ってから、良品の尤度p0と閾値t0との比較を後で行うのが好ましい。演算ステップは、演算部22によって実行される。
【0048】
判定ステップとして、演算ステップにおいて求められた良品の尤度p0及び不良の種別毎の不良品の尤度(p1、・・・pn)が、尤度に関する「所定の条件」を満たす場合に、対象となる前記製品データDaは、未知の不良によるデータであると判定する(ステップS32)。つまり、前記実施形態のように、不良の種別毎に不良品の尤度(p1、・・・pn)と不良品の閾値(t1、・・・tn)との比較が行われる(ステップS22、ステップS25)と共に、良品の尤度p0と良品の閾値t0との比較が行われ(ステップS29)、不良の種別毎に行った前記比較の結果、全ての不良品の尤度(p1、・・・pn)が不良品の閾値(t1、・・・tn)未満であり、かつ、良品の尤度p0が良品の閾値t0未満である場合、対象となる前記製品データDaは、未知の不良によるデータであると判定される。つまり、前記「所定の条件」とは、「不良の種別毎に行った前記比較の結果、全ての不良品の尤度(p1、・・・pn)が不良品の閾値(t1、・・・tn)未満であり、かつ、良品の尤度p0が良品の閾値t0未満であるという条件」である。
【0049】
前記比較の結果、「全ての不良品の尤度(p1、・・・pn)が不良品の閾値(t1、・・・tn)未満である」ということは、対象となる製品データDaに不良らしさが無いことを意味する。そして、「良品の尤度p0が良品の閾値t0未満である」ということは、対象となる製品データDaに良品らしさが無いことを意味する。このため、対象となる製品データDaを、未知の不良によるデータであると判定することが可能となる。
【0050】
判定ステップにおいて、不良の種別毎に行った比較の結果、複数の不良の種別について(例えば、不良1及び不良nについて)不良品の尤度が不良品の閾値以上である場合(p1≧t1、かつ、pn≧tnの場合)つまり、ステップS22において「yes」であり、ステップS25においても「yes」である場合、これら複数の不良の種別のうち、不良品の閾値との差が最も大きい不良の種別が、対象となる製品データDaの不良の種別であると判定する。例えば、不良1の尤度p1とその閾値t1との差(p1-t1)がαであり、不良nの尤度pnとその閾値tnとの差(pn-tn)がβであり、αがβよりも大きい場合、対象となる製品データDaは、不良データであり、不良の種別は「不良1」であると判定する。差(p1-t1)は、配列a[ ]に格納されており、この差(p1-t1)が最大となることから、不良の種別が「不良1」であると判定される。
【0051】
ここで、前記「不良品の尤度が不良品の閾値以上」であり「不良品の尤度と不良品の閾値との差が最も大きい」ということは、複数の不良の種別の中で、最もその不良の種別らしいということを意味する。このため、複数の不良の種別について不良品の尤度が不良品の閾値以上となる場合(p1≧t1、かつ、pn≧tnの場合)であっても、尤もらしい一つの不良の種別を判定することが可能となる。
【0052】
また、判定ステップにおいて、不良の種別毎に行った比較の結果(ステップS22、ステップS25)、一つの種別についての不良品の尤度が不良品の閾値以上である場合、対象となる製品データDaは、当該一つの種別の不良によるデータであると判定する。例えば、不良1の尤度p1がその閾値t1以上であり(ステップS22において「yes」であり)、その他の全部の不良の尤度がその閾値未満である場合、不良1の尤度p1に関するデータのみが配列a[ ]に格納される。このため、ステップS28によれば、不良の種別が「不良1」であると判定される。このような判定が行われることで、尤もらしい一つの不良の種別を判定することが可能となる。
【0053】
また、判定ステップにおいて、不良の種別毎に行った比較の結果、全ての不良品の尤度(p1、・・・pn)が不良品の閾値(t1、・・・tn)未満であり(ステップS22及びステップS25それぞれにおいて「no」であり)、かつ、良品の尤度p0が良品の閾値t0以上である場合(ステップS30において「yes」である場合)、対象となる製品データDaは、良品によるデータであると判定する。つまり、前記比較の結果、「全ての不良品の尤度(p1、・・・pn)が不良品の閾値未満(t1、・・・tn)である」ということは、対象となる製品データDaに不良らしさが無いことを意味する。そして、「良品の尤度p0が良品の閾値t0以上である」ということは、対象となる製品データDaに良品らしさがあることを意味する。このため、対象となる製品データDaを、良品によるデータであると判定することが可能となる。
【0054】
以上のように、本実施形態の情報処理方法によれば、学習ステップにおいて、良品学習モデルとは別に不良の種別毎の不良品学習モデルが生成される。
図5(A)(B)(C)は、良品データ及び不良の種別毎の不良品データについて、本実施形態の学習ステップが実行されることで得られる、特徴量を表す空間のイメージ図である。つまり、良品データを対象とした教師ありの機械学習(良品学習)を行なって良品学習モデルを生成することで、
図5(A)に示されるように、良品を判定するための特徴量を表す空間において、良品データのみを包含し、しかも学習に使用した良品データの近くに設定される判定境界L0が得られる。不良1の不良品データを対象とした教師ありの機械学習(良品学習)を行なって不良品学習モデルM1を生成することで、
図5(B)に示されるように、不良1を判定するための特徴量を表す空間において、不良1の不良品データのみを包含し、しかも学習に使用した不良品データの近くに設定される判定境界L1が得られる。更に、不良nの不良品データを対象とした教師ありの機械学習(良品学習)を行なって不良品学習モデルMnを生成することで、
図5(C)に示されるように、不良nを判定するための特徴量を表す空間において、不良nの不良品データのみを包含し、しかも学習に使用した不良品データの近くに設定される判定境界L3が得られる。以上、
図5(A)(B)(C)に示されるように、良品及び不良品(種別毎)の判別を行なうためのいわゆる判定の境界が、良品及び不良の種別毎に、相互で異なる空間として別々に得られる。
【0055】
したがって、対象となる製品データDaを入力データとして演算ステップにおいて求められた良品の尤度及び不良の種別毎の不良品の尤度が、尤度に関する前記所定の条件を満たす場合に、その対象となる製品データを、未知の不良によるデータであると判定する(ステップS32)ことが可能となる。つまり、
図5(A)(B)(C)に示される特徴量を表す各空間において、製品データDaの特徴量が、各判定境界の外の領域に存在する場合、その製品データDaは未知の不良によるデータであると判定される。
【0056】
なお、従来の情報処理方法では、
図6により説明したように、対象となる製品データが、未知の不良のデータ(矢印E)であり、その特徴が(既知の不良1及び良品の特徴とは隔たりがあるが)既知の不良1よりも良品に似ていると、この不良データは良品のデータであると判定されてしまうという。しかし、本実施形態の情報処理方法によれば、対象となる製品データDaが未知の不良のデータである場合、その製品データDaは未知の不良によるデータであると判定することができる。すなわち、不良品が良品として判定されてしまうことを防ぐことが可能となる。
【0057】
また、本実施形態では、前記のとおり(
図4参照)、判定ステップとして、不良の種別毎に求められた不良品の尤度(p1、・・・pn)が、尤度に関する所定の条件を満たすか否かを判定してから、良品の尤度p0が、尤度に関する所定の条件を満たすか否かを判定する。このため、対象となる製品データDaが不良品によるデータであるのに、良品によるデータであると判定される間違いが発生し難くなる。
【0058】
今回開示した実施形態はすべての点で例示であって制限的なものではない。本発明の権利範囲は、上述の実施形態に限定されるものではなく、特許請求の範囲の範囲に記載された構成と均等の範囲内でのすべての変更が含まれる。
対象となる製品は、ステアリング装置及び転がり軸受以外であってもよく、様々な組立品及び機械部品が対象となる。また、製品データは、振動データ及び画像データ以外であってもよく、温度データ(温度変化データ)等であってもよい。前記実施形態では、入力データである製品データと出力データとの差を判定値として求め、この判定値を尤度に変換する場合について説明したが、尤度の算出については他の手段であってもよい。
【符号の説明】
【0059】
10:情報処理装置
21:学習部
22:演算部
23:判定部
Da:製品データ
M1、M2、M3:不良品学習モデル