شرح ببساطة: كيف أتقن برنامج الذكاء الاصطناعي لعبة Go القديمة

هذا عن AlphaGo ، Google DeepMind's Go الذي يلعب دور الذكاء الاصطناعي الذي هز عالم التكنولوجيا في عام 2016 بفوزه على أحد أفضل اللاعبين في العالم ، Lee Sedol.

Go هي لعبة لوحة قديمة تحتوي على العديد من التحركات الممكنة في كل خطوة بحيث يصعب التنبؤ بالمواقع المستقبلية - وبالتالي فهي تتطلب حدسًا قويًا وتفكيرًا مجردًا للعب. لهذا السبب ، كان يُعتقد أن البشر فقط هم من يمكنهم لعب Go. اعتقد معظم الباحثين أن بناء ذكاء اصطناعي يمكن أن يفكر بهذه الطريقة سيستغرق عقودًا. في الواقع ، سأصدر هذا المقال اليوم لأن هذا الأسبوع (8-15 مارس) يصادف الذكرى السنوية الثانية لمباراة AlphaGo و Sedol!

لكن AlphaGo لم يتوقف عند هذا الحد. بعد 8 أشهر ، لعبت 60 مباراة احترافية على موقع Go متخفيًا كلاعب اسمه "Master" ، وفازت بكل مباراة ضد العشرات من أبطال العالم ، بالطبع دون راحة بين المباريات.

كان هذا بطبيعة الحال إنجازًا هائلاً في مجال الذكاء الاصطناعي وأثار مناقشات عالمية حول ما إذا كان يجب أن نكون متحمسين أو قلقين بشأن الذكاء الاصطناعي.

اليوم سنأخذ الورقة البحثية الأصلية التي نشرتها DeepMind في مجلة Nature ، ونقسمها فقرة فقرة باستخدام اللغة الإنجليزية البسيطة.

بعد هذا المقال ، ستعرف بوضوح شديد ما هو AlphaGo وكيف يعمل. آمل أيضًا أنه بعد قراءة هذا ، لن تصدق كل عناوين الأخبار التي نشرها الصحفيون لإخافتك بشأن الذكاء الاصطناعي ، وبدلاً من ذلك تشعر بالحماس حيال ذلك.

القلق بشأن الإنجازات المتزايدة للذكاء الاصطناعي يشبه القلق بشأن القدرات المتزايدة لبرنامج Microsoft Powerpoint. نعم ، ستتحسن بمرور الوقت مع إضافة ميزات جديدة إليها ، ولكن لا يمكن أن تنمو بشكل لا يمكن السيطرة عليه لتصبح نوعًا من وحوش هوليوود.

لست بحاجة إلى معرفة كيفية اللعب. اذهب لفهم هذه الورقة. في الواقع ، لقد قرأت بنفسي أول 3-4 سطور فقط في الفقرة الافتتاحية من ويكيبيديا حول هذا الموضوع. بدلاً من ذلك ، وبشكل مفاجئ ، أستخدم بعض الأمثلة من الشطرنج الأساسي لشرح الخوارزميات. عليك فقط أن تعرف ما هي لعبة اللوحة ثنائية اللاعبين ، حيث يتناوب كل لاعب ويكون هناك فائز واحد في النهاية. أبعد من ذلك لا تحتاج إلى معرفة أي فيزياء أو الرياضيات المتقدمة أو أي شيء.

سيجعل هذا الأمر أكثر سهولة للأشخاص الذين بدأوا للتو في التعرف على التعلم الآلي أو الشبكات العصبية. وخاصة بالنسبة لأولئك الذين لا يستخدمون اللغة الإنجليزية كلغة أولى (مما قد يجعل من الصعب جدًا قراءة مثل هذه الأوراق).

إذا لم تكن لديك معرفة مسبقة بالذكاء الاصطناعي والشبكات العصبية ، يمكنك قراءة قسم "التعلم العميق" في إحدى مقالاتي السابقة هنا . بعد قراءة ذلك ، ستتمكن من قراءة هذا المقال.

إذا كنت ترغب في الحصول على فهم ضحل لتعلم التعزيز أيضًا (قراءة اختيارية) ، يمكنك العثور عليه هنا .

ها هي الورقة الأصلية إذا أردت أن تجرب قراءتها:

بالنسبة لي: مرحبًا أنا أمان ، مهندس ذكاء اصطناعي وروبوتات مستقلة. آمل أن يوفر لك عملي الكثير من الوقت والجهد إذا كنت ستدرس هذا بنفسك.

هل تتحدث اليابانية؟ كتب Ryohji Ikebe مذكرة موجزة حول هذا المقال باللغة اليابانية ، في سلسلة من التغريدات.

هيا بنا نبدأ!

نبذة مختصرة

كما تعلم ، كان الهدف من هذا البحث هو تدريب برنامج ذكاء اصطناعي للعب Go على مستوى لاعبين بشريين محترفين من الطراز العالمي.

لفهم هذا التحدي ، اسمحوا لي أولاً أن أتحدث عن شيء مماثل تم القيام به للشطرنج. في أوائل التسعينيات ، خرجت شركة IBM بحاسوب Deep Blue الذي هزم البطل العظيم غاري كاسباروف في لعبة الشطرنج. (إنه أيضًا رجل رائع جدًا ، تأكد من قراءة المزيد عنه لاحقًا!) كيف لعب ديب بلو؟

