機械学習とポリプロピレン押出機:Sibur hackathonの3つの場所の歴史

SiburとAIコミュニティが主催するDigital Factory Hackathonは先週末に開催されました。 ハッカソンの2つのタスクのうちの1つは、予知保全のトピックでした-押出機の動作における問題を予測する必要がありました。 決めました。 このストーリーは、主にソリューションのデータサイエンスの部分と、かなりまれなイベントをかなりうまく予測する方法をどのように学んだかに焦点を当てています。







押出機のシャットダウンを予測する必要があったのはなぜですか?



問題のステートメントから始めましょう。 押出機は、ポリプロピレンを加熱および軟化させ、さまざまな添加剤と混合し、圧縮し、ダイ(格子)に押し込み、小さな顆粒に切断する、非常に大きな工業用肉挽き機です。 次に、これらの顆粒は大きな袋に注がれ、ポリプロピレンの消費者に販売されます。これにより、有用なものが作られます。たとえば、同じ大きな袋です。 しかし、すべてがうまくいけば。 そして、ポリプロピレン凝集物のクラスト-顆粒の通常の切断を妨げるその大きな破片-がダイ上で成長することが起こります。 その結果、最良の場合、品質の低い製品が製造され、最悪の場合、押出機を停止、分解、洗浄する必要があります。高価な単純な製品であることが判明しました。



画像



ただし、そのような閉塞が時間内に検出された場合、特定のアクションによって防止できます。 このモードで常に作業することはできません-機器と製品の両方に悪影響を及ぼします。 これが予測の問題が発生する場所です。押出機を監視するオペレーターは、これらの非常にダウンタイムを防ぐために潜在的な問題を通知する必要があります。 さらに、それが効果的である可能性を防ぐために、事前に強く報告する必要があります。 問題は、プロセスの劣化が近づいていることを判断するための明確で単純な兆候がないことです。 そのため、ここで機械学習が役立つ可能性があります。統計とブルートフォースに基づいて、今後の問題に関する信頼できる信号を生成することができます。



再訓練と先延ばしについて



ただし、統計的アプローチはデータサイズが小さいため複雑です。 1秒半で10秒の頻度で43個のセンサーが与えられました-400万回の観測で、2ギガバイトを占有しました。 これはほとんどビッグデータです。 しかし、同時に、この時間中に凝集体が出現したために押出機が停止するイベントは66件しか記録されなかったため、このようなデータを再トレーニングするのは非常に簡単です。 事前に、どの指標が集合体の形成に関連付けられているか、問題を予測する式がどのように見えるかがわからないためです。 43個のセンサーのうち2個のセンサーの組み合わせを単純に並べ替えたとしても、イベントよりも1桁多いほぼ1000個のセンサーがあり、その中には、これらの66個のストップをうまく説明できる組み合わせがあります。 実際、3つ以上のインジケーターがフォームに参加でき、異なる期間(条件付きで10秒から10時間)で集計でき、集計は異なる場合があります(平均、分位、何らかのスペクトル)-一般に、膨大な数のオプション。 したがって、あらゆる種類の標識を整理するだけで、このようなデータの60のすべての停止に応答するモデルを簡単に近似できます。 しかし、これらの兆候が将来的に機能することを保証するために、モデルの優れた一般化能力を達成することは困難です。 統計では、この問題は過剰適合と呼ばれます。



再トレーニングの問題はさまざまな方法で取り組むことができます。タグ付けされたデータを増やして(誰も)、モデルのプロセスに関する専門知識を構築し(それはありませんでした)、モデルの柔軟性を厳しく制限します(オプションではなく、試しました)。 そして、再訓練を避ける別の方法は先延ばしです。 押出機のまれな停止を予測する代わりに、より単純で楽しいいくつかの完全に異なる問題を解決することができます。 そして、最初のタスクがそれ自体で何らかの形で解決されることを願っています。 驚くべきことに、これは機能します。



ニューロンが戦場に出る



実際、先延ばしは芸術でもあります。 詳細については、「転移学習」または「プレゼンテーショントレーニング」というキーワードで検索できます。 重要な考え方は、外部の問題を解決するプロセスで、機械学習アルゴリズムがメインタスクに役立つ兆候とパターンを発見できることです。



私たちの場合、主なタスクは、近い将来の問題の可能性を予測することですが、問題は十分にマークされていません。 補助的な問題を解決できます。たとえば、3、10、30、60、120分後に、各センサーの値を予測することを学習します。 これは、第一に、それ自体で役立ちます。 第二に、センサーの動作の予測を事実と比較することは便利であり、それにより、モデルが一般的に予測力を持っていることを顧客に納得させます。 そして第三に、これが主なことです。さまざまな視野でセンサーの値を予測できる比較的少数の記号(たとえば256)を見つけることができれば、おそらくダイの詰まりも予測できます。



すべてのセンサーの値を予測するために、完全に接続されたニューロンを使用することにしました。その入力には、1.5 少数の実験の後、このような5層設計が得られました。



