(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-05-02
(54)【発明の名称】リアルタイム異常検出のためのGNNに基づくマスタ状態の生成方法
(51)【国際特許分類】
G05B 19/05 20060101AFI20240424BHJP
【FI】
G05B19/05 D
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023564610
(86)(22)【出願日】2021-11-12
(85)【翻訳文提出日】2023-10-18
(86)【国際出願番号】 KR2021016481
(87)【国際公開番号】W WO2022225117
(87)【国際公開日】2022-10-27
(31)【優先権主張番号】10-2021-0050982
(32)【優先日】2021-04-20
(33)【優先権主張国・地域又は機関】KR
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】523396381
【氏名又は名称】ユーディーエムテック
【氏名又は名称原語表記】UDMTEK
【住所又は居所原語表記】1405, 1406, 1407, 1408, 14F, 91, Changnyong-daero 256beon-gil, Yeongtong-gu, Suwon-si, Gyeonggi-do, 16229, Republic of Korea
(74)【代理人】
【識別番号】110000408
【氏名又は名称】弁理士法人高橋・林アンドパートナーズ
(72)【発明者】
【氏名】ワン,ジ ナム
(72)【発明者】
【氏名】パク,ジュン ピョ
(72)【発明者】
【氏名】ハン,スン ウ
(72)【発明者】
【氏名】ハン,カン ヒ
(72)【発明者】
【氏名】チョン,ミン ヨン
(72)【発明者】
【氏名】ユ,サン チョル
(72)【発明者】
【氏名】ユ,クム ホ
【テーマコード(参考)】
5H220
【Fターム(参考)】
5H220AA01
5H220AA04
5H220BB10
5H220CC07
5H220CX02
5H220JJ28
5H220JJ34
5H220JJ51
5H220KK08
(57)【要約】
本明細書は、PLC(Programmable Logic Controller)から出力されたログデータを解析し、反復サイクルで正常な状態であるマスタ状態を生成する方法を開示する。また、マスタ状態を生成するためのデータ前処理としてログデータをグラフデータとして生成する方法を開示する。本明細書によるマスターパターン生成方法及びサイクル解析モデルの訓練方法は、人間が解析するのが困難な機械制御言語(Low-Level Language)を処理し、解析可能な言語(High-Level Language)に変換する技術、すなわち実行される機械語(機械を制御する言語)コンピュータで解析し、人間が理解可能なMLP(machine language Processing)に基づく技術であるという点で、従来技術とは異なる差別性がある。
【選択図】
図1
【特許請求の範囲】
【請求項1】
(a)ガントチャートで表されるログデータにおいて、接点値が変化する区間毎に1つの状態に分割する段階、
(b)前記分割状態の中から主要な状態を識別し、前記主要な状態に該当する区間毎に少なくとも一つ以上のセンサ値を追加し、前記センサ値が追加された主要な状態の生成順序に従って、前記ログデータをノード行列データに変換するステップ、および
(c)前記分割状態間の連結関係を定義し、前記分割状態をノードとして表し、前記分割状態の連結関係をエッジとして表し、前記ログデータをエッジインデックスデータに変換する段階、を含む異常状態検出のためのグラフデータ生成方法。
【請求項2】
前記(a)段階は、
変化した接点値に応じて状態を分割するための識別特徴を割り当てることをさらに含む、請求項1に記載の異常状態検出のためのグラフデータ生成方法。
【請求項3】
前記(b)段階は、
前記同一識別特徴を有する状態の数をカウントし、予め設定された値以上の数を有する状態を主要な状態として識別する段階である、請求項2に記載の異常状態検出のためのグラフデータ生成方法。
【請求項4】
前記(b)段階は、
識別された主要な状態は、ワンホットエンコーディング(One Hot Encoding)形式で識別コードを割り当てることをさらに含む、請求項3に記載の異常状態検出のためのグラフデータ生成方法。
【請求項5】
前記(b)段階は、
区間内に一つのセンサから出力された2以上のセンサ値が存在するときに、一つの代表値を選定して追加することを特徴とする、請求項1に記載の異常状態検出のためのグラフデータ生成方法。
【請求項6】
前記連結関係は、必要条件または排他条件であることを特徴とする、請求項1に記載の異常状態検出のためのグラフデータ生成方法。
【請求項7】
前記(c)段階は、
前記ノード行列データから主要な状態に対応しないノードを削除し、削除されたノードに連結された前後のノードを連結し、エッジインデックスデータに変換することを特徴とする、請求項1に記載の異常状態検出のためのグラフデータ生成方法。
【請求項8】
請求項1~7のいずれか一項に記載の生成された複数のグラフデータを用いてマスタ状態を生成する方法であって、
(a)前記複数のグラフデータのうちまだ入力されていない1つのグラフデータを入力データとしてGNN オートエンコーダ(AutoEncoder)に入力する段階、
(b)前記GNN オートエンコーダ(AutoEncoder)により出力された再構成データと前記入力データとの間のセンサ値の差分値(以下、「アナログレベル損失」)を算出する段階、
(c)各ノード毎に前記アナログレベル損失の平均値(以下、「ノードレベル損失」)を算出し、各グラフ毎に前記ノードレベル損失の平均値(以下、「グラフレベル損失」)を算出する段階、
(d)前記グラフレベル損失を用いて前記GNN オートエンコーダ(AutoEncoder)を再学習させる段階、および
(e)前記複数のグラフデータのうちまだ入力されていないグラフデータが残っているとき、前記段階(a)~(d)を反復実行する段階、を含む、マスタ状態の生成方法。
【請求項9】
(f)前記複数のグラフデータ全てが入力データとしてGNN オートエンコーダ(AutoEncoder)に入力されたとき、前記ノードレベル損失の平均値および標準偏差を算出し、前記平均値に予め設定されたパラメータが反映された標準偏差値を合算した値をマスタ状態の上限基準として設定する段階、をさらに含む、請求項8に記載のマスタ状態の生成方法。
【請求項10】
(f)前記複数のグラフデータ全てが入力データとしてGNN オートエンコーダ(AutoEncoder)に入力されたとき、前記グラフレベル損失の平均値および標準偏差を算出し、前記平均値に予め設定されたパラメータが反映された標準偏差値を合算した値をマスタ状態の上限基準として設定する段階、をさらに含む、請求項8に記載のマスタ状態の生成方法。
【請求項11】
コンピュータであって、請求項1~7のいずれか一項に記載のグラフデータ生成方法の各段階を実行するように作成され、コンピュータで読み取り可能な記録媒体に記録されたコンピュータプログラム。
【請求項12】
コンピュータであって、請求項8に記載のマスタ状態の生成方法の各段階を実行するように作成され、コンピュータで読み取り可能な記録媒体に記録されたコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、設備のマスタ状態の生成方法に関するものであり、より詳細には、設備のログデータを解析し、反復サイクルにおける主要な状態を発見する方法に関するものである。
【背景技術】
【0002】
この項に述べられている内容は、単に本明細書に記載された実施例に対する背景情報を提供するものであって、必ずしも従来技術を構成するものではない。
【0003】
PLC(Programmable Logic Controller)は、主に自動化ラインを構築するために使用され、AND/ORなどの演算子記号とTIMER/FUNCTION BLOCKといった比較的単純な機能により作成されたPLC制御ロジックの仕様(PLCの制御ロジッグコード)によって駆動される。制御ロジックは、PLCハードウェアのメモリアドレスを用いて定義され、このとき、PLCハードウェアのメモリアドレスは、接点と呼ばれる。このような接点に対して入力/出力関係を定義し、状況に応じて接点値をコントロールすることによって自動化ラインが運用される。
【0004】
一般的に、PLC制御ロジックは、自動化ラインの規模に応じて多数の接点を有する。そのため、接点間のPLC制御ロジッグコードの内容を解析し、接点間の関係およびシーケンス(sequence)を解析し、自動化ラインが正常な運用状態であるか否かを判断するための基準マスタパターンを生成し、自動化ラインの異常状況を検出しようとする試みが行われている。
【0005】
しかしながら、PLCで運用される自動化ラインの状態は、例えば、設備の老朽化、交換、PLC制御コード変更など、さまざまな原因によって経年変化し、また、正常な運用状態を判断するための基準マスターパターンも共に変化する。これによって既存に生成された基準マスターパターンは、変化した環境における自動化ラインが正常な運用状態であるか否かを判断するための基礎データとして用いることは不適切である。
【0006】
また、近来、自動化された製造産業では、製造ラインの複雑さが増すにつれて、制御ロジックが膨大で、且つ、非常に複雑に設計されている。そのため、PLCプログラムも複雑にロジッグ化されている。このような理由により、さらにPLCプログラムを診断および監視することもますます困難になり、これによってエラーを発見して修正するのにかかる時間も徐々に増加する傾向にある。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】韓国登録特許第10-1527419号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
本明細書は、設備及び工程の動作状態を有限状態として捉え、GNNに基づいてマスタ状態を生成することができる方法を提供することを目的とする。
【0009】
本明細書では、上述した課題に制限されるものではなく、言及されなかった他の課題は、次の記載から通常の技術者にとって明確に理解されるべきであろう。
【課題を解決するための手段】
【0010】
上述した課題を解決するための本明細書によるグラフデータの生成方法は、(a)ガントチャートで表されるログデータにおいて、接点値が変化する区間毎に1つの状態に分割する段階、(b)前記分割状態の中から主要な状態を識別し、前記主要な状態に該当する区間毎に少なくとも一つ以上のセンサ値を追加し、前記センサ値が追加された主要な状態の生成順序に従って、前記ログデータをノード行列データに変換する段階、および(c)前記分割状態間の連結関係を定義し、前記分割状態をノードとして表し、前記分割状態の連結関係をエッジとして表し、前記ログデータをエッジインデックスデータに変換する段階、を含むことができる。
【0011】
本明細書の一実施例によれば、前記(a)段階は、変化した接点値に応じて状態を分割するための識別特徴を割り当てることをさらに含むことができる。
【0012】
本明細書の一実施例によれば、前記(b)段階は、前記同一識別特徴を有する状態の数をカウントし、予め設定された値以上の数を有する状態を主要な状態として識別する段階であることができる。
【0013】
本明細書の一実施例によれば、前記(b)段階は、識別された主要な状態に対して、ワンホットエンコーディング(One Hot Encoding)形式で識別コードを割り当てることをさらに含むことができる。
【0014】
本明細書の一実施例によれば、前記(b)段階は、区間内に一つのセンサから出力された2以上のセンサ値が存在するときに、一つの代表値を選定して追加することができる。
【0015】
本明細書の一実施例によれば、前記連結関係は、必要条件または排他条件であってもよい。
【0016】
本明細書の一実施例によれば、前記(c)段階は、前記ノード行列データから主要な状態に対応しないノードを削除し、削除されたノードに連結された前後のノードを連結し、エッジインデックスデータに変換することができる。
【0017】
上述した課題を解決するための本明細書によるマスタ状態の生成方法は、本明細書に記載のグラフデータの生成方法により生成された複数のグラフデータを用いてマスタ状態を生成する方法であって、(a)前記複数のグラフデータのうちまだ入力されていない1つのグラフデータを、入力データとしてGNN オートエンコーダ(AutoEncoder)に入力する段階、(b)前記GNN オートエンコーダ(AutoEncoder)により出力された再構成データと前記入力データとの間のセンサ値の差分値(以下、「アナログレベル損失」)を算出する段階、(c)各ノード毎に前記アナログレベル損失の平均値(以下、「ノードレベル損失」)を算出し、各グラフ毎に前記ノードレベル損失の平均値(以下、「グラフレベル損失」)を算出する段階、(d)前記グラフレベル損失を用いて前記GNN オートエンコーダ(AutoEncoder)を再学習させる段階、および(e)前記複数のグラフデータのうちまだ入力されていないグラフデータが残っているとき、前記段階(a)~(d)を反復実行する段階、を含むことができる。
【0018】
本明細書の一実施例によれば、(f)前記複数のグラフデータ全てが入力データとしてGNN オートエンコーダ(AutoEncoder)に入力されたとき、前記ノードレベル損失の平均値および標準偏差を算出し、前記平均値に予め設定されたパラメータが反映された標準偏差値を合算した値をマスタ状態の上限基準として設定する段階、をさらに含むことができる。
【0019】
本明細書の他の実施例によれば、(f)前記複数のグラフデータ全てが入力データとしてGNN オートエンコーダ(AutoEncoder)に入力されたとき、前記グラフレベル損失の平均値および標準偏差を算出し、前記平均値に予め設定されたパラメータが反映された標準偏差値を合算した値をマスタ状態の上限基準として設定する段階、をさらに含むことができる。
【0020】
本明細書によるグラフデータの生成方法は、コンピュータにてグラフデータの生成方法の各段階が実行されるように作成され、コンピュータで読み取り可能な記録媒体に記録されたコンピュータプログラムとして具現されることができる。
【0021】
本明細書によるマスタ状態の生成方法は、コンピュータにてマスタ状態の生成方法の各段階が実行されるように作成され、コンピュータで読み取り可能な記録媒体に記録されたコンピュータプログラムとして具現されることができる。
【0022】
本発明のその他の具体的な事項は、詳細な説明及び図面に含まれている。
【発明の効果】
【0023】
本発明の一側面によれば、ログデータと制御ロジックからGNNに基づいてマスタ状態を生成することができる。
【0024】
本明細書の他の側面によれば、解析対象装置が制御される間、静的で動的なデータフローの連関性を解析しグラフ化することにより、GNN(Graph Neural Network)等のAIモデルを介して制御ロジック検査、制御ロジック生成、リアルタイム異常検出、再現性、生産性、品質解析などの多角的サービスを提供することができる効果がある。
【0025】
本発明の効果は、以上で言及した効果に制限されるものではなく、言及されていない他の効果は、以下の記載から通常の技術者にとって明確に理解されるべきであろう。
【図面の簡単な説明】
【0026】
【
図1】本明細書に開示された発明の全般的なフロー参考図である。
【
図2】本明細書によるグラフデータの生成方法の概略的なフローチャートである。
【
図8】ログデータをノード行列データに変換した参考図である。
【
図9】隣接する状態間の連結関連が定義されたことを示す参考図である。
【
図10】マイナー(Minor)状態に対応するノードを除去する参考図である。
【
図11】ログデータ、ノード行列データ、エッジインデックスデータ、及びグラフデータの関係についての参考図である。
【
図12】グラフデータとサイクル間の関係の参考図である。
【
図13】オートエンコーダ(AutoEncoder)の参考図である。
【
図14】本明細書によるマスタ状態の生成方法の概略的なフローチャートである。
【
図15】本明細書によるマスタ状態の生成方法の参考図である。
【発明を実施するための形態】
【0027】
本明細書に開示された本発明の利点及び特徴、並びにそれらを達成する方法は、添付される図面と共に詳細に後述されている実施例を参照すれば、明確になるであろう。しかし、本開示が以下に開示する実施例に制限されるものではなく、互いに異なる多様な形態で具現されることができ、本実施例は、単に本明細書の開示を完全にするものであり、本明細書が属する技術分野における通常の技術者(以下、「当業者」)にとって本明細書の範囲を完全に理解できるように提供されるものであり、本明細書の権利範囲は特許請求の範疇によって定義されるものに過ぎない。
【0028】
本明細書にて使用される用語は、実施例を説明するためのものであり、本明細書の範囲を制限することを意図するものではない。本明細書において、単数形は特に断りがない限り、複数形も含まれる。明細書にて使用される「含む(comprises)」及び/または「含む(comprising)」は、記載された構成要素に加えて1つ以上の他の構成要素の存在又は追加を排除するものではない。
【0029】
明細書全体に亘って同一図面符号は同一構成要素を指し、「及び/又は」は言及された構成要素の各々を、及び、一つ以上のすべての組み合わせを含む。たとえ「第1」、「第2」などの様々な構成要素を記述するために使用されるが、これらの構成要素はこれらの用語によって制限されるものではないことは勿論である。これらの用語は、単に一つの構成要素を他の構成要素と区別するために使用するものである。したがって、以下に述べる第1構成要素は、本発明の技術的思想内において、第2構成要素となり得ることは勿論である。
【0030】
特に断りがない限り、本開示で使用されるすべての用語(技術及び科学的用語を含む)は、本明細書が属する技術分野における通常の技術者にとって共通して理解され得る意味で使用されることができる。また、一般的に使用される辞書に定義されている用語は、明白に特に定義されていない限り、理想的または過度に解釈されない。以下、添付された図面を参照して本発明の実施例を詳細に説明する。
【0031】
本明細書にて使用される用語の定義は、次の通りである。
【0032】
マスタ状態(Master State)とは、工程の状態(State)と状態間の関係(Relation)をグラフ化し、グラフ化したデータをGNN(Graph Neural Network)モデルを用いて、各位相の「標準状態」と「標準関係」など「標準工程グラフ」をグラフで示したモデルを意味する。
【0033】
PLC(Programmable Logic Controller)とは、基本的なシーケンス制御(リレー、タイマ、カウンタ等の機能をIC、トランジスタ等の半導体素子に置き換えたもの)機能に数値演算機能を付加し、プログラム制御を可能にした自律性の高い制御装置を意味する。参考までに、米国電気工業化規格では、「デジタル又はアナログ入出力モジュールを介して、ロジック、シーケンス、タイマ、カウンタ、演算などの特殊機能を実行するために、プログラム可能なメモリに使用し、様々な種類の機械やプロセッサを制御するデジタル動作の電子装置」と定義している。
【0034】
ログ(Log)データとは、PLC接点データを一定周期毎に収集して得られる結果物である。ライン上の設備の動作に応じて、動作と関連したPLC上の接点の値が変わる。PLC上の接点値が変わる度にログが収集される。前記ログデータは、[接点名、値、日時]で表されるデータであって、対応日時における特定の接点の値データである。
【0035】
サイクル(Cycle)とは、前記接点データが一定に反復される区間を意味する。サイクルの単位は、工場、ライン、工程など多様であることができる。
【0036】
図1は、本明細書に開示された発明の全般的なフロー参考図である。
【0037】
図1を参照すると、本明細書に開示された発明は、まずデータを収集し、収集されたデータを前処理する「グラフデータの生成方法」と、生成されたグラフデータを用いた「マスタ状態の生成方法」の順に行われることができる。以下では、本明細書において、「グラフデータの生成方法」及び「マスタ状態の生成方法」についてより詳細に説明する。本明細書による「グラフデータの生成方法」及び「マスタ状態の生成方法」の各段階は、プロセッサ(processor)によって実行されることができる。
【0038】
図2は、本明細書によるグラフデータの生成方法の概略的なフローチャートである。
【0039】
まず、段階S10で収集されたログデータをガントチャート(Gantt Chart)で表されることができる。
【0040】
【0041】
図3を参照すると、設備が特定の動作を実行する度に、PLCにてログ(log)が生成される。このように生成されたログを収集することにより、[接点名、値、日時]で表されたデータ、即ち、ログデータを収集することができる。
図3に示す例示では、「1」は、接点が「off」状態から「オン」状態に変化することを意味し、「0」は、接点が「オン」状態から「オフ」状態に変化することを意味する。収集されたログデータは、
図3に示すように、ガントチャート(Gantt Chart)で表されることができる。
【0042】
再び
図2を参照すると、次の段階S11では、ガントチャートで表されるログデータにおいて、接点値が変化する区間毎に1つの状態に分割することができる。
【0043】
図4は、状態分割及び状態識別特徴に対する参考図である。
【0044】
【0045】
再び
図2を参照すると、次の段階S12において、前記同一識別特徴を有する状態の数をカウントし、予め設定された値以上の数を有する状態を主要な状態として識別することができる。
【0046】
【0047】
【0048】
再び
図2を参照すると、段階S13において、前記主要な状態に該当する区間毎に少なくとも一つ以上のセンサ値を追加することができる。
【0049】
図6及び
図7は、区間毎にセンサ値を追加する参考図である。
【0050】
【0051】
【0052】
再び
図2を参照すると、段階S14にて前記センサ値が追加された主要な状態の生成順序に従って、前記ログデータをノード行列データに変換することができる。
【0053】
図8は、ログデータがノード行列データに変換された参考図である。
【0054】
図8を参照すると、各主要な状態が1つのノード(node)に該当し、各ノードは、識別コードと対応する。前記ノード行列データに変換される際、前記ノードは、ログデータの順序を維持する必要がある。
【0055】
再び
図2を参照すると、段階S15において、前記分割状態間の連結関係を定義することができる。前記連結関係は、必要条件または排他条件であってもよい。
【0056】
図9は、隣接する状態間の連結関係が定義されていることを示す参考図である。
【0057】
図9を参照すると、状態0では、「Y12B1」が「ON」となり、状態1では、「Y06A2」が「ON」となる。このとき、「Y06A2」が「ON」となるためには、「Y12B1」が「ON」となる必要があるので、「状態0」は、「状態1」の「必要条件」の関係である。また、状態1では、「Y12B1」及び「Y06A2」が「OFF」となって初めて、状態3では「Y0494」が「ON」となる。このとき、「Y0494」が「ON」となるためには、「Y12B1」及び「Y06A2」が「OFF」となる必要があるので、「状態1」は「状態3」の「排他条件」の関係である。
【0058】
再び
図2を参照すると、段階S16において、前記分割状態をノードで表され、前記分割状態の連結関係はエッジで表され、前記ログデータをエッジインデックスデータに変換することができる。
【0059】
図9を再び参照すると、状態間がエッジによって連結されたグラフ及びエッジインデックス(Edge Index)によって表されたことを確認することができる。
【0060】
一方、前記ノード行列は、「主要な状態」についての情報しか記載されていないので、エッジインデックスも同様に主要な状態に対するノードのみを残し、稀に発生する状態(Minor)に対応するノードを除去する必要がある。本明細書の一実施例によれば、前記ノード行列データから主要な状態に対応しないノードを削除し、削除されたノードと連結された前後のノードを連結し、エッジインデックスデータに変換することができる。
【0061】
図10は、マイナー(Minor)状態に対応するノードを除去する参考図である。
【0062】
図10を参照すると、主要な状態に対応しないノード5が削除対象である状況である。左側の例示では、ノード3とノード4がノード5に入り、ノード5はノード6に出る関係を示している。従って、ノード5を削除し、ノード3とノード4はノード6に直接入るものに変更することができる。この時、ノード6はノードの順序に従ってノード5に変更され、ノード7は6に変更される。右側の例示では、ノード4がノード5に入り、ノード5がノード6及びノード7に出る関係を示している。従って、ノード5を削除し、ノード4がノード6及びノード7に出るものに変更することができる。この時、ノード6はノードの順序に従ってノード5に変更され、ノード7はノード6に変更される。前記過程を通じてノード行列データのノードとエッジインデックスデータのノードは互いに対応する関係を有することができる。
【0063】
前記工程を経ると、ログデータ(Raw Data)は、ノード行列データとエッジインデックスデータに変換される。前記ノード行列データとエッジインデックスデータを組み合わせると、グラフ(Graph)データとして表されることができる。
【0064】
図11は、ログデータ、ノード行列データ、インデックスデータ及びグラフデータの関係についての参考図である。
【0065】
一方、生産工程では、同じ設備において、同じ動作を繰り返すことが一般的である。したがって、収集されたログデータ(Raw Data)も同様のデータを含むサイクルが繰り返されるはずであり、このとき、1個のグラフデータは、1個のサイクルに対応することができる。
【0066】
図12は、グラフデータとサイクルとの関係を示す参考図である。
【0067】
以下では、本明細書によるグラフデータの生成方法によって生成されたグラフデータ(ノード行列データ+エッジインデックスデータ)を用いて、マスタ状態の方法について説明する。
【0068】
前記モデルの学習に先立ってオートエンコーダ(AutoEncoder)について説明する。
【0069】
図13は、オートエンコーダ(AutoEncoder)に対する参考図である。
【0070】
【0071】
特に、オートエンコーダ(AutoEncoder)は、対象データのタイプに応じて、エンコーダ(Encoder)とデコーダ(Decoder)に使用されるネットワーク(Network)を変え、自在に応用が可能である。画像データの場合、エンコーダ(Encoder)とデコーダ(Decoder)にCNN(Convolution Neural Network)が用いられ、テーブルデータの場合、エンコーダ(Encoder)とデコーダ(Decoder)にMLP(Multi Layered Perceptron)が用いられる。これに着目して、本明細書によるマスタ状態の生成方法は、エンコーダ(Encoder)とデコーダ(Decoder)にGNN(Graph Neural Network)を用いてグラフデータに拡張したものである。
【0072】
図14は、本明細書によるマスタ状態の生成方法の概略的なフローチャートである。
【0073】
図15は、本明細書によるマスタ状態の生成方法の参考図である。
【0074】
【0075】
【0076】
【0077】
【0078】
次の段階S24において、前記複数のグラフデータのうちまだ入力されていないグラフデータが残っているか否かを判断することができる。入力されていないグラフデータが存在するとき(S24でYES)、段階S20に進むことができる。段階S20では、前記複数のグラフデータのうちまだ入力されていない1つのグラフデータを入力データとしてGNN オートエンコーダ(AutoEncoder)に入力しながら、段階S20~段階S24を繰り返し実行することができる。
【0079】
一方、複数のグラフデータ全てがGNN オートエンコーダ(AutoEncoder)に入力されたとき、前記GNN オートエンコーダ(AutoEncoder)が学習を終えた状態となる。次いで、前記学習が完了したGNN オートエンコーダ(AutoEncoder)を用いて工程の異常有無を判断することができる。ただし、異常有無を判断するための基準範囲、即ち、上限値を設定する必要がある。
【0080】
本明細書の一実施例によれば、段階S25において、前記複数のグラフデータ全てが入力データとしてGNN オートエンコーダ(AutoEncoder)に入力されたとき、前記ノードレベルの平均値(μ)および標準偏差(σ)を算出し、前記平均値に予め設定されたパラメータが反映された標準偏差値を合算した値をマスタ状態の上限基準として設定することができる。例えば、前記予め設定されたパラメータが1.5である場合、ノードレベル損失の異常有無を判断するための上限値は「μ±1.5σ」であることができる。
【0081】
本明細書の他の実施例によれば、段階S25において、前記複数のグラフデータ全てが入力データとしてGNN オートエンコーダ(AutoEncoder)に入力されるとき、前記グラフレベル損失の平均値および標準偏差が算出され、前記平均値に予め設定されたパラメータが反映された標準偏差値を合算した値をマスタ状態の上限基準として設定することができる。例えば、前記予め設定されたパラメータが1.5であるとき、グラフレベル損失の異常の有無を判断するための上限値は「μ±1.5σ」であることができる。
【0082】
上述の説明に従って学習された人工神経網は、新たなサイクルのデータが入力されたとき、サイクル内にエラーがあるかどうかだけでなく、エラーがある接点又は/及びいずれかのリンクで発生しているかを追跡することが可能である。本明細書によるマスターパターン生成方法及びサイクル解析モデルの訓練方法は、人間が解析するのが困難な機械制御言語(Low-Level Language)を処理し、解析可能な言語(High-Level Language)に変換する技術、すなわち、実行される機械語(機械を制御する言語)をコンピュータで解析し、人間が理解可能なMLP(machine language Processing)に基づく技術であるという点で、従来技術とは異なるという差別性がある。本明細書によるサイクル解析モデルを使用すれば、解析対象装置が制御される間、静的で動的なデータフローの連関性を解析し、グラフ化することにより、GNN(Graph Neural Network)等のAIモデルに基づいて制御ロジック検査、制御ロジック生成、リアルタイム検出、再現性、生産性、品質解析などの多角的サービスを提供することができるという効果がある。
【0083】
なお、本明細書によるグラフデータの生成方法及びマスタ状態の生成方法は、記述された算出および様々な制御ロジックを実行するために、本発明が属する技術分野に知られたプロセッサ、ASIC(application-specific integrated circuit)、他のチップセット、ロジッグ回路、レジスタ、通信モデム、データ処理装置などを含むことができる。また、上述の制御ロジックがソフトウェアで実現されるとき、前記プロセッサは、プログラムモジュールの集合として具現されることができる。この時、プログラムモジュールは、前記メモリ装置に保存され、プロセッサによって実行されることができる。
【0084】
前記プログラムは、前記コンピュータがプログラムを読み取り、プログラムとして具現された前記方法を実行させるために、前記コンピュータのプロセッサ(CPU)が前記コンピュータの装置インターフェースを通じて読み取ることができるC/C++、C#、JAVA(登録商標)、Python、機械言などのコンピュータ言語でコード化されたコード(Code)を含むことができる。このようなコードは、前記方法を実行するために必要な機能を定義した関数などに関連した機能コード(Functional Code)を含むことができ、前記機能を前記コンピュータのプロセッサが所定の手続きに従って実行させるために必要とされる実行手続き関連の制御コードを含むことができる。さらに、このようなコードは、前記機能を前記コンピュータのプロセッサが実行させるために必要な追加情報や、メディアが前記コンピュータの内部または外部メモリのどの位置(アドレス、番地)で参照すべきかに対するメモリ参照関連コードをさらに含むことができる。また、前記コンピュータのプロセッサが前記機能を実行させるために遠隔(Remote)にある如何なる他のコンピュータやサーバ等と通信が必要な場合、コードは、前記コンピュータの通信モジュールを用いて遠隔にある如何なる異なるコンピュータやサーバ等とどのように通信すべきか、通信中にどのような情報やメディアを送受信すべきか等についての通信関連コードをさらに含むことができる。
【0085】
前記保存される媒体は、レジスタ、キャッシュ、メモリなどのように一時的にデータを保存する媒体ではなく、半永久的にデータを保存し、機器から読み取り(reading)可能な媒体を意味する。具体的には、前記保存される媒体の例としては、ROM、RAM、CD-ROM、磁気テープ、フロッピーディスク、光データ保存装置などがあるが、これらに限定されるものではない。すなわち、前記プログラムは、前記コンピュータが接続することができる様々なサーバ上の様々な記録媒体またはユーザの前記コンピュータ上の多様な記録媒体に保存されることができる。また、前記媒体は、ネットワークで接続されたコンピュータシステムに分散され、分散方式でコンピュータが読み取り可能なコードを保存することができる。
【0086】
以上、添付した図面を参照して本発明の実施例を説明したが、本開示が属する技術分野における通常の技術者は、本発明がその技術的思想や必須的な特徴から逸脱することなく、他の具体的な形態で実施することができるということを理解することができるであろう。したがって、以上で記述した実施例はあらゆる面で例示的なものであり、限定的でないものと理解されるべきである。
【産業上の利用可能性】
【0087】
本発明は、ログデータと制御ロジックからGNNに基づいてマスタ状態を生成することができ、解析対象装置が制御される間、静的で動的なデータフローの連関性を解析しグラフ化することにより、GNN(Graph Neural Network)等のAIモデルを介して制御ロジック検査、制御ロジック生成、リアルタイム異常検出、再現性、生産性、品質解析などの多角的サービスを提供することができる。
【国際調査報告】