حسنًا ، لقد استخدمت أسلوب القوة الغاشمة جدًا. في كل خطوة من خطوات اللعبة ، ألقى نظرة على جميع الحركات القانونية الممكنة التي يمكن لعبها ، ومض قدمًا لاستكشاف كل خطوة لمعرفة ما سيحدث. وسيستمر في استكشاف حركة بعد حركة لفترة من الوقت ، مكونًا نوعًا من شجرة قرار ضخمة من آلاف الحركات. وبعد ذلك سيعود على طول تلك الشجرة ، وملاحظة الحركات التي يبدو أنها ستحقق نتيجة جيدة. ولكن ، ماذا نعني ب "نتيجة جيدة"؟ حسنًا ، كان لدى ديب بلو العديد من استراتيجيات الشطرنج المصممة بعناية والتي تم تضمينها فيه من قبل لاعبي الشطرنج الخبراء لمساعدته على اتخاذ قرارات أفضل - على سبيل المثال ، كيف تقرر ما إذا كنت تريد حماية الملك أو الحصول على ميزة في مكان آخر؟ لقد وضعوا "خوارزمية تقييم" محددة لهذا الغرض ،لمقارنة كيف تكون المناصب المختلفة مفيدة أو غير ملائمة (استراتيجيات الشطرنج الخبيرة المشفرة من شركة IBM في وظيفة التقييم هذه). وأخيرًا يختار حركة محسوبة بعناية. في المنعطف التالي ، يمر بشكل أساسي بكل شيء مرة أخرى.

كما ترى ، هذا يعني أن ديب بلو فكر في ملايين المواقف النظرية قبل لعب كل حركة. لم يكن هذا مثيرًا للإعجاب من حيث برنامج الذكاء الاصطناعي الخاص بـ Deep Blue ، ولكن بالأحرى في الأجهزة - ادعت شركة IBM أنها واحدة من أقوى أجهزة الكمبيوتر المتاحة في السوق في ذلك الوقت. يمكن أن ينظر إلى 200 مليون موقع لوحة في الثانية.

الآن نأتي إلى الذهاب. صدقني فقط أن هذه اللعبة مفتوحة بشكل أكبر ، وإذا جربت استراتيجية Deep Blue على Go ، فلن تتمكن من اللعب بشكل جيد. سيكون هناك الكثير من المواقف للنظر في كل خطوة بحيث يكون من غير العملي للكمبيوتر أن يمر عبر هذا الجحيم. على سبيل المثال ، عند الحركة الافتتاحية في الشطرنج ، هناك 20 حركة محتملة. في Go ، يمتلك اللاعب الأول 361 حركة ممكنة ، ويظل نطاق الخيارات هذا واسعًا طوال اللعبة.

هذا ما يقصدونه بعبارة "مساحة بحث هائلة". علاوة على ذلك ، في Go ، ليس من السهل الحكم على مدى فائدة أو عدم ملاءمة موقع لوحة معين في أي نقطة محددة من اللعبة - عليك أن تلعب اللعبة بأكملها لفترة قبل أن تتمكن من تحديد الفائز. لكن دعنا نقول أن لديك طريقة سحرية للقيام بالأمرين معًا. وهنا يأتي دور التعلم العميق!

لذلك في هذا البحث ، استخدم DeepMind الشبكات العصبية للقيام بكلتا هاتين المهمتين (إذا لم تكن قد قرأت عن الشبكات العصبية بعد ، فإليك الرابط مرة أخرى). قاموا بتدريب "شبكة عصبية سياسية" لتحديد الحركات الأكثر منطقية في موضع لوحة معين (لذلك يشبه اتباع استراتيجية بديهية لاختيار التحركات من أي موضع). وقاموا بتدريب "شبكة عصبية قيمة" لتقدير مدى فائدة ترتيب لوحة معينة للاعب (أو بعبارة أخرى ، مدى احتمالية فوزك باللعبة من هذا المركز). لقد دربوا هذه الشبكات العصبية أولاً بأمثلة ألعاب بشرية (تعلمك القديم الجيد الخاضع للإشراف). بعد ذلك ، أصبح الذكاء الاصطناعي قادرًا على محاكاة لعب الإنسان إلى حد ما ، لذا فقد تصرف كلاعب بشري ضعيف. ثم لتدريب الشبكات بشكل أكبر ،لقد جعلوا الذكاء الاصطناعي يلعب ضد نفسه ملايين المرات (هذا هو جزء "التعلم المعزز"). مع هذا ، أصبح الذكاء الاصطناعي أفضل لأنه كان لديه مزيد من الممارسة.

مع هاتين الشبكتين وحدهما ، كان الذكاء الاصطناعي الخاص بـ DeepMind قادرًا على اللعب بشكل جيد ضد أحدث برامج اللعب Go التي أنشأها باحثون آخرون من قبل. كانت هذه البرامج الأخرى قد استخدمت خوارزمية لعب لعبة موجودة مسبقًا معروفة بالفعل ، تسمى "Monte Carlo Tree Search" (MCTS). المزيد عن هذا لاحقًا.

لكن خمن ماذا ، ما زلنا لم نتحدث عن الصفقة الحقيقية. الذكاء الاصطناعي في DeepMind لا يتعلق فقط بالسياسة وشبكات القيمة. لا تستخدم هاتين الشبكتين كبديل لبرنامج Monte Carlo Tree Search. بدلاً من ذلك ، تستخدم الشبكات العصبية لجعل خوارزمية MCTS تعمل بشكل أفضل ... وتحسنت كثيرًا لدرجة أنها وصلت إلى مستويات فوق طاقة البشر. هذا الاختلاف المحسّن من MCTS هو "AlphaGo" ، الذكاء الاصطناعي الذي تغلب على Lee Sedol وسجّل في تاريخ الذكاء الاصطناعي كأحد أعظم الاختراقات على الإطلاق. إذن ، AlphaGo هو ببساطة تطبيق محسّن لخوارزمية علوم الكمبيوتر العادية جدًا. هل تفهم الآن لماذا لا تخاف من الذكاء الاصطناعي بشكله الحالي على الإطلاق ؟

