ورشة عمل الذكاء الاصطناعي: كيفية تعليم الآلة التعرف على الصور

يمكن أن تنتظر سياراتنا في الحديقة لبضع لحظات بينما نمر في كيفية التعرف على الذكاء الاصطناعي للصور. تعتمد سيارتنا على تلك القدرة كذلك. سنرى أيضًا كيف يتم بناء الشبكات العصبية.

الصورة: فريدا أغيلار إسترادا

سيارتنا بحاجة إلى كاميرا للمضي قدما. أحد الخيارات هو رادار Lidar (كشف الضوء والمدى) الذي يستخدم أشعة الليزر لرسم خريطة محيطه. ولكن إذا اعتقد Elon Musk أن الحل البصري كافٍ لـ Tesla ، فهذا كافٍ بالنسبة لنا. أحاول في هذا المنشور وصف الأساس التكنولوجي للتعرف على صورة الذكاء الاصطناعي.

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

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

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

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

تتكون الشبكات العصبية من الخلايا العصبية المرتبطة ببعضها البعض باستخدام المشابك. الوصلات لها أوزان مختلفة. يتم إعطاء الخلايا العصبية وظائف التنشيط التي تحدد متى يتم تشغيل الخلايا العصبية ويمرر المعلومات. (يمكنك قراءة المزيد حول أنواع مختلفة من وظائف التنشيط ومتى تستخدمها من هنا)

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

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

يمكننا أن نقرر على سبيل المثال أنه عندما تكون النتيجة سلبية ، يكون الشكل E والنتائج الإيجابية تمثل الشكل S. ولتحقيق ذلك ، دعونا نعطي العصبون الذي ينشط فقط مع الشكل E وزن -1 والخلايا العصبية التي تشتعل فقط مع الشكل S الوزن 1. عندما يتم ضرب المخرجات الأخرى في 0 سنحصل على النتائج 1 أو -1.

لذا فإن مجموع جميع مخرجات الشكل S سيكون 0 × 1+ 0 × 1+ 0 × 1 + 0 × 1+ 0 × 1+ 0 + 0 + 0 + 0 × 1 + 0 × 1 + 0 × 1 + 0 × 1 + 0 + 0 + 0 + 1 × 1 + 0 × 1 + 0 × 1 + 0 × 1+ 0 × 1 = 1. ويكون مجموع جميع مخرجات الشكل E هو 0 × 1 + 0 × 1 + 0 × 1 + 0 × 1 + 0 × 1 + 0 + 0 + 0 + 0 × 1 + 0 × 1 + 0 × 1 + 0 × 1 + (-1 × 1) + 0 + 0 + 0 + 0 × 1 + 0 × 1 + 0 × 1 + 0 × 1 = -1.

كان هذا سهل الحل إلى حد ما. ولكن إذا أضفنا الحرف F إلى المزيج ، تصبح الأمور أكثر تعقيدًا قليلاً.

يمكن تحقيق التمييز بين الحرفين E و F بدون أي متاعب ، على سبيل المثال مع هذه الأوزان:

قد تؤدي هذه الأوزان إما إلى 11 × 0،1 = 1،1 أو 3 × (-1) = -3 مع النتائج الإيجابية للشكل F والسلبية للشكل E. ولكن عندما ندرج الرقم S تكون الفروق أقل وضوحًا وأكثر صعوبة في التفريق بين الأوزان. وإضافة الحروف يزيد الأمر سوءًا.

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

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

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

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

مثال على شبكة عصبية للتنبؤ بمبيعات الآيس كريم:

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

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

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

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

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

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

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

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

لذا ، إذا طُلب مني تحديد أيهما أفضل في النهاية - التعرف على الصور البشرية أو الاصطناعية - فلن أتمكن من ذلك. كلاهما مختلف جدا جدا.