اذهب إلى المحتوى
  • 0

 ما الفرق بين تمرير دالة التنشيط كوسيط أو استخدامها كطبقة Activation في كيراس Keras

Chollet ML

السؤال

 ما الفرق بين تمرير دالة التنشيط كوسيط كما في المثال التالي :

from tensorflow.keras import layers
model.add(layers.Dense(64, activation='relu'))

أو استخدامها كطبقة Activation مستقلة:

from tensorflow.keras import layers
from tensorflow.keras import activations
model.add(layers.Dense(64))
model.add(layers.Activation(activations.relu))


 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 3

أولاً هذه الطبقة تمكننا من إضافة دالة التنشيط التي نريدها إلى نموذجنا تماماً كما في الشكل الذي أضفته، أما بالنسبة للفرق بين الطريقتين فلايوجد فرق من حيث المبدأ لكن الفرق يكون من حيث الاستخدام والهدف، فعندما تريد مثلاً تطبيق ال Bachnormlaization أو ال Layer Normlaization على قيم z فهنا أنت بحاجة لفصل التنشيط عن قيم ال z التي تنتجها الخلايا، لاحظ المثال التالي:

model = models.Sequential()
model.add(layers.Dense(64,input_shape=(10000,)))
model.add(keras.layers.LayerNormalization())
model.add(layers.Activation("relu"))
model.add(layers.Dense(64))
model.add(keras.layers.LayerNormalization())
model.add(layers.Activation("relu"))
model.add(layers.Dense(46, activation='softmax'))

وهنا أيضاً:

AlexNet.add(Conv2D(filters=256, kernel_size=(3,3), strides=(1,1), padding='same'))
AlexNet.add(BatchNormalization()) # هنا
AlexNet.add(Activation('relu'))
AlexNet.add(MaxPooling2D(pool_size=(2,2), strides=(2,2), padding='same'))
رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...