واو ، لقد أمضينا الكثير من الوقت على الملخص وحده.

حسنًا - لفهم الورقة من هذه النقطة فصاعدًا ، سنتحدث أولاً عن إستراتيجية ألعاب تسمى خوارزمية Monte Carlo Tree Search. في الوقت الحالي ، سأشرح فقط هذه الخوارزمية بعمق كافٍ لفهم هذا المقال. ولكن إذا كنت ترغب في التعرف عليها بعمق ، فقد قام بعض الأشخاص الأذكياء أيضًا بإنشاء مقاطع فيديو ممتازة ومنشورات مدونة حول هذا:

1. سلسلة فيديو قصيرة من Udacity

2. شرح جيف برادبري لـ MCTS

3. برنامج تعليمي MCTS بواسطة أكاديمية Fullstack

القسم التالي طويل ، ولكن يسهل فهمه (سأبذل قصارى جهدي) وهو مهم جدًا ، لذا ابق معي! ستذهب بقية المقالة بشكل أسرع.

دعنا نتحدث عن الفقرة الأولى من المقال أعلاه. هل تتذكر ما قلته عن ديب بلو الذي يصنع شجرة ضخمة من الملايين من المواضع والحركات على اللوحة في كل خطوة من اللعبة؟ كان عليك إجراء عمليات محاكاة وإلقاء نظرة على كل خطوة ممكنة ومقارنتها. كما قلت من قبل ، كان هذا نهجًا بسيطًا ومباشرًا للغاية - إذا كان على مهندس البرمجيات العادي تصميم لعبة تلعب بالذكاء الاصطناعي ، وكان لديه جميع أقوى أجهزة الكمبيوتر في العالم ، فمن المحتمل أن يصمم حلًا مشابهًا.

لكن دعونا نفكر كيف يلعب البشر أنفسهم الشطرنج؟ لنفترض أنك في موضع معين على اللوحة في منتصف اللعبة. وفقًا لقواعد اللعبة ، يمكنك القيام بالعشرات من الأشياء المختلفة - تحريك هذا البيدق هنا ، وتحريك مربعين للملكة هنا أو ثلاثة مربعات هناك ، وما إلى ذلك. لكن هل حقًا تقوم بإعداد قائمة بكل الحركات الممكنة التي يمكنك إجراؤها بكل قطعك ، ثم تحديد خطوة واحدة من هذه القائمة الطويلة؟ لا - تقوم "بشكل حدسي" بتضييق نطاق الحركات الأساسية القليلة (دعنا نقول أنك توصلت إلى 3 حركات معقولة) تعتقد أنها منطقية ، ثم تتساءل عما سيحدث في اللعبة إذا اخترت إحدى هذه الحركات الثلاث. قد تقضي من 15 إلى 20 ثانية في التفكير في كل من هذه الحركات الثلاث ومستقبلها - ولاحظ أنه خلال هذه الثواني الخمس عشرة لن تضطر إلى التخطيط بعناية لمستقبل كل حركة ؛يمكنك فقط "إطلاق" بعض الحركات الذهنية التي يسترشد بها حدسك دون تفكير شديد (حسنًا ، اللاعب الجيد سيفكر أبعد وأعمق من اللاعب العادي). هذا لأن لديك وقتًا محدودًا ،ولا يمكنك التنبؤ بدقة بما سيفعله خصمك في كل خطوة في ذلك المستقبل الجميل الذي تطبخه في عقلك. لذلك عليك فقط أن تدع إحساسك الغريزي يرشدك. سأشير إلى هذا الجزء من عملية التفكير على أنه "طرح" ، لذا لاحظ ذلك!

لذلك بعد "طرح" حركاتك المعقولة القليلة ، أخيرًا تقول إنها تفسدها ولعب الحركة التي تجدها أفضل.

ثم يقوم الخصم بحركة. قد تكون هذه خطوة كنت تتوقعها جيدًا بالفعل ، مما يعني أنك الآن واثق تمامًا مما عليك القيام به بعد ذلك. ليس عليك قضاء الكثير من الوقت في الطرح مرة أخرى. أو ، قد يكون خصمك يضربك بحركة رائعة جدًا لم تكن تتوقعها ، لذلك عليك أن تكون أكثر حذراً في حركتك التالية.

هذه هي الطريقة التي تستمر بها اللعبة ، وكلما اقتربت أكثر فأكثر من نقطة النهاية ، سيكون من الأسهل عليك توقع نتيجة تحركاتك - حتى لا تستغرق عمليات بدء اللعبة الكثير من الوقت.

الغرض من هذه القصة الطويلة هو وصف ما تفعله خوارزمية MCTS على المستوى السطحي - فهي تحاكي عملية التفكير المذكورة أعلاه عن طريق بناء "شجرة بحث" للحركات والمواقف في كل مرة. مرة أخرى ، لمزيد من التفاصيل ، يجب عليك التحقق من الروابط التي ذكرتها سابقًا. الابتكار هنا هو أنه بدلاً من المرور بجميع الحركات الممكنة في كل موضع (وهو ما فعلته Deep Blue) ، فإنها بدلاً من ذلك تختار بذكاء مجموعة صغيرة من الحركات المعقولة وتستكشفها بدلاً من ذلك. لاستكشافها ، "تطرح" مستقبل كل من هذه الحركات وتقارنها بناءً على نتائجها المتخيلة .

(على محمل الجد - هذا كل ما أعتقد أنك بحاجة إلى فهم هذا المقال)

