التطوّر كاستراتيجية بحث
كل طريقة لحد دلوقتي سألت الـ objective function أنهي اتجاه بينزّل. الطريقة دي عمرها ما بتسأل. بتحتفظ بـ population من الـ candidates وبتحسّنها بالمقارنة بس. دي الـ genetic algorithm (الخوارزمية الجينية).
لما ميبقاش فيه gradient
الـ gradient descent والـ backpropagation محتاجين objective ناعم. وأربع حالات منتشرة مبتدّيهوش.
- اختيارات منفصلة — تحط الـ feature رقم 7 ولا لأ
- بنية combinatorial — ترتيب زيارة 20 موقع
- مبنية على المحاكاة — درجة بتتنفّذ مش بتتحل
- black box — ملف تنفيذي من مورّد، أو hardware
المفروض يشوف أنهي features؟
تمن features مرشّحة يعني 256 subset — جرّبهم كلهم. أربعين مرشّح يعني 2⁴⁰ subset. وبـ run تدريب في الثانية، دي حوالي أربعة وتلاتين ألف سنة.
قيّم، وبعدين قارن
مفيش حاجة هنا بتفترض إن الفضاء متصل، ولا إن الـ objective ليه مشتقة، ولا حتى إنه مكتوب صراحةً. والعملية الوحيدة المفروضة هي إنك تقيّمه عند نقطة إنت بتختارها.
نقطة واحدة، ولا كتير
الـ gradient descent بيحرّك نقطة واحدة باستخدام ميل. أما الـ population فعمرها ما بتسأل أنهي اتجاه أحسن — لكن أنهي candidate أحسن.
الـ population مش قوة ببلاش
خطوة الـ gradient بتكلّف forward pass وbackward pass. أما الجيل فبيكلّف تقييم كامل لكل فرد — ولو التقييم معناه تدريب model، فدي run تدريب لكل فرد.
أربع مكوّنات
جون هولاند حط المخطط في Adaptation in Natural and Artificial Systems (1975)؛ وكتاب جولدبرج سنة 1989 نقله للهندسة.
- الـ representation — الـ candidate الواحد بيتكتب إزاي
- الـ fitness — الرقم الواحد اللي بيقيّمه
- الـ selection — مين يبقى parent
- الـ variation — الـ crossover (التهجين) والـ mutation
ضغطين متعاكسين
الـ selection هو الخطوة الوحيدة اللي بتقرا الـ fitness function، وهو بيشيل التنوّع. والـ variation بيعمله. وسلوك الطريقة كلها هو التوازن بينهم.
المقياس، مش الترتيب بس
درجتين 10 و9 بيدّوا الكسبان 0.53 من مقاعد الأبوّة. زوّد 990 على كل واحد — ومين الأحسن مبيتغيّرش — فنصيبه بيقع لـ 0.5003.
ضغط أكتر من اللازم
- أحسن فرد بياخد أغلب مقاعد الأبوّة
- نسخه بتملا الـ population في كام جيل
- crossover بين parentين متطابقين بيرجّع نفس الـ parent
- ومبيفضلش غير الـ mutation: random walk بطيء
- وبيبان إنه convergence مش تعلّق
الـ genetic algorithm مكانها فين
- الـ random search — من غير memory، بس baseline حقيقي
- الـ grid search — منهجي، وبيتضاعف مع كل بُعد
- الـ hill climbing — نقطة واحدة، وأول local optimum بيكسب
- الـ simulated annealing — نقطة واحدة بتقبل الأوحش ساعات
- الـ genetic algorithm — population، زائد الـ recombination
استراتيجية، مش model
الـ genetic algorithm مبتطلّعش model. هي بتختار — الـ features والـ hyperparameters والـ architecture — والـ fitness function هي اللي بتدرّب. ولو الـ objective قابل للتفاضل فاستخدم المشتقة.