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

تُعدُّ الشبكات العصبية Neural Networks نموذجًا حاسوبيًا مستوحى من الدماغ البشري يحلل البيانات ويتعلم منها بعدة طرق، كالتعلم العميق الذي يمكنك الاطلاع عليه أكثر من مقال دليل المبتدئين لفهم أساسيات التعلم العميق، ومن فروعها الشبكات العصبية الالتفافية Convolutional Neural Networks - CNNs، المصممة لاستخراج المزايا والتعرف على الكائنات من البيانات، وتستخدم خصيصًا في مجال تصنيف الصور وتحليل محتوياتها.

تُمثَّل بيانات الإدخال input data لمعظم الشبكات العصبية بمصفوفة matrix شكلها يعتمد على نوع البيانات، فمثلًا يمكن تمثيل الصور بمصفوفة أبعادها هي الطول حجمه يساوي طول الصورة، والعرض حجمه يساوي عرض الصورة، واللون لكل بكسل pixel في الصورة يتألف من ثلاث ألوان الأحمر والأخضر والأزرق RGB أي حجمه يساوي 3، فيمكن تمثيل الصورة بمصفوفة ثلاثية الأبعاد حجمها الطول×العرض×3.

سنتعرف في هذا المقال على مكونات الشبكات العصبية الالتفافية وطريقة عمل كل منها وأهم التطبيقات العملية التي تستخدم فيها.

أنواع وترتيب طبقات الشبكات الالتفافية

يتميز هذا النوع من الشبكات العصبية بالأداء العالي في التعامل مع البيانات متعددة الأبعاد كالصور والصوتيات والتي تكون دخلًا لهذه الشبكة وتُمثّل على شكل مصفوفة بيانات الإدخال input data، ثم تمرر تلك المصفوفة إلى طبقات الشبكة وهي ثلاث أنواع رئيسية بالترتيب التالي بطبقة واحدة أو أكثر من كل نوع وهي:

  1. الطبقة الالتفافية Convolutional layer
  2. طبقة التجميع Pooling layer
  3. الطبقة المتصلة كليًا Fully connected layer

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

الطبقة الالتفافية Convolutional layer

هي أساس الشبكات العصبية الالتفافية تحوّل مصفوفة البيانات المدخلة إليها إلى مصفوفة جديدة تعبّر عن المزايا الموجودة ضمنها، حيث تستخدم المُرشّح filter ويسمى أيضًا النواة kernal أو كاشف الميزة feature detector والذي يكون حجمه صغيرًا للالتفاف -لذا سُميت الطبقة بالالتفافية- على أجزاء من مصفوفة الدخل، وفي كل خطوة تُطبّق عملية الضرب النقطي dot product بين المرشح وجزء من مصفوفة الدخل لينتج عنها مصفوفة جديدة تدعى خارطة الميزة feature map أو خارطة التفعيل activation map أو الميزة المُلتفة convolved feature.

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

image.png

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

image.png

شكل مصفوفة المٌرشح Filter matrix

يمثل كل مرشح ميزة صغيرة على شكل مصفوفة أوزان weights تُعدّل خلال عملية التدريب لتصحيح عمل الشبكة وتصبح قادرة على استكشاف المزايا التي نبحث عنها، وشكل المصفوفة يماثل شكل مصفوفة بيانات الإدخال من حيث عدد الأبعاد، أما حجم كل بعد يعتمد على مدى قرب المزايا التي نبحث عنها من المعنى الذي يُعبّر عنه البعد المقابل في مصفوفة بيانات الإدخال.

فمثلًا لتحليل صورة مُمثلة بمصفوفة ثلاثية الأبعاد يجب أن تكون المرشحات بنفس الشكل أي ثلاثية الأبعاد أيضًا، أما حجم كل بعد وبما أن طول وعرض الصورة لا يعبر مباشرة عن المزايا الموجودة ضمن الصورة، فحجم الأبعاد المقابلة لها ضمن المرشح تكون صغيرة مثلا بحجم 5×5 أو 3×3، أما بُعد اللون فهو يُعبر عن محتوى الصورة فيكون حجم البعد المقابل له ضمن المرشح مساويًا له أي 3، لتكون حجم المرشحات الممكنة 5×5×3 أو 3×3×3 أو أي قيم أخرى مماثلة.

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

  • الحشو الصحيح Valid padding بتجاهل عمليات المسح النهائية التي لا تتناسب بالحجم
  • الحشو المماثل Same padding بإضافة أصفار لحواف مصفوفة المرشح ليكون حجم مصفوفة الخرج مساويًا لحجم مصفوفة بيانات الإدخال
  • الحشو الكلي Full padding بإضافة أصفار في حواف مصفوفة البيانات لزيادة حجم مصفوفة الخرج

طبقة التجميع Pooling layer

وظيفتها تقليل أبعاد وشكل المصفوفة الداخلة إليها، وطريقة عملها تشبه طبقة الالتفاف، بتمرير مرشح على المصفوفة المدخلة إليها.

الفرق أن المرشح في هذه الطبقة لا يحوي أوزانًا بل هو دالة تجميع aggregation تُطبّق على أجزاء الدخل وتكتب نتائج ذلك المسح في مصفوفة الخرج الأقل بعدًا، وهناك نوعين من هذه الدوال تختلف في طريقة حساب النتيجة أثناء المسح:

  • التجميع الأعظمي Max pooling يُختار فيه أعلى القيم
  • التجميع الوسطي Average pooling يُحسب فيه وسطي القيم

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

الطبقة المتصلة كليًا Fully connected layer

تتكون من طبقات ضمن كل منها أعداد مختلفة من العقد nodes، بحيث تتصل فيها العقد من كل طبقة مع كل العقد في الطبقة التي تليها، وتطبق في كل عقدة أوزان على مدخلات العقدة ثم تطبق على النتيجة دالة تفعيل عادة تكون من نوع softmax وينتج عنها احتمال من صفر إلى واحد، وتكرر هذه العملية في جميع طبقات العقد للوصول إلى الطبقة النهائية.

تستكشف هذه الطبقة الأنماط من المزايا المستخرجة من الطبقات السابقة من الشبكة، وتعطي جوابًا نهائيًا وهو خرج الشبكة ككل.

تطبيقات الشبكات العصبية الالتفافية

من أهم استخدامات هذه الشبكة في مجال الذكاء الاصطناعي هي مهام الرؤية الحاسوبية لتحليل واستخراج المعلومات من الصور والفيديوهات وحتى الصوتيات.

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

خلاصة

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

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

اقرأ أيضًا


تفاعل الأعضاء

أفضل التعليقات

لا توجد أية تعليقات بعد



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

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

زائر
أضف تعليق

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.


×
×
  • أضف...