تخطّي إلى المحتوى
Kudos AI
Read in English
الشبكات العصبية

ما هي الشبكة العصبية؟

الطبقات بوصفها تحويلات مُبارَمة، والمرور الأمامي، ولماذا ليست العمقُ واللاخطية اختياريتين: برهان على أن طبقة خطية واحدة لا تستطيع حساب XOR، وشبكة من طبقتين تفعل ذلك، محلولة يدوياً بالكامل.

قراءة 6 دقيقةKudos AI

المتطلبات المسبقة: الانحدار الخطي من المبادئ الأولى

ثلاث طبقات خطّية مكدّسة تنهار على الشاشة إلى طبقة واحدة، ثم تعجز عن الانهيار متى وُضعت بينها دالة غير خطّية.

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

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

أ. الطبقة تحويل مُبارَم

تأخذ الطبقة الكثيفة متجهاً، وتضربه بمصفوفة، وتضيف انحيازاً، وتطبّق دالة عنصراً عنصراً:

a=g(Wx+b).\mathbf{a} = g(W\mathbf{x} + \mathbf{b}) .

ثلاثة أجزاء:

  • WW وb\mathbf{b} هما أوزان الطبقة - الأعداد التي تُضبط أثناء التدريب. وكل ما تعرفه الشبكة يسكن هنا.
  • gg هي دالة التنشيط، تُطبَّق على كل مركّبة على حدة.
  • x\mathbf{x} هو ما أنتجته الطبقة السابقة.

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

ب. لماذا ليست دالة التنشيط اختيارية

لنفترض أننا أسقطنا gg وكدّسنا طبقتين خطيتين بحتاً:

h=W(1)x,y=W(2)h=W(2)(W(1)x)=(W(2)W(1))x.\mathbf{h} = W^{(1)}\mathbf{x}, \qquad \mathbf{y} = W^{(2)}\mathbf{h} = W^{(2)}\left(W^{(1)}\mathbf{x}\right) = \left(W^{(2)}W^{(1)}\right)\mathbf{x} .

ضرب المصفوفات تجميعي، فتنهار المصفوفتان في واحدة. وبعبارة ملموسة، مع

W(1)=[2003],W(2)=[1101],W^{(1)} = \begin{bmatrix}2 & 0\\ 0 & 3\end{bmatrix},\qquad W^{(2)} = \begin{bmatrix}1 & 1\\ 0 & 1\end{bmatrix},

يكون التركيب

W(2)W(1)=[2303],W^{(2)}W^{(1)} = \begin{bmatrix}2 & 3\\ 0 & 3\end{bmatrix},

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

وأشيع دوال التنشيط هي ReLU، أي g(z)=max⁡(0,z)g(z) = \max(0, z)، التي تمرّر القيم الموجبة دون تغيير وتقيّد السالبة إلى صفر. وهي بالكاد أكثر من انكسار، وذلك الانكسار يكفي.

يستعمل الشكل شبكة أخرى من طبقتين، بلا انحيازات. عند مدخله الابتدائي تكون الوحدتان عاملتين، فتساوي الشبكة تحويلها الخطي المنهار؛ اسحب المدخل الأوّل أو المدخل الثاني حتى تنطفئ إحدى الوحدتين، فتفترق ReLU عن الطبقة المنهارة.

تفاعلي: الانهيار، وما يمنعه

انزع اللاخطّيّة فتصير الشريحة مستقيمًا.

ما قبل التنشيط
0.700, 1.000
المخرج
-0.150
الطبقة المنهارة تقول
-0.150
الوحدات المطفأة
0
البعد عن التآلفيّة
0.150

تتضارب الطبقتان لتعطيا الصفّ الواحد [-0.050، -0.050]، فبلا لاخطّيّة تعبّر ثلاث طبقات أو ثلاثون عمّا تعبّر عنه طبقة واحدة بالضبط: فالبعد عن التآلفيّة 2e-16، أي صفر بدقّة الآلة. وأعِد ReLU فيصير 0.150. لكن انظر أين أنت. الوحدتان مشتغلتان، فالمقوّم لا يفعل شيئًا هنا، وتُرجع الشبكة -0.150 بينما تُرجع صورتها المنهارة -0.150: العدد نفسه. وهذا صحيح أيضًا عند مدخل الدرس (1، 2). فالعمق لا يشتري منحنى. إنّه يشتري مناطق، كلٌّ منها ما زال تطبيقًا تآلفيًّا، وانكسارات الشريحة هي حيث تعبر إحدى ما قبل التنشيطات الصفر. اعبر واحدة منها ينفصل الجوابان. وملاحظة في العدّ ما دامت الطبقة أمامنا: طبقة كثيفة من أربعة مداخل إلى ثلاثة مخارج تحوي 15 من الوسائط، لا 12. ومتّجه الانحياز هو ما يُنسى.

