(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-13
(45)【発行日】2024-05-21
(54)【発明の名称】学習用データ生成装置、学習装置、制御装置、学習用データ生成方法、学習方法、制御方法、学習用データ生成プログラム、学習プログラム、及び制御プログラム
(51)【国際特許分類】
G06N 20/00 20190101AFI20240514BHJP
G06N 99/00 20190101ALI20240514BHJP
【FI】
G06N20/00
G06N99/00 180
(21)【出願番号】P 2020044804
(22)【出願日】2020-03-13
【審査請求日】2023-01-11
(73)【特許権者】
【識別番号】000002945
【氏名又は名称】オムロン株式会社
(74)【代理人】
【識別番号】110001519
【氏名又は名称】弁理士法人太陽国際特許事務所
(72)【発明者】
【氏名】伊藤 喜輝
(72)【発明者】
【氏名】上山 勇樹
(72)【発明者】
【氏名】阿部 泰明
(72)【発明者】
【氏名】稲本 修治
【審査官】佐藤 実
(56)【参考文献】
【文献】国際公開第2016/079972(WO,A1)
【文献】特開2020-004178(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
G06N 99/00
(57)【特許請求の範囲】
【請求項1】
制御対象から観測された観測データであって、説明変数と目的変数との組み合わせを表す複数の観測データを取得する取得部と、
前記取得部により取得された前記複数の観測データに基づいて、前記説明変数から前記目的変数を出力するためのモデルを学習させて、学習済みの教師用モデルを生成する教師用学習部と、
前記教師用学習部により生成された前記教師用モデルに対して、所定の説明変数を入力することにより、前記所定の説明変数に対する所定の目的変数を取得し、前記所定の説明変数と前記所定の目的変数との組み合わせを、決定木モデルを学習させるための学習用データとして生成する学習用データ生成部と、
を含む学習用データ生成装置。
【請求項2】
前記制御対象は製造装置である、
請求項1に記載の学習用データ生成装置。
【請求項3】
請求項1又は請求項2に記載の学習用データ生成装置によって生成された前記学習用データを取得する学習用データ取得部と、
前記学習用データ取得部により取得された前記学習用データに基づいて、前記決定木モデルを学習させる学習部を含む、
学習装置。
【請求項4】
前記制御対象から前記説明変数を取得する情報取得部と、
請求項3の学習装置によって学習された前記決定木モデルへ、前記情報取得部により取得された前記説明変数を入力することにより、該説明変数に対応する目的変数を取得し、該目的変数に応じた制御を前記制御対象に対して実行する制御部と、
を含む制御装置。
【請求項5】
取得部が、制御対象から観測された観測データであって、説明変数と目的変数との組み合わせを表す複数の観測データを取得し、
教師用学習部が、前記取得部により取得された前記複数の観測データに基づいて、前記説明変数から前記目的変数を出力するためのモデルを学習させて、学習済みの教師用モデルを生成し、
学習用データ生成部が、前記教師用学習部により生成された前記教師用モデルに対して、所定の説明変数を入力することにより、前記所定の説明変数に対する所定の目的変数を取得し、前記所定の説明変数と前記所定の目的変数との組み合わせを、決定木モデルを学習させるための学習用データとして生成する、
学習用データ生成方法。
【請求項6】
学習用データ取得部が、請求項5に記載の学習用データ生成方法によって生成された前記学習用データを取得し、
学習部が、前記学習用データ取得部により取得された前記学習用データに基づいて、前記決定木モデルを学習させる、
学習方法。
【請求項7】
情報取得部が、前記制御対象から前記説明変数を取得し、
制御部が、請求項6の学習方法によって学習された前記決定木モデルへ、前記情報取得部により取得された前記説明変数を入力することにより、該説明変数に対応する目的変数を取得し、該目的変数に応じた制御を前記制御対象に対して実行する、
制御方法。
【請求項8】
コンピュータを、
制御対象から観測された観測データであって、説明変数と目的変数との組み合わせを表す複数の観測データを取得する取得部、
前記取得部により取得された前記複数の観測データに基づいて、前記説明変数から前記目的変数を出力するためのモデルを学習させて、学習済みの教師用モデルを生成する教師用学習部、及び
前記教師用学習部により生成された前記教師用モデルに対して、所定の説明変数を入力することにより、前記所定の説明変数に対する所定の目的変数を取得し、前記所定の説明変数と前記所定の目的変数との組み合わせを、決定木モデルを学習させるための学習用データとして生成する学習用データ生成部
として機能させるための学習用データ生成プログラム。
【請求項9】
コンピュータを、
請求項8に記載の学習用データ生成プログラムによって生成された前記学習用データを取得する学習用データ取得部、及び
前記学習用データ取得部により取得された前記学習用データに基づいて、前記決定木モデルを学習させる学習部
として機能させるための学習プログラム。
【請求項10】
コンピュータを、
前記制御対象から前記説明変数を取得する情報取得部、及び
請求項9の学習プログラムによって学習された前記決定木モデルへ、前記情報取得部により取得された前記説明変数を入力することにより、該説明変数に対応する目的変数を取得し、該目的変数に応じた制御を前記制御対象に対して実行する制御部
として機能させるための制御プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、学習用データ生成装置、学習装置、制御装置、学習用データ生成方法、学習方法、制御方法、学習用データ生成プログラム、学習プログラム、及び制御プログラムに関する。
【背景技術】
【0002】
従来、プラントの立ち上げデータを用いてプラントの同定、及び、制御パラメータの調整を実現可能とするプラント制御システムが知られている(例えば、特許文献1を参照)。
【0003】
特許文献1に開示されているシステム支援ツールは、立ち上げデータを元に同定機能を用いて、プラントのモデルパラメータを推定する。そして、システム支援ツールは、制御パラメータ調整機能を用いて、モデル予測制御部及びPID制御部に係る制御パラメータを、同定結果のモデルパラメータを使って計算する。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、任意の制御システムにおいて、制御対象から観測される観測データを学習用データとして設定し、当該制御システムにおいて動作させるモデルを学習させる場合がある。そのようなモデルの一例として決定木を表すモデルである決定木モデルを学習させる場合、学習用データの数が増加するほど決定木モデルの層数が増加し、演算時間やモデルのメモリ容量が増加する。
【0006】
しかし、制御システムに組み込まれる機器においては演算時間を低減させる必要がある。この点、制御対象から観測される膨大な観測データを用いて決定木モデルを学習させた場合には、決定木モデルの演算時間及びモデルのメモリ容量が増加するため、膨大な学習用データを用いることは好ましくない。
【0007】
そのため、膨大な観測データから少数の観測データが学習用データとして選択されることが多い。しかし、この場合には、選択された観測データが学習用データとして適切ではない場合には、その学習用データを用いて学習がされた決定木モデルも適切ではないものとなる。具体的には、学習用データとして選択された観測データにノイズが含まれていた場合には、その学習用データを用いて学習された決定木モデルの精度は低くなる。しかし、決定木モデルの精度を低下させないような学習用データを、膨大な観測データから取捨選択することは難しい。
【0008】
上記特許文献1に記載の技術では、プラントの立ち上げデータが採取され、その立ち上げデータに基づきモデルパラメータが推定されるものの、その立ち上げデータを取捨選択することについては考慮されていない。このため、上記特許文献1に記載の技術を用いて決定木モデルの演算時間及びモデルのメモリ容量を低減させる場合には、人手によって立ち上げデータを取捨選択する必要があり、学習用データを容易に削減することが困難である、という課題がある。
【0009】
本発明は、上記の点に鑑みてなされたものであり、学習用データの削減を容易にすることを目的とする。
【課題を解決するための手段】
【0010】
上記目的を達成するために、本発明に係る学習用データ生成装置は、制御対象から観測された観測データであって、説明変数と目的変数との組み合わせを表す複数の観測データを取得する取得部と、前記取得部により取得された前記複数の観測データに基づいて、前記説明変数から前記目的変数を出力するためのモデルを学習させて、学習済みの教師用モデルを生成する教師用学習部と、前記教師用学習部により生成された前記教師用モデルに対して、所定の説明変数を入力することにより、前記所定の説明変数に対する所定の目的変数を取得し、前記所定の説明変数と前記所定の目的変数との組み合わせを、決定木モデルを学習させるための学習用データとして生成する学習用データ生成部と、を含む学習用データ生成装置である。
【0011】
また、前記制御対象は製造装置であるようにすることができる。
【0012】
また、本発明に係る学習装置は、上記の学習用データ生成装置によって生成された前記学習用データを取得する学習用データ取得部と、前記学習用データ取得部により取得された前記学習用データに基づいて、前記決定木モデルを学習させる学習部を含む、学習装置である。
【0013】
また、本発明に係る制御装置は、前記制御対象から前記説明変数を取得する情報取得部と、上記の学習装置によって学習された前記決定木モデルへ、前記情報取得部により取得された前記説明変数を入力することにより、該説明変数に対応する目的変数を取得し、該目的変数に応じた制御を前記制御対象に対して実行する制御部と、を含む制御装置である。
【0014】
また、本発明に係る学習用データ生成方法は、取得部が、制御対象から観測された観測データであって、説明変数と目的変数との組み合わせを表す複数の観測データを取得し、教師用学習部が、前記取得部により取得された前記複数の観測データに基づいて、前記説明変数から前記目的変数を出力するためのモデルを学習させて、学習済みの教師用モデルを生成し、学習用データ生成部が、前記教師用学習部により生成された前記教師用モデルに対して、所定の説明変数を入力することにより、前記所定の説明変数に対する所定の目的変数を取得し、前記所定の説明変数と前記所定の目的変数との組み合わせを、決定木モデルを学習させるための学習用データとして生成する、学習用データ生成方法である。
【0015】
また、本発明に係る学習方法は、学習用データ取得部が、上記の学習用データ生成方法によって生成された前記学習用データを取得し、学習部が、前記学習用データ取得部により取得された前記学習用データに基づいて、前記決定木モデルを学習させる、学習方法である。
【0016】
また、本発明に係る制御方法は、情報取得部が、前記制御対象から前記説明変数を取得し、制御部が、上記の学習方法によって学習された前記決定木モデルへ、前記情報取得部により取得された前記説明変数を入力することにより、該説明変数に対応する目的変数を取得し、該目的変数に応じた制御を前記制御対象に対して実行する、制御方法である。
【0017】
また、本発明に係る学習用データ生成プログラムは、コンピュータを、制御対象から観測された観測データであって、説明変数と目的変数との組み合わせを表す複数の観測データを取得する取得部、前記取得部により取得された前記複数の観測データに基づいて、前記説明変数から前記目的変数を出力するためのモデルを学習させて、学習済みの教師用モデルを生成する教師用学習部、及び前記教師用学習部により生成された前記教師用モデルに対して、所定の説明変数を入力することにより、前記所定の説明変数に対する所定の目的変数を取得し、前記所定の説明変数と前記所定の目的変数との組み合わせを、決定木モデルを学習させるための学習用データとして生成する学習用データ生成部として機能させるための学習用データ生成プログラムである。
【0018】
また、本発明に係る学習プログラムは、コンピュータを、上記の学習用データ生成プログラムによって生成された前記学習用データを取得する学習用データ取得部、及び前記学習用データ取得部により取得された前記学習用データに基づいて、前記決定木モデルを学習させる学習部として機能させるための学習プログラムである。
【0019】
また、本発明に係る制御プログラムは、コンピュータを、前記制御対象から前記説明変数を取得する情報取得部、及び上記の学習プログラムによって学習された前記決定木モデルへ、前記情報取得部により取得された前記説明変数を入力することにより、該説明変数に対応する目的変数を取得し、該目的変数に応じた制御を前記制御対象に対して実行する制御部として機能させるための制御プログラムである。
【発明の効果】
【0020】
本発明に係る学習用データ生成装置、学習装置、制御装置、方法、及びプログラムによれば、学習用データの削減を容易にすることができる。
【図面の簡単な説明】
【0021】
【
図1】本実施形態に係る制御システムの機能構成を示すブロック図である。
【
図2】本実施形態に係る学習装置のハードウェア構成を示すブロック図である。
【
図3】本実施形態に係るPLCのハードウェア構成を示すブロック図である。
【
図5】決定木モデルの学習を説明するための図である。
【
図6】観測データから数個のデータを選択する場合を説明するための図である。
【
図7】学習用データの生成を説明するための図である。
【
図8】本実施形態における学習用データ生成処理の流れを示すフローチャートである。
【
図9】本実施形態における学習処理の流れを示すフローチャートである。
【
図10】本実施形態における制御処理の流れを示すフローチャートである。
【
図11】本実施形態の変形例を説明するための図である。
【
図12】本実施形態の変形例を説明するための図である。
【発明を実施するための形態】
【0022】
以下、本発明の実施形態の一例を、図面を参照しつつ説明する。本実施形態では、本発明に係る制御装置を搭載したPLC(Programmable Logic Controller)を例に説明する。なお、各図面において同一又は等価な構成要素及び部分には同一の参照符号を付与している。また、図面の寸法及び比率は、説明の都合上誇張されており、実際の比率とは異なる場合がある。
【0023】
図1に示されるように、本実施形態に係る制御システム1は、製造装置5と、学習装置10と、PLC30とを備えている。本実施形態に係るPLC30は、学習装置10で生成された学習済みの決定木モデルを用いて、制御対象である製造装置5の動作を制御する。製造装置5は、例えば、搬送装置、プレス機等である。制御対象の製造装置5は、1つであってもよいし、複数であってもよい。
【0024】
図2は、本実施形態に係る学習装置10のハードウェア構成を示すブロック図である。
図2に示されるように、学習装置10は、CPU(Central Processing Unit)42、メモリ44、記憶装置46、入出力I/F(Interface)48、記憶媒体読取装置50、及び通信I/F52を有する。各構成は、バス54を介して相互に通信可能に接続されている。
【0025】
記憶装置46には、後述する各処理を実行するための学習用データ生成プログラム及び学習プログラムが格納されている。CPU42は、中央演算処理ユニットであり、各種プログラムを実行したり、各構成を制御したりする。すなわち、CPU42は、記憶装置46からプログラムを読み出し、メモリ44を作業領域としてプログラムを実行する。CPU42は、記憶装置46に記憶されているプログラムに従って、上記各構成の制御及び各種の演算処理を行う。
【0026】
メモリ44は、RAM(Random Access Memory)により構成され、作業領域として一時的にプログラム及びデータを記憶する。記憶装置46は、ROM(Read Only Memory)、及びHDD(Hard Disk Drive)、SSD(Solid State Drive)等により構成され、オペレーティングシステムを含む各種プログラム、及び各種データを格納する。
【0027】
入出力I/F48は、製造装置5からのデータの入力、及び製造装置5へのデータの出力を行うインタフェースである。また、例えば、キーボードやマウス等の、各種の入力を行うための入力装置、及び、例えば、ディスプレイやプリンタ等の、各種の情報を出力するための出力装置が接続されてもよい。出力装置として、タッチパネルディスプレイを採用することにより、入力装置として機能させてもよい。
【0028】
記憶媒体読取装置50は、CD(Compact Disc)-ROM、DVD(Digital Versatile Disc)-ROM、ブルーレイディスク、USB(Universal Serial Bus)メモリ等の各種記憶媒体に記憶されたデータの読み込みや、記憶媒体に対するデータの書き込み等を行う。
【0029】
通信I/F52は、他の機器と通信するためのインタフェースであり、例えば、イーサネット(登録商標)、FDDI、Wi-Fi(登録商標)等の規格が用いられる。
【0030】
図3は、本実施形態に係るPLC30のハードウェア構成を示すブロック図である。
図3に示されるように、PLC30は、CPU62、メモリ64、記憶装置66、入出力I/F68、記憶媒体読取装置70、及び通信I/F72を有する。各構成は、バス74を介して相互に通信可能に接続されている。
【0031】
記憶装置66には、後述する制御処理を実行するための制御プログラムが格納されている。CPU62は、中央演算処理ユニットであり、各種プログラムを実行したり、各構成を制御したりする。すなわち、CPU62は、記憶装置66からプログラムを読み出し、メモリ64を作業領域としてプログラムを実行する。CPU62は、記憶装置66に記憶されているプログラムに従って、上記各構成の制御及び各種の演算処理を行う。
【0032】
メモリ64は、RAMにより構成され、作業領域として一時的にプログラム及びデータを記憶する。記憶装置66は、ROM、及びHDD、SSD等により構成され、オペレーティングシステムを含む各種プログラム、及び各種データを格納する。
【0033】
入出力I/F68は、製造装置5からのデータの入力、及び製造装置5へのデータの出力を行うインタフェースである。また、例えば、キーボードやマウス等の、各種の入力を行うための入力装置、及び、例えば、ディスプレイやプリンタ等の、各種の情報を出力するための出力装置が接続されてもよい。出力装置として、タッチパネルディスプレイを採用することにより、入力装置として機能させてもよい。
【0034】
記憶媒体読取装置70は、CD-ROM、DVD-ROM、ブルーレイディスク、USBメモリ等の各種記憶媒体に記憶されたデータの読み込みや、記憶媒体に対するデータの書き込み等を行う。
【0035】
通信I/F72は、他の機器と通信するためのインタフェースであり、例えば、イーサネット(登録商標)、FDDI、Wi-Fi(登録商標)等の規格が用いられる。
【0036】
次に、学習装置10の機能構成について説明する。
図1に示されるように、学習装置10は、機能的には、取得部12と、教師用学習部16と、学習用データ生成部20と、学習用データ取得部24と、学習部28とを含む。また、学習装置10の所定の記憶領域には、観測データ記憶部14と、教師用モデル記憶部18と、学習用データ記憶部22と、学習モデル記憶部26とが設けられている。各機能構成は、CPU42が記憶装置46に記憶された各プログラムを読み出し、メモリ44に展開して実行することにより実現される。
【0037】
取得部12は、制御対象である製造装置5から観測された観測データを複数取得する。そして、取得部12は、取得した複数の観測データを、観測データ記憶部14へ格納する。本実施形態の観測データは、説明変数と目的変数との組み合わせを表すデータである。
【0038】
観測データのうちの説明変数は、例えば、製造装置5内のモーターの回転数、製造装置5に設けられた各種センサにより検出されたセンサ値、これらの値に基づいて判定処理等を行った処理結果等の情報である。観測データのうちの目的変数は、入力された説明変数に対して推論される製造装置5の状態等の予測値である。
【0039】
後述する本実施形態の決定木モデルは、観測データのうちの説明変数に基づいて、製造装置5の制御に必要な予測値である目的変数を出力する。すなわち、本実施形態の決定木モデルは、説明変数に基づいて製造装置5の制御に必要な予測値を推論する。そして、後述するPLC30は、決定木モデルにより推定された目的変数に応じた制御信号を生成する。PLC30は、目的変数から生成された制御信号に応じた制御を製造装置5に対して実行する。
【0040】
観測データ記憶部14には、取得部12により取得された複数の観測データが格納される。
【0041】
ここで、
図4に、本実施形態の決定木モデルの概念図を示す。
図4に示されるように、学習用データLDに応じて学習がなされると、学習済みの決定木モデルMが生成される。この学習済みの決定木モデルMに、ある説明変数が入力されると説明変数に対応する目的変数が得られる。
図4に示される学習済みの決定木モデルMは、学習用データLDの数が10個であり、層の深度が深いモデルとなっている。
図4に示されるような学習済みの決定木モデルMは、学習用データの数が多いため、例えば、学習用データの数が3つである決定木モデルよりも演算時間が長くなる。
【0042】
本実施形態のPLC30のような組み込み機器では、演算時間が制限されている場合がある。更に、組み込み機器ではメモリサイズに関する制約も存在する。このため、学習に用いることのできる学習用データの数の上限は予め定められたものとなり、なるべく少ない学習用データで決定木モデルを生成することが好ましい。そこで、本実施形態では、少数の学習用データを用いて決定木モデルを生成する。以下、具体的に説明する。
【0043】
図5に、決定木モデルの学習を説明するための図を示す。
図5に示されるグラフの横軸の入力は、説明変数を表す。また、
図5に示されるグラフの縦軸の出力は、目的変数を表す。
図5の2-1に示されるように、説明変数と目的変数とのペアである観測データDが存在していた場合、それらの観測データDに基づき、既存の学習アルゴリズムによって、2-2のような回帰木である決定木モデルMが生成される。
【0044】
しかし、
図5に示されるような決定木モデルMは、その生成の際に用いられている観測データの数が多いため演算時間が長くなってしまう。そこで、例えば、複数の観測データから数個のデータを選択し、選択された観測データを学習用データとして用いて決定木モデルを学習させることが考えられる。
【0045】
図6に、観測データから数個のデータを選択する場合を説明するための図を示す。
図6の3-1に示されるように、複数の観測データDが得られている場合を考える。この場合、
図6の3-2に示されるように、複数の観測データDから、例えば人手によって5個のデータDsが選択されたとする。しかし、
図6の3-3に示されるように、それらのデータDsにノイズが含まれていた場合、データDsに基づき学習された決定木モデルM’の精度は低くなり適切なモデルとはならない。
【0046】
そこで、本実施形態では、複数の観測データを用いて、教師用の決定木モデルを表す教師用モデルを一旦生成し、その教師用モデルを用いて他の決定木モデルを学習させるための学習用データを生成する。
【0047】
図7に、本実施形態における学習用データの生成を説明するための図を示す。
図7の4-1に示されるように、複数の観測データDに基づいて、既存の学習アルゴリズムによって教師用モデルMが生成される。次に、学習用データの数が決定される。例えば、
図7の例では、3つの学習用データを生成することが決定される。
【0048】
そして、
図7の4-2において、学習用データを生成する際の説明変数の範囲Rが設定される。具体的には、
図7の4-2に示されるように、複数の観測データDのうちの、説明変数の上限と説明変数の下限とが設定されその範囲がRとして設定される。
【0049】
次に、
図7の4-3において、教師用モデルMに対して入力する3つの説明変数X
1,X
2,X
3が設定される。この3つの説明変数X
1,X
2,X
3は、説明変数の上限と説明変数の下限として設定された範囲R内に存在する説明変数である。なお、
図7の例では、3つの説明変数X
1,X
2,X
3が等間隔で設定される。
【0050】
次に、
図7の4-4において、教師用モデルMに対して3つの説明変数X
1,X
2,X
3が入力され、教師用モデルMから目的変数Y
1,Y
2,Y
3が出力される。この3つのデータP
1,P
2,P
3が学習用データとして設定される。
【0051】
そして、
図7の4-5に示されるように、学習用データP
1,P
2,P
3に基づいて、教師用モデルMとは異なる他の決定木モデルM’が生成される。この決定木モデルM’は、3つの学習用データP
1,P
2,P
3から生成されたモデルであるため、演算時間が短いモデルとなる。更に、決定木モデルM’は、教師用モデルMから生成された学習用データに基づき学習がなされるため、精度の良いモデルとなる。
【0052】
このため、教師用学習部16は、取得部12により取得された複数の観測データに基づいて、説明変数から目的変数を出力するためのモデルを学習させて、学習済みの教師用モデルを生成する。なお、本実施形態では教師用モデルとして決定木モデルを用いる場合を例に説明する。決定木モデルは、分類木及び回帰木の何れであってもよい。
【0053】
教師用モデル記憶部18には、教師用学習部16によって生成された学習済みの教師用モデルが格納される。
【0054】
学習用データ生成部20は、教師用学習部16により生成された学習済みの教師用モデルに対して、所定の説明変数Xを入力することにより、所定の説明変数Xに対する所定の目的変数Yを取得する。そして、学習用データ生成部20は、所定の説明変数Xと所定の目的変数Yとの組み合わせを、他の決定木モデルを学習させるための学習用データとして生成する。
【0055】
具体的には、まず、学習用データ生成部20は、上記
図7に示されるように、複数の観測データのうちの、説明変数の上限と説明変数の下限とを設定する。次に、学習用データ生成部20は、上記
図7に示されるように、説明変数の上限と説明変数の下限との間の範囲内に存在する説明変数を、所定の説明変数として設定する。
【0056】
そして、学習用データ生成部20は、上記
図7に示されるように、設定された所定の説明変数を、教師用モデル記憶部18に格納された教師用モデルへ入力する。これにより、教師用モデルから、所定の説明変数に対応する所定の目的変数が出力される。学習用データ生成部20は、所定の説明変数Xと所定の目的変数Yとの組み合わせを、教師用モデルとは異なる他の決定木モデルを学習させるための学習用データとして、学習用データ記憶部22に格納する。
【0057】
学習用データ記憶部22には、学習用データ生成部20により生成された複数の学習用データが格納される。
【0058】
学習用データ取得部24は、教師用モデルとは異なる他の決定木モデルを学習させる際に、学習用データ記憶部22に格納された学習用データを取得する。
【0059】
学習部28は、学習用データ取得部24により取得された学習用データに基づいて、教師用モデルとは異なる他の決定木モデルを学習させる。なお、学習用データの数は、観測データの数よりも少ないため、学習対象の他の決定木モデルの層の深度は教師用モデルの層の深度よりも小さいものとなる。
【0060】
学習モデル記憶部26には、学習部28により学習された学習済みの決定木モデルが格納される。
【0061】
次に、本実施形態に係るPLC10の機能構成について説明する。
【0062】
上記
図1に示されるように、PLC10は、機能構成として、情報取得部34と、制御部36とを含む。また、PLC10の所定の記憶領域には、制御モデル記憶部32が設けられている。各機能構成は、CPU62が記憶装置66に記憶された制御プログラムを読み出し、メモリ64に展開して実行することにより実現される。
【0063】
制御モデル記憶部32には、学習装置10によって学習された学習済みの決定木モデルが格納される。
【0064】
情報取得部34は、製造装置5から出力される説明変数を取得する。
【0065】
制御部36は、制御モデル記憶部32に格納された学習済みの決定木モデルへ、情報取得部34により取得された説明変数を入力することにより、当該説明変数に対応する目的変数を取得する。そして、制御部36は、取得した目的変数に応じた制御を製造装置5に対して実行する。
【0066】
具体的には、制御部36は、学習済みの決定木モデルから出力された目的変数に基づいて、製造装置5を制御するための制御信号を生成して出力する。例えば、制御部36は、決定木モデルで予測された製造装置5の状態を表す目的変数に応じて、ローラーの角度を調整したり、モーターの回転速度を変更したりするための制御信号を生成する。そして、制御部36は、制御信号に応じた制御を製造装置5に対して実行する。
【0067】
次に、本実施形態に係る制御システム1の作用について説明する。
【0068】
まず、学習装置10において実行される学習用データを生成する処理について説明する。製造装置5が駆動している際に、学習装置10の取得部12が製造装置5から出力される観測データを逐次取得し、観測データ記憶部14へ格納する。
【0069】
そして、学習装置10が学習用データの生成の指示信号を受け付けると、学習装置10のCPU42は記憶装置46から学習用データ生成プログラムを読み出して、メモリ44に展開して実行する。これにより、CPU42が学習装置10の各機能構成として機能し、
図8に示す学習用データ生成処理が実行される。
【0070】
ステップS100において、取得部12は、観測データ記憶部14に格納された複数の観測データを取得する。
【0071】
ステップS102において、教師用学習部16は、上記ステップS100で取得された複数の観測データに基づいて、説明変数から目的変数を出力するための決定木モデルを学習させて、学習済みの教師用モデルを生成する。
【0072】
ステップS104において、教師用学習部16は、上記ステップS102で生成された学習済みの教師用モデルの精度評価を行う。例えば、教師用学習部16は、上記ステップS100で取得された複数の観測データを用いて、学習済みの教師用モデルの正解率を算出する。
【0073】
ステップS106において、教師用学習部16は、上記ステップS104で得られた精度評価結果が、所定の条件を満たすか否かを判定する。例えば、上記ステップS104で得られた正解率が所定の閾値以上である場合には、教師用モデルの精度が所定の条件を満たすとして、ステップS108へ移行する。一方、上記ステップS104で得られた正解率が所定の閾値未満である場合には、教師用モデルの精度が所定の条件を満たさないとして、ステップS102へ移行し学習を繰り返す。
【0074】
ステップS108において、教師用学習部16は、上記ステップS102で得られた学習済みの教師用モデルを、教師用モデル記憶部18に格納する。
【0075】
ステップS110において、学習用データ生成部20は、上記ステップS108で教師用モデル記憶部18に格納された学習済みの教師用モデルに対して、所定の説明変数Xを入力することにより、所定の説明変数Xに対する所定の目的変数Yを取得する。そして、学習用データ生成部20は、所定の説明変数Xと所定の目的変数Yとの組み合わせを、他の決定木モデルを学習させるための学習用データとして生成する。なお、学習用データ生成部20は、複数の学習用データを生成する。
【0076】
ステップS112において、学習用データ生成部20は、上記ステップS110で生成された複数の学習用データを、学習用データ記憶部22に格納して学習用データ生成処理を終了する。
【0077】
次に、学習装置10において実行される学習処理について説明する。
【0078】
学習用データ記憶部22に複数の学習用データが格納された後に、学習装置10が決定木モデルの生成の指示信号を受け付けると、学習装置10のCPU42は記憶装置46から学習プログラムを読み出して、メモリ44に展開して実行する。これにより、CPU42が学習装置10の各機能構成として機能し、
図9に示す学習処理が実行される。
【0079】
ステップS200において、学習用データ取得部24は、学習用データ記憶部22に格納されている複数の学習用データを取得する。
【0080】
ステップS202において、学習部28は、上記ステップS200で取得された学習用データに基づいて、上記の教師用モデルとは異なる他の決定木モデルを学習させる。なお、学習対象の他の決定木モデルの層の深度は、上記の教師用モデルの層の深度よりも小さいものとなる。
【0081】
ステップS204において、学習部28は、上記ステップS202で生成された学習済みの決定木モデルの精度評価を行う。例えば、教師用学習部16は、観測データ記憶部14に記憶された複数の観測データを用いて、学習済みの決定木モデルの正解率を算出する。
【0082】
ステップS206において、学習部28は、上記ステップS204で得られた精度評価結果が、所定の条件を満たすか否かを判定する。例えば、上記ステップS204で得られた正解率が所定の閾値以上である場合には、決定木モデルの精度が所定の条件を満たすとして、ステップS208へ移行する。一方、上記ステップS204で得られた正解率が所定の閾値未満である場合には、決定木モデルの精度が所定の条件を満たさないとして、ステップS202へ移行し学習を繰り返す。
【0083】
ステップS208において、学習部28は、上記ステップS202で生成された学習済みの決定木モデルを学習モデル記憶部26に格納して、学習処理を終了する。
【0084】
次に、PLC30において実行される制御処理について説明する。
【0085】
学習モデル記憶部26に学習済みの決定木モデルが格納された後、その学習済みの決定木モデルがPLC30へ入力される。PLC30は、学習済みの決定木モデルを制御モデル記憶部32へ格納する。
【0086】
そして、PLC30が製造装置5の制御開始の指示信号を受け付けると、PLC30のCPU62は記憶装置66から制御プログラムを読み出して、メモリ64に展開して実行する。これにより、CPU62がPLC30の各機能構成として機能し、
図10に示す制御処理が実行される。
【0087】
ステップS300において、情報取得部34は、製造装置5から出力されるモーターの回転数等の説明変数を取得する。
【0088】
ステップS302において、制御部36は、制御モデル記憶部32に格納された学習済みの決定木モデルへ、上記ステップS300で取得された説明変数を入力することにより、当該説明変数に対応する目的変数を取得する。
【0089】
ステップS304において、制御部36は、取得した目的変数に応じた制御を製造装置5に対して実行する。具体的には、制御部36は、学習済みの決定木モデルから出力された目的変数に基づいて、製造装置5を制御するための制御信号を生成して出力する。これにより、決定木モデルを用いた制御処理が実行される。
【0090】
以上説明したように、本実施形態に係る制御システムの学習装置は、制御対象から観測された観測データであって、説明変数と目的変数との組み合わせを表す複数の観測データを取得する。そして、学習装置は、取得された複数の観測データに基づいて、説明変数から目的変数を出力するための決定木モデルを学習させて、学習済みの教師用モデルを生成する。そして、学習装置は、教師用モデルに対して、所定の説明変数を入力することにより、所定の説明変数に対する所定の目的変数を取得し、所定の説明変数と所定の目的変数との組み合わせを、決定木モデルを学習させるための学習用データとして生成する。これにより、学習用データを容易に削減することができる。具体的には、従来では学習に用いるデータの質と特徴性とを考慮して観測データから学習用データを選定する必要があったが、その手間が不要となる。
【0091】
また、ノイズが低減された学習用データを得ることができる。具体的には、教師用モデルからノイズの影響が少ない質の良い学習用データが生成される。
【0092】
また、本実施形態の学習装置は、複数の観測データのうちの、説明変数の上限と説明変数の下限とを設定する。そして、学習装置は、説明変数の上限と説明変数の下限との間の範囲内に存在する説明変数を、所定の説明変数として設定し、設定された所定の説明変数を教師用モデルへ入力して、学習用データを生成する。これにより、観測データが得られた範囲内において適切な学習用データを生成することができる。この点、観測データが得られていない範囲において学習用データを生成し、その学習用データに基づき決定木モデルを学習させた場合には、PLCの動作保証の観点から好ましくない。そのため、本実施形態によれば、観測データが得られた範囲内において学習用データを生成することにより、PLCの動作保証の観点からも適切な学習用データを得ることができる。
【0093】
また、本実施形態の学習装置は、教師用モデルから得られた学習用データに基づいて、他の決定木モデルを学習させる。これにより、ノイズが低減された学習用データから決定木モデルが生成されるため、精度の良い決定木モデルを得ることができる。更に、従来行われていたデータの選定が不要となるため、決定木モデルを簡易に生成することができる。
【0094】
また、組み込み機器が変更された際の決定木モデルの流用が容易となる。また、一度生成された教師用モデルから学習用データの生成がいつでも可能となるため、決定木モデルのサイズの任意的な変更が可能となる。
【0095】
また、本実施形態のPLCは、学習装置により生成された決定木モデルを用いて製造装置等の制御対象を制御するため、精度の良い制御が実行される。また、計算量の少ない決定木モデルを用いて製造装置等の制御対象を制御することができる。
【0096】
なお、上記実施形態では、本発明の制御装置をPLCに搭載した例について説明したが、これに限定されない。例えば、車両の自動運転又は運転アシストの機能にも適用することができる。この場合、車両から、アクセルやブレーキの踏み込み量、ステアリングの操舵角、速度、加速度等のデータを説明変数として取得し、説明変数を入力として、決定木モデルにより、車両の状態を推論した予測値を目的変数として出力する。そして、目的変数に基づく制御信号を車両に出力すればよい。
【0097】
また、上記実施形態では、
図7の4-3に示されるように、説明変数の上限と説明変数の下限との間の範囲R内において学習用データが生成される場合を例に説明したが、これに限定されるものではない。例えば、
図11に示されるように、説明変数の上限と説明変数の下限との間の範囲R1内に存在する説明変数であって、かつ観測データの密度が閾値以上である範囲R2内に存在する説明変数を、所定の説明変数Xとして設定してもよい。この場合には、範囲R2内に存在する観測データの数が所定の密度以上であるため、その範囲内において学習用データが生成されると観測データに類似する学習用データが得られ、より好ましいものとなる。この場合には、
図11に示されるように、設定された所定の説明変数Xを教師用モデルMへ入力して、説明変数Xと目的変数Yとの組み合わせである学習用データPが生成される。
【0098】
また、上記実施形態では、教師用モデルの精度及び決定木モデルの精度が所定以上である場合に、学習処理を終了する場合を例に説明したが、これに限定されるものではない。例えば、
図12に示されるように、制御システム1が表示装置29を更に備え、ユーザが表示装置29に表示された学習結果を確認するようにしてもよい。この場合には、ユーザは、表示装置29に表示された教師用モデルの精度及び決定木モデルの精度を確認し、学習を終了させても良いか否かを決定するようにしてもよい。
【0099】
また、上記実施形態では、教師用モデルとして決定木モデルを用いる場合を例に説明したが、これに限定されるものではない。例えば、決定木モデルとは異なる種類のモデルを教師用モデルとして用いるようにしてもよい。
【0100】
また、上記実施形態でCPUがソフトウェア(プログラム)を読み込んで実行した各処理を、CPU以外の各種のプロセッサが実行してもよい。この場合のプロセッサとしては、FPGA(Field-Programmable Gate Array)等の製造後に回路構成を変更可能なPLD(Programmable Logic Device)、及びASIC(Application Specific Integrated Circuit)等の特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路等が例示される。また、各処理を、これらの各種のプロセッサのうちの1つで実行してもよいし、同種又は異種の2つ以上のプロセッサの組み合わせ(例えば、複数のFPGA、及びCPUとFPGAとの組み合わせ等)で実行してもよい。また、これらの各種のプロセッサのハードウェア的な構造は、より具体的には、半導体素子等の回路素子を組み合わせた電気回路である。
【0101】
また、上記実施形態は、学習装置10とPLC30とによって構成される場合を例に説明したが、これに限定されるものではない。例えば、学習装置10とPLC30とを1つの装置として構成してもよい。また、学習装置10のうちの学習用データ生成処理を学習用データ生成装置として構成し、学習装置10のうちの学習処理を学習装置として構成してもよい。
【0102】
また、上記実施形態では、各プログラムが記憶装置に予め記憶(インストール)されている態様を説明したが、これに限定されない。プログラムは、CD-ROM、DVD-ROM、ブルーレイディスク、USBメモリ等の記憶媒体に記憶された形態で提供されてもよい。また、プログラムは、ネットワークを介して外部装置からダウンロードされる形態としてもよい。
【符号の説明】
【0103】
1 制御システム
5 製造装置
10 学習装置
12 取得部
14 観測データ記憶部
16 教師用学習部
18 教師用モデル記憶部
20 学習用データ生成部
22 学習用データ記憶部
24 学習用データ取得部
26 学習モデル記憶部
28 学習部
29 表示装置
30 PLC
32 制御モデル記憶部
34 情報取得部
36 制御部
42,62 CPU
44,64 メモリ