بنية CNN الأساسية: شرح 5 طبقات من الشبكة العصبية التلافيفية
نشرت: 2020-12-07جدول المحتويات
مقدمة
في السنوات القليلة الماضية من صناعة تكنولوجيا المعلومات ، كان هناك طلب كبير على مجموعة مهارات معينة تعرف باسم التعلم العميق. التعلم العميق هو مجموعة فرعية من التعلم الآلي تتكون من خوارزميات مستوحاة من عمل الدماغ البشري أو الشبكات العصبية.
تسمى هذه الهياكل بالشبكات العصبية. إنه يعلم الكمبيوتر أن يفعل ما يحدث للبشر بشكل طبيعي. التعلم العميق ، هناك عدة أنواع من النماذج مثل الشبكات العصبية الاصطناعية (ANN) والمشفرات التلقائية والشبكات العصبية المتكررة (RNN) والتعلم المعزز. ولكن كان هناك نموذج واحد خاص ساهم كثيرًا في مجال رؤية الكمبيوتر وتحليل الصور وهو الشبكات العصبية التلافيفية (CNN) أو ConvNets.
CNNs هي فئة من الشبكات العصبية العميقة التي يمكنها التعرف على ميزات معينة وتصنيفها من الصور وتستخدم على نطاق واسع لتحليل الصور المرئية. وتتنوع تطبيقاتهم من التعرف على الصور والفيديو ، وتصنيف الصور ، وتحليل الصور الطبية ، ورؤية الكمبيوتر ، ومعالجة اللغة الطبيعية.
يشير مصطلح "الالتفاف" في CNN إلى الوظيفة الرياضية للالتواء وهي نوع خاص من العمليات الخطية حيث يتم مضاعفة وظيفتين لإنتاج دالة ثالثة تعبر عن كيفية تعديل شكل إحدى الوظائف بواسطة الأخرى. بعبارات بسيطة ، يتم ضرب صورتين يمكن تمثيلهما كمصفوفات لإعطاء مخرجات تُستخدم لاستخراج المعالم من الصورة.
تعلم التعلم الآلي عبر الإنترنت من أفضل الجامعات في العالم - الماجستير ، وبرامج الدراسات العليا التنفيذية ، وبرنامج الشهادة المتقدم في ML & AI لتسريع حياتك المهنية.
تعلم: مقدمة في التعلم العميق والشبكات العصبية

العمارة الأساسية
هناك جزءان رئيسيان لبنية CNN
- أداة التفاف تفصل وتحدد الميزات المختلفة للصورة لتحليلها في عملية تسمى استخراج الميزة
- طبقة متصلة بالكامل تستخدم ناتج عملية الالتواء وتتنبأ بفئة الصورة بناءً على الميزات المستخرجة في المراحل السابقة.