الآن - العودة إلى لقطة الشاشة من الورقة. Go هي "لعبة معلومات مثالية" (يرجى قراءة التعريف الموجود في الرابط ، لا تقلق أنها ليست مخيفة). و نظريا ، لمثل هذه المباريات، بغض النظر عن أي موقف خاص كنت في في اللعبة (حتى إذا كنت قد لعبت فقط 1-2 خطوات)، فمن الممكن أنه يمكنك تخمين صحيح سيفوز أو تفقد (على افتراض أن كلا من اللاعبين اللعب "تمامًا" من تلك النقطة فصاعدًا). ليس لدي أي فكرة عمن توصل إلى هذه النظرية ، لكنها افتراض أساسي في هذا المشروع البحثي وهو يعمل.

وهذا يعني، نظرا لحالة اللعبة الصورة ، هناك وظيفة الخامس * (ق) التي يمكن التنبؤ بالنتيجة، دعنا نقول احتمال منكم الفوز في هذه المباراة، من 0 إلى 1. يسمونه "وظيفة القيمة المثلى" . نظرًا لأن بعض المناصب في المجلس من المرجح أن تؤدي إلى فوزك أكثر من المناصب الأخرى في المجلس ، فيمكن اعتبارها "أكثر قيمة" من غيرها. دعني أقولها مرة أخرى: القيمة = الاحتمال بين 0 و 1 منكم يفوز باللعبة.

لكن انتظر - لنفترض أن هناك فتاة تُدعى فوما تجلس بجوارك أثناء لعبك للشطرنج ، وهي تواصل إخبارك في كل خطوة إذا كنت تفوز أو تخسر. "أنت تفوز ... أنت تخسر ... لا ، ما زلت تخسر ..." أعتقد أنه لن يساعدك كثيرًا في اختيار الخطوة التي تحتاج إلى القيام بها. كما أنها ستكون مزعجة للغاية. ما سيساعدك بدلاً من ذلك هو إذا رسمت الشجرة الكاملة لجميع الحركات الممكنة التي يمكنك القيام بها ، والحالات التي ستؤدي إليها تلك التحركات - وبعد ذلك سيخبرك Foma عن الشجرة بأكملها التي تنص على الحالات الفائزة وأي الدول هي الدول الخاسرة. ثم يمكنك اختيار الحركات التي ستقودك إلى حالات الفوز. فوما فجأة هو شريكك في الجريمة ، وليس صديقًا مزعجًا. هنا ، تتصرف Foma كدالة القيمة المثلى v * (s). سابقا،كان يعتقد أنه من غير الممكن الحصول على وظيفة قيمة دقيقة مثل Foma للعبة Go ، لأن الألعاب بها الكثير من عدم اليقين.

لكن - حتى لو كان لديك Foma الرائع ، فإن استراتيجية أرض العجائب هذه لاستخراج جميع المواقف الممكنة لـ Foma لتقييمها لن تعمل بشكل جيد في العالم الحقيقي. في لعبة مثل Chess or Go ، كما قلنا من قبل ، إذا حاولت تخيل حتى 7-8 حركات في المستقبل ، يمكن أن يكون هناك العديد من المواقف المحتملة التي لا يتوفر لديك الوقت الكافي للتحقق منها جميعًا باستخدام Foma.

لذا فوما لا يكفي. تحتاج إلى تضييق نطاق قائمة الحركات إلى عدد قليل من الحركات المعقولة التي يمكنك طرحها في المستقبل. كيف سيفعل برنامجك ذلك؟ أدخل لوشا. Lusha هو لاعب شطرنج ماهر ومتحمس قضى عقودًا في مشاهدة الأساتذة الكبار يلعبون الشطرنج ضد بعضهم البعض. يمكنها إلقاء نظرة على موضع اللوح الخاص بك ، والنظر بسرعة إلى جميع الحركات المتاحة التي يمكنك القيام بها ، وإخبارك بمدى احتمال قيام خبير الشطرنج بأي من هذه الحركات إذا كان جالسًا على طاولتك. لذلك إذا كان لديك 50 حركة محتملة في نقطة ما ، فسوف يخبرك Lusha باحتمالية اختيار كل خطوة من قبل خبير. بالطبع ، سيكون لبعض الحركات المعقولة احتمالية أكبر بكثير وستكون احتمالات الحركات الأخرى غير المجدية قليلة جدًا. على سبيل المثال: إذا كنت في لعبة الشطرنج ، فلنفترض أن الملكة في خطر في أحد أركان اللعبة ،قد لا يزال لديك خيار تحريك بيدق صغير في زاوية أخرى من اللعبة. إنها ملككوظيفة السياسة ، p (a \ s). بالنسبة لحالات معينة ، يمكنها أن تمنحك الاحتمالات لجميع الحركات المحتملة التي قد يقوم بها الخبير.

رائع - يمكنك الحصول على مساعدة Lusha لإرشادك في كيفية اختيار بعض الحركات المعقولة ، وسيخبرك Foma باحتمالية الفوز من كل من هذه الحركات. يمكنك اختيار الحركة التي يوافق عليها كل من Foma و Lusha. أو ، إذا كنت تريد أن تكون أكثر حرصًا ، فيمكنك طرح الحركات التي حددتها Lusha ، وجعل Foma يقيمها ، واختيار عدد قليل منها للتوسع في المستقبل ، واستمر في السماح لـ Foma و Lusha بمساعدتك في التنبؤ بعيدًا جدًا مستقبل اللعبة - أسرع بكثير وأكثر كفاءة من متابعة جميع الحركات في كل خطوة في المستقبل. هذا ما يقصدونه ب "تقليل مساحة البحث". استخدم دالة القيمة (Foma) للتنبؤ بالنتائج ، واستخدم وظيفة السياسة (Lusha) لتعطيك احتمالات كبيرة للمساعدة في تضييق الحركات التي تقوم بها. وتسمى هذه "عروض مونت كارلو".ثم أثناء التراجع من المستقبل إلى الحاضر ، يمكنك أن تأخذ متوسط ​​القيم لجميع الحركات المختلفة التي قمت بتنفيذها ، واختيار الإجراء الأنسب. حتى الآن ، نجح هذا فقط على مستوى ضعيف من الهواة في Go ، لأن وظائف السياسة ووظائف القيمة التي استخدموها لتوجيه عمليات النشر هذه لم تكن رائعة.

