أساسيات الشبكة العصبية التلافيفية: ما تحتاج إلى معرفته

نشرت: 2024-09-10

تعد الشبكات العصبية التلافيفية (CNNs) أدوات أساسية في تحليل البيانات والتعلم الآلي (ML). يشرح هذا الدليل كيفية عمل شبكات CNN، وكيف تختلف عن الشبكات العصبية الأخرى، وتطبيقاتها، والمزايا والعيوب المرتبطة باستخدامها.

جدول المحتويات

  • ما هي سي إن إن؟
  • كيف تعمل شبكات سي إن إن
  • CNNs مقابل RNNs والمحولات
  • تطبيقات شبكة CNN
  • المزايا
  • العيوب

ما هي الشبكة العصبية التلافيفية؟

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

دعونا فك هذا التعريف قليلا. البيانات المكانية هي البيانات التي ترتبط فيها الأجزاء ببعضها البعض عبر موقعها. الصور هي أفضل مثال على ذلك.

في كل صورة أعلاه، يرتبط كل بكسل أبيض بكل بكسل أبيض محيط به: وهما يشكلان الرقم. تخبر مواقع البكسل أيضًا المشاهد بمكان وجود الرقم داخل الصورة.

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

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

أخيرًا، يشير مصطلح "التلافيفي" في الشبكة العصبية التلافيفية إلى كيفية تطبيق المرشح على الصورة. سنوضح ذلك في القسم التالي.

أظهرت شبكات CNN أداءً قويًا في مهام الصور المختلفة، مثل اكتشاف الكائنات وتجزئة الصورة. لعب نموذج CNN (AlexNet) دورًا مهمًا في ظهور التعلم العميق في عام 2012.

اعمل بشكل أكثر ذكاءً مع Grammarly
شريك الكتابة بالذكاء الاصطناعي لأي شخص لديه عمل للقيام به

كيف تعمل شبكات سي إن إن

دعنا نستكشف البنية العامة لشبكة CNN باستخدام مثال تحديد الرقم (0–9) الموجود في الصورة.

قبل تغذية الصورة في النموذج، يجب تحويل الصورة إلى تمثيل رقمي (أو ترميز). بالنسبة للصور بالأبيض والأسود، يتم تعيين رقم لكل بكسل: 255 إذا كان أبيض بالكامل و0 إذا كان أسود بالكامل (أحيانًا يتم تطبيعه إلى 1 و0). بالنسبة للصور الملونة، يتم تعيين ثلاثة أرقام لكل بكسل: واحد يوضح مقدار اللون الأحمر والأخضر والأزرق الذي يحتوي عليه، والمعروف باسم قيمة RGB الخاصة به. لذا فإن الصورة التي يبلغ حجمها 256 × 256 بكسل (مع 65,536 بكسل) سيكون لها 65,536 قيمة في تشفيرها بالأبيض والأسود و196,608 قيمة في تشفيرها اللوني.

يقوم النموذج بعد ذلك بمعالجة الصورة من خلال ثلاثة أنواع من الطبقات:

1 الطبقة التلافيفية:تطبق هذه الطبقة المرشحات على مدخلاتها. كل مرشح عبارة عن شبكة من الأرقام ذات حجم محدد (على سبيل المثال، 3×3). يتم تغطية هذه الشبكة على الصورة بدءًا من أعلى اليسار؛ سيتم استخدام قيم البكسل من الصفوف 1-3 في الأعمدة 1-3. يتم ضرب قيم البكسل هذه بالقيم الموجودة في المرشح ثم يتم جمعها. يتم بعد ذلك وضع هذا المجموع في شبكة مخرجات المرشح في الصف 1، العمود 1. ثم يقوم المرشح بتحريك بكسل واحد إلى اليمين ويكرر العملية حتى يغطي جميع الصفوف والأعمدة في الصورة. من خلال تحريك بكسل واحد في كل مرة، يمكن للمرشح العثور على الميزات في أي مكان في الصورة، وهي خاصية تعرف باسم الثبات الانتقالي. يقوم كل مرشح بإنشاء شبكة الإخراج الخاصة به، والتي يتم بعد ذلك إرسالها إلى الطبقة التالية.