import keras from keras.models import Model from keras.layers import Input, Dense l2_regul = keras.regularizers.l2(1e-6) input_layer = Input(shape=(input_shape,)) enc1 = Dense(512, kernel_regularizer=l2_regul, activation='relu')(input_layer) enc2 = Dense(256, kernel_regularizer=l2_regul, activation='relu')(enc1) repr_layer = Dense(256, kernel_regularizer=l2_regul, activation='relu')(enc2) dec1 = Dense(256, kernel_regularizer=l2_regul, activation='relu')(repr_layer) dec2 = Dense(256, kernel_regularizer=l2_regul, activation='relu')(dec1) last_layer = Dense(prediction_shape)(dec2) model = Model(inputs=input_layer, outputs=last_layer) encoder = Model(inputs=input_layer, outputs=repr_layer)
      
      





真夜中に完全なmodelka モデルを配置して、1年半すべてのデータを調べました。 午前中、テストサンプルの品質を確認しました。2時間の期間でも、すべてのセンサーの平均が判明しました。 R2 98%以上。 さて、センサーを予測できます。 これで、 モデルをゴミ箱に捨てることができます。 主な問題を解決するために必要なのはエンコーダーだけです。センサーからの入力情報を256個の強力な機能に変換するサブモデルです。 これらの兆候では、高度に正規化されたxgboostをトレーニングできます。これにより、ターゲットイベントが既に予測されます。 ROC AUCはクロス検証で約96%であることがかなりよく予測されていることが判明しました。 ニューロンなしでは、著しく悪化しました。



ここで物理学を台無しにするにはどうすればよいですか



ハッカソンの一環として、事前に訓練されたニューロンの兆候を備えたこのソリューションを正確に提示しました。 しかし、実際のプロジェクトでは、物理法則をより明確に使用するより複雑な設計を試みます。



物理式の利点は、通常非常に単純であり、したがって安定しており、解釈可能であることです。 欠点は、それらを知る必要があることです。 ニューロンはそれぞれのセンサーの効果を予測しようとしました-このため、隠れた因子を使用しない場合は、少なくとも43 * 43の行列をトレーニングする必要があります。 現実の世界では、依存関係ははるかにまばらです-ほとんどのセンサーは互いに直接影響しません。 それはただの常識を教えてくれます。 しかし、どの依存関係がまだ存在し、物理学によって正当化されるかを正確に知るには、対象分野の知識が必要です。 または、徹底的でかなり洗練されたデータ分析。 単純な形式に限定しました-センサーの各ペアについて、それらのインジケーターが相互に相関する強さと時間のずれを測定しました。 センサーをドットで表示し、矢印がセンサー間の最も強い相関関係を示している場合、次のようになります。







相互接続されたセンサーのグループがいくつかあります。 押出機の構造と各インジケーターの正確な物理的意味を知って、グループをより論理的な状況に調整することができます-たとえば、7番目のシリンダーが9番目に直接影響するのではなく、8番目以降にのみ影響することを認識します。 それでは、高度に相互接続されたセンサーの各グループに対して、そのステータスの何らかの解釈されたインジケーターを入力できます。 このような指標は、ニューロンが学習したものよりもさらに強い兆候であることが判明する場合があります。 そして最も重要なことは、それらは押出機のオペレーターにとって有用である可能性があります-その助けにより、問題を予測できるだけでなく、これらの問題がどこに局在しているかを素早く理解することもできます



ユーザーエクスペリエンスと品質測定



ハッカソンに参加せずに科学記事を書いた場合、ここでやめることができます。問題を予測する問題には解決策があることを証明しました。 しかし実際、ここでの実際の作業はまだ始まったばかりです。今では、作成したモデルを有用にする必要があります。 これを行うには、少なくとも3つのメトリックに対して高品質である必要があります。





最も単純なケースでは、これらのメトリックはしきい値を選択することで構成されます。その後、モデルは「起動」し、怖い通知をスローします。 より複雑で正しい決定は、異なる時間範囲の停止リスク予測を行い、時系列を平滑化する何らかの方法を使用してそれらをそれぞれ平滑化し、それらの予測の1つ以上がスケール外である場合にアラームを発生させることです。 しかし、この設定を実行するためには、最終的にこのシステムの潜在的なユーザーとコミュニケーションをとる価値があります-彼らの期待が何であるか、現在の停止を防ぐ方法、そして彼らが将来準備するアクションを見つけてください。



私が言わなかったこと



実際、多くのことについて。 そして、私たちがアルゴリズムで停止の日付が間違った形式で読み取られ、間違ったイベントから学んだことがわかるまで、グラフィックスを愚かにハンマーで叩き、問題の性質を把握しようとして数時間を費やした方法について。 そして、トボリスクの専門家とどのように連絡を取り、どのように押出機でどのように機能するかを教えてくれました。 週末でなければ、答えられたかもしれません...そして、私たちは最近の数時間でシステムのデモインターフェースを取り上げ、予測の履歴を表示するために「タイムマシン」を使用した方法については話しません。データサイエンスに関する記事。 それほどリッチではないインターフェイスは、おそらく3位になった理由の1つです。 しかし、それは機能し、これは喜ぶ機会です。







インターフェースの生のバージョンをここで見ることができます-加速モードでの今年の本当の夜の1つで予測モデルの操作を「失います」。 リンクは20.45で開き、21.05で押出機が実際に停止しました。これは歴史的な事実です。 しかし、私たちのような人々のおかげで、近い将来、この押出機を停止する頻度ははるかに低くなります。



All Articles