0%
من البرسبترون إلى الشبكة متعددة الطبقات

من البرسبترون إلى الشبكة متعددة الطبقات

البرسبترون وحدّه على XOR، ولماذا رفع الطبقات يرفعه: حساب يدوي، صيغ مصفوفية وتنفيذ PyTorch.

10-15 دقيقة

من البرسبترون إلى الشبكة متعددة الطبقات

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

ما يجعل هذه الحادثة مثيرة للاهتمام ليس الفشل — بل أن الحل كان معروفًا أصلًا. تكديس برسبترونين يحل XOR بلا صعوبة؛ بل كان يُعرف حتى كتابة الأوزان يدويًا. ما كان ينقص هو وسيلة لتدريب هذا التكديس، وانتظرنا حتى انتشار الانتشار العكسي في منتصف الثمانينيات للحصول عليه.

فهم لماذا يفشل برسبترون بالضبط ولماذا تكفي طبقة مخفية، ليس أركيولوجيا. إنه الطريق الوحيد الذي يجعل سؤال «كم طبقة، كم وحدة» غير غامض. الطبقة المخفية لا تضيف قوة حساب: تغيّر الشكل الهندسي للحدود التي يستطيع النموذج رسمها. عندما تعرف أيّها، تتوقف عن اختيار البنى عشوائيًا.

تعود هذه الدرس إلى البرسبترون من قاعدة تعلّمه، بأرقام، وتُظهر فشله، وتبني يدويًا الحل بطبقتين، ثم تصوغه بالجبر المصفوفي — الشكل الذي يحسبه PyTorch فعليًا.

البرسبترون: وحدة واحدة، قاعدة واحدة

يأخذ البرسبترون $n$ مدخلات، يجمعها خطيًا، ويقارن النتيجة بعتبة:

$$z = \sum_{i=1}^{n} w_i x_i + b, \qquad \hat{y} = \begin{cases} 1 & \text{si } z > 0 \ 0 & \text{sinon} \end{cases}$$

تم نسخ الرابط!