0%
دوال التنشيط

دوال التنشيط

من دون اللاخطية يؤول الشبكة العميقة إلى طبقة واحدة: برهان ذلك، وتشبّع السيغمويد، وReLU وGELU، وفخّ softmax.

10-15 دقيقة

دوال التنشيط

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

إن هذه الدوال، التي نكتبها بحركة عابرة — nn.ReLU() نضعها بين nn.Linear وnn.Linear — هي إذن ما يجعل العمق موجودًا فعلًا. واختيارها ليس أمرًا شكليًا. فتاريخ التعلم العميق بين 1990 و2010 هو في معظمه تاريخ إخفاقٍ نُسب خطأً إلى العمق، بينما كان سببه دالة التنشيط المستخدمة: فالسيغمويد تسحق التدرجات، وشبكة من عشر طبقات سيغمويدية لا يمكنها بنيويًا أن تتدرب. وقد أسهم الانتقال إلى ReLU، نحو عام 2011، في جعل الشبكات العميقة قابلة للتنفيذ أكثر مما أسهمت به أي حيلة في الاستمثال.

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

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

تم نسخ الرابط!