قال مهندس سعودي يعمل في الولايات المتحدة الأمريكية إسمه يحيى خوجة في تدوينة له عبر موقع تويتر أنه قام بتطوير تطبيق يمكنه من التفريق بين البقدونس والكزبرة وذلك بإستخدام الذكاء الاصطناعي وتقنيات التعلم العميق.
ونشر المهندس السعودي الحاصل على ماجستير الهندسة من جامعة ستانفورد، أن التطبيق جاء لحل مشكلة كان يعاني منها على وجه الخصوص، وهي عدم قدرته على التفريق بين النبتتين.
معلومات اخرى عن الذكاء الاصطناعي
قد يبدو الأمر بيسطاً ولا يستحق عناء البرمجة، ولكن في الحقيقة فإن إختراعا هذا على بساطته يمكننا من إستكشاف القدرات الكبير لأدوات التعلم العميق في جميع مناحي الحياة وما يواجهنا من مشاكل يومية، كما يستطيع حل المشاكل المعقدة التي نواجهها كمجتمعات ودول.
الحمدلله أمس استعملت #الذكاء_الاصطناعي في حل مشكلة شخصية مزمنة كانت عندي….
… الا وهي اني ما اعرف افرق بين البقدونس و الكزبرة! 😅
فجمعت صور كزبرة و بقدونس من الانترنت و استعنت بطريقة اسمها التعلم الانتقالي (transfer learning) لتدريب نموذج يقدر يفرق بين الاثنين#Thkaa
يتبع👇 pic.twitter.com/40kNBJJlgL
— Yehia Khoja | يحيى خوجه (@yakhoja) September 8, 2019
ونشر المهندس طرق برمجة التطبيق، وكود البرمجة الخاص به، كما نشر معلومات مفصلة حول التعليم العميق من خلال ادخال أكثر من ٢٢٠ صورة بعضها للبقدونس والأخر للكزبرة، ليتعلم الحاسب التفريق بينهما معتمدا على الشكل واللون والخصائص الأخرى.
نبدأ بالرابط للكود و مجموعة البيانات و المراجع
مجموعة البيانات (~٢٢٠ صورة) https://t.co/W7pZiZL9x0
المراجع المستخدمة
– مثال للتعلم الانتقالي من موقع Kaggle https://t.co/6FWJZYqltE
– شرح فيديو ١٠ دقائقhttps://t.co/UdisctmudQ
— Yehia Khoja | يحيى خوجه (@yakhoja) September 8, 2019
كما قام المهندس يحيى خوجة بالكتابة عنالتعلم الانتقالي هي طريقة تستعمل لتطوير خوارزمية ذكاء اصطناعي اذا كانت لديك مجموعة بيانات محدودة الحجم ببساطة هذه الطريقة تستعمل خوارزمية تم تدريبها مسبقاً على مجموعة بيانات أخرى (تكون أكبر بكثير) و تعيد تدريب جزء منها على مجموعة بياناتك المحدودة
الآن نشرح اكثر – نبدأ بنبذة عن التعلم الانتقالي
هي طريقة تستعمل لتطوير خوارزمية ذكاء اصطناعي اذا كانت لديك مجموعة بيانات محدودة الحجم
ببساطة هذه الطريقة تستعمل خوارزمية تم تدريبها مسبقاً على مجموعة بيانات أخرى (تكون أكبر بكثير) و تعيد تدريب جزء منها على مجموعة بياناتك المحدودة pic.twitter.com/6wHU2OhToP
— Yehia Khoja | يحيى خوجه (@yakhoja) September 8, 2019
ونحن في مجلة نقطة ننقل هذه المعلومات كمدخل لمن يريد أن يتعلم برمجة أمور متعلقة بالذكاء الاصطناعي، حيث خلافا لما يتوقعه الجميع كانت البرمجة اسهل وابسط الأمور حسب المهندس يحيى، وذلك أن جميع الأكواد يمكن استخلاصها من مشاريع سابقة.
بالنسبة للبرمجة، فكان ابسط جزء خلاف ما قد يتوقعه البعض لوجود مكتبات برمجية جاهزة تستطيع الاستعانة فيها لتطوير نموذج ذكاء اصطناعي ببساطة
في هذه الحالة استخدمت مكتبة Keras لتحميل نموذج تم تدريبه مسبقاً يسمى ResNet50، و تحميل و معالجة البيانات و تدريب النموذج pic.twitter.com/fyuFaRXiOL
— Yehia Khoja | يحيى خوجه (@yakhoja) September 8, 2019
أما بالنسبة لبناء البيانات، والتي تعتبر واحدة من أصعب المراحل ، فيمكن حلها من خلال التالي
يتبع بناء مجموعة البيانات
٤) وزعت الصور على مجلدين واحد للتدريب و الثاني للاختبار بعد التدريب. داخل كل مجلد وضعت صور الكزبرة في مجلد و صور البقدونس في مجلد آخر (انظر الصورة لمثال توضيحي)
٥) أخيراً حملت مجموعة البيانات على Google Drive حتى يمكن استعمالها لتدريب برنامجي من Colab pic.twitter.com/IuC67AZv0H
— Yehia Khoja | يحيى خوجه (@yakhoja) September 8, 2019
اخيرا وقت التدريب – قمت بعدة محاولات حتى وجدت قيم مناسبة لمعاملات ضبط النموذج استطاع من خلالها النموذج ان يصل لدقة ٩٠٪ على مجموعة الاختبار تعتبر هذه نتيجة جيدة بالنسبة لقلة البيانات و لكن لا نستطيع ان نجزم اننا سنحصل على دقة ٩٠٪ ان أختبرنا النموذج على صور جديدة من خارج المجموعة
الأمر أسهل مما نتخيل، يدعونا المهندس يحيى لنسخ مجموعة البيانات و الكود و القيام بتجاربكم انتم لتطوير برنامج ذكاء اصطناعي يفرق بين نوعين من الصور مثل شماغ ولا غترة؟ هذا شعار الاتحاد ولا الاهلي؟ هذه صورة شاورما ولا فلافل؟ الي يعجبكم المهم جرّبوا و شاركونا نتائجكم
فماذا ستجربون؟