Yolo فيجن شنتشن
شنتشن
انضم الآن
مسرد المصطلحات

التطبيع

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

التطبيع هو تقنية أساسية أساسية للمعالجة المسبقة للبيانات تُستخدم لتحويل الميزات العددية ضمن مجموعة بيانات إلى مقياس مشترك، عادةً دون تشويه الاختلافات في نطاقات القيم أو فقدان المعلومات. في سياق التعلم الآلي (ML) و والتعلّم العميق (DL)، تُعد هذه العملية بالغة الأهمية من أجل ضمان أن تكون بيانات الإدخال بتنسيق يمكن للخوارزميات معالجته بكفاءة. من خلال تعديل القيم - غالبًا إلى نطاق بين 0 و1 يمنع التطبيع الميزات ذات المقاييس الرقمية الأكبر من الهيمنة على عملية تعلم النموذج وبالتالي ضمان مساهمة متناسقة من جميع المدخلات خلال تدريب النموذج.

أهمية التطبيع في الذكاء الاصطناعي

الهدف الأساسي من التطبيع هو تسهيل استقرار وسرعة خوارزمية خوارزمية التحسين. العديد من الخوارزميات, مثل نزول التدرج العشوائي (SGD), تعتمد على حساب المسافات أو التدرجات بين نقاط البيانات. إذا كانت إحدى الميزات تتراوح من 0 إلى 100,000 (على سبيل المثال، أسعار المنازل ) وتتراوح أخرى من 0 إلى 10 (على سبيل المثال، عدد الغرف)، فإن المُحسِّن سيواجه صعوبة في التنقل بين دالة الخسارة بفعالية.

يوفر التطبيع السليم العديد من الفوائد الرئيسية:

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

تقنيات التطبيع الشائعة

هناك عدة طرق لتطبيع البيانات، كل منها مناسب لتوزيعات وخوارزميات مختلفة.

  • القياس الأدنى والأقصى: هذا هو أكثر أشكال التطبيع شيوعًا. فهو يعيد قياس البيانات إلى نطاق ثابت، عادةً [0، 1]. يتم تنفيذ ذلك بطرح القيمة الصغرى والقسمة على النطاق (الحد الأقصى ناقص ناقص الحد الأدنى). يمكنك استكشاف التنفيذ الرياضي في في وثائق Scikit-Learn MinMaxScaler.
  • معيار Z-Score: غالبًا ما يتم الخلط بينه وبين التطبيع, التوحيد القياسي (أو تطبيع الدرجة Z) تحويل البيانات ليكون متوسطها 0 وانحرافها المعياري 1. يكون هذا مفيدًا عندما تتبع البيانات توزيعًا توزيع غاوسي.
  • التحويل اللوغاريتمي: بالنسبة للبيانات ذات الذيل الثقيل أو القيم المتطرفة الشديدة، فإن تطبيق التحويل اللوغاريتمي يمكن أن يضغط نطاق القيم، مما يجعل التوزيع أكثر قابلية للإدارة بالنسبة ل الشبكة العصبية (NN).

التطبيع مقابل التطبيع الدفعي

من المهم التمييز بين تطبيع بيانات الإدخال و تطبيع الدُفعات.

  • تطبيع البيانات: يحدث خلال مرحلة المعالجة المسبقة للبيانات المشروحة. يتم تطبيقها على المدخلات الأولية (مثل الصور أو البيانات المجدولة) قبل أن تدخل إلى النموذج.
  • التطبيع الدفعي: هي تقنية طبقة محددة تُستخدم داخل الشبكات العصبية العميقة. وهي تطبيع تنشيطات الطبقة لكل دفعة صغيرة أثناء التدريب. بينما يعمل تطبيع البيانات على إعداد المدخلات، يعمل تطبيع الدُفعات على استقرار عملية التعلّم الداخلية، مما يساعد البنى العميقة مثل YOLO11 تتدرب بشكل أعمق وأسرع.

تطبيقات واقعية

التطبيع منتشر في كل مكان في مختلف مجالات الذكاء الاصطناعي.

  1. الرؤية الحاسوبية (CV): في مهام مثل اكتشاف الأجسام و وتصنيف الصور، تتكون الصور من قيم بكسل تتراوح من 0 إلى 255 بكسل. يمكن أن يؤدي تغذية هذه الأعداد الصحيحة الكبيرة مباشرةً في الشبكة إلى إبطاء التعلم. A تتضمن خطوة المعالجة المسبقة القياسية قسمة قيم البكسل على 255.0 لتطبيعها إلى النطاق [0، 1]. هذا توحيد المدخلات لنماذج مثل YOLO11 ونموذج YOLO26 القادم.
  2. تحليل الصور الطبية: الفحوصات الطبية، مثل تلك المستخدمة في الذكاء الاصطناعي في الرعاية الصحية، غالبًا ما تأتي من مختلفة بمقاييس شدة مختلفة. يضمن التطبيع أن تكون شدة البكسل من التصوير بالرنين المغناطيسي أو التصوير المقطعي المحوسب قابلة للمقارنة بين المرضى المختلفين، وهو أمر بالغ الأهمية للكشف الدقيق عن الكشف الدقيق عن الورم.

مثال على التنفيذ

في حين أن المكتبات المتقدمة مثل ultralytics التعامل مع تطبيع الصور تلقائيًا ضمن الخاصة بهم، فإن فهم المنطق الأساسي مفيد. فيما يلي Python مثال باستخدام numpy لتوضيح كيفية تطبيع بيانات بكسل الصورة يدويًا من النطاق 0-255 إلى 0-1.

import numpy as np

# Simulate a 2x2 pixel image with 3 color channels (RGB)
# Values range from 0 to 255
raw_image = np.array([[[10, 255, 128], [0, 50, 200]], [[255, 255, 255], [100, 100, 100]]], dtype=np.float32)

# Apply Min-Max normalization to scale values to [0, 1]
# Since the known min is 0 and max is 255, we simply divide by 255.0
normalized_image = raw_image / 255.0

print(f"Original Max: {raw_image.max()}")
print(f"Normalized Max: {normalized_image.max()}")
print(f"Normalized Data Sample:\n{normalized_image[0][0]}")

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

انضم إلى مجتمع Ultralytics

انضم إلى مستقبل الذكاء الاصطناعي. تواصل وتعاون وانمو مع المبتكرين العالميين

انضم الآن