تفو.

السطر الأول هو شرح ذاتي. في MCTS ، يمكنك أن تبدأ بـ Foma غير الماهر ولوشا غير الماهر. كلما لعبت أكثر ، كلما أصبحوا أفضل في توقع النتائج والتحركات القوية. "تضييق نطاق البحث إلى حزمة من الإجراءات ذات الاحتمالية العالية" هي مجرد طريقة معقدة للقول ، "تساعدك Lusha على تضييق نطاق الحركات التي تحتاجها لإصدارها من خلال تعيين الاحتمالات التي قد يلعبها خبير". استخدم العمل السابق هذه التقنية لتحقيق لاعبين أقوياء في الذكاء الاصطناعي على مستوى الهواة ، حتى مع وظائف السياسة البسيطة (أو الضحلة كما يسمونها).

نعم ، الشبكات العصبية التلافيفية رائعة لمعالجة الصور. وبما أن الشبكة العصبية تأخذ مدخلاً معينًا وتعطي مخرجات ، فهي في الأساس وظيفة ، أليس كذلك؟ لذا يمكنك استخدام الشبكة العصبية لتصبح وظيفة معقدة. لذا يمكنك فقط تمرير صورة لموضع اللوحة والسماح للشبكة العصبية بمعرفة ما يحدث بنفسها. هذا يعني أنه من الممكن إنشاء شبكات عصبية تتصرف مثل سياسة دقيقة للغاية ووظائف قيمة. الباقي توضيحي لنفسه.

نناقش هنا كيفية تدريب فوما ولوشا. لتدريب شبكة السياسة (التنبؤ بموقف معين والذي سيختاره الخبراء) ، يمكنك ببساطة استخدام أمثلة من الألعاب البشرية واستخدامها كبيانات للتعلم الخاضع للإشراف القديم.

وتريد تدريب إصدار آخر مختلف قليلاً من شبكة السياسة هذه لاستخدامها في عمليات الطرح ؛ هذا سيكون أصغر وأسرع. دعنا نقول فقط أنه بما أن لوشا تتمتع بخبرة كبيرة ، فإنها تستغرق بعض الوقت لمعالجة كل منصب. من الجيد أن تبدأ عملية التضييق معها ، لكن إذا حاولت جعلها تكرر العملية ، فستستغرق وقتًا طويلاً. لذا تدرب * شبكة سياسة أسرع * على عملية الطرح (سأسميها ... الأخ الأصغر لوشا جيري؟ أعرف أنني أعرف ، بما يكفي مع هذه الأسماء). بعد ذلك ، بمجرد تدريب كل من شبكات السياسة البطيئة والسريعة بما يكفي باستخدام بيانات اللاعب البشري ، يمكنك محاولة السماح لـ Lusha باللعب ضد نفسها على لوحة Go لبضعة أيام ، والحصول على مزيد من التدريب. هذا هو جزء التعلم المعزز - صنع نسخة أفضل من شبكة السياسة.

ثم تقوم بتدريب Foma على التنبؤ بالقيمة: تحديد احتمالية فوزك. يمكنك السماح للذكاء الاصطناعي بالتدرب على اللعب بنفسه مرارًا وتكرارًا في بيئة محاكاة ، ومراقبة النتيجة النهائية في كل مرة ، والتعلم من أخطائها لتصبح أفضل وأفضل.

لن أخوض في تفاصيل كيفية تدريب هذه الشبكات. يمكنك قراءة المزيد من التفاصيل الفنية في القسم التالي من الورقة ("الطرق") التي لم أقم بتغطيتها هنا. في الواقع ، الغرض الحقيقي من هذه الورقة بالذات ليس إظهار كيف استخدموا التعلم المعزز على هذه الشبكات العصبية. إحدى أوراق DeepMind السابقة ، والتي علموا فيها الذكاء الاصطناعي للعب ألعاب ATARI ، ناقشت بالفعل بعض تقنيات التعلم المعزز بعمق (وقد كتبت بالفعل شرحًا لهذه الورقة هنا). بالنسبة لهذه الورقة ، كما ذكرت قليلاً في الملخص وتم التأكيد عليه أيضًا في لقطة الشاشة أعلاه ، كان أكبر ابتكار هو حقيقة أنهم استخدموا RL مع الشبكات العصبيةلتحسين خوارزمية لعب الألعاب الشائعة بالفعل ، MCTS. RL هي أداة رائعة في صندوق أدوات استخدموها لضبط السياسة وقيمة الشبكات العصبية للوظيفة بعد التدريب المنتظم تحت الإشراف. تدور هذه الورقة البحثية حول إثبات مدى تنوع هذه الأداة وامتيازها ، وليس تعليمك كيفية استخدامها. في لغة التلفزيون ، كانت ورقة Atari عبارة عن إعلان RL وورقة AlphaGo هذه إعلان تجاري.

حسنًا ، انتهينا أخيرًا من أجزاء "المقدمة". الآن لديك شعور جيد جدًا بما كان AlphaGo يدور حوله.

بعد ذلك ، سوف نتعمق قليلاً في كل شيء ناقشناه أعلاه. قد ترى بعض المعادلات والتعبيرات الرياضية القبيحة والخطيرة المظهر ، لكنها بسيطة (أشرحها جميعًا). الاسترخاء.

ملاحظة سريعة قبل أن تمضي قدمًا. هل ترغب في مساعدتي في كتابة المزيد من هذه المقالات لشرح الأوراق البحثية الرائعة؟ إذا كنت جادًا ، فسأكون سعيدًا للعمل معك. يرجى ترك تعليق وسأتواصل معك.

