لقد رأيت في التمرين السابق أن إضافة الطبقات الخفية في شبكتنا لم تكن كافية لتمثيل الكائنات غير الخطية. العمليات الخطية التي يتم إجراؤها على العمليات الخطية لا تزال خطية.
كيف يمكنك تكوين شبكة عصبية لتعلم العلاقات غير الخطية بين القيم؟ نحن بحاجة إلى طريقة لإدراج غير خطي العمليات الرياضية في نموذج.
إذا كان هذا يبدو مألوفًا إلى حد ما، فهذا لأننا العمليات الرياضية غير الخطية إلى ناتج النموذج الخطي في بداية في الدورة. قسم الانحدار اللوجستي وقمنا بتكييف نموذج الانحدار الخطي لإخراج قيمة مستمرة من 0 إلى 1 (تمثل احتمالية) بتمرير ناتج النموذج من خلال الدالة السينية.
يمكننا تطبيق نفس المبدأ على الشبكة العصبية. لنعيد النظر في نموذجنا من التمرين 2 سابقًا، ولكن هذه المرة، قبل ناتجًا عن قيمة كل عقدة، سنقوم أولاً بتطبيق الدالة السينية:
حاول التنقل خلال العمليات الحسابية لكل عقدة من خلال النقر على الزر >|. (على يمين زر التشغيل). مراجعة العمليات الحسابية التي تم إجراؤها لحساب قيمة كل عقدة في لوحة الحسابات أسفل الرسم البياني. لاحظ أن ناتج كل عقدة هو الآن تحويل سيني للخط من العُقد في الطبقة السابقة، وتكون قيم المخرجات وتحوَّلت جميعها بين 0 و1.
وهنا، يعمل الدالة السينية دالة التفعيل في الشبكة العصبية، وهو تحويل غير خطي لقيمة مخرجات الخلية العصبية قبل تمرير القيمة كمدخل إلى عمليات حساب طبقة الشبكة العصبونية.
والآن بعد أن أضفنا دالة تنشيط، أصبح لإضافة الطبقات تأثير أكبر. يتيح لنا تكديس العناصر غير الخطية على العناصر غير الخطية وضع نماذج معقّدة للغاية العلاقات بين المدخلات والمخرجات المتوقعة. باختصار، تعتمد كل طبقة هي تعلُّم دالة أكثر تعقيدًا وذات مستوى أعلى مقارنةً المدخلات. إذا كنت ترغب في اكتساب المزيد من المعرفة حول كيفية عمل ذلك، يمكنك الاطّلاع على مشاركة المدونة الممتازة التي نشرها "كريس أولا".
وظائف التفعيل الشائعة
هناك ثلاث دوال رياضية يشيع استخدامها كدوال تنشيط والدالة السينية وتانه وريلويد مجددًا.
تنفذ الدالة السينية (التي تمت مناقشتها أعلاه) التحويل التالي على الإدخال $x$، ينتج عنه قيمة ناتج بين 0 و1:
\[F(x)=\frac{1} {1+e^{-x}}\]
فيما يلي مخطط لهذه الدالة:
![الشكل 4. مخطط الدالة السينية: منحنى على شكل حرف s
تقترب x من المحور x بشكل غير عرضي عند اقترابها من القيمة السالبة
اللانهاية و1 عند اقتراب س من اللانهاية.](https://developers.google.cn/static/machine-learning/crash-course/neural-networks/images/sigmoid.png?authuser=19&hl=ar)
تحول دالة tanh (اختصار لـ "ظل زائدي") المدخل $x$ إلى نحصل على قيمة ناتج بين –1 و1:
\[F(x)=tanh(x)\]
فيما يلي مخطط لهذه الدالة:
![الشكل 5. مخطط دالة tanh:
أكثر انحدارًا على شكل حرف S من الدالة السينية، والتي قد تبدو
يقترب من –1 عند اقتراب x من اللانهاية السالبة و1 عند اقتراب x
بلا نهاية.](https://developers.google.cn/static/machine-learning/crash-course/neural-networks/images/tanh.png?authuser=19&hl=ar)
دالة التفعيل للوحدة الخطية التي تم تصحيحها (أو ReLU، Short) تحول المخرجات باستخدام الخوارزمية التالية:
- إذا كانت قيمة الإدخال $x$ أقل من 0، سيتم عرض 0.
- إذا كانت قيمة الإدخال $x$ أكبر من 0 أو تساويه، سيتم عرض قيمة الإدخال.
يمكن تمثيل ReLU رياضيًا باستخدام الدالة max():
فيما يلي مخطط لهذه الدالة:
![الشكل 6. مخطط الدالة ReLU: خط أفقي
على طول المحور س من اللانهاية السالبة إلى 0، والتي تصبح خطًا قطريًا
لأعلى وإلى اليمين مع الميل 1 (ص=س) من 0 إلى ما لا نهاية.](https://developers.google.cn/static/machine-learning/crash-course/neural-networks/images/relu.png?authuser=19&hl=ar)
وتعمل تقنية ReLU غالبًا كوظيفة تفعيل أفضل من مثل الدالة السينية أو تانه، لأنها أقل عرضة مشكلة التلاشي للتدرّج أثناء تدريب الشبكة العصبونية. بالإضافة إلى ذلك، أصبحت ReLU أسهل بكثير للحساب من هذه الدوال.
وظائف التفعيل الأخرى
من الناحية العملية، يمكن أن تكون أي دالة رياضية بمثابة دالة تفعيل. لنفترض أن \(\sigma\) يمثل دالة التفعيل. يتم تحديد قيمة أي عقدة في الشبكة من خلال ما يلي المعادلة:
يقدّم Keras دعمًا فوريًا للعديد من دوال التفعيل. مع ذلك، ما زلنا ننصح بالبدء باستخدام ReLU.
ملخّص
يقدم الفيديو التالي ملخصًا لكل ما تعلمته حتى الآن حول كيفية إنشاء الشبكات العصبية:
والآن، يحتوي نموذجنا على جميع المكونات القياسية لما يفكر فيه الأشخاص عندما تشير إلى شبكة عصبية:
- مجموعة من العُقد، مماثلة للخلايا العصبية، مرتبة في طبقات.
- مجموعة من الأوزان تمثل الاتصالات بين كل شبكة عصبية الطبقة والطبقة الموجودة أسفلها. قد تكون الطبقة الموجودة أسفل طبقة شبكة عصبية أخرى أو أي نوع آخر من الطبقات.
- مجموعة من التحيزات، واحد لكل عقدة.
- يشير ذلك المصطلح إلى دالة تفعيل تعمل على تحويل مخرجات كل عقدة في طبقة معيّنة. قد يكون للطبقات المختلفة دوال تنشيط مختلفة.
تنبيه: الشبكات العصبية ليست بالضرورة أفضل من الخصائص، لكن الشبكات العصبية توفر بديلاً مرنًا بشكل جيد في كثير من الحالات.