مصدر
طبقات الالتواء
هناك ثلاثة أنواع من الطبقات التي تشكل CNN وهي الطبقات التلافيفية وطبقات التجميع والطبقات المتصلة بالكامل (FC). عندما يتم تكديس هذه الطبقات ، سيتم تشكيل بنية CNN. بالإضافة إلى هذه الطبقات الثلاث ، هناك معلمتان أكثر أهمية وهما طبقة التسرب ووظيفة التنشيط المحددة أدناه.
1. طبقة تلافيفية
هذه الطبقة هي الطبقة الأولى التي يتم استخدامها لاستخراج الميزات المتنوعة من الصور المدخلة. في هذه الطبقة ، يتم تنفيذ العملية الرياضية للالتفاف بين الصورة المدخلة ومرشح بحجم معين MxM. من خلال تحريك المرشح فوق صورة الإدخال ، يتم أخذ المنتج النقطي بين المرشح وأجزاء صورة الإدخال فيما يتعلق بحجم المرشح (MxM).
يُطلق على الإخراج اسم خريطة المعالم التي تعطينا معلومات حول الصورة مثل الزوايا والحواف. لاحقًا ، يتم تغذية خريطة المعالم هذه إلى طبقات أخرى للتعرف على العديد من الميزات الأخرى للصورة المدخلة.
2. طبقة التجميع
في معظم الحالات ، الطبقة التلافيفية تتبعها طبقة التجميع. الهدف الأساسي من هذه الطبقة هو تقليل حجم خريطة المعالم المتضمنة لتقليل التكاليف الحسابية. يتم تنفيذ ذلك عن طريق تقليل الاتصالات بين الطبقات والعمل بشكل مستقل على كل خريطة معلم. اعتمادًا على الطريقة المستخدمة ، هناك عدة أنواع من عمليات التجميع.
في Max Pooling ، يتم أخذ أكبر عنصر من خريطة المعالم. يحسب متوسط التجميع متوسط العناصر في قسم صورة بحجم محدد مسبقًا. يتم حساب المجموع الإجمالي للعناصر في القسم المحدد مسبقًا في Sum Pooling. عادة ما تعمل طبقة التجميع كجسر بين الطبقة التلافيفية وطبقة FC
يجب أن تقرأ: أفكار مشروع الشبكة العصبية
3. طبقة متصلة بالكامل
تتكون طبقة الاتصال الكامل (FC) من الأوزان والتحيزات جنبًا إلى جنب مع الخلايا العصبية وتستخدم لربط الخلايا العصبية بين طبقتين مختلفتين. عادة ما يتم وضع هذه الطبقات قبل طبقة الإخراج وتشكل الطبقات القليلة الأخيرة من بنية CNN.
في هذا ، يتم تسوية الصورة المدخلة من الطبقات السابقة وتغذيتها إلى طبقة FC. يخضع المتجه المسطح بعد ذلك لعدد قليل من طبقات FC حيث تتم عادةً عمليات الوظائف الرياضية. في هذه المرحلة ، تبدأ عملية التصنيف.
4. التسرب
عادةً ، عندما يتم توصيل جميع الميزات بطبقة FC ، يمكن أن يتسبب ذلك في زيادة التجهيز في مجموعة بيانات التدريب. يحدث التجاوز عندما يعمل نموذج معين جيدًا على بيانات التدريب مما يتسبب في تأثير سلبي في أداء النموذج عند استخدامه على بيانات جديدة.
للتغلب على هذه المشكلة ، يتم استخدام طبقة التسرب حيث يتم إسقاط عدد قليل من الخلايا العصبية من الشبكة العصبية أثناء عملية التدريب مما يؤدي إلى تقليل حجم النموذج. عند اجتياز نسبة تسرب 0.3 ، يتم إسقاط 30 ٪ من العقد بشكل عشوائي من الشبكة العصبية.
5. وظائف التنشيط
أخيرًا ، تعد وظيفة التنشيط واحدة من أهم معلمات نموذج CNN. يتم استخدامها لمعرفة وتقريب أي نوع من العلاقة المستمرة والمعقدة بين متغيرات الشبكة. بكلمات بسيطة ، يقرر أي معلومات من النموذج يجب إطلاقها في الاتجاه الأمامي وأيها يجب ألا يتم إطلاقه في نهاية الشبكة.

يضيف اللاخطية إلى الشبكة. هناك العديد من وظائف التنشيط الشائعة الاستخدام مثل وظائف ReLU و Softmax و tanH والوظائف السينية. كل من هذه الوظائف لها استخدام محدد. بالنسبة إلى نموذج CNN للتصنيف الثنائي ، يُفضل استخدام وظائف السيني واللين ماكس لتصنيف متعدد الفئات ، يستخدم بشكل عام softmax المستخدم.
LeNet-5 CNN Architecture
في عام 1998 ، تم تقديم هندسة LeNet-5 في ورقة بحثية بعنوان "تطبيق التعلم القائم على التدرج المطبق على التعرف على المستندات" بواسطة Yann LeCun و Leon Bottou و Yoshua Bengio و Patrick Haffner. إنها واحدة من أقدم وأبسط هندسة CNN.
يتكون من 7 طبقات. تتكون الطبقة الأولى من صورة إدخال بأبعاد 32 × 32. يتم تحويله إلى 6 فلاتر مقاس 5 × 5 مما ينتج عنه أبعاد 28x28x6. الطبقة الثانية هي عملية التجميع التي يتم ترشيحها بحجم 2 × 2 وخطوة 2. ومن ثم سيكون أبعاد الصورة الناتجة 14 × 14 × 6.
وبالمثل ، تتضمن الطبقة الثالثة أيضًا عملية التفاف باستخدام 16 مرشحًا بحجم 5 × 5 متبوعة بطبقة تجميع رابعة ذات حجم مرشح مماثل 2 × 2 وخطوة 2. وبالتالي ، سيتم تقليل أبعاد الصورة الناتجة إلى 5 × 5 × 16.
بمجرد تقليل أبعاد الصورة ، تكون الطبقة الخامسة عبارة عن طبقة تلافيفية متصلة بالكامل بها 120 مرشحًا بحجم 5 × 5. في هذه الطبقة ، سيتم توصيل كل وحدة من 120 وحدة في هذه الطبقة بـ 400 (5 × 5 × 16) وحدة من الطبقات السابقة. الطبقة السادسة هي أيضًا طبقة متصلة بالكامل تحتوي على 84 وحدة.
ستكون الطبقة السابعة الأخيرة عبارة عن طبقة إخراج softmax مع فئات "n" الممكنة اعتمادًا على عدد الفئات في مجموعة البيانات.

