شعار زيفيرنت

اكتشف الحالات الشاذة في بيانات التصنيع باستخدام Amazon SageMaker Canvas | خدمات الويب الأمازون

التاريخ:

مع استخدام الحوسبة السحابية والبيانات الضخمة وأدوات التعلم الآلي (ML) مثل أمازون أثينا or الأمازون SageMaker أصبحت متاحة وقابلة للاستخدام من قبل أي شخص دون بذل الكثير من الجهد في الإنشاء والصيانة. تنظر الشركات الصناعية بشكل متزايد إلى تحليلات البيانات واتخاذ القرارات المستندة إلى البيانات لزيادة كفاءة الموارد عبر محفظتها بأكملها، بدءًا من العمليات وحتى إجراء الصيانة التنبؤية أو التخطيط.

نظرًا لسرعة التغيير في تكنولوجيا المعلومات، يواجه العملاء في الصناعات التقليدية معضلة المهارات. من ناحية، يتمتع المحللون وخبراء المجال بمعرفة عميقة جدًا بالبيانات المعنية وتفسيرها، لكنهم غالبًا ما يفتقرون إلى التعرض لأدوات علم البيانات ولغات البرمجة عالية المستوى مثل بايثون. من ناحية أخرى، غالبًا ما يفتقر خبراء علم البيانات إلى الخبرة اللازمة لتفسير محتوى بيانات الآلة وتصفيتها لما هو ذي صلة. تعيق هذه المعضلة إنشاء نماذج فعالة تستخدم البيانات لتوليد رؤى ذات صلة بالأعمال.

قماش أمازون سيج ميكر يعالج هذه المعضلة من خلال تزويد خبراء المجال بواجهة بدون تعليمات برمجية لإنشاء تحليلات قوية ونماذج تعلم الآلة، مثل التنبؤات أو التصنيف أو نماذج الانحدار. كما يسمح لك بنشر هذه النماذج ومشاركتها مع متخصصي ML ​​وMLOps بعد إنشائها.

في هذا المنشور، نوضح لك كيفية استخدام SageMaker Canvas لتنظيم الميزات المناسبة واختيارها في بياناتك، ثم تدريب نموذج التنبؤ لاكتشاف الحالات الشاذة، باستخدام وظيفة SageMaker Canvas بدون تعليمات برمجية لضبط النموذج.

الكشف عن الشذوذ للصناعة التحويلية

في وقت كتابة هذا التقرير، كان SageMaker Canvas يركز على حالات الاستخدام النموذجية للأعمال، مثل التنبؤ والانحدار والتصنيف. في هذا المنشور، نوضح كيف يمكن لهذه الإمكانات أن تساعد أيضًا في اكتشاف نقاط البيانات غير الطبيعية المعقدة. تعتبر حالة الاستخدام هذه ذات صلة، على سبيل المثال، لتحديد الأعطال أو العمليات غير العادية للآلات الصناعية.

يعد اكتشاف الحالات الشاذة أمرًا مهمًا في مجال الصناعة، لأن الآلات (من القطارات إلى التوربينات) عادة ما تكون موثوقة للغاية، وتمتد الفترات الفاصلة بين حالات الفشل لسنوات. معظم البيانات الواردة من هذه الأجهزة، مثل قراءات مستشعر درجة الحرارة أو رسائل الحالة، تصف التشغيل العادي ولها قيمة محدودة لاتخاذ القرار. يبحث المهندسون عن البيانات غير الطبيعية عند التحقيق في الأسباب الجذرية للخطأ أو كمؤشرات تحذيرية للأخطاء المستقبلية، ويقوم مديرو الأداء بفحص البيانات غير الطبيعية لتحديد التحسينات المحتملة. ولذلك، فإن الخطوة الأولى النموذجية في التحرك نحو اتخاذ القرارات المستندة إلى البيانات تعتمد على العثور على البيانات ذات الصلة (غير الطبيعية).

في هذا المنشور، نستخدم SageMaker Canvas لتنظيم الميزات المناسبة في البيانات وتحديدها، ثم تدريب نموذج تنبؤ لاكتشاف الحالات الشاذة، باستخدام وظيفة SageMaker Canvas بدون تعليمات برمجية لضبط النموذج. ثم نقوم بنشر النموذج باعتباره نقطة نهاية SageMaker.