لذا ، فإن الخطوة الأولى هي تدريب سياستنا NN (Lusha) ، للتنبؤ بالتحركات التي من المحتمل أن يلعبها خبير. هدف NN هذا هو السماح للذكاء الاصطناعي باللعب بشكل مشابه للإنسان الخبير. هذه شبكة عصبية تلافيفية (كما ذكرت سابقًا ، إنها نوع خاص من NN وهي مفيدة جدًا في معالجة الصور) تأخذ صورة مبسطة لترتيب اللوحة. "اللاخطية المعدلة" هي طبقات يمكن إضافتها إلى بنية الشبكة. يعطونها القدرة على تعلم أشياء أكثر تعقيدًا. إذا سبق لك تدريب NNs من قبل ، فربما تكون قد استخدمت طبقة "ReLU". هذا ما هؤلاء.

كانت بيانات التدريب هنا في شكل أزواج عشوائية من مواضع اللوحة ، وكانت التسميات هي الإجراءات التي اختارها البشر عندما كانوا في تلك المواقف. مجرد تعليم بإشراف منتظم.

هنا يستخدمون "التدرج العشوائي ASCENT". حسنًا ، هذه خوارزمية للنشر العكسي. هنا ، تحاول تعظيم وظيفة المكافأة. ووظيفة المكافأة هي مجرد احتمال الفعل الذي تنبأ به خبير بشري ؛ تريد زيادة هذا الاحتمال. لكن مهلا - لا تحتاج حقًا إلى التفكير كثيرًا في هذا الأمر. عادة تقوم بتدريب الشبكة بحيث تقلل وظيفة الخسارة ، والتي هي في الأساس الخطأ / الاختلاف بين النتيجة المتوقعة والتسمية الفعلية. وهذا ما يسمى النزول المتدرج. في التنفيذ الفعلي لورقة البحث هذه ، استخدموا بالفعل النسب التدرج المنتظم . يمكنك بسهولة العثور على دالة خسارة تتصرف عكس وظيفة المكافأة بحيث يؤدي تقليل هذه الخسارة إلى زيادة المكافأة إلى أقصى حد.

تتكون شبكة السياسة من 13 طبقة ، وتسمى شبكة "سياسة SL" (SL = التعلم تحت الإشراف). جاءت البيانات من ... سأقول فقط إنه موقع ويب مشهور يلعب عليه الملايين من الأشخاص Go. ما مدى جودة أداء شبكة سياسة SL هذه؟

كان أكثر دقة مما فعله باحثون آخرون في وقت سابق. ما تبقى من الفقرة واضح تماما. بالنسبة إلى "سياسة الإطلاق" ، فأنت تتذكر من بضع فقرات مضت ، كيف أن شبكة سياسة Lusha the SL بطيئة بحيث لا يمكن دمجها بشكل جيد مع خوارزمية MCTS؟ وقمنا بتدريب نسخة أخرى أسرع من لوشا تسمى جيري الذي كان شقيقها الأصغر؟ حسنًا ، هذا يشير إلى جيري هنا. كما ترون ، فإن Jerry نصف دقة Lusha لكنها أسرع بآلاف المرات! سيساعد حقًا في الحصول على عمليات محاكاة للمستقبل بشكل أسرع ، عندما نطبق MCTS.

في هذا القسم التالي ، ليس عليك * أن تعرف بالفعل عن التعزيز المعزز ، ولكن بعد ذلك سيتعين عليك افتراض أن كل ما أقوله يعمل. إذا كنت تريد حقًا البحث في التفاصيل والتأكد من كل شيء ، فقد ترغب في قراءة القليل عن RL أولاً.

بمجرد حصولك على شبكة SL ، يتم تدريبها بطريقة خاضعة للإشراف باستخدام حركات اللاعب البشري مع بيانات التحركات البشرية ، كما قلت من قبل ، عليك أن تدعها تمارس بنفسها وتتحسن. هذا ما نفعله هنا. لذا فأنت تأخذ فقط شبكة سياسة SL ، وحفظها في ملف ، وعمل نسخة أخرى منها.

ثم تستخدم التعلم المعزز لضبطه. هنا ، تجعل الشبكة تلعب ضد نفسها وتتعلم من النتائج.

لكن هناك مشكلة في أسلوب التدريب هذا.

إذا كنت تتدرب إلى الأبد فقط ضد خصم واحد ، وهذا الخصم يتدرب معك حصريًا فقط ، فليس هناك الكثير من التعلم الجديد الذي يمكنك القيام به. سوف تتدرب فقط على كيفية التغلب على هذا اللاعب. هذا ، كما خمنت ، هو إفراط في التجهيز: تلعب تقنياتك بشكل جيد ضد خصم واحد ، لكن لا تعمم جيدًا على خصوم آخرين. إذا كيف يمكنك حل هذه المشكلة؟

حسنًا ، في كل مرة تقوم فيها بضبط شبكة عصبية ، تصبح نوعًا مختلفًا قليلاً من المشغلات. لذا يمكنك حفظ هذا الإصدار من الشبكة العصبية في قائمة "اللاعبين" ، الذين يتصرفون جميعًا بشكل مختلف قليلاً ، أليس كذلك؟ عظيم - الآن أثناء تدريب الشبكة العصبية ، يمكنك جعلها تلعب بشكل عشوائي ضد العديد من الإصدارات الأقدم والأحدث من الخصم ، المختارة من تلك القائمة. إنها نسخ من نفس اللاعب ، لكنهم جميعًا يلعبون بشكل مختلف قليلاً. وكلما تدربت ، زاد عدد اللاعبين الذين تتدرب معهم أكثر! بنغو!