2 طبقة التجميع: تلخص هذه الطبقة معلومات الميزة من طبقة الالتواء. تُرجع الطبقة التلافيفية مخرجات أكبر من مدخلاتها (يُرجع كل مرشح خريطة معالم بنفس حجم المدخلات تقريبًا، وهناك مرشحات متعددة). تأخذ طبقة التجميع كل خريطة معالم وتطبق عليها شبكة أخرى. تأخذ هذه الشبكة إما المتوسط ​​أو الحد الأقصى للقيم الموجودة فيها وتخرج ذلك. ومع ذلك، لا تتحرك هذه الشبكة بمقدار بكسل واحد في كل مرة؛ وسوف ينتقل إلى التصحيح التالي من البكسل. على سبيل المثال، ستعمل شبكة التجميع 3×3 أولاً على وحدات البكسل الموجودة في الصفوف 1-3 والأعمدة 1-3. بعد ذلك، سيبقى في نفس الصف ولكن سينتقل إلى الأعمدة 4-6. بعد تغطية جميع الأعمدة في المجموعة الأولى من الصفوف (1-3)، سينتقل للأسفل إلى الصفوف 4-6 ويتعامل مع تلك الأعمدة. يؤدي هذا إلى تقليل عدد الصفوف والأعمدة في الإخراج بشكل فعال. تساعد طبقة التجميع على تقليل التعقيد، وتجعل النموذج أكثر قوة في مواجهة الضوضاء والتغييرات الصغيرة، وتساعد النموذج على التركيز على الميزات الأكثر أهمية.

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

فيما يلي تمثيل مرئي لبنية CNN، يوضح كيفية معالجة كل طبقة لصورة الإدخال والمساهمة في الإخراج النهائي:

بنية الشبكة العصبية التلافيفية (CNN).

بعض الملاحظات الإضافية حول العملية:

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

CNNs مقابل RNNs والمحولات

غالبًا ما يتم ذكر الشبكات العصبية التلافيفية جنبًا إلى جنب مع الشبكات العصبية المتكررة (RNNs) والمحولات. إذن كيف يختلفون؟

شبكات CNN مقابل شبكات RNN

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

CNNs مقابل المحولات

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

تطبيقات شبكة CNN

غالبًا ما تُستخدم شبكات CNN مع الصور نظرًا لثباتها الترجمي وخصائصها المكانية. ولكن من خلال المعالجة الذكية، تستطيع شبكات CNN العمل في مجالات أخرى (غالبًا عن طريق تحويلها إلى صور أولاً).

تصنيف الصور

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

التعرف على الكلام

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

تجزئة الصورة

يتضمن تجزئة الصورة تحديد ورسم الحدود حول كائنات مختلفة في الصورة. تحظى شبكات CNN بشعبية كبيرة في هذه المهمة نظرًا لأدائها القوي في التعرف على الكائنات المختلفة. بمجرد تقسيم الصورة، يمكننا فهم محتواها بشكل أفضل. على سبيل المثال، يمكن لنموذج آخر للتعلم العميق تحليل المقاطع ووصف هذا المشهد: "شخصان يسيران في الحديقة. هناك عمود إنارة على يمينهم وسيارة أمامهم”. في المجال الطبي، يمكن لتجزئة الصورة أن تميز الأورام عن الخلايا الطبيعية في عمليات المسح. بالنسبة للمركبات ذاتية القيادة، يمكنها تحديد علامات الممرات وإشارات الطرق والمركبات الأخرى.

مزايا شبكات سي إن إن

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

أداء قوي للصورة

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

لا توجد هندسة ميزة يدوية

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

عيوب شبكات CNN

بالطبع، هناك مقايضات لاستخدام شبكات CNN.

العديد من المعلمات المفرطة

يتضمن تدريب CNN اختيار العديد من المعلمات الفائقة. مثل أي شبكة عصبية، هناك معلمات فائقة مثل عدد الطبقات وحجم الدفعة ومعدل التعلم. بالإضافة إلى ذلك، يتطلب كل مرشح مجموعته الخاصة من المعلمات الفائقة: حجم المرشح (على سبيل المثال، 3×3، 5×5) والخطوة (عدد البكسلات التي سيتم نقلها بعد كل خطوة). لا يمكن ضبط المعلمات الفائقة بسهولة أثناء عملية التدريب. بدلاً من ذلك، تحتاج إلى تدريب نماذج متعددة باستخدام مجموعات مختلفة من المعلمات الفائقة (على سبيل المثال، المجموعة A والمجموعة B) ومقارنة أدائها لتحديد أفضل الخيارات.

حساسية لحجم الإدخال

يتم تدريب كل شبكة CNN على قبول صورة ذات حجم معين (على سبيل المثال، 256 × 256 بكسل). قد لا تتطابق العديد من الصور التي تريد معالجتها مع هذا الحجم. لمعالجة هذه المشكلة، يمكنك رفع مستوى صورك أو تصغير حجمها. ومع ذلك، قد يؤدي تغيير الحجم هذا إلى فقدان معلومات قيمة وقد يؤدي إلى انخفاض أداء النموذج.