نموذج ذهني مفيد
تخيّل بنية النموذج على أنها مجموعة من المعادلات التي تحتوي على خانات مرقّمة فارغة. تحدد البنية مواضع الخانات وكيفية اتصالها. أما المعلمات فهي الأرقام الموضوعة في تلك الخانات.
هذا التمييز مهم. يمكن لنموذجَين أن تكون لهما البنية نفسها، لكنهما يتصرفان بشكل مختلف بسبب اختلاف قيم معلماتهما. قبل التدريب، تحتوي الخانات على قيم مهيّأة. يعدّل التدريب بعض هذه القيم أو كلها باستخدام البيانات. وأثناء الاستدلال، يُبقي النموذج عادةً تلك القيم ثابتة ويطبّق الحساب الناتج على مدخلات جديدة.
المعلمة ليست مقبضًا يدوّره المستخدم مع كل طلب، بل هي جزء من النموذج نفسه.
كيف تعمل المعلمات
تُجري طبقة الشبكة العصبية عادةً حسابًا من الشكل الآتي:
[\n\text{المخرج} = f(\text{المدخل} \times \text{مصفوفة الأوزان} + \text{متجه الانحياز})\n]
تحتوي مصفوفة الأوزان ومتجه الانحياز على معلمات. أما الدالة (f) فهي جزء من البنية، وقد لا تحتوي بحد ذاتها على أي معلمات.
تحدد البنية أشكال موترات المعلمات. فإذا كانت طبقة تصل قيمتي إدخال بثلاث قيم إخراج، فإن مصفوفة أوزانها تحتاج إلى 6 مدخلات عددية مفردة:
2 inputs ──> [2 × 3 weight matrix] ──> 3 outputs
+
[3-value bias vector]تُحسب كل قيمة عددية مفردة مخزنة بصورة مستقلة على أنها معلمة واحدة. ويستخدم النموذج المدخلات نفسها مع كل مثال يعالجه. ولا يؤدي تطبيق معلمة مليون مرة إلى تحويلها إلى مليون معلمة.
أثناء التدريب، يتلقى المُحسِّن معلومات حول كيفية تأثير تغيير صغير في كل معلمة قابلة للتدريب على خطأ النموذج. ثم يحدّث القيم. ويمكن أن يؤدي تكرار هذه العملية إلى إنتاج مجموعة من المعلمات التي تربط المدخلات الجديدة بمخرجات مفيدة.
ينبغي التعامل مع كلمة «قابلة للتدريب» بحذر. إذ يمكن تجميد المعلمة بحيث لا يحدّثها تشغيل تدريبي معيّن. ومع ذلك، تظل جزءًا من الحالة الملائمة للنموذج. كما تخزن أطر العمل حالات أخرى تؤثر في الحساب، لكنها لا تُعامل على أنها معلمات. تسمّي PyTorch هذه الحالة «مخزنًا مؤقتًا» (buffer)، بينما تستخدم Keras مجموعة «أوزان» أوسع، وتقسمها إلى أوزان قابلة للتدريب وأوزان غير قابلة للتدريب.
حساب عملي لعدد المعلمات
لنفترض وجود شبكة صغيرة تحتوي على قيمتي إدخال، وطبقة مخفية ذات ثلاثة مخرجات، ومخرج نهائي واحد.
تحتوي الطبقة الأولى على:
- (2 \times 3 = 6) أوزان
- 3 انحيازات
- 9 معلمات إجمالًا
وتحتوي الطبقة النهائية على:
- (3 \times 1 = 3) أوزان
- انحياز واحد
- 4 معلمات إجمالًا
تحتوي الشبكة كاملةً على (9 + 4 = 13) معلمة.
لا تُحسب قيم الإدخال ضمن المعلمات لأنها تتغير من مثال إلى آخر. ولا تُحسب المخرجات الوسيطة أيضًا؛ فهي نتائج مؤقتة. كما لا تضيف دوال التنشيط في هذا المثال أي معلمات. ولا تسهم في العدد إلا القيم المخزنة بصورة مستقلة في مصفوفات الأوزان ومتجهات الانحياز.
تتوسع هذه الطريقة القائمة على الأشكال لتشمل النماذج الأكبر: احسب المدخلات العددية المفردة في كل موتر معلمات، ثم اجمعها. وإذا كانت المعلمات مشتركة، فاحسب القيم المخزنة مرة واحدة، لا كل موضع يستخدم فيه النموذج تلك القيم.
لماذا يهم عدد المعلمات؟
يصف عدد المعلمات حجم الحالة العددية المتعلَّمة للنموذج. وهو يؤثر في عدة خصائص عملية.
أولًا، تشغل المعلمات المخزنة مساحة في الذاكرة. وتعتمد المساحة على عدد المعلمات وكيفية تمثيل كل قيمة. ويستخدم التمثيل ذو 16 بتًا بايتين لكل قيمة عددية مخزنة، قبل احتساب الحالة غير المتعلقة بالمعلمات وعبء الملف.
ثانيًا، تشارك المعلمات في الحساب. وغالبًا ما يعني وجود عدد أكبر من المعلمات إجراء مزيد من العمليات الحسابية، رغم أن البنية ومشاركة المعلمات وأجزاء النموذج النشطة يمكن أن تغيّر هذه العلاقة.
ثالثًا، يساعد عدد المعلمات في وصف قدرة النموذج على ملاءمة الأنماط. لكنه لا يقيس مدى جودة استخدام هذه القدرة. فتؤثر بيانات التدريب والهدف والبنية والتحسين والتقييم جميعًا. ولا يكون النموذج ذو المعلمات الأكثر دقةً أو معرفةً أو فائدةً تلقائيًا.
تحتاج أعداد المعلمات أيضًا إلى تسمية توضّح المقصود. فقد تعرض أداة أو ورقة بحثية إجمالي المعلمات، أو المعلمات المعلَّمة حاليًا على أنها قابلة للتدريب فقط، أو عددًا يستبعد التضمينات. تجيب هذه الأعداد عن أسئلة مختلفة، ولا ينبغي مقارنتها كما لو كانت متطابقة.
مفاهيم خاطئة شائعة
المعلمات ليست بالمعلمات الفائقة
المعلمات هي قيم تتم ملاءمتها باعتبارها جزءًا من النموذج. أما المعلمات الفائقة فتهيّئ النموذج أو عملية التدريب. ويُعد معدل التعلم وحجم الدفعة من المعلمات الفائقة الشائعة: فهي تؤثر في سير التدريب، لكنها ليست قيمًا متعلَّمة داخل النموذج الناتج.
المعلمات والأوزان ليسا مترادفين تمامًا
الأوزان نوع رئيسي من المعلمات، ولذلك يستخدم الناس الكلمتين أحيانًا بالتبادل. لكن الانحياز معلمة أيضًا، وكذلك قيم القياس والإزاحة المتعلَّمة في بعض طبقات التطبيع. ويمكن أن تحمل كلمة «الأوزان» أيضًا معنى أوسع خاصًا بإطار العمل. لذا فإن القراءة الأكثر أمانًا لعدد المعلمات هي القراءة التي يحددها إطار العمل أو ناشر النموذج الذي أنتج ذلك العدد.
المعلمة الواحدة لا تساوي حقيقة واحدة
ينشأ سلوك النموذج المدرَّب من عمل العديد من قيم المعلمات معًا. وعادةً لا تحمل قيمة واحدة معنىً بلغة طبيعية مثل «باريس عاصمة فرنسا». فقد تتوزع المعلومات عبر قيم كثيرة، ويمكن لقيمة واحدة أن تؤثر في مخرجات عديدة.
لا تضمن المعلمات الأكثر نموذجًا أفضل
يقيس عدد المعلمات الكمية لا الجودة. ويمكن لزيادة السعة أن تساعد عندما تستخدمها البنية والبيانات والتدريب بفاعلية. لكنها قد تهدر الذاكرة والحساب، أو تلائم أنماطًا غير مرغوبة. لذلك يجب قياس الأداء على المهمة المهمة فعلًا.
ليست كل قيمة مخزنة بالضرورة معلمة
قد تحتفظ النماذج بإحصاءات جارية أو ذاكرات مؤقتة أو حالات أخرى إلى جانب المعلمات. وتُصنّف أطر العمل هذه الحالة بطرق مختلفة. وللحصول على عدد دقيق، استخدم تعداد المعلمات الذي يوفره إطار العمل بدلًا من حجم كل موتر في نقطة التحقق.
كيف تندمج المعلمات في النموذج؟
تحدد بنية الشبكة العصبية العمليات وأشكال موترات المعلمات. ويمنح التهيئة تلك الموترات قيمًا ابتدائية. ويغيّر التدريب القيم القابلة للتدريب. وتحفظ نقطة التحقق القيم الناتجة، وغالبًا ما تحفظ معها حالة إضافية. ويحمّلها الاستدلال ويستخدمها لحساب المخرجات.
لذلك فالمعلمات ليست النموذج بأكمله، وليست مجرد مواصفة للنموذج. إذ يجمع النموذج المدرَّب القابل للاستخدام بين بنية وقيم معلمات محددة.
إلى أين ننتقل بعد ذلك؟
اقرأ ما هي أوزان النموذج؟لمعرفة دور المضاعِفات التي تشكّل معظم معلمات الشبكة العصبية. ثم اطّلع على معلمات النموذج مقابل أوزان النموذجلمعرفة الحد الفاصل الدقيق بين المصطلحين.