معمارية نموذج VGG16 واستخدامه في استخراج الميزات - كتاب الذكاء الإصطناعي - الصف 12 - الفصل 1 - المملكة العربية السعودية

الكتاب: كتاب الذكاء الإصطناعي - الصف 12 - الفصل 1 | المادة: الذكاء الإصطناعي | المرحلة: الصف 12 | الفصل الدراسي: 1

الدولة: المملكة العربية السعودية | المنهج: المنهج السعودي - وزارة التعليم

الدرس: شكل 4.22: معمارية نموذج VGG16

📚 معلومات الصفحة

الكتاب: كتاب الذكاء الإصطناعي - الصف 12 - الفصل 1 | المادة: الذكاء الإصطناعي | المرحلة: الصف 12 | الفصل الدراسي: 1

الدولة: المملكة العربية السعودية | المنهج: المنهج السعودي - وزارة التعليم

نوع المحتوى: example

مستوى الصعوبة: متوسط

📝 ملخص الصفحة

تقدم هذه الصفحة شرحاً عملياً لاستخدام نموذج VGG16 المدرب مسبقاً في استخراج الميزات من الصور باستخدام مكتبتي TensorFlow وKeras. يبدأ المحتوى بشرح كيفية استيراد النموذج واقتطاعه بإزالة الطبقة الأخيرة للتركيز على استخراج الميزات بدلاً من التصنيف.

يتضمن النص أمثلة برمجية توضح خطوات المعالجة الأولية للصور، مثل تحجيم قيم ألوان RGB لتكون بين 0 و1 باستخدام الدالة `preprocess_input`، مما يضمن توافق البيانات مع متطلبات نموذج VGG16. كما يوضح كيفية تحويل الصور إلى متجهات مكونة من 4096 عنصراً باستخدام النموذج المقتطع.

يذكر المحتوى استخدام المعالجة المتعددة (`multiprocessing=True`) لتسريع عملية التنبؤ، ويختتم بتطبيق تقنية t-SNE لتصوير البيانات المتجهة بصرياً. يرافق هذا مخطط يوضح معمارية VGG16، الذي يظهر تدفق البيانات من المدخل إلى المخرج عبر طبقات تلافيفية وتجميعية وكثيفة.

📋 المحتوى المنظم

📖 محتوى تعليمي مفصّل

شكل 4.22: معمارية نموذج VGG16

نوع: FIGURE_REFERENCE

شكل 4.22: معمارية نموذج VGG16

نوع: محتوى تعليمي

يمكن استخدام مكتبة TensorFlow ومكتبة Keras اللتين تعرفت عليهما في الدرس السابق للوصول إلى نموذج VGG16 واقتطاعه. وتتمثل الخطوة الأولى في استيراد جميع الأدوات المطلوبة:

نوع: محتوى تعليمي

from keras.applications.vgg16 import VGG16 # used to access the pre-trained VGG16 model from keras.models import Model model = VGG16() # loads the pretrained VGG16 model # removes the output layer model = Model(inputs = model.inputs, outputs = model.layers[-2].output)

نوع: محتوى تعليمي

يحذف الطبقة الأخيرة من المخرج.

نوع: محتوى تعليمي

يطبق المقطع البرمجي التالي المعالجة الأولية الأساسية نفسها التي يتطلبها نموذج VGG16 مثل: تحجيم قيم ألوان RGB لتكون بين 0 و 1:

نوع: محتوى تعليمي

from keras.applications.vgg16 import preprocess_input X_prep = preprocess_input(X) X_prep.shape

نوع: محتوى تعليمي

(1085, 224, 224, 3)

نوع: محتوى تعليمي

لاحظ أن شكل البيانات يظل كما هو، أي: ألف وخمس وثمانون صورة، كل صورة منها أبعادها 224 × 224 وثلاث قنوات ألوان RGB. وبعد ذلك يمكن استخدام النموذج المقتطع لتحويل كل صورة إلى متجه مكون من 4,096 عدد.

نوع: محتوى تعليمي

X_VGG16 = model.predict(X_prep, use_multiprocessing = True) X_VGG16.shape

نوع: محتوى تعليمي

34/34 [==============================] - 57s 2s/step (1085, 4096)

نوع: محتوى تعليمي

يضبط متغير المعالجة المتعددة (تفعيل المعالجة المتعددة) multiprocessing=True لتسريع العملية من خلال حساب المتجهات للصور المتعددة بالتوازي، وقبل إكمال خطوة التجميع يُستخدم المقطع البرمجي التالي لتصوير البيانات المتجهة (Vectorized Data):

نوع: محتوى تعليمي

tsne = TSNEVisualizer(colors = color_palette) tsne.fit(X_VGG16, labels) tsne.show();

نوع: METADATA

وزارة التعليم 231 Ministry of Education 2025 - 1447

🔍 عناصر مرئية

معمارية نموذج VGG16

A block diagram illustrating the architecture of the VGG16 convolutional neural network. It shows the flow from an 'Input' (المدخل) on the left to an 'Output' (المخرج) on the right. The architecture consists of sequential blocks of convolutional (Conv) layers and pooling (Pooling) layers, followed by dense (Dense) layers. The Conv layers are shown in white/grey, Pooling layers in light green, and Dense layers in light pink. The sequence of layers is: Conv 1-1, Pooling; Conv 2-1, Conv 2-2, Pooling; Conv 3-1, Conv 3-2, Conv 3-3, Pooling; Conv 4-1, Conv 4-2, Conv 4-3, Pooling; Conv 5-1, Conv 5-2, Conv 5-3, Pooling; followed by three Dense layers.

📄 النص الكامل للصفحة

--- SECTION: شكل 4.22: معمارية نموذج VGG16 --- شكل 4.22: معمارية نموذج VGG16يمكن استخدام مكتبة TensorFlow ومكتبة Keras اللتين تعرفت عليهما في الدرس السابق للوصول إلى نموذج VGG16 واقتطاعه. وتتمثل الخطوة الأولى في استيراد جميع الأدوات المطلوبة:from keras.applications.vgg16 import VGG16 # used to access the pre-trained VGG16 model from keras.models import Model model = VGG16() # loads the pretrained VGG16 model # removes the output layer model = Model(inputs = model.inputs, outputs = model.layers[-2].output)يحذف الطبقة الأخيرة من المخرج.يطبق المقطع البرمجي التالي المعالجة الأولية الأساسية نفسها التي يتطلبها نموذج VGG16 مثل: تحجيم قيم ألوان RGB لتكون بين 0 و 1:from keras.applications.vgg16 import preprocess_input X_prep = preprocess_input(X) X_prep.shape(1085, 224, 224, 3)لاحظ أن شكل البيانات يظل كما هو، أي: ألف وخمس وثمانون صورة، كل صورة منها أبعادها 224 × 224 وثلاث قنوات ألوان RGB. وبعد ذلك يمكن استخدام النموذج المقتطع لتحويل كل صورة إلى متجه مكون من 4,096 عدد.X_VGG16 = model.predict(X_prep, use_multiprocessing = True) X_VGG16.shape34/34 [==============================] - 57s 2s/step (1085, 4096)يضبط متغير المعالجة المتعددة (تفعيل المعالجة المتعددة) multiprocessing=True لتسريع العملية من خلال حساب المتجهات للصور المتعددة بالتوازي، وقبل إكمال خطوة التجميع يُستخدم المقطع البرمجي التالي لتصوير البيانات المتجهة (Vectorized Data):tsne = TSNEVisualizer(colors = color_palette) tsne.fit(X_VGG16, labels) tsne.show();2025 - 1447--- VISUAL CONTEXT --- **DIAGRAM**: معمارية نموذج VGG16 Description: A block diagram illustrating the architecture of the VGG16 convolutional neural network. It shows the flow from an 'Input' (المدخل) on the left to an 'Output' (المخرج) on the right. The architecture consists of sequential blocks of convolutional (Conv) layers and pooling (Pooling) layers, followed by dense (Dense) layers. The Conv layers are shown in white/grey, Pooling layers in light green, and Dense layers in light pink. The sequence of layers is: Conv 1-1, Pooling; Conv 2-1, Conv 2-2, Pooling; Conv 3-1, Conv 3-2, Conv 3-3, Pooling; Conv 4-1, Conv 4-2, Conv 4-3, Pooling; Conv 5-1, Conv 5-2, Conv 5-3, Pooling; followed by three Dense layers. Key Values: المدخل, Conv 1-1, Pooling, Conv 2-1, Conv 2-2, Pooling, Conv 3-1, Conv 3-2, Conv 3-3, Pooling, Conv 4-1, Conv 4-2, Conv 4-3, Pooling, Conv 5-1, Conv 5-2, Conv 5-3, Pooling, Dense, المخرج Context: This diagram visually represents the VGG16 model architecture, which is being used and modified in the accompanying code examples for feature extraction and image processing within a deep learning context.

🎴 بطاقات تعليمية للمراجعة

عدد البطاقات: 5 بطاقة لهذه الصفحة

ما هو الغرض الأساسي من استخدام نموذج VGG16 في السياق الموضح؟

الإجابة: يُستخدم نموذج VGG16 لاستخلاص الميزات (feature extraction) من الصور، حيث يتم تحويل كل صورة إلى متجه رقمي بعد إزالة الطبقة الأخيرة للمخرج.

الشرح: نموذج VGG16، وهو شبكة عصبية تلافيفية عميقة، يتم استخدامه هنا لاستخراج تمثيلات غنية للصور. عن طريق إزالة الطبقة النهائية، يصبح النموذج قادراً على إنتاج متجه ميزات لكل صورة بدلاً من تصنيفها.

تلميح: فكر في عملية تحويل الصورة إلى تمثيل رقمي يمكن معالجته.

ما هي الخطوات الأساسية التي يتم اتباعها عند استخدام نموذج VGG16 المقتطع لاستخلاص الميزات؟

الإجابة: تتضمن الخطوات: 1. استيراد الأدوات المطلوبة (VGG16، Model) من Keras. 2. تحميل نموذج VGG16 المدرب مسبقاً واقتطاعه بإزالة الطبقة الأخيرة. 3. تطبيق المعالجة الأولية على الصور (مثل تحجيم قيم RGB بين 0 و 1). 4. تمرير الصور المعالجة عبر النموذج المقتطع للحصول على المتجهات. 5. (اختياري) استخدام تقنيات مثل t-SNE لتصوير البيانات المتجهة.

الشرح: هذه الخطوات توضح المسار الكامل لاستخدام VGG16 كأداة لاستخلاص الميزات، بدءاً من إعداد النموذج والبيانات وصولاً إلى الحصول على التمثيل المتجهي للصورة.

تلميح: رتّب العمليات حسب تسلسل تطبيقها بدءاً من التحضير وصولاً إلى الاستخلاص.

ما هي وظيفة الدالة `preprocess_input` عند استخدامها مع نموذج VGG16؟

الإجابة: وظيفة الدالة `preprocess_input` هي تطبيق المعالجة الأولية اللازمة لنموذج VGG16، والتي تتضمن غالباً تحجيم قيم ألوان RGB للصور لتكون ضمن نطاق معين (عادة بين 0 و 1) لتناسب متطلبات المدخلات للنموذج.

الشرح: نماذج التعلم العميق، مثل VGG16، تتطلب أن تكون بيانات الإدخال بتنسيق ومعايير محددة. `preprocess_input` تضمن أن الصور تتبع هذه المتطلبات، مما يحسن من أداء النموذج.

تلميح: فكر في كيفية تجهيز البيانات لتكون متوافقة مع مدخلات النموذج.

ماذا تمثل الأبعاد (1085, 224, 224, 3) للبيانات بعد المعالجة الأولية؟

الإجابة: تمثل الأبعاد: 1085 عدد الصور، 224 × 224 أبعاد كل صورة (الارتفاع والعرض)، و 3 عدد قنوات الألوان (RGB).

الشرح: فهم أبعاد البيانات أمر أساسي في معالجة الصور والتعلم الآلي. هذا التنسيق (عدد الصور، الارتفاع، العرض، القنوات) شائع جداً في مكتبات معالجة الصور.

تلميح: فسّر كل رقم في البعد حسب ترتيبه القياسي لبيانات الصور.

كيف يؤثر ضبط `use_multiprocessing=True` على عملية استخلاص المتجهات باستخدام نموذج VGG16؟

الإجابة: يؤدي ضبط `use_multiprocessing=True` إلى تسريع عملية استخلاص المتجهات من خلال حسابها للعديد من الصور بالتوازي باستخدام المعالجة المتعددة، مما يقلل من الوقت اللازم لمعالجة مجموعة بيانات كبيرة.

الشرح: المعالجة المتعددة هي تقنية شائعة لتحسين الأداء في المهام التي يمكن تقسيمها إلى أجزاء مستقلة، مثل معالجة كل صورة على حدة، مما يسمح بإنجاز العمل في وقت أقل.

تلميح: فكر في معنى "المعالجة المتعددة" وكيف يمكن أن تزيد من السرعة.