Tensorflow(@CVision)
13K subscribers
1.11K photos
190 videos
67 files
2.1K links
اخبار حوزه یادگیری عمیق و هوش مصنوعی
مقالات و یافته های جدید یادگیری عمیق
بینایی ماشین و پردازش تصویر

TensorFlow, Keras, Deep Learning, Computer Vision

سایت دوره
http://class.vision

👨‍💻👩‍💻پشتیبان دوره ها:
@classvision_support
Download Telegram
#آموزش

پارامتر مربوط به regularization وزنها در Keras چیست؟!

#kernel_regularizer vs #activity_regularizer

اگر در مستندات مرتبط کراس نگاه کنید

سه پارامتر برای regularizer در این فریم ورک معرفی شده است:

-kernel_regularizer
-bias_regularizer
-activity_regularizer

برای مثال

from keras import regularizers
model.add(Dense(64, input_dim=64,
kernel_regularizer=regularizers.l2(0.01),
activity_regularizer=regularizers.l1(0.01)))


خب پارامتر bias_regularizer که بر روی وزنهای بایاس است و معمولا به دلیل ابعاد کم استفاده نمیشود.
اما دو پارامتر دیگر چیستند؟ کدام پارامتر برای استفاده از l2 regularization معروف به weight decay است؟

احتمالا با روش L2 Regularization به عنوان روشی برای جلوگیری از overfitting آشنا هستید.

دوستانی که دیپ لرنینگ را با کورس های اندروانگ دنبال کردند
در کورس دوم Deep learning specialization که توسط Andrew Ng تحت عنوان Improving Deep Neural Networks, Hyperparameter tuning, Regularization and Optimization ارائه شد در روش های مختلف Regularization ایشون روشی را با نام L2 regularization معرفی کردند.

روشی که در این کورس مطرح شد و سایر منابع معمولا مطرح میکنند پنالتی بر روی وزنهای شبکه است که قبلا در فریم ورک کراس با پارامتر weight_regularizer بود...

اما این فریم ورک در نسخه ی فعلیش پارامتر weight_regularizer را ندارد و دو پارامتر به نامهای
▪️kernel_regularizer
▪️activity_regularizer
اضافه کرده است.

از بین این پارامتر ها kernel_regularizer در واقع همان weight_regularizer یا روش weigh-decay است که در منابعی مثل کورس اندرو انگ مطرح شدند و پنالتی را بر روی وزنهای شبکه اعمال میکند.

اما activity_regularizer که در کورس اندروانگ توضیح داده نشده ولی کراس آن را پیاده سازی کرده روشی است که پنالتی را بر روی خروجی هر لایه(بعد از تابع فعالیت) اعمال میکند! نکته ی مهم اینکه این روش از قبل نسخه ۲.۱.۴ باگ داشته و اگر میخواهید استفاده کنید باید نسخه کراس شما به روز باشد.

در مورد روش دوم در این لینک کمی توضیح داده شده است:
https://datascience.stackexchange.com/questions/15187/regularization-practice-with-anns/15195#15195

این مطلب در stackoverflow هم مرتبطه با ابهامی که بیان کردم:
https://stackoverflow.com/questions/44495698/keras-difference-between-kernel-and-activity-regularizers

#regularization
#آموزش

پارامتر مربوط به regularization وزنها در Keras چیست؟!

#kernel_regularizer vs #activity_regularizer


https://t.me/cvision/1219

#keras #tensorflow2 #regularization