AICODEAgentic Programming · 67723 · 2026-7

Week 3 · video 6 of 7 · transcript

Inside the Box: Neural Networks

ترجمة آلية لم يراجعها إنسان.AI translation, not reviewed by a person.

0:01

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

0:26

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

0:36

عندما تتجاوز الإشارة المجمَّعة عتبة معيّنة، ينشط العصبون، ويرسل نبضة عبر محوره العصبي إلى اليمين.

0:43

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

0:51

لنبنِ عصبونًا اصطناعيًا واحدًا. مُدخَلاته أعداد حقيقية، نرمز إليها بـ x1 وx2 وx3.

0:59

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

1:22

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

1:47

النتيجة هي مُخرَج العصبون، y.

1:50

يجمع العصبون بين مجموع موزون، يشمل الـ bias، ودالة تنشيط. يمكننا ربط كثير من هذه الحسابات البسيطة لتكوين شبكة عصبية. وحسابها المشترك يستطيع تمثيل علاقات أعقد بكثير.

2:06

لبناء الشبكة، نبدأ بمتّجه من الأعداد المُدخَلة.

2:11

عصبون مخفي واحد يأخذ مجموعًا موزونًا لكل المُدخَلات، ثم يطبّق ReLU، تمامًا كما سبق.

2:18

إذا وضعنا عدة عصبونات جنبًا إلى جنب، نحصل على طبقة. تستقبل العصبونات المُدخَلات نفسها، لكن لكلٍّ منها أوزانه والـ bias الخاص به، لذا يحسب كل عصبون دالة مختلفة في هذه المُدخَلات.

2:30

مُخرَجات الطبقة الأولى تصبح مُدخَلات لطبقة أخرى. تكديس الطبقات يسمح للشبكة ببناء حسابات أعقد انطلاقًا من نتائج الطبقات السابقة.

2:40

الطبقة الأخيرة تُنتج مُخرَجات الشبكة. ونرمز لهذا التنبّؤ بـ y hat.

2:46

ولأن المعلومات تسير في اتجاه واحد، من اليسار إلى اليمين، تُسمّى هذه الشبكات شبكات feed-forward.

2:54

لنستخدم الشبكة في مهمة محددة: التعرّف على رقم مكتوب بخط اليد. الصورة الممسوحة ضوئيًا مصفوفة من البكسلات. يعرض مثالنا الرقم 3 على مصفوفة صغيرة، عرضها 5 بكسلات وارتفاعها 7 بكسلات.

3:09

نمثّل كل بكسل بعدد، من 0 للأسود إلى 1 للأبيض. مصفوفة 5 في 7 تعطينا 35 عددًا، تشكّل متّجه المُدخَلات. تصف هذه الأعداد سطوع البكسلات، لكنها لا تخبرنا مباشرة أيّ رقم في الصورة. سندرّب شبكة عصبية على التعرّف على الرقم من الأمثلة، بدلًا من أن نكتب قواعد التعرّف بأنفسنا.

3:32

نمرّر المتّجه عبر شبكة feed-forward، مثل الشبكة التي ناقشناها للتو.

3:38

تُخرج الشبكة 10 أعداد، درجة لكل رقم من 0 إلى 9. الدرجة الأعلى تعني أن الشبكة تميل إلى ذلك الرقم أكثر. هذه الدرجات ليست بالضرورة احتمالات.

3:51

نأخذ الرقم صاحب أعلى درجة ليكون تنبّؤ الشبكة. هنا درجة الرقم 3 هي الأعلى، فالرقم المتنبَّأ به هو 3.

4:00

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

4:21

بدلًا من كتابة القواعد، نجمع الأمثلة. نحتاج إلى عدد كبير من الأرقام الممسوحة ضوئيًا.

4:27

كل صورة مقرونة بتصنيفها الصحيح، أي الإجابة المعروفة. نرمز لهذه الإجابة بـ y.

4:34

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

4:45

يحتاج التدريب إلى عدد يقيس خطأ التنبّؤ. عند إدخال صورة واحدة، تُنتج الشبكة 10 درجات، تظهر هنا على شكل أعمدة بنفسجية. وتشكّل هذه الدرجات معًا التنبّؤ، y hat.

4:57

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

5:08

نقارن كل درجة متنبَّأ بها بقيمتها المستهدفة. عند الرقم الفعلي، 3، التنبّؤ أقل من واحد. أما الدرجات الأخرى فأعلى من قيمها المستهدفة، وهي صفر. نربّع كل فرق ونجمع النتائج العشر. التربيع يجعل الفروق الموجبة والسالبة كلها تساهم بقيمة موجبة، ويعطي الأخطاء الأكبر وزنًا أكبر. النتيجة هي الخسارة (loss) لهذه الصورة. خسارة قدرها صفر تعني أن كل مُخرَج يطابق قيمته المستهدفة تمامًا.

5:36

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

5:51

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

6:17

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

6:30

ميل المنحنى هو مشتقة الخسارة بالنسبة إلى هذا الوزن. إشارتها تخبرنا أي اتجاه يزيد الخسارة، ومقدارها يخبرنا مدى حدّة التغيّر.

6:43

بعد أن نحصل على الميل، نطرحه من الوزن الحالي (بعد ضربه في معامل ثابت ما). هذا يحرّك الوزن نحو خسارة أقل، ما دامت الخطوة صغيرة بما يكفي. هذا هو النزول التدرّجي (gradient descent). العدد الصغير، إيتا (η)، هو معدّل التعلّم. وهو يتحكّم في حجم التحديث الذي نجريه في كل خطوة. يمكنكم العمل مع وكلاء البرمجة دون أن تبرمجوا هذه الخوارزمية. إنها طريقة أساسية لتدريب الشبكات العصبية، وتُشرح هذه الخطوات بتفصيل أكبر في مساقات تعلّم الآلة.

7:14

نكرّر هذه التحديثات الصغيرة على أمثلة كثيرة. في شبكة الأرقام هذه، يمكننا المرور على مجموعة التدريب مرات كثيرة.

7:22

لتحديث كل الأوزان، نحتاج إلى مشتقة الخسارة بالنسبة إلى كل وزن منها. خوارزمية تُسمّى الانتشار العكسي (backpropagation) تحسب هذه المشتقات بكفاءة. فهي تُجري تمريرًا أماميًا عبر الشبكة، ثم تمريرًا عكسيًا.

7:37

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

7:51

عندما ننتهي من التدريب، نُبقي الأوزان المتعلَّمة ثابتة أثناء استخدام الشبكة. إجراء التنبّؤ لا يحدّثها.

7:59

لاستخدام الشبكة، نُجري تمريرًا أماميًا على مُدخَل جديد، مثل صورة رقم لم تكن في مجموعة التدريب. تُنتج الشبكة تنبّؤًا. وهذا يُسمّى الاستدلال (inference).

8:10

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

8:40

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

9:15 of video · 1,137 words · 39 slides← Back to the video