حيث تستحق الخوارزمية الجينية كلفتها، وحيث توجد طريقة أرخص أصلًا، وحجة الكلفة التي تحسم معظم ذلك.
السؤال الصادق
صاغ الدرس 13.1 التطور كـاستراتيجية بحث لا كصنف من النماذج، وهذه الصياغة تحسم هذا الدرس كله. فالسؤال ليس أبدًا «هل الخوارزمية الجينية جيدة؟» — بل «هل في مسألتي بنية يمكن لطريقة أرخص أن تستغلها، وهل أتجاهلها؟» لا تطلب الخوارزمية الجينية من المسألة شيئًا تقريبًا: لا مشتقات، ولا تحدُّب، ولا اتصالية، ولا حتى تمثيلًا عدديًّا. وهذه العمومية هي بالضبط سبب بطئها. فأنت تدفع ثمن كل افتراض ترفض أن تفترضه.
لذا فالطريقة النافعة لقراءة هذا الدرس هي كمجموعة اختبارات. فكل تطبيق أدناه ينتصر لسبب محدد، وكل سبب من تلك الأسباب هو أيضًا طريقة لعدم اجتياز الاختبار عندما تختلف مسألتك.
إذا كان الهدف قابلًا للاشتقاق، فاستخدم التدرج
هذه أهم قاعدة في الوحدة، وهي عبارة عن كمّ المعلومات لكل وحدة حساب لا عن الأناقة. فعندما تكون دالة الخسارة قابلة للاشتقاق بالنسبة إلى معاملاتها، يحسب الانتشار الخلفي (الدرس 6.3) المشتقة الجزئية الدقيقة بالنسبة إلى كل معامل في تمريرة خلفية واحدة، بكلفة من رتبة تمريرة أمامية واحدة تقريبًا.
وفي شبكة بملايين المعاملات ليس هذا الفرق فرقًا في الدرجة. فتطوير أوزان شبكة كبيرة بقيم الملاءمة وحدها يعني التخلي عن معلومات المشتقة التي بُني النموذج لتوفيرها. وإذا كان الهدف قابلًا للاشتقاق — وكل دوال الخسارة في الوحدات 2 و6 و7 و8 و9 كذلك — فالتدرج ليس مجرد الخيار الأسرع، بل هو الخيار الذي يستفيد من معرفتك.
تصرف الخوارزمية الجينية عددًا من التقييمات يساوي حجم المجتمع في عدد الأجيال لتحقيق تقدّم يحققه نموذج قابل للاشتقاق بتمريرة أمامية وخلفية واحدة لكل خطوة. فاستخدم التطور حين تفرض المسألة هذه المقايضة عليك، لا حين تختارها.
البحث عن المعاملات الفائقة
المعاملات الفائقة غير قابلة للاشتقاق بأي صورة نافعة، وهي تخلط خيارات مستمرة ومنفصلة وشرطية، وكل تقييم فيها تدريب كامل. وهذا صندوق أسود حقيقي، فالخوارزمية الجينية مقبولة هنا على الأقل — وهذا ليس نفس القول بأنها الأداة الصحيحة. وقد درّس الدرس 10.2 البدائل من قبل؛ والغرض من هذا القسم هو وضع التطور بصدق بينها.
| الطريقة | كيف تختار النقطة التالية | التوازي | ما تطلبه منك |
|---|---|---|---|
| البحث الشبكي | يُعدّد شبكة مثبّتة قبل أول تشغيل | متوازٍ تمامًا | شبكة، وأبعاد قليلة بما يكفي لتكون محتملة الكلفة |
| البحث العشوائي | يعاين من مديات تحددها، ويتجاهل كل النتائج | متوازٍ تمامًا | مديات وتوزيعات معقولة |
| التحسين البايزي | يلائم نموذجًا بديلًا لكل النتائج ثم يُحسّن دالة اكتساب | متسلسل بحكم التصميم؛ والدفعات تحتاج آلية إضافية | فضاء بحث يستطيع النموذج البديل تمثيله |
| الخوارزمية الجينية | تعيد تركيب وتُطفّر الأفضل في المجتمع الحالي | متوازٍ تمامًا داخل الجيل | ترميز، ومُشغِّلات تحترمه |
ثلاث ملاحظات على مستوى الآلية، وبلا أي دعوى — عن قصد — بشأن أيّها يفوز:
- التحسين البايزي يستخلص أكثر من كل تقييم. فهو يُنمذج قيمة الهدف وعدم يقينه في كل موضع لم ينظر فيه. أما انتقاء المسابقة أو الرتبة في الخوارزمية الجينية فيستخدم ترتيب الجيل فقط، ملقيًا بالمقادير. وحيث تكون التقييمات هي المورد النادر، فالاستفادة الأكبر من كل واحد منها هي الخيار السليم بنيويًّا.
- الخوارزمية الجينية تستخدم العتاد المتوازي بشكل أطبع. فكل فرد في الجيل مستقل، فيعمل P من العمّال دون أي نظرية إضافية. أما التحسين البايزي فمتسلسل في صورته الأساسية لأن كل اختيار يعتمد على النتيجة السابقة.
- فضاءات البحث غير المريحة تُرجّح التطور. التهيئات ذات الطول المتغير، وأكوام الطبقات، والمعاملات الشرطية التي لا توجد إلا إذا اختير غيرها، والتباديل — كل ذلك يمكنك ترميزه مباشرة وكتابة مُشغِّلات تُبقيه صالحًا. أما جعل نموذج بديل يتعامل مع الأشياء نفسها فيقتضي نواة معرَّفة عليها.
والخطوة الأولى الصادقة قبل كل هذا: لعدد قليل من المعاملات الفائقة، يبقى البحث العشوائي على مديات معقولة خيارًا افتراضيًّا قويًّا. فقد أظهر Bergstra وBengio (2012) أن البحث العشوائي يجد تهيئات جيدة كالبحث الشبكي أو أفضل منه للميزانية نفسها، لأن معظم فضاءات المعاملات الفائقة ذات بُعد فعّال منخفض. فلا تبدأ بطريقة قائمة على المجتمع لمسألة تحسمها مئة تجربة عشوائية.
اختيار الميزات كبحث في المجموعات الجزئية
اختيار أيٍّ من d ميزة نُبقيه يلائم طبعًا الترميز الثنائي في الدرس 13.2: بتّة لكل ميزة، وسلسلة لكل مجموعة جزئية مرشحة. وفضاء البحث هو كل المجموعات الجزئية.
هذه طريقة مُغلِّفة: الملاءمة هي أداء النموذج الفعلي، فتستطيع إيجاد تركيبات من الميزات لا تنفع إلا مجتمعة — وهو ما لا يستطيع مُرشِّح يُرتّب كل ميزة على حدة أن يراه. وهي تعني أيضًا أن كل تقييم تحقّق متهجين كامل، وهذا يضع حساب الكلفة في الدرس 13.3 في موضع القيادة تمامًا.
أنت على وشك اختيار الحد الأقصى لعشرات آلاف نتائج تحقّق متهجين ضجيجية. وستبدو المجموعة الجزئية الفائزة أفضل مما هي عليه، لأن بعض تفوقها الظاهر هو حظ في تلك الطيّات بالذات. فاحجز مجموعة اختبار لا يلمسها البحث أبدًا وأبلِغ عن الرقم النهائي عليها — وهو الانتظام نفسه الذي يُصرّ عليه الدرسان 1.4 و10.2، وهو أهم هنا لأن البحث يُقيّم نتيجة التحقق مرات كثيرة جدًّا.
وبدائل أرخص عليك استبعادها أولًا: تنظيم L1 يدفع المعاملات إلى الصفر تمامًا كأثر جانبي لملاءمة نموذج واحد (الدرس 2.3)؛ وأهمية الميزات المبنية على الأشجار وأهمية التبديل تأتيان شبه مجانًا من نموذج دربته أصلًا (الدرس 3.2)؛ والاختيار الطمّاع الأمامي أو الخلفي يكلّف من رتبة d تربيع تقييمًا لا بحثًا كاملًا بمجتمع. وتستحق الخوارزمية الجينية الكلفة الإضافية حين تتفاعل الميزات بقوة تكفي لأن يتعثّر المسار الطمّاع.
التطور العصبي
التطور العصبي يعني تطوير الشبكات العصبية، وهو ينقسم إلى مهمتين مختلفتين تمامًا.
تطوير الأوزان
رمّز الأوزان كمتجه حقيقي القيم وانتقِ على الأداء. وبحكم حجة التدرج أعلاه، هذا هو الخيار الخاطئ حين توجد دالة خسارة قابلة للاشتقاق — أي في معظم التعلّم الموجَّه. ويصبح معقولًا بالضبط حين لا توجد واحدة: حين تكون التغذية الراجعة الوحيدة هي نتيجة محاكاة أو لعبة، أو حين تصل المكافأة بعد الأفعال التي استحقتها بوقت طويل، أو حين يمرّ مُخرَج الشبكة بشيء غير قابل للاشتقاق قبل ظهور النتيجة. ولاحظ أن الوحدة 14 تهاجم الصنف نفسه من المسائل بالتعلّم المعزَّز، وهو يبني تقديرًا للتدرج من المكافأة، فالتطور خيار هناك لا الخيار الوحيد.
تطوير المعمارية
الطوبولوجيا منفصلة: كم طبقة، وبأي عرض، وأي الوصلات موجودة. ولا يتوفر تدرج بالنسبة إلى تلك الخيارات، فالبحث هو المقاربة الصادقة والتطور يلائمها طبعًا. وNEAT — من Stanley وMiikkulainen (2002)، Evolving Neural Networks through Augmenting Topologies — يُطوّر أوزان الوصلات والطوبولوجيا معًا، وأفكاره الثلاث المعروفة يحل كل منها مسألة محددة تظهر بمجرد أن تصبح البنية قابلة للتغيير:
- ابدأ بالحد الأدنى ثم عقّد. ابدأ بأبسط الشبكات وأضف العُقد والوصلات على مدى التشغيل، فلا يبدأ البحث في فضاء أكبر من اللازم.
- العلامات التاريخية. يحصل كل عنصر بنيوي جديد على معرّف عند ظهوره أول مرة، وهذا يتيح للتهجين أن يصطفّ على الجينات التي ورثتها شبكتان من سلف مشترك بدلًا من مزاوجة أجزاء غير مترابطة.
- التنويع النوعي. يتنافس الأفراد أساسًا داخل نوعهم، فتُحمى بنية أُضيفت حديثًا مدةً تكفي لتحسين أوزانها. فبدون ذلك يكون الابتكار الجديد أسوأ عند وصوله عادةً ويُستبعَد بالانتقاء قبل أن يتاح إنجاحه.
الانحدار الرمزي والبرمجة الجينية
في البرمجة الجينية يكون الفرد برنامجًا لا متجهًا. ويُمثّل Koza (1992) في Genetic Programming: On the Programming of Computers by Means of Natural Selection البرامج كأشجار تعبير على مجموعة مختارة من الدوال والأطراف؛ ويبادل التهجين الأشجار الفرعية بين أبوين، وتستبدل الطفرة شجرة فرعية بأخرى جديدة. ولأن المُشغِّلات تعمل على الأشجار، يبقى المرشح برنامجًا صالحًا — وهي فكرة الحفاظ على الجدوى من الدرس 13.3، مطبَّقة على الشيفرة.
وعند تطبيق ذلك على ملاءمة البيانات يصبح الانحدار الرمزي: بحث في التعبيرات عن تعبير يلائم ويمكن قراءته في الوقت نفسه. والمُخرَج ليس مجموعة أوزان بل شيء أشبه بصيغة تستطيع وضعها في تقرير والتفكير فيها، وهو مُخرَج مختلف عن كل نموذج آخر في هذه الدورة. وهنا بالضبط تكون مجزية — حين تريد العلاقة، لا التنبؤ فقط.
متى لا تلجأ إلى خوارزمية جينية
- الهدف قابل للاشتقاق. استخدم التدرج. وهذا يغطي معظم هذه الدورة.
- المسألة محدَّبة أو خطية أو برنامج أعداد صحيحة قياسي. يُرجع حلّال مخصص إجابةً مع حدٍّ على بُعدها عن الأمثل. أما الخوارزمية الجينية فتُرجع حلًّا جيدًا وبلا أي حدّ.
- للمسألة بنية توافقية معروفة. أقصر المسارات، والمزاوجات، ومسائل الجدولة التي لها خوارزمية دقيقة — فطريقة دقيقة تستغل البنية تتفوق على بحث عام يتجاهلها.
- فضاء البحث صغير. بضعة آلاف مرشح؟ عُدّها كلها. فتحصل على الأمثل الحقيقي وعلى شيفرة أبسط.
- الملاءمة ضجيجية جدًّا. يحتاج الانتقاء أن يستطيع التمييز بين مرشحين. وإن تجاوز الضجيج الفروق، انزلق المجتمع وبدا التشغيل ناجحًا وهو ليس كذلك.
- لا تستطيع كتابة دالة ملاءمة تثق بها. فالمشكلة إذن هي الدرس 13.3 لا الخوارزمية، ولن يُنجيها أي قدر من الضبط.
- ميزانية التقييمات ضئيلة. حفنة من التقييمات المكلفة تناسب طريقة تُنمذج الهدف؛ أما مجتمع من 100 فرد فلم يكتمل مولده بعد.
قائمة قرار
- هل أستطيع اشتقاق الهدف؟ إن كان الجواب نعم، فتوقف هنا واستخدم التدرج.
- هل تطابق المسألة صنفًا محلولًا؟ محدَّبة، خطية، برنامج أعداد صحيحة، مسألة بيانية — استخدم الطريقة المخصصة واحصل على ضمانة.
- هل الفضاء صغير بما يكفي للتعداد، أو للحسم ببحث عشوائي؟ جرّب الرخيص أولًا، وأبقِه الخط الأساسي الذي يجب أن يتفوق عليه البحث.
- كم يكلّف التقييم الواحد، وكم تقييمًا أستطيع تحمّله؟ القليل جدًّا والمكلف جدًّا يرجّح طريقة نموذج بديل؛ والكثير الرخيص المتوازي يرجّح مجتمعًا.
- هل تمثيلي غير مريح — طول متغير، شرطي، تباديل، أشجار؟ هنا يكون التطور مرتاحًا فعلًا وتحتاج الطرائق الأخرى إلى سقالات إضافية.
- هل أثق بدالة الملاءمة؟ أعِد قراءة الدرس 13.3 قبل صرف الميزانية.
- هل ثبّتت الخط الأساسي الصادق؟ بحث عشوائي بميزانية التقييمات نفسها. أبلِغ عن الاثنين، وإلا فالمقارنة لا تعني شيئًا.
لا تفترض الخوارزمية الجينية شيئًا تقريبًا عن المسألة، وتدفع ثمن هذه العمومية بالتقييمات. وإذا كان الهدف قابلًا للاشتقاق فاستخدم التدرج: تمريرة خلفية واحدة تعطي المشتقة الدقيقة لكل معامل، بينما P تقييمًا تعطي P عددًا قياسيًّا. والتطور مقبول للبحث عن المعاملات الفائقة، لكن قارنه بصدق بالبحث الشبكي والعشوائي والبايزي (الدرس 10.2) — فالتحسين البايزي يستخلص أكثر من كل تقييم، والخوارزمية الجينية توازي بشكل أطبع، وفضاءات البحث غير المريحة ترجّح التطور، والبحث العشوائي (Bergstra وBengio، 2012) هو الخط الأساسي الذي يجب أن تتفوق عليه كلها. واختيار الميزات كبحث في المجموعات الجزئية يعمل، ويُفرط في ملاءمة نتيجة التحقق إن تركته. وتطوير المعمارية أوجه من تطوير الأوزان، وNEAT (Stanley وMiikkulainen، 2002) يوضح السبب: بدايات دنيا، وعلامات تاريخية، وتنويع نوعي. والبرمجة الجينية (Koza، 1992) هي الحالة التي يكون المُخرَج فيها تعبيرًا قابلًا للقراءة، مع التضخّم كخطر دائم. وحين تلائم طريقة أرخص المسألة، فاستخدمها.