في هذا التدريب ، الشيء الوحيد الذي يوجه عملية التدريب هو الهدف النهائي ، أي الفوز أو الخسارة. لا تحتاج إلى تدريب الشبكة بشكل خاص على القيام بأشياء مثل الاستيلاء على مساحة أكبر على السبورة وما إلى ذلك ، ما عليك سوى منحها جميع الحركات القانونية الممكنة التي يمكنها الاختيار من بينها ، وقول ، "عليك الفوز". وهذا هو السبب في أن RL متعددة الاستخدامات ؛ يمكن استخدامه لتدريب السياسة أو قيمة الشبكات لأي لعبة ، وليس فقط Go.

هنا ، اختبروا مدى دقة شبكة سياسة RL هذه ، فقط من تلقاء نفسها دون أي خوارزمية MCTS. كما تتذكر ، يمكن لهذه الشبكة أن تتخذ موقعًا مباشرًا على اللوحة وتقرر كيف سيلعبها الخبير - حتى تتمكن من استخدامها لممارسة الألعاب بمفردك.

حسنًا ، كانت النتيجة أن شبكة RL التي تم ضبطها بدقة انتصرت على شبكة SL التي تم تدريبها فقط على التحركات البشرية. كما فازت ضد برامج Go القوية الأخرى.

يجب أن نلاحظ هنا أنه حتى قبل تدريب شبكة سياسة RL هذه ، كانت شبكة سياسة SL بالفعل أفضل من أحدث التقنيات - والآن ، تحسنت أكثر ! ولم نصل حتى إلى الأجزاء الأخرى من العملية مثل شبكة القيمة.

هل تعلم أن طيور البطريق الصغيرة يمكنها العطس بصوت أعلى مما يمكن للكلب أن ينبح؟ في الواقع هذا ليس صحيحًا ، لكنني اعتقدت أنك ترغب في مزحة صغيرة هنا لتشتيت الانتباه عن المعادلات ذات المظهر المخيف أعلاه. بالعودة إلى المقالة مرة أخرى: لقد انتهينا من تدريب لوشا هنا. عد الآن إلى Foma - تذكر "وظيفة القيمة المثلى": v * (s) -> التي تخبرك فقط بمدى احتمالية فوزك في مركزك الحالي على اللوح إذا لعب كلا اللاعبين بشكل مثالي من تلك النقطة فصاعدًا؟

لذلك من الواضح ، لتدريب NN لتصبح وظيفة القيمة لدينا ، سنحتاج إلى لاعب مثالي ... وهو ما لا نملكه. لذلك نحن فقط نرى أقوى برنامج عمل لدينا ، والذي يصادف أنه شبكة سياسة RL الخاصة بنا.

يأخذ حالات لوحة الحالة الحالية ، وينتج احتمالية فوزك باللعبة. تلعب لعبة وتتعرف على النتيجة (فوز أو خسارة). تعمل كل حالة من حالات اللعبة كعينة بيانات ، وتكون نتيجة تلك اللعبة بمثابة التسمية. لذلك من خلال لعب لعبة 50 حركة ، لديك 50 عينة بيانات لتوقع القيمة.

هههههه لا. هذا النهج ساذج. لا يمكنك استخدام كل 50 حركة من اللعبة وإضافتها إلى مجموعة البيانات.

كان لابد من اختيار مجموعة بيانات التدريب بعناية لتجنب فرط التجهيز. كل حركة في اللعبة تشبه إلى حد بعيد الخطوة التالية ، لأنك تتحرك مرة واحدة فقط وهذا يمنحك مركزًا جديدًا ، أليس كذلك؟ إذا أخذت الحالات الخمسين من تلك الحركات وأضفتها إلى بيانات التدريب بنفس التسمية ، فلديك أساسًا الكثير من البيانات "المكررة نوعًا ما" ، وهذا يتسبب في زيادة التجهيز. لمنع ذلك ، تختار فقط حالات لعب مميزة للغاية. على سبيل المثال ، بدلاً من كل 50 حركة للعبة ، يمكنك فقط اختيار 5 منها وإضافتها إلى مجموعة التدريب. احتل DeepMind 30 مليون موقع من 30 مليون لعبة مختلفة ، لتقليل أي فرص لوجود بيانات مكررة. وقد نجحت!

الآن ، هناك شيء مفاهيمي هنا : هناك طريقتان لتقييم قيمة منصب مجلس الإدارة. أحد الخيارات هو وظيفة القيمة المثالية السحرية (مثل تلك التي قمت بتدريبها أعلاه). الخيار الآخر هو ببساطة طرحه في المستقبل باستخدام سياستك الحالية (Lusha) وإلقاء نظرة على النتيجة النهائية في هذا العرض. من الواضح أن اللعبة الحقيقية نادراً ما تسير وفق خططك. لكن DeepMind قارن كيف يعمل كلا الخيارين. يمكنك أيضًا عمل مزيج من هذين الخيارين. سنتعرف على "معلمة الاختلاط" هذه بعد قليل ، لذا قم بتدوين ملاحظة ذهنية عن هذا المفهوم!

حسنًا ، إن شبكتك العصبية الوحيدة التي تحاول تقريب دالة القيمة المثلى هي أفضل حتى من إجراء آلاف المحاكاة العقلية باستخدام سياسة النشر! فوما ركل الحمار حقا هنا. عندما حلت محل سياسة التمهيدية سريعة مع Lusha مرتين كما هو ودقة (ولكن بطيئة) سياسة RL، وفعل الآلاف من عمليات المحاكاة مع ذلك ، فعلت أفضل من فوما. لكن فقط أفضل قليلاً ، وببطء شديد. إذن فوما هي الفائزة في هذه المسابقة ، وقد أثبتت أنه لا يمكن استبدالها.

