(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024066405
(43)【公開日】2024-05-15
(54)【発明の名称】異常検知方法、電子装置、非一時的なコンピュータ読取り可能な記憶媒体およびコンピュータープログラム
(51)【国際特許分類】
G06N 3/088 20230101AFI20240508BHJP
G06N 3/0455 20230101ALI20240508BHJP
G06F 18/2321 20230101ALI20240508BHJP
【FI】
G06N3/088
G06N3/0455
G06F18/2321
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2023075984
(22)【出願日】2023-05-02
(31)【優先権主張番号】10-2022-0143202
(32)【優先日】2022-10-31
(33)【優先権主張国・地域又は機関】KR
(71)【出願人】
【識別番号】598123150
【氏名又は名称】セメス株式会社
【氏名又は名称原語表記】SEMES CO., LTD.
【住所又は居所原語表記】77,4sandan 5-gil,Jiksan-eup,Seobuk-gu,Cheonan-si,Chungcheongnam-do,331-814 Republic of Korea
(74)【代理人】
【識別番号】110000671
【氏名又は名称】IBC一番町弁理士法人
(72)【発明者】
【氏名】ジュン,ドン ヒュン
(57)【要約】 (修正有)
【課題】コンピューティングリソースおよび所要時間を最小化できる異常検知方法及び電子装置を提供する。
【解決手段】方法は、複数の第1サブセットに区分される複数の学習データを用いて、エンコーダとデコーダを含む第1分類器を学習させる段階、学習された第1分類器のエンコーダで、前記複数の学習データを演算して、そのそれぞれのフィーチャを抽出する段階、抽出したフィーチャに基づいて前記複数の学習データをクラスタリングして、複数の第2サブセットに再構成する段階、複数の第2サブセットそれぞれを用いて、複数の第2サブセットそれぞれに対応する複数の第2分類器を学習させる段階および前記複数の第2分類器を用いて、入力データの異常を検出する段階を含む。
【選択図】
図3
【特許請求の範囲】
【請求項1】
複数の第1サブセットに区分される複数の学習データを用いて、エンコーダとデコーダを含む第1分類器を学習させる段階と、
前記学習された第1分類器のエンコーダで、前記複数の学習データを演算して、前記複数の学習データそれぞれのフィーチャを抽出する段階と、
前記抽出されたフィーチャに基づいて前記複数の学習データをクラスタリングして、前記複数の学習データを複数の第2サブセットに再構成する段階と、
前記複数の第2サブセットそれぞれを用いて、前記複数の第2サブセットそれぞれに対応する複数の第2分類器を学習させる段階と、
前記複数の第2分類器を用いて、入力データの異常を検出する段階と、を含む、異常検知方法。
【請求項2】
前記複数の学習データを複数の第2サブセットに再構成する段階は、
前記抽出されたフィーチャをクラスタリングして、複数のフィーチャクラスタを生成し、
前記複数のフィーチャクラスタそれぞれに対応するように複数の第2サブセットを生成し、前記複数のフィーチャクラスタそれぞれに含まれるフィーチャに対応する学習データを、対応する前記第2サブセットに割り当てられるようにすることを含む、請求項1に記載の異常検知方法。
【請求項3】
前記抽出されたフィーチャをクラスタリングすることは、
前記フィーチャスペース内での位置に基づいて前記抽出されたフィーチャをクラスタリングすることを含む、請求項2に記載の異常検知方法。
【請求項4】
前記複数の第2分類器を学習させる段階で、前記学習された第1分類器の最終加重値を使用して前記複数の第2分類器の学習時間を短縮させる、請求項1に記載の異常検知方法。
【請求項5】
前記複数の第2分類器を学習させる段階で、
前記複数の第2分類器それぞれの初期加重値は、前記第1分類器の最終加重値として設定される、請求項4に記載の異常検知方法。
【請求項6】
前記複数の第2分類器を学習させる段階は、前記複数の第2サブセットのうちのいずれか一つを先に学習させた後に、他の一つを後に学習させることを含み、
前記複数の第2分類器のうちのいずれか一つの初期加重値は、前記第1分類器の最終加重値として設定され、
前記複数の第2分類器のうちの他の一つの初期加重値は、前記複数の第2分類器のうちのいずれか一つの最終加重値として設定される、請求項4に記載の異常検知方法。
【請求項7】
前記入力データの異常を検出する段階は、
前記複数の第2分類器のうちのいずれか一つでも前記入力データを正常と判断する場合、前記入力データは正常と判断され、
前記複数の第2分類器すべてが前記入力データを異常と判断する場合、前記入力データは異常と判断されることを含む、請求項1に記載の異常検知方法。
【請求項8】
前記複数の第2分類器の個数は、前記複数の第1サブセットの個数より小さい、請求項1に記載の異常検知方法。
【請求項9】
前記第1分類器または第2分類器は、オートエンコーダ(auto encoder)で構成される、請求項1に記載の異常検知方法。
【請求項10】
複数の学習データサブセットを含む学習データセットを用いて、エンコーダとデコーダを含む分類器を学習させる段階と、
前記学習データセットのそれぞれの学習データを前記学習された分類器のエンコーダで演算して、前記学習データセットのそれぞれの学習データに対するフィーチャを抽出する段階と、
前記フィーチャをフィーチャスペースでの位置に基づいてクラスタリングし、クラスタリング結果に基づいて前記学習データセットに含まれたそれぞれの学習データをクラスタリングすることにより、学習データサブセットを再構成して、複数の再構成された学習データサブセットを生成する段階と、
前記学習された分類器を前記複数の再構成された学習データサブセットそれぞれを用いて再学習させて複数の再学習された分類器を生成する段階と、
前記複数の再学習された分類器を用いて入力データの異常を検出する段階と、を含む、異常検知方法。
【請求項11】
プロセッサ、および
前記プロセッサと連結されたメモリを含み、
前記メモリは前記プロセッサによって実行可能な命令を保存して、前記命令は前記プロセッサによって実行され、前記プロセッサが請求項1に記載の方法を実行するようにすることを特徴とする、電子装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は異常検知方法、電子装置、非一時的なコンピュータ読取り可能な記憶媒体およびコンピュータープログラムに関する。
【背景技術】
【0002】
半導体製造工程は半導体製造設備内で連続的に行われることができ、前工程および後工程に区分することができる。半導体製造設備は半導体を製造するためにファブ(FAB)と定義される空間内に設置されることができる。
【0003】
前工程はウエハ(Wafer)上に回路パターンを形成してチップ(Chip)を完成する工程をいう。前工程はウエハ上に薄膜を形成する蒸着工程(Deposition Process)、フォトマスク(Photo Mask)を用いて薄膜上にフォトレジスト(Photo Resist)を転写するフォト工程(Photo Lithography Process)、ウエハ上に所望する回路パターンを形成するために化学物質や反応性ガスを用いて必要ない部分を選択的に除去するエッチング工程(Etching Process)、エッチング後に残っているフォトレジストを除去するアッシング工程(Ashing Process)、回路パターンと連結される部分にイオンを注入して電子素子の特性を有するようにするイオン注入工程(Ion Implantation Process)、ウエハ上で汚染源を除去する洗浄工程(Cleaning Process)などを含むことができる。
【0004】
後工程は前工程により完成された製品の性能を評価する工程をいう。後工程はウエハ上のそれぞれのチップに対して動作の有無を検査して良品と不良を選別する1次検査工程、ダイシング(Dicing)、ダイボンディング(Die Bonding)、ワイヤボンディング(Wire Bonding)、モールディング(Molding)、マーキング(Marking)などによりそれぞれのチップを切断および分離して製品の形状を整えるようにするパッケージ工程(Package Process)、電気的特性検査、バーンイン(Burn In)検査などにより製品の特性と信頼性を最終的に検査する最終検査工程などを含むことができる。
【発明の概要】
【発明が解決しようとする課題】
【0005】
なお、このような半導体製造工程には多様な設備が用いられており、このような多様な設備に対して各設備の正常、異常を診断するために多様な診断モデルの開発が進められている。
【0006】
各設備に対するレシピ(Recipe)別に診断モデルを作って用いると、診断モデルの個数がレシピの個数だけ多くなって人工知能学習に多くのコンピューティングリソースと時間を必要とする。このような場合、量産の際にレシピが変わるたびに該当診断モデルを呼び出さなければならず、モデルの再学習、複数の設備への配布などの運営および管理の側面における困難性が存在する。そして、データが充分でないレシピまたは新規レシピの場合、学習のためにデータが蓄積されるまで該当レシピに対する判定は不可であり不良が発生しても発見できないこともある。
【0007】
本発明で解決しようとする技術的課題は、コンピューティングリソースおよび所要時間を最小化できる異常検知方法を提供することにある。
【0008】
本発明で解決しようとする他の技術的課題は、前記異常検知方法を行うための電子装置、非一時的なコンピュータ読取り可能な記憶媒体およびコンピュータープログラムを提供することにある。
【0009】
本発明の課題は以上で言及した課題に制限されず、言及されていないまた他の課題は以下の記載から当業者に明確に理解されるものである。
【課題を解決するための手段】
【0010】
前記技術的課題を達成するための本発明の態様による異常検知方法は、複数の第1サブセットに区分される複数の学習データを用いて、エンコーダとデコーダを含む第1分類器を学習させる段階;前記学習された第1分類器のエンコーダで、前記複数の学習データを演算して、前記複数の学習データそれぞれのフィーチャを抽出する段階;前記抽出されたフィーチャに基づいて前記複数の学習データをクラスタリングして、前記複数の学習データを複数の第2サブセットに再構成する段階;前記複数の第2サブセットそれぞれを用いて、前記複数の第2サブセットそれぞれに対応する複数の第2分類器を学習させる段階;および前記複数の第2分類器を用いて、入力データの異常を検出する段階を含む。
【0011】
前記技術的課題を達成するための本発明の他の態様による異常検知方法は、複数の学習データサブセットを含む学習データセットを用いて、エンコーダとデコーダを含む分類器を学習させる段階;前記学習データセットのそれぞれの学習データを前記学習された分類器のエンコーダで演算して、前記学習データセットのそれぞれの学習データに対するフィーチャを抽出する段階;前記フィーチャをフィーチャスペースでの位置に基づいてクラスタリングし、クラスタリング結果に基づいて前記学習データセットに含まれたそれぞれの学習データをクラスタリングすることにより、学習データサブセットを再構成して、複数の再構成された学習データサブセットを生成する段階;前記学習された分類器を前記複数の再構成された学習データサブセットそれぞれを用いて再学習させて複数の再学習された分類器を生成する段階;および前記複数の再学習された分類器を用いて入力データの異常を検出する段階;を含む。
【0012】
前記他の技術的課題を達成するための本発明の態様による電子装置は、プロセッサ;および前記プロセッサと連結されたメモリを含み、前記メモリは前記プロセッサによって実行可能な命令を保存し、前記命令は前記プロセッサによって実行され、前記プロセッサが前述した異常検知方法を実行するようにする。
【0013】
前記また他の技術的課題を達成するための本発明の態様による非一時的なコンピュータ読取り可能な記憶媒体は、コンピュータが前述した異常検知方法を実行するようにするためのコンピュータ命令を保存する。
【0014】
前記また他の技術的課題を達成するための本発明の態様によるコンピュータープログラムは、複数の第1サブセットに区分される複数の学習データを用いて、エンコーダとデコーダを含む第1分類器を学習させる段階;前記学習された第1分類器のエンコーダで、前記複数の学習データを演算して、前記複数の学習データそれぞれのフィーチャを抽出する段階;前記抽出されたフィーチャに基づいて前記複数の学習データをクラスタリングして、前記複数の学習データを複数の第2サブセットに再構成する段階;前記複数の第2サブセットそれぞれを用いて、前記複数の第2サブセットそれぞれに対応する複数の第2分類器を学習させる段階;および前記複数の第2分類器を用いて、入力データの異常を検出する段階を行うためである。
【0015】
その他実施形態の具体的な内容は詳細な説明および図面に含まれている。
【図面の簡単な説明】
【0016】
【
図1】本発明の実施形態による半導体設備診断装置の構成を概略的に示す構成図である。
【
図2】
図1の制御部に含まれた分類器の構成を示す図である。
【
図3】本発明の実施形態による半導体設備診断装置を用いた半導体設備の診断方法を説明するために示すフローチャートである。
【
図4】本発明の実施形態による半導体設備診断装置を用いた半導体設備の診断方法における処理されるデータとレシピを示す例示図である。
【
図5】本発明の実施形態による半導体設備診断装置を用いた半導体設備の診断方法におけるデータの入力過程を示す例示図である。
【
図6】本発明の実施形態による半導体設備診断装置を用いた半導体設備の診断方法におけるクラスタリング過程を示す例示図である。
【
図7】本発明の実施形態による半導体設備診断装置を用いた半導体設備の診断方法におけるクラスタリングされたデータを処理する過程を示す例示図である。
【発明を実施するための形態】
【0017】
以下、添付する図面を参照して本発明の好ましい実施形態について詳細に説明する。本発明の利点および特徴、並びにこれらを達成する方法は添付する図面と共に詳細に後述する実施形態を参照すると明確になる。しかし、本発明は以下に開示する実施形態に限定されるものではなく、互いに異なる多様な形態で実現することができ、本実施形態は単に本発明の開示を完全にし、本発明が属する技術分野で通常の知識を有する者に発明の範疇を完全に知らせるために提供するものであり、本発明は請求項の範疇によってのみ定義される。明細書全体にわたって同一参照符号は同一構成要素を指すものとする。
【0018】
素子(elements)または層が他の素子または層「上(on)」「の上(on)」と称される場合は他の素子または層の真上だけでなく中間に他の層または他の素子が介在する場合をすべて含む。反面、素子が「直接上(directly on)」または「真上」と称される場合は中間に他の素子または層を介在しない場合を示す。
【0019】
空間的に相対的な用語である「下(below)」、「下(beneath)」、「下部(lower)」、「上(above)」、「上部(upper)」などは図面に示されているように一つの素子または構成要素と他の素子または構成要素との相関関係を容易に記述するために使用される。空間的に相対的な用語は図面に示されている方向に加えて使用時または動作時の素子の互いに異なる方向を含む用語として理解されなければならない。例えば、図面に示されている素子をひっくり返す場合、他の素子の「下(below)」または「下(beneath)」と記述された素子は他の素子の「上(above)」に置かれ得る。したがって、例示的な用語の「下」は下と上の方向をすべて含むことができる。素子は他の方向に配向されてもよく、そのため空間的に相対的な用語は配向によって解釈されることができる。
【0020】
第1、第2などが多様な素子、構成要素および/またはセクションを叙述するために使われるが、これらの素子、構成要素および/またはセクションはこれらの用語によって制限されないのはもちろんである。これらの用語は単に一つの素子、構成要素またはセクションを他の素子、構成要素またはセクションと区別するために使用する。したがって、以下で言及される第1素子、第1構成要素または第1セクションは本発明の技術的思想内で第2素子、第2構成要素または第2セクションであり得るのはもちろんである。
【0021】
本明細書で使用された用語は実施形態を説明するためのものであり、本発明を制限しようとするものではない。本明細書で、単数形は文面で特記しない限り、複数形も含む。明細書で使用される「含む(comprises)」および/または「含む(comprising)」は、言及された構成要素、段階、動作および/または素子の存在を特定するが、一つ以上の他の構成要素、段階、動作および/または素子の存在または追加を排除しない。
【0022】
他に定義のない限り、本明細書で使用されるすべての用語(技術的および科学的用語を含む)は本発明が属する技術分野で通常の知識を有する者に共通して理解される意味で使用される。また、一般に使用される辞典に定義されている用語は明白に特に定義されていない限り理想的にまたは過度に解析されない。
【0023】
以下、添付する図面を参照して本発明の実施形態について詳細に説明し、添付図面を参照して説明するにあたり図面符号に関係なく同一であるかまたは対応する構成要素は同じ参照番号を付与し、これに係る重複する説明は省略する。
【0024】
図1は本発明の実施形態による半導体設備診断装置の構成を概略的に示す構成図であり、
図2は
図1の制御部に含まれた分類器の構成を示す図である。
【0025】
本発明の実施形態による半導体設備診断装置100は半導体製造工程に使用される多様な半導体設備それぞれに連結されて半導体設備の正常、異常を診断する装置であって、入力部110、制御部120および出力部130を含む。
【0026】
具体的には、半導体設備診断装置100は後述する異常検知方法を行うための電子装置であって、例えばワークステーション、コンピューティングデバイスコンピュータ、ルータ、パーソナルコンピュータ、携帯用コンピュータ、ピア装置またはその他通常のネットワークノードであり得、一般にコンピュータについて記述された構成要素のうちの多数またはその全部を含む。このような半導体設備診断装置100はローカルエリアネットワーク(LAN)またはより大きいネットワーク、例えば、ワイドエリアネットワーク(WAN)の有線または無線で多様な半導体設備それぞれに連結されることができる。
【0027】
入力部110は有線/無線インターフェースを介して多様な半導体設備それぞれに連結されて半導体設備に備えられた多数のセンサから検知されたセンシングデータ、半導体設備に関するレシピ(recipe)情報などを受信するかまたはキーパッド、マウス、USBポート、サンダーボルトなどのインターフェース、タッチスクリーン、ボタンなどの多様な入力手段を含んで半導体設備の診断に関する多様なユーザ命令を受信することができる。
【0028】
制御部120は内部に人工知能ニューラルネットワークからなる分類器150を含み、半導体設備診断装置100の全般的な動作を制御して入力部110から受信したセンシングデータ、半導体設備に関するレシピ(recipe)情報などを学習し分類して多様な半導体設備それぞれに対して正常か否かを診断することができる。
【0029】
このような制御部120は例えばコンピューティング装置の中央処理装置(CPU:central processing unit)、汎用グラフィックス処理装置(GPGPU:general purpose graphics processing unit)、テンソルプロセッシングユニット(TPU:tensor processing unit)などのデータ分析、ディープラーニングのための少なくとも一つのプロセッサを含むことができる。
【0030】
特に制御部120はメモリに保存されたコンピュータープログラムを判読してニューラルネットワークの学習のための演算を行い、ディープラーニング(deep learning)で学習のための入力データの処理、入力データでのフィーチャ(feature)抽出、誤差計算、逆伝播(backpropagation)を用いたニューラルネットワークの加重値アップデートなどのニューラルネットワークの学習のための演算を行うことができる。メモリには後述する異常検知方法を行うための命令(instructions)を保存することができる。すなわち、少なくとも一つのプロセッサが保存された命令を行うと、後述する異常検知方法が行われる。
【0031】
制御部120のCPU、GPGPU、およびTPUの少なくとも一つがネットワーク関数の学習を処理することができる。例えば、CPUとGPGPUが共にネットワーク関数の学習、ネットワーク関数を用いたデータ分類を処理することができる。また、本開示の一実施形態で複数のコンピューティング装置のプロセッサを共に使用してネットワーク関数の学習、ネットワーク関数を用いたデータ分類を処理することができる。
【0032】
特に制御部120は分類器150を用いて学習データからフィーチャ(feature)を抽出し、抽出されたフィーチャをクラスタリングし、クラスタリングされたフィーチャに基づいて前記学習データを再構成して、再構成された学習データを用いて分類器150を再学習させて複数の再学習された分類器を生成した後に、新規入力データの正常、異常を診断処理することができる。
【0033】
分類器150は人工知能ニューラルネットワークからなり、
図2に示すように入力層101と第1隠れ層102を含むエンコーダ(Encoder:151)、中間隠れ層103を含むフィーチャスペース(Feature space:152)および第3隠れ層104と出力層105を含むデコーダ(Decoder:153)を含んで構成される。
【0034】
このような人工知能ニューラルネットワークは例えばDNN(deep neural network)のディープニューラルネットワークを適用することができる。DNNは入力層と出力層の他に多数の隠れ層を含むディープニューラルネットワークであって、DNNを用いるとデータのフィーチャ構造(feature structures)を把握することができる。このようなDNNはコンボリューショナルニューラルネットワーク(CNN:convolutional neural network)、リカレントニューラルネットワーク(RNN:recurrentneural network)、オートエンコーダ(auto encoder)、GAN(Generative Adversarial Networks)、制限付きボルツマンマシン(RBM:restricted boltzmann machine)、ディープビリーフネットワーク(DBN:deep belief network)、Qネットワーク、Uネットワーク、シャムネットワークなどを含むことができる。前述したDNNに係る記載は例示であり、本開示はこれに制限されない。
【0035】
ここで分類器150はオートエンコーダ(auto encoder)を適用して説明する。オートエンコーダは入力データと類似の出力データを出力するための人工ニューラルネットワークの一種であり、
図2に示すように奇数個の隠れ層102,103,104が入力層101と出力層105の間に配置されることができる。各層のノードの数は入力層101のノードの数から中間隠れ層103に縮小されてから、中間隠れ層103から出力層105に拡張されることもできる。この場合、
図2の例示では次元減少層と次元復元層が対称であることを示しているが、本開示はこれに制限されず、次元減少層と次元復元層のノードは対称であってもよく対称でなくてもよい。
【0036】
このようなオートエンコーダは非線状次元減少を行うことができる。入力層101および出力層105の数は入力データの前処理後に残ったセンサの数と対応することができる。オートエンコーダ構造でエンコーダに含まれた第1隠れ層102のノードの数は入力層101から遠くなるほど減少する構造を有することができる。
【0037】
中間隠れ層103のノード個数は過度に小さい場合、十分な量の情報が伝達されないので、特定の数以上、例えば入力層101の半分以上に維持されることもできる。
【0038】
出力部130は制御部120に連結されて制御部120が診断した半導体設備が正常か異常かをディスプレイすることができる。このような出力部130は例えばモニタ、タッチスクリーンなどの多様な出力手段を含み、制御部120の制御に従って半導体設備の診断過程と半導体設備が正常か異常かをディスプレイすることができる。
【0039】
このように構成された本発明の実施形態による半導体設備診断装置100を用いて、特に分類器150を用いて学習データからフィーチャ(feature)を抽出し、抽出されたフィーチャをクラスタリングし、クラスタリングされたフィーチャに基づいて対応する学習データをクラスタリングすることにより学習データを再構成し、再構成された学習データを用いて新規入力データの正常、異常を診断処理することができる。
【0040】
そのため、本発明の実施形態による半導体設備診断装置は、前記クラスタ別に学習されたオートエンコーダを用いて多様な半導体設備それぞれの正常、異常を診断する。すなわち、レシピ(recipe)別に診断モデルを作って使用しない。したがって、診断モデルの数量が減り、人工知能学習に多くのコンピューティングリソースと時間が顕著に減る。
【0041】
以下、本発明の実施形態による半導体設備診断装置を用いた半導体設備の診断方法について
図3ないし
図7を参照して説明する。
図3は本発明の実施形態による半導体設備診断装置を用いた半導体設備の診断方法を説明するために示すフローチャートであり、
図4は本発明の実施形態による半導体設備診断装置を用いた半導体設備の診断方法における処理されるデータとレシピを示す例示図であり、
図5は本発明の実施形態による半導体設備診断装置を用いた半導体設備の診断方法におけるデータの入力過程を示す例示図であり、
図6は本発明の実施形態による半導体設備診断装置を用いた半導体設備の診断方法におけるクラスタリング過程を示す例示図であり、
図7は本発明の実施形態による半導体設備診断装置を用いた半導体設備の診断方法におけるクラスタリングされたデータを処理する過程を示す例示図である。
【0042】
本発明の実施形態による半導体設備診断装置を用いた半導体設備の診断方法は、制御部120が入力部110を介して有線/無線インターフェースで連結された多様な半導体設備それぞれからデータを受信する(
図3のS110を参照)。
【0043】
具体的には、データは学習データであって、複数の第1サブセットに区分されることができる。例えば、データは予め設定された基準(例えば、レシピ、装備、センサの種類など)により複数の第1サブセットに区分されることができる。以下では、例示的にレシピを基準にデータが複数の第1サブセットに区分(または分類)する場合を説明する。
【0044】
データとレシピ情報は
図4に示すように互いに相関関係を有することができ、データ200は半導体設備それぞれで取得したセンサデータ、半導体設備それぞれに対して撮像した映像データ、半導体設備の動作パラメータなどを含み得、レシピ400はこのようなデータ200と関連する半導体設備の動作設定、例えばリソグラフィ工程で照射されるレーザの波長の変更などを含むことができる。
【0045】
このようなレシピ情報は一般的なテキストファイル(text file)、拡張可能マークアップ言語(XML:extensible markup language)ファイルなどのような任意の電子フォーマット(electronic format)を含み得、半導体ウエハ上で行われるプロセッシング段階それぞれのシーケンス(sequence)およびソース電力、バイアス電力、プロセスガスの流れ、プロセスガス圧力などのような異なる値で設定されることができる多様なパラメータを含むことができる。
この時、データ200は
図5に示すように多数のデータセット(201,202,203,…,2NN)(第1サブセットに対応する)で構成されることができる。
【0046】
レシピの変更がある場合、設定変更後に取得されるセンサデータは設定変更前に取得されるセンサデータと互いに異なる学習データセットに含まれることができる。一般的な半導体設備の動作において、時間の経過による製造方法の変更などによって正常データの種類は複数であり得る。
【0047】
学習データセット(201,202,203,…,2NN)それぞれは製造方法の変更などによる基準によりループ化された学習データを含むことができる。本開示の一実施形態で、半導体生産工程の場合、レシピ別に異なる正常データが取得されることができる。すなわち、互いに異なるレシピによって生産される生産工程で取得されたデータは互いに異なるが、すべて正常データであり得る。本開示の一実施形態で、複数の学習データセット(201,202,203,…,2NN)は互いに異なる種類の学習データを含むことができる。複数の学習データセットは事前決定された基準、例えば、生成時間区間、ドメイン、工程でのレシピなどによってグループ化することができる。
【0048】
前述した学習データに係る記載は例示であり、本開示はこれに制限されない。
【0049】
次に、制御部120は、分類器150(または第1分類器)のエンコーダ151を用いてフィーチャ(Feature)を抽出する(
図3のS120参照)。
【0050】
制御部120は複数の学習データを用いて分類器150を学習させる。次に、学習された分類器150のエンコーダで、前記学習データを演算して複数の学習データそれぞれのフィーチャ(Feature)を抽出する。このために制御部120は先にエンコーダ151の入力層101に受信したデータを入力し、第1隠れ層102を経て次元縮小処理を行う。すなわち、第1隠れ層102を経て例えばフィルタを用いたコンボリューション(convolution)演算を実行することができる。この時、フィルタを用いたコンボリューション演算は下記の数式1により実行することができる。
【0051】
【0052】
ここで、lは第1隠れ層102を意味し、sizelは第1隠れ層102のサイズを意味し、Inは入力層101に入力されるデータ(data)の数を意味し、Iaはラベル(label)の数を意味し、Oは出力コンボリューション層(Output Convolution Layer)を意味し、wは加重値を意味し、bは偏向バイアス(bias)を意味する。
【0053】
このようなコンボリューション演算処理されたデータは活性化関数(Activation function)に代入して演算することができる。
【0054】
ここで、活性化関数はSigmoid関数またはReLu関数を用いることができる。
活性化関数を用いて出力された出力値に対して、制御部120は取得した出力値を用いてプーリング(pooling)演算を実行する。
具体的には、プーリング演算はデータの次元の大きさを縮小するためのものであり、データで縦および横方向空間の大きさを減らす演算である。このようなプーリング演算は多様なパラメータ、例えば平均、中間値、最大値、最小値などを用いることができ、ここでは最大値を用いた最大値プーリング演算を適用する。最大値プーリング演算(max polling)を用いて映像データの制限領域で最大値を抽出し、データのノイズを除去することができ、データが減る過程でオーバーフィット(over fitting)を防止することができる。
【0055】
このような最大値プーリング演算は下記の数式2により実行されることができる。
【0056】
【0057】
ここで、xはプーリング演算のために入力される行列を意味し、lはプーリング演算の該当層を意味し、iは入力される行列の行を意味し、jは入力される行列の熱を意味し、sizelはプーリング演算の該当層サイズを意味し、Imはプーリング演算の該当層に入力されるデータ(data)の数を意味し、Iaはラベル(label)の数を意味する。
【0058】
プーリング演算を実行した後、制御部120はプーリング演算値と予め設定した目標出力値を用いて損失値を演算する。
【0059】
具体的には、損失値演算は下記の数式3のMSLE、数式4のRMSLEまたは数式5のsMAPEを用いて演算することができ、予め設定した目標出力値はGT(Ground Truth)であり得る。
【0060】
この時、GTは例えば元データを第1隠れ層102でコンボリューション演算を行ったコンボリューション演算値に基づいて最大値プーリング演算(Max Pooling)を行った値であり得る。
【0061】
【0062】
【0063】
【0064】
このような過程を経てデータのフィーチャはフィーチャスペース(Feature space:152)の中間隠れ層103を介して抽出される。
次に、抽出された多数のフィーチャに基づいて、複数の学習データをクラスタリングする(S130)。クラスタリングされた結果により、複数の学習データを複数の第2サブセットに再構成する。
【0065】
具体的には、データのフィーチャは
図6に示すようにフィーチャスペース(Feature space:152)に分散して位置することができ、制御部120はこのような多数のフィーチャをクラスタリング処理して多数のクラスタに群集する。すなわち、多数のフィーチャクラスタを先に形成することができる。しかし、それぞれのフィーチャはデータと互いに対応するので(すなわち、フィーチャとデータは1対1でマッチングするので)、フィーチャをクラスタリングするとフィーチャに対応するデータ(すなわち、学習データ)もクラスタリングされる。したがって、複数の学習データは複数の第2サブセットに区分/分類することができる。このようにクラスタリングされたデータの集まりを第2サブセットと呼ぶ。
【0066】
一方、クラスタリング方法は多様な方法があるが、本開示ではフィーチャスペース(Feature space:152)に分散したフィーチャの間の距離(distance)に基づいてクラスタリングを行うことができる。これは一例示であり、本発明の範囲はこれに制限されない。
【0067】
具体的には、距離に基づいたクラスタリングは下記の数式6の目的関数(J)を最小化することを目標とする。
【0068】
【0069】
このような距離に基づくクラスタリングを行うために制御部120はフィーチャスペース(Feature space:152)に分散した多数のフィーチャに対して初期中心点を設定する。
【0070】
初期中心点は数式6のkを意味し、グループ化するクラスタ(cluster)の個数と同じである。
【0071】
初期中心点を設定した後、制御部120はk個の初期中心点とそれぞれのフィーチャの間の距離を測定し、最も近い初期中心点でそれぞれのフィーチャを付与する。
【0072】
制御部120は付与されたフィーチャに対して距離平均値(mean)を演算して、距離平均値を用いて新規中心点(centroid)をアップデートする。
【0073】
このような過程を繰り返し行って数式6の目的関数(J)が最小化された結果が現れた状態でクラスタリングは終了し、
図6に示すように多数のクラスタ(301,302,…,3nn)で表示されることができる。複数のフィーチャがクラスタされた後、それぞれのフィーチャに対応する学習データを図示すると
図6のとおりである。例えば、第1クラスタ301は学習データセット1(201)に含まれるデータ(d11,d12,d1o)と学習データセット3(203)に含まれるデータ(d31,d32,d3q)を含む形態であり得る。学習データセット1(201)と学習データセット3(203)は異なるレシピであるがフィーチャは類似するため、第1クラスタ301に分類された。
【0074】
このようにフィーチャスペース152でフィーチャを用いてクラスタリングした後、制御部120は多数のクラスタ(301,302,…,3nn)それぞれに含まれたデータ(すなわち、第2サブセットに含まれたデータ)を分類器150に入力して学習する(
図3のS140を参照)。
【0075】
具体的には、複数の第2サブセットそれぞれを用いて、複数の第2サブセットそれぞれに対応する複数の第2分類器を学習することができる。第2サブセットと第2分類器は1:1で対応するので、第2サブセットの個数と第2分類器の個数は互いに同一であり得る。
【0076】
第2分類器を学習する方法は多様であり得る。特に、学習された第1分類器の最終加重値を使用すると、複数の第2分類器の学習時間を短縮するのに役立つ。すなわち、第1分類器の学習結果が第2分類器に伝達(transfer)されることができる。
【0077】
例えば、S120段階で使用された第1分類器を、第2分類器として使用することができる。すなわち、学習が行われる複数の第2分類器の初期加重値を、第1分類器の最終加重値として設定することができる。このように初期加重値を設定した後に、複数の第2サブセットに該当するデータを複数の第2分類器にそれぞれ入力して学習させると、複数の第2分類器が互いに異なるように学習されることができる。
【0078】
または、複数の第2分類器のうちの一部のみ、第1分類器の学習結果の伝達を受けるようにすることができる。
【0079】
例えば、複数の第2分類器が同時に学習されるのではなく、一部が先に学習されることができる。このような場合、先に学習される第2分類器の初期加重値を、第1分類器の最終加重値として設定する。後に学習される第2分類器の初期加重値は、先に学習された第2分類器の最終加重値として設定する。ここでは複数の第2分類器を2個に分けて先に学習されるものと、後に学習されるものなどに分けて説明したが、これに限定されない。すなわち、複数の第2分類器をs個(sは3以上の自然数)に分けると、一番最初に学習される第2分類器の初期加重値のみ、第1分類器の最終加重値として設定する。後に学習される第2分類器の初期加重値は、直前に学習された第2分類器の最終加重値として設定する。
【0080】
または、複数の第2分類器は、第1分類器の学習結果の伝達を受けなくてもよい。すなわち、複数の第2分類器の初期加重値は第1分類器の学習結果と関係がなく設定することもできる。
【0081】
次に、制御部120は入力データに対して異常を検出する(
図3のS150を参照)。
具体的には、入力データを学習された複数の第2分類器にすべて入力する。複数の第2分類器のうちのいずれか一つでも前記入力データを正常と判断する場合、前記入力データは正常と判断され、複数の第2分類器すべてが前記入力データを異常と判断する場合、前記入力データは異常と判断されることができる。
【0082】
オートエンコーダが異常か否かを判断する方法は、入力データと出力データの間の差異に基づく。すなわち、異常データに対する出力データと入力データの誤差は、正常データを入力として受けた時の出力データと入力データの誤差より大きい。このような点を用いて異常か正常かを分別する。
【0083】
制御部120はこのような方式で、多様なレシピに対応する入力データに対して異常を判断して出力部130を介して異常の判断結果をディスプレイすることができる。
【0084】
第1サブセット(例えば、レシピを基準に分けられた学習データのセット)の個数は、第2サブセット(例えば、フィーチャを基準に分けられた学習データのセット)の個数または第2分類器の個数より大きい。第2サブセットと第2分類器は1:1でマッチングするので第2分類器の個数と第2サブセットの個数は同一である。
【0085】
入力データは相対的に少ない数の第2分類器に入力するので、正常/異常を判断する際により少ないコンピューティングリソースと学習時間を必要とする。
【0086】
さらに、本出願の実施形態により、本出願では電子装置、非一時的なコンピュータ読取り可能な記憶媒体およびコンピュータープログラムをさらに提供する。
【0087】
電子装置は多様な形態のデジタルコンピュータを表示して、例えば、ラップトップコンピュータ、デスクトップコンピュータ、ワークステーション、個人情報端末(Personal Digital Assistant)、サーバ、ブレードサーバ、メインフレームコンピュータおよびその他の適したコンピュータを表示する。電子装置はまた、多様な形態のモバイル装置を表示することができ、例えば、個人情報端末、セルフォン、スマートフォン、ウェアラブル設備およびその他類似のコンピューティング装置を表示することができる。本文に叙述した部材、これらの連結、関係、およびこれらの機能は単に例示的なものであり、本文で説明するおよび/または求められる本出願の実現を限定しない。
図1を参照して前述したように、電子装置は、一つまたは多数のプロセッサ、メモリ、入力部、出力部および各部材を連結するためのインターフェースなどを含む。
【0088】
本明細書の上述したシステムおよび技術の多様な実施形態はデジタル電子回路システム、集積回路システム、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、特定用途向け標準製品(ASSP)、システムオンチップシステム(SOC)、コンプレックスプログラマブルロジックデバイス(CPLD)、コンピュータハードウェア、ファームウェア、ソフトウェアおよび/またはこれらの組み合わせで実現することができる。このような多様な実施形態は次を含むことができる。すなわち、一つ以上のコンピュータープログラムで実現され、該当する一つ以上のコンピュータープログラムは少なくとも一つのプログラマブルプロセッサを含むプログラマブルシステムで実行および/または解析されることができる。該当プログラマブルプロセッサは専用または汎用プログラマブルプロセッサであり得、ストレージシステム、少なくとも一つの入力装置および少なくとも一つの出力装置からデータおよび命令を受信し、データおよび命令を該当ストレージシステム、該当する少なくとも一つの入力装置および該当する少なくとも一つの出力装置に伝送することができる。
【0089】
本出願の方法を実現するためのプログラムコードは一つ以上のプログラミング言語の任意の組み合わせを使用して生成されることができる。このようなプログラムコードはプログラムコードがプロセッサまたはコントローラによって実行される際、フローチャートおよび/またはブロックダイヤグラムに規定された機能/操作が行われるように汎用コンピュータ、専用コンピュータ、または他のプログラマブルデータ処理装置のプロセッサまたは制御器に提供されることができる。プログラムコードは機械で完全に実行されるか部分的に実行されることができ、独立ソフトウェアパッケージとして機械で部分的に実行されるか部分的に遠隔機械で実行されるか遠隔機械またはサーバで実行されることができる。
【0090】
本出願の記載内容において、機械/コンピュータ読取り可能な媒体は類型の媒体であり得るため、命令実行システム、装置または機器によって使用されるか命令実行システム、装置、または機器と組み合わせて使用するためのプログラムを含むか保存することができる。機械読取り可能な媒体は機械読取り可能な信号媒体または機械読取り可能な記憶媒体であり得る。機械読取り可能な媒体は電子、磁気、光学、電磁気、赤外線、または半導体システム、装置または機器であるか、または前述した任意の適切な組み合わせを含み得るが、これに限定されない。機械読取り可能な記憶媒体のより具体的な例示として一つ以上のラインによる電気的な連結、携帯用コンピュータディスク、ハードディスク、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、消去可能プログラマブル読取り専用メモリ(EPROMまたはフラッシュメモリ)、光ファイバ、携帯式コンパクトディスク読取り専用メモリ(CD-ROM)、光ストレージデバイス、磁気記憶装置またはこれらの任意の適切な組み合わせを含むことができる。
【0091】
ユーザとの相互作用を提供するために、コンピュータ上で、ここに説明したシステムおよび技術を実現することができるので、該当コンピュータはユーザに情報を表示するためのディスプレイ装置(例えば、CRT(陰極線管)またはLCD(液晶ディスプレイ)モニタ)およびユーザがコンピュータに入力を提供するためのキーボードおよびポインティング装置(例えば、マウスまたはトラックボール)を有して、ユーザは該当キーボードと該当ポインティング装置によってコンピュータに入力を提供することができる。その他類型の装置はユーザとの相互作用を提供することができ、例えば、ユーザに提供されるフィードバックは任意の形態の検知フィードバック(例えば、視覚フィードバック、聴覚フィードバックまたはハプティックフィードバック)であり得、任意の形態(音響入力、音声入力またはハプティック入力を含む)でユーザからの入力を受信することができる。
【0092】
本明細書に説明されたシステムおよび技術はバックグラウンドコンポーネントを含むコンピューティングシステム(例えば、データサーバとして)、またはミドルウェアコンポーネントを含むコンピューティングシステム(例えば、アプリケーションサーバ)、またはフロントエンドコンポーネント(例えば、グラフィックユーザインターフェースまたはウェブブラウザを含むユーザコンピュータはユーザがグラフィックユーザインターフェースまたはウェブブラウザを介して本出願に記載されたシステムおよび技術の実施形態と相互作用できる)、またはこのようなバックグラウンドコンポーネント、ミドルウェアコンポーネントまたはフロントエンドコンポーネントの任意の組み合わせを含むコンピューティングシステムで実現されることができる。また、システムのコンポーネントは任意の形態または媒体のデジタルデータ通信(例えば、通信ネットワーク)を介して互いに連結されることができる。通信ネットワークの例示はローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)およびインターネットを含むことができる。
【0093】
コンピュータシステムはクライアントおよびサーバを含むことができる。クライアントとサーバは一般に互いに離れており、一般に通信ネットワークを介して相互作用する。クライアントとサーバの間の関係は対応するコンピュータで実行されて互いにクライアント-サーバ関係を有するコンピュータプログラムによって生成される。サーバはクラウドコンピューティングサーバまたはクラウドホストとも呼ばれるクラウドサーバであり得、クラウドコンピューティングサービスシステムのホスト製品であり、伝統的な物理的ホストおよび仮想プライベートサーバ(VPS,Virtual Private Server)サービスに存在する管理の難度が大きくて業務拡張性が弱い欠陥を解決する。サーバは分散システムのサーバまたはブロックチェーンと結合されたサーバに分類することができる。
【0094】
以上と添付する図面を参照して本発明の実施形態について説明したが、本発明が属する技術分野で通常の知識を有する者は、本発明がその技術的思想や必須の特徴を変更せず他の具体的な形態で実施できることを理解することができる。したがって、上記一実施形態はすべての面で例示的なものであり、限定的なものではないと理解しなければならない。