JP2019179494A - 信号エミュレータ、画像認識用学習モデルの機械学習方法、信号エミュレータ用学習モデルの機械学習方法、及び画像認識用学習モデルの機械学習システム - Google Patents

信号エミュレータ、画像認識用学習モデルの機械学習方法、信号エミュレータ用学習モデルの機械学習方法、及び画像認識用学習モデルの機械学習システム Download PDF

Info

Publication number
JP2019179494A
JP2019179494A JP2018069717A JP2018069717A JP2019179494A JP 2019179494 A JP2019179494 A JP 2019179494A JP 2018069717 A JP2018069717 A JP 2018069717A JP 2018069717 A JP2018069717 A JP 2018069717A JP 2019179494 A JP2019179494 A JP 2019179494A
Authority
JP
Japan
Prior art keywords
signal
learning model
information
module
instruction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2018069717A
Other languages
English (en)
Inventor
三浦 弘綱
Hirotsuna Miura
弘綱 三浦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nidec Advance Technology Corp
Original Assignee
Nidec Read Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nidec Read Corp filed Critical Nidec Read Corp
Priority to JP2018069717A priority Critical patent/JP2019179494A/ja
Publication of JP2019179494A publication Critical patent/JP2019179494A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Image Analysis (AREA)

Abstract

【課題】ユーザの操作を画像から判別することが容易な操作判別システムを用いた信号エミュレータ、画像認識用学習モデルの機械学習方法、信号エミュレータ用学習モデルの機械学習方法、及び画像認識用学習モデルの機械学習システムを提供する。【解決手段】ユーザによる操作指示を受け付けて当該操作指示に応じた指示信号を出力する第一モジュール110から、その指示信号を受け付けて第一モジュール110へ応答信号を出力する第二モジュール120をエミュレートする信号エミュレータ1であって、タッチパネルディスプレイ112を含む領域の撮像画像を画像認識用学習モデル43に入力することによって得られた操作情報と指示信号とを信号エミュレータ用学習モデルに入力することによって応答情報を出力させ、その応答情報に基づき応答信号を出力するようにした。【選択図】図4

Description