ج. دالة لا تستطيع طبقة واحدة حسابها

لإظهار أهمية الانكسار نحتاج إلى مهمة يمكن البرهان على عجز النموذج الخطي عنها. وXOR هي المهمة المعيارية: مدخلان ثنائيان، والخرج 11 حين يختلفان.

x1x_1x2x_2XOR
000
011
101
110

الدعوى. لا توجد دالة بالصورة y=w1x1+w2x2+by = w_1x_1 + w_2x_2 + b تعيد إنتاج هذا الجدول.

البرهان. لنفترض وجودها. خذ الصفوف تباعاً:

  • (0,0)↦0(0,0) \mapsto 0 يفرض b=0b = 0.
  • (1,0)↦1(1,0) \mapsto 1 يفرض w1+b=1w_1 + b = 1، ومن ثم w1=1w_1 = 1.
  • (0,1)↦1(0,1) \mapsto 1 يفرض w2+b=1w_2 + b = 1، ومن ثم w2=1w_2 = 1.
  • (1,1)↦0(1,1) \mapsto 0 يفرض w1+w2+b=0w_1 + w_2 + b = 0.

وبالتعويض بالثلاثة الأولى في الرابعة نحصل على 1+1+0=21 + 1 + 0 = 2، وكنا نحتاج 00. التناقض لا مفرّ منه، فلا وجود لمثل w1,w2,bw_1, w_2, b. ■\blacksquare

وهندسياً، لا يستطيع النموذج الخطي أن يقطع فضاء المدخلات إلا بحدّ مستقيم واحد، وتقع فئتا XOR على قطرين متقابلين - فلا يفصلهما مستقيم.

د. طبقتان، محلولتان يدوياً

لنضف الآن طبقة مخفية من وحدتي ReLU. والأوزان أدناه مختارة لا مدرَّبة، بحيث يمكن التحقّق من كل رقم:

W(1)=[1111],b(1)=[0−1],W(2)=[1−2],b(2)=0.W^{(1)} = \begin{bmatrix}1 & 1\\ 1 & 1\end{bmatrix},\quad \mathbf{b}^{(1)} = \begin{bmatrix}0\\ -1\end{bmatrix},\quad W^{(2)} = \begin{bmatrix}1 & -2\end{bmatrix},\quad b^{(2)} = 0 .

تحسب الوحدتان المخفيّتان كلتاهما x1+x2x_1 + x_2؛ ولا تختلفان إلا في الانحياز، فتشتعل الأولى كلما كان المجموع موجباً ولا تشتعل الثانية إلا حين يبلغ المجموع 22. وتطرح طبقة الخرج ضعف الثانية من الأولى.

خذ x=(1,1)\mathbf{x} = (1,1) خطوةً خطوة:

z(1)=W(1)x+b(1)=[1+1+01+1−1]=[21],\mathbf{z}^{(1)} = W^{(1)}\mathbf{x} + \mathbf{b}^{(1)} = \begin{bmatrix}1+1+0\\ 1+1-1\end{bmatrix} = \begin{bmatrix}2\\ 1\end{bmatrix}, a(1)=max⁡(0,z(1))=[21],y=1(2)+(−2)(1)=0.✓\mathbf{a}^{(1)} = \max(0, \mathbf{z}^{(1)}) = \begin{bmatrix}2\\ 1\end{bmatrix}, \qquad y = 1(2) + (-2)(1) = 0 . \checkmark

المدخلات الأربعة كلها:

x\mathbf{x}z(1)\mathbf{z}^{(1)}a(1)\mathbf{a}^{(1)}yyXOR
(0,0)(0,0)(0,−1)(0, -1)(0,0)(0, 0)000
(0,1)(0,1)(1,0)(1, 0)(1,0)(1, 0)111
(1,0)(1,0)(1,0)(1, 0)(1,0)(1, 0)111
(1,1)(1,1)(2,1)(2, 1)(2,1)(2, 1)000