حل نظرة عامة

بالنسبة لحالة استخدام الكشف عن الحالات الشاذة، نقوم بتدريب نموذج تنبؤ للتنبؤ بميزة مميزة للتشغيل العادي للآلة، مثل درجة حرارة المحرك المشار إليها في السيارة، من خلال الميزات المؤثرة، مثل السرعة وعزم الدوران الحديث المطبق في السيارة . للكشف عن الشذوذ في عينة جديدة من القياسات، نقوم بمقارنة توقعات النموذج للميزة المميزة مع الملاحظات المقدمة.

على سبيل المثال محرك السيارة، يحصل خبير المجال على قياسات لدرجة حرارة المحرك العادية، وعزم دوران المحرك الحديث، ودرجة الحرارة المحيطة، وغيرها من العوامل المؤثرة المحتملة. تتيح لك هذه تدريب نموذج للتنبؤ بدرجة الحرارة من الميزات الأخرى. ومن ثم يمكننا استخدام النموذج للتنبؤ بدرجة حرارة المحرك بشكل منتظم. عندما تكون درجة الحرارة المتوقعة لتلك البيانات مماثلة لدرجة الحرارة المرصودة في تلك البيانات، فإن المحرك يعمل بشكل طبيعي؛ ويشير التناقض إلى وجود حالة شاذة، مثل فشل نظام التبريد أو وجود خلل في المحرك.

يوضح الرسم البياني التالي بنية الحل.

نظرة عامة على العملية: يتم إنشاء نموذج في SageMaker Canvas، ونشره ثم الوصول إليه من AWS Lambda Funcino.

يتكون الحل من أربع خطوات رئيسية:

  1. يقوم خبير المجال بإنشاء النموذج الأولي، بما في ذلك تحليل البيانات وتنظيم الميزات باستخدام SageMaker Canvas.
  2. يشارك خبير المجال النموذج عبر سجل نموذج Amazon SageMaker أو نشرها مباشرةً كنقطة نهاية في الوقت الفعلي.
  3. يقوم خبير MLOps بإنشاء البنية التحتية للاستدلال والرمز الذي يترجم مخرجات النموذج من التنبؤ إلى مؤشر شذوذ. يتم تشغيل هذا الرمز عادةً داخل ملف AWS لامدا وظيفة.
  4. عندما يتطلب أحد التطبيقات اكتشاف حالة شاذة، فإنه يستدعي وظيفة Lambda، التي تستخدم النموذج للاستدلال وتوفر الاستجابة (سواء كانت حالة شاذة أم لا).

المتطلبات الأساسية المسبقة

لمتابعة هذا المنشور، يجب أن تستوفي المتطلبات الأساسية التالية:

قم بإنشاء النموذج باستخدام SageMaker

تتبع عملية إنشاء النموذج الخطوات القياسية لإنشاء نموذج انحدار في SageMaker Canvas. لمزيد من المعلومات، راجع الشروع في استخدام Amazon SageMaker Canvas.

أولاً، يقوم خبير المجال بتحميل البيانات ذات الصلة إلى SageMaker Canvas، مثل سلسلة زمنية من القياسات. في هذه المقالة، نستخدم ملف CSV يحتوي على القياسات (المولدة صناعيًا) للمحرك الكهربائي. لمزيد من التفاصيل، راجع استيراد البيانات إلى Canvas. بيانات العينة المستخدمة متاحة للتنزيل كملف CSV.

صورة توضح الأسطر الأولى من ملف CSV. بالإضافة إلى ذلك، يتم عرض الرسم البياني والمقاييس المعيارية لنموذج المعاينة السريعة.

قم بتنظيم البيانات باستخدام SageMaker Canvas

بعد تحميل البيانات، يمكن لخبير المجال استخدام SageMaker Canvas لتنظيم البيانات المستخدمة في النموذج النهائي. ولهذا يختار الخبير تلك الأعمدة التي تحتوي على قياسات مميزة للمشكلة المعنية. وبشكل أكثر دقة، يختار الخبير الأعمدة المرتبطة ببعضها البعض، على سبيل المثال، من خلال علاقة فيزيائية مثل منحنى الضغط ودرجة الحرارة، وحيث يكون التغيير في تلك العلاقة أمرًا شاذًا ذا صلة بحالة الاستخدام. سيتعرف نموذج الكشف عن الحالات الشاذة على العلاقة الطبيعية بين الأعمدة المحددة ويشير إلى الحالات التي لا تتوافق فيها البيانات معها، مثل ارتفاع درجة حرارة المحرك بشكل غير طبيعي في ضوء الحمل الحالي على المحرك.