本発明は、ユーザの操作を画像から判別する操作判別システムを用いた信号エミュレータ、画像認識用学習モデルの機械学習方法、信号エミュレータ用学習モデルの機械学習方法、及び画像認識用学習モデルの機械学習システムに関する。
従来より、自動取引装置の利用者の操作を撮像し、その撮像された画像から、利用者の操作の異常レベルを決定する監視装置が知られている(例えば、特許文献1参照。)。
特開2018−10332号公報
しかしながら、上述の技術では、利用者の操作が異常か否かを判断することができるものの、利用者の操作内容を判別することはできなかった。
本発明の目的は、ユーザの操作を画像から判別することが容易な信号エミュレータ、画像認識用学習モデルの機械学習方法、信号エミュレータ用学習モデルの機械学習方法、及び画像認識用学習モデルの機械学習システムを提供することである。
また、本発明に係る信号エミュレータは、ユーザによる操作指示を受け付けて当該操作指示に応じた指示信号を出力する第一モジュールから、その指示信号を受け付けて前記第一モジュールへ応答信号を出力する第二モジュールをエミュレートする信号エミュレータであって、前記ユーザの操作が写った操作画像に基づきその操作を示す操作情報を出力するように学習された画像認識用学習モデルに対して、前記操作指示を受け付ける操作部を含む領域の画像を入力することによって、前記画像認識用学習モデルから前記操作情報を出力する操作判別システムから出力された前記操作情報、及び前記第一モジュールから出力された前記指示信号を受け付ける入力部と、前記第二モジュールを模倣するように学習された学習モデルであり、前記入力部によって受け付けられた、前記指示信号を示す指示情報、及び前記操作情報が入力された場合に応答情報を出力する信号エミュレータ用学習モデルと、前記応答情報に基づいて、前記第一モジュールが受付可能な応答信号を前記第一モジュールへ出力する出力部とを備え、前記第一モジュールは、前記操作部によって前記操作指示を受け付ける。
この構成によれば、ユーザの操作が写った操作画像が画像認識用学習モデルに対して入力される。画像認識用学習モデルは、操作画像に基づきその操作を示す操作情報を出力するように予め学習されているので、ユーザの操作が写った操作画像を画像認識用学習モデルに対して入力することによって、画像認識用学習モデルから操作情報を出力させることができる。これにより、ユーザの操作を画像から容易に判別することができる。そして、第二モジュールを模倣するように学習された信号エミュレータ用学習モデルを用いることによって、操作判別システムで判別された操作情報と第一モジュールから出力された指示信号を示す指示情報とに対応する応答情報を、信号エミュレータ用学習モデルから出力させることができ、この応答情報に基づいて応答信号が第一モジュールへ出力される。従って、第二モジュールを構成する機械装置を模倣することが容易である。また、第二モジュールがステートマシンを含んでいる場合、第二モジュールの状態によって、第二モジュールへの入力に対する応答が異なる場合がある。このような場合であっても、ユーザの操作とステートマシンの状態との間には、相関関係がある。そこで、操作判別システムで操作情報を判別させ、この操作情報を含めて学習させた信号エミュレータ用学習モデルを用いることによって、ステートマシンを備えた第二モジュールを模倣することが可能になる。
また、本発明に係る画像認識用学習モデルの機械学習方法は、ユーザの操作が写った操作画像に基づきその操作を示す操作情報を出力するように学習された画像認識用学習モデルに対して前記操作画像を入力することによって、前記画像認識用学習モデルから前記操作情報を出力する操作判別システムに用いられる画像認識用学習モデルの機械学習方法であって、(1a)前記ユーザによる操作指示を受け付ける操作部を含む領域の画像を前記操作画像として撮像する工程と、(1b)前記操作情報を取得する工程と、(1c)前記操作画像と、前記(1b)工程で取得された操作情報とを教師データとし、前記操作画像を前記画像認識用学習モデルに入力し、当該画像認識用学習モデルから前記操作情報を出力させるように、当該画像認識用学習モデルを機械学習する工程とを含む。
また、本発明に係る画像認識用学習モデルの機械学習システムは、ユーザの操作が写った操作画像と、前記ユーザの操作指示を示す操作情報とを教師データとし、前記操作画像を前記画像認識用学習モデルに入力し、当該画像認識用学習モデルから前記操作情報を出力させるように、当該画像認識用学習モデルを機械学習する機械学習部を備える。
これらの方法及びシステムによれば、操作部の操作が写った操作画像が撮像され、操作部によって受け付けられた操作指示を示す操作情報が取得され、その操作画像と操作情報とが教師データとされる。その結果、画像認識用学習モデルを、操作画像が入力された場合に操作情報を出力するように学習することができる。
また、本発明に係る信号エミュレータ用学習モデルの機械学習方法は、上述の信号エミュレータに用いられる信号エミュレータ用学習モデルの機械学習方法であって、(2a)前記第一モジュールと前記第二モジュールとを連結して動作させる工程と、(2b)前記操作部を含む領域を操作画像として撮像する工程と、(2c)前記撮像画像を学習済の前記画像認識用学習モデルに入力し、前記画像認識用学習モデルから前記操作情報を出力させる工程と、(2d)前記第一モジュールから出力された指示信号を示す指示情報、前記第二モジュールから出力された応答信号を示す応答情報、及び前記画像認識用学習モデルから出力された操作情報を対応付けた組を、複数組、監視情報として監視情報記憶部に記憶させる工程と、(2e)前記監視情報を教師データとして前記信号エミュレータ用学習モデルの機械学習を実行する工程とを含む。
この構成によれば、第一モジュールと第二モジュールとからなる装置を実際に動作させて、操作部を操作してその操作画像を撮像すると共にその操作に応じた指示信号を第一モジュールから出力させる。操作画像は学習済の画像認識用学習モデルに入力され、画像認識用学習モデルから操作情報が出力される。第二モジュールは第一モジュールの操作指示に応じた応答信号を出力する。そして、第一モジュールから出力された指示信号を示す指示情報、第二モジュールから出力された応答信号を示す応答情報、及び画像認識用学習モデルから出力された操作情報を対応付けた組が、複数組、監視情報として監視情報記憶部に記憶され、その監視情報を教師データとして信号エミュレータ用学習モデルを機械学習することができる。また、第二モジュールがステートマシンを含んでいる場合、第二モジュールの状態によって、第二モジュールへの入力に対する応答が異なる場合がある。このような場合であっても、ユーザの操作とステートマシンの状態との間には、相関関係がある。そこで、第一モジュールから操作指示を表す操作情報を出力させ、この操作情報を含めて信号エミュレータ用学習モデルを学習させる。その結果、ステートマシンを備えた第二モジュールを模倣可能な信号エミュレータ用学習モデルが得られる。
また、前記信号エミュレータ用学習モデルは、前記応答情報と共に前記指示信号に対する前記応答信号の遅延時間を示す遅延情報を出力し、前記出力部は、前記入力部によって前記指示信号が受け付けられてから前記遅延情報で示される遅延時間経過した場合、前記応答情報に応じて前記応答信号を出力することが好ましい。
この構成によれば、信号エミュレータ用学習モデルが、応答情報と共に指示信号に対する応答信号の遅延時間を示す遅延情報を出力するように学習されている。そして、出力部は、入力部によって指示信号が受け付けられてから、信号エミュレータ用学習モデルが出力する遅延情報で示される遅延時間遅らせてから、応答信号を出力する。これにより、信号エミュレータは、第二モジュールの信号出力タイミングも含めて第二モジュールを模倣することができるので、模倣の精度が向上する。
また、前記応答信号の信号波形を複数、それぞれの識別情報と対応付けて予め記憶する応答波形記憶部をさらに備え、前記応答情報は、前記識別情報を示し、前記出力部は、前記応答情報で示される識別情報に対応する信号波形を前記応答波形記憶部から読み出して、その信号波形に応じた信号を、前記応答信号として出力することが好ましい。
この構成によれば、応答波形記憶部に、応答信号の信号波形が複数、それぞれの識別情報と対応付けて予め記憶されている。信号エミュレータ用学習モデルは、信号波形の識別情報を応答情報として出力する。そして、出力部は、その識別情報に対応する信号波形を応答波形記憶部から読み出してその信号波形の応答信号を第一モジュールへ出力する。これにより、信号エミュレータは、応答信号の信号波形も含めて第二モジュールを模倣することができるので、模倣の精度が向上する。
また、前記(2d)工程は、さらに、前記指示信号が検出されてから前記応答信号が検出されるまでの遅延時間を計測し、前記各組は、前記操作情報、前記指示情報、前記応答情報、及び前記遅延情報を対応付け、前記(c)工程は、前記各組の前記操作情報と前記指示情報とをニューラルネットワークに入力し、前記ニューラルネットワークからその指示情報と対応する応答情報とその遅延時間とを出力させるように、前記ニューラルネットワークの機械学習を実行することが好ましい。
この構成によれば、指示信号に対する応答信号の遅延時間を含めてニューラルネットワークを機械学習することができるので、信号エミュレータ用学習モデルを用いた信号エミュレータによる第二モジュールの模倣の精度が向上する。
また、前記(2d)工程は、さらに、前記検出された複数の応答信号の信号波形と、その各応答信号を識別する識別情報とを対応付けて応答波形記憶部に記憶させ、前記応答情報を前記識別情報とすることが好ましい。
この構成によれば、指示信号に対する応答信号の信号波形を含めてニューラルネットワークを機械学習することができるので、信号エミュレータ用学習モデルを用いた信号エミュレータによる第二モジュールの模倣の精度が向上する。
このような構成の信号エミュレータは、操作判別システムによってユーザの操作を画像から判別することが容易である。そのため、操作判別システムによって画像から判別されたユーザの操作を用いて装置を模倣することが容易である。画像認識用学習モデルの機械学習方法及び画像認識用学習モデルの機械学習システムは、操作判別システムに用いられる画像認識用学習モデルを機械学習することができる。そして、信号エミュレータ用学習モデルの機械学習方法は、信号エミュレータに用いられる信号エミュレータ用学習モデルを機械学習することができる。
本発明に係る操作判別システムの適用対象となる基板検査装置の構成を概略的に示す正面図である。 図1に示す基板検査装置の電気的構成の一例を示すブロック図である。 図2に示すタッチパネルディスプレイに表示される画面の一例を示す画面図である。 本発明の一実施形態に係る操作判別システム及び信号エミュレータの、主に電気的構成の一例を示すブロック図である。 図4に示す画像認識用学習モデルとして用いられるニューラルネットワークの一例を示す説明図である。 図4に示す信号エミュレータ用学習モデルとして用いられるニューラルネットワークの一例を示す説明図である。 図4に示す画像認識用学習モデルの機械学習方法を用いる機械学習システムの一例を示すブロック図である。 図7に示す機械学習システムによる画像認識用学習モデルの機械学習方法の一例を示すフローチャートである。 操作画像の一例を示す説明図である。 本発明の第一実施形態に係る信号エミュレータ用学習モデルの機械学習方法を用いる機械学習システムの一例を示すブロック図である。 操作情報、指示信号、及び応答信号の一例を示す信号波形図である。 図10に示す機械学習システムによる信号エミュレータ用学習モデルの機械学習方法の一例を示すフローチャートである。 図10に示す機械学習システムによる信号エミュレータ用学習モデルの機械学習方法の一例を示すフローチャートである。 図4に示す信号エミュレータの動作の一例を示すフローチャートである。 図4に示す信号エミュレータ1の構成の別の一例を示すブロック図である。 図10に示す機械学習システム2の構成の別の一例を示すブロック図である。 図16に示す信号エミュレータ用学習モデルの機械学習システムの動作の一例を示すフローチャートである。 図16に示す信号エミュレータ用学習モデルの機械学習システムの動作の一例を示すフローチャートである。 図15、図16に示す応答波形記憶部に記憶された信号波形の一例を示す説明図である。 図15、図16に示すニューラルネットワークの一例を示す説明図である。 図15に示す信号エミュレータの動作の一例を示すフローチャートである。
以下、本発明に係る実施形態を図面に基づいて説明する。なお、各図において同一の符号を付した構成は、同一の構成であることを示し、その説明を省略する。図1は、基板を検査する基板検査装置100の構成を概略的に示す正面図である。
図1に示す基板検査装置100は、筐体101を有している。筐体101の内部空間には、基板固定装置102と、検査部103,103と、検査部移動機構105とが主に設けられている。基板固定装置102は、検査対象となる基板104を所定の位置に固定するように構成されている。筐体101の側壁には、タッチパネルディスプレイ112(操作部)が取り付けられている。
検査部103,103は、基板固定装置102に固定された基板104を間に挟んでその上下に位置する。検査部103,103は、プローブPrを基板104表面の検査点に接触させることによって、基板104を検査する。検査部移動機構105は、検査部103,103を、筐体101内で適宜移動させて、プローブPrを基板104の検査点に接触させる。また、筐体101内には、基板104を搬送する図略の搬送機構が設けられている。
図1には、後述する操作判別システム4のカメラ41が記載されている。カメラ41は、タッチパネルディスプレイ112を含む領域を撮影するように設置されている。
図2は、図1に示す基板検査装置100の電気的構成の一例を示すブロック図である。図2に示す基板検査装置100は、第一モジュール110と、第二モジュール120とを備えている。第一モジュール110は、例えば、制御部111とタッチパネルディスプレイ112とを含む。第二モジュール120は、例えば、基板搬送用モータ121、基板検出センサ122、モータドライバ123、プローブ駆動用モータ124、及びプログラマブルコントローラ(PLC)125を備えている。
なお、第一モジュール及び第二モジュールは、基板検査装置100の構成要素に限らない。第一モジュールが第二モジュールへ指示信号を出力し、第二モジュールが指示信号に応じて応答信号を出力するものであればよい。
第一モジュール110と第二モジュール120との間は信号経路L1,L2,・・・によって接続されている。この信号経路L1,L2,・・・によって、指示信号SC1,SC2,・・・および応答信号SR1,SR2,・・・の送受信が行われる。以下、指示信号SC1,SC2,・・・を総称して指示信号SCと称し、応答信号SR1,SR2,・・・を総称して応答信号SRと称し、信号経路L1,L2,・・・を総称して信号経路Lと称する。
タッチパネルディスプレイ112は、例えば液晶表示パネルとタッチパネルとが組み合わされている。タッチパネルディスプレイ112は、いわゆるボタンやアイコン等の、ユーザ(作業者)の操作を受け付ける操作画面を含む所定の画面を表示する。タッチパネルディスプレイ112は、ユーザのタッチ操作(操作指示)を受け付けて、そのタッチ操作を示すタッチ信号を制御部111へ出力する。
タッチパネルディスプレイ112は、操作部の一例に相当している。なお、操作部は、タッチパネルディスプレイに限られず、タッチパネルディスプレイ112の代わりに、表示装置と、例えばキーボードやマウス等の操作入力装置(操作部)とを備えてもよい。しかしながら、タッチパネルディスプレイ112は、画面に表示されたアイコンやボタンをタッチするというように、操作が単純であるので、カメラ41で撮像された操作画像から、後述する操作判別システム4によって操作内容を判別することが容易である。従って、タッチパネルディスプレイ112は、操作部として好適である。
図3は、図2に示すタッチパネルディスプレイ112に表示される画面の一例を示す画面図である。図3に示す操作画面G1には、例えば、自動運転ボタンB1、基板搬入ボタンB2、基板検査ボタンB3、基板搬出ボタンB4、及びプローブ移動ボタンB5〜B8が表示されている。
自動運転ボタンB1は基板検査装置100の自動運転を指示するボタンであり、基板搬入ボタンB2は基板を基板検査装置100の検査位置に搬入させるためのボタンであり、基板検査ボタンB3は検査位置の基板を検査させるためのボタンであり、基板搬出ボタンB4は検査位置から外部へ基板を搬出させるためのボタンであり、プローブ移動ボタンB5〜B8は、プローブを基板に接触させる位置を移動させるためのボタンである。
自動運転ボタンB1、基板搬入ボタンB2、基板検査ボタンB3、基板搬出ボタンB4、及びプローブ移動ボタンB5〜B8は、自動運転、基板搬入、基板検査、基板搬出、移動(−X)、移動(+X)、移動(−Y)、及び移動(+Y)の各操作指示に対応している。
タッチパネルディスプレイ112は、これらのボタンがタッチされた場合、タッチされたボタンを示すタッチ信号を制御部111へ出力する。以下、自動運転ボタンB1、基板搬入ボタンB2、基板検査ボタンB3、基板搬出ボタンB4、及びプローブ移動ボタンB5〜B8を総称して、操作ボタンBと称する。
基板検査装置100は、例えば、量産工程などで基板の検査を行うための運転モードと、基板検査装置100の調整を行うために試験的に基板検査装置100を動作させる調整モードとを有している。自動運転ボタンB1は、運転モードのときに用いられるボタンであり、基板搬入ボタンB2、基板検査ボタンB3、基板搬出ボタンB4、及びプローブ移動ボタンB5〜B8は、調整モードのときに用いられるボタンである。
なお、自動運転ボタンB1は運転モードのときのみ表示され、基板搬入ボタンB2、基板検査ボタンB3、基板搬出ボタンB4、及びプローブ移動ボタンB5〜B8は調整モードのときのみ表示されるようにしてもよい。
制御部111は、例えば所定の演算処理を実行するCPU(Central Processing Unit)、データを一時的に記憶するRAM(Random Access Memory)、制御プログラム114等を記憶する不揮発性の記憶装置、及びこれらの周辺回路等を備えて構成された、いわゆるマイクロコンピュータである。制御部111は、制御プログラム114を実行することによって、基板検査装置100の動作を制御する。
また、制御部111は、タッチパネルディスプレイ112から出力されたタッチ信号に応じた操作指示を受け付ける。そして、制御部111は、受け付けられた操作指示に応じた指示信号SCを第二モジュール120へ出力することによって、基板検査装置100の動作を制御する。
第二モジュール120は、基板検査装置100の機構部分に相当している。基板搬送用モータ121は、検査対象の基板を、検査位置まで搬送する搬送機構を駆動するモータである。基板搬送用モータ121は、例えばプログラマブルコントローラ125からの制御信号に応じて回転駆動する。基板検出センサ122は、搬送機構によって搬送された基板104が、検査位置に配置されたときに、基板104の検出信号をプログラマブルコントローラ125へ出力する光センサである。
プローブ駆動用モータ124は、プローブを移動させて基板に接触させる駆動機構を駆動させるモータである。モータドライバ123は、プローブ駆動用モータ124の動作を制御するコントローラである。モータドライバ123は、例えばプログラマブルコントローラ125からの制御信号に応じてプローブ駆動用モータ124を駆動させると共に、その制御信号に応じた信号をプログラマブルコントローラ125へ出力する。
プログラマブルコントローラ125は、第二モジュール120内の、基板搬送用モータ121、基板検出センサ122、及びモータドライバ123等の各部を制御したり監視したりするコントローラである。プログラマブルコントローラ125は、予め記憶された制御プログラムに基づき動作する。
プログラマブルコントローラ125は、その制御プログラムの実行状況に応じた複数の状態を有するいわゆるステートマシンである。そのため、制御部111から同じ指示信号SCが出力された場合であっても、その指示信号SCを受け付けたときのプログラマブルコントローラ125の状態によって、プログラマブルコントローラ125から出力される制御信号や、応答信号SRが異なることになる。
制御部111は、制御プログラム114を実行することによって、例えばユーザによるタッチパネルディスプレイ112のタッチ操作に応じて指示信号SCをプログラマブルコントローラ125へ出力する。
プログラマブルコントローラ125は、例えば、指示信号SCに応じて、基板搬送用モータ121を駆動させて基板を搬送させ、基板検出センサ122の検出信号に基づき検査位置に基板が配置されるように位置決めしたり、モータドライバ123を制御してプローブ駆動用モータ124を駆動させ、プローブを移動させて基板に接触させたりする。
そして、プログラマブルコントローラ125は、例えばこのような制御の進捗状況、正常か異常か、といったことを示す応答信号SRを制御部111へ出力する。
制御部111は、第二モジュール120に対して指示信号SCを出力し、その信号に応答して第二モジュール120から出力される応答信号SRを受信することによって処理を進行していく。従って、制御プログラム114をデバックする場合には、通常、第一モジュール110と第二モジュール120とを接続して動作させる必要がある。
(第一実施形態)
図4は、本発明の一実施形態に係る操作判別システム4及び信号エミュレータ1の、主に電気的構成の一例を示すブロック図である。図4は、第二モジュール120の代わりに信号エミュレータ1を第一モジュール110に接続し、操作判別システム4を信号エミュレータ1に接続し、タッチパネルディスプレイ112を含む領域を撮像するようにカメラ41が設置された状態を示している。
このように第一モジュール110、操作判別システム4、及び信号エミュレータ1を配設し、信号エミュレータ1が第二モジュール120を模倣することによって、第二モジュール120が無くても制御プログラム114をデバック可能にする。
図4に示す操作判別システム4は、カメラ41(撮像部)と、第一人工知能処理部42とを備えている。カメラ41は、例えばCCD(Charge Coupled Device)撮像素子等を備えて構成されている。カメラ41は、作業者(ユーザ)によるタッチパネルディスプレイ112の操作を撮像し、その画像データを操作画像として第一人工知能処理部42へ出力する。操作画像は、動画であってもよく、静止画を所定の時間間隔毎に撮影したものであってもよい。
第一人工知能処理部42は、例えば所定の演算処理を実行するCPU、データを一時的に記憶するRAM、画像認識用学習モデル43や所定のプログラム等を記憶する不揮発性の記憶装置、及びこれらの周辺回路等を備えて構成された、いわゆるマイクロコンピュータである。第一人工知能処理部42は、人工知能の演算に適したAI(Artificial Intelligence)チップ等の、人工知能用処理回路を備えていてもよい。
第一人工知能処理部42は、カメラ41によって撮像された画像を画像認識用学習モデル43へ入力することによって、画像認識用学習モデル43から、その操作を示す操作情報SOPを出力させる。画像認識用学習モデル43は、例えばニューラルネットワーク9を用いて構成されており、操作画像に基づきその操作を示す操作情報SOPを出力するように、予め学習されている。
画像認識用学習モデル43は、例えば、ニューラルネットワーク9として機能する人工知能プログラムと、ニューラルネットワーク9の各ニューロンに対して学習された重み情報とが組み合わされて構成されている。画像認識用学習モデル43は、例えば後述する画像認識用学習モデルの機械学習方法によって生成することができる。上記人工知能プログラムには、ニューラルネットワークとして機能する、プログラムに準ずる実行可能な形式を有するデータ構造のものを含む。
画像認識用学習モデル43は、AIチップ等の人工知能用処理回路によって構成されるニューラルネットワーク9と、学習で得られた重み情報とによって構成されていてもよい。その場合、記憶装置には、重み情報のみが記憶されていてもよい。そして、第二人工知能処理部11が記憶装置に記憶された重み情報を読み出して、ニューラルネットワーク9に設定することによって、信号エミュレータ用学習モデル10が構成されるようにしてもよい。
図5は、図4に示す画像認識用学習モデル43として用いられるニューラルネットワーク9の一例を示す説明図である。図4に示すニューラルネットワーク9は、画像処理部91と、操作判定部92とが連結されて構成されている。画像処理部91は、いわゆるCNN(Convolutional Neural Network)として知られているニューラルネットワークから構成することができる。画像処理部91は、例えば、プーリング層910、畳み込み層911、正規化層912、プーリング層913、及び全結合層914が連結されて構成されている。
画像処理部91は、CNNによって、入力された操作画像の特徴を抽出し、その特徴を示す特徴データを操作判定部92へ出力する。なお、画像処理部91は、正規化層912及び/又はプーリング層913を、必ずしも備えていなくてもよい。
このようなCNNによる画像処理については、例えば「畳み込みニューラルネットワークの仕組み(https://postd.cc/how-do-convolutional-neural-networks-work/)」、「あたらしい人工知能の教科書(多田智史著、株式会社翔泳社発行)」、特開2018−10332号公報等に記載の方法を適用することができる。
操作判定部92は、例えば多層パーセプトロンとされている。操作判定部92は、例えば全結合層921,922、及び出力層923が連結されて構成されている。画像処理部91及び操作判定部92としては、種々のニューラルネットワークを用いることができ、その層数やニューロン数も適宜変更可能である。
プーリング層910には、カメラ41で撮像された操作画像が入力される。操作画像は、例えば操作画面G1に表示された操作ボタンBのいずれかを作業者の指がタッチしている画像、すなわち操作ボタンBのいずれかと作業者の指とが重なった画像である。
出力層923は、例えば図3に示す自動運転ボタンB1、基板搬入ボタンB2、基板検査ボタンB3、基板搬出ボタンB4、及びプローブ移動ボタンB5〜B8によって受け付けられる自動運転、基板搬入、基板検査、基板搬出、移動(−X)、移動(+X)、移動(−Y)、及び移動(+Y)の各操作指示に対応するニューロンを備えている。
そして、例えば自動運転ボタンB1と指が重なった操作画像がプーリング層910に入力されると、出力層923の自動運転に対応するニューロンがオンし、例えば基板搬入ボタンB2と指が重なった操作画像がプーリング層910に入力されると出力層923の基板搬入に対応するニューロンがオンする。このように、出力層923の各ニューロンのオン、オフによって操作の判定結果が表されており、この各ニューロンのオン、オフを示す信号が、例えば8ビットの操作情報SOPとして信号エミュレータ1へ出力される。
操作情報SOPのデータ長は、操作の数に応じて適宜設定すればよい。あるいは、出力層923の各ニューロンの出力をそのまま信号エミュレータ1へ出力してもよく、ニューラルネットワーク9とニューラルネットワーク3とを連結し、出力層923の各ニューロンが、そのままニューラルネットワーク3の入力層31の各ニューロンに接続されていてもよい。
図4に示す信号エミュレータ1は、第二人工知能処理部11と、入出力部12(入力部、出力部)とを備えている。入出力部12は、入力部及び出力部の一例に相当している。第二人工知能処理部11は、信号エミュレータ用学習モデル10を含む。
入出力部12は、第一モジュール110から出力された指示信号SC1,SC2,・・・と、操作判別システム4から出力された操作情報SOPとを受け付けて、受け付けられた各指示信号を表す指示情報DC1,DC2,・・・と、操作情報SOPとを第二人工知能処理部11へ出力する。以下、指示情報DC1,DC2,・・・を総称して指示情報DCと称する。また、入出力部12は、図略のタイマ回路等によって、各指示信号SCが受け付けられた後の経過時間を、それぞれ計時する。
第二人工知能処理部11は、例えば所定の演算処理を実行するCPU、データを一時的に記憶するRAM、信号エミュレータ用学習モデル10や所定のプログラム等を記憶する不揮発性の記憶装置、及びこれらの周辺回路等を備えて構成された、いわゆるマイクロコンピュータである。第二人工知能処理部11は、人工知能の演算に適したAIチップ等の、人工知能用処理回路を備えていてもよい。
第二人工知能処理部11は、操作情報SOPと指示情報DCとを信号エミュレータ用学習モデル10へ入力し、信号エミュレータ用学習モデル10から応答情報DR1,DR2,・・・と、遅延情報DD1,DD2,・・・とを出力させる。以下、応答情報DR1,DR2,・・・を総称して応答情報DRと称し、遅延情報DD1,DD2,・・・を総称して遅延情報DDと称する。
入出力部12は、信号エミュレータ用学習モデル10から出力された応答情報DRと遅延情報DDとに基づいて、応答情報DRに対応する指示信号SCが受け付けられてから遅延情報DDで示される遅延時間経過したとき、応答情報DRに応じた応答信号SRを第一モジュール110へ出力する。
信号エミュレータ用学習モデル10は、例えば、ニューラルネットワーク3として機能する人工知能プログラムと、そのニューラルネットワーク3のニューロンに対して学習された重み情報とが組み合わされて構成されている。信号エミュレータ用学習モデル10は、例えば後述する信号エミュレータ用学習モデルの機械学習方法によって生成することができる。上記人工知能プログラムには、ニューラルネットワーク3として機能する、プログラムに準ずる実行可能な形式を有するデータ構造のものを含む。
信号エミュレータ用学習モデル10は、AIチップ等の人工知能用処理回路によって構成されるニューラルネットワーク3と、学習で得られた重み情報とによって構成されていてもよい。その場合、記憶装置には、重み情報のみが記憶されていてもよい。そして、第二人工知能処理部11が記憶装置に記憶された重み情報を読み出して、ニューラルネットワーク3に設定することによって、信号エミュレータ用学習モデル10が構成されるようにしてもよい。
図6は、図4に示す信号エミュレータ用学習モデル10として用いられるニューラルネットワークの一例を示す説明図である。図6に示すニューラルネットワーク3は、例えば入力層31、中間層32、及び出力層33を含む、多層パーセプトロンとされている。なお、ニューラルネットワーク3として、中間層32の出力を入力層31に入力する、いわゆるリカレントニューラルネットワーク(RNN:Recurrent Neural Network)を用いてもよい。ニューラルネットワーク3としてリカレントニューラルネットワークを用いることによって、時間変化を学習することが可能となる。
入力層31及び中間層32のニューロン数は、例えば第一モジュール110から出力される指示信号SC(指示情報DC)の数に、操作情報SOPの数を加えた数にされている。なお、操作情報SOPをデータとして扱う例を示したが、ニューラルネットワーク9の出力層923の各ニューロンと接続されるニューロンを入力層31に設けてもよい。
出力層33には、各指示情報DCに対応する応答情報DRと遅延情報DDとを出力するニューロンが設けられている。なお、ニューラルネットワークの層数や各層のニューロン数は、適宜設定すればよく、図6に示す例に限らない。
入力層31の各ニューロンには、操作情報SOPと、各指示情報DCとが入力される。指示情報DCは、指示信号SCを1,0の二値で表したデータであってもよく、指示信号SCをコード化したデータであってもよい。応答情報DRは、応答信号SRを1,0の二値で表したデータであってもよく、応答信号SRをコード化したデータであってもよい。遅延情報DDは、指示信号SCが受信されてから応答信号SRを送信するまでの遅延時間を示すデータである。
図6に示す例では、操作情報SOP及び各指示情報DCが、入力層31の全てのニューロンに入力される。入力層31の各ニューロンの出力は、それぞれ、中間層32の全てのニューロンに入力され、中間層32の各ニューロンの出力は、それぞれ、出力層33の全てのニューロンに入力される。図6では、ニューロン及び結線の記載を部分的に省略している。
ニューラルネットワーク9,3の各ニューロンへの入力に対しては、それぞれ重みwが設定される。出力層923,33以外のニューロンの活性化関数としては、例えばReLU(Rectified Linear Unit:正規化線形関数、ランプ関数)として知られている関数を用いることができる。ReLUは、y=φ(x)=x (x>0)、y=φ(x)=0 (x<0)のように表される関数である。
出力層923,33のニューロンの活性化関数としては、例えばy=φ(x)=xのような関数を用いることができる。
図7は、図4に示す画像認識用学習モデル43の機械学習方法を用いる機械学習システム5の一例を示すブロック図である。図7では、機械学習システム5に、第一モジュール110aが接続されている。
第一モジュール110aは、制御部111aが、タッチパネルディスプレイ112から出力されたタッチ信号を受信し、そのタッチ信号に対応する操作情報SOPを生成して機械学習システム5の機械学習部44へ出力するようにされている。なお、必ずしも制御部111aを用いる必要はない。例えば、作業者がタッチパネルディスプレイ112をタッチして、そのタッチした操作ボタンBに対応する操作情報SOPを機械学習部44へ入力するようにしてもよい。
機械学習システム5は、カメラ41と、機械学習部44とを備えている。機械学習部44は、例えば所定の演算処理を実行するCPU、データを一時的に記憶するRAM、画像認識用学習モデル43や所定のプログラム等を記憶する不揮発性の記憶装置、及びこれらの周辺回路等を備えて構成された、いわゆるコンピュータシステムである。機械学習システム5は、人工知能の演算に適したAIチップ等の、人工知能用処理回路を備えていてもよい。
機械学習部44は、操作判別システム4と一体に構成されていてもよい。すなわち、操作判別システム4が、機械学習部44の構成を含んでいてもよい。また、信号エミュレータ1が、第一人工知能処理部42及び/又は機械学習部44を含み、信号エミュレータ1とカメラ41とで操作判別システム4及び/又は機械学習システム5が構成されてもよい。
機械学習部44は、カメラ41によって撮像された操作画像と、第一モジュール110a等から得られた操作情報SOPとを教師データとし、操作画像を画像認識用学習モデル43に入力し、画像認識用学習モデル43から操作情報SOPを出力させるように、ニューラルネットワーク9を機械学習する。
ニューラルネットワーク9の機械学習には、例えば、誤差逆伝播法(バックプロパゲーション)、Boot Strap法、Feedback Alignment法、Synthetic Gradient法、Target Prop法等の、種々の学習方式を用いることができる。
図8は、図7に示す機械学習システム5による画像認識用学習モデル43の機械学習方法の一例を示すフローチャートである。まず、作業者は、タッチパネルディスプレイ112をタッチ操作しつつ、カメラ41によってタッチパネルディスプレイ112及びタッチ操作している手指が写った操作画像を撮像させる(ステップS101)。
図9は、操作画像の一例を示す説明図である。図9では、基板搬入ボタンB2をタッチした場合の操作画像G2を示している。このようなタッチ操作を、各操作ボタンBに対して、タッチの仕方を様々に変化させつつ、カメラ41によって操作画像を撮像させる。
機械学習部44は、各タッチ操作が行われる都度、第一モジュール110a等から操作情報SOPを取得する(ステップS102)。そして、このようにして得られた操作画像と操作情報SOPとを教師データとし、操作画像をニューラルネットワーク9に入力し、ニューラルネットワーク9の出力が操作情報SOPと一致するように、すなわちニューラルネットワーク9から操作情報SOPを出力させるように各ニューロンの重み情報wを調整することによって、画像認識用学習モデル43を機械学習する(ステップS103)。
このようにして学習された学習済の画像認識用学習モデル43、又はその重み情報wを、図4、図10に示す第一人工知能処理部42に記憶させる。これにより、上述したように、操作判別システム4は、カメラ41によって撮像された画像を画像認識用学習モデル43へ入力することによって、画像認識用学習モデル43から、その操作を示す操作情報SOPを出力することが可能になる。
図10は、本発明の第一実施形態に係る信号エミュレータ用学習モデルの機械学習方法を用いる機械学習システム2の一例を示すブロック図である。図10では、第一モジュール110と第二モジュール120とが連結されて動作可能にされた基板検査装置100と、機械学習システム2とが接続され、さらに機械学習システム2に操作判別システム4が接続された状態を示している。
図10に示す機械学習システム2は、例えば所定の演算処理を実行するCPU、データを一時的に記憶するRAM、信号エミュレータ用学習モデル10や所定のプログラム等を記憶したり、監視情報記憶部22として用いられたりする不揮発性の記憶装置、及びこれらの周辺回路等を備えて構成された、いわゆるコンピュータシステムである。機械学習システム2は、人工知能の演算に適したAIチップ等の、人工知能用処理回路を備えていてもよい。
機械学習システム2は、信号エミュレータ用学習モデル10を備え、例えば記憶装置に記憶されたプログラムを実行することによって、監視情報取得部21、及び機械学習部23として機能する。
なお、機械学習システム2は、必ずしも一体に構成された装置で有る必要はなく、機械学習システム2の各部が複数の装置に分散されて構成されていてもよい。また、機械学習システム2は、信号エミュレータ1と一体に構成されていてもよい。すなわち、信号エミュレータ1が、機械学習システム2の構成を含んでいてもよい。
監視情報取得部21は、第一モジュール110と第二モジュール120との間で信号を伝達するための信号経路Lと、操作判別システム4から出力される操作情報SOPとを監視し、操作判別システム4から出力された操作情報SOPと、第一モジュール110から出力された指示信号SCと、第二モジュールから出力された応答信号SRとを検出し、指示信号SCに対する応答信号SRの遅延時間Tdを計測し、指示信号SC、応答信号SR、及び遅延時間Tdを表す指示情報DC、応答情報DR、及び遅延情報DDと、操作情報SOPとを対応付けた組を、複数組、監視情報として監視情報記憶部22に記憶させる。
機械学習部23は、監視情報記憶部22に記憶された監視情報を教師データとして、各組の操作情報SOPと指示情報DCとをニューラルネットワーク3に入力し、ニューラルネットワーク3からその指示情報DCと対応する応答情報DRとその遅延時間Tdを示す遅延情報DDとを出力させるように、ニューラルネットワーク3の機械学習を実行する。
ニューラルネットワーク3の機械学習には、例えば、誤差逆伝播法(バックプロパゲーション)、Boot Strap法、Feedback Alignment法、Synthetic Gradient法、Target Prop法等の、種々の学習方式を用いることができる。
次に、図10に示す機械学習システム2による信号エミュレータ用学習モデル10の機械学習方法について説明する。図11は、操作情報SOP、指示信号SC、及び応答信号SRの一例を示す信号波形図である。信号エミュレータ用学習モデル10を機械学習する場合、まず、作業者は、基板検査装置100の信号経路Lを機械学習システム2に接続し、制御部111によって制御プログラム114を実行させて基板検査装置100を動作させる(工程(2a))。
そして、例えば作業者が、いずれかの操作ボタンBをタッチすると、その操作画像がカメラ41によって撮像される(工程(2b))。第一人工知能処理部42は、その操作画像を学習済の画像認識用学習モデル43へ入力し、画像認識用学習モデル43から操作情報SOPを機械学習システム2へ出力させる(工程(2c))。
制御部111は、タッチされた操作ボタンBに対応する動作を第二モジュール120に指示するための指示信号SCを出力し、その指示信号SCに応じて第二モジュール120から応答信号SRが出力される。以下、操作の都度得られる操作情報SOPに番号を付して、操作情報SOP1,SOP2,SOP3・・・のように表記する。
例えば、作業者が自動運転ボタンB1をタッチすると、操作判別システム4は、自動運転ボタンB1に対応する操作情報SOP1を出力し、制御部111は、自動運転を開始して基板を検査位置に搬送させるべく、基板搬送用モータ121の駆動を要求する指示信号SC1をプログラマブルコントローラ125へ出力する。作業者が自動運転ボタンB1をタッチする状況では、プログラマブルコントローラ125は、自動運転を受付可能な状態になっている。すなわち、作業者の操作とプログラマブルコントローラ125の状態との間には、相関関係がある。そして、プログラマブルコントローラ125は、指示信号SC1に応じて、自動運転のために基板を検査位置に搬送させるように基板搬送用モータ121を駆動させ、その制御動作に応じた応答信号SR1を出力する。
作業者が他の操作ボタンBをタッチした場合、その操作ボタンBに対応する操作情報SOP2が操作判別システム4から機械学習システム2へ出力され、指示信号SC2が制御部111からプログラマブルコントローラ125へ出力される。プログラマブルコントローラ125は、そのときのプログラマブルコントローラ125の状態と、指示信号SC2とに応じた制御動作を行うと共に、その制御動作に応じた応答信号SR2を出力する。
作業者が基板搬入ボタンB2をタッチした場合、操作判別システム4は、基板搬入ボタンB2に対応する操作情報SOP3を機械学習システム2へ出力し、制御部111は、基板を検査位置に搬送させるべく、基板搬送用モータ121の駆動を要求する指示信号SC3をプログラマブルコントローラ125へ出力する。基板搬入ボタンB2は、上述した調整モードのときに用いられるボタンであるから、作業者が基板搬入ボタンB2をタッチする状況では、プログラマブルコントローラ125は、基板検査装置100の調整を受付可能な状態になっている。すなわち、作業者の操作とプログラマブルコントローラ125の状態との間には、相関関係がある。そして、プログラマブルコントローラ125は、指示信号SC3に応じて、装置の調整のために基板を検査位置に搬送させるように基板搬送用モータ121を駆動させ、その制御動作に応じた応答信号SR3を出力する。
ここで、指示信号SC1と指示信号SC3とは、いずれも基板搬送用モータ121の駆動を要求する同じ信号である。しかしながら、指示信号SC1を受け付けたときと、指示信号SC3を受け付けたときとでは、プログラマブルコントローラ125の状態が異なるため、応答信号SR1と応答信号SR3とは、異なる信号になっている。
このように、プログラマブルコントローラ125のようなステートマシンを備えた第二モジュール120は、ステートマシンの状態に応じて、同じ指示信号SCに対して異なる応答信号SRを出力する場合がある。ステートマシンの状態を外部から知ることはできないため、指示信号SCと応答信号SRとを用いてニューラルネットワーク3を機械学習したとしても、このようなステートマシンを備えた第二モジュール120を模倣することは困難である。
一方、上述したように、作業者の操作とステートマシンであるプログラマブルコントローラ125の状態との間には、相関関係がある。そこで、操作判別システム4から操作情報SOPを出力させ、この操作情報SOPを含めてニューラルネットワーク3を学習させることによって、ステートマシンを備えた第二モジュール120を模倣することが可能になる。
図12、図13は、図10に示す機械学習システム2による信号エミュレータ用学習モデルの機械学習方法の一例を示すフローチャートである。以下のフローチャートにおいて、同一の処理には同一のステップ番号を付してその説明を省略する。
まず、作業者が操作ボタンBのタッチ操作を行うと、操作判別システム4から操作情報SOPが出力され、制御部111から指示信号SCが出力され、第二モジュール120から応答信号SRが出力される。監視情報取得部21は、操作判別システム4の出力及び信号経路Lを監視し、操作情報SOP、指示信号SC、及び応答信号SRの組を複数組検出する(ステップS1:工程(2b)(2c))。監視情報取得部21は、指示信号SC及び応答信号SRを検出する際に、指示信号SCに対する応答信号SRの遅延時間Tdを計測する(ステップS2)。
次に、監視情報取得部21は、指示信号SC、応答信号SR、及び遅延時間Tdを示す、指示情報DC、応答情報DR、及び遅延情報DDと、操作情報SOPとを対応付けた組を、複数、ここではN組、監視情報として監視情報記憶部22に記憶させる(ステップS3:工程(2d))。
ここで、監視情報には、正常時の指示情報DC、応答情報DR、及び遅延情報DDの組と、異常時の指示情報DC、応答情報DR、及び遅延情報DDの組とが含まれていることが好ましい。
次に、機械学習部23は、N組のデータの中から、例えばランダムに任意の組数のデータ、例えばN/2組のデータを教師データとして選択し、残りのデータ、例えば残りのN/2組のデータを評価データとして選択する(ステップS4)。
次に、まだ学習していない教師データの中から、操作情報SOPi、指示情報DCi、応答情報DRi、及び遅延情報DDiの組を学習対象として選択し(ステップS5)、教師データの操作情報SOPi及び指示情報DCiを、ニューラルネットワーク3の入力層31における、操作情報SOP及び指示情報DCiに対応するニューロンへ入力し(ステップS6)、ニューラルネットワーク3を実行する(ステップS7)。
次に、機械学習部23は、出力層33から出力された応答情報DRi及び遅延情報DDiと、教師データの応答情報DRi及び遅延情報DDiとの差異を減少させるように、例えば誤差逆伝播法等の学習方法によって、各ニューロンの各入力に対応する重みwを調節する(ステップS8)。ステップS5〜S8は、工程(2e)の一例に相当している。
次に、機械学習部23は、全ての教師データの学習が終了したか否かをチェックし(ステップS9)、まだ学習していないデータがあれば(ステップS9でNO)、残りの教師データを学習するべくステップS5〜S9を繰り返し、全ての教師データが学習済であれば(ステップS9でYES)、学習結果を評価するべくステップS11へ移行する。
次に、ステップS11において、機械学習部23は、まだ評価していない評価データの中から、操作情報SOPi、指示情報DCi、応答情報DRi、及び遅延情報DDiの組を評価対象として選択し(ステップS11)、評価データの操作情報SOPiと指示情報DCiとを、ニューラルネットワーク3の入力層31における、操作情報SOP及び指示情報DCiに対応するニューロンへ入力し(ステップS12)、ニューラルネットワーク3を実行する(ステップS13)。
次に、機械学習部23は、出力層33から出力された応答情報DRi及び遅延情報DDiと、評価データの応答情報DRi及び遅延情報DDiとを比較することにより評価する(ステップS14)。
そして、比較結果が一致しなければ(ステップS15でNO)、ステップS4〜S9の機械学習が不充分であると考えられるから、機械学習部23は、N組のデータの中から、ステップS4とは異なる選び方で新たな任意の組数のデータ、例えばN/2組のデータを教師データとして選択し、残りのデータ、例えばN/2組のデータを評価データとして選択し(ステップS16)、再びステップS5以降の処理を繰り返す。
一方、比較結果が一致すれば(ステップS15でYES)、機械学習部23は、全ての評価データの評価が終了したか否かをチェックし(ステップS17)、まだ評価していないデータがあれば(ステップS17でNO)、残りの評価データを評価するべくステップS11〜S17を繰り返し、全ての評価データが評価済であれば(ステップS17でYES)ニューラルネットワーク3の学習が終了したことになるから、機械学習を終了する。これにより、学習済の信号エミュレータ用学習モデル10が、機械学習システム2の記憶装置に記憶されたことになる。ステップS4〜S17は、工程(2e)の一例に相当している。
以上、ステップS1〜S17の処理により、信号エミュレータ用学習モデル10を機械学習することができる。なお、一つの指示信号SCに対して一つの応答信号SRが出力される例を示したが、複数の指示信号SCに対して複数の応答信号SRが出力されてもよく、一つの指示信号SCに対して複数の応答信号SRが出力されてもよく、複数の指示信号SCに対して一つの応答信号SRが出力されてもよい。また、必ずしもステップS11〜S17を実行する必要はなく、ステップS9で全ての教師データが学習済であれば(ステップS9でYES)、そこで学習を終了してもよい。
このようにして得られた信号エミュレータ用学習モデル10、又は信号エミュレータ用学習モデル10の重み情報を、例えば図略の通信回路を用いて信号エミュレータ1へ送信することにより信号エミュレータ1に記憶させてもよく、例えば図略の記憶媒体に記憶させ、信号エミュレータ1によってその記憶媒体から信号エミュレータ用学習モデル10又はその重み情報を読み出させ、その信号エミュレータ用学習モデル10又は重み情報を信号エミュレータ1に記憶させてもよい。
機械学習システム2で用いられるニューラルネットワーク3の構造と、信号エミュレータ1が備える人工知能用処理回路や人工知能プログラムによって構成されるニューラルネットワーク3の構造とを同一構造とすれば、あるいは、機械学習システム2と信号エミュレータ1とで同一のニューラルネットワーク3を用いる構成とすれば、機械学習システム2での学習で得られる信号エミュレータ用学習モデル10の重み情報のみを信号エミュレータ1に記憶させ、その重み情報を信号エミュレータ1のニューラルネットワーク3と組み合わせることによって、機械学習方法で学習された信号エミュレータ用学習モデル10を信号エミュレータ1において再現することができる。このようにして再現された学習済モデルを信号エミュレータ用学習モデル10としてもよい。
基板検査装置100の製造メーカは、例えば基板検査装置100の出荷時に、基板検査装置100を実際に動作させて学習させた信号エミュレータ用学習モデル10、又はその重み情報を、サーバ装置や記憶媒体等に記憶させて保管しておく。そして、例えばプログラムのアップデート等のために制御プログラム114に新機能を追加したり、改造したりした際に、保管していた信号エミュレータ用学習モデル10、又はその重み情報を信号エミュレータ1に読み込ませればよい。そして、第二モジュール120の代わりに信号エミュレータ1を第一モジュール110に接続し、操作判別システム4を信号エミュレータ1に接続することによって、第二モジュール120が無くても、制御プログラム114のデバッグを行うことが可能になる。
次に、図4に示す信号エミュレータ1の動作について説明する。図14は、図4に示す信号エミュレータ1の動作の一例を示すフローチャートである。まず、作業者が、図4に示すように第一モジュール110の信号経路Lに信号エミュレータ1を取り付け、操作判別システム4を信号エミュレータ1に接続し、カメラ41でタッチパネルディスプレイ112を撮像させ、第一モジュール110を動作させて制御部111によって制御プログラム114を実行させる。
入出力部12は、操作判別システム4及び第一モジュール110の出力信号を監視する。そして、作業者による操作ボタンBのタッチ操作に応じて操作判別システム4から操作情報SOPが出力され、制御部111から指示信号SCが出力されると、その操作情報SOP及び指示信号SCが入出力部12によって検出される(ステップS21)。
そして、入出力部12は、指示信号SCから指示情報DCを生成し、操作情報SOP及び指示情報DCを信号エミュレータ用学習モデル10へ出力する(ステップS22)。また、入出力部12は、指示信号SCが検出された後の経過時間を計時する(ステップS23)。
第二人工知能処理部11は、信号エミュレータ用学習モデル10を実行する(ステップS24)。そうすると、信号エミュレータ用学習モデル10から、操作情報SOP及び指示情報DCに応じた応答情報DRと遅延情報DDとが入出力部12へ出力される(ステップS25)。
次に、入出力部12は、出力された指示情報DCに対応する指示信号SCが検出されてから、遅延情報DDで示される遅延時間Tdが経過したタイミングで、応答情報DRで示される応答信号SRを第一モジュール110へ出力し(ステップS26)、以後、ステップS21〜S26を繰り返す。
これにより、信号エミュレータ1は、第一モジュール110から出力された操作情報SOP及び指示信号SCに対し、図11に示すような、第二モジュール120が出力する応答信号SRと同様の信号を第一モジュール110へ出力することができる。
ここで、信号エミュレータ用学習モデル10は、操作情報SOPと指示信号SCとの組合せに基づいて第二モジュール120の出力を学習しており、操作情報SOPとプログラマブルコントローラ125の動作状態との間には相関関係がある。従って、第二モジュール120がプログラマブルコントローラ125のようなステートマシンを備えている場合であっても、信号エミュレータ1は、第二モジュール120を模倣することが可能になる。
また、基板検査装置100を実際に動作させ、機械学習システム2によって信号エミュレータ用学習モデル10を機械学習させることによって、信号エミュレータ1による第二モジュール120の模倣が可能となるので、信号エミュレータ1は、第二モジュール120等の機械装置を模倣することが容易である。
なお、操作判別システム4を、信号エミュレータ1と組み合わせて用いる例を示したが、操作判別システム4の用途はこれに限定されるものではない。例えば、操作ボタンやキーボードの画像を、シートに印刷、又はプロジェクタによって映写し、この画像を操作判別システム4のカメラ41で撮像し、操作判別システム4によってタッチされたボタンやキーを判別することによって、シートやプロジェクタをキーボードとして機能させることが可能となる。
(第二実施形態)
図15は、図4に示す信号エミュレータ1の構成の別の一例を示すブロック図である。図16は、図10に示す機械学習システム2の構成の別の一例を示すブロック図である。
図15に示す信号エミュレータ1aは、信号エミュレータ1とは、第二人工知能処理部11a及び入出力部12aが、応答情報DR及び遅延情報DDの代わりに信号波形の波形番号ID(識別情報)を用いる点、信号エミュレータ用学習モデル10の代わりに信号エミュレータ用学習モデル10aを用いる点、及び応答波形記憶部13をさらに備える点が異なる。
図16に示す機械学習システム2aは、機械学習システム2とは、信号エミュレータ用学習モデル10の代わりに信号エミュレータ用学習モデル10aを用いる点、監視情報取得部21a、監視情報記憶部22a、及び機械学習部23aが応答情報DR及び遅延情報DDの代わりに信号波形の波形番号IDを用いる点、及び応答波形記憶部13をさらに備える点が異なる。波形番号ID(識別情報)は、応答情報の一例に相当している。
また、信号エミュレータ用学習モデル10aは、信号エミュレータ用学習モデル10とは、ニューラルネットワーク3の代わりにニューラルネットワーク3aを用いる点でことなる。ニューラルネットワーク3aは、ニューラルネットワーク3とは、応答情報DR及び遅延情報DDの代わりに波形番号IDを出力する点でことなる。
その他の点については信号エミュレータ1及び機械学習システム2と同様に構成されているのでその説明を省略し、以下、信号エミュレータ1a及び機械学習システム2aの特徴的な点について説明する。
図17、図18は、図16に示す信号エミュレータ用学習モデル10aの機械学習システム2aの動作の一例を示すフローチャートである。作業者が操作ボタンBのタッチ操作を行うと、操作判別システム4から操作情報SOPが出力され、制御部111から指示信号SCが出力され、第二モジュール120から応答信号SRが出力される。監視情報取得部21aは、操作判別システム4の出力及び信号経路Lを監視し、操作情報SOP、指示信号SC、及び応答信号SRの組を複数組検出する(ステップS1:工程(2b)(2c))。
監視情報取得部21aは、検出された応答信号SRの信号波形に波形番号IDを付与して応答波形記憶部13に記憶する(ステップS2a)。
図19は、図15、図16に示す応答波形記憶部13に記憶された信号波形の一例を示す説明図である。各信号波形には、ID1,ID2・・・の波形番号が対応付けられている。監視情報取得部21aは、例えば、応答信号SRを所定時間の間、一定のサンプリング間隔でサンプリングすることによって、応答信号SRの信号波形を取得することができる。
次に、監視情報取得部21aは、指示信号SCを表す指示情報DCと、操作情報SOPと、波形番号IDとを対応付けた組を、複数、ここではN組、監視情報として監視情報記憶部22に記憶させる(ステップS3a)。ステップS1〜S3aは、工程(2d)の一例に相当している。
ここで、監視情報には、正常時の指示情報DC及び波形番号IDの組と、異常時の指示情報DC及び波形番号IDの組とが含まれていることが好ましい。
次に、ステップS4を実行し、まだ学習していない教師データの中から、操作情報SOPi、指示情報DCi、及び波形番号IDiの組を学習対象として選択し(ステップS5a)、教師データの操作情報SOPi及び指示情報DCiを、ニューラルネットワーク3aの入力層31における、操作情報SOP及び指示情報DCiに対応するニューロンへ入力し(ステップS6a)、ニューラルネットワーク3aを実行する(ステップS7a)。
図20は、図15、図16に示すニューラルネットワーク3aの一例を示す説明図である。図20に示すニューラルネットワーク3aは、図6に示すニューラルネットワーク3とは、出力層33aのニューロンが、波形番号IDに対応して設けられている点でことなる。出力層33aのニューロンがオンした場合、そのオンしたニューロンに対応する波形番号IDが、信号エミュレータ用学習モデル10aの出力となる。
次に、機械学習部23aは、信号エミュレータ用学習モデル10aから出力された波形番号IDiと、教師データの波形番号IDiとの差異を減少させるように、例えば誤差逆伝播法等の学習方法によって、各ニューロンの各入力に対応する重みwを調節する(ステップS8a)。
次に、機械学習部23aは、全ての教師データの学習が終了したか否かをチェックし(ステップS9)、まだ学習していないデータがあれば(ステップS9でNO)、残りの教師データを学習するべくステップS5a〜S9を繰り返し、全ての教師データが学習済であれば(ステップS9でYES)、学習結果を評価するべくステップS11aへ移行する。
次に、ステップS11aにおいて、機械学習部23aは、まだ評価していない評価データの中から、操作情報SOPi、指示情報DCi、及び波形番号IDiの組を評価対象として選択し(ステップS11a)、評価データの操作情報SOPi及び指示情報DCiを、ニューラルネットワーク3aの入力層31における、操作情報SOP及び指示情報DCiに対応するニューロンへ入力し(ステップS12a)、ニューラルネットワーク3aを実行する(ステップS13a)。
次に、機械学習部23aは、出力層33から出力された波形番号IDiと、評価データの波形番号IDiとを比較することにより評価する(ステップS14a)。
そして、比較結果が一致しなければ(ステップS15でNO)、ステップS4〜S9の機械学習が不充分であると考えられるから、機械学習部23aは、N組のデータの中から、ステップS4とは異なる選び方で新たな任意の組数のデータ、例えばN/2組のデータを教師データとして選択し、残りのデータ、例えばN/2組のデータを評価データとして選択し(ステップS16)、再びステップS5a以降の処理を繰り返す。
一方、比較結果が一致すれば(ステップS15でYES)、機械学習部23aは、全ての評価データの評価が終了したか否かをチェックし(ステップS17)、まだ評価していないデータがあれば(ステップS17でNO)、残りの評価データを評価するべくステップS11a〜S17を繰り返し、全ての評価データが評価済であれば(ステップS17でYES)ニューラルネットワーク3aの学習が終了したことになるから、機械学習を終了する。
これにより、学習済の信号エミュレータ用学習モデル10aが、機械学習システム2aの記憶装置に記憶されたことになる。ステップS4〜S17は、工程(2e)の一例に相当している。
以上、図17、図18に示すステップS1〜S17の処理により、信号エミュレータ用学習モデル10aを機械学習することができる。
次に、図15に示す信号エミュレータ1aの動作について説明する。図21は、図15に示す信号エミュレータ1aの動作の一例を示すフローチャートである。まず、作業者が、図15に示すように第一モジュール110の信号経路Lに信号エミュレータ1aを取り付けて、第一モジュール110を動作させ、制御部111によって制御プログラム114を実行させる。また、応答波形記憶部13には、ステップS2aで記憶された信号波形が記憶されている。入出力部12aは、応答波形記憶部13に記憶された信号波形を示すデータから、その信号波形の信号を生成するシグナルジェネレータを備えている。
入出力部12aは、操作判別システム4及び第一モジュール110の出力信号を監視する。そして、作業者による操作ボタンBのタッチ操作に応じて操作判別システム4から操作情報SOPが出力され、制御部111から指示信号SCが出力されると、その操作情報SOP及び指示信号SCが入出力部12によって検出される(ステップS21)。
そして、入出力部12aは、指示信号SCから指示情報DCを生成し、操作情報SOP及び指示情報DCを信号エミュレータ用学習モデル10aへ出力する(ステップS22a)。
第二人工知能処理部11aは、信号エミュレータ用学習モデル10aを実行する(ステップS24a)。そうすると、信号エミュレータ用学習モデル10aから、操作情報SOP及び指示情報DCに応じた波形番号IDが応答情報として入出力部12aへ出力される(ステップS25a)。
次に、入出力部12aは、応答情報として出力された波形番号IDの信号波形を、応答波形記憶部13から読み出す(ステップS27)。そして、入出力部12aは、読み出された信号波形の応答信号SRを生成し、その応答信号SRを信号経路Lへ出力する(ステップS26a)。以後、ステップS21〜S26aを繰り返す。
これにより、信号エミュレータ1aは、第一モジュール110から出力された操作情報SOP及び指示信号SCに対し、図11に示すような、第二モジュール120が出力する応答信号SRと同様の信号を第一モジュール110へ出力することができる。従って、信号エミュレータ1aは、第二モジュール120がステートマシンを備えている場合であっても、第二モジュール120を模倣することができる。
また、操作判別システム4によってタッチパネルディスプレイ112を撮像しつつ、基板検査装置100を実際に動作させ、機械学習システム2aによって信号エミュレータ用学習モデル10aを機械学習させると共に波形番号IDと対応付けた信号波形を取得することによって、信号エミュレータ1aによる第二モジュール120の模倣が可能となるので、信号エミュレータ1aは、第二モジュール120等の機械装置を模倣することが容易である。
なお、機械学習システム2aは、必ずしも一体に構成された装置で有る必要はなく、機械学習システム2aの各部が複数の装置に分散されて構成されていてもよい。また、機械学習システム2aは、信号エミュレータ1aと一体に構成されていてもよい。すなわち、信号エミュレータ1aが、機械学習システム2aの構成を含んでいてもよい。
1,1a 信号エミュレータ
2,2a 機械学習システム
3,3a,9 ニューラルネットワーク
4 操作判別システム
5 機械学習システム
10,10a 信号エミュレータ用学習モデル
11,11a 第二人工知能処理部
12,12a 入出力部(入力部、出力部)
13 応答波形記憶部
21,21a 監視情報取得部
22,22a 監視情報記憶部
23,23a 機械学習部
31 入力層
32 中間層
33,33a,923 出力層
41 カメラ
42 第一人工知能処理部
43 画像認識用学習モデル
44 機械学習部
91 画像処理部
92 操作判定部
100 基板検査装置
101 筐体
102 基板固定装置
103,103 検査部
104 基板
105 検査部移動機構
110,110a 第一モジュール
111,111a 制御部
112 タッチパネルディスプレイ
114 制御プログラム
120 第二モジュール
121 基板搬送用モータ
122 基板検出センサ
123 モータドライバ
124 プローブ駆動用モータ
125 プログラマブルコントローラ
910,913 プーリング層
911 畳み込み層
912 正規化層
914,921,922 全結合層
B 操作ボタン
B1 自動運転ボタン
B2 基板搬入ボタン
B3 基板検査ボタン
B4 基板搬出ボタン
B5〜B8 プローブ移動ボタン
DC,DC1,DC2,・・・ 指示情報
DD,DD1,DD2,・・・ 遅延情報
DR,DR1,DR2,・・・ 応答情報
G1 操作画面
G2 操作画像
ID 波形番号(識別情報)
L,L1,L2,・・・ 信号経路
Pr プローブ
SC,SC1,SC2,・・・ 指示信号
SOP,SOP1,SOP2,SOP3・・・ 操作情報
SR,SR1,SR2,・・・ 応答信号
Td 遅延時間

Claims (4)

  1. ユーザによる操作指示を受け付けて当該操作指示に応じた指示信号を出力する第一モジュールから、その指示信号を受け付けて前記第一モジュールへ応答信号を出力する第二モジュールをエミュレートする信号エミュレータであって、
    前記ユーザの操作が写った操作画像に基づきその操作を示す操作情報を出力するように学習された画像認識用学習モデルに対して、前記操作指示を受け付ける操作部を含む領域の画像を入力することによって、前記画像認識用学習モデルから前記操作情報を出力する操作判別システムから出力された前記操作情報、及び前記第一モジュールから出力された前記指示信号を受け付ける入力部と、
    前記第二モジュールを模倣するように学習された学習モデルであり、前記入力部によって受け付けられた、前記指示信号を示す指示情報、及び前記操作情報が入力された場合に応答情報を出力する信号エミュレータ用学習モデルと、
    前記応答情報に基づいて、前記第一モジュールが受付可能な応答信号を前記第一モジュールへ出力する出力部とを備え、
    前記第一モジュールは、前記操作部によって前記操作指示を受け付ける信号エミュレータ。
  2. ユーザの操作が写った操作画像に基づきその操作を示す操作情報を出力するように学習された画像認識用学習モデルに対して前記操作画像を入力することによって、前記画像認識用学習モデルから前記操作情報を出力する操作判別システムに用いられる画像認識用学習モデルの機械学習方法であって、
    (1a)前記ユーザによる操作指示を受け付ける操作部を含む領域の画像を前記操作画像として撮像する工程と、
    (1b)前記操作情報を取得する工程と、
    (1c)前記操作画像と、前記(1b)工程で取得された操作情報とを教師データとし、前記操作画像を前記画像認識用学習モデルに入力し、当該画像認識用学習モデルから前記操作情報を出力させるように、当該画像認識用学習モデルを機械学習する工程とを含む画像認識用学習モデルの機械学習方法。
  3. 請求項1に記載の信号エミュレータに用いられる信号エミュレータ用学習モデルの機械学習方法であって、
    (2a)前記第一モジュールと前記第二モジュールとを連結して動作させる工程と、
    (2b)前記操作部を含む領域を操作画像として撮像する工程と、
    (2c)前記撮像画像を学習済の前記画像認識用学習モデルに入力し、前記画像認識用学習モデルから前記操作情報を出力させる工程と、
    (2d)前記第一モジュールから出力された指示信号を示す指示情報、前記第二モジュールから出力された応答信号を示す応答情報、及び前記画像認識用学習モデルから出力された操作情報を対応付けた組を、複数組、監視情報として監視情報記憶部に記憶させる工程と、
    (2e)前記監視情報を教師データとして前記信号エミュレータ用学習モデルの機械学習を実行する工程とを含む信号エミュレータ用学習モデルの機械学習方法。
  4. ユーザの操作が写った操作画像と、前記ユーザの操作指示を示す操作情報とを教師データとし、前記操作画像を前記画像認識用学習モデルに入力し、当該画像認識用学習モデルから前記操作情報を出力させるように、当該画像認識用学習モデルを機械学習する機械学習部を備える画像認識用学習モデルの機械学習システム。
JP2018069717A 2018-03-30 2018-03-30 信号エミュレータ、画像認識用学習モデルの機械学習方法、信号エミュレータ用学習モデルの機械学習方法、及び画像認識用学習モデルの機械学習システム Pending JP2019179494A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018069717A JP2019179494A (ja) 2018-03-30 2018-03-30 信号エミュレータ、画像認識用学習モデルの機械学習方法、信号エミュレータ用学習モデルの機械学習方法、及び画像認識用学習モデルの機械学習システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018069717A JP2019179494A (ja) 2018-03-30 2018-03-30 信号エミュレータ、画像認識用学習モデルの機械学習方法、信号エミュレータ用学習モデルの機械学習方法、及び画像認識用学習モデルの機械学習システム

Publications (1)

Publication Number Publication Date
JP2019179494A true JP2019179494A (ja) 2019-10-17

Family

ID=68278936

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018069717A Pending JP2019179494A (ja) 2018-03-30 2018-03-30 信号エミュレータ、画像認識用学習モデルの機械学習方法、信号エミュレータ用学習モデルの機械学習方法、及び画像認識用学習モデルの機械学習システム

Country Status (1)

Country Link
JP (1) JP2019179494A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022145233A (ja) * 2021-03-19 2022-10-03 横河電機株式会社 情報処理装置、情報処理方法、情報処理プログラム及び情報処理システム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022145233A (ja) * 2021-03-19 2022-10-03 横河電機株式会社 情報処理装置、情報処理方法、情報処理プログラム及び情報処理システム
JP7255619B2 (ja) 2021-03-19 2023-04-11 横河電機株式会社 情報処理装置、情報処理方法、情報処理プログラム及び情報処理システム

Similar Documents

Publication Publication Date Title
JP6845928B2 (ja) 組み込みシステムの汎用自動試験
WO2019176993A1 (ja) 検査システム、画像識別システム、識別システム、識別器生成システム、及び学習データ生成装置
CN102780914A (zh) 用于数字显示系统的自动测试系统
US10983635B2 (en) Control parameter adjustment device
JP2019086475A (ja) 学習プログラム、検出プログラム、学習方法、検出方法、学習装置および検出装置
JP2019179494A (ja) 信号エミュレータ、画像認識用学習モデルの機械学習方法、信号エミュレータ用学習モデルの機械学習方法、及び画像認識用学習モデルの機械学習システム
JP2020030145A (ja) 検査装置及び検査システム
JP2006085708A (ja) コンソールの制御装置及び制御方法
US6792413B2 (en) Data processing apparatus and method, recording medium, and program
CN110209297A (zh) 用于自动检查电子设备的至少一个功能的方法和装置
TW202006652A (zh) 具輔助判斷功能之產品測試系統及應用於其上的產品測試輔助方法
US10823964B2 (en) Work assistance apparatus, work assistance method, and computer-readable, non-transitory recording medium recording work assistance program executed by computer
JP2019179428A (ja) 信号エミュレータ、信号エミュレータ用学習モデルの機械学習方法、及び信号エミュレータ用学習モデルの機械学習システム
JP2019179427A (ja) 信号エミュレータ、信号エミュレータ用学習モデルの機械学習方法、及び信号エミュレータ用学習モデルの機械学習システム
JP4622432B2 (ja) タッチパネル用制御ユニット
US7800090B2 (en) Optical position tracking input device having a self-test function and method of testing the same
US20190331709A1 (en) Sensor testing system and sensor testing method applied thereto
KR20210067522A (ko) 부품 정렬 공급 시스템, 부품 정렬 공급 시스템을 이용한 부품 정렬 정보 입력 방법
CN114945818B (zh) 预测维护装置、预测维护方法及学习装置
KR100192036B1 (ko) 액정표시장치의 패널 검사시스템
CN101419054B (zh) 图像处理设备
JP3931669B2 (ja) 情報提供装置の画面遷移検査装置及び方法
KR102151912B1 (ko) 비디오 감시 시스템 및 비디오 감시 시스템에서 수행되는 방법
KR20170108359A (ko) 데이터 신호의 표준 패턴 생성 방법 및 그 장치
WO2022249885A1 (ja) 識別装置、及び、識別方法