مضبوطة في الصفوف الأربعة.

راقب الصف الأول. التنشيط القبلي للوحدة الثانية −1-1، وتقيّده ReLU إلى 00. وذلك التقييد هو مصدر قدرة الشبكة الإضافية كلّه: فهو الموضع الوحيد الذي يتوقّف فيه التركيب عن كونه خطياً. أزِله - بجعل a(1)=z(1)\mathbf{a}^{(1)} = \mathbf{z}^{(1)} - > فينطبق انهيار القسم ب من جديد، وتعود الشبكة عاجزة عن حساب XOR.

Python

يعمل في متصفحك. تُنزّل عملية التشغيل الأولى بيئة بايثون (~10 ميغابايت)، ثم تُخزّن مؤقتًا.

هـ. ماذا يشتري العمق فعلاً

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

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

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

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

و. من التمثيل إلى التعلّم

اخترنا أوزان XOR يدوياً. أما الشبكات الحقيقية فتكتشفها، والآلية هي دالة خسارة - ويسمّيها شولّيه أيضاً دالة الهدف - تأخذ تنبّؤ الشبكة والهدف الحقيقي وتحسب درجة مسافة تلخّص مدى سوء أداء الشبكة. ويضبط التدريب الأوزان لتصغير تلك الدرجة.

والانتقال من «هذه درجة» إلى «هكذا ينبغي أن يتغيّر كل واحد من مليون وزن» هو موضوع المقالة التالية.

الخلاصات الأساسية

  • الطبقة تحويل مُبارَم g(Wx+b)g(W\mathbf{x} + \mathbf{b})؛ والأوزان هي كل ما تعرفه الشبكة.
  • الطبقات الخطية المكدّسة تنهار إلى طبقة خطية واحدة - فـW(2)W(1)W^{(2)}W^{(1)} ليست إلا مصفوفة أخرى - ومن ثم فاللاخطية بينها ضرورة رياضية لا خيار ضبط.
  • لا تستطيع طبقة خطية واحدة حساب XOR؛ فالقيود الأربعة تفرض 1+1+0=01+1+0 = 0، وهو تناقض.
  • طبقة مخفية من وحدتي ReLU تحسب XOR بالضبط، والخطوة اللاخطية الوحيدة فيها تقييد مفرد لـ−1-1 إلى 00.
  • يوفّر العمق التركيب: تحويل معقّد مفكَّك إلى سلسلة تحويلات أوّلية - وهو فكّ كرمشة متشعّبة البيانات المطوية عند شولّيه.
  • امتلاك سَعة كافية لتمثيل دالة ليس كالتعميم من البيانات.

ما التالي

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

المراجع والقراءات الإضافية

  • François Chollet, Deep Learning with Python, Manning (2nd edition, MEAP), 2020· مكتبة مراجع Kudos AI

تُذكر الأعمال المحمية بحقوق النشر للمرجعية فقط ولا تُستضاف هنا؛ يرجى الرجوع إلى الناشر للوصول إليها.

قراءات ذات صلة

قراءة 7 دقيقةالشبكات العصبية

الانتشار العكسي والنزول التدرّجي

كيف تتعلّم الشبكة العصبية: الخسارة بوصفها دالة في الأوزان، والنزول التدرّجي، والانتشار العكسي بوصفه قاعدة السلسلة مطبَّقةً إلى الوراء، مع حساب كل مشتقّة جزئية لشبكة صغيرة يدوياً والتحقّق منها مقابل الاشتقاق التلقائي.

التعلّم العميقالتحسينالرياضيات
قراءة 6 دقيقةبناء نموذج لغة

التقطيع إلى وحدات والتضمينات

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

الذكاء الاصطناعي التوليديمعالجة اللغات الطبيعيةالتعلّم العميق
قراءة 6 دقيقةأسس الاحتمالات

الاحتمالات من الصفر: لغة اللايقين

بناء الاحتمالات من الأساس: العوالم الممكنة، وفضاء العيّنة، والبديهيتان الأساسيتان، ثم قاعدتا الجمع والضرب، كلٌّ منها مشتقّة لا مُسلَّم بها، مع أمثلة عددية محلولة.

الاحتمالاتالرياضياتالذكاء الاصطناعي
← العودة إلى كل المقالات