A tiny neural network: forward pass and backpropagation


Choose one example
Learning rate η

Weights & biases

الفكرة كلّها.
لهذه الشبكة input واحد x، وneuronان مخفيّان، وoutput واحد y. وفيها سبعة أرقام يعدّلها التدريب: لكلّ hidden neuron وزن (weight) وbias (w1, b1 وw2, b2)، وللـ output وزن لكلّ neuron (w3, w4) وbias هو b3.
• Forward pass: يحسب كلّ neuron القيمة z = w·x + b، ثمّ تُبقيها ReLU إن كانت موجبة وتجعلها 0 إن لم تكن. ويجمع الـ output الـ neuronين بأوزانه الخاصّة: y = w3·h1 + w4·h2 + b3. ويقيس الـ loss مقدار الخطأ: L = (y − t)²، حيث t هو الهدف (target).
• Backward pass: ابدأ من الـ loss وارجع إلى الخلف، صندوقًا صندوقًا. كلّ خطوة تضرب في ميلٍ محلّيّ صغير، وهذه هي الـ chain rule. وفي النهاية يصبح لكلّ رقم من الأرقام السبعة gradient (بالبنفسجي): مقدار تغيّر الـ loss إذا زاد ذلك الرقم قليلًا.
• Update: حرّك كلّ رقم خطوةً صغيرة عكس الـ gradient الخاصّ به، new = old − η × gradient، كما في صفحة الـ optimizers.
تكرار ذلك مرّةً بعد مرّة، على النقاط الخمس كلّها معًا، هو التدريب.

أمور تستحقّ التجربة:
1. انقر Next step إحدى عشرة مرّة، وتحقّق من كلّ سطر بآلة حاسبة. في المثال x = 2، t = 3، تقول الشبكة y = 1.50 والـ loss يساوي 2.25. ثمّ انقر Update weights & biases وتنقّل عبر الـ forward pass مرّة أخرى: مع η = 0.05 تصبح y الجديدة 3.06 وينخفض الـ loss إلى 0.0032.

2. اختر المثال x = −2. الآن z1 = 0.50·(−2.00) + 0.00 = −1.00 سالبة، فتُخرج ReLU القيمة 0، وفي الـ backward pass تُغلَق البوّابة: الـ gradients لكلّ من w1 وb1 وw3 تساوي 0 تمامًا. في هذا المثال لا يستطيع neuron 1 أن يتعلّم. وإذا كانت 0 في كلّ الأمثلة فلن يتعلّم أبدًا: هذا dead neuron، كما في صفحة الـ activation.

3. ارفع η إلى 0.1 وحدِّث من البداية. الخطوة كبيرة جدًّا: تتجاوز y الهدف، من 1.50 إلى 4.95، ويرتفع الـ loss لهذا المثال من 2.25 إلى 3.80.