لقد تحدثنا في المحاضرة الماضية حول
كيفية إنشاء برنامج لعب لعبة، ولقد
تحدثنا عن أساسيات بحث الشجرة،
سنتحدث اليوم عن برنامج
ألفا GO وعن مشتقاته.
ألفا GO الرئيسي وألفا GO صفر، اللذان كانا قادران على
أن يصبحا بطلي العالم للعبة GO .
إن كنا نتذكر من المرة الماضية،
لقد كان هناك صعوبات رئيسية
بإنشاء برنامج GO . إذاً أحداهما
قد كانت أنّه في الشطرنج قد تمكّنا من إنشاء هذه الدالة
ذات القيمة باليد، ودلّنا ذلك على استخدام
ذكاء الإنسان، ودلّنا ذلك على كيف كان
كل موضع لوح جيداً، بينما في GO ،
فلقد وجدنا أنّه من الصعب جداً
فعل هذا، ولقد شقّ البشر طريقهم بجهد
ليكتبوا برامج، كانوا قادرين على ترميز
المعرفة البشرية هذه، ممايعنيه
أن تكون جيداً في لعب GO .
لقد كانت المشكلة الثانية، أنّه في الشطرنج
هناك حوالي 20 حركة يمكنك القيام بها
في أي وقت معطى. بينما في GO هناك
حوالي 300 حركة إلى حدًّ ما، والتي
يمكنك القيام بها في أي وقت معطى.
ولذلك، التفكير بثلاث حركات متقدمة،
لكل لاعب، عند بداية لعبة GO ، بشكلٍ خاص،
هو 58 تريليون موضع
والذي هو كثيرٌ جداً ليجب عليك لعبه.
وإذاً، ماذا سنفعله الآن هو التحدث
عن كيف يمكننا أن نستوعب
هذه المشاكل. إذاً، أولاً يجب أن ندرك أنّ
هناك مسبارين رئيسيين يحدثان هنا
للتعلم المراقب. إذاً، لقد تحدثنا سابقاً
عن ذلك، يمكننا أن نأخذ كل موضع لوح
للعبة GO وتمثيله كقائمة
من الأعداد حيث كل موضع إمّا
أسود فارغ أو أبيض. وإذاً مشكلة
التعلم الأولى هي: هل يمكننا أن نأخذ
موضع اللوح هذا؟ وهل يمكننا أن نقرنها
بقيمة؟ إذاً ، يعادل الموضع العالي هذا هنا
نقطتين للأسود. إذاً، إنّه جيد.
بينما الموضع بالأسفل سيء للأسود.
إذاً إنّها نقطة واحدة سالبة.
وإذاً، مايمكننا فعله الآن هو: بدلاً
من تضمين دالة ذات قيمة تمّ ترميزها من قبل الإنسان
لـ Donis هذا، والتي تعادل 6 نقاط لوحدها،
وتلك الحجارة التي لم تعمل إطلاقاً،
بدلاً من ذلك، سوف نعلمه استخدام
خوارزمية التعلم الآلي.
الحقيقة الثانية هي أنّنا نحتاج أن نكتشف أيضاً
أي حركات نحتاجها لنبحث عنها،
لأنّه وكما قلنا، البحث عن كل
حركة محتملة هو كثيرٌ جداً.
إذاً، الشيء الثاني هو إنّه صحيحٌ أيضاً
عندما يكون لدينا حالة اللوح هذه.
إذاً، قائمة الأعداد هذه التي نريد أن نتعلمها أيضاً.
ماهي الحركات المحتملة التي
سألعبها. وبالتالي، أي خمسة مواضع يجب
أن أفكر بهم لكي أشذّب هذه الشجرة.
إذاً، إنها ليست متفرعة كثيراً بشكلٍ جنوني.
إذاً، مجدداً، هناك مشكلتي تعلم
آلي رئيستين هاتين.
المشكلة الأولى: هي أخذ موضع اللوح وقرنه
بقيمة، والمشكلة الثانية: هي أخذ
موضع لوح وقرنه لما نعتقد أنّها
يجب أن تكون. إذاً، لقد كانت الطريقة التي
عملت بها ألفا GO ، أنّها حولت هذا إلى
مشكلة التعلم الآلي هذا، من خلال
تحميل قائمة من كل الألعاب
المحترفة المماثلة التي لُعِبَت في الثلاثين
سنة الماضية، ومجموعة كاملة من الألعاب
التي لُعِبَت بين هواة و ذوي مستوى عالي جداً،
ومن ثمّ قد جعلوها مشكلة تعلم
مراقب حرفياً. إذاً، تعلم أي مواضع لوح
قُصِدَ بها أنّ اللاعبين كانوا
من المرجّح أن يفوزوا، وفي موضع اللوح هذا،
أي حركات كان من المرجّح أن يلعبها
اللاعب البشري؟ إذاً إنّهم مثل الآلة التي تعلمت
هذين الشيئين، الشيء الثاني الذي
قاموا به هو أنّهم زادوا الدالة ذات القيمة
هذه بشيءٍ ما يدعى
بحث شجرة مونتي كارلو.
إذاً إن كنت تتذكر فكرة بحث الشجرة من سابقاً
فهي هذه الفكرة من التفكير بعدة
حركات متقدمة، لكن ما سنفعله الآن
هو أنّه عند نقطة ما، في أسفل الشجرة،
سوف نحاكي مجموعة
من الألعاب العشوائية، ولكي
نتخيل ماهي احتمالية الفوز،
بالنظر إلى موضع اللوح هذا.
إذاً، عندئذٍ، سوف ندمج الدالة ذات القيمة
من التعلم الآلي، بالإضافة إلى
هذه الخوارزمية المتخصصة "بحث شجرة مونتي كارلو"
ليعطونا احتمال قوي كلّي
للفوز، وعندئذٍ يمكن أن نفكر به كدعم.
الآن، الشيء الثاني الذي سنفعله هو
أنّنا سنجعل الحاسوب يلعب
ضد نفسه، عد مرات
وتُعرَف هذه العملية
بالتعلم التعزيزي. إذاً نجعل
الحاسوب يلعب مليون لعبة ضد
نفسه، ونجعله يقوم بتحديث حول كيفية
تفكيره، مثلاً:هذه على الأرجح ستكون
حركات جيدة أو هذه على الأغلب ستكون
مواضع فائزة، وإذاً، من خلال
اللعب مع نفسه كثيراً، يبدأ من
معرفة بشرية، لكن ثمّ يحدّث لعب
نفسه لينتهي بشيءٍ ما
مولّد من المعرفة البشرية
ومعرفة الحاسوب، وفي الواقع
لقد كان هذا الإجراء كافياً ليهزم ألفا
ليكون على الأقل ثمانية جميعهم في الأربعة
لمباراة واحدة، التي لُعِبَت في 2016 الآن.
هناك نوعين من الانتقادات الرئيسية
لبرنامج ألفا غو الأصلي، أحدهما كان
أنّه احتاج قاعدة البيانات البشرية هذه
من المعرفة، لذلك لقد أخذ لاعبين GO
المحترفين هؤلاء، وتعلم منهم.
وإذاً، لقد كان الكثير من الناس يسألون
هل ذلك يعني أنّ هذه التقنيات تعمل فقط
عندما يكون لدينا نظام خبير متوفر.
أعني أنّه لا يوجد الكثير من المجالات
التي نهتم بها، حيث كرّس البشر
حياتهم لإجابة هذا
السؤال المحدّد الذي تسألونه.
الشيء الثاني الذي لم أتحدّث عنه،
لكنه كان اهتمامي الرئيسي
في خوارزمية ألفا GO الأصلية، وهو أنّهم
قد كان لديهم أيضاً هذه الميزات التي تمّ ترميزها باليد،
والتي هي خاصة جداً للعبة GO ،
ولكنها تجعل إجراء شجرة البحث
صعباً ليحدث بشكلٍ صحيح.
إذاً، خسارة معرفة مجال محدد والتي كانت
ميزات معالجة بالتحديد، والتي هي
صعبة بالنسبة لـ GO . وإذاً لقد كان قلقي...
حسناً، هناك المشاكل هذه نفسها
الموجودة في حالات العالم الحقيقي، لكن
في الكثير من حالات العالم الحقيقي،
لا نعلم كيف نأتي ونرمز
معرفة مجال محدد باليد. إذاً في 2017
لقد أطلق العقل العميق ألفا GO صفر، الذي
تناول كلا الانتقادين،
إذاً، بدلاً من البدء من قاعدة البيانات البشرية
هذه، لتشغيل أشياء التعلم الآلي هؤلاء،
قد قاموا فقط بإجراء التعزيز الكاذب.
إذاً، لقد بدأ ببرنامج
لعب GO الفظيع جداً هذا،
وجعله يلعب ضد نفسه مراتٍ
كثيرة، وبواسطة القيام
بالتعلم التعزيزي فقط، بطريقة
ذكية جداً، لقد كان ذلك جديداً، لقد كانوا قادرين
على إنشاء هذا البرنامج، وبرامج
ألفا GO صفر هذه، مما يعني صفر
معرفة، لقد كان قادراً على هزيمة
برنامج ألفا GO الأصلي، بمعدل 100/1
في مبارة اللعبة، ولقد هزم
النسخة الثانية ألفا GO الرئيسية بمعدل
89/11. إذاً لنلخص قسم GO هذا كاملاً،
لدينا GO كحالة اختبار للتعلم الآلي،
ويعجبنا لأنّ لديه
هذه المجموعة المحدودة من الحركات
ونعلم ما يعني أن تفوز، ومع ذلك
فإنّ الحواسيب سيئة جداً بفعل ذلك لوقتٍ طويل،
ونعتقد كأنّ لديه
هذه الخصائص التي نحتاجها لكي
ننشأ أنظمة telogen هذه،
والتي لا تبحث عن أي شيء محتمل
يمكنك فعله، لكن بالتركيز على عدة
أشياء والتي تبدو واعدة، وعندئذٍ
حتى لو لم تكن قادراً على أن تفسّر كل شيء
سوف يحدث، إنّ امتلاك بعض المعنى
لأي أنواع من الميزات جيدة بالنسبة لك
وأي أنواع من الميزات سيئة بالنسبة لك
ولقد رأينا أنّنا انتقلنا من الخسارة إلى أفضل البشر
في 2015، بالرغم من أنّك تستطيع أن
تقوم بـ 5 حركات في بداية
اللعبة، إلى أن تصبح فجأةً أفضل بكثير
من أفضل البشر عبر فترة
عدة شهور، وقد تمّ فعل كل هذا
بواسطة الاستخدام الذكي لتحويل
هذه المشكلة إلى مشكلة تعلم
آلي، ومن ثمّ أخذ مشكلة التعلم الآلي تلك
وتشغيل خوارزمية
التعلم التعزيزي هذه،
ولقد كانوا أخيراً قادرين على إنشاء
ألفا GO صفر هذا، الذي
يستخدم أي معرفة بشرية على الإطلاق.