ومن الناحية العملية، يحتاج خبير المجال إلى تحديد مجموعة من أعمدة الإدخال المناسبة وعمود الهدف. المدخلات هي عادة مجموعة من الكميات (رقمية أو فئوية) التي تحدد سلوك الجهاز، من إعدادات الطلب، إلى التحميل، أو السرعة، أو درجة الحرارة المحيطة. عادةً ما يكون الإخراج عبارة عن كمية رقمية تشير إلى أداء تشغيل الجهاز، مثل قياس درجة حرارة تبديد الطاقة أو تغيير مقياس أداء آخر عند تشغيل الجهاز في ظل ظروف دون المستوى الأمثل.

لتوضيح مفهوم الكميات التي يجب تحديدها للمدخلات والمخرجات، دعونا نفكر في بعض الأمثلة:

  • بالنسبة للمعدات الدوارة، مثل النموذج الذي نبنيه في هذا المنشور، فإن المدخلات النموذجية هي سرعة الدوران، وعزم الدوران (التيار والتاريخ)، ودرجة الحرارة المحيطة، والأهداف هي درجات حرارة المحمل أو المحرك الناتجة التي تشير إلى ظروف تشغيل جيدة للدورات
  • بالنسبة لتوربينات الرياح، فإن المدخلات النموذجية هي التاريخ الحالي والحديث لسرعة الرياح وإعدادات الشفرات الدوارة، والكمية المستهدفة هي الطاقة المنتجة أو سرعة الدوران
  • بالنسبة للعملية الكيميائية، المدخلات النموذجية هي النسبة المئوية للمكونات المختلفة ودرجة الحرارة المحيطة، والأهداف هي الحرارة المنتجة أو لزوجة المنتج النهائي
  • بالنسبة للمعدات المتحركة مثل الأبواب المنزلقة، فإن المدخلات النموذجية هي مدخلات الطاقة إلى المحركات، والقيمة المستهدفة هي السرعة أو وقت اكتمال الحركة
  • بالنسبة لنظام التدفئة والتهوية وتكييف الهواء (HVAC)، فإن المدخلات النموذجية هي فرق درجة الحرارة الذي تم تحقيقه وإعدادات الحمل، والكمية المستهدفة هي استهلاك الطاقة المقاس

في نهاية المطاف، ستعتمد المدخلات والأهداف الصحيحة لجهاز معين على حالة الاستخدام والسلوك الشاذ المراد اكتشافه، وهي معروفة بشكل أفضل لخبير المجال الذي هو على دراية بتعقيدات مجموعة البيانات المحددة.

في معظم الحالات، يعني اختيار المدخلات المناسبة والكميات المستهدفة اختيار الأعمدة الصحيحة فقط ووضع علامة على العمود المستهدف (على سبيل المثال، bearing_temperature). ومع ذلك، يمكن لخبير المجال أيضًا استخدام ميزات SageMaker Canvas بدون تعليمات برمجية لتحويل الأعمدة وتحسين البيانات أو تجميعها. على سبيل المثال، يمكنك استخراج أو تصفية تواريخ أو طوابع زمنية محددة من البيانات غير ذات الصلة. يدعم SageMaker Canvas هذه العملية، حيث يعرض إحصائيات حول الكميات المحددة، مما يسمح لك بفهم ما إذا كانت الكمية تحتوي على قيم متطرفة وانتشار قد يؤثر على نتائج النموذج.

تدريب وضبط وتقييم النموذج

بعد أن يختار خبير المجال الأعمدة المناسبة في مجموعة البيانات، يمكنه تدريب النموذج لمعرفة العلاقة بين المدخلات والمخرجات. وبشكل أكثر دقة، سيتعلم النموذج التنبؤ بالقيمة المستهدفة المحددة من المدخلات.

