بنية CNN الأساسية: شرح 5 طبقات من الشبكة العصبية التلافيفية [الولايات المتحدة]
نشرت: 2023-04-16شبكة CNN (الشبكة العصبية التلافيفية) هي نوع من الشبكات العصبية للتعلم العميق التي تستخدم مزيجًا من الطبقات التلافيفية والاختزال الفرعية لتعلم الميزات من مجموعات كبيرة من البيانات. يستخدم بشكل شائع لمهام التعرف على الصور وتصنيفها. تطبق الطبقات التلافيفية المرشحات على بيانات الإدخال ، وتقلل طبقات العينات الفرعية من حجم بيانات الإدخال. تهدف بنية الشبكة العصبية التلافيفية إلى تعلم الميزات من البيانات التي يمكن استخدامها لتصنيف أو اكتشاف الكائنات في الإدخال. فيما يلي شرح 5 طبقات CNN .
قم بالتسجيل في دورة التعلم الآلي من أفضل الجامعات في العالم. اربح ماجستير أو برنامج PGP تنفيذي أو برامج شهادات متقدمة لتتبع حياتك المهنية بشكل سريع.
جدول المحتويات
5 طبقات من الشبكة العصبية التلافيفية
1. الطبقة التلافيفية:
تقوم هذه الطبقة بتنفيذ عملية الالتفاف على بيانات الإدخال ، والتي تستخرج ميزات مختلفة من البيانات.
تعد الطبقات التلافيفية في بنية نموذج CNN واحدة من أكثر المكونات الحيوية لطبقات CNN . هذه الطبقات مسؤولة عن استخراج الميزات من بيانات الإدخال وتشكيل الأساس لمزيد من المعالجة والتعلم.
تتكون الطبقة التلافيفية من مجموعة من المرشحات (تُعرف أيضًا باسم النواة) المطبقة على بيانات الإدخال بطريقة نافذة منزلقة. يستخرج كل مرشح مجموعة محددة من الميزات من بيانات الإدخال بناءً على الأوزان المرتبطة بها.
عدد المرشحات المستخدمة في الطبقة التلافيفية هو أحد المعلمات الفائقة الرئيسية في البنية. يتم تحديده بناءً على نوع البيانات التي تتم معالجتها بالإضافة إلى الدقة المطلوبة للنموذج. بشكل عام ، سينتج عن المزيد من عوامل التصفية المزيد من الميزات المستخرجة من بيانات الإدخال ، مما يسمح ببنى شبكات أكثر تعقيدًا لفهم البيانات بشكل أفضل.
تتكون عملية الالتفاف من ضرب كل مرشح بالبيانات الموجودة داخل النافذة المنزلقة وتلخيص النتائج. تتكرر هذه العملية لجميع المرشحات ، مما ينتج عنه خرائط معالم متعددة لطبقة تلافيفية واحدة. تُستخدم خرائط المعالم هذه بعد ذلك كمدخلات للطبقات التالية ، مما يسمح للشبكة بمعرفة المزيد من الميزات المعقدة من البيانات.
الطبقات التلافيفية هي أساس بنيات التعلم العميق وتستخدم في تطبيقات مختلفة ، مثل التعرف على الصور ومعالجة اللغة الطبيعية والتعرف على الكلام. من خلال استخراج أهم الميزات من بيانات الإدخال ، تمكّن الطبقات التلافيفية الشبكة من التعرف على أنماط أكثر تعقيدًا وإجراء تنبؤات أفضل.
2. طبقة التجميع:
تقوم هذه الطبقة بإجراء عملية اختزال على خرائط المعالم ، مما يقلل من مقدار الحساب المطلوب ويساعد أيضًا على تقليل التخصيص الزائد.
تعد طبقة التجميع مكونًا حيويًا في بنية CNN . يتم استخدامه عادةً لتقليل حجم حجم الإدخال أثناء استخراج معلومات مفيدة من البيانات. تُستخدم طبقات التجميع عادةً في المراحل اللاحقة من CNN ، مما يسمح للشبكة بالتركيز على المزيد من الميزات المجردة لصورة أو أي نوع آخر من المدخلات. تعمل طبقة التجميع عن طريق تحريك نافذة فوق حجم الإدخال وحساب إحصائية موجزة للقيم الموجودة داخل النافذة.
تشمل الإحصائيات الشائعة أخذ الحد الأقصى أو المتوسط أو مجموع القيم داخل النافذة. هذا يقلل من حجم الإدخال مع الحفاظ على المعلومات الهامة حول البيانات.
تُستخدم طبقة التجميع أيضًا عادةً لإدخال الثوابت المكانية ، مما يعني أن الشبكة ستنتج نفس الإخراج بغض النظر عن موقع الإدخال داخل الصورة. يتيح ذلك للشبكة أن ترث ميزات أكثر عمومية حول الصورة بدلاً من مجرد حفظ موقعها بالضبط.
3. طبقة التنشيط:
تضيف هذه الطبقة اللاخطية إلى النموذج من خلال تطبيق وظيفة تنشيط غير خطية مثل ReLU أو tanh.
طبقة التنشيط في CNN هي طبقة تعمل كتحول غير خطي على خرج الطبقة التلافيفية. إنه مكون أساسي للشبكة ، مما يسمح لها بتعلم العلاقات المعقدة بين بيانات الإدخال والإخراج.
يمكن اعتبار طبقة التنشيط بمثابة وظيفة تأخذ ناتج الطبقة التلافيفية وتعيينها إلى مجموعة مختلفة من القيم. يتيح ذلك للشبكة معرفة أنماط أكثر تعقيدًا في البيانات وتعميمها بشكل أفضل.
تتضمن وظائف التنشيط الشائعة المستخدمة في CNNs ReLu (الوحدة الخطية المصححة) ، السيني ، والتانه. تخدم كل وظيفة تنشيط غرضًا مختلفًا ويمكن استخدامها في سيناريوهات مختلفة.
ReLu هي وظيفة التنشيط الأكثر استخدامًا في معظم الشبكات التلافيفية. إنه تحويل غير خطي ينتج عنه 0 لجميع القيم السالبة ونفس القيمة مثل المدخلات لجميع القيم الموجبة. هذا يسمح للشبكة بتشرب أنماط أكثر تعقيدًا في البيانات.
Sigmoid هي وظيفة تنشيط أخرى شائعة الاستخدام ، والتي تنتج قيمًا بين 0 و 1 لأي إدخال معين. يساعد هذا الشبكة على فهم العلاقات المعقدة بين بيانات الإدخال والإخراج ولكنه أكثر تكلفة من الناحية الحسابية من ReLu.
Tanh هي دالة التنشيط الأقل استخدامًا ، والتي تنتج قيمًا بين -1 و 1 لأي إدخال معين.
تعد طبقة التنشيط مكونًا أساسيًا لـ CNN ، لأنها تمنع الخطية وتعزز اللاخطية في الإخراج. يعد اختيار وظيفة التنشيط الصحيحة للشبكة أمرًا ضروريًا ، حيث تخدم كل وظيفة تنشيط غرضًا مختلفًا ويمكن استخدامها في سيناريوهات مختلفة. يمكن أن يؤدي تحديد وظيفة تنشيط مناسبة إلى أداء أفضل لهيكل CNN .
4. طبقة متصلة بالكامل:
تربط هذه الطبقة كل خلية عصبية في طبقة واحدة بكل خلية عصبية في الطبقة التالية ، مما يؤدي إلى شبكة متصلة بالكامل.
الطبقة المتصلة بالكامل في CNN هي طبقة من الخلايا العصبية المتصلة بكل خلية عصبية في الطبقة السابقة في الشبكة. هذا على عكس الطبقات التلافيفية ، حيث ترتبط الخلايا العصبية فقط بمجموعة فرعية من الخلايا العصبية في الطبقة السابقة بناءً على نمط معين.
من خلال توصيل كل خلية عصبية في طبقة واحدة بكل خلية عصبية في الطبقة التالية ، تسمح الطبقة المتصلة بالكامل بمشاركة المعلومات من الطبقة السابقة عبر الشبكة بأكملها ، مما يوفر فرصة لفهم أكثر شمولاً للبيانات.
عادةً ما تُستخدم الطبقات المتصلة بالكامل في CNN في نهاية بنية نموذج CNN ، بعد الطبقات التلافيفية وطبقات التجميع ، لأنها تساعد في تحديد الأنماط والارتباطات التي ربما لم تتعرف عليها الطبقات التلافيفية.
بالإضافة إلى ذلك ، تُستخدم الطبقات المتصلة بالكامل لإنشاء حدود قرار غير خطية يمكن استخدامها للتصنيف. في الختام ، تعد الطبقات المتصلة بالكامل جزءًا لا يتجزأ من أي CNN وتوفر أداة قوية لتحديد الأنماط والارتباطات في البيانات.
5. طبقة الإخراج:
هذه هي الطبقة الأخيرة من الشبكة ، والتي تنتج تسميات الإخراج أو القيم.
طبقة الإخراج لشبكة CNN هي الطبقة النهائية في الشبكة وهي مسؤولة عن إنتاج المخرجات. إنها الطبقة التي تأخذ الميزات المستخرجة من الطبقات السابقة وتجمعها بطريقة تسمح لها بإنتاج المخرجات المرغوبة.
تُستخدم الطبقة المتصلة بالكامل عادةً عندما يكون الناتج قيمة واحدة ، مثل مشكلة التصنيف أو الانحدار. تُستخدم طبقة عصبية واحدة بشكل عام عندما تكون النتيجة متجهًا ، مثل توزيع الاحتمالات.
يتم استخدام وظيفة تنشيط softmax عندما يكون الإخراج عبارة عن توزيع احتمالي ، مثل توزيع الاحتمالات على الفئات. طبقة الإخراج لشبكة CNN مسؤولة أيضًا عن إجراء الحسابات اللازمة للحصول على المخرجات المطلوبة. وهذا يشمل استكمال المدخلات الضرورية للتحويلات الخطية أو غير الخطية لتلقي المخرجات المطلوبة.
أخيرًا ، يمكن أيضًا استخدام طبقة الإخراج لشبكة CNN لأداء تقنيات التنظيم ، مثل التسرب أو التطبيع الدفعي ، لتحسين أداء الشبكة.
خاتمة
تعد بنية CNN أداة قوية لمهام معالجة الصور والفيديو. إنه مزيج من الطبقات التلافيفية وطبقات التجميع والطبقات المتصلة بالكامل. يسمح باستخراج الميزات من الصور ومقاطع الفيديو ومصادر البيانات الأخرى ويمكن استخدامه في مهام مختلفة ، مثل التعرف على الكائنات وتصنيف الصور والتعرف على الوجه. بشكل عام ، يكون هذا النوع من البنية فعالًا للغاية عند تطبيقه على الوظائف ومجموعات البيانات المناسبة.
اكتساب مجموعة مهارات بارعة في ML و DL مع upGrad
من خلال برنامج الشهادة المتقدم في التعلم الآلي والتعلم العميق من upGrad المقدم من IIIT-B ، يمكنك اكتساب الكفاءة في التعلم الآلي والتعلم العميق. يغطي البرنامج أساسيات ML و DL ، بما في ذلك موضوعات مثل التعلم الخاضع للإشراف وغير الخاضع للإشراف ، والانحدار الخطي واللوجستي ، والشبكات العصبية التلافيفية ، والتعلم المعزز ، ومعالجة اللغة الطبيعية. سوف تتعلم أيضًا إنشاء نماذج ML و DL ونشرها في Python و TensorFlow واكتساب خبرة عملية من خلال العمل في مشاريع حقيقية.
تتضمن هذه الدورة أيضًا مزايا مثل:
- الإرشاد والتوجيه من خبراء الصناعة
- المساعدة في التوظيف لمساعدتك في العثور على الوظيفة المناسبة
- شهادة متقدمة من IIIT بنغالور
يمكنك أيضًا الاطلاع علىدوراتنا المجانيةالتي تقدمها upGrad في الإدارة وعلوم البيانات والتعلم الآلي والتسويق الرقمي والتكنولوجيا.تحتوي كل هذه الدورات على موارد تعليمية من الدرجة الأولى ، ومحاضرات حية أسبوعية ، ومهام صناعية ، وشهادة إتمام الدورة - وكل ذلك مجانًا!
ما هي المكتبات في Python التي يمكن استخدامها لشبكة CNN؟
تشمل المكتبات في Python التي يمكن استخدامها لشبكة CNN TensorFlow و Keras و PyTorch و Caffe و Theano و Scikit-Learn و MxNet و CNTK و OpenCV و SciPy. يمكن استخدام هذه المكتبات للحصول على وحدات مسبقة الصنع لإنشاء تطبيقات وتنفيذ خوارزميات CNN بسهولة.
كم عدد الأبعاد الموجودة في طبقات CNN؟
تحتوي الشبكات العصبية التلافيفية على خلايا عصبية مرتبة في 3 أبعاد: العرض والارتفاع والعمق. هذا الهيكل ثلاثي الأبعاد للخلايا العصبية موجود داخل طبقة الالتواء ، والتي تعمل من خلال عملية الحوسبة مع المدخلات المعطاة لتسليم المخرجات الناتجة.
هل يمكنني تطوير شبكة CNN في R؟
نعم ، يمكن تطوير شبكات CNN باستخدام كل من Python و R. مع توفير R مكتبات مفصلة بشكل استثنائي ، فإن إنشاء شبكة عصبية التفاف باستخدام R أمر سهل للغاية.