الآن بعد أن قمنا بتدريب وظائف السياسة والقيمة ، يمكننا دمجها مع MCTS وننجب بطل العالم السابق ، مدمر الأساتذة الكبار ، اختراق جيل ، يزن مائتين وثمانية وستين رطلاً ، واحد فقط Alphaaaaa GO !

في هذا القسم ، من الناحية المثالية ، يجب أن يكون لديك فهم أعمق قليلاً للأعمال الداخلية لخوارزمية MCTS ، ولكن ما تعلمته حتى الآن يجب أن يكون كافيًا لمنحك إحساسًا جيدًا بما يحدث هنا. الشيء الوحيد الذي يجب أن تلاحظه هو كيفية استخدامنا لاحتمالات السياسة وتقديرات القيمة. نقوم بدمجها أثناء عمليات الطرح لتقليل عدد الحركات التي نريد طرحها في كل خطوة. Q (s ، a) تمثل دالة القيمة ، و u (s ، a) هو الاحتمال المخزن لهذا الموضع. سأشرح.

تذكر أن شبكة السياسة تستخدم التعلم الخاضع للإشراف للتنبؤ بتحركات الخبراء؟ وهو لا يمنحك فقط حركة على الأرجح ، بل يمنحك الاحتمالاتلكل خطوة محتملة توضح مدى احتمالية أن تكون خطوة خبير. يمكن تخزين هذا الاحتمال لكل من هذه الإجراءات. هنا يسمونه "الاحتمال المسبق" ، ومن الواضح أنهم يستخدمونه أثناء اختيار الإجراءات التي يجب استكشافها. لذلك ، بشكل أساسي ، لتقرر ما إذا كنت ستستكشف حركة معينة أم لا ، عليك أن تفكر في شيئين: أولاً ، من خلال لعب هذه الحركة ، ما مدى احتمالية الفوز؟ نعم ، لدينا بالفعل "شبكة القيم" الخاصة بنا للإجابة على هذا السؤال الأول. والسؤال الثاني هو ، ما مدى احتمالية أن يختار الخبير هذه الخطوة؟ (إذا كان من غير المرجح أن يتم اختيار خطوة من قبل خبير ، فلماذا نضيع الوقت في التفكير فيها. هذا نحصل عليه من شبكة السياسة)

ثم دعونا نتحدث عن "معلمة الخلط" (انظر العودة إليها!). كما ناقشنا سابقًا ، لتقييم المواقف ، لديك خياران: الأول ، ببساطة استخدم شبكة القيمة التي كنت تستخدمها لتقييم الحالات طوال الوقت. وثانيًا ، يمكنك محاولة لعب لعبة طرح سريع باستخدام استراتيجيتك الحالية (بافتراض أن اللاعب الآخر سيلعب بطريقة مماثلة) ، ومعرفة ما إذا كنت ستفوز أم ستخسر. لقد رأينا كيف كانت وظيفة القيمة أفضل من القيام بعمليات الطرح بشكل عام. هنا يجمعون على حد سواء. حاول إعطاء كل توقع أهمية 50-50 ، أو 40-60 ، أو 0-100 ، وهكذا. إذا قمت بإرفاق٪ من X بالأول ، فسيتعين عليك إرفاق 100-X بالثانية. هذا ما تعنيه معلمة الاختلاط هذه. سترى نتائج الضرب والتجربة هذه لاحقًا في الصحيفة.

بعد كل طرح ، تقوم بتحديث شجرة البحث الخاصة بك بأي معلومات حصلت عليها أثناء المحاكاة ، بحيث تكون المحاكاة التالية أكثر ذكاءً. وفي نهاية كل عمليات المحاكاة ، ما عليك سوى اختيار أفضل حركة.

رؤية مثيرة للاهتمام هنا!

تذكر كيف كانت سياسة RL التي تم ضبطها بدقة NN أفضل من مجرد سياسة SL المدربة بشريًا NN؟ ولكن عندما تضعهم في خوارزمية MCTS في AlphaGo ، فإن استخدام NN المدربين بشريًا أثبت أنه خيار أفضل من NN المضبوط بدقة. ولكن في حالة دالة القيمة (التي ستتذكر أنها تستخدم لاعبًا قويًا لتقريب لاعب مثالي) ، فإن تدريب Foma باستخدام سياسة RL يعمل بشكل أفضل من تدريبها على سياسة SL.

"القيام بكل هذا التقييم يتطلب الكثير من قوة الحوسبة. كان علينا حقًا إخراج الأسلحة الكبيرة حتى نتمكن من تشغيل هذه البرامج اللعينة ".

لا يحتاج شرح.

"LOL ، قام برنامجنا حرفياً بإزالة السراويل من كل البرامج الأخرى التي سبقتنا"

هذا يعود إلى "معامل الخلط" مرة أخرى. أثناء تقييم المراكز ، كان أداء كل من دالة القيمة وعمليات الطرح أفضل من مجرد استخدام واحد منهما. الباقي توضيحي لنفسه ، ويكشف عن بصيرة مثيرة للاهتمام!

لا يحتاج شرح.

لا يحتاج شرح. لكن اقرأ تلك الجملة المسطرة باللون الأحمر مرة أخرى. آمل أن تتمكن من أن ترى بوضوح الآن أن هذا السطر هنا هو إلى حد كبير ملخص لما كان هذا المشروع البحثي بأكمله يدور حوله.

فقرة ختامية. "دعونا نتفاخر أكثر قليلاً هنا لأننا نستحق ذلك!" :)

أوه ، وإذا كنت عالمًا أو شركة تقنية وتحتاج إلى بعض المساعدة في شرح علمك لأشخاص غير تقنيين للتسويق أو العلاقات العامة أو التدريب وما إلى ذلك ، يمكنني مساعدتك. أرسل لي رسالة على Twitter:mngrwl