الشبكات العصبية: تمارين تفاعلية

في التمارين التفاعلية أدناه، ستستكشف بشكل أكبر الأعمال الداخلية والشبكات العصبية. أولًا، سوف نتعرَّف على التغييرات في المَعلَمات والمعلَمات الفائقة تؤثر في تنبؤات الشبكة. بعد ذلك ستستخدم ما تعلمته لتدريب الشبكة العصبية لتتناسب مع البيانات غير الخطية.

التمرين 1

تعمل الأداة التالية على إعداد شبكة عصبية بالتهيئة التالية:

  • طبقة إدخال تحتوي على 3 خلايا عصبية تحتوي على القيم 0.00 و0.00 و0.00
  • طبقة مخفية تحتوي على 4 خلايا عصبية
  • طبقة إخراج تحتوي على خلية عصبية واحدة
  • تم تطبيق دالة التفعيل ReLU على جميع عُقد الطبقة المخفية وعقدة الإخراج

راجِع الإعداد الأولي للشبكة (ملاحظة: لا تنقر على ▶️ أو >| حتى الآن)، ثم أكمِل المهام أسفل الأداة.

المهمة 1

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

ما نوع قيمة الناتج أعتقد أنه سيتم إنتاجه: إيجابي أم سلبي أم 0؟
قيمة ناتج موجبة
قيمة المخرجات السلبية
قيمة الإخراج 0

انقر الآن على الزر "تشغيل" (▶️) فوق الشبكة، وشاهد جميع الطبقات المخفية وتعبئة قيم عقدة الإخراج. هل كانت إجابتك أعلاه صحيحة؟

انقر هنا للاطّلاع على شرح.

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

y = ReLU(w11* 0.00 + w21* 0.00 + w31* 0.00 + b)

y = ReLU(b)

إذًا، ستكون قيمة كل عقدة ذات طبقة مخفية مساوية لقيمة ReLU التحيز (b)، والذي سيكون 0 إذا كانت b سالبة وb نفسها إذا كانت b 0 أو إيجابية.

بعد ذلك، سيتم احتساب قيمة عقدة الإخراج على النحو التالي:

y = ReLU(w11* x11 + w21* x21 + 31* ×31 + w41* x41 + b)

المهمة 2

قبل تعديل الشبكة العصبية، أجب عن السؤال التالي:

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

عدّل الآن الشبكة العصبية لإضافة طبقة جديدة مخفية تحتوي على 3 عُقد على النحو التالي:

  1. انقر على الزر + على يمين النص طبقة واحدة مخفية لإضافة طبقة جديدة. طبقة مخفية قبل طبقة الإخراج.
  2. انقر على الزر + فوق الطبقة المخفية الجديدة مرّتين لإضافة عقدتَين أخريَين. إلى الطبقة.

هل كانت إجابتك أعلاه صحيحة؟

انقر هنا للاطّلاع على شرح.

تتغير عقدة الإخراج فقط. لأن الاستنتاج الخاص بهذه الشبكة العصبية هو "feed-forward" (تقدم العمليات الحسابية من البداية إلى النهاية)، فإن إضافة أي طبقة جديدة على الشبكة إلا في العُقد بعد وليس تلك التي تسبقها.

المهمة 3

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

إذا غيّرت قيمة الوزن w12 (يتم عرضه أسفل أول عقدة إدخال، x1)، العُقد الأخرى العمليات الحسابية قد تتأثر ببعض المدخلات القيم؟
لا ينطبق
العقدة الثانية في الطبقة الأولى المخفية وجميع عُقد الطبقة المخفية الثانية عقدة ناتج.
يجب أن تكون جميع العقد في الطبقة الأولى المخفية والطبقة المخفية الثانية وطبقة الإخراج.

انقر الآن على حقل النص للوزن w12 (المعروض أسفل عقدة الإدخال الأولى، x1)، غيّر قيمتها إلى 5.00، واضغط على Enter. تتبُّع التعديلات على الرسم البياني.

هل كانت إجابتك صحيحة؟ توخ الحذر عند التحقق من إجابتك: إذا كانت هناك عقدة لا تتغير، فهل هذا يعني أن العملية الحسابية الأساسية لم تتغير؟

انقر هنا للاطّلاع على شرح.

العقدة الوحيدة المتأثرة في الطبقة الأولى المخفية هي العقدة الثانية ( الذي نقرت عليه). العمليات الحسابية للقيمة للعُقد الأخرى في أول الطبقة المخفية لا تحتوي على w12 كمعلمة، لذا لا المتأثرة. تتأثر جميع العقد في الطبقة المخفية الثانية، حيث إن العمليات الحسابية على قيمة العقدة الثانية في طبقة مخفية. وبالمثل، تتأثر قيمة عقدة الإخراج بسبب العمليات الحسابية على قيم العقد في الطبقة المخفية الثانية.

هل تعتقد أن الإجابة "لا شيء" لأنه لا يوجد أي من قيم العقدة في تغيرت الشبكة عندما قمت بتغيير قيمة الوزن؟ لاحظ أنه قد تتغير العملية الحسابية للعقدة بدون تغيير قيمة العقدة (مثال: وتُنتج كل من ReLU(0) وReLU(–5) ناتج 0). لا تضع افتراضات حول كيفية تأثر الشبكة فقط بالنظر إلى قيم العقدة؛ تأكد من مراجعة العمليات الحسابية أيضًا.

التمرين 2

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

مهمتك: تكوين شبكة عصبية يمكنها فصل النقاط البرتقالية عن النقاط الزرقاء في الرسم التخطيطي أدناه، مما أدى إلى خسارة أقل من 0.2 في كلتيهما بيانات التطبيق والاختبار.

Instructions:

في التطبيق المصغّر التفاعلي أدناه:

  1. عدِّل مُدخلات الشبكة العصبونية الفائقة من خلال تجربة بعض بإعدادات الضبط التالية:
    • يمكنك إضافة طبقات مخفية أو إزالتها بالنقر على الزرّين + و- للانتقال إلى على يسار عنوان الفئات المخفية في الرسم التخطيطي للشبكة.
    • إضافة أو إزالة الخلايا العصبية من طبقة مخفية بالنقر على + و- أعلى عمود ذي طبقة مخفية.
    • يمكنك تغيير معدّل التعلّم من خلال اختيار قيمة جديدة من معدّل التعلّم. المنسدلة أعلى المخطط.
    • قم بتغيير دالة التفعيل عن طريق اختيار قيمة جديدة من القائمة المنسدلة التفعيل أعلى المخطّط البياني.
  2. انقر على الزر "تشغيل" (▶️) أعلى المخطّط البياني لتدريب الشبكة العصبونية. نموذج باستخدام المعاملات المحددة.
  3. لاحظ تصور النموذج الذي يناسب البيانات كتدريب التقدم، بالإضافة إلى اختبار الخسارة قيم خسارة التدريب في قسم الإخراج.
  4. فإذا لم يحقق النموذج خسارة أقل من 0.2 في بيانات الاختبار والتدريب، النقر على "إعادة الضبط"، وتكرار الخطوات من 1 إلى 3 مع مجموعة مختلفة من الإعدادات الإعدادات. كرر هذه العملية حتى تحقق النتائج المفضلة.

انقر هنا للاطّلاع على الحلّ

لقد تمكنا من تحقيق كل من خسارة الاختبار والتدريب أقل من 0.2 من خلال:

  • إضافة طبقة مخفية تحتوي على 3 خلايا عصبية.
  • اختيار معدل التعلم 0.01.
  • اختيار وظيفة تفعيل ReLU