HeadlinesBriefing favicon HeadlinesBriefing.com

شبكة صغيرة تضغط البيانات، تجذب البنتاغون

Towards Data Science •
×

لم أكن أتوقع أن يظهر الهندسة. كنت أعيد إنتاج جزء صغير من ورقة قابلية التفسير لشركة Anthropic لعام 2022، "نماذج الألعاب للتراكب" [1]، بشكل أساسي لأن الادعاء المركزي بدا غير قابل للتصديق بما يكفي لدرجة أنني أردت التحقق منه بنفسي بدلاً من الأخذ به كإيمان. الادعاء: يمكن للشبكة العصبية أن تمثل ميزات أكثر من الأبعاد المتاحة لها، عن طريق تعبئتها بزوايا مع بعضها البعض وتحمل قدر ضئيل من التداخل. اطلب منها ضغط خمسة أشياء في بُعدين تحت الظروف المناسبة، ولن تختار فائزين اثنين وتتخلى عن الباقي. إنها ترتب الخمسة في خماسي مثالي. لم يكن لدي PyTorch أو أي مكتبة autograd متاحة، ولا وصول إلى الإنترنت لتثبيت واحدة، لذا كل ما يلي هو NumPy خالص، وقد اشتقت المسار العكسي يدويًا. تبين أن هذا هو النوع الصحيح من الإزعاج. اشتقاق التدرجات بنفسك يجبرك على فهم ما يفعله النموذج بالبيانات فعليًا، بدلاً من الثقة في استدعاء .backward() الذي لم تضطر أبدًا إلى التفكير فيه. إذا كان لديك خلفية رياضية ولم تقم أبدًا باشتقاق الانتشار العكسي يدويًا حتى عبر شبكة صغيرة، فإنني أوصي به بصدق كتمرين. إنها عشر دقائق من قاعدة السلسلة تجعل كل شيء لاحقًا يترابط. جميع البيانات في هذا المنشور اصطناعية. أنا أولدها بنفسي في الكود، لا توجد مجموعة بيانات خارجية، وهذا أيضًا ما تفعله الورقة الأصلية. جميع الصور، ما لم يُذكر خلاف ذلك، من إعداد المؤلف. المشكلة التي يحاول هذا شرحها: هنا اللغز المحفز، وهو حقيقي في أبحاث قابلية التفسير. إذا نظرت داخل شبكة عصبية مدربة على أمل العثور على خلايا عصبية فردية تمثل مفاهيم فردية بوضوح، خلية عصبية لـ "هل هذا كلب؟"، وخلية لـ "هل هذا أحمر؟"، ففي الغالب لا تجد ذلك. بدلاً من ذلك، تجد خلايا عصبية تبدو وكأنها تستجيب لعدة أشياء غير مرتبطة في وقت واحد، خلية عصبية تنشط لكل من وجوه القطط ومقدمات السيارات، على سبيل المثال. يسمى هذا تعدد المعاني، ويجعل قابلية التفسير أكثر صعوبة، لأنه لا يمكنك ببساطة قراءة ما "تؤمن به" الشبكة من خلال فحص الوحدات الفردية. اقتراح الورقة هو أن تعدد المعاني ليس ضوضاء أو فشلًا. إنها استراتيجية حقيقية تستخدمها الشبكة عن قصد، لأن لديها مفاهيم أكثر لتمثيلها من الخلايا العصبية المتاحة، ومعظم هذه المفاهيم نادرًا ما تكون نشطة في نفس الوقت. إذا كانت ميزتان تقريبًا لا تكونان "مفعّلتين" في وقت واحد، يمكن للشبكة أن تتحمل مشاركتهما في اتجاه في فضاء التنشيط، لأن التداخل يكلف شيئًا فقط في المناسبات النادرة التي يحدث فيهما معًا. استراتيجية التعبئة هذه هي ما تسميه الورقة التراكب، ونموذجها المصغر مصمم ليكون أبسط إعداد ممكن حيث يمكنك مشاهدته يحدث وقياسه فعليًا. النموذج، والرياضيات التي كان عليّ حلها لتدريبه: الإعداد صغير عن قصد. لديك n ميزات اصطناعية، كل منها رقم بين 0 و1 يكون صفرًا في معظم الأوقات (هذا هو التفرق) وغير صفري في بقية الأوقات. تضغطها عبر عنق زجاجة من m أبعاد مخفية، حيث m أصغر من n، ثم تحاول إعادة بناء الميزات الأصلية في الخروج عبر ReLU. على وجه التحديد، مع مصفوفة أوزان واحدة W ذات شكل (m, n) مستخدمة لكل من الضغط وإعادة البناء: h=W⋅x، x̂=ReLU(W⊤⋅h+b). التدريب يقلل من خطأ مربع موزون بين x وx̂، حيث تحصل كل ميزة i على وزن أهمية Ii، لذلك يُقال للشبكة أن بعض الميزات أكثر أهمية من غيرها: L=∑i Ii⋅(xi−x̂i)²\m...