(57)【要約】【課題】工作機械やワークの状態に応じて適切な洗浄条件を決定できる洗浄工程最適化装置及び機械学習装置を提供すること。【解決手段】本発明の洗浄工程最適化装置１０は、洗浄対象を洗浄する際の洗浄条件を学習する機械学習装置２０を備え、機械学習装置２０は、洗浄対象を洗浄する際の洗浄条件を示す洗浄条件データ、及び該洗浄対象を洗浄する前に測定される該洗浄状態の汚れ状態を示す汚れ状態データを、環境の現在状態を表す状態変数として観測する状態観測部２２と、洗浄対象の洗浄後の汚れ状態の精度の適否判定結果を示す判定データを取得する判定データ取得部２４と、状態変数と判定データとを用いて、洗浄対象を洗浄する際の洗浄条件を汚れ状態データと関連付けて学習する学習部２６と、を備える。【選択図】図１
2018153872.tif 000002
【特許請求の範囲】
【請求項１】
洗浄対象の洗浄を行う際の洗浄条件を最適化する洗浄工程最適化装置であって、
前記洗浄対象を洗浄する際の洗浄条件を学習する機械学習装置を備え、
前記機械学習装置は、
前記洗浄対象を洗浄する際の洗浄条件を示す洗浄条件データ、及び該洗浄対象を洗浄する前に測定される該洗浄状態の汚れ状態を示す汚れ状態データを、環境の現在状態を表す状態変数として観測する状態観測部と、
前記洗浄対象の洗浄後の汚れ状態の精度の適否判定結果を示す判定データを取得する判定データ取得部と、
前記状態変数と前記判定データとを用いて、前記洗浄対象を洗浄する際の洗浄条件を前記汚れ状態データと関連付けて学習する学習部と、
を備える洗浄工程最適化装置。
【請求項２】
前記状態観測部は、前記状態変数として、前記洗浄対象の種別を識別する種別情報を更に観測し、
前記学習部は、前記洗浄対象を洗浄する際の洗浄条件を前記精度データ及び前記種別情報の双方と関連付けて学習する、
請求項１に記載の洗浄工程最適化装置。
【請求項３】
前記学習部は、
前記適否判定結果に関連する報酬を求める報酬計算部と、
前記報酬を用いて、前記洗浄対象を洗浄する際の洗浄条件の価値を表す関数を更新する価値関数更新部とを備える、
請求項１または２に記載の洗浄工程最適化装置。
【請求項４】
前記学習部は、
前記状態変数及び前記判定データから前記洗浄対象を洗浄する際の洗浄条件を導く相関性モデルと予め用意された教師データから識別される相関性特徴との誤差を計算する誤差計算部と、
前記誤差を縮小するように前記相関性モデルを更新するモデル更新部とを備える、
請求項１または２に記載の洗浄工程最適化装置。
【請求項５】
前記学習部は、前記状態変数と前記判定データとを多層構造で演算する、
請求項１〜４のいずれか１つに記載の洗浄工程最適化装置。
【請求項６】
前記学習部による学習結果に基づいて、前記洗浄対象を洗浄する際の洗浄条件を表示又は出力する意思決定部を更に備える、
請求項１〜５のいずれか１つに記載の洗浄工程最適化装置。
【請求項７】
前記学習部は、複数の産業機械のそれぞれについて得られた前記状態変数及び前記判定データを用いて、該複数の産業機械のそれぞれにおける前記洗浄対象を洗浄する際の洗浄条件を学習する、
請求項１〜６のいずれか１つに記載の洗浄工程最適化装置。
【請求項８】
洗浄対象の洗浄を行う際の洗浄条件を学習する機械学習装置において、
前記洗浄対象を洗浄する際の洗浄条件を示す洗浄条件データ、及び該洗浄対象を洗浄する前に測定される該洗浄状態の汚れ状態を示す汚れ状態データを、環境の現在状態を表す状態変数として観測する状態観測部と、
前記洗浄対象の洗浄後の汚れ状態の精度の適否判定結果を示す判定データを取得する判定データ取得部と、
前記状態変数と前記判定データとを用いて、前記洗浄対象を洗浄する際の洗浄条件を前記汚れ状態データと関連付けて学習する学習部と、
を備える機械学習装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、洗浄工程最適化装置及び機械学習装置に関する。
【背景技術】
【０００２】
工作機械では、加工空間をカバーで覆い、切粉・クーラントが周囲に飛散することを防止している。工具によってワークを加工する際に大量の切粉が発生し、カバーで覆われた空間（以後「機内」とする）には、切粉が蓄積する。切粉が工作機械の機構部へと進入することで、機構部が故障に至る場合がある。そのため、機内に溜まった切粉を洗浄する必要があるが、このような機内の洗浄作業は人手によって行われる場合や、ポンプを用いて機内へとクーラントを送り、そのクーラントと共に切粉を機外へと排出させる機内洗浄装置を用いて洗浄する場合などがある（特許文献１など）。
【０００３】
一方、現在、工作機械で加工対象のワークは幅広く、その種類は高能率加工から高品位加工など多岐に渡っている。その際、加工後のワークの表面には切粉やクーラント等が付着したりすることがあり、このような汚れを放置すると、例えば後の作業工程で切粉がワークの表面を傷つける、といったような問題が生じることがある。このような問題を防止するためには、加工が終了した後に可能な限り迅速にワークの表面を洗浄する必要がある。ワークの洗浄作業は、人手で行う場合や、ワーク洗浄装置を用いて行われる場合がある（特許文献２など）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１６−１６８６４９号公報
【特許文献２】特開２００８−１５６７１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
工作機械やワークの洗浄工程は、工作機械を用いた加工作業の一連の流れの中で重要な要素となる。しかしながら、ワークの加工によって生じる切粉は機内の広範囲に渡って飛散し、飛散位置や量、大きさなどが異なり、汚れが均一とはならないため、汚れの状態に応じて洗浄条件（洗浄ノズルの角度や噴射・吸引の圧力、洗浄時間など）を調整する必要があるという課題がある。また、ワークの表面に付着する切粉やクーラント等についても、その付着位置や付着量などが異なり、更にワークの洗浄の場合、洗浄によってワークの表面に傷をつけてしまうことがあるため、そのようなことが無いように、洗浄条件（洗浄ノズルの角度や、洗浄・吸引の圧力、洗浄時間など）を微調整しながらきめ細やかな洗浄を行う必要があり、膨大な工数がかかるという課題がある。
【０００６】
そこで本発明の目的は、工作機械やワークの状態に応じて適切な洗浄条件を決定できる洗浄工程最適化装置及び機械学習装置を提供することである。
【課題を解決するための手段】
【０００７】
本発明の一態様は、洗浄対象の洗浄を行う際の洗浄条件を最適化する洗浄工程最適化装置であって、前記洗浄対象を洗浄する際の洗浄条件を学習する機械学習装置を備え、前記機械学習装置は、前記洗浄対象を洗浄する際の洗浄条件を示す洗浄条件データ、及び該洗浄対象を洗浄する前に測定される該洗浄状態の汚れ状態を示す汚れ状態データを、環境の現在状態を表す状態変数として観測する状態観測部と、前記洗浄対象の洗浄後の汚れ状態の精度の適否判定結果を示す判定データを取得する判定データ取得部と、前記状態変数と前記判定データとを用いて、前記洗浄対象を洗浄する際の洗浄条件を前記汚れ状態データと関連付けて学習する学習部と、を備える洗浄工程最適化装置である。
【０００８】
本発明の他の態様は、洗浄対象の洗浄を行う際の洗浄条件を学習する機械学習装置において、前記洗浄対象を洗浄する際の洗浄条件を示す洗浄条件データ、及び該洗浄対象を洗浄する前に測定される該洗浄状態の汚れ状態を示す汚れ状態データを、環境の現在状態を表す状態変数として観測する状態観測部と、前記洗浄対象の洗浄後の汚れ状態の精度の適否判定結果を示す判定データを取得する判定データ取得部と、前記状態変数と前記判定データとを用いて、前記洗浄対象を洗浄する際の洗浄条件を前記汚れ状態データと関連付けて学習する学習部と、を備える機械学習装置を備える機械学習装置である。
【発明の効果】
【０００９】
本発明により、工作機械やワークの洗浄を行う既知の技術と機械学習を組み合わせて、工作機械の機内の状態やワークの表面状態に合わせて洗浄工程を最適化できるため、様々な工作機械やワークに対して効率良く洗浄を行うことが可能となる。
【図面の簡単な説明】
【００１０】
【図１】第１の実施形態による洗浄工程最適化装置の概略的な機能ブロック図である。
【図２】洗浄工程最適化装置の一形態を示す概略的な機能ブロック図である。
【図３】機械学習方法の一形態を示す概略的なフローチヤートである。
【図４】洗浄工程最適化装置の他の形態を示す概略的な機能ブロック図である。
【図５Ａ】ニューロンを説明する図である。
【図５Ｂ】ニューラルネットワークを説明する図である。
【図６】第２の実施形態による洗浄工程最適化装置の概略的な機能ブロック図である。
【図７】洗浄システムの一形態を示す概略的な機能ブロック図である。
【図８】洗浄システムの他の形態を示す概略的な機能ブロック図である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態を図面と共に説明する。
図１は、第１の実施形態による洗浄工程最適化装置１０の概略的な機能ブロック図である。洗浄工程最適化装置１０は、例えば、工作機械やワークを洗浄するために用いられる産業機械（図示せず）を制御する制御装置として実装することができる。工作機械やワークを洗浄するために用いられる産業機械は、例えばポンプにより洗浄液を噴射する洗浄ノズルを備えた洗浄装置と、該洗浄ノズルを把持したロボットなどが挙げられる。洗浄工程最適化装置１０は、工作機械やワークの洗浄工程における洗浄条件（洗浄ノズルの角度や、洗浄・吸引の圧力、洗浄時間など）を、いわゆる機械学習により自ら学習するためのソフトウェア（学習アルゴリズム等）及びハードウェア（コンピュータのＣＰＵ等）を含む機械学習装置２０を備える。洗浄工程最適化装置１０が備える機械学習装置２０が学習する洗浄条件は、洗浄対象となる工作機械やワークの汚れ状態（切粉やクーラントの量など）と、当該洗浄対象の洗浄における洗浄条件との、相関性を表すモデル構造に相当する。
【００１２】
図１に機能ブロックで示すように、洗浄工程最適化装置１０が備える機械学習装置２０は、工作機械やワークなどの洗浄対象（図示せず）に対して為される洗浄条件を示す洗浄条件データＳ１と、工作機械やワークなどの洗浄対象の汚れ状態を示す汚れ状態データＳ２を含む環境の現在状態を表す状態変数Ｓとして観測する状態観測部２２と、洗浄が為された洗浄対象の汚れ状態の適否判定結果を示す判定データＤを取得する判定データ取得部２４と、状態変数Ｓと判定データＤとを用いて、洗浄条件データＳ１に汚れ状態データＳ２と関連付けて学習する学習部２６とを備える。
【００１３】
状態観測部２２は、例えばコンピュータのＣＰＵの一機能として構成できる。或いは状態観測部２２は、例えばコンピュータのＣＰＵを機能させるためのソフトウェアとして構成できる。状態観測部２２が観測する状態変数Ｓのうち、洗浄条件データＳ１は、例えば熟練した作業者により申告されて洗浄工程最適化装置１０に与えられる洗浄条件の申告データを用いたり、洗浄に用いられる産業機械を用いている場合には、洗浄時の動作パラメータを該産業機械から取得して用いることができる。洗浄条件データＳ１は、例えば、洗浄時における汚れ中心位置からの洗浄ノズルの距離、洗浄ノズルの角度、洗浄・吸引の圧力、洗浄時間、洗浄液の温度、洗浄回数などを用いることができる。
【００１４】
また状態変数Ｓのうち、汚れ状態データＳ２は、例えば洗浄工程最適化装置が制御する洗浄のために用いられる産業機械に付設される第１の測定装置（図示せず）により実測することで取得できる。
【００１５】
第１の測定装置は、例えば洗浄対象が工作機械である場合には、工作機械の機内の全体または少なくとも１つの着目点を所定の位置から測定することができる。第１の測定装置は、例えば洗浄対象がワークである場合には、ワークの全体または少なくとも１つの着目点を所定の位置から測定することができる。第１の測定装置は、汚れがついていない洗浄対象についてあらかじめ測定して取得された洗浄対象の全体または少なくとも１つの着目点の測定値との差に基づいて、洗浄対象の各部分の汚れ状態データＳ２を演算できる。第１の測定装置は、汚れがついていない洗浄対象についてあらかじめ測定して取得された洗浄対象の全体または少なくとも１つの着目点の測定値との差分から、当該差分の量（面積、体積など）や、当該差分の色彩などを汚れ状態データＳ２に含めることができる。この演算は、例えば洗浄工程最適化装置１０が行ったり、状態観測部２２自体が行ったりすることもできる。第１の測定装置としては、光学的撮像装置、赤外線レーザ、超音波計測器等を採用できる。
【００１６】
判定データ取得部２４は、例えばコンピュータのＣＰＵの一機能として構成できる。或いは判定データ取得部２４は、例えばコンピュータのＣＰＵを機能させるためのソフトウェアとして構成できる。判定データ取得部２４が取得する判定データＤは、洗浄が為された後に洗浄対象について、例えば洗浄機械に付設される第１の測定装置により実測することで取得できる。判定データＤは、状態変数Ｓの下で洗浄作業を実行したときの結果を表す指標であって、洗浄作業が行われた環境の現在状態を間接的に表すものである。
【００１７】
このように、洗浄工程最適化装置１０が備える機械学習装置２０が学習を進める間、環境においては、第１の測定装置による洗浄対象の汚れ状態の測定、該洗浄対象に対する洗浄作業の実施、及び第１の測定装置による洗浄後の洗浄対象の汚れ状態の再測定が実施される。
【００１８】
学習部２６は、例えばコンピュータのＣＰＵの一機能として構成できる。或いは学習部２６は、例えばコンピュータのＣＰＵを機能させるためのソフトウェアとして構成できる。学習部２６は、機械学習と総称される任意の学習アルゴリズムに従い、洗浄対象に対して為される洗浄の洗浄条件を学習する。学習部２６は、複数の洗浄対象に対して、前述した状態変数Ｓと判定データＤとを含むデータ集合に基づく学習を反復実行することができる。複数の洗浄対象に対する学習サイクルの反復中、状態変数Ｓのうち洗浄条件データＳ１は、前回までの学習サイクルで得た洗浄条件とし、また判定データＤは、当該決定した洗浄条件に基づく洗浄対象の洗浄に対する適否判定結果とする。
【００１９】
このような学習サイクルを繰り返すことにより、学習部２６は、洗浄対象の汚れ状態（汚れ状態データＳ２）と該洗浄対象に対する洗浄の洗浄条件との相関性を暗示する特徴を自動的に識別することができる。学習アルゴリズムの開始時には汚れ状態データＳ２と洗浄条件との相関性は実質的に未知であるが、学習部２６は、学習を進めるに従い徐々に特徴を識別して相関性を解釈する。汚れ状態データＳ２と洗浄条件との相関性が、ある程度信頼できる水準まで解釈されると、学習部２６が反復出力する学習結果は、現在状態（つまり汚れ状態）の洗浄対象に対してどのような洗浄条件の下で洗浄するべきかと言う行動の選択（つまり意思決定）を行うために使用できるものとなる。つまり学習部２６は、学習アルゴリズムの進行に伴い、洗浄対象の現在状態と、当該現在状態の洗浄対象に対してどのような洗浄条件での洗浄をするべきかという行動との、相関性を最適解に徐々に近づけることができる。
【００２０】
上記したように、洗浄工程最適化装置１０が備える機械学習装置２０は、状態観測部２２が観測した状態変数Ｓと判定データ取得部２４が取得した判定データＤとを用いて、学習部２６が機械学習アルゴリズムに従い、洗浄対象を洗浄する際の洗浄条件を学習するものである。状態変数Ｓは、洗浄条件データＳ１及び汚れ状態データＳ２といった、外乱の影響を受け難いデータで構成され、また判定データＤは、洗浄後の洗浄対象を計測することにより一義的に求められる。汚れ状態データＳ２については、例えば第１の測定装置の能力としての機械の各部の測定精度に依存するが、それ自体高精度の汚れ状態データＳ２を観測できることが期待される。また判定データＤについても同様に、第１の測定装置の測定精度に依存して、高精度の判定データＤを取得できることが期待される。したがって、洗浄工程最適化装置１０が備える機械学習装置２０によれば、学習部２６の学習結果を用いることで、洗浄対象の汚れ状態に応じた該洗浄対象を洗浄する際の洗浄条件を、演算や目算によらずに自動的に、しかも正確に求めることができるようになる。
【００２１】
洗浄対象を洗浄する際の洗浄条件を、演算や目算によらずに自動的に求めることができれば、洗浄対象の洗浄開始前に該洗浄対象を実測して汚れ状態（汚れ状態データＳ２）を取得するだけで、洗浄対象を洗浄する際の洗浄条件を迅速に決定することができる。したがって、洗浄対象の洗浄作業に係る時間を短縮することができる。
【００２２】
洗浄工程最適化装置１０が備える機械学習装置２０の一変形例として、状態観測部２２は、状態変数Ｓとして、洗浄対象の種別を識別する種別情報Ｓ３をさらに観測することができる。種別情報Ｓ３は例えば、洗浄対象が工作機械である場合には、工作機械の種類や型番など、洗浄対象がワークである場合には該ワークの製品種別や材質等を含むことができる。例えば種別情報Ｓ３を、バーコード等の識別子で洗浄対象に表示したりすることができる。状態観測部２２は例えば、バーコードリーダの出力から種別情報Ｓ３を取得できる。学習部２６は、洗浄対象の洗浄における洗浄条件を、汚れ状態データＳ２及び種別情報Ｓ３の双方と関連付けて学習することができる。
【００２３】
上記変形例によれば、製造対象の汚れ状態と正常対象の種別との双方に応じた最適な正常対象の洗浄条件を学習することができる。例えば２つの洗浄対象となるワークについて、該ワークの汚れ状態（汚れ状態データＳ２）が略同一であっても、当該ワークの材質等（種別情報Ｓ３）が異なる場合、該ワークを洗浄する際の洗浄条件が、微妙に異なる状況が生じ得る。上記構成によれば、このような状況においても材質等（種別情報Ｓ３）に応じて洗浄対象を洗浄する際の洗浄条件を最適化することができる。或いは、学習を進めるうちに洗浄対象の汚れ状態（汚れ状態データＳ２）と洗浄対象の種別（種別情報Ｓ３）との相関性を見出すことができる場合もある。この場合には、種別情報Ｓ３から汚れ状態データＳ２をある程度予測できるようになるので、第１の測定装置による機械の各部分の測定精度が低い場合であっても、学習を適正に収束させて洗浄対象を洗浄する際の洗浄条件を最適化することができる。
【００２４】
洗浄工程最適化装置１０が備える機械学習装置２０の他の変形例として、学習部２６は、同一の構成を有する複数の洗浄に用いられる産業機械のそれぞれについて得られた状態変数Ｓ及び判定データＤを用いて、それら洗浄に用いられる産業機械のそれぞれにおける洗浄対象を洗浄する際の洗浄条件を学習することができる。この構成によれば、一定時間で得られる状態変数Ｓと判定データＤとを含むデータ集合の量を増加できるので、より多様なデータ集合を入力として、洗浄対象を洗浄する際の洗浄条件の学習の速度や信頼性を向上させることができる。
【００２５】
上記構成を有する機械学習装置２０では、学習部２６が実行する学習アルゴリズムは特に限定されず、機械学習として公知の学習アルゴリズムを採用できる。図２は、図１に示す洗浄工程最適化装置１０の一形態であって、学習アルゴリズムの一例として強化学習を実行する学習部２６を備えた構成を示す。強化学習は、学習対象が存在する環境の現在状態（つまり入力）を観測するとともに現在状態で所定の行動（つまり出力）を実行し、その行動に対し何らかの報酬を与えるというサイクルを試行錯誤的に反復して、報酬の総計が最大化されるような方策（本願の機械学習装置では洗浄対象を洗浄する際の洗浄条件）を最適解として学習する手法である。
【００２６】
図２に示す洗浄工程最適化装置１０が備える機械学習装置２０において、学習部２６は、状態変数Ｓに基づいて洗浄対象を洗浄することにより得られる洗浄後の洗浄対象の汚れ状態の適否判定結果（次の学習サイクルで用いられる判定データＤに相当）に関連する報酬Ｒを求める報酬計算部２８と、報酬Ｒを用いて、洗浄対象の洗浄時に採用される洗浄条件の価値を表す関数Ｑを更新する価値関数更新部３０とを備える。学習部２６は、価値関数更新部３０が関数Ｑの更新を繰り返すことによって洗浄対象を洗浄する際の洗浄条件を学習する。
【００２７】
学習部２６が実行する強化学習のアルゴリズムの一例を説明する。この例によるアルゴリズムは、Ｑ学習（Ｑ−ｌｅａｒｎｉｎｇ）として知られるものであって、行動主体の状態ｓと、その状態ｓで行動主体が選択し得る行動ａとを独立変数として、状態ｓで行動ａを選択した場合の行動の価値を表す関数Ｑ（ｓ，ａ）を学習する手法である。状態ｓで価値関数Ｑが最も高くなる行動ａを選択することが最適解となる。状態ｓと行動ａとの相関性が未知の状態でＱ学習を開始し、任意の状態ｓで種々の行動ａを選択する試行錯誤を繰り返すことで、価値関数Ｑを反復して更新し、最適解に近付ける。ここで、状態ｓで行動ａを選択した結果として環境（つまり状態ｓ）が変化したときに、その変化に応じた報酬（つまり行動ａの重み付け）ｒが得られるように構成し、より高い報酬ｒが得られる行動ａを選択するように学習を誘導することで、価値関数Ｑを比較的短時間で最適解に近付けることができる。
【００２８】
価値関数Ｑの更新式は、一般に下記の数１式のように表すことができる。数１式において、ｓt及びａtはそれぞれ時刻ｔにおける状態及び行動であり、行動ａtにより状態はｓt+1に変化する。ｒt+1は、状態がｓtからｓt+1に変化したことで得られる報酬である。ｍａｘＱの項は、時刻ｔ＋１で最大の価値Ｑになる（と時刻ｔで考えられている）行動ａを行ったときのＱを意味する。α及びγはそれぞれ学習係数及び割引率であり、０＜α≦１、０＜γ≦１で任意設定される。
【００２９】
【数１】
2018153872.tif 000003
【００３０】
学習部２６がＱ学習を実行する場合、状態観測部２２が観測した状態変数Ｓ及び判定データ取得部２４が取得した判定データＤは、更新式の状態ｓに該当し、現在状態（つまり汚れ状態）の洗浄対象に対して該洗浄対象を洗浄する際の洗浄条件をどのように変更するべきかという行動は、更新式の行動ａに該当し、報酬計算部２８が求める報酬Ｒは、更新式の報酬ｒに該当する。よって価値関数更新部３０は、現在状態の洗浄対象を洗浄する際の洗浄条件の価値を表す関数Ｑを、報酬Ｒを用いたＱ学習により繰り返し更新する。
【００３１】
報酬計算部２８が求める報酬Ｒは、例えば、洗浄対象を洗浄する際の洗浄条件を決定した後に該洗浄条件に基づいて洗浄対象の洗浄を実施したときに、洗浄後の洗浄対象の汚れ状態が「適」と判定される場合（つまり、洗浄後の洗浄対象の汚れ具合が許容できる範囲に収まる場合）に正（プラス）の報酬Ｒとし、洗浄対象を洗浄する際の洗浄条件を決定した後に該洗浄条件に基づいて洗浄対象の洗浄を実施したときに、洗浄後の洗浄対象の汚れ状態が「否」と判定される場合（つまり、洗浄後の洗浄対象の汚れ具合が許容できる範囲外である場合）に負（マイナス）の報酬Ｒとすることができる。正負の報酬Ｒの絶対値は、互いに同一であってもよいし異なっていてもよい。ここで、汚れ具合が許容できるか否かは、例えば第１の測定装置で測定した洗浄対象の汚れの量（面積や体積など）が所定の閾値以下であるか否かで判定するようにしても良い。
【００３２】
このとき、洗浄後の洗浄対象の各部分のそれぞれについて、汚れ状態が許容できる範囲に収まるか否かを判定して、全ての部分について汚れ状態が許容範囲に収まる場合に「適」と判定するようにしても良いし、洗浄後の洗浄対象の各部分の汚れ状態の総和が許容範囲に収まる場合に「適」と判定するようにしても良い。また、これらを組み合わせて判定するようにしても良い。
【００３３】
また、洗浄後の洗浄対象の汚れ状態の適否判定結果を、「適」及び「否」の二通りだけでなく、汚れの度合いに応じて複数段階に設定することができる。例として、許容範囲の最大値がＴｍａｘの場合、洗浄後の洗浄対象に残った汚れの量Ｋが、０≦Ｋ＜Ｔmax／５のときは報酬Ｒ＝５を与え、Ｔmax／５≦Ｋ＜Ｔmax／２のときは報酬Ｒ＝２を与え、Ｔmax／２≦Ｋ≦Ｔmaxのときは報酬Ｒ＝１を与えるような構成とすることができる。さらに、学習の初期段階はＴmaxを比較的大きく設定し、学習が進行するにつれてＴmaxを縮小する構成とすることもできる。
【００３４】
更に、報酬Ｒとして、洗浄時間があらかじめ定めた所定の閾値よりも短くなるほどに正の報酬を与えるようにしても良い。このようにすることで、洗浄対象の汚れ状態が「適」となった洗浄条件の中で、洗浄時間が短いものが優先して洗濯されるようになるため、洗浄工程のサイクルタイムを短くすることができる。
【００３５】
価値関数更新部３０は、状態変数Ｓと判定データＤと報酬Ｒとを、関数Ｑで表される行動価値（例えば数値）と関連付けて整理した行動価値テーブルを持つことができる。この場合、価値関数更新部３０が関数Ｑを更新するという行為は、価値関数更新部３０が行動価値テーブルを更新するという行為と同義である。Ｑ学習の開始時には環境の現在状態と洗浄対象を洗浄する際の洗浄条件との相関性は未知であるから、行動価値テーブルにおいては、種々の状態変数Ｓと判定データＤと報酬Ｒとが、無作為に定めた行動価値の値（関数Ｑ）と関連付けた形態で用意されている。なお報酬計算部２８は、判定データＤが分かればこれに対応する報酬Ｒを直ちに算出でき、算出した値Ｒが行動価値テーブルに書き込まれる。
【００３６】
洗浄後の洗浄対象の汚れ状態の適否判定結果に応じた報酬Ｒを用いてＱ学習を進めると、より高い報酬Ｒが得られる行動を選択する方向へ学習が誘導され、選択した行動を現在状態で実行した結果として変化する環境の状態（つまり状態変数Ｓ及び判定データＤ）に応じて、現在状態で行う行動についての行動価値の値（関数Ｑ）が書き換えられて行動価値テーブルが更新される。この更新を繰り返すことにより、行動価値テーブルに表示される行動価値の値（関数Ｑ）は、適正な行動ほど大きな値となるように書き換えられる。このようにして、未知であった環境の現在状態（洗浄対象の汚れ状態）とそれに対する行動（洗浄対象を洗浄する際の洗浄条件）との相関性が徐々に明らかになる。つまり行動価値テーブルの更新により、洗浄対象の洗浄前の汚れ状態と、該洗浄対象を洗浄する際の洗浄条件との関係が最適解に徐々に近づけられる。
【００３７】
図３を参照して、学習部２６が実行する上記したＱ学習のフロー（つまり機械学習方法の一形態）をさらに説明する。まずステップＳＡ０１で、価値関数更新部３０は、その時点での行動価値テーブルを参照しながら、状態観測部２２が観測した状態変数Ｓが示す現在状態で行う行動として洗浄対象を洗浄する際の洗浄条件を無作為に選択する。次に価値関数更新部３０は、ステップＳＡ０２で、状態観測部２２が観測している現在状態の状態変数Ｓを取り込み、ステップＳＡ０３で、判定データ取得部２４が取得している現在状態の判定データＤを取り込む。次に価値関数更新部３０は、ステップＳＡ０４で、判定データＤに基づき、洗浄対象を洗浄する際の洗浄条件が適当であったか否かを判断し、適当であった場合、ステップＳＡ０５で、報酬計算部２８が求めた正の報酬Ｒを関数Ｑの更新式に適用し、次いでステップＳＡ０６で、現在状態における状態変数Ｓ及び判定データＤと報酬Ｒと行動価値の値（更新後の関数Ｑ）とを用いて行動価値テーブルを更新する。ステップＳＡ０４で、洗浄対象を洗浄する際の洗浄条件が適当でなかったと判断した場合、ステップＳＡ０７で、報酬計算部２８が求めた負の報酬Ｒを関数Ｑの更新式に適用し、次いでステップＳＡ０６で、現在状態における状態変数Ｓ及び判定データＤと報酬Ｒと行動価値の値（更新後の関数Ｑ）とを用いて行動価値テーブルを更新する。学習部２６は、ステップＳＡ０１〜ＳＡ０７を繰り返すことで行動価値テーブルを反復して更新し、洗浄対象を洗浄する際の洗浄条件の学習を進行させる。
【００３８】
図４は、図１に示す洗浄工程最適化装置１０の他の形態であって、学習アルゴリズムの他の例として教師あり学習を実行する学習部２６を備えた構成を示す。教師あり学習は、入力と出力との関係が未知の状態で学習を開始する前述した強化学習と異なり、入力とそれに対応する出力との既知のデータセット（教師データと称する）が予め大量に与えられ、それら教師データから入力と出力との相関性を暗示する特徴を識別することで、新たな入力に対する所要の出力を推定するための相関性モデル（本願の機械学習装置２０では洗浄対象を洗浄する際の洗浄条件)を学習する手法である。
【００３９】
図４に示す洗浄工程最適化装置１０が備える機械学習装置２０において、学習部２６は、状態変数Ｓ及び判定データＤから洗浄対象を洗浄する際の洗浄条件を導く相関性モデルＭと予め用意された教師データＴから識別される相関性特徴との誤差Ｅを計算する誤差計算部３２と、誤差Ｅを縮小するように相関性モデルＭを更新するモデル更新部３４とを備える。学習部２６は、モデル更新部３４が相関性モデルＭの更新を繰り返すことによって洗浄対象を洗浄する際の洗浄条件を学習する。
【００４０】
相関性モデルＭの初期値は、例えば、状態変数Ｓ及び判定データＤと洗浄対象を洗浄する際の洗浄条件との相関性を単純化して（例えば一次関数で）表現したものであり、教師あり学習の開始前に学習部２６に与えられる。教師データＴは、例えば、過去の洗浄対象の洗浄において熟練の作業者が決定した洗浄条件を記録することで蓄積された経験値（洗浄対象の汚れ状態と、洗浄対象を洗浄する際の洗浄条件との既知のデータセット)によって構成でき、教師あり学習の開始前に学習部２６に与えられる。誤差計算部３２は、学習部２６に与えられた大量の教師データＴから洗浄対象の汚れ具合と該洗浄対象を洗浄する際の洗浄条件との相関性を暗示する相関性特徴を識別し、この相関性特徴と、現在状態における状態変数Ｓ及び判定データＤに対応する相関性モデルＭとの誤差Ｅを求める。モデル更新部３４は、例えば予め定めた更新ルールに従い、誤差Ｅが小さくなる方向へ相関性モデルＭを更新する。
【００４１】
次の学習サイクルでは、誤差計算部３２は、更新後の相関性モデルＭに従って実装工程を試行することにより変化した状態変数Ｓ及び判定データＤを用いて、それら変化した状態変数Ｓ及び判定データＤに対応する相関性モデルＭに関し誤差Ｅを求め、モデル更新部３４が再び相関性モデルＭを更新する。このようにして、未知であった環境の現在状態（洗浄対象の汚れ状態）とそれに対する行動（該洗浄対象を洗浄する際の洗浄条件の決定）との相関性が徐々に明らかになる。つまり相関性モデルＭの更新により、洗浄前の洗浄対象の汚れ状態と、当該洗浄対象を洗浄する際の洗浄条件との関係が、最適解に徐々に近づけられる。
【００４２】
なお、洗浄工程最適化装置１０が備える機械学習装置２０では、学習の初期段階は学習部２６が教師あり学習を実行し、学習がある程度進行した段階で、教師あり学習で得た洗浄対象を洗浄する際の洗浄条件を初期値として学習部２６が強化学習を実行するように構成することもできる。強化学習における初期値がある程度の信頼性を有しているので、比較的迅速に最適解に到達することができる。
【００４３】
前述した強化学習や教師あり学習を進める際に、例えばＱ学習の代わりに、ニューラルネットワークを用いることができる。図５Ａは、ニューロンのモデルを模式的に示す。図５Ｂは、図５Ａに示すニューロンを組み合わせて構成した三層のニューラルネットワークのモデルを模式的に示す。ニューラルネットワークは、例えば、ニューロンのモデルを模した演算装置や記憶装置等によって構成できる。
【００４４】
図５Ａに示すニューロンは、複数の入力ｘ（ここでは一例として、入力ｘ1〜入力ｘ3）に対する結果ｙを出力するものである。各入力ｘ1〜ｘ3には、この入力ｘに対応する重みｗ（ｗ1〜ｗ3）が掛けられる。これにより、ニューロンは、次の数２式により表現される出力ｙを出力する。なお、数２式において、入力ｘ、出力ｙ及び重みｗは、すべてベクトルである。また、θはバイアスであり、ｆkは活性化関数である。
【００４５】
【数２】
2018153872.tif 000004
【００４６】
図５Ｂに示す三層のニューラルネットワークは、左側から複数の入力ｘ（ここでは一例として、入力ｘ１〜入力ｘ３）が入力され、右側から結果ｙ（ここでは一例として、結果ｙ１〜結果ｙ３）が出力される。図示の例では、入力ｘ１、ｘ２、ｘ３のそれぞれに対応の重み（総称してｗ１で表す)が乗算されて、個々の入力ｘ１、ｘ２、ｘ３がいずれも３つのニューロンＮ１１、Ｎ１２、Ｎ１３に入力されている。
【００４７】
図５Ｂでは、ニューロンＮ１１〜Ｎ１３の各々の出力を、総称してｚ１で表す。ｚ１は、入カベクトルの特徴量を抽出した特徴ベクトルと見なすことができる。図示の例では、特徴ベクトルｚ１のそれぞれに対応の重み（総称してＷ２で表す）が乗算されて、個々の特徴ベクトルｚ１がいずれも２つのニューロンＮ２１、Ｎ２２に入力されている。特徴ベクトルｚ１は、重みＷ１と重みＷ２との間の特徴を表す。
【００４８】
図５Ｂでは、ニューロンＮ２１〜Ｎ２２の各々の出力を、総称してｚ２で表す。ｚ２は、特徴ベクトルｚ１の特徴量を抽出した特徴ベクトルと見なすことができる。図示の例では、特徴ベクトルｚ２のそれぞれに対応の重み（総称してＷ３で表す）が乗算されて、個々の特徴ベクトルｚ２がいずれも３つのニューロンＮ３１、Ｎ３２、Ｎ３３に入力されている。特徴ベクトルｚ２は、重みＷ２と重みＷ３との間の特徴を表す。最後にニューロンＮ３１〜Ｎ３３は、それぞれ結果ｙ１〜ｙ３を出力する。
【００４９】
洗浄工程最適化装置１０が備える機械学習装置２０においては、状態変数Ｓと判定データＤとを入力ｘとして、学習部２６が上記したニューラルネットワークに従う多層構造の演算を行うことで、洗浄対象を洗浄する際の洗浄条件（結果ｙ）を出力することができる。なおニューラルネットワークの動作モードには、学習モードと価値予測モードとがあり、例えば学習モードで学習データセットを用いて重みＷを学習し、学習した重みＷを用いて価値予測モードで行動の価値判断を行うことができる。なお価値予測モードでは、検出、分類、推論等を行うこともできる。
【００５０】
上記した洗浄工程最適化装置１０の構成は、コンピュータのＣＰＵが実行する機械学習方法（或いはソフトウェア）として記述できる。この機械学習方法は、洗浄対象を洗浄する際の洗浄条件を学習する機械学習方法であって、コンピュータのＣＰＵが、洗浄対象を洗浄する際の洗浄条件を示す洗浄条件データＳ１、及び該洗浄対象の汚れ状態を示す汚れ状態データＳ２を、洗浄対象の洗浄が行われる環境の現在状態を表す状態変数Ｓとして観測するステップと、洗浄後の洗浄対象の汚れ状態の適否判定結果を示す判定データＤを取得するステップと、状態変数Ｓと判定データＤとを用いて、洗浄対象を洗浄する際の洗浄条件と汚れ状態データＳ２とを関連付けて学習するステップとを有する。
【００５１】
図６は、第２の実施形態による洗浄工程最適化装置４０を示す。洗浄工程最適化装置４０は、機械学習装置５０と、状態観測部２２が観測する状態変数Ｓの洗浄条件データＳ１及び汚れ状態データＳ２を状態データＳ０として取得する状態データ取得部４２とを備える。状態データ取得部４２が取得する状態データＳ０は、種別情報Ｓ３を含むこともできる。状態データ取得部４２は、機械に付設される前述した第１の測定装置や、作業者による適宜のデータ入力から、状態データＳ０を取得することができる。
【００５２】
洗浄工程最適化装置４０が有する機械学習装置５０は、洗浄対象を洗浄する際の洗浄条件を機械学習により自ら学習するためのソフトウェア（学習アルゴリズム等）及びハードウェア（コンピュータのＣＰＵ等）に加えて、学習した洗浄対象を洗浄する際の洗浄条件を表示、又は該洗浄対象を洗浄するための産業機械（図示せず）への指令として出力するためのソフトウェア（演算アルゴリズム等）及びハードウェア（コンピュータのＣＰＵ等）を含むものである。洗浄工程最適化装置４０が含む機械学習装置５０は、１つの共通のＣＰＵが、学習アルゴリズム、演算アルゴリズム等の全てのソフトウェアを実行する構成を有することもできる。
【００５３】
意思決定部５２は、例えばコンピュータのＣＰＵの一機能として構成できる。或いは意思決定部５２は、例えばコンピュータのＣＰＵを機能させるためのソフトウェアとして構成できる。意思決定部５２は、学習部２６が学習した洗浄対象を洗浄する際の洗浄条件を作業者に表示したり、又は学習部２６が学習した洗浄対象を洗浄する際の洗浄条件に基づいて洗浄を行う産業機械への指令値Ｃを生成し、生成した指令値Ｃとして出力する。意思決定部５２が洗浄対象を洗浄する際の洗浄条件を表示し、これに基づいた作業者による洗浄対象の洗浄が行われた場合、また、意思決定部５２が産業機械に対して指令値Ｃを出力した場合、これに応じて、環境の状態（洗浄条件データＳ１）が変化する。
【００５４】
状態観測部２２は、意思決定部５２による環境への洗浄対象を洗浄する際の洗浄条件の表示、または出力後に変化した洗浄条件データＳ１を含む状態変数Ｓを次の学習サイクルにおいて観測する。学習部２６は、変化した状態変数Ｓを用いて、例えば価値関数Ｑ（すなわち行動価値テーブル）を更新することで、洗浄対象を洗浄する際の洗浄条件を学習する。意思決定部５２は、学習した洗浄対象を洗浄する際の洗浄条件の下で状態変数Ｓに応じて洗浄対象を洗浄する際の洗浄条件の表示、または産業機械への指令値Ｃの出力を行う。このサイクルを繰り返すことにより、機械学習装置５０は洗浄対象を洗浄する際の洗浄条件の学習を進め、自身が決定する洗浄対象を洗浄する際の洗浄条件の信頼性を徐々に向上させる。
【００５５】
上記構成を有する洗浄工程最適化装置４０が備える機械学習装置５０は、前述した機械学習装置２０と同等の効果を奏する。特に機械学習装置５０は、意思決定部５２の出力によって環境の状態を変化させることができる。他方、機械学習装置２０では、学習部２６の学習結果を環境に反映させるための意思決定部に相当する機能を、外部装置（例えば産業機械の制御装置）に求めることができる。
【００５６】
図７は、産業機械６０を備えた一実施形態による洗浄システム７０を示す。洗浄システム７０は、同一の機械構成を有する複数の産業機械６０、６０’と、それら産業機械６０、６０’を互いに接続するネットワーク７２とを備え、複数の産業機械６０、６０’のうち少なくとも１つが、上記した洗浄工程最適化装置４０を備える産業機械６０として構成される。また洗浄システム７０は、洗浄工程最適化装置４０を備えない産業機械６０’を含むことができる。産業機械６０、６０’は、洗浄対象を洗浄するために必要とされる一般的な構成を有する。
【００５７】
上記構成を有する洗浄システム７０は、複数の産業機械６０、６０’のうちで洗浄工程最適化装置４０を備える産業機械６０が、学習部２６の学習結果を用いて、洗浄対象の汚れ状態に応じた該洗浄対象を洗浄する際の洗浄条件を、演算や目算によらずに自動的に、しかも正確に求めることができる。また、少なくとも１つの産業機械６０の洗浄工程最適化装置４０が、他の複数の産業機械６０、６０’のそれぞれについて得られた状態変数Ｓ及び判定データＤに基づき、全ての産業機械６０、６０’に共通する洗浄対象を洗浄する際の洗浄条件を学習し、その学習結果を全ての産業機械６０、６０’が共有するように構成できる。したがって洗浄システム７０によれば、より多様なデータ集合（状態変数Ｓ及び判定データＤを含む）を入力として、洗浄対象を洗浄する際の洗浄条件の学習の速度や信頼性を向上させることができる。
【００５８】
図８は、産業機械６０’を備えた他の実施形態による洗浄システム７０’を示す。洗浄システム７０’は、機械学習装置５０（又は２０）と、同一の機械構成を有する複数の産業機械６０’と、それら産業機械６０’と機械学習装置５０（又は２０）とを互いに接続するネットワーク７２とを備える。
【００５９】
上記構成を有する洗浄システム７０’は、機械学習装置５０（又は２０）が、複数の産業機械６０’のそれぞれについて得られた状態変数Ｓ及び判定データＤに基づき、全ての産業機械６０’に共通する洗浄対象を洗浄する際の洗浄条件を学習し、その学習結果を用いて、洗浄対象の汚れ状態に応じた洗浄対象を洗浄する際の洗浄条件を、演算や目算によらずに自動的に、しかも正確に求めることができる。
【００６０】
洗浄システム７０’は、機械学習装置５０（又は２０）が、ネットワーク７２に用意されたクラウドサーバに存在する構成を有することができる。この構成によれば、複数の産業機械６０’のそれぞれが存在する場所や時期に関わらず、必要なときに必要な数の産業機械６０’を機械学習装置５０（又は２０）に接続することができる。
【００６１】
洗浄システム７０、７０’に従事する作業者は、機械学習装置５０（又は２０）に
よる学習開始後の適当な時期に、機械学習装置５０（又は２０）による洗浄対象を洗浄する際の洗浄条件の学習の到達度（すなわち洗浄対象を洗浄する際の洗浄条件の信頼性）が要求レベルに達したか否かの判断を実行することができる。
【００６２】
以上、本発明の実施の形態について説明したが、本発明は上述した実施の形態の例のみに限定されることなく、適宜の変更を加えることにより様々な態様で実施することができる。
【００６３】
例えば、機械学習装置２０、５０が実行する学習アルゴリズム、機械学習装置５０が実行する演算アルゴリズム、洗浄工程最適化装置１０、４０が実行する制御アルゴリズム等は、上述したものに限定されず、様々なアルゴリズムを採用できる。
【符号の説明】
【００６４】
１０  洗浄工程最適化装置
２０  機械学習装置
２２  状態観測部
２４  判定データ取得部
２６  学習部
２８  報酬計算部
３０  価値関数更新部
３２  誤差計算部
３４  モデル更新部
４０  洗浄工程最適化装置
４２  状態データ取得部
５０  機械学習装置
５２  意思決定部
６０，６０’  産業機械
７０，７０’  洗浄システム
７２  ネットワーク
【図１】
2018153872.tif 000005
【図２】
2018153872.tif 000006
【図３】
2018153872.tif 000007
【図４】
2018153872.tif 000008
【図５Ａ】
2018153872.tif 000009
【図５Ｂ】
2018153872.tif 000010
【図６】
2018153872.tif 000011
【図７】
2018153872.tif 000012
【図８】
2018153872.tif 000013