ML 101
M07 · L02
الوحدة 7

الـ CNN architecture

رص الـ convolutional layers في شبكة كاملة محتاج تصميم واعي. كام filter؟ وعمق قد إيه؟ ونعمل pooling إمتى؟ الـ architectures الكلاسيكية — من LeNet لـ ResNet — بتجاوب على الأسئلة دي وبتكشف ليه العمق مهم للدرجة دي. ده الـ CNN architecture (بنية الشبكة التلافيفية).

01 / 11
ML 101
M07 · L02
الـ feature maps

filters كتير بالتوازي

الـ convolutional layer بتطبّق F filter في نفس الوقت، فبتطلّع F feature map (خريطة مزايا). كل filter بيتعلّم يكشف pattern مختلف. layer فيها 64 filter على input 224×224 بتطلّع 64 feature map، واحدة لكل كاشف الشبكة اتعلّمته.

الـ input
H×W×C
الـ output
H×W×F
02 / 11
ML 101
M07 · L02
عدد الـ parameters

كام weight؟

كل filter ليه k×k×C weight وbias واحد. فـ layer فيها F filter على input فيه C channel ليها F×(k²C + 1) parameter — مستقل عن الحجم المكاني H×W. ودي قوة الـ weight sharing.

parameters الـ convolutional layer
\text{Params} = F \times (k^2 \times C + 1)
03 / 11
ML 101
M07 · L02
المخطط الكلاسيكي

convolution ← pooling ← وعيد

الوصفة الأساسية للـ CNN بتبدّل بين blocks الـ convolution وlayers الـ pooling، فبتقلّص الحجم المكاني تدريجيًا وبتكتّر الـ channels قصاده. والـ dense layers في الآخر بتحوّل حجم المزايا الأخير لدرجات للفئات.

الرص المعتاد
convolution → ReLU → pooling → convolution → ReLU → pooling → fully connected → softmax
04 / 11
ML 101
M07 · L02
LeNet-5 (1998)

الشبكة الرائدة

  • الـ input: 32×32 رمادي (أرقام مكتوبة بخط الإيد)
  • مرحلتين convolution وpooling بيطلّعوا المزايا المحلية
  • 3 fully connected layers بتصنّف لـ 10 فئات أرقام
  • ~60K parameter — حاجة صغيرة جدًا بمقاييس النهارده
  • أثبتت إن الـ CNNs بتغلب الـ fully connected networks في مهام الرؤية
05 / 11
ML 101
M07 · L02
AlexNet وVGG

نروح أعمق

  • AlexNet (2012) — 5 convolutional layers، ~60M parameter، كسبت ImageNet بفرق ضخم؛ ودخّلت ReLU وDropout
  • VGG-16 (2014) — 13 convolutional layer، filters 3×3 بس؛ أثبتت إن العمق بـ filters صغيرة بيغلب العرض بـ filters كبيرة
  • convolutional layerين 3×3 فوق بعض ليهم نفس الـ receptive field بتاع layer واحدة 5×5، بس بـ parameters أقل ولاخطية أكتر
06 / 11
ML 101
M07 · L02
ResNet (2015)

الـ skip connections

الشبكات العميقة جدًا بتعاني من الـ vanishing gradients — الإشارة بتصغر لصفر قبل ما توصل للـ layers الأولى. والـ ResNet بتحل ده بـ residual shortcut: الـ output هو F(x) + x. فالـ layer مش محتاجة غير إنها تتعلّم الفرق عن الـ identity. ودي الـ skip connections (الوصلات المتخطية).

الـ residual block
y = F(x,\{W_i\}) + x
07 / 11
ML 101
M07 · L02
الـ architectures الحديثة

Inception وEfficientNet

  • Inception — بتطبّق filters 1×1 و3×3 و5×5 بالتوازي وتدمج النتايج؛ فبتسيب الشبكة تختار الـ receptive field بتاعها في كل layer
  • الـ convolutions 1×1 — بتخلط الـ channels بتكلفة رخيصة من غير ما تغيّر الحجم المكاني؛ وبتشتغل كـ dimensionality reduction بيتعلّم
  • EfficientNet — بتوسّع العمق والعرض والدقة مع بعض بمعامل مركّب؛ أحسن كفاءة لحد النهارده
08 / 11
ML 101
M07 · L02
الـ transfer learning

أعِد استخدام weights متدرّبة

  • الـ models المتدرّبة على ImageNet اتعلّمت فعلًا مزايا بصرية قوية من 1.2 مليون صورة
  • الـ feature extraction — جمّد كل الـ convolutional layers؛ ودرّب classification head جديد على بياناتك بس
  • الـ fine-tuning — افتح الـ layers الأخيرة؛ وأعِد تدريبها بـ learning rate صغير عشان تناسب مجالك
  • بينجح حتى لما المجالات تختلف: التصوير الطبي، وصور الأقمار الصناعية، والفحص الصناعي
09 / 11
ML 101
اختبار سريع

شوف إيه اللي ثبت

أربع أسئلة من الدرس ده. جاوب عشان تشوف السبب — الشرح بيظهر سواء جاوبت صح أو غلط. ونتيجتك مش بتتحفظ.

السؤال 1 من 0
النتيجة 0/0

10 / 11
ML 101
الخلاصة
مراجعة

اتعلّمت إيه

الـ convolutional layer بتطبّق F filter، كل واحد مقاسه k×k×C، فبتطلّع F feature map. ونمط convolution → ReLU → pooling الكلاسيكي بيقلّص الحجم المكاني ويزوّد العمق. LeNet مهّدت للوصفة، وAlexNet وVGG أثبتوا إن العمق بيكسب، والـ skip connections في ResNet خلّت الشبكات العميقة جدًا ممكن تتدرّب. والـ transfer learning بيعيد استخدام weights pretrained، فبيخلّي CNNs قوية ممكنة حتى مع datasets صغيرة.

الدرس الجاي
11 / 11