Ali Ahmed55 نشر 9 فبراير أرسل تقرير نشر 9 فبراير السلام عليكم هو امتي استخدم الReLU وامتي استخدم الTanh في الشبكات العصبيه ؟ 1 اقتباس
0 Mustafa Suleiman نشر 9 فبراير أرسل تقرير نشر 9 فبراير دالة التنشيط ReLU الخيار الافتراضي الأول والأكثر استخدامًا للطبقات المخفية في معظم أنواع الشبكات العصبية، سواء كانت شبكات عصبية عميقة DNNs أو شبكات عصبية التفافية CNNs. أيضًا تساعد في تقليل مشكلة تلاشي التدرج، خاصة في الشبكات العميقة. ففي حال قيمة الدخل موجبة، يكون التدرج (المشتقة) ثابتاً ويساوي 1، وذلك يسمح بتدفق التدرجات بشكل أفضل خلال الشبكة مقارنة بدوال أخرى مثل Tanh أو Sigmoid في المناطق التي تتشبع فيها أي عندما تصبح مشتقاتها قريبة من الصفر. وعملية حساب ReLU بسيطة جداً مقارنة بدوال مثل Tanh التي تتطلب عمليات أسية، الأمر الذي يجعلها أسرع حسابياً، وذلك مهم خصوصاً في الشبكات الكبيرة والتدريب على كميات بيانات ضخمة. وبسبب أنها تُخرج صفر للقيم السالبة، فهي تساعد في توليد الخفة في التنشيطات، بمعنى عدداً من الخلايا العصبية ربما تُصبح غير نشطة (تُخرج صفر) لبعض المدخلات، وهو ما يُمكن أن يجعل الشبكة أكثر كفاءة وأقل عرضة للتكيف الزائد Overfitting. بينما دالة التنشيط Tanh كانت تستخدم في الطبقات المخفية، ولكنها أصبحت أقل استخدامًا من ReLU في معظم تطبيقات التعلم العميق الحديثة، وأحيانًأ مفيدة عند الرغبة في أن تكون مخرجات الخلايا متمركزة حول الصفر. أيضًا لو ما تريد تنفيذه يتطلب أن تكون قيم المخرجات في نطاق محدد بين -1 و 1، فبعض أنواع الشبكات العصبية المتكررة RNNs أو مهام توليد النصوص التي تتطلب قيم احتمالية سالبة، بالتالي Tanh مناسبة للطبقة الأخيرة أي طبقة المخرجات. 1 اقتباس
0 Ali Ahmed55 نشر 9 فبراير الكاتب أرسل تقرير نشر 9 فبراير تمام بس لو العمود هتنباء بي عبار عن قيمه زي كده 0.0-47.0 فا الافضل في الطبقه الاخير الsigmoid و الا الlinear ؟ 1 اقتباس
0 محمد عاطف17 نشر 9 فبراير أرسل تقرير نشر 9 فبراير بتاريخ 19 دقائق مضت قال Ali Ahmed55: تمام بس لو العمود هتنباء بي عبار عن قيمه زي كده 0.0-47.0 فا الافضل في الطبقه الاخير الsigmoid و الا الlinear ؟ إذا كانت القيم مستمرة فالخيار الأفضل هو ال linear حيث أن الدالة الخطية مناسبة للتنبؤ بقيم مستمرة في نطاق غير محدود مثل 0.0 حتى 47.0. حيث إنها لا تقيد الناتج إلى نطاق معين (مثل 0 إلى 1 في حالة الـ sigmoid). أما إذا كانت القيم فئوية مثل تصنيفات أو أرقام محددة فيمكنك استخدام softmax (إذا كانت الفئات متبادلة أي إذا كانت الميزة لها فئة واحدة) أو sigmoid (إذا كانت الفئات غير متبادلة أي إذا كانت الميزة لها عدة فئات). ولك بالنسبة لمثالك هنا فإن القيم مستمرة ولهذا لا ينصح باستخدام sigmoid لأنها ستقيد الناتج بين 0 و1 حيث ال sigmoid تقوم بحصر القيم بين 0 و 1 مما يجعله غير مناسب عندما تحتاج إلى التنبؤ بقيم خارج هذا النطاق. ولكن إذا أردت إستخدام sigmoid فيمكنك تحويل القيمة في أخر طبقة للخرج هكذا : output = 47 × sigmoid وهنا سيكون النطاق بين 0 و 47 . فإذا كان ال sigmoid ب 0 سيكون النطاق 0 وإذا كان ال sigmoid ب 1 سيكون النطاق ب 47. 1 اقتباس
0 Ali Ahmed55 نشر 9 فبراير الكاتب أرسل تقرير نشر 9 فبراير تمام جدا الف شكراا جدا لحضرتكم جزاكم الله كل خير بتاريخ 23 دقائق مضت قال محمد عاطف17: إذا كانت القيم مستمرة فالخيار الأفضل هو ال linear حيث أن الدالة الخطية مناسبة للتنبؤ بقيم مستمرة في نطاق غير محدود مثل 0.0 حتى 47.0. حيث إنها لا تقيد الناتج إلى نطاق معين (مثل 0 إلى 1 في حالة الـ sigmoid). أما إذا كانت القيم فئوية مثل تصنيفات أو أرقام محددة فيمكنك استخدام softmax (إذا كانت الفئات متبادلة أي إذا كانت الميزة لها فئة واحدة) أو sigmoid (إذا كانت الفئات غير متبادلة أي إذا كانت الميزة لها عدة فئات). ولك بالنسبة لمثالك هنا فإن القيم مستمرة ولهذا لا ينصح باستخدام sigmoid لأنها ستقيد الناتج بين 0 و1 حيث ال sigmoid تقوم بحصر القيم بين 0 و 1 مما يجعله غير مناسب عندما تحتاج إلى التنبؤ بقيم خارج هذا النطاق. ولكن إذا أردت إستخدام sigmoid فيمكنك تحويل القيمة في أخر طبقة للخرج هكذا : output = 47 × sigmoid وهنا سيكون النطاق بين 0 و 47 . فإذا كان ال sigmoid ب 0 سيكون النطاق 0 وإذا كان ال sigmoid ب 1 سيكون النطاق ب 47. أ.محمد هي توزيع البيانات عندي كده efs_combined 0.0 13268 5.8 329 5.5 326 5.2 322 5.6 317 ... 27.7 1 24.1 1 37.6 1 21.8 1 17.2 1 اقتباس
السؤال
Ali Ahmed55
السلام عليكم
هو امتي استخدم الReLU وامتي استخدم الTanh في الشبكات العصبيه ؟
4 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.