عادةً، يمكنك استخدام SageMaker Canvas معاينة النموذج خيار. يوفر هذا إشارة سريعة لجودة النموذج المتوقعة، ويسمح لك بالتحقيق في تأثير المدخلات المختلفة على مقياس الإخراج. على سبيل المثال، في لقطة الشاشة التالية، النموذج هو الأكثر تأثرًا بـ motor_speed و ambient_temperature المقاييس عند التنبؤ bearing_temperature. وهذا أمر معقول، لأن درجات الحرارة هذه ترتبط ارتباطا وثيقا. وفي الوقت نفسه، من المحتمل أن يؤثر الاحتكاك الإضافي أو وسائل فقدان الطاقة الأخرى على ذلك.

بالنسبة لجودة النموذج، يعد RMSE للنموذج مؤشرًا لمدى قدرة النموذج على تعلم السلوك الطبيعي في بيانات التدريب وإعادة إنتاج العلاقات بين مقاييس المدخلات والمخرجات. على سبيل المثال، في النموذج التالي، يجب أن يكون النموذج قادرًا على التنبؤ بشكل صحيح motor_bearing درجة الحرارة ضمن 3.67 درجة مئوية، لذلك يمكننا اعتبار انحراف درجة الحرارة الحقيقية عن تنبؤ النموذج أكبر من، على سبيل المثال، 7.4 درجة باعتباره حالة شاذة. ومع ذلك، فإن الحد الحقيقي الذي ستستخدمه سيعتمد على الحساسية المطلوبة في سيناريو النشر.

رسم بياني يوضح سرعة المحرك الفعلية والمتوقعة. العلاقة خطية مع بعض الضوضاء.

أخيرًا، بعد الانتهاء من تقييم النموذج وضبطه، يمكنك بدء التدريب الكامل على النموذج الذي سينشئ النموذج لاستخدامه في الاستدلال.

انشر النموذج

على الرغم من أن SageMaker Canvas يمكنه استخدام نموذج للاستدلال، إلا أن النشر الإنتاجي لاكتشاف الحالات الشاذة يتطلب منك نشر النموذج خارج SageMaker Canvas. وبشكل أكثر دقة، نحتاج إلى نشر النموذج كنقطة نهاية.

في هذا المنشور ومن أجل التبسيط، قمنا بنشر النموذج كنقطة نهاية من SageMaker Canvas مباشرة. للحصول على التعليمات، راجع انشر نماذجك إلى نقطة النهاية. تأكد من تدوين اسم النشر والنظر في تسعير نوع المثيل الذي تقوم بالنشر إليه (في هذا المنشور، نستخدم ml.m5.large). سيقوم SageMaker Canvas بعد ذلك بإنشاء نقطة نهاية نموذجية يمكن استدعاؤها للحصول على التنبؤات.

نافذة تطبيق توضح تكوين نشر النموذج. الإعدادات المعروضة هي حجم الجهاز ml.m5.large واسم نشر نموذج الشذوذ.

في البيئات الصناعية، يحتاج النموذج إلى الخضوع لاختبار شامل قبل نشره. ولهذا الغرض، لن يقوم خبير المجال بنشره، بل سيشارك النموذج في سجل نموذج SageMaker. هنا، يمكن لخبير عمليات MLOps أن يتولى المهمة. عادةً، سيقوم هذا الخبير باختبار نقطة نهاية النموذج، وتقييم حجم معدات الحوسبة المطلوبة للتطبيق المستهدف، وتحديد النشر الأكثر فعالية من حيث التكلفة، مثل النشر للاستدلال بدون خادم أو الاستدلال الدفعي. عادةً ما تتم هذه الخطوات تلقائيًا (على سبيل المثال، باستخدام خطوط أنابيب أمازون ساجيماكر أو ال أمازون SDK).

صورة توضح زر مشاركة نموذج من Amazon Sgemaker إلى سجل النماذج.

استخدم النموذج للكشف عن الشذوذ

في الخطوة السابقة، قمنا بإنشاء نشر نموذج في SageMaker Canvas، يسمى canvas-sample-anomaly-model. يمكننا استخدامه للحصول على تنبؤات ل bearing_temperature القيمة بناءً على الأعمدة الأخرى في مجموعة البيانات. الآن، نريد استخدام نقطة النهاية هذه للكشف عن الحالات الشاذة.

لتحديد البيانات الشاذة، سيستخدم نموذجنا نقطة نهاية نموذج التنبؤ للحصول على القيمة المتوقعة للمقياس المستهدف ثم مقارنة القيمة المتوقعة بالقيمة الفعلية في البيانات. تشير القيمة المتوقعة إلى القيمة المتوقعة لمقياسنا المستهدف بناءً على بيانات التدريب. وبالتالي فإن الفرق في هذه القيمة هو مقياس لشذوذ البيانات الفعلية المرصودة. يمكننا استخدام الكود التالي:

# We are using pandas dataframes for data handling
import pandas as pd 
import boto3,json
sm_runtime_client = boto3.client('sagemaker-runtime')

# Configuration of the actual model invocation
endpoint_name="canvas-sample-anomaly-model"
# Name of the column in the input data to compare with predictions
TARGET_COL='bearing_temperature' 

def do_inference(data, endpoint_name):
    # Example Code provided by Sagemaker Canvas
    body = data.to_csv(header=False, index=True).encode("utf-8")
    response = sm_runtime_client.invoke_endpoint(Body = body,
                              EndpointName = endpoint_name,
                              ContentType = "text/csv",
                              Accept = "application/json",
                              )
    return json.loads(response["Body"].read())


def input_transformer(input_data, drop_cols = [ TARGET_COL ] ):
    # Transform the input: Drop the Target column
    return input_data.drop(drop_cols,axis =1 )

def output_transformer(input_data,response):
    # Take the initial input data and compare it to the response of the prediction model
    scored = input_data.copy()
    scored.loc[ input_data.index,'prediction_'+TARGET_COL ] = pd.DataFrame(
response[ 'predictions' ],
index = input_data.index 
)['score']
    scored.loc[ input_data.index,'error' ] = (
scored[ TARGET_COL ]-scored[ 'prediction_'+TARGET_COL ]
).abs()
    return scored

# Run the inference
raw_input = pd.read_csv(MYFILE) # Read my data for inference
to_score = input_transformer(raw_input) # Prepare the data
predictions = do_inference(to_score, endpoint_name) # create predictions
results = output_transformer(to_score,predictions) # compare predictions & actuals

يقوم الكود السابق بتنفيذ الإجراءات التالية:

  1. تتم تصفية بيانات الإدخال وصولاً إلى الميزات الصحيحة (الوظيفة "input_transformer").
  2. يتم استدعاء نقطة نهاية نموذج SageMaker مع البيانات التي تمت تصفيتها (الوظيفة "do_inference")، حيث نتعامل مع تنسيق الإدخال والإخراج وفقًا لنموذج التعليمات البرمجية المقدم عند فتح صفحة تفاصيل النشر في SageMaker Canvas.
  3. يتم ربط نتيجة الاستدعاء ببيانات الإدخال الأصلية ويتم تخزين الفرق في عمود الخطأ (الوظيفة "output_transform").

البحث عن الحالات الشاذة وتقييم الأحداث الشاذة

في الإعداد النموذجي، يتم تشغيل التعليمات البرمجية للحصول على الحالات الشاذة في وظيفة Lambda. يمكن استدعاء وظيفة Lambda من أحد التطبيقات أو بوابة أمازون API. تقوم الوظيفة الرئيسية بإرجاع درجة الشذوذ لكل صف من البيانات المدخلة - في هذه الحالة، سلسلة زمنية من درجة الشذوذ.

للاختبار، يمكننا أيضًا تشغيل التعليمات البرمجية في دفتر ملاحظات SageMaker. توضح الرسوم البيانية التالية مدخلات ومخرجات نموذجنا عند استخدام بيانات العينة. تشير الذروة في الانحراف بين القيم المتوقعة والفعلية (درجة الشذوذ، الموضحة في الرسم البياني السفلي) إلى حالات شاذة. على سبيل المثال، في الرسم البياني، يمكننا أن نرى ثلاث قمم متميزة حيث تتجاوز درجة الشذوذ (الفرق بين درجة الحرارة المتوقعة والحقيقية) 7 درجات مئوية: الأولى بعد فترة توقف طويلة، والثانية عند انخفاض حاد قدره bearing_temperature، والأخير حيث bearing_temperature مرتفع مقارنة ب motor_speed.

رسمان بيانيان للسلاسل الزمنية. يُظهر الجزء العلوي التسلسل الزمني لدرجات حرارة المحرك وسرعاته. يوضح الرسم البياني السفلي درجة الشذوذ مع مرور الوقت بثلاث قمم تشير إلى الشذوذ.

في كثير من الحالات، تكون معرفة السلسلة الزمنية لدرجة الشذوذ كافية بالفعل؛ يمكنك إعداد حد للوقت الذي يتم فيه التحذير من وجود حالة شاذة كبيرة بناءً على الحاجة إلى حساسية النموذج. تشير النتيجة الحالية بعد ذلك إلى أن الجهاز لديه حالة غير طبيعية تحتاج إلى التحقيق. على سبيل المثال، بالنسبة لنموذجنا، يتم توزيع القيمة المطلقة لدرجة الشذوذ كما هو موضح في الرسم البياني التالي. وهذا يؤكد أن معظم درجات الشذوذ أقل من (2xRMS=)8 درجات التي تم العثور عليها أثناء التدريب على النموذج باعتباره الخطأ النموذجي. يمكن أن يساعدك الرسم البياني في اختيار العتبة يدويًا، بحيث يتم وضع علامة على النسبة المئوية الصحيحة للعينات التي تم تقييمها على أنها حالات شاذة.

رسم بياني لحدوث القيم لدرجة الشذوذ. يتناقص المنحنى من x=0 إلى x=15.

إذا كانت المخرجات المطلوبة عبارة عن أحداث شاذة، فإن درجات الشذوذ التي يوفرها النموذج تتطلب تحسينًا لتكون ذات صلة باستخدام الأعمال. ولهذا الغرض، سيضيف خبير تعلم الآلة عادةً المعالجة اللاحقة لإزالة الضوضاء أو القمم الكبيرة على درجة الشذوذ، مثل إضافة متوسط ​​متدرج. بالإضافة إلى ذلك، سيقوم الخبير عادةً بتقييم درجة الشذوذ من خلال منطق مشابه لرفع درجة الأمازون CloudWatch إنذار، مثل مراقبة خرق عتبة ما خلال مدة محددة. لمزيد من المعلومات حول إعداد الإنذارات، راجع استخدام إنذارات Amazon CloudWatch. يتيح لك تشغيل هذه التقييمات في وظيفة Lambda إرسال تحذيرات، على سبيل المثال، عن طريق نشر تحذير إلى أحد الأشخاص خدمة إعلام أمازون البسيطة موضوع (Amazon SNS).

تنظيف

بعد الانتهاء من استخدام هذا الحل، يجب عليك التنظيف لتجنب التكاليف غير الضرورية:

  1. في SageMaker Canvas، ابحث عن نشر نقطة نهاية النموذج الخاص بك وقم بحذفه.
  2. قم بتسجيل الخروج من SageMaker Canvas لتجنب فرض رسوم على تشغيله في وضع الخمول.

نبذة عامة

في هذا المنشور، أظهرنا كيف يمكن لخبير المجال تقييم البيانات المدخلة وإنشاء نموذج تعلم الآلة باستخدام SageMaker Canvas دون الحاجة إلى كتابة التعليمات البرمجية. ثم أوضحنا كيفية استخدام هذا النموذج للكشف عن الحالات الشاذة في الوقت الفعلي باستخدام SageMaker وLambda من خلال سير عمل بسيط. يمكّن هذا المزيج خبراء المجال من استخدام معرفتهم لإنشاء نماذج قوية لتعلم الآلة دون الحاجة إلى تدريب إضافي في علم البيانات، ويمكّن خبراء MLOps من استخدام هذه النماذج وإتاحتها للاستدلال بمرونة وكفاءة.

تتوفر طبقة مجانية لمدة شهرين لـ SageMaker Canvas، وبعد ذلك لن تدفع إلا مقابل ما تستخدمه. ابدأ التجربة اليوم وأضف التعلم الآلي لتحقيق أقصى استفادة من بياناتك.


عن المؤلف

هيلجي أوفديرهايد متحمس لجعل البيانات قابلة للاستخدام في العالم الحقيقي مع التركيز القوي على الأتمتة والتحليلات والتعلم الآلي في التطبيقات الصناعية، مثل التصنيع والتنقل.

بقعة_صورة

أحدث المعلومات الاستخباراتية

بقعة_صورة