باختصار
الـ Hyperparameter هو إعداد بيحدّده المطوّر قبل ما يبدأ التدريب — زي سرعة التعلّم وعدد الطبقات. الإعدادات دي بتأثّر بشكل كبير على طريقة تعلّم النموذج وأداءه النهائي، والنموذج نفسه مش بيتعلّمها من البيانات.
بالتفصيل
تخيّل إنك بتخبز كيكة. الوصفة بتقولك استخدم 200 جرام دقيق و3 بيضات — دي المكونات اللي بتتغيّر حسب الوصفة (زي الـ Parameters اللي النموذج بيتعلّمها). بس إنت كمان لازم تحدّد حرارة الفرن ووقت الخَبز — ودول إعدادات إنت بتقرّرها مش الوصفة، وبتأثّر على النتيجة جدًا. لو الحرارة عالية أوي الكيكة هتحترق، ولو واطية أوي مش هتستوي. الإعدادات دي هي الـ Hyperparameters.
الفرق الأساسي بين الـ Parameter والـ Hyperparameter هو: الـ Parameters (زي الأوزان في الشبكة العصبية) النموذج بيتعلّمها لوحده أثناء التدريب من البيانات. أما الـ Hyperparameters فالمطوّر بيحدّدها قبل التدريب وبتفضل ثابتة.
من أشهر الـ Hyperparameters:
- Learning Rate: سرعة تعلّم النموذج — كبيرة أوي بتخلّيه يتخبّط، صغيرة أوي بتخلّيه بطيء
- Batch Size: عدد العيّنات اللي النموذج بيشوفها قبل ما يعدّل أوزانه
- عدد الطبقات (Layers) وعدد الخلايا في كل طبقة: بيحدّدوا حجم النموذج وقدرته
- عدد دورات التدريب (Epochs): كام مرة النموذج هيشوف البيانات كلها
- معدّل الـ Dropout: نسبة الخلايا اللي بتتطفي عشوائيًا أثناء التدريب
اختيار الـ Hyperparameters الصح عملية صعبة وبتحتاج تجارب كتير. عشان كده في تقنيات زي Grid Search وRandom Search وBayesian Optimization بتجرّب مجموعات مختلفة من الإعدادات وتختار الأحسن أوتوماتيكيًا.
مثال عملي
لو بتدرّب نموذج للتعرّف على الكلام بالعربي، لازم تحدّد حاجات زي: الـ Learning Rate يكون 0.001 ولا 0.0001؟ عدد الطبقات يكون 6 ولا 12؟ الـ Batch Size يكون 32 ولا 64؟ كل تركيبة من الإعدادات دي هتدّيك نموذج مختلف في الأداء. المطوّرين بيجرّبوا عشرات التركيبات ويقارنوا النتائج عشان يلاقوا الإعدادات المثالية.
مصطلحات مرتبطة
- معدّل التعلّم (Learning Rate)
- حجم الدفعة (Batch Size)
- المعاملات (Parameters)
- المحسّن (Optimizer)
قرمصيص للأخبار أخبار الذكاء الاصطناعي بالعربي