مصدر
يمثل الرسم البياني أعلاه تمثيلاً للطبقات السبع لهندسة LeNet-5 CNN.
فيما يلي لقطات من كود Python لبناء بنية LeNet-5 CNN باستخدام مكتبة keras مع إطار عمل TensorFlow


في برمجة بايثون ، نوع النموذج الأكثر استخدامًا هو النوع المتسلسل. إنها أسهل طريقة لبناء نموذج CNN في keras. يسمح لنا ببناء نموذج طبقة طبقة. تُستخدم وظيفة "add ()" لإضافة طبقات إلى النموذج. كما هو موضح أعلاه ، بالنسبة إلى بنية LeNet-5 ، هناك زوجان من الالتفاف والتجميع متبوعين بطبقة مسطحة تُستخدم عادةً كوصلة بين طبقات الالتواء والطبقات الكثيفة.
الطبقات الكثيفة هي الطبقات المستخدمة في الغالب لطبقات الإخراج. التنشيط المستخدم هو "Softmax" الذي يعطي احتمالية لكل فئة وهي تلخص كليًا إلى 1. سيقوم النموذج بعمل تنبؤاته بناءً على الفئة ذات الاحتمالية الأعلى.
يتم عرض ملخص النموذج على النحو التالي.

خاتمة
ومن ثم ، في هذه المقالة ، فهمنا البنية الأساسية لشبكة CNN وهيكلها والطبقات المختلفة التي يتكون منها نموذج CNN. أيضًا ، رأينا مثالًا معماريًا لنموذج LeNet-5 الشهير والتقليدي للغاية مع برنامج Python الخاص به.
إذا كنت مهتمًا بمعرفة المزيد حول دورات التعلم الآلي ، فراجع برنامج IIIT-B & upGrad's Executive PG في التعلم الآلي والذكاء الاصطناعي المصمم للمهنيين العاملين ويقدم أكثر من 450 ساعة من التدريب الصارم ، وأكثر من 30 دراسة حالة ومهمة ، حالة خريجي IIIT-B ، أكثر من 5 مشاريع تكميلية عملية ومساعدة وظيفية مع أفضل الشركات.
ما هي وظائف التنشيط في CNN؟
تعد وظيفة التنشيط واحدة من أكثر المكونات حيوية في نموذج CNN. يتم استخدامها لمعرفة وتقريب أي شكل من أشكال ارتباط الشبكة المتغير إلى المتغير المستمر والمعقد. بعبارات بسيطة ، فهي تحدد معلومات النموذج التي يجب أن تتدفق في الاتجاه الأمامي وأيها لا ينبغي أن تتدفق في نهاية الشبكة. يعطي الشبكة اللاخطية. تعد وظائف ReLU و Softmax و tanH و Sigmoid بعضًا من وظائف التنشيط الأكثر استخدامًا. كل هذه الوظائف لها استخدامات مميزة. بالنسبة لنموذج CNN من فئة 2 ، يتم تفضيل الدالتين السيني والسوفت ماكس ، في حين يتم استخدام softmax عادةً لتصنيف متعدد الفئات.
ما هي المكونات الأساسية لبنية الشبكة العصبية التلافيفية؟
تشكل طبقة الإدخال وطبقة الإخراج والطبقات المخفية المتعددة شبكات تلافيفية. يتم ترتيب الخلايا العصبية في طبقات الشبكة التلافيفية في ثلاثة أبعاد ، على عكس تلك الموجودة في الشبكة العصبية القياسية (أبعاد العرض والارتفاع والعمق). يتيح ذلك لشبكة CNN تحويل حجم إدخال ثلاثي الأبعاد إلى حجم إخراج. تشكل الطبقات الملتوية والتجميع والتطبيع والمتصلة بالكامل الطبقات المخفية. تُستخدم طبقات التحويل المتعددة في شبكات CNN لتصفية أحجام الإدخال إلى مستويات أعلى من التجريد.
ما فائدة البنيات القياسية لشبكة CNN؟
بينما تتألف معماريات الشبكات التقليدية فقط من طبقات تلافيفية مكدسة ، تبحث البنى الحديثة في طرق جديدة ومبتكرة لبناء طبقات تلافيفية من أجل تحسين كفاءة التعلم. توفر هذه البنى توصيات معمارية عامة لممارسي التعلم الآلي للتكيف من أجل التعامل مع مجموعة متنوعة من مشاكل رؤية الكمبيوتر. يمكن استخدام هذه البنى كمستخلصات غنية بالميزات لتصنيف الصور وتحديد الكائنات وتجزئة الصورة ومجموعة متنوعة من المهام المتقدمة الأخرى.
