You are on page 1of 182

‫بسمه تعالى‬

‫التعلم اآللي لألطفال‪ :‬باستخدام سكراتش‬


‫‪15‬‬

‫ترجمة واعداد‪:‬‬
‫د‪ .‬عالء طعيمة‬
‫غطت تطبيقات الذكاء االصطناعي والتعلم اآللي جيل اليوم‪ .‬نتيجة لذلك‪ ،‬من واجبنا إعداد أطفالنا‬
‫للمستقبل من خالل تثقيفهم حول التعلم اآللي‪.‬‬

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

‫توفر منصة ‪ Machine Learning for Kids‬بيئة بسيطة وموجهة لغرض تدريب نماذج التعلم اآللي‬
‫للتعرف على النص أو األرقام أو الصور أو األصوات وإضافة هذه النماذج إلى منصة البرمجة المرئية‬
‫‪ .Scratch‬من خالل توفير فرص التدريب العملي‪ ،‬تقدم هذه المنصة المجانية أنظمة التعلم اآللي ويمكن‬
‫أن تعلم طفلك كيفية إنشاء مشاريع مذهلة‪.‬‬

‫في هذا الكتاب‪ ،‬سيتعلم طفلك أساسيات الذكاء االصطناعي والتعلم اآللي من خالل مجموعة من‬
‫المشاريع‪ ،‬بما يكفي حتى تتمكن من بناء األلعاب الخاصة بك والمساعد الذكي‪ ،‬باإلضافة إلى البرامج التي‬
‫يمكنها تمييز اللغة والصور‪ .‬يحتوي هذا الكتاب على أكثر من ‪ 15‬مشروعا ً من مشاريع التعلم اآللي الشائعة‬
‫من منصة ‪ ،Machine Learning for Kids‬والتي يمكن تجربتهايف المنزل باستخدام منصة البرمجة‬
‫الرسومية ‪.Scratch‬‬

‫لقد حاولت قدر المستطاع ان اترجم هذه المشاريع من منصة ‪ Machine Learning for Kids‬مع‬
‫الشرح المناسب والكافي‪ ،‬ومع هذا يبقى عمالً بشرياً يحتمل النقص‪ ،‬فاذا كان لديك أي مالحظات حول‬
‫هذا الكتاب‪ ،‬فال تتردد بمراسلتنا عبر بريدنا االلكتروني ‪. alaa.taima@qu.edu.iq‬‬

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

‫د‪ .‬عالء طعيمة‬

‫كلية علوم الحاسوب وتكنولوجيا المعلومات‬

‫جامعة القادسية ‪ /‬العراق‬


6 Describe the glass 1
18 Pokémon images 2
27 Smart Classroom 3
42 I Spy 4
48 Make me happy 5
61 Pokémon statistics 6
69 Quiz Show 7
79 Chameleon 8
90 Mailman Max 9
103 Shoot the bug 10
118 Car or Cup 11
128 Face Lock 12
139 Journey to school 13
151 Shy Panda 14
162 Alien Language 15
173 Face Finder 16
1
‫صف الكأس‬

Describe the glass


‫‪6‬‬

‫‪Describe the glass‬‬ ‫‪1‬‬


‫" هل الكأس نصف فارغ أم نصف ممتلئ؟"‬

‫تصف ويكيبيديا هذا السؤال كدليل على أن "الموقف يمكن رؤيته بطرق مختلفة اعتمادًا على وجهة نظر‬
‫الفرد"‪ ،‬وكاختبار "لتحديد وجهة نظر الفرد للعالم"‪.‬‬

‫قد يصف الشخص المتشائم الكأس نصف الفارغ‪.‬‬

‫قد يصف الشخص المتفائل نفس الكأس نصف الممتلئ‪.‬‬

‫في هذا المشروع‪ ،‬ستعلم الكمبيوتر كيف يجيب على هذا السؤال‪ .‬وبعد ذلك سترى ما تعلمه منك‪.‬‬

‫‪ .1‬انتقل إلى ‪/https://scratch.machinelearningforkids.co.uk‬‬

‫‪ .2‬انقر فوق قوالب المشروع "‪"Project templates‬‬

‫‪ .3‬انقر فوق قالب "‪" Describe the glass‬‬


‫‪7‬‬

‫‪ .4‬انقر على زر ملء الشاشة‪ ،‬ثم على العلم األخضر ‪.Green Flag‬‬

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

‫لقد استندتيف وصفك للكأس إلى مقدار السائل الموجود‪.‬‬ ‫•‬

‫في الجزء السفلي من الشاشة‪ ،‬يمكنك رؤية المساحة حيث سيعرض الكمبيوتر تنبوًا بما تعتقده‪.‬‬ ‫•‬
‫في هذا المشروع‪ ،‬ستقوم بتحديث كود سكراتش حتى يتمكن من إنشاء هذا التوقع‪.‬‬

‫يمكنك القيام بذلك عن طريق كتابة قاعدة يمكن للكمبيوتر اتباعها‪.‬‬ ‫•‬
‫‪Describe the glass‬‬ ‫‪1‬‬ ‫‪8‬‬

‫لكن بالنسبة لهذا المشروع‪ ،‬ستقوم بتدريب الكمبيوتر حتى يتعلم بنفسه كيف يفكريف هذا السؤال‪.‬‬

‫ستجمع أمثلة عن كيفية إجابتك على السؤال واستخدامها لتدريب "نموذج ‪ " model‬للتعلم اآللي يتنبأ بما‬
‫ستكون إجابتك‪.‬‬

‫‪ .6‬انتقل إلى ‪/https://machinelearningforkids.co.uk‬‬

‫‪ .7‬انقر فوق البدء "‪"Get started‬‬

‫‪ .8‬انقر فوق جربه اآلن "‪"Try it now‬‬

‫‪ .9‬انقر فوق الزر ‪ +‬إضافة مشروع جديد "‪."Add a new project” button +‬‬

‫‪ .10‬قم بتسمية مشروعك "‪ " describe the glass‬واضبطه لمعرفة كيفية التعرف على األرقام‬
‫"‪." numbers‬‬

‫‪ .11‬انقر فوق إضافة قيمة "‪" Add a value‬‬

‫‪ .12‬إنشاء قيمة "رقم ‪ "number‬تسمى "النسبة المئوية ‪"percent‬‬

‫‪ .13‬انقر فوق الزر "إنشاء ‪"Create‬‬

‫‪ .14‬ستتم إضافة "‪ "describe the glass‬إلى قائمة المشاريع الخاصة بك‪ .‬انقر عليه‪.‬‬
‫‪9‬‬

‫‪ .15‬أنت بحاجة إلى إعداد أنواع التنبؤ التي تريد أن يقوم بها الكمبيوتر‪ .‬انقر فوق الزر "تدريب ‪."Train‬‬

‫‪ .16‬انقر فوق "‪ +‬إضافة تسمية جديدة ‪ "Add new label +‬وسميها "نصف فارغ ‪ ."half-empty‬افعل‬
‫ذلك مرة أخرى وأنشئ حاوية ثانية تسمى "نصف ممتلئة ‪."half-full‬‬

‫‪ .17‬انقر فوق الرابط "<الرجوع إلى المشروع < ‪"Back to project‬يف الجزء العلوي األيسر‪.‬‬

‫‪ .18‬انقر على زر "‪."Make‬‬

‫‪ .19‬انقر على زر سكراتش ‪."Scratch 3 "3‬‬

‫‪ .20‬انقر على زر مباشرة إلى سكراتش" ‪."straight into Scratch‬‬

‫ستحذرك الصفحة من أنك لم تدرب نموذجًا حتى اآلن‪ ،‬ولكن هذا صحيح‪.‬‬

‫حسنًا‪ ،‬ألنك ستستخدم سكراتش لجمع أمثلة التدريب أوالً‪ .‬سيتم فتح سكراتش مع كتل إضافية من‬
‫مشروعك‪.‬‬
‫‪Describe the glass‬‬ ‫‪1‬‬ ‫‪10‬‬

‫‪ .21‬انقر فوق الزر "قوالب المشروع ‪."Project templates‬‬

‫‪ .22‬افتح نموذج مشروع "‪ "describe the glass‬مرة أخرى‪.‬‬

‫‪ .23‬انقر فوق الكائن "نصف فارغ ‪ "half-empty‬وابحث عن السكريبت "عند نقر هذا الكائن ‪when‬‬
‫‪"this sprite clicked‬‬

‫هذا هو اللسكريبت للزر الذي تنقر عليه ليقول "‪" half-empty‬‬

‫‪ .24‬أضف كتلة "إضافة بيانات التدريب ‪ ،"add training data‬مع قيمة "نسبة السائل ‪liquid-‬‬
‫‪"percent‬‬

‫سيضيف هذا المثال إلى حاوية التدريب الخاص بك لـ "نصف فارغ ‪"half-empty‬‬

‫‪ .25‬انقر فوق الكائن "نصف ممتلئ ‪ "half-full‬وابحث عن السكريبت "عند نقر هذا الكائن ‪when‬‬
‫‪"this sprite clicked‬‬
‫‪11‬‬

‫هذا هو السكريبت للزر الذي تنقر عليه ليقول "نصف ممتلئ ‪"half-full‬‬

‫‪ .26‬أضف كتلة "إضافة بيانات التدريب ‪ ،”add training data‬مع قيمة "نسبة السائل ‪liquid-‬‬
‫‪"percent‬‬

‫‪ .27‬انقر فوق "العلم األخضر ‪ "Green Flag‬وأجب عن "كيف تصف هذا؟ ‪how would you‬‬
‫‪ "?describe this‬سؤال مرة واحدة‬
‫‪Describe the glass‬‬ ‫‪1‬‬ ‫‪12‬‬

‫‪ .28‬يف نافذة متصفح الويب األخرى التي ال تزال على أداة التعلم اآللي‪ ،‬انقر على رابط "<الرجوع إلى‬
‫المشروع < ‪"Back to project‬يف الزاوية العلوية اليسرى‪.‬‬

‫‪ .29‬انقر على زر "تدريب ‪."Train‬‬

‫‪ .30‬تأكد من أن اإلجابة التي قدمتها قد أضيفت إلى أمثلة التدريب التي ستستخدمها لتدريب الكمبيوتر‪.‬‬

‫‪ .31‬ارجع إلى سكراتش‪ ،‬والعب اللعبة مرة أخرى تسع مرات أخرى‪.‬‬

‫قد تجد أنه من األسهل لعب اللعبةيف وضع ملء الشاشة‪.‬‬

‫‪ .32‬تحقق من عدد أمثلة التدريب التي جمعتها‪.‬‬

‫‪ .33‬انقر فوق رمز "التنبؤ ‪ "prediction‬وابحث عن السكريبت "عندما أتلقى سؤاالً ‪when I receive‬‬
‫‪ ." question‬يجب أن يكون لديك أمثلة كافية اآلن لمحاولة استخدام نموذج التعلم اآللي لعمل‬
‫تنبؤات‪.‬‬
‫‪13‬‬

‫‪ .34‬أضف كتلة "التعرف على األرقام ‪( ...‬التسمية) )‪ "recognise numbers … (label‬لعمل تنبؤ‪.‬‬

‫‪ .35‬ابحث عن السكريبت "عندما أتلقى السؤال التالي ‪ "when I receive next question‬أضف كتلة‬
‫“تدريب نموذج جديد للتعلم اآللي ‪."train new machine learning model‬‬

‫‪ .36‬انقر على زر ملء الشاشة ثم على الزر األخضر مرة أخرى‬

‫ما مدى جودة نموذج التعلم اآللي الخاص بكيف توقع إجاباتك؟‬
‫‪Describe the glass‬‬ ‫‪1‬‬ ‫‪14‬‬

‫لقد بدأتيف تدريب جهاز كمبيوتر للتنبؤ بإجاباتك‪.‬‬ ‫•‬

‫يمكنك كتابة قاعدة للقيام بذلك‪.‬‬ ‫•‬

‫على سبيل المثال‪ ،‬إذا علمت أنك تصف دائمًا أكثر‬ ‫•‬
‫من النصف على أنها "نصف ممتلئة ‪"half-full‬‬
‫وأقل من النصف بأنها "نصف فارغة ‪ ،"half-empty‬فربما تكون قد كتبت كوداً مثل هذا‪.‬‬

‫نستخدم التعلم اآللي عندما ال نكون متأكدين من كيفية كتابة التعليمات التي يجب على‬ ‫•‬
‫الكمبيوتر اتباعها‪ ،‬أو إذا كنا نعتقد أن ذلك سيكون معقدًا للغاية‪.‬‬

‫بدالً من كتابة تعليمات للكمبيوتر ليتبعها‪ ،‬نترك الكمبيوتر يتعلم بنفسه كيف ينبغي أن يفعل شيئًا‬ ‫•‬
‫من خالل عرض أمثلة عليه‪.‬‬

‫سيتعلم الكمبيوتر من األنماط الموجودةيف األمثلة‪ .‬سوف تستخدم هذه لعمل تنبؤات‪.‬‬ ‫•‬

‫‪ .37‬يف صفحة أداة التعلم اآللي‪ ،‬انقر فوق الرابط "<الرجوع إلى المشروع < ‪"Back to project‬‬

‫‪ .38‬انقر فوق "تعلم واختبر ‪"Learn & Test‬‬

‫‪ .39‬انقر فوق "وصف النموذج الخاص بك ‪"Describe your model‬‬

‫ستعرض لك هذه الصفحة صورة لنموذج التعلم اآللي الخاص بك‪.‬‬


‫‪15‬‬

‫اقرأ الصفحة لفهم ما تعنيه‪.‬‬

‫نوع نموذج التعلم اآللي الذي دربته هو "مصنف شجرة القرار ‪."decision tree classifier‬‬ ‫•‬
‫يتيح لك التصور ‪ visualization‬رؤية كيفية قيام نموذجك بالتنبؤات‪ .‬إنها طريقة جيدة لمعرفة‬
‫األنماط التي وجدها الكمبيوتريف بيانات التدريب التي جمعتها‪.‬‬

‫سيعرض التصور األنماط التي الحظها الكمبيوتريف إجاباتك‪.‬‬ ‫•‬

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

‫م ا الذي تعلمه نموذج التعلم اآللي الخاص بك عن إجاباتك؟ هل كان هذا ما توقعته؟‬ ‫•‬

‫(إذا لم تكن إجاباتك متسقة دائمًا‪ ،‬فقد يكون لنموذج التعلم اآللي الخاص بك تصورًا أكثر‬ ‫•‬
‫تعقيدًا حيث حاول الكمبيوتر إظهار الطرق المختلفة التي تجيب بها)‬

‫حاول مقارنة نموذج التعلم اآللي الخاص بك بنموذج تم تدريبه بواسطة شخص آخر‪ .‬هل علم‬ ‫•‬
‫الكمبيوتر أنهم أكثر أو أقل تفاؤالً منك؟‬
‫‪Describe the glass‬‬ ‫‪1‬‬ ‫‪16‬‬

‫اآلن بعد أن انتهيت‪ ،‬لماذا ال تجرّب إحدى هذه األفكار؟ أو ابتكر واحدة خاصة بك؟‬

‫بدالً من مجرد الحصول على حاويتي تدريب ("نصف ممتلئة ‪" ،"half-full‬نصف فارغة ‪half-‬‬ ‫•‬
‫‪ )"empty‬حاول إضافة المزيد‪.‬‬

‫على سبيل المثال‪ ،‬جرب تدريب نموذج تعلم اآللة للتعرف على "شبه فارغ ‪،"nearly empty‬‬ ‫•‬
‫"نصف فارغ ‪" ،"half empty‬نصف ممتلئ ‪" ،"half full‬شبه ممتلئ ‪."nearly full‬‬

‫ما هي العوامل األخرى التي قد تؤثر على إجاباتك بصرف النظر عن كمية السائل؟‬ ‫•‬

‫على سبيل المثال‪ ،‬هل تجيب بشكل مختلف عن السوائل الملونة المختلفة؟ أو كؤوس مختلفة‬ ‫•‬
‫الشكل؟‬

‫ماذا لو زاد السائل أو انخفض منذ السؤال األخير؟ هل هذا يغير طريقة إجابتك؟‬ ‫•‬

‫حاول إنشاء مشروعك الخاص لترى كيف يتعلم الكمبيوتر مجموعة أكثر تعقيدًا من األنماط‬ ‫•‬
‫التي تؤثر على إجاباتك‪.‬‬

‫بدالً من تدريب الكمبيوتر على التعرف على مدى امتالء الكأس من خالل وصفه برقم‪ ،‬كان‬ ‫•‬
‫بإمكاننا استخدام صورة للكأس‪ .‬حاول القيام بذلك كمشروع صور بدالً من أرقام‪.‬‬
2
‫صور بوكيمون‬

Pokémon images
‫‪18‬‬

‫‪Pokémon images‬‬ ‫‪2‬‬


‫في هذا المشروع سوف تقوم بتدريب جهاز كمبيوتر على التنبؤ بنوع بوكيمون ‪ Pokémon‬بناءً على شكله‪.‬‬

‫هذا هو بيكاتشو ‪.Pikachu‬‬

‫بيكاتشو هو بوكيمون كهربائي ‪.electric Pokémon‬‬

‫هناك أنواع مختلفة من بوكيمون‪.‬‬

‫‪ Jigglypuff‬هي بوكيمون خرافية ‪.fairy Pokémon‬‬

‫تحقق من أنواع ‪ Pokémon‬األخرىيف قاعدة بيانات‬

‫‪ Pokémon‬على ‪https://pokemondb.net‬‬

‫أنواع بوكيمون هي‪:‬‬

‫حشرة ‪Bug‬‬ ‫تنين ‪Dragon‬‬ ‫صلب ‪Steel‬‬ ‫نار ‪Fire‬‬ ‫عادي ‪Normal‬‬
‫ظالمي ‪Dark‬‬ ‫خرافي ‪Fairy‬‬ ‫مائي ‪Water‬‬ ‫جليدي ‪Ice‬‬ ‫عشبي ‪Grass‬‬
‫كهربائي ‪Electric‬‬ ‫قتال ‪Fighting‬‬ ‫طائر ‪Flying‬‬ ‫أرضي ‪Ground‬‬
‫سمي ‪Poison‬‬ ‫نفسية ‪Psychic‬‬ ‫شبح ‪Ghost‬‬ ‫صخري ‪Rock‬‬
‫‪19‬‬

‫ما نوع بوكيمون لـ ‪Squirtle‬؟ حاول ان تتوقع‪.‬‬

‫ما هي المعلومات التي تعتقد أنه‬

‫يمكنك استخدامها لتخمين النوع؟‬

‫هل ستستخدم الطريقة التي يبدو بها؟‬

‫هل تعتقد أن األلوان واألشكال ستعطيك فكرة جيدة عن النوع؟‬

‫هل ستستخدم اإلحصائيات ‪ statistics‬التي تصف حجم‬

‫بوكيمون وقدراته وأسلوبه القتالي؟‬

‫هل تعتقد أن هذه األرقام ستعطيك فكرة جيدة عن النوع؟‬

‫كالهما غير مثالي‪.‬‬

‫ال توجد قواعد‪ .‬ولكن يمكننا أن نتعلم ما هو مشترك بينهم ونستخدمهيف التخمين‪.‬‬ ‫•‬

‫يمكن ألجهزة الكمبيوتر القيام بذلك‪ .‬يمكن ألجهزة الكمبيوتر أن تعمل دون االعتماد على‬ ‫•‬
‫القواعد‪ ،‬من خالل تعلم األشياء المشتركة واستخدامها لعمل تنبؤات‪.‬‬

‫نسمي هذا النوع من الحوسبة "التعلم اآللي ‪."Machine Learning‬‬ ‫•‬

‫في هذا المشروع‪ ،‬ستقوم بتدريب جهاز كمبيوتر ليكون قادرًا على التنبؤ بنوع بوكيمون بناءً على‬ ‫•‬
‫شكله‪ ،‬من خالل تدريبه بصور مائة مثال من بوكيمون‪.‬‬

‫لجعل األمور أسرع قليالً‪ ،‬لن ندرب الكمبيوتر على التعرف على كل نوع من أنواع بوكيمون‪،‬‬ ‫•‬
‫سنركز فقط على ستة من األنواع كمثال‪.‬‬

‫‪ .1‬انتقل إلى ‪/https://machinelearningforkids.co.uk‬يف مستعرض الويب‬

‫‪ .2‬انقر فوق "البدء ‪"Get started‬‬


‫‪Pokémon images‬‬ ‫‪2‬‬ ‫‪20‬‬

‫‪ .3‬انقر فوق "جربه اآلن ‪"Try it now‬‬

‫‪ .4‬انقر فوق "نسخ القالب ‪"Copy template‬‬

‫‪ .5‬انقر على "صور بوكيمون ‪"Pokémon images‬‬

‫‪ .6‬انقر فوق "استيراد ‪"IMPORT‬‬

‫‪ .7‬انقر على "صور بوكيمون ‪"Pokémon images‬‬

‫‪ .8‬انقر فوق "تدريب ‪"Train‬‬


‫‪21‬‬

‫‪ .9‬انظر من خالل صور التدريب‪ .‬هذه صور لحوالي مائة بوكيمون ستستخدمها لتدريب الكمبيوتر‪.‬‬

‫‪ .10‬انقر فوق "رجوع إلى المشروع ‪"Back to project‬‬

‫‪ .11‬انقر فوق "تعلم واختبار ‪"Learn & Test‬‬

‫‪ .12‬انقر على "تدريب نموذج جديد للتعلم اآللي ‪"Train new machine learning model‬‬

‫‪ .13‬انقر فوق "رجوع إلى المشروع ‪"Back to project‬‬

‫‪ .14‬انقر فوق "‪"Make‬‬

‫‪ .15‬انقر فوق " ‪"Scratch 3‬‬

‫‪ .16‬انقر فوق "فتحيف سكراتش ‪"Open in Scratch 3 3‬‬


‫‪Pokémon images‬‬ ‫‪2‬‬ ‫‪22‬‬

‫‪ .17‬انقر فوق "قوالب المشروع ‪"Project templates‬‬

‫‪ .18‬انقر على "صور بوكيمون ‪"Pokémon images‬‬

‫‪ .19‬انقر فوق "تصنيف ‪ "classify‬الكائن ‪sprite‬‬

‫‪ .20‬ابحث عن كود "عندما أتلقى التصنيف ‪"when I receive classify‬‬

‫‪ .21‬قم بتحديث الكود الستخدام نموذج التعلم اآللي الخاص بك‬

‫‪ .22‬انقر على زر "ملء الشاشة ‪" full-screen‬‬

‫‪ .23‬انقر فوق "العلم األخضر ‪" Green Flag‬‬


‫‪23‬‬

‫لقد استخدمت صورًا لعينة عشوائية من مائة بوكيمون لتدريب جهاز كمبيوتر ليكون قادرًا على‬ ‫•‬
‫التنبؤ بنوع بوكيمون من الصورة‪.‬‬

‫لقد أعددت مشروع سكراتش يمكنه استخدام نموذج التعلم اآللي الخاص بك‪.‬‬ ‫•‬

‫بعد ذلك‪ ،‬ستختبر نموذجك لترى مدى جودتهيف تخمين نوع بوكيمون الجديد‪.‬‬ ‫•‬

‫تم إعداد صور لست بوكيمون من أجلكيف مشروع سكراتش‪ .‬كل هؤالء الستة عبارة عن بوكيمون لم يتم‬
‫تضمينهميف بيانات التدريب التي استخدمتها لتدريب نموذج التعلم اآللي الخاص بك‪.‬‬

‫لماذا تعتقد أن هذا مهم؟‬

‫إذا كنت ترغبيف االختبار مع المزيد من بوكيمون‪ ،‬فيمكنك العثور على المزيد من الصور على‬
‫‪https://pokemondb.net‬‬

‫حاول اختبار النموذج الخاص بك لمعرفة األخطاء التي يرتكبها‪.‬‬

‫إذا وجدت خطاً‪ ،‬فراجع أمثلة التدريب مرة أخرى لمحاولة التفكيريف سبب الخطأ‪.‬‬

‫ستتصرف النماذج المختلفة بشكل مختلف قليالً‪ ،‬لذا قد ال تكون نتائجك هي نفسها نتائجي‪ .‬لكن هذه‬
‫أخطاء الحظتهايف االختبار‪.‬‬
‫‪Pokémon images‬‬ ‫‪2‬‬ ‫‪24‬‬

‫‪ Magikarp‬هو بوكيمون مائي ‪ ،water Pokémon‬لكن نموذجي خمن أنه نوع من النار ‪ .fire‬لماذا‬
‫تعتقد أنه قد يكون فعل ذلك؟‬

‫قد يكون اللون‪ .‬تحتوي الكثير من الناريف بوكيمون على الكثير من اللون األحمر والبرتقالي‪ ،‬لذلك من‬
‫الممكن أن نموذج التعلم اآللي الخاص بي تعلم ربط األحمر والبرتقالي بالنار‪.‬‬

‫‪ Blaziken‬عبارة عن بوكيمون ناري ‪ ،fire Pokémon‬لكن نموذجي خمن أنه من النوع الكهربائي‬
‫‪ .electric Pokémon‬لماذا تعتقد أنه قد يكون فعل ذلك؟‬

‫يمكن أن تكون األشكال‪ .‬تحتوي الكثير من بوكيمون الكهربائية على أشكال صفراء متعرجة على شكل‬
‫الترباس الكهربائي‪ ،‬لذا فمن الممكن أن نموذج التعلم اآللي الخاص بي تعلم ربط األشكال الصفراء‬
‫الشائكة بالكهرباء‪.‬‬
‫‪25‬‬

‫نماذج التعلم اآللي ليست مثالية‪.‬‬ ‫•‬

‫يمكنهم تعلم تحديد األنماط‪ ،‬ويمكنهم استخدام هذه األنماط لعمل تنبؤات‪ .‬غالبًا ما تكون هذه‬ ‫•‬
‫التوقعات صحيحة‪ .‬لكنيف بعض األحيان سيكونون مخطئين‪.‬‬

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

‫اآلن بعد أن انتهيت‪ ،‬لماذا ال تجرّب إحدى هذه األفكار؟ أو ابتكر واحدة خاصة بك؟‬

‫صمم بوكيمون الخاص بك!‬ ‫•‬

‫حاول رسم بوكيمون الخاص بك‪ .‬ما النوع الذي يعتقده نموذج التعلم اآللي الخاص بك؟‬ ‫•‬

‫يمكنك رسم بوكيمونيف سكراتش باستخدام أدوات الرسم لكائن جديد‪.‬‬ ‫•‬

‫أو يمكنك رسمها باستخدام القلم والورق‪ ،‬ثم استخدام أداة الكاميرا إلنشاء مظهر جديد ‪new‬‬ ‫•‬
‫‪costume‬يف سكراتش من صورة كاميرا الويب للرسم‪.‬‬
‫‪3‬‬
‫الفصل الدراسي الذكي‬

‫‪Smart Classroom‬‬
‫‪27‬‬

‫‪Smart Classroom‬‬ ‫‪3‬‬


‫في هذا المشروع‪ ،‬ستنشئ فصلًا دراسيًا افتراضيًا ‪ virtual classroom‬يمكنه الرد على ما تقوله‬ ‫•‬
‫له‪.‬‬

‫ستتمكن من التحكميف األجهزة االفتراضية ‪virtual devices‬يف الفصل الدراسي من خالل قول‬ ‫•‬
‫ما تريد‪.‬‬

‫بادئ ذي بدء‪ ،‬ستقوم ببرمجة قائمة من القواعد لفهم األوامر‪ ،‬ومعرفة سبب أن هذا األسلوب‬ ‫•‬
‫ليس جيدًا جدًا‪.‬‬

‫بعد ذلك‪ ،‬ستقوم بتعليم الكمبيوتر التعرف على أوامر األجهزة المختلفة من خالل إعطائه أمثلة‬ ‫•‬
‫لكل منها‪.‬‬

‫‪ .1‬انتقل إلى ‪/https://machinelearningforkids.co.uk‬يف مستعرض الويب‪.‬‬

‫‪ .2‬انقر فوق "البدء ‪"Get started‬‬

‫‪ .3‬انقر فوق "تسجيل الدخول ‪ "Log In‬واكتب اسم المستخدم وكلمة المرور‪.‬‬

‫إذا لم تتمكن من تذكر اسم المستخدم أو كلمة المرور‪ ،‬فاسأل معلمك أو قائد المجموعة إلعادة‬
‫تعيينه لك‪.‬‬
‫‪28‬‬

‫‪ .4‬انقر فوق "المشاريع ‪"Projects‬يف شريط القائمة العلوي‬

‫‪ .5‬انقر فوق الزر "‪ +‬إضافة مشروع جديد ‪."Add a new project +‬‬

‫‪ .6‬قم بتسمية مشروعك "الفصل الدراسي الذكي ‪ "smart classroom‬واضبطه لمعرفة كيفية التعرف‬
‫على "النص ‪ ."text‬انقر فوق إنشاء "‪"Create‬‬

‫‪ .7‬يجب أن ترى "الفصل الدراسي الذكي ‪"smart classroom‬يف قائمة المشاريع‪ .‬انقر عليه‪.‬‬

‫‪ .8‬سنبدأ بتجهيز المشروعيف سكراتش‪ .‬انقر فوق "‪"Make‬‬

‫‪ .9‬انقر فوق "‪" Scratch 3‬‬


‫‪29‬‬ ‫‪Smart Classroom‬‬ ‫‪3‬‬

‫‪ .10‬انقر على "سكراتش بنفسه ‪"Scratch by itself‬‬

‫ستحذرك الصفحة من أنك لم تقم بأي تعلم آلي حتى اآلن‪،‬‬

‫لكن النقر فوق ‪Scratch‬يف حد ذاته سيؤدي إلى تشغيل سكراتش‪.‬‬

‫‪ .11‬انقر فوق قوالب المشروع ‪.Project templates‬‬

‫‪ .12‬انقر فوق قالب الفصل الدراسي الذكي ‪.Smart Classroom‬‬

‫‪ .13‬انقر فوق كائن "الفصل الدراسي ‪ "classroom‬بحيث يتم تحديده كما هو موضح أدناه‪.‬‬

‫‪ .14‬انقر فوق عالمة التبويب ‪ Scripts‬وأدخل النص التالي‪.‬‬


‫‪30‬‬

‫‪ .15‬احفظ مشروعك‬

‫انقر فوق ملف ‪ >- File‬حفظ ‪ Save‬على جهاز الكمبيوتر الخاص بك لحفظ المشروعيف ملف‪.‬‬

‫‪ .16‬انقر فوق العلم األخضر لالختبار‪.‬‬

‫‪ .17‬اكتب رسالة وشاهدها تتفاعل!‬

‫جرب "تشغيل المصباح ‪ "Turn off the lamp‬و "إطفاء المصباح ‪ " Turn on the lamp‬و‬
‫"تشغيل المروحة ‪ "Turn on the fan‬و " إطفاء المروحة ‪ ."Turnoff the fan‬يجب أن يعملوا‬
‫جميعًا‪.‬‬

‫اكتب أي شيء آخر‪ ،‬ولن يحدث شيء!‬

‫حتى لو ارتكبت خطأ إمالئيًا بسيطًا‪ ،‬فلن تتطابق‪.‬‬

‫لقد قمت ببرمجة الفصل الدراسي االفتراضي للتفاعل مع األوامر باستخدام نهج بسيط قائم على‬ ‫•‬
‫القواعد‪.‬‬

‫إذا كنت تريد أن تفهم األوامر التي تمت صياغتها بشكل مختلف‪ ،‬فستحتاج إلى إضافة كتل‬ ‫•‬
‫إضافية‪.‬‬

‫تكمن المشكلةيف أنك بحاجة إلى التنبؤ بالضبط باألمر الذي سيحصل عليه المساعد الذكي‪ .‬قد‬ ‫•‬
‫يستغرق سرد كل رسالة ممكنة إلى األبد‪.‬‬

‫بعد ذلك‪ ،‬سنحاول اتباع نهج أفضل‪ :‬تعليم الكمبيوتر التعرف على األوامر لنفسه‪.‬‬ ‫•‬

‫‪ .18‬أغلق نافذة سكراتش وارجع إلى أداة التدريب ‪.Training tool‬‬

‫‪ .19‬انقر على رابط "<الرجوع إلى المشروع < ‪."Back to project‬‬


‫‪31‬‬ ‫‪Smart Classroom‬‬ ‫‪3‬‬

‫‪ .20‬نحتاج إلى جمع بعض األمثلة لتدريب الكمبيوتر‪.‬‬

‫انقر فوق الزر تدريب ‪.Train‬‬

‫‪ .21‬انقر فوق "‪ +‬إضافة تسمية جديدة ‪ "Add new label +‬وسميها "تشغيل مروحة ‪."fan on‬‬

‫افعل ذلك مرة أخرى‪ ،‬وأنشئ حاوية ثانيًة تسمى " إطفاء المروحة ‪."fan off‬‬

‫افعل ذلك مرة أخرى‪ ،‬وأنشئ حاوية ثالثة تسمى "تشغيل المصباح ‪ ."lamp on‬افعل ذلك مرة أخرى‪،‬‬
‫وأنشئ حاوية رابعة تسمى "إطفاء المصباح ‪."lamp off‬‬

‫‪ .22‬انقر فوق الزر "إضافة مثال ‪"Add example‬يف حاوية "تشغيل المروحة ‪ ،"fan on‬واكتب بطريقة‬
‫تطلب تشغيل المروحة‪.‬‬

‫على سبيل المثال‪ ،‬يمكنك كتابة "من فضلك‪ ،‬هل يمكنك تشغيل المروحة ‪Please can you‬‬
‫‪."switch on the fan‬‬
‫‪32‬‬

‫‪ .23‬انقر فوق الزر "إضافة مثال ‪" Add example‬يف حاوية "إيقاف تشغيل المروحة"‪ ،‬واكتب بطريقة‬
‫تطلب إيقاف تشغيل المروحة‪.‬‬

‫على سبيل المثال‪ ،‬يمكنك كتابة "أريد إطفاء المروحة اآلن ‪" I want the fan off now‬‬

‫‪ .24‬افعل الشيء نفسه مع حاوية "تشغيل المصباح ‪ " lamp on‬و "إطفاء المصباح ‪." lamp off‬‬

‫‪ .25‬كرر الخطوات من ‪ 22‬إلى ‪ 24‬حتى تحصل على ستة أمثلة على األقل لكل منها‪.‬‬

‫كن مبدعا!‬

‫حاول وفكريف الكثير من الطرق المختلفة لطرح كل أمر‪ .‬بالنسبة إلى "تشغيل المروحة ‪،" fan on‬‬
‫يمكنك الشكوى من كونك حارًا جدًا‪.‬‬

‫بالنسبة إلى "إيقاف المروحة ‪ ،" fan off‬يمكنك الشكوى من أنه منسم جدًا‪.‬‬

‫بالنسبة إلى "تشغيل المصباح ‪ ،" lamp on‬يمكنك الشكوى من كونه مظلمًا جدًا أو أنه ال يمكنك‬
‫رؤيته‪ .‬بالنسبة إلى "إطفاء المصباح ‪ ،" lamp off‬يمكنك الشكوى من أنه المع للغاية‪.‬‬

‫‪ .26‬انقر فوق االرتباط "<رجوع إلى المشروع < ‪ ،"Back to project‬ثم انقر فوق "تعلم واختبار ‪Learn‬‬
‫‪"& Test‬‬

‫‪ .27‬انقر فوق الزر "تدريب نموذج التعلم اآللي الجديد ‪."Train new machine learning model‬‬
‫‪33‬‬ ‫‪Smart Classroom‬‬ ‫‪3‬‬

‫طالما جمعت أمثلة كافية‪ ،‬يجب أن يبدأ الكمبيوتريف تعلم كيفية التعرف على األوامر من األمثلة التي‬
‫كتبتها‪.‬‬

‫‪ .28‬انتظر حتى يكتمل التدريب‪ .‬قد يستغرق هذا دقيقة أو دقيقتين‪ .‬أثناء االنتظار‪ ،‬حاول إكمال اختبار‬
‫الخيارات المتعددة للتعلم اآللييف أسفل الصفحة‪.‬‬

‫‪ .29‬بمجرد انتهاء التدريب‪ ،‬سيتم عرض مربع اختبار ‪ .Test box‬حاول اختبار نموذج التعلم اآللي‬
‫الخاص بك لمعرفة ما تعلمته‪ .‬اكتب أمرًا‪ ،‬واضغط على مفتاح اإلدخال‪ .‬يجب ان يكون قادر على‬
‫التعرف على األوامر‪.‬‬

‫اختبره بأمثلة لم تعرضها على الكمبيوتر من قبل‪.‬‬

‫إذا لم تكن راضيًا عن كيفية تعرّف الكمبيوتر على الرسائل‪ ،‬فارجع إلى الخطوة ‪ 25‬وأضف بعض‬
‫األمثلة األخرى‪.‬‬

‫تأكد من تكرار الخطوة ‪ 27‬للتدريب باستخدام األمثلة الجديدة!‬

‫‪ .30‬انقر فوق الرابط "<الرجوع إلى المشروع < ‪. " Back to project‬‬

‫‪ .31‬انقر فوق ‪.Make‬‬


‫‪34‬‬

‫لقد بدأتيف تدريب جهاز كمبيوتر على التعرف على األوامر‪.‬‬ ‫•‬

‫بدالً من كتابة القواعد للقيام بذلك‪ ،‬فأنت تفعل ذلك من خالل جمع األمثلة‪ .‬يتم استخدام هذه‬ ‫•‬
‫األمثلة لتدريب "نموذج ‪ "model‬التعلم اآللي‪.‬‬

‫وهذا ما يسمى "التعلم الخاضع لإلشراف ‪ "supervised learning‬نظرًا للطريقة التي تشرف‬ ‫•‬
‫بها على تدريب الكمبيوتر‪.‬‬

‫سيتعلم الكمبيوتر من األنماط الموجودةيف األمثلة التي قدمتها له‪ ،‬مثل اختيار الكلمات وطريقة‬ ‫•‬
‫بناء الجمل‪ .‬سيتم استخدام هذه لتكون قادرة على التعرف على األوامر‪.‬‬

‫‪ .32‬اضغط على ‪Scratch 3‬‬

‫‪ .33‬انقر فوق ‪Open in Scratch 3‬‬

‫تحتوي هذه الصفحة على إرشادات حول كيفية استخدام الكتل الجديدةيف سكراتش‬

‫‪ .34‬قم بتحميل مشروع سكراتش الذي حفظته من قبل‪.‬‬

‫انقر فوق ملف ‪ >- File‬تحميل ‪Load‬من جهاز الكمبيوتر الخاص بك‪.‬‬

‫انقر فوق "موافق ‪ " OK‬عندما يطلب استبدال المشروع الحالي‪.‬‬


‫‪35‬‬ ‫‪Smart Classroom‬‬ ‫‪3‬‬

‫مزيد من األمثلة!‬ ‫•‬

‫كلما أعطيت المزيد من األمثلة‪ ،‬كان من األفضل أن يتعرف الكمبيوتر على تعليماتك‪.‬‬

‫حاول وكن متكافئًا‬ ‫•‬

‫حاول وابتكار نفس العدد تقريبًا من األمثلة لكل أمر‪.‬‬

‫إذا كان لديك الكثير من األمثلة ألمر واحد دون اآلخر‪ ،‬فقد يتعلم الكمبيوتر أن هذا األمر مرجح‬
‫أكثر‪ ،‬لذلك ستؤثر على الطريقة التي يتعلم بها التعرف على الرسائل‪.‬‬

‫امزج األشياء مع األمثلة الخاصة بك‬ ‫•‬

‫حاول أن تأتي بالعديد من األنواع المختلفة من األمثلة‪.‬‬

‫على سبيل المثال‪ ،‬تأكد من تضمين بعض األمثلة الطويلة وبعض األمثلة القصيرة جدًا‪.‬‬

‫‪ .35‬انقر فوق عالمة التبويب "‪ ،"Code‬وقم بتحديث السكريبت الستخدام نموذج التعلم اآللي الخاص‬
‫بك بدالً من القواعد التي وضعتها من قبل‪.‬‬

‫كتلة "التعرف على النص ‪( ...‬التسمية) )‪ "recognise text … (label‬عبارة عن كتلة جديدة تمت‬
‫إضافتها بواسطة مشروعك‪ .‬إذا أعطيته نصًا‪ ،‬فسيعيد تسمية أحد األوامر األربعة بناءً على التدريب‬
‫الذي قدمته للكمبيوتر‪.‬‬
‫‪36‬‬

‫‪ .36‬انقر فوق العلم األخضر ‪ green flag‬لالختبار مرة أخرى‪.‬‬

‫‪ .37‬اختبر مشروعك‪.‬‬

‫اكتب أمرًا واضغط على ‪ .Enter‬يجب أن تتفاعل المروحة أو المصباح مع تعليماتك‪.‬‬

‫تأكد من اختبار أن هذا يعمل حتى مع الرسائل التي لم تدرجهايف تدريبك‪.‬‬

‫‪ .38‬احفظ مشروعك‪.‬‬

‫انقر فوق ملف ‪ >- File‬حفظ ‪ Save‬على جهاز الكمبيوتر الخاص بك‪.‬‬

‫لقد قمت بتعديل مساعد الفصل الدراسي الذكي الستخدام التعلم اآللي بدالً من منهجك السابق‬ ‫•‬
‫المستند إلى القواعد‪.‬‬

‫يجب أن يكون تدريب الكمبيوتر ليكون قادرًا على التعرف على التعليمات لنفسه أسرع بكثير‬ ‫•‬
‫من محاولة إعداد قائمة بكل أمر ممكن‪.‬‬

‫كلما أعطيت المزيد من األمثلة‪ ،‬كان من األفضل التعرف على التعليمات بشكل صحيح‪.‬‬ ‫•‬

‫‪ .39‬اترك سكراتش مفتوحًا (سنعود بعد قليل) لكن ارجع إلى صفحة ‪Learn & Test‬يف أداة‬
‫التدريب‪.‬‬
‫‪37‬‬ ‫‪Smart Classroom‬‬ ‫‪3‬‬

‫اكتب شيئًايف مربع االختبار ‪ Test box‬ال عالقة له بالمصابيح ‪ lamps‬أو المراوح ‪.fans‬‬

‫على سبيل المثال‪" ،‬اصنع لي شطيرة جبن ‪"make me a cheese sandwich‬‬

‫‪ .40‬انظر إلى درجة الثقة ‪ ،confidence score‬وتأكد من أنها منخفضة للغاية‪ .‬قارن هذا مع النتيجة‬
‫التي تحصل عليها من أوامر مثل "تشغيل المصباح ‪."turn on the lamp‬‬

‫هذه هي طريقة الكمبيوتر إلخبارك أنه ليس متأكدًا تمامًا من أنه يفهم أمرك‪ ،‬ألنه ال يشبه ما تعلمه‬
‫من األمثلة الخاصة بك‪.‬‬

‫‪ .41‬عد إلى سكراتش‪.‬‬

‫يمكنك فتح مشروعك المحفوظ من قبل إذا أغلقت النافذة‪.‬‬


‫‪38‬‬

‫‪ .42‬قم بتعديل السكريبت لعنصر "الفصل الدراسي ‪ "classroom‬بحيث يستخدم درجة الثقة هذه‪.‬‬

‫‪ .43‬انقر فوق العلم األخضر ‪ green flag‬واختبر مرة أخرى‬

‫حاول كتابة أوامر ال عالقة لها بالمروحة أو المصباح‪.‬‬

‫حاول طلب تشغيل شيء ما أو إيقاف تشغيله‪ .‬تأكد من أن فصلك يتفاعل بالطريقة الصحيحة‪.‬‬
‫‪39‬‬ ‫‪Smart Classroom‬‬ ‫‪3‬‬

‫لقد قمت بتدريب مساعد ذكي ‪ -‬مثل إصدار بسيط من المساعدين الذي يمكنك‬ ‫•‬
‫الحصول عليه على الهواتف الذكية الحديثة (مثل ‪ Siri‬من ‪ Apple‬أو مساعد ‪)Google‬‬
‫أو أجهزة المساعد االفتراضي (مثل ‪ Amazon's Alexa‬أو ‪.)Google's Home‬‬

‫لقد استخدمته إلنشاء مساعد ذكي للفصل الدراسييف سكراتش‪ ،‬باستخدام التعلم اآللي‬ ‫•‬
‫بدالً من منهجك السابق المستند إلى القواعد‪.‬‬

‫كان من المأمول أن يكون تدريب الكمبيوتر ليكون قادرًا على التعرف على التعليمات‬ ‫•‬
‫أسهل بكثير من محاولة إعداد قائمة بكل أمر ممكن‪ .‬وكلما قدمت المزيد من األمثلة‪ ،‬كان‬
‫ذلك أفضليف التعرف على التعليمات وكلما زادت الثقةيف القيام بذلك‪.‬‬

‫واآلن‪ ،‬إذا لم تكن متأكدًا مما تقصده‪ ،‬فسيطلب منك المحاولة مرة أخرى‪.‬‬

‫اآلن بعد أن انتهيت‪ ،‬لماذا ال تجرّب إحدى هذه األفكار؟‬

‫•‬

‫بدالً من مجرد مروحة ومصباح‪ ،‬هل يمكنك إضافة جهاز آخر إلى فصلك الدراسي الذكي؟‬

‫•‬

‫هل ‪ ٪70‬هو الحد األدنى المناسب الستخدامه لتقرير ما إذا كان الكمبيوتر قد تعرف على األمر؟‬

‫جرب قيمًا مختلفة حتى تحصل على قيمة تعمل جيدًا مع نموذج التعلم اآللي الخاص بك‪.‬‬

‫إذا اخترت رقمًا مرتفعًا جدًا‪ ،‬فسيقول الكمبيوتر "آسف‪ ،‬لست متأكدًا مما تقصده" كثيرًا ‪Sorry‬‬
‫‪.I’m not sure what you mean‬‬

‫إذا اخترت رقمًا منخفضًا جدًا‪ ،‬فسوف يخطئ الكمبيوتر كثيرًا‪.‬‬

‫•‬

‫ألق نظرة على المساعدين األذكياء الذين صنعهم المطورون لـ ‪ Alexa‬من أمازون‪:‬‬
‫‪http://amzn.to/2sxy1hw‬‬
‫‪40‬‬

‫قام المطورون بصنعها بنفس الطريقة التي قمت بهايف هذا المشروع ‪ -‬إنشاء تسميات لألوامر‬
‫التي أرادوا التعرف عليها‪ ،‬ثم جمع أمثلة عن كيفية صياغة هذه األوامر لتدريب ‪ Alexa‬حتى‬
‫يتمكن من فهمها‪.‬‬

‫ابحث عن مهارة ‪ Alexa‬التي تعتقد أنها تبدو جيدة‪ .‬انظر إلى األوامر التي يمكنه فهمها ‪ -‬هل‬
‫يمكنك التفكيريف كيفية تدريبها؟‬
‫‪4‬‬
‫انا اتجسس‬

‫‪I Spy‬‬
‫‪42‬‬

‫‪I Spy‬‬ ‫‪4‬‬


‫في هذا المشروع سوف تصنع لعبة انا اتجسس ‪ I Spy‬مدعومة بالذكاء االصطناعي‪.‬‬

‫ستستخدم نموذجًا للتعلم اآللي مدربًا مسبقًا للتعرف على األشياء الموجودةيف الصورة‪ .‬ستكون اللعبة متاحة‬
‫لك لمحاولة تخمين ما تعرف عليه الكمبيوتر‪.‬‬

‫‪ .1‬انتقل إلى ‪/https://machinelearningforkids.co.uk/pretrained‬‬

‫تعرض هذه الصفحة بعض نماذج التعلم اآللي المدربة مسبقًا‬

‫المتاحة لك‪ .‬بالنسبة لهذا المشروع‪ ،‬سنستخدم نموذج "‪."Imagenet‬‬

‫‪ .2‬انقر فوق "البدء ‪"Get started‬‬

‫‪ .3‬انقر فوق "قوالب المشروع ‪"Project templates‬‬

‫‪ .4‬افتح نافذة اإلضافات ‪Extensions‬‬

‫انقر فوق الزر األزرق مع رمز عالمة الجمعيف أسفل اليسار‪.‬‬


‫‪43‬‬

‫‪ .5‬انقر على االضافة ‪Imagenet‬‬

‫يؤدي هذا إلى إضافة كتلة "التعرف على الصورة ‪ "recognise image‬الجديدة إلى سكراتش‪.‬‬
‫سيستخدم نموذج التعلم اآللي من ‪ imagenet‬للتعرف على شيء مايف الصورة التي تقدمها له‪.‬‬
‫ستستخدم هذه الكتلةيف الخطوة ‪.7‬‬

‫‪ .6‬انقر على كائن "الصورة ‪"picture‬‬

‫‪ .7‬قم بإنشاء هذا الكود لعمل لعبة " انا اتجسس‪."I Spy‬‬

‫حاول أن تقرأها أوالً‪ .‬هل يمكنك أن تفهم ما تفعله؟‬


‫‪I Spy‬‬ ‫‪44‬‬

‫‪ .8‬حان وقت اللعب! انقر فوق العلم األخضر ‪.Green Flag‬‬

‫كم عدد التخمينات التي استغرقها األمر لتخمين ما هو التعلم اآللي‬

‫النموذج قد ميز؟‬

‫‪ .9‬ابحث عن الكود للكتلة المخصصة "‪"make an i-spy clue‬‬


‫‪45‬‬

‫‪ .10‬اجعل اللعبة أسهل قليالً من خالل جعل الدليل ‪ clue‬أكثر فائدة‪.‬‬

‫تظهر هذه الصورة طريقة واحدة يمكنك القيام بذلك‪.‬‬

‫إذا أخطأ الالعب ثالث مرات‪ ،‬فإنه يعطي الحرفين األولين‪.‬‬

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

‫‪ .11‬انقر فوق العلم األخضر لالختبار مرة أخرى‬

‫هل ساعدت الدليل المحدث؟ حاول اللعب ببعض الصور االختبارية‪.‬‬

‫‪ .12‬ارجع إلى ‪https://machinelearningforkids.co.uk/pretrained‬‬

‫اقرأ عن نموذج ‪ Imagenet‬وكيف تم إنشاؤه‬

‫‪ .13‬ابحث عن صورتك الخاصة لتختبرها‬

‫هل لديك أي صور يمكنك استخدامها؟ يمكنك عادة تنزيل صورة من إحدى صفحات الويب‬
‫عن طريق النقر بزر الماوس األيمن عليها واختيار "حفظ الصورة ‪ "Save image‬أو "حفظ الصورة‬
‫‪."Save picture‬‬

‫‪ .14‬انقر فوق عالمة التبويب "المظاهر ‪"Costumes‬‬


‫‪I Spy‬‬ ‫‪46‬‬

‫‪ .15‬انقر على زر "تحميل مظهر ‪."Upload costume‬‬

‫‪ .16‬قم بتحميل صورة االختبار الخاصة بك‪.‬‬

‫‪ .17‬قم بتغيير كود "اختيار صورة عشوائية ‪ " choose a random picture‬الستخدام صورتك‪.‬‬

‫تحتاج إلى اختيار اسم الصورة االختبارية الخاصة بك‪.‬‬

‫‪ .18‬انقر فوق العلم األخضر ‪ Green Flag‬وحاول اللعب مع صورتك االختبارية‪.‬‬

‫هل تعرف الكمبيوتر على ما كنت تتوقعه؟‬

‫لقد أنشأت مشروع سكراتش للعب "‪"I Spy‬يف مواجهة نموذج التعلم اآللي‪.‬‬ ‫•‬

‫تم تدريب النموذج من خالل جمع صور أمثلة آلالف األشياء المختلفة‪ .‬استغرق هذا الكثير‬ ‫•‬
‫من الوقت والجهد‪ ،‬لذا لتوفير الوقت‪ ،‬استخدمت نموذجًا تم تدريبه بالفعل من قبل شخص‬
‫آخر‪.‬‬

‫هل يمكنك التفكيريف أي طرق أخرى يمكنك من خاللها استخدام هذا النموذج؟‬ ‫•‬

‫هل تعتقد أن النموذج جيد بما يكفييف التعرف على الصور لذلك؟‬ ‫•‬
5
ً‫اجعلني سعيدا‬

Make me happy
‫‪48‬‬

‫‪Make me happy‬‬ ‫‪5‬‬


‫في هذا المشروع سوف تصنع شخصية تتفاعل مع ما تقوله‪.‬‬ ‫•‬

‫إذا جاملتها‪ ،‬ستبدو سعيدة‪ .‬إذا أهانته‪ ،‬سيبدو حزينًا‪.‬‬ ‫•‬

‫في البداية‪ ،‬ستبرمج قائمة من القواعد لما هو لطيف ‪ kind‬وما هو سيء ‪ ،mean‬وستتعرف‬ ‫•‬
‫على سبب كون هذا النهج غير جيد جدًا‪.‬‬

‫بعد ذلك‪ ،‬سوف تقوم بتعليم الكمبيوتر التعرف على الرسائل اللطيفة والرسائل السيئة من‬ ‫•‬
‫خالل إعطائها أمثلة لكل منها‪.‬‬

‫‪ .1‬انتقل إلى ‪/https://machinelearningforkids.co.uk‬يف مستعرض الويب‪.‬‬

‫‪ .2‬انقر فوق "البدء ‪."Get started‬‬

‫‪ .3‬انقر فوق "تسجيل الدخول ‪ "Log In‬واكتب اسم المستخدم ‪ username‬وكلمة المرور‬
‫‪.password‬‬

‫إذا لم يكن لديك اسم مستخدم‪ ،‬فاطلب من معلمك أو قائد المجموعة إنشاءه واحد لك‪.‬‬

‫إذا كنت ال تتذكر اسم المستخدم أو كلمة المرور‪ ،‬فاطلب من معلمك أو قائد المجموعة إعادة‬
‫تعيينهما لك‪.‬‬
‫‪49‬‬

‫‪ .4‬انقر فوق "المشاريع ‪"Projects‬يف شريط القائمة العلوي‬

‫‪ .5‬انقر فوق الزر "‪ +‬إضافة مشروع جديد ‪."Add a new project +‬‬

‫‪ .6‬قم بتسمية مشروعك "اجعلني سعيدًا ‪ "make me happy‬واضبطه لتعلم كيفية التعرف على‬
‫"النص ‪."text‬‬

‫انقر فوق الزر "إنشاء ‪"Create‬‬

‫‪ .7‬يجب أن ترى اآلن "اجعلني سعيدًا ‪"make me happy‬يف قائمة مشاريعك‪ .‬انقر عليه‪.‬‬

‫‪ .8‬ابدأ بتجهيز المشروعيف سكراتش‪ .‬انقر فوق "صنع ‪"Make‬‬

‫‪ .9‬انقر فوق الزر ‪Scratch 3‬‬

‫‪ .10‬انقر على "سكراتش بنفسه ‪"Scratch by itself‬‬

‫ستحذرك الصفحة من أنك لم تقم بأي تعلم آلي حتى اآلن‪،‬‬

‫لكن النقر فوق ‪Scratch‬يف حد ذاته سيؤدي إلى تشغيل سكراتش على أي حال‪.‬‬

‫‪ .11‬احذف كائن القط‪.‬‬


‫‪Make me happy‬‬ ‫‪5‬‬ ‫‪50‬‬

‫‪ .12‬قم بإنشاء كائن جديد من خالل النقر على أيقونة الرسام ‪Paint‬‬

‫‪ .13‬ارسم وجهًا بدون فميف عالمة تبويب المظاهر ‪Costumes‬‬


‫‪51‬‬

‫‪ .14‬انقر بزر الماوس األيمن على المظهر وانقر على "تكرار ‪ ."duplicate‬افعل ذلك مرة أخرى حتى‬
‫يكون لديك ثالث نسخ من المظهر‪.‬‬

‫‪ .15‬تسمية المظاهر الثالثة "غير متأكد ‪" ، "not sure‬سعيد ‪ "happy‬و "حزين ‪"sad‬‬

‫اكتب األسماءيف المربع األبيض الموضح بالسهم أدناه‪.‬‬

‫‪ .16‬ارسم فمًا على كل من المظاهر‪ .‬يجب أن يكون الوجه "غير متأكد ‪" not sure‬يف خط مستقيم‪.‬‬
‫يجب أن يكون للوجه "السعيد ‪ " happy‬ابتسامة‪.‬‬

‫يجب أن يبدو الوجه "الحزين ‪ " sad‬حزينًا‪.‬‬


‫‪Make me happy‬‬ ‫‪5‬‬ ‫‪52‬‬

‫‪ .17‬انقر فوق عالمة التبويب "كود ‪ "Code‬وأدخل السكريبت التالي‪.‬‬

‫‪ .18‬احفظ مشروعك‪.‬‬

‫انقر فوق ملف ‪ >- File‬حفظ ‪ Save‬على جهاز الكمبيوتر الخاص بك لحفظ المشروعيف ملف‪.‬‬

‫‪ .19‬انقر فوق العلم األخضر ‪ green flag‬لالختبار‪.‬‬

‫‪ .20‬اكتب رسالة وشاهدها تتفاعل!‬

‫اكتب "أعتقد أنك رائع ‪ "I think you are awesome‬واضغط على مفتاح اإلدخال ‪.enter‬‬
‫الشخصية تبتسم‪.‬‬

‫انقر فوق العلم األخضر مرة أخرى واكتب "رائحتك سيئة ‪ ."You smell bad‬الشخصية تبكي‪.‬‬
‫اكتب أي شيء آخر‪ ،‬ولن يتغير وجه الشخصية‪.‬‬
‫‪53‬‬

‫لقد أنشأت شخصية يجب أن تتفاعل مع ما يكتبه الناس‪ ،‬وبرمجتها باستخدام نهج بسيط‬ ‫•‬
‫قائم على القواعد‪.‬‬

‫إذا كنت تريد أن يتفاعل مع الرسائل األخرى‪ ،‬فأنت بحاجة إلى إضافة المزيد من كتل ‪.if‬‬ ‫•‬

‫تكمن المشكلةيف هذايف أنك بحاجة إلى التنبؤ بالضبط بالرسائل التي ستتلقاها الشخصية‪.‬‬ ‫•‬
‫قد يستغرق إعداد قائمة بكل رسالة ممكنة وقتًا طويالً!‬

‫بعد ذلك‪ ،‬سنحاول اتباع نهج أفضل ‪ -‬تعليم الكمبيوتر التعرف على الرسائل بنفسه‪.‬‬ ‫•‬

‫‪ .21‬أغلق نافذة سكراتش‪.‬‬

‫‪ .22‬أنت بحاجة إلى أمثلة لتدريب الكمبيوتر‪ .‬انقر على رابط "<الرجوع إلى المشروع < ‪Back to‬‬
‫‪ ."project‬ثم انقر فوق الزر "تدريب ‪." Train‬‬

‫‪ .23‬انقر فوق "‪ +‬إضافة تسمية جديدة ‪ "Add new label +‬وسميها "األشياء اللطيفة ‪kind‬‬
‫‪."things‬‬

‫افعل ذلك مرة أخرى‪ ،‬وأنشئ حاوية ثانية تسمى "األشياء السيئة ‪."mean things‬‬
‫‪Make me happy‬‬ ‫‪5‬‬ ‫‪54‬‬

‫‪ .24‬انقر فوق الزر "إضافة مثال ‪"Add example‬يف حاوية "األشياء اللطيفة ‪ ،"kind things‬واكتب‬
‫أطيب مجاملة يمكنك التفكير فيها‪.‬‬

‫‪ .25‬انقر فوق الزر "إضافة مثال ‪"Add example‬يف حاوية "األشياء المهينة ‪،"Add example‬‬
‫واكتب أقسى إهانة يمكن أن تخطر ببالك‪.‬‬

‫‪ .26‬كرر الخطوتين ‪ 24‬و ‪.25‬‬

‫اكتب ما ال يقل عن ست مجامالت وستة إهانات على األقل‪.‬‬

‫‪ .27‬انقر فوق ارتباط "<الرجوع إلى المشروع < ‪ ."Back to project‬ثم انقر فوق الزر "تعلم واختبار‬
‫‪."Learn & Test‬‬

‫‪ .28‬انقر فوق الزر "تدريب نموذج التعلم اآللي الجديد ‪Train new machine learning‬‬
‫‪."model‬‬

‫طالما أنك جمعت أمثلة كافية‪ ،‬يجب أن يبدأ الكمبيوتريف تعلم كيفية التعرف على الرسائل من‬
‫األمثلة التي قدمتها له‪.‬‬
‫‪55‬‬

‫‪ .29‬انتظر حتى يكتمل التدريب‪ .‬قد يستغرق هذا دقيقة‪.‬‬

‫‪ .30‬بمجرد انتهاء التدريب‪ ،‬سيتم عرض مربع اختبار‪ .‬حاول اختبار ‪ Test box‬النموذج الخاص‬
‫بك لمعرفة ما تعلمه الكمبيوتر‪.‬‬

‫اكتب شيئًا نوعًا‪ ،‬واضغط على مفتاح اإلدخال‪ .‬يجب االعتراف به كنوع‪ .‬اكتب شيئًا مهيناً‬
‫‪ ،mean‬واضغط على ‪ .Enter‬يجب أن يتم التعرف عليه على أنه مهين‪ .‬اختبره بأمثلة لم‬
‫تعرضها على الكمبيوتر من قبل‪.‬‬

‫إذا لم تكن راضيًا عن كيفية تعرف الكمبيوتر على الرسائل‪ ،‬فارجع إلى الخطوة ‪ 26‬وأضف‬
‫بعض األمثلة األخرى‪.‬‬

‫تأكد من تكرار الخطوة ‪ 28‬للتدريب باستخدام األمثلة الجديدة!‬

‫لقد بدأتيف تدريب جهاز كمبيوتر على التعرف على النص على أنه لطيف أو مهين‪ .‬بدالً‬ ‫•‬
‫من محاولة كتابة القواعد لتكون قادرًا على القيام بذلك‪ ،‬فأنت تفعل ذلك من خالل جمع‬
‫األمثلة‪ .‬يتم استخدام هذه األمثلة لتدريب "نموذج ‪ "model‬التعلم اآللي‪.‬‬

‫وهذا ما يسمى "التعلم الخاضع لإلشراف ‪ "supervised learning‬نظرًا للطريقة التي‬ ‫•‬
‫تشرف بها على تدريب الكمبيوتر‪.‬‬

‫سيتعلم الكمبيوتر من األنماط الموجودةيف األمثلة التي قدمتها له‪ ،‬مثل اختيار الكلمات‬ ‫•‬
‫وطريقة بناء الجمل‪ .‬سيتم استخدام هذه لتكون قادرة على التعرف على الرسائل الجديدة‪.‬‬

‫‪ .31‬انقر فوق االرتباط "<الرجوع إلى المشروع “< ‪" Back to project‬‬

‫‪ .32‬انقر فوق الزر "‪ ،"Make‬ثم الزر "‪."Scratch 3‬‬


‫‪Make me happy‬‬ ‫‪5‬‬ ‫‪56‬‬

‫تحتوي هذه الصفحة على إرشادات حول كيفية استخدام الكتل الجديدةيف سكراتش‪.‬‬

‫اترك الصفحة مفتوحة إذا كنت بحاجة إلى التحقق مرة أخرى من كيفية استخدامها‪.‬‬

‫‪ .33‬انقر فوق الزر "فتحيف سكراتش ‪ " Open in Scratch‬لتشغيل محرر سكراتش‪.‬‬

‫يجب أن ترى كتلًا جديدة من مشروعكيف أسفل القائمة‪.‬‬

‫‪ .34‬قم بتحميل مشروع سكراتش الذي قمت بحفظه مسبقًا‪.‬‬

‫انقر فوق ملف ‪ >- File‬تحميل ‪ Load‬من جهاز الكمبيوتر الخاص بك‪.‬‬

‫•‬

‫كلما قدمت المزيد من األمثلة‪ ،‬كان من األفضل للكمبيوتر التعرف على ما إذا كانت الرسالة لطيفة‬
‫أو لئيمة‪.‬‬

‫•‬

‫حاول أن تأتي بنفس العدد تقريبًا من األمثلة عن اللطف واالهانة‪.‬‬

‫•‬

‫حاول أن تأتي بالعديد من األنواع المختلفة من األمثلة‪.‬‬

‫على سبيل المثال‪ ،‬تأكد من تضمين بعض األمثلة الطويلة وبعض األمثلة القصيرة جدًا‪.‬‬
‫‪57‬‬

‫إذا كان لديك الكثير من األمثلة لنوع واحد دون اآلخر‪ ،‬فقد يتعلم الكمبيوتر أن هذا النوع هو‬
‫األرجح‪ ،‬لذلك ستؤثر على الطريقة التي يتعلم بها التعرف على الرسائل‪.‬‬

‫‪ .35‬انقر فوق عالمة التبويب "كود ‪ "Code‬وقم بتحديث السكريبت الستخدام نموذج التعلم اآللي‬
‫الخاص بك بدالً من القواعد التي وضعتها من قبل‪.‬‬

‫كتلة "التعرف على النص ‪( ...‬التسمية) )‪ "recognise text … (label‬عبارة عن كتلة جديدة‬
‫تمت إضافتها بواسطة مشروعك‪ .‬إذا أعطيته بعض النص‪ ،‬فسيعيد إما "األشياء اللطيفة" أو "األشياء‬
‫المهينة" بناءً على التدريب الذي قدمته للكمبيوتر‪.‬‬

‫يمكنك استخدام هذا الختيار المظهر الذي تريد التبديل إليه‪.‬‬

‫‪ .36‬انقر فوق العلم األخضر ‪ green flag‬لالختبار مرة أخرى‪.‬‬


‫‪Make me happy‬‬ ‫‪5‬‬ ‫‪58‬‬

‫‪ .37‬اختبر مشروعك‬

‫اكتب رسالة لطيفة واضغط على ‪ .Enter‬يجب أن تبتسم الشخصية‪.‬‬

‫انقر فوق العلم األخضر مرة أخرى‪ .‬اكتب رسالة مهينة وغير لطيفة واضغط على ‪ .Enter‬يجب‬
‫أن تبدو الشخصية حزينة‪.‬‬

‫يجب أن يعمل هذا مع الرسائل التي لم تقم بتضمينهايف تدريبك‪.‬‬

‫لقد قمت بتعديل شخصية سكراتش الخاص بك الستخدام التعلم اآللي بدالً من منهجك‬ ‫•‬
‫السابق القائم على القواعد‪.‬‬

‫يجب أن يكون تدريب الكمبيوتر ليكون قادرًا على التعرف على الرسائل بنفسه أسرع بكثير‬ ‫•‬
‫من محاولة إعداد قائمة بكل رسالة ممكنة‪.‬‬

‫كلما قدمت أمثلة أكثر‪ ،‬كان من األفضل التعرف على الرسائل بشكل صحيح‪.‬‬ ‫•‬
‫‪59‬‬

‫اآلن بعد أن انتهيت‪ ،‬لماذا ال تجرّب إحدى هذه األفكار؟ أو ابتكر واحدة خاصة بك؟‬

‫•‬

‫بدالً من مجرد تغيير الطريقة التي تبدو بها‪ ،‬اجعل شخصيتك ترد بناءً على ما تتعرف عليهيف ‬
‫الرسالة!‬

‫•‬

‫بدالً من وجه الشخص‪ ،‬لماذا ال تجرب شيئًا مختلفًا‪ ،‬مثل حيوان؟‬

‫يمكن أن تتفاعل بطرق مختلفة‪ ،‬بدالً من االبتسام‪.‬‬

‫على سبيل المثال‪ ،‬يمكنك أن تصنع كلبًا يهز ذيله إذا قلت له شيئًا لطيفًا!‬

‫•‬

‫بدلًا من اللطف واالهانة‪ ،‬هل يمكنك تدريب الشخصية على التعرف على أنواع الرسائل‬
‫األخرى؟‬

‫•‬

‫هل يمكنك التفكيريف أمثلة يكون من المفيد فيها أن تكون قادرًا على تدريب جهاز كمبيوتر‬
‫على التعرف على المشاعريف الكتابة؟‬
6
‫إحصائيات بوكيمون‬

Pokémon statistics
‫‪61‬‬

‫‪Pokémon statistics‬‬ ‫‪6‬‬


‫في هذا المشروع سوف تقوم بتدريب جهاز كمبيوتر للتنبؤ بنوع بوكيمون بناءً على إحصائياتهم‪ ،‬مثل‬
‫حجمهم ‪ size‬وقدراتهم القتالية ‪.fighting abilities‬‬

‫هذا هو بيكاتشو ‪.Pikachu‬‬

‫بيكاتشو هو بوكيمون كهربائي ‪.electric Pokémon‬‬

‫هناك أنواع مختلفة من بوكيمون‪.‬‬

‫‪ Jigglypuff‬هي بوكيمون خرافية ‪.fairy Pokémon‬‬

‫تحقق من أنواع ‪ Pokémon‬األخرىيف قاعدة بيانات‬

‫‪ Pokémon‬على ‪https://pokemondb.net‬‬

‫أنواع بوكيمون هي‪:‬‬

‫حشرة ‪Bug‬‬ ‫تنين ‪Dragon‬‬ ‫صلب ‪Steel‬‬ ‫نار ‪Fire‬‬ ‫عادي ‪Normal‬‬
‫ظالمي ‪Dark‬‬ ‫خرافي ‪Fairy‬‬ ‫مائي ‪Water‬‬ ‫جليدي ‪Ice‬‬ ‫عشبي ‪Grass‬‬
‫كهربائي ‪Electric‬‬ ‫قتال ‪Fighting‬‬ ‫طائر ‪Flying‬‬ ‫أرضي ‪Ground‬‬
‫سمي ‪Poison‬‬ ‫نفسية ‪Psychic‬‬ ‫شبح ‪Ghost‬‬ ‫صخري ‪Rock‬‬
‫‪62‬‬

‫ما نوع بوكيمون لـ ‪Squirtle‬؟ حاول ان تتوقع‪.‬‬

‫ما هي المعلومات التي تعتقد أنه يمكنك استخدامها لتخمين‬

‫النوع؟‬

‫هل ستستخدم الطريقة التي يبدو بها؟‬

‫هل تعتقد أن األلوان واألشكال ستعطيك‬

‫فكرة جيدة عن النوع؟‬

‫هل ستستخدم اإلحصائيات ‪ statistics‬التي تصف‬

‫حجم بوكيمون وقدراته وأسلوبه القتالي؟‬

‫هل تعتقد أن هذه األرقام ستعطيك فكرة جيدة عن النوع؟‬

‫كالهما غير مثالي‪.‬‬

‫ال توجد قواعد‪ .‬ولكن يمكننا أن نتعلم ما هو مشترك بينهم ونستخدمهيف التخمين‪.‬‬ ‫•‬

‫يمكن ألجهزة الكمبيوتر القيام بذلك‪ .‬يمكن ألجهزة الكمبيوتر أن تعمل دون االعتماد على‬ ‫•‬
‫القواعد‪ ،‬من خالل تعلم األشياء المشتركة واستخدامها لعمل تنبؤات‪.‬‬

‫نسمي هذا النوع من الحوسبة "التعلم اآللي ‪."Machine Learning‬‬ ‫•‬

‫في هذا المشروع‪ ،‬ستقوم بتدريب جهاز كمبيوتر ليكون قادرًا على التنبؤ بنوع بوكيمون بناءً على‬ ‫•‬
‫شكله‪ ،‬من خالل تدريبه بصور مائة مثال من بوكيمون‪.‬‬

‫لجعل األمور أسرع قليالً‪ ،‬لن ندرب الكمبيوتر على التعرف على كل نوع من أنواع بوكيمون‪،‬‬ ‫•‬
‫سنركز فقط على ستة من األنواع كمثال‪.‬‬

‫‪ .1‬انتقل إلى ‪/https://machinelearningforkids.co.uk‬يف مستعرض الويب‪.‬‬


‫‪63‬‬ ‫‪Pokémon statistics‬‬ ‫‪6‬‬

‫‪ .2‬انقر فوق "البدء ‪"Get started‬‬

‫‪ .3‬انقر فوق "جربه اآلن ‪"Try it now‬‬

‫‪ .4‬انقر فوق "نسخ القالب ‪"Copy template‬‬

‫‪ .5‬انقر على "احصائية بوكيمون ‪" Pokémon statistics‬‬

‫‪ .6‬انقر فوق "استيراد ‪"IMPORT‬‬

‫‪ .7‬انقر فوق "إحصائيات بوكيمون ‪"Pokémon statistics‬‬


‫‪64‬‬

‫‪ .8‬انقر فوق "تدريب ‪"Train‬‬

‫‪ .9‬ابحثيف إحصائيات التدريب ‪.training statistics‬‬

‫هذه هي اإلحصائيات الخاصة ببضع مئات من بوكيمون التي ستستخدمها لتدريب الكمبيوتر‪.‬‬

‫‪ .10‬انقر فوق "رجوع إلى المشروع ‪"Back to project‬‬

‫‪ .11‬انقر فوق "تعلم واختبار ‪"Learn & Test‬‬

‫‪ .12‬انقر على "تدريب نموذج جديد للتعلم اآللي ‪"Train new machine learning model‬‬

‫‪ .13‬انقر فوق "رجوع إلى المشروع ‪"Back to project‬‬

‫‪ .14‬انقر فوق "‪"Make‬‬

‫‪ .15‬انقر فوق "‪" Scratch 3‬‬


‫‪65‬‬ ‫‪Pokémon statistics‬‬ ‫‪6‬‬

‫‪ .16‬انقر فوق "فتحيف سكراتش ‪"Open in Scratch 3 3‬‬

‫‪ .17‬انقر فوق "قوالب المشروع ‪"Project templates‬‬

‫‪ .18‬انقر فوق "إحصائيات بوكيمون ‪"Pokémon statistics‬‬

‫‪ .19‬انقر فوق الكائن "‪" classify‬‬

‫‪ .20‬ابحث عن كود "عندما أتلقى التصنيف ‪"when I receive classify‬‬


‫‪66‬‬

‫‪ .21‬قم بتحديث الكود الستخدام نموذج التعلم اآللي الخاص بك‬

‫‪ .22‬انقر على زر "ملء الشاشة ‪"full-screen‬‬

‫‪ .23‬انقر فوق "العلم األخضر ‪"Green Flag‬‬

‫لقد استخدمت إحصائيات عينة عشوائية من بضع مئات من بوكيمون لتدريب جهاز كمبيوتر‬ ‫•‬
‫ليكون قادرًا على التنبؤ بنوع بوكيمون من األرقام التي تصف حجمها وقدراتها‪ .‬لقد أعددت‬
‫مشروع سكراتش يمكنه استخدام نموذج التعلم اآللي الخاص بك‪.‬‬

‫بعد ذلك‪ ،‬ستختبر نموذجك لترى مدى جودتهيف تخمين نوع بوكيمون الجديد‪.‬‬ ‫•‬

‫تم إعداد إحصائيات لستة بوكيمو ن من أجلكيف مشروع سكراتش‪ .‬كل هؤالء الستة عبارة عن بوكيمون لم‬
‫يتم تضمينهميف بيانات التدريب التي استخدمتها لتدريب نموذج التعلم اآللي الخاص بك‪.‬‬
‫‪67‬‬ ‫‪Pokémon statistics‬‬ ‫‪6‬‬

‫لماذا تعتقد أن هذا مهم؟‬

‫اسحب أحدهم إلى المربع األحمر‪ ،‬ثم انقر على الزر األزرق‪.‬‬

‫سيتم عرض إحصائيات بوكيمون الذي اخترته‪ ،‬جنبًا إلى جنب مع التنبؤ الذي تم إجراؤه بواسطة نموذج‬
‫التعلم اآللي الخاص بك‪.‬‬

‫(ال يستخدم نموذج التعلم اآللي صورة ‪ - Pokémon‬بل تم تضمينها فقطيف المشروع لجعلها تبدو‬
‫أفضل!)‬

‫اآلن بعد أن انتهيت‪ ،‬لماذا ال تجرّب إحدى هذه األفكار؟ أو ابتكر واحدة خاصة بك؟‬

‫•‬

‫حاول ابتكار بوكيمون خاص بك‪ .‬يتم تضمين كائن يسمى "‪"your- pokemon‬يف مشروع‬
‫سكراتش جاهزًا لملئه‪.‬‬

‫يمكنك رسم بوكيمونيف سكراتش باستخدام أدوات الرسم لكائن جديد‪.‬‬

‫أو يمكنك رسمها باستخدام القلم والورق‪ ،‬ثم استخدام أداة الكاميرا إلنشاء مظهر جديديف سكراتش‬
‫من صورة كاميرا الويب للرسم‪.‬‬

‫ثم يمكنك ملء اإلحصائيات الخاصة ببوكيمون الخاص بك‪ .‬ما النوع الذي يعتقده نموذج التعلم‬
‫اآللي الخاص بك؟‬
‫‪7‬‬
‫برنامج األسئله واالجوبه‬

‫‪Quiz Show‬‬
‫‪69‬‬

‫‪Quiz Show‬‬ ‫‪7‬‬


‫في هذا المشروع‪ ،‬ستقوم بعمل برنامج األسئلة واألجوبة مدعوم بالذكاء االصطناعي ‪AI-powered‬‬
‫‪ ،quiz show‬الختبار نموذج التعلم اآللي على أسئلة المعرفة العامة‪.‬‬

‫ستستخدم نموذجًا للتعلم اآللي مدربًا مسبقًا تم تدريبه للعثور على إجابات لألسئلةيف صفحات ويكيبيديا‪.‬‬

‫‪ .1‬اختر موضوعك‪.‬‬

‫ما الذي تريد استخدامه لألسئلةيف عرض االختبار الخاص بك؟‬

‫للحصول على لقطات الشاشةيف ورقة العمل هذه‪ ،‬استخدمت بطولة ويمبلدون للتنس‪.‬‬

‫يجب عليك اختيار موضوع تهتم به‪.‬‬

‫‪ .2‬اذهب إلى ‪ https://en.wikipedia.org‬وابحث عن صفحة عن موضوعك‪.‬‬

‫اترك هذه النافذة مفتوحة‪ ،‬حيث ستحتاج إليها الحقًا‪.‬‬


‫‪70‬‬

‫‪ .3‬انتقل إلى ‪/https://machinelearningforkids.co.uk/pretrained‬يف نافذة متصفح‬


‫ويب جديدة‪.‬‬

‫تعرض هذه الصفحة بعض نماذج التعلم اآللي التي تم اختبارها مسبقًا والمتوفرة لك‪.‬‬

‫بالنسبة لهذا المشروع‪ ،‬سنستخدم نموذج اإلجابة على األسئلة ‪Question Answering‬‬
‫‪.model‬‬

‫‪ .4‬انقر فوق "البدء ‪" Get started‬‬

‫‪ .5‬انقر فوق قوالب المشروع ‪Project templates‬‬

‫‪ .6‬انقر على قالب "‪"Quiz Show‬‬

‫قد يستغرق التنزيل بضع ثوان‪.‬‬

‫‪ .7‬افتح نافذة اإلضافات ‪Extensions‬‬

‫انقر فوق الزر األزرق مع رمز عالمة الجمعيف أسفل اليسار‬

‫‪ .8‬انقر على اضافة ويكيبيديا ‪Wikipedia extension‬‬


‫‪71‬‬ ‫‪Quiz Show‬‬ ‫‪7‬‬

‫‪ .9‬ستحتاج إلى هذه االضافة للعثور على صفحات ويكيبيديا التي سيبحث فيها نموذج التعلم اآللي‬
‫للعثور على إجابات لألسئلة‪.‬‬

‫افتح نافذة االمتدادات مرة أخرى‬

‫‪ .10‬انقر على اضافة "إجابة األسئلة ‪" Question Answering extension‬‬

‫ستحتاج إلى هذه االضافة الستخدام نموذج التعلم اآللي المدرب مسبقًا والذي يجد إجابات‬
‫لألسئلة‪.‬‬

‫قد يستغرق التنزيل بضع ثوان‪.‬‬

‫‪ .11‬قم بإنشاء الكود التالي لضبط متغير الموضوع ‪ subject variable‬على اسم صفحة ويكيبيديا‬
‫الخاصة بك‪.‬‬

‫يجب عليك تعيين المتغير ليطابق تمامًا اسم صفحة ‪ Wikipedia‬الخاصة بك من الخطوة ‪- 2‬‬
‫بمايف ذلك أي عالمات ترقيم‬

‫‪ .12‬انقر فوق كائن الكمبيوتر ‪ computer sprite‬وابحث عن إجابة رمز السؤاليف مشروع النموذج‪،‬‬
‫سيتظاهر الكمبيوتر بالتفكير لمدة ‪ 5‬ثوانٍ ثم اإلجابة "ال أعرف ‪."I don’t know‬‬

‫هذا هو الكود الذي سوف تحتاج إلى تحديثه!‬


‫‪72‬‬

‫‪ .13‬قم بتحديث الكود بحيث يبدو هكذا‬

‫هناك الكثير ممتلئًايف سطر واحد‪ ،‬لذا سأشرح ما تعنيه البنات‪:‬‬

‫هذا يحصل على محتويات النص من صفحة ويكيبيديا‪ .‬يمكنك النقر فوقه لمعرفة ما يرجع‪:‬‬

‫هذا يحصل على النص من صفحة ‪ Wikipedia‬التي اخترتها‪ ،‬باستخدام المتغير الذي قمت‬
‫بتعيينهيف الخطوة ‪.11‬‬

‫هذا هو نموذج التعلم اآللي المدروس مسبقًا الذي ستستخدمه للبحث عن إجابات‪ .‬سيبحث عن‬
‫إجابة سؤال "السؤال ‪"question‬يف نص "المقطع ‪."passage‬‬

‫سيبحث هذا عن إجابة السؤاليف متغير السؤال ‪( question variable‬الذي تم تعيينه بواسطة‬
‫قالب المشروع)يف محتويات صفحة ويكيبيديا التي اخترتها باستخدام متغير الموضوع ‪subject‬‬
‫‪.variable‬‬
‫‪73‬‬ ‫‪Quiz Show‬‬ ‫‪7‬‬

‫‪ .14‬فكريف سؤال االختبار‬

‫ابحثيف صفحة ‪ Wikipedia‬التي فتحتها من الخطوة ‪ .2‬ابحث عن حقيقةيف تلك الصفحة‬


‫تعتقد أنها ستشكل سؤال اختبار جيد‪.‬‬

‫بالنسبة لموضوعي‪ ،‬قررت استخدام "ما لون كرات التنس؟ ‪What colour are the tennis‬‬
‫‪" ?balls‬‬

‫‪ .15‬حان وقت اللعب!‬

‫حاول العثور على شخص يمكنه اللعب ضد نموذج التعلم اآللي‪.‬‬

‫يمكن أن يكون أحد أفراد فصلك‪ ،‬أو أحد أفراد العائلة إذا كنت تفعل ذلكيف المنزل‪.‬‬

‫‪ .16‬انقر فوق العلم األخضر ‪.Green Flag‬‬

‫‪ .17‬عندما ترى موجه السؤال التالي‪ ،‬اكتب السؤال الذي فكرت بهيف الخطوة ‪ ،14‬ثم اضغط على‬
‫‪Enter‬‬

‫‪ .18‬قل السؤال لمنافسك البشري‬

‫انتظر حتى يأتي كل من المتسابقين بإجابة‪.‬‬

‫قد يستغرق الكمبيوتر بعض الوقت ‪ -‬يرجى التحلي بالصبر!‬


‫‪74‬‬

‫‪ .19‬قرر ما إذا كانت إجابات منافسيك صحيحة‪ .‬انقر فوق عالمة ‪ tick‬أو عالمة عرضية ‪ cross‬لكل‬
‫منافس‪.‬‬

‫يؤدي تشغيل اللعبةيف وضع ملء الشاشة إلى تسهيل تجنب تحريك الكائنات المتحركة عن طريق‬
‫الخطأ عند النقر عليها‪.‬‬

‫‪ .20‬فكريف سؤال آخر وحاول مرة أخرى‬

‫سيتم تحديث النتائج على المنصة إذا قلت إن اإلجابات صحيحة‪.‬‬


‫‪75‬‬ ‫‪Quiz Show‬‬ ‫‪7‬‬

‫‪ .21‬كرر مع أنواع مختلفة من األسئلة لمعرفة نوع األسئلة التي يجدها منافسوك أسهل أو أصعب‪.‬‬

‫‪ .22‬حاول القيام بجولة عرض اختباري على فئة مختلفة‪ ،‬عن طريق تغيير متغير الموضوع الذي قمت‬
‫بتعيينهيف الخطوة ‪.11‬‬

‫تحتاج إلى النقر فوق العلم األخضر مرة أخرى لتشغيل هذا الكود‪.‬‬

‫‪ .23‬من ربح اختبارك؟‬


‫‪76‬‬

‫لقد أنشأت مشروع سكراتش لتوضيح "اإلجابة على األسئلة ‪."Question answering‬‬ ‫•‬

‫اإلجابة على األسئلة هي عندما يتعرف الكمبيوتر بشكل كافٍ على معنى السؤال حتى يتمكن من‬ ‫•‬
‫الحصول على إجابة‪.‬‬

‫لقد كانت هذه مجموعة فرعية من أبحاث التعلم اآللي لعدة عقود‪.‬‬ ‫•‬

‫على سبيل المثال‪،‬يف عام ‪ ،1961‬صنع باحثونيف جامعة ستانفورد "‪ - "BASEBALL‬جهاز‬
‫كمبيوتر يمكنه اإلجابة عن أسئلة حول لعبة البيسبول‪.‬‬

‫‪https://ibm.biz/baseball-qa‬‬

‫اعتمدت هذه األنظمة المبكرة على القدرة على استرجاع اإلجابات من "قواعد المعرفة‬ ‫•‬
‫‪ "knowledgebases‬المعدة بعناية ‪ -‬وهي البيانات التي تم تنظيمها وهيكلتها لتسهيل قيام‬
‫أجهزة الكمبيوتر بالبحث عن اإلجابات فيها‪.‬‬

‫في السنوات األخيرة‪ ،‬ركز الباحثون على أنظمة اإلجابة على األسئلة التي يمكنها استرداد اإلجابة‬ ‫•‬
‫من مجموعة من المستندات (تسمى "مجموعة ‪.)"corpus‬‬

‫ظهرت إحدى السمات البارزةيف القدرة على استرداد اإلجابات من المستندات غير المهيكلةيف ‬ ‫•‬
‫عام ‪ ،2011‬عندما قامت شركة ‪ IBM‬بعمل نظام لإلجابة على األسئلة يسمى "‪ ."Watson‬تم‬
‫إثبات ذلك من خالل الدخوليف برنامج مسابقات تلفزيوني يسمى ‪ !Jeopardy‬حيث تنافست‬
‫ضد اثنين من أفضل الالعبين البشريين الذين خاضوا اللعبة‪.‬‬

‫‪https://ibm.biz/watson-qa‬‬

‫إذا كنت قد أنجزت مشروعات أخرى لتعلم اآللة لألطفال‪ ،‬فمن المحتمل أنك تعلم أن تدريب‬ ‫•‬
‫نموذج التعلم اآللي يتطلب بيانات تدريب ‪ - training data‬أمثلة يمكن للكمبيوتر استخدامها‬
‫لمعرفة كيفية القيام بمهمة ما‪.‬‬

‫لهذه المهمة‪ ،‬يحتاج تدريب النموذج إلى بيانات تدريبية تتكون من أكثر من ‪ 100000‬سؤال‪،‬‬ ‫•‬
‫وموقع اإلجابات على هذه األسئلةيف صفحات ويكيبيديا‪.‬‬
‫‪77‬‬ ‫‪Quiz Show‬‬ ‫‪7‬‬

‫إذا كنت ترغبيف االطالع على بيانات التدريب التي تم استخدامها‪ ،‬فتفضل بزيارة‬ ‫•‬
‫‪https://ibm.biz/squad-qa‬‬

‫اآلن بعد أن انتهيت‪ ،‬لماذا ال تجرّب إحدى هذه األفكار؟ أو ابتكر واحدة خاصة بك؟‬

‫‪speech recognition‬‬ ‫•‬

‫بدالً من كتابة أسئلة االختبار‪ ،‬يمكنك التحدث بها‪ .‬حاول استخدام نموذج التعلم اآللي‬
‫للتعرف على الكالم المُدرب مسبقًا للقيام بذلك‪.‬‬

‫•‬

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

Chameleon
‫‪79‬‬

‫‪Chameleon‬‬ ‫‪8‬‬
‫في هذا المشروع سوف تصنع حرباء ‪ Chameleon‬يتغير لونها لتتناسب مع خلفيتها‪.‬‬

‫ستستخدم كاميرا الويب اللتقاط صور ألجسام ملونة مختلفة‪ ،‬ثم تستخدم التعلم اآللي مع هذه األمثلة‬
‫لتدريب الحرباء على التعرف على األلوان‪.‬‬

‫‪ .1‬انتقل إلى ‪/https://machinelearningforkids.co.uk‬يف مستعرض ويب‪.‬‬

‫‪ .2‬انقر فوق "البدء ‪"Get started‬‬

‫‪ .3‬انقر فوق "تسجيل الدخول ‪ "Log In‬واكتب اسم المستخدم وكلمة المرور‪.‬‬

‫إذا لم يكن لديك اسم مستخدم‪ ،‬فاطلب من معلمك إنشاء واحد لك‪.‬‬

‫إذا كنت ال تتذكر كلمة مرورك‪ ،‬فاطلب من معلمك إعادة تعيينها لك‪.‬‬

‫‪ .4‬انقر فوق "المشاريع ‪"Projects‬يف شريط القائمة العلوي‬

‫‪ .5‬انقر فوق الزر "‪ +‬إضافة مشروع جديد ‪."Add a new project +‬‬

‫‪ .6‬قم بتسمية مشروعك "الحرباء ‪ "chameleon‬واضبطه لتتعلم كيفية التعرف على "الصور‬
‫‪ ."images‬انقر فوق الزر "إنشاء ‪"Create‬‬
‫‪80‬‬

‫‪ .7‬يجب أن ترى "الحرباء ‪"chameleon‬يف قائمة مشاريعك‪ .‬انقر عليه‪.‬‬

‫‪ .8‬انقر فوق الزر "تدريب ‪" Train‬‬

‫‪ .9‬اختر ثالثة ألوان‬

‫اختر األلوان التي يمكنك العثور عليها بسهولة‪ .‬لبقية هذا ورقة العمل‪ ،‬سأستخدم األحمر‬
‫واألخضر واألزرق‪.‬‬
‫‪81‬‬ ‫‪Chameleon‬‬ ‫‪8‬‬

‫‪ .10‬انقر على "‪ +‬إضافة تصنيف جديد ‪"Add new label +‬‬

‫‪ .11‬اكتب اسم لونك األول‪ ،‬ثم اضغط على إضافة ‪Add‬‬

‫‪ .12‬افعل ذلك مرة أخرى للونين اآلخرين‬

‫‪ .13‬انقر فوق زر كاميرا الويب ‪webcam‬يف حاوية األلوان األول‬

‫‪ .14‬التقط صورة لشيء بهذا اللون‬

‫حاول أن تمأل الكثير من الصورة‬


‫‪82‬‬

‫‪ .15‬كرر حتى تحصل على عشرة أمثلةيف كل لون‬

‫حاول أن تجد كائنات مختلفة لكل لون‪ .‬إذا لم يكن ذلك ممكنًا‪ ،‬فالتقط أكثر من صورة واحدة‬
‫ألشياء من زوايا مختلفة أو مقلوبة‪.‬‬

‫‪ .16‬انقر فوق "<الرجوع إلى المشروع < ‪"Back to project‬‬

‫‪ .17‬انقر فوق تعلم واختبار ‪Learn & Test‬‬

‫‪ .18‬انقر فوق الزر "تدريب نموذج التعلم اآللي الجديد ‪Train new machine learning‬‬
‫‪"model‬‬

‫قد يستغرق تدريب النموذج بضع دقائق‪.‬‬


‫‪83‬‬ ‫‪Chameleon‬‬ ‫‪8‬‬

‫لقد بدأتيف تدريب جهاز كمبيوتر على التعرف على لون الصورة‪ .‬أنت تفعل ذلك من خالل‬ ‫•‬
‫التقاط الصور على سبيل المثال‪ .‬يتم استخدام هذه األمثلة لتدريب "نموذج ‪ "model‬التعلم‬
‫اآللي‪.‬‬

‫وهذا ما يسمى "التعلم الخاضع لإلشراف ‪ "supervised learning‬نظرًا للطريقة التي تشرف‬ ‫•‬
‫بها على تدريب الكمبيوتر‪.‬‬

‫سيتعلم الكمبيوتر من األنماط الموجودةيف األلوان من كل صورة من الصور التي قدمتها له‪ .‬سيتم‬ ‫•‬
‫استخدام هذه للتعرف على الصور الجديدة‪.‬‬

‫‪ .19‬انقر فوق "<رجوع إلى المشروع < ‪"Back to project‬‬

‫‪ .20‬انقر على زر "‪"Make‬‬

‫‪ .21‬انقر فوق "‪" Scratch 3‬‬

‫‪ .22‬انقر فوق "‪" Open in Scratch 3‬‬


‫‪84‬‬

‫‪ .23‬انقر فوق الزر "قوالب المشروع ‪"Project templates‬يف الجزء العلوي‬

‫‪ .24‬انقر فوق قالب مشروع الحرباء ‪Chameleon‬‬

‫‪ .25‬انقر فوق عالمة التبويب المظاهر ‪Costumes‬‬


‫‪85‬‬ ‫‪Chameleon‬‬ ‫‪8‬‬

‫‪ .26‬انقر بزر الماوس األيمن على "مخطط ‪ ،"outline‬وانقر على "تكرار ‪"duplicate‬‬

‫‪ .27‬قم بتسمية المظهر المكرر باسم أول ألوانك‬

‫من المهم أن يتطابق االسم تمامًا‪ ،‬وإال فلن يعمل السكريبت‪.‬‬

‫‪ .28‬استخدم أداة ملء حاوية الطالء ‪ paint bucket Fill‬لتلوين مظهر الحرباء‪.‬‬
‫‪86‬‬

‫‪ .29‬كرر‪ .‬قم بتكرار مظهر المخطط التفصيلي مرة أخرى‪ ،‬وقم بتسميته ‪ exactly‬بعد ثاني ألوانك‪،‬‬
‫وقم بتلوينه‬

‫‪ .30‬كرر مرة أخرى للحصول على مظهر اللون الثالث‪.‬‬

‫‪ .31‬انقر فوق عالمة التبويب كود ‪.Code‬‬


‫‪87‬‬ ‫‪Chameleon‬‬ ‫‪8‬‬

‫‪ .32‬أنشئ الكود التالي‪.‬‬

‫‪ .33‬اضغط على العلم األخضر ‪.Green Flag‬‬

‫‪ .34‬أمسك شيئًا أمام كاميرا الويب إلعطاء الحرباء خلفية جديدة‪.‬‬

‫استخدم شيئًا لم تستخدمه لتدريب نموذج التعلم اآللي الخاص بك‪.‬‬

‫‪ .35‬حاول تحسين الكود‬

‫هل يمكنك معرفة ما سيفعله هذا الكود بشكل مختلف؟‬

‫هل تعتقد أن هذا تحسن؟‬

‫حاول تجربة أرقام ثقة ‪ confidence numbers‬مختلفة بدالً من "‪ ."70‬ما هي عتبة الثقة‬
‫‪ confidence threshold‬التي تعتقد أنها تعمل بشكل أفضل مع نموذجك؟‬
‫‪88‬‬

‫لقد أنشأت حرباءيف سكراتش تستخدم التعلم اآللي للتعرف على لون الخلفية‪ ،‬وتستخدم ذلك‬ ‫•‬
‫لتبديل المظهر للمطابقة‪.‬‬

‫كلما أعطيته المزيد من األمثلة‪ ،‬كان من األفضل التعرف على األلوان بشكل صحيح‪.‬‬ ‫•‬

‫اآلن بعد أن انتهيت‪ ،‬لماذا ال تجرّب إحدى هذه األفكار؟ أو ابتكر واحدة خاصة بك؟‬

‫•‬

‫ليس من الضروري أن يكون لديك حرباء بسيطة‪ .‬لماذا ال تحاول تصميم أنماط التمويه الخاصة‬
‫بك؟‬

‫‪Cheeky chameleon‬‬ ‫•‬

‫حاول إضافة حاوية رابعة إلى بيانات التدريب الخاصة بك‪ ،‬مع عشر صور لك تخرج لسانك‪.‬‬

‫أضف مظهراً آخر للحرباء وارسم لسانًا بارزًا‪.‬‬

‫عندما يتعرف نموذج التعلم اآللي على أنك تخرج لسانك‪ ،‬يمكنك التبديل إلى هذا المظهر‪،‬‬
‫بحيث تخرج الحرباء لسانها أيضًا!‬
‫‪9‬‬
‫ساعي البريد ماكس‬

‫‪Mailman Max‬‬
‫‪90‬‬

‫‪Mailman Max‬‬ ‫‪9‬‬


‫في هذا المشروع سوف تقوم بإنشاء مكتب فرز بريدي رئيسي‪ .‬ستحتاج إلى فرز الرسائل بحيث يمكن‬
‫وضعهايف شاحنات صغيرة تتجه إلى مكاتب الفرز المحلية المناسبة‪.‬‬

‫يعد الرمز البريدي ‪ postcode‬طريقة رائعة لتحديد مكتب الفرز التالي الذي يجب أن يذهب إليه الحرف‪،‬‬
‫لذلك ستستخدمه‪.‬‬

‫ستقوم بتدريب الكمبيوتر على التعرف على شكل الرموز المختلفةيف بداية الرمز البريدي عندما تكون‬
‫مكتوبة بخط اليد‪ ،‬واستخدام ذلك لفرز الحروف‪.‬‬

‫‪ .1‬انتقل إلى ‪https://machinelearningforkids.co.uk‬يف مستعرض الويب‬

‫‪ .2‬انقر فوق "البدء ‪"Get started‬‬

‫‪ .3‬انقر فوق "تسجيل الدخول ‪ "Log In‬واكتب اسم المستخدم وكلمة المرور‬

‫إذا لم يكن لديك اسم مستخدم‪ ،‬فاطلب من معلمك أو قائد المجموعة إنشاء واحد لك‪.‬‬

‫إذا كنت ال تتذكر كلمة مرورك‪ ،‬فاطلب من معلمك أو قائد المجموعة إعادة تعيينها لك‪.‬‬

‫‪ .4‬انقر فوق "المشاريع ‪"Projects‬يف شريط القائمة العلوي‪.‬‬


‫‪91‬‬ ‫‪Mailman Max‬‬

‫‪ .5‬انقر فوق الزر "‪ +‬إضافة مشروع جديد ‪."Add a new project +‬‬

‫‪ .6‬قم بتسمية مشروعك "‪ "Mailman Max‬وقم بتعيينه لمعرفة كيفية التعرف على "الصور‬
‫‪." images‬‬

‫‪ .7‬انقر فوق الزر "إنشاء ‪"Create‬‬

‫‪ .8‬يجب أن ترى ساعي البريد ماكس "‪"Mailman Max‬يف قائمة مشاريعك‪ .‬انقر فوقه‪.‬‬

‫انقر فوق الزر "تدريب ‪"Train‬‬ ‫‪.9‬‬

‫‪ .10‬انقر فوق الزر "إضافة تصنيف جديد ‪ ،”Add new label‬وأنشئ تسمية باسم "أكسفورد‬
‫‪"Oxford‬‬
‫‪92‬‬

‫‪ .11‬انقر فوق الزر "رسم ‪"draw‬يف حاوية "أكسفورد ‪" Oxford‬‬

‫‪ .12‬استخدم الماوس لكتابة "‪"OX‬يف المربع الفارغ‪.‬‬

‫‪ OX‬هي بداية الرموز البريديةيف منطقة أكسفورد‪.‬‬

‫حاول استخدام كل المساحة الموجودةيف الصندوق‪ ،‬كمايف الصورة أدناه‪.‬‬

‫‪ .13‬انقر فوق "إضافة ‪"ADD‬‬

‫‪ .14‬انقر فوق "رسم ‪ " Draw‬مرة أخرى‪ ،‬وارسم "‪ "OX‬آخر‬


‫‪93‬‬

‫‪ .15‬كرر ذلك حتى تحصل على ‪ 10‬أمثلة من "‪"OX‬‬

‫‪ .16‬انقر فوق "إضافة تسمية جديد ‪ "Add new label‬مرة أخرى‪ ،‬وإنشاء تسمية باسم جيلفورد‬
‫"‪"Guildford‬‬

‫‪ .17‬استخدم الزر "رسم ‪"Draw‬يف حاوية "‪ "Guildford‬لرسم ‪ "GU" 10‬للرموز البريديةيف منطقة‬
‫‪Guildford‬‬

‫‪ .18‬انقر على "إضافة تصنيف جديد ‪ "Add new label‬مرة أخرى‪ ،‬وأنشئ تسمية باسم ساوثهامبتون‬
‫"‪" Southampton‬‬

‫‪ .19‬ارسم ‪ 10‬أمثلة للرموز البريديةيف منطقة ‪Southampton‬‬


‫‪Mailman Max‬‬ ‫‪9‬‬ ‫‪94‬‬

‫‪ .20‬انقر على رابط "<الرجوع إلى المشروع < ‪"Back to project‬‬

‫‪ .21‬انقر فوق الزر "تعلم واختبار ‪"Learn & Test‬‬

‫‪ .22‬انقر فوق الزر "تدريب نموذج التعلم اآللي الجديد ‪Train new machine learning‬‬
‫‪"model‬‬

‫قد يستغرق األمر بضع دقائق حتى ينتهي هذا‪ .‬يمكنك االستمرار والحصول على مشروع‬
‫سكراتش جاهز‪ ،‬لكنه لن يعمل حتى انتهاء التدريب‪.‬‬

‫‪ .23‬انقر فوق االرتباط "<الرجوع إلى المشروع “< ‪" Back to project‬‬
‫‪95‬‬

‫‪ .24‬انقر فوق الزر "‪"Make‬‬

‫‪ .25‬انقر فوق الزر "‪" Scratch 3‬‬

‫‪ .26‬انقر فوق "فتحيف سكراتش ‪"Open in Scratch 3 3‬‬

‫لقد بدأتيف تدريب جهاز كمبيوتر على التعرف على صور خط اليد على أنها بداية الرموز البريدية‬ ‫•‬
‫لمنطقة أكسفورد أو جيلفورد أو ساوثهامبتون‪ .‬أنت تفعل ذلك من خالل جمع أمثلة على خط‬
‫يدك‪ .‬يتم استخدام هذه األمثلة لتدريب "نموذج ‪ "model‬التعلم اآللي‪.‬‬

‫وهذا ما يسمى "التعلم الخاضع لإلشراف ‪ " supervised learning‬نظرًا للطريقة التي تشرف‬ ‫•‬
‫بها على تدريب الكمبيوتر‪.‬‬

‫سيتعلم الكمبيوتر من األنماطيف أشكال كل من األمثلة التي رسمتها‪ .‬سيتم استخدام هذا ليكون‬ ‫•‬
‫قادرًا على التعرف على الرموز البريدية التي سنكتبها على المغلفات المراد ترتيبها‪.‬‬

‫‪ .27‬انقر فوق "قوالب المشروع ‪"Project templates‬‬

‫‪ .28‬انقر فوق نموذج قالب مشروع "‪"Mailman Max‬‬


‫‪Mailman Max‬‬ ‫‪9‬‬ ‫‪96‬‬

‫‪ .29‬ابحث عن السكريبت "عند النقر على العلم األخضر ‪ "when green flag clicked‬على كائن‬
‫"الرمز البريدي ‪"postcode‬‬

‫‪ .30‬نسخ كتل اسم بلدتكيف السكريبت‪.‬‬


‫‪97‬‬

‫‪ .31‬أضف هذا السكريبت للتعرف على الرموز البريدية التي ستكتبها على الظرف‪.‬‬

‫هذا ال يزال على كائن "الرمز البريدي ‪" postcode‬‬

‫‪ .32‬احفظ مشروعك‪.‬‬

‫انقر فوق "ملف ‪" >- "File‬حفظ على جهاز الكمبيوتر الخاص بك ‪Save to your‬‬
‫‪"computer‬‬

‫‪ .33‬انقر فوق العلم األخضر ‪Green Flag‬‬


‫‪Mailman Max‬‬ ‫‪9‬‬ ‫‪98‬‬

‫‪ .34‬مازلت على كائن "الرمز البريدي ‪ ،“ postcode‬انقر على "المظاهر ‪"Costumes‬‬

‫‪ .35‬ابدأ مظهراً جديدًا بالنقر فوق "الرسام ‪."Paint‬‬

‫‪ .36‬قم بتحديث اإلعدادات الستخدام فرشاة طالء أسود ‪ 20‬بكسل‪.‬‬


‫‪99‬‬

‫‪ .37‬اكتب أول حرفين من الرمز البريدي باستخدام أداة الرسام‪.‬‬

‫امأل الفراغ‪ ،‬كما فعلت بأمثلة التدريب‪.‬‬

‫يجب أن تراه أيضًا يظهريف الظرفيف المكان المناسب‪ .‬إذا بدت كبيرة جدًايف الظرف‪ ،‬فانقر فوق‬
‫العلم االخضر ‪ Green Flag‬مرة أخرى‪.‬‬

‫‪ .38‬انقر فوق زر ملء الشاشة‪ ،‬ثم انقر فوق الختم ‪stamp‬‬

‫يجب أن ترى الحرف يتقلص‪ .‬ثم سيحاول الكمبيوتر التعرف على أحرف الرمز البريدي التي‬
‫كتبتها‪ .‬بمجرد أن يعتقد أنه يحتوي على اإلجابة‪ ،‬سينتقل الظرف إلى الشاحنة الخاصة بمكتب‬
‫الفرز الصحيح‪.‬‬
‫‪Mailman Max‬‬ ‫‪9‬‬ ‫‪100‬‬

‫‪ .39‬هل فهمت األمر بشكل صحيح؟‬

‫إذا لم يكن األمر كذلك‪ ،‬فقد تحتاج إلى إضافة المزيد من األمثلة‪ ،‬وتدريب نموذج جديد للتعلم‬
‫اآللي (الخطوات من ‪ 21‬إلى ‪ )22‬معهم‪.‬‬

‫‪ .40‬كرر الخطوات من ‪ 35‬إلى ‪ 38‬للمحاولة مرة أخرى برمز بريدي مختلف‪.‬‬

‫لقد دربت نموذجًا للتعلم اآللي لتتمكن من التعرف على خط اليد‪ .‬وهذا ما يسمى "التعرف‬ ‫•‬
‫البصري على الحروف ‪ "optical character recognition‬أو "‪ "OCR‬لالختصار‪.‬‬

‫لقد فعلت ذلك من خالل جمع أمثلة على خط اليد‪ ،‬لتدريب الكمبيوتر ليكون قادرًا على التعرف‬ ‫•‬
‫عليه‪.‬‬

‫لقد أنشأت مثالًا صغيرًا وبسيطًا‪ ،‬باستخدام الحرفين األولين فقط لثالث مناطق للرمز البريدي‬ ‫•‬
‫فقط‪.‬‬

‫تخيل ا لقيام بنفس الشيء لكل منطقة رمز بريدييف البلد‪ .‬سيتعين عليك إنشاء المزيد من‬ ‫•‬
‫مجموعات التدريب لتغطية ‪ 120‬منطقة للرمز البريدييف المملكة المتحدة‪ .‬وستحتاج إلى جمع‬
‫اآلالف من األمثلة التدريبية‪ ،‬مع الكثير من الكتابة اليدوية ألشخاص مختلفين‪ ،‬حتى يتمكن‬
‫الكمبيوتر من التعرف عليهم جيدًا‪.‬‬

‫هذه هي الطريقة التي تقوم بها مكاتب فرز البريد الكبيرة بفرز رسائلنايف الحياة الواقعية‪.‬‬ ‫•‬
‫‪101‬‬

‫اآلن بعد أن انتهيت‪ ،‬لماذا ال تجرّب إحدى هذه األفكار؟ أو ابتكر واحدة خاصة بك؟‬

‫•‬

‫لقد قمت بتدريب الكمبيوتر على التعرف على كيفية كتابة أحرف الرمز البريدي‪ ،‬ولكن هل‬
‫سيكون قادرًا على التعرف على أحرف شخص آخر؟‬

‫•‬

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

‫•‬

‫قمنا بتسهيل األمر على الكمبيوتر من خالل إعطائه الحرفين األولين فقط‪.‬‬

‫ولكن كيف يمكننا التعرف على شيء مثل "‪ "OX1 2JD‬باعتباره رمزًا بريديًايف منطقة أكسفورد؟‬

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

‫‪Shoot the bug‬‬


‫‪103‬‬

‫‪Shoot the bug‬‬ ‫‪10‬‬


‫في هذا المشروع سوف تقوم بتدريب جهاز كمبيوتر على لعب لعبة أركيد بسيطة‪.‬‬ ‫•‬

‫تعتمد اللعبة على إطالق الكرات على الهدف‪ .‬ال يمكنك التصويب على الهدف مباشرة ألن هناك‬ ‫•‬
‫جداريف الطريق ‪ ،‬لذلك عليك أن ترتد الكرة عن الحائط للقيام بذلك‪.‬‬

‫سوف تعلم الكمبيوتر أن يكون قادرًا على لعب هذه اللعبة من خالل جمع أمثلة من الطلقات‬ ‫•‬
‫‪ shots‬التي تصطدم ‪ hit‬وتفوت ‪ ،miss‬حتى يتمكن من تعلم كيفية عمل تنبؤات حول الطلقات‬
‫التي يمكن أن يأخذها‪.‬‬

‫‪ .1‬انتقل إلى ‪https://scratch.machinelearningforkids.co.uk‬‬

‫‪ .2‬انقر فوق "قوالب المشروع ‪"Project templates‬‬

‫‪ .3‬انقر فوق نموذج "إطلق النار على الحشرة ‪"Shoot the bug‬‬
‫‪104‬‬

‫‪ .4‬ابحث عن كتلة "عند النقر على العلم األخضر ‪ "when Green Flag clicked‬على اللوحة‬
‫‪canvas‬‬

‫‪ .5‬قم بإرفاق كتلة "اللعب يدويًا ‪ "play manually‬بمجموعة العلم األخضر‬

‫‪ .6‬انقر فوق العلم األخضر ‪ Green Flag‬وحاول إطالق النار على الحشرة!‬

‫استخدم مفاتيح األسهم للتصويب‪ ،‬ثم اضغط على مفتاح المسافة عندما تكون جاهزًا‪.‬‬

‫حاول اللعب عدة مرات لتعتاد على كيفية عمل اللعبة‪.‬‬

‫لقد لعبت لعبةيف سكراتش‪.‬يف كل مرة تلعب فيها‪ ،‬تنتقل الحشرة ‪ bug‬إلى موقع عشوائي‪ .‬الهدف‬ ‫•‬
‫من اللعبة هو إطالق كرة على الحشرة‪.‬‬

‫هناك عائق ‪obstacle‬يف طريقك‪ ،‬لذا عليك أن ترتد من جدار جانبي لاللتفاف حول هذا العائق‪.‬‬ ‫•‬

‫يتم عرض إحداثيات ‪ x‬و ‪ y‬للخطأ على شاشة اللعبةيف الزاوية اليسرى السفلية‪.‬‬ ‫•‬

‫يتم عرض الزاوية التي تطلق بها الكرةيف الركن األيمن السفلي‪.‬‬ ‫•‬
‫‪105‬‬ ‫‪Shoot the bug‬‬ ‫‪10‬‬

‫في هذا المشروع‪ ،‬ستجعل الكمبيوتر يقرر الزاوية التي يجب أن يلتقطها‪ ،‬بناءً على موقع الحشرة‪.‬‬ ‫•‬

‫يمكنك القيام بذلك عن طريق كتابة كود لحساب الزاوية الصحيحة لبدء اللعب‪ ،‬بناءً على‬ ‫•‬
‫الموقع‪( .‬إذا كان لديك متسع من الوقت‪ ،‬فجرّب هذه المحاولة للمقارنة!)‬

‫ولكن‪ ،‬بالنسبة لهذا المشروع‪ ،‬ستقوم بتدريب الكمبيوتر حتى يتعلم بنفسه كيفية إطالق النار على‬ ‫•‬
‫الحشرة‪.‬‬

‫ستجمع أمثلة من اللعبة التي يتم لعبها وتستخدم ذلك لتدريب "نموذج ‪ "model‬للتعلم اآللي‬ ‫•‬
‫يمكنه التنبؤ بما إذا كان االطالق من زاوية معينة سيصيب أم ال‪.‬‬

‫‪ .7‬اذهب إلى ‪/https://machinelearningforkids.co.uk‬يف متصفح الويب‪.‬‬

‫‪ .8‬انقر فوق "البدء ‪"Get started‬‬

‫‪ .9‬انقر فوق "جربه اآلن ‪"Try it now‬‬

‫‪ .10‬انقر فوق الزر "‪ +‬إضافة مشروع جديد ‪."Add a new project +‬‬

‫‪ .11‬قم بتسمية مشروعك "أطلق النار على الحشرة ‪ "shoot the bug‬وقم بتعيينه لمعرفة كيفية‬
‫التعرف على "األرقام ‪."numbers‬‬

‫‪ .12‬انقر فوق "إضافة قيمة ‪"Add a value‬‬

‫‪ .13‬قم بإنشاء قيمة "رقم ‪ "number‬تسمى "‪ ،"x‬ثم انقر فوق "إضافة قيمة أخرى ‪Add another‬‬
‫‪"value‬‬

‫‪ .14‬قم بإنشاء قيمة "رقم ‪ "number‬تسمى "زاوية ‪."angle‬‬


‫‪106‬‬

‫يجب أن يبدو النموذج هكذا اآلن‪.‬‬

‫‪ .15‬انقر فوق الزر "إنشاء ‪"Create‬‬

‫‪ .16‬ستتم إضافة "‪ " shoot the bug‬إلى قائمة المشاريع الخاصة بك‪ .‬انقر عليه‪.‬‬

‫‪ .17‬أنت بحاجة إلى إعداد أنواع التنبؤ التي تريد أن يقوم بها الكمبيوتر‪ .‬انقر فوق الزر "تدريب‬
‫‪."Train‬‬

‫‪ .18‬انقر فوق "‪ +‬إضافة تصنيف جديد ‪ "Add new label +‬وسمها "ضرب ‪."hit‬‬

‫افعل ذلك مرة أخرى‪ ،‬وأنشئ حاوية ثانية تسمى "فقدان ‪."miss‬‬

‫‪ .19‬انقر فوق االرتباط "<الرجوع إلى المشروع < ‪"Back to project‬يف الجزء العلوي األيسر‬
‫‪107‬‬ ‫‪Shoot the bug‬‬ ‫‪10‬‬

‫‪ .20‬انقر على زر "‪"Make‬‬

‫‪ .21‬انقر فوق الزر "‪" Scratch 3‬‬

‫‪ .22‬انقر على زر "مباشرة إلى سكراتش ‪"straight into Scratch‬‬

‫ستحذرك الصفحة من أنك لم تدرب نموذجًا حتى اآلن ‪ ،‬ولكن ال بأس بذلك ألنك ستستخدم‬
‫سكراتش لجمع أمثلة التدريب أوالً‪.‬‬

‫سيتم فتح سكراتش‪ ،‬مع إضافة كتل إضافية إلى صندوق األدوات لمشروع "إطالق النار على‬
‫الحشرة ‪." shoot the bug‬‬

‫‪ .23‬انقر فوق الزر "قوالب المشروع ‪."Project templates‬‬

‫‪ .24‬افتح نموذج مشروع "إطالق النار على الحشرة ‪ "shoot the bug‬مرة أخرى‪.‬‬

‫‪ .25‬قم بتوصيل "اللعب يدويًا ‪ "play manually‬ببلوك "عند النقر على العلم االخضر ‪Green‬‬
‫‪ "Flag‬مرة أخرى‪ ،‬كما فعلت من قبل‪.‬‬
‫‪108‬‬

‫‪ .26‬ابحث عن سكريبتات "‪ "hit‬و "‪"miss‬‬

‫‪ .27‬إضافة كتلة "إضافة بيانات التدريب ‪ " add training data‬إلى السكريبت "‪"hit‬‬

‫سيكون هذا مثالًا تدريبيًا على حاوية "‪"hit‬يف كل مرة تقوم فيها بالتصويب على الحشرة‪.‬‬

‫تأكد من إضافة متغيرات ‪ x‬والزاوية ‪angle‬‬

‫‪ .28‬إضافة كتلة "إضافة بيانات التدريب ‪ " add training data‬إلى السكريبت "‪"miss‬‬

‫تأكد من تحديث الخيار األخير إلى "‪ "miss‬حيث يضيف أمثلة إلى مجموعة "‪ "miss‬الخاصة‬
‫بك‬
‫‪109‬‬ ‫‪Shoot the bug‬‬ ‫‪10‬‬

‫‪ .29‬انقر فوق "العلم األخضر ‪ "Green Flag‬والعب اللعبة‪ .‬حاول ضرب الحشرة!‬

‫‪ .30‬يف نافذة متصفح الويب األخرى التي ال تزال على أداة التعلم اآللي‪ ،‬انقر على رابط "<الرجوع إلى‬
‫المشروع < ‪"Back to project‬يف الزاوية العلوية اليسرى‪.‬‬

‫‪ .31‬انقر على زر "تدريب ‪."Train‬‬

‫‪ .32‬تأكد من أن الطلقة التي أطلقتها قد أضيفت إلى أمثلة التدريب التي ستستخدمها لتدريب‬
‫الكمبيوتر‪.‬‬

‫‪ .33‬عد إلى سكراتش‪ ،‬والعب اللعبة مرة أخرى أربع عشرة مرة‪.‬‬
‫‪110‬‬

‫قد تجد أنه من األسهل لعب اللعبةيف وضع ملء الشاشة‪.‬‬

‫‪ .34‬تحقق من عدد األمثلة التدريبية التي جمعتها‪.‬‬

‫حاول تسديد أكبر عدد ممكن من الطلقات‪ ،‬ولكن ال تقلق إذا فاتتك بعض الطلقات!‬

‫‪ .35‬قم بتحديث السكريبت "عند النقر على العلم األخضر‪" when Green Flag clicked‬بحيث‬
‫يستخدم "اللعب العشوائي ‪( "play randomly‬بدالً من "اللعب يدويًا ‪)"play manually‬‬

‫سيؤدي استخدام الزوايا العشوائية ألمثلة التدريب إلى الحصول على مزيج أفضل من األمثلة‪،‬‬
‫وسيجعل جمعها أسرع وأسهل!‬
‫‪111‬‬ ‫‪Shoot the bug‬‬ ‫‪10‬‬

‫‪ .36‬انقر فوق العلم األخضر ‪ Green Flag‬لجمع مثال آخر‪.‬‬

‫افعل ذلك ثالثين مرة أخرى على األقل‪.‬‬

‫‪ .37‬قم بتحديث السكريبت "عند النقر على العلم األخضر ‪ "when Green Flag clicked‬بحيث‬
‫يستخدم "اللعب باستخدام نموذج التعلم اآللي ‪"play using machine learning model‬‬
‫(بدالً من "اللعب بشكل عشوائي ‪.)"play randomly‬‬

‫يجب أن يكون لديك أمثلة كافية اآلن لمحاولة استخدام نموذج التعلم اآللي للتنبؤ بالزوايا‬
‫الصحيحة إلطالق النار عليها‪.‬‬

‫‪ .38‬أضف كتلة "تدريب نموذج جديد لتعلم اآللة ‪ "train new machine learning model‬إلى‬
‫السكريبت "عند نقر العلم األخضر ‪"when Green Flag clicked‬‬
‫‪112‬‬

‫‪ .39‬ابحث عن السكريبت "اختر االتجاه باستخدام التعلم اآللي ‪choose direction using‬‬
‫‪."machine learning‬‬

‫‪ .40‬قم بتحديث السكريبت الستخدام نموذج التعلم اآللي الخاص بك‪.‬‬

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

‫‪ .41‬اضغط على العلم األخضر ‪ Green Flag‬مرة أخرى‬


‫‪113‬‬ ‫‪Shoot the bug‬‬ ‫‪10‬‬

‫ما مدى جودة نموذج التعلم اآللي الخاص بكيف اختيار الزوايا التي ستصيب الحشرة؟‬

‫لقد بدأتيف تدريب جهاز كمبيوتر على ممارسة لعبة‪ .‬بدالً من كتابة القواعد لتكون قادرًا على‬ ‫•‬
‫القيام بذلك أو العمل على معادلة لحساب الزاوية إلطالق القذيفة‪ ،‬فأنت تفعل ذلك من خالل‬
‫جمع األمثلة‪ .‬يتم استخدام هذه األمثلة لتدريب نموذج التعلم اآللي‪.‬‬

‫سيتعلم الكمبيوتر من األنماط الموجودةيف األمثلة‪ .‬سيستخدمها إلجراء تنبؤات حول ما إذا كان‬ ‫•‬
‫الموقع والزاوية سيؤديان إلى إصابة أو خطأ‪.‬‬

‫نظرًا ألنه ال يزال لديك كتل "إضافة بيانات التدريب "يف السكريبت الخاص بك‪ ،‬فإنك ال تزال‬ ‫•‬
‫تجمع المزيد من أمثلة التدريبيف كل مرة تلعب فيها‪ .‬هذا يعني أنه كلما زاد الوقت الذي سمحت‬
‫فيه لنموذج التعلم اآللي الخاص بك بلعب اللعبة‪ ،‬كان من األفضل أن تلعبها‪.‬‬

‫‪ .42‬كم مرة يفوت اإلصابة ‪ miss‬نموذج التعلم اآللي الخاص بك؟‬

‫إذا كانت فوتت اإلصابة ‪ miss‬يف كثير من األحيان‪ ،‬فقد يكون ذلك ألنك لم تعطها أمثلة كافية‬
‫على اإلصابة ‪.hit‬‬

‫حاول تغيير اللعبة مرة أخرى إلى وضع "اللعب يدويًا ‪ " play manually‬واستخدم مفاتيح األسهم‬
‫مرة أخرى‪ .‬جمع عشرة أمثلة أخرى من "اصابة ‪ ." hit‬ثم غيّر مرة أخرى إلى "اللعب باستخدام‬
‫نموذج التعلم اآللي ‪ " play using machine learning model‬ومعرفة ما إذا كان ذلك مفيدًا‪.‬‬

‫‪ .43‬استمريف جمع أمثلة التدريب حتى يبدأ نموذج التعلم اآللي الخاص بكيف التحسنيف اللعبة‪ .‬كم‬
‫يستغرق لنموذجك؟‬
‫‪114‬‬

‫‪ .44‬انقر فوق الرابط "<الرجوع إلى المشروع < ‪"Back to project‬‬

‫‪ .45‬انقر فوق "تعلم واختبار ‪"Learn & Test‬‬

‫‪ .46‬انقر فوق "وصف النموذج الخاص بك ‪"Describe your model‬‬

‫ستعرض لك هذه الصفحة صورة لنموذج التعلم اآللي الخاص بك‪.‬‬

‫اقرأ الصفحة لفهم ما تعنيه‪ .‬جرب وضع قيم لإلحداثيات السينية للحشرة‪ ،‬وزاوية إلطالق النار‬
‫عليها‪ ،‬ثم انقر على "اختبار ‪ " Test‬لترى كيف يقوم نموذج التعلم اآللي الخاص بك بالتنبؤ بما‬
‫سيحدث‪.‬‬

‫‪ .47‬استخدم هذا التصور واللعبةيف سكراتشيف وضع "اللعب يدويًا ‪ ،"play manually‬لمعرفة‬
‫التنبؤات التي يقوم بها نموذج التعلم اآللي الخاص بك‪ ،‬وما إذا كانت صحيحة‪.‬‬
‫‪115‬‬ ‫‪Shoot the bug‬‬ ‫‪10‬‬

‫نوع نموذج التعلم اآللي الذي دربته هو "مصنف شجرة القرار ‪."decision tree classifier‬‬ ‫•‬
‫يتيح لك التصور رؤية كيفية قيام نموذجك بالتنبؤات‪ .‬إنها طريقة جيدة لمعرفة األنماط التي‬
‫وجدها الكمبيوتريف بيانات التدريب التي جمعتها‪.‬‬

‫نستخدم التعلم اآللي عندما نريد من أجهزة الكمبيوتر القيام بأشياء معقدة للغاية بالنسبة لنا حتى‬ ‫•‬
‫نتمكن من كتابة التعليمات التباعها‪.‬‬

‫نتجنب التعلم اآللي عندما يكون الوقت الذي يستغرقه جمع أمثلة تدريبية لمهمة ما أطول من‬ ‫•‬
‫مجرد كتابة التعليمات الخاصة بكيفية القيام بالمهمة‪.‬‬

‫قارن بين الجهد المبذول لجمع أمثلة التدريب لتدريب الكمبيوتر على لعب هذه اللعبة‪ ،‬بالجهد‬ ‫•‬
‫الذي كنت ستستغرقهيف تحديد الزاوية إلطالق النار‪ .‬هل تعتقد أن هذه اللعبة هي استخدام جيد‬
‫للتعلم اآللي؟‬

‫ماذا لو أصبحت اللعبة أكثر صعوبة؟ ماذا لو كان هناك عائقان لاللتفاف؟ أم ثالثة؟ أم خمسة؟‬ ‫•‬
‫ماذا لو ظهرت الحشرة على ارتفاعات عشوائية‪ ،‬وليس فقطيف الجزء العلوي؟‬

‫هذه األنواع من التغييرات تجعل من الصعب معرفة ما سيحدث للكرة عند إطالقها‪.‬‬ ‫•‬

‫ستكون المعادالت التي ستحتاجها لحساب الزاوية المناسبة إلطالق النار عليها أكثر تعقيدًا‪.‬‬ ‫•‬
‫‪116‬‬

‫هذا يجعله استخدامًا أفضل للتعلم اآللي من لعب اللعبة بعائق واحد فقط‪.‬‬ ‫•‬

‫(ولكن من المحتمل أن تحتاج إلى المزيد من األمثلة التدريبية للكمبيوتر لتعلم كيفية لعب هذا‬ ‫•‬
‫ألنها مهمة أكثر تعقيدًا من تعلم االلتفاف على عقبة واحدة‪ .‬جربها وانظر بنفسك!)‬

‫اآلن بعد أن انتهيت‪ ،‬لماذا ال تجرّب إحدى هذه األفكار؟ أو ابتكر واحدة خاصة بك؟‬

‫•‬

‫حاول جعل اللعبة أكثر تحديًا بإضافة عقبات إضافية إلى شاشة اللعبة‪.‬‬

‫ستحتاج إلى تحديث سكريبت "بدء التحرك ‪ "start moving‬حتى تعرف الكرة أنها ترتد عن‬
‫العوائق الجديدة‪.‬‬

‫‪y x‬‬ ‫•‬

‫لتقليل مقدار التدريب المطلوب‪ ،‬استخدمنا إحداثيًا واحدًا فقط (احداثي ‪ )x‬وتركنا الحشرة‬
‫تتحرك يسارًا ‪ /‬يمينًا فقط‪.‬‬

‫حاول القيام بالمشروع مرة أخرى حيث يمكن أن تنتقل الحشرة إلى ارتفاع عشوائي (موضع ‪)y‬‬
‫أيضًا‪ .‬ستحتاج إلى إضافة قيمة رقمية جديدة لتخزين هذه اإلحداثيات ‪ y‬عند إنشاء مشروع‬
‫التعلم اآللي‪.‬‬

‫•‬

‫حاول إضافة متغير لالحتفاظ بالدرجات ومعرفة ما إذا كان نموذج التعلم اآللي الخاص بك‬
‫يمكنه الحصول على درجة أعلى مما تستطيع‪.‬‬
‫‪11‬‬
‫سياره أم كوب‬

‫?‪Car or Cup‬‬
‫‪118‬‬

‫‪Car or Cup‬‬ ‫‪11‬‬


‫في هذا المشروع‪ ،‬ستنشئ مشروع سكراتش يتعلم فرز الصور‪.‬‬ ‫•‬

‫ستقوم بتدريب الكمبيوتر ليكون قادرًا على فرز مجموعة من الصور إلى مجموعتين‪:‬‬ ‫•‬

‫▪ مجموعة واحدة من صور السيارات ‪ ،cars‬و‬

‫▪ مجموعة واحدة من صور االكواب ‪cups‬‬

‫‪ .1‬انتقل إلى ‪/https://machinelearningforkids.co.uk‬يف مستعرض الويب‪.‬‬

‫‪ .2‬انقر فوق "البدء ‪"Get started‬‬

‫‪ .3‬انقر فوق "تسجيل الدخول ‪ "Log In‬واكتب اسم المستخدم وكلمة المرور‪.‬‬

‫إذا لم يكن لديك اسم مستخدم‪ ،‬فاطلب من معلمك أو قائد المجموعة إنشاء واحد لك‪..‬‬

‫إذا كنت ال تتذكر اسم المستخدم أو كلمة المرور‪ ،‬فاطلب من معلمك أو قائد المجموعة إعادة‬
‫تعيينهما لك‪.‬‬

‫‪ .4‬انقر فوق "المشاريع ‪"Projects‬يف شريط القائمة العلوي‪.‬‬

‫‪ .5‬انقر فوق الزر "‪ +‬إضافة مشروع جديد ‪."Add a new project +‬‬
‫‪119‬‬

‫‪ .6‬قم بتسمية مشروعك "سيارة أو كوب ‪ "car or cup‬واضبطه لمعرفة كيفية التعرف على "الصور‬
‫‪."images‬‬

‫انقر فوق الزر "إنشاء ‪"Create‬‬

‫‪ .7‬يجب أن تشاهد اآلن "سيارة أو كوب ‪"car or cup‬يف قائمة مشاريعك‪ .‬انقر عليه‪.‬‬

‫انقر فوق الزر "تدريب ‪ "Train‬لبدء جمع األمثلة‪.‬‬ ‫‪.8‬‬

‫‪ .9‬انقر فوق "‪ +‬إضافة تسمية جديدة ‪ "Add new label +‬وسميها "سيارة ‪."car‬‬

‫افعل ذلك مرة أخرى‪ ،‬وأنشئ حاويةً ثانيًا يسمى "الكوب ‪."cup‬‬

‫‪ .10‬افتح نافذة متصفح ويب أخرى‪.‬‬

‫‪ .11‬رتب نوافذ متصفح الويب بحيث تكون جنبًا إلى جنب‪.‬‬


‫‪Car or Cup‬‬ ‫‪11‬‬ ‫‪120‬‬

‫‪ .12‬يف نافذة المتصفح الجديدة‪ ،‬ابحث عن صور للسيارات‪ .‬اسحب الصور التي تعتبر أمثلة جيدة‬
‫لسيارةيف الحاوية اليسرى‪.‬‬

‫‪ .13‬كرر ذلك حتى تحصل على ‪ 10‬أمثلة لصور السيارات‪.‬‬


‫‪121‬‬

‫‪ .14‬ابحث عن صور االكواب‪.‬‬

‫اسحب الصور التي تعتبر أمثلة جيدة لكأس إلى الحاوية الصحيحة‪.‬‬

‫‪ .15‬كرر ذلك حتى تحصل على ‪ 10‬أمثلة من صور الكوب‪.‬‬

‫‪ .16‬انقر فوق االرتباط "<الرجوع إلى المشروع < ‪."Back to project‬‬

‫‪ .17‬انقر فوق الزر "تعلم واختبار ‪"Learn & Test‬‬

‫‪ .18‬انقر فوق الزر "تدريب نموذج التعلم اآللي الجديد ‪Train new machine learning‬‬
‫‪"model‬‬
‫‪Car or Cup‬‬ ‫‪11‬‬ ‫‪122‬‬

‫‪ .19‬انتظر حتى يكتمل التدريب‪ .‬وهذا قد يستغرق بضع دقائق‪.‬‬

‫لقد بدأتيف تدريب جهاز كمبيوتر على التعرف على صور األكواب والسيارات‪ .‬بدالً من‬ ‫▪‬
‫محاولة كتابة القواعد لتكون قادرًا على القيام بذلك‪ ،‬فأنت تفعل ذلك من خالل جمع‬
‫األمثلة‪ .‬يتم استخدام هذه األمثلة لتدريب "نموذج ‪ "model‬التعلم اآللي‪.‬‬

‫وهذا ما يسمى "التعلم الخاضع لإلشراف ‪ "supervised learning‬نظرًا للطريقة التي‬ ‫▪‬
‫تشرف بها على تدريب الكمبيوتر‪.‬‬
‫‪123‬‬

‫سيتعلم الكمبيوتر من األنماط الموجودةيف أمثلة الصور التي اخترتها‪ ،‬مثل األشكال‬ ‫▪‬
‫واستخدام األلوان‪ .‬سيتم استخدام هذه لتكون قادرة على التعرف على الصور الجديدة‪.‬‬

‫‪ .20‬انقر فوق االرتباط "<الرجوع إلى المشروع < ‪"Back to project‬‬

‫‪ .21‬انقر فوق الزر "‪ ،"Make‬ثم الزر "‪."Scratch 3‬‬

‫‪ .22‬انقر فوق الزر "‪" Open in Scratch 3‬‬

‫‪ .23‬قم بتحميل قالب السيارة أو الكوب ‪Car or cup‬‬

‫انقر فوق قوالب المشروع ‪ Project templates‬ثم انقر فوق السيارة أو الكأس‬

‫مزيد من األمثلة!‬ ‫▪‬

‫كلما أعطيت المزيد من األمثلة‪ ،‬كان من األفضل للكمبيوتر التعرف على ما إذا كانت الصورة‬
‫عبارة عن كوب أو سيارة‪.‬‬

‫حاول وكن متكافئًا‬ ‫▪‬

‫حاول التوصل إلى نفس العدد تقريبًا من األمثلة على األكواب والسيارات‪..‬‬
‫‪Car or Cup‬‬ ‫‪11‬‬ ‫‪124‬‬

‫إذا كان لديك الكثير من األمثلة لنوع واحد دون اآلخر‪ ،‬فقد يتعلم الكمبيوتر أن هذا النوع هو‬
‫األرجح‪ ،‬لذلك ستؤثر على الطريقة التي يتعلم بها التعرف على الصور‪.‬‬

‫امزج األشياء مع األمثلة الخاصة بك‬ ‫▪‬

‫حاول أن تأتي بالعديد من األنواع المختلفة من األمثلة‪.‬‬

‫على سبيل المثال‪ ،‬تأكد من تضمين بعض األمثلة ذات الخلفيات المختلفة‪.‬‬

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

‫‪ .24‬انقر فوق العلم األخضر ‪ green flag‬لتجربته‪.‬‬

‫يحتوي المشروع على عدة صور عشوائية أو سيارات أو أكواب‪.‬‬

‫بعد ذلك‪ ،‬ستقوم بتعديل المشروع الستخدام التدريب الذي قدمته للكمبيوتر‪ ،‬حتى يتمكن من‬
‫فرز هذه الصور إلى مجموعتين‪.‬‬

‫‪ .25‬انقر فوق الكائن "الغامض ‪ ،"mystery‬ثم عالمة التبويب "الكود ‪ ،"Code‬وقم بتغيير السكريبت‬
‫الستخدام نموذج التعلم اآللي الخاص بك‪.‬‬

‫ابدأ من السكريبت الموجود بالفعل وقم بتغييره ليبدو هكذا‪.‬‬


‫‪125‬‬

‫‪ .26‬انقر فوق ايقونة ملئ الشاشة ‪ ،full screen‬ثم انقر فوق العلم األخضر ‪.green flag‬‬

‫‪ .27‬شاهد السيناريو الخاص بك يستخدم النموذج الخاص بك لفرز الصور إلى مجموعتين‪.‬‬

‫‪ .28‬إذا ارتكب نظامك المدرّب أخطاء‪ ،‬فسيلزمك الرجوع إلى الخطوة ‪ 14‬وجمع المزيد من األمثلة‪.‬‬

‫تأكد من تكرار الخطوة ‪ 18‬لتدريب نموذج جديد‪.‬‬


‫‪Car or Cup‬‬ ‫‪11‬‬ ‫‪126‬‬

‫لقد استخدمت التعلم اآللي إلنشاء فارز تلقائي للصور‪.‬‬ ‫▪‬

‫يعد تدريب الكمبيوتر ليكون قادرًا على التعرف على الصور بنفسه أسرع بكثير من محاولة فرز‬ ‫▪‬
‫آالف الصور يدويًا‪.‬‬

‫كلما أعطيته المزيد من األمثلة‪ ،‬كان من األفضل التعرف على الصور بشكل صحيح‪.‬‬ ‫▪‬

‫اآلن بعد أن انتهيت‪ ،‬لماذا ال تجرّب إحدى هذه األفكار؟ أو ابتكر واحدة خاصة بك؟‬

‫•‬

‫بدالً من مجرد التعرف على األكواب والسيارات‪ ،‬هل يمكنك إضافة نوع ثالث أيضًا؟‬

‫•‬

‫قم بتدريب الكمبيوتر على التعرف على السيارات التي تحتوي على عشر صور لسيارة على‬
‫خلفية عشبية‪.‬‬

‫قم بتدريب الكمبيوتر على التعرف على األكواب التي تحتوي على عشر صور لكوب على خلفية‬
‫بيضاء عادية‪.‬‬

‫تحقق اآلن مما إذا كان الكمبيوتر يتعرف على سيارة على خلفية بيضاء عادية‪.‬‬

‫أو إذا كان بإمكانه التعرف على فنجان على خلفية عشبية‪.‬‬

‫هل سيتم ارباك الكمبيوتر؟ هل تعلمت التعرف على الكوب والسيارة؟ أم أنها تأثرت أكثر‬
‫بالخلفية؟‬

‫قم بتجربة لمعرفة كيف يتعلم الكمبيوتر وكيف يتصرف‪.‬‬


12
‫قفل الوجه‬

Face Lock
‫‪128‬‬

‫‪Face Lock‬‬ ‫‪12‬‬


‫في هذا المشروع‪ ،‬ستنشئ مشروع سكراتش يمكنه فتح هاتف افتراضي باستخدام وجهك‪.‬‬ ‫•‬

‫ستدرب نموذجًا للتعلم اآللي ليكون قادرًا على التعرف على الوجه بحيث يفتح الهاتف للشخص‬ ‫•‬
‫المناسب فقط‪.‬‬

‫‪ .1‬انتقل إلى ‪/https://machinelearningforkids.co.uk‬يف مستعرض الويب‪.‬‬

‫‪ .2‬انقر فوق "البدء ‪"Get started‬‬

‫‪ .3‬انقر فوق "تسجيل الدخول ‪ "Log In‬واكتب اسم المستخدم وكلمة المرور‬

‫إذا كنت ال تتذكر اسم المستخدم أو كلمة المرور‪ ،‬فاطلب من معلمك أو قائد المجموعة إعادة‬
‫تعيينهما لك‪.‬‬

‫‪ .4‬انقر فوق "المشاريع ‪"Projects‬يف شريط القائمة العلوي‪.‬‬

‫‪ .5‬انقر فوق الزر "‪ +‬إضافة مشروع جديد ‪."Add a new project +‬‬

‫‪ .6‬قم بتسمية المشروع "قفل الوجه ‪ "face lock‬واضبطه لتعلم كيفية التعرف على "الصور‬
‫‪"images‬‬
‫‪129‬‬

‫‪ .7‬يجب أن ترى "قفل الوجه ‪"face lock‬يف قائمة المشاريع الخاصة بك‪ .‬انقر عليه‪.‬‬

‫‪ .8‬انقر فوق الزر "تدريب ‪ "Train‬لبدء جمع األمثلة‬

‫‪ .9‬انقر فوق "‪ +‬إضافة تسمية جديدة ‪ ."Add new label +‬أنشئ حاوية تسمى "مسموح له‬
‫‪"Granted‬‬

‫‪ .10‬انقر فوق "كاميرا الويب ‪."webcam‬‬

‫ستظهر نافذة المعاينة العرض الحالي من كاميرا الويب الخاصة بك‪.‬‬


‫‪Face Lock‬‬ ‫‪12‬‬ ‫‪130‬‬

‫ستحتاج إلى النقر فوق "موافقة ‪ "Approve‬أو "سماح ‪ "Allow‬إذا طلب متصفح الويب‬
‫الخاص بك إذنًا الستخدام كاميرا الويب الخاصة بك‪.‬‬

‫‪ .11‬ضع وجهك أمام كاميرا الويب‪ ،‬وانقر على "إضافة ‪ "Add‬اللتقاط صورة له‪.‬‬

‫تأكد من حصولك على إذن لتحميل صور وجهك‪ .‬إذا لم تفعل ذلك‪ ،‬فاستخدم لعبة ذات وجه‬
‫كما فعلنا هنا‪.‬‬

‫‪ .12‬كرر حتى تحصل على ‪ 10‬أمثلة على األقل لوجهك‪.‬‬

‫التقط صورًا بخلفيات وزوايا وتركيز ومسافات مختلفة من كاميرا الويب‪ .‬كلما زاد التنوع الذي‬
‫يجب أن يتعلم الكمبيوتر منه‪ ،‬كان ذلك أفضل‪.‬‬
‫‪131‬‬

‫‪ .13‬انقر فوق "‪ +‬إضافة تسمية جديد ‪ "Add new label‬وأنشئ تسمية باسم "مرفوضة ‪"denied‬‬

‫‪ .14‬استخدم زر "كاميرا الويب ‪"webcam‬يف حاوية "مرفوضة ‪ "denied‬اللتقاط ‪ 10‬صور لوجوه‬


‫أشخاص آخرين‬

‫حاول تنويع هذه الصور بنفس الطريقة التي نوَّعت بها مجموعتك األولى‪.‬‬

‫‪ .15‬انقر فوق ارتباط "<الرجوع إلى المشروع < ‪"Back to project‬‬

‫‪ .16‬انقر فوق الزر "تعلم واختبار ‪"Learn & Test‬‬

‫‪ .17‬انقر فوق الزر "تدريب نموذج التعلم اآللي الجديد ‪Train new machine learning‬‬
‫‪"model‬‬

‫‪ .18‬انتظر حتى يكتمل التدريب‪.‬‬


‫‪Face Lock‬‬ ‫‪12‬‬ ‫‪132‬‬

‫وهذا قد يستغرق بضع دقائق‪ .‬ستعرف متى يتم ذلك عندما يمنحك الفرصة الختبار النموذج‪.‬‬
‫لماذا ال تحاول القيام باالختبار؟‬

‫‪ .19‬انقر على رابط "<الرجوع إلى المشروع < ‪"Back to project‬‬

‫لقد بدأتيف تدريب جهاز كمبيوتر على التعرف على صورك‪.‬‬ ‫•‬

‫بدالً من محاولة كتابة القواعد لتكون قادرًا على القيام بذلك‪ ،‬فأنت تفعل ذلك من خالل جمع‬ ‫•‬
‫صور لنفسك‪.‬‬

‫يتم استخدام هذه األمثلة لتدريب "نموذج ‪ "model‬التعلم اآللي‪ .‬وهذا ما يسمى "التعلم الخاضع‬ ‫•‬
‫لإلشراف ‪ "supervised learning‬نظرًا للطريقة التي تشرف بها على تدريب الكمبيوتر‪.‬‬

‫سيتعلم الكمبيوتر من األنماط الموجودةيف الصور التي التقطتها‪ .‬نأمل أن يكون هذايف الغالب هو‬ ‫•‬
‫مالمح الوجه والشعر‪ ،‬ولكن احذر من أنه قد يشمل أيضًا المالبس والخلفية!‬

‫‪ .20‬انقر على زر "‪"Make‬‬

‫‪ .21‬انقر فوق الزر ‪.Scratch‬‬

‫‪ .22‬انقر فوق الزر ‪.Open in Scratch‬‬

‫‪ .23‬تحميل قالب مشروع ‪Face Lock‬‬

‫انقر فوق قوالب المشروع ‪ >- Project templates‬قفل الوجه ‪Face Lock‬كما هو موضح‬
‫أدناه‬
‫‪133‬‬

‫‪ .24‬انشئ هذا السكريبت‪.‬‬

‫‪ .25‬انقر فوق عالمة التبويب "المظاهر ‪،"Costumes‬‬

‫ثم انقر على زر "مظهر جديد من الكاميرا ‪"New costume from camera‬‬
‫‪Face Lock‬‬ ‫‪12‬‬ ‫‪134‬‬

‫‪ .26‬استخدم كاميرا الويب اللتقاط صورة لوجه ال ينبغي السماح له باستخدام الهاتف‪.‬‬

‫‪ .27‬انقر فوق الزر "مظهر جديد من الكاميرا ‪ "New costume from camera‬مرة أخرى‪ ،‬والتقط‬
‫صورة لوجه يجب السماح له باستخدام الهاتف‪.‬‬
‫‪135‬‬

‫‪ .28‬اضغط على المنصة ‪.Stage‬‬

‫‪ .29‬إنشاء السكريبتات التالية‪:‬‬

‫ستعمل هذه على تحديث شاشة الهاتف بناءً على ما إذا كانت مقفلة‪.‬‬

‫‪3 .30‬حان وقت االختبار! انقر فوق العلم األخضر‪.‬‬


‫‪Face Lock‬‬ ‫‪12‬‬ ‫‪136‬‬

‫لقد قمت بتدريب نظام التعرف على الوجه‪ .‬لقد قمت بذلك من خالل جمع أمثلة لصور الوجوه‪،‬‬ ‫•‬
‫واستخدمت ذلك لتدريب نموذج تعلم آلي قادر على التعرف على الوجوه‪.‬‬

‫لقد استخدمت هذا النموذج إلنشاء تطبيق باستخدام النموذج كطريقة مصادقة (طريقة إلثبات‬ ‫•‬
‫أن شخصًا ما هو نفسه)‪.‬‬

‫إنه نظام بسيط للغاية حتى اآلن‪.‬‬ ‫•‬

‫هل يمكنك التفكيريف طرق يمكن أن تخدعها؟‬ ‫•‬

‫•‬

‫تُرجع كتلة الثقة نسبة مئوية (رقم من ‪ 0‬إلى ‪ )100‬مع مدى ثقتهايف أنها تعرفت على الوجه‪.‬‬

‫كيف يمكنك تحديث السكريبت الخاص بك الستخدام هذا؟‬

‫هل يجب استمرار فتح الهاتف إذا كان الكمبيوتر متأكدًا بنسبة ‪ ٪10‬فقط من أنه تعرف على‬
‫وجه المالك بشكل صحيح؟‬

‫•‬

‫هل يمكنك جعل الهاتف يتعرف على وجهين مختلفين لشخصين يجب أن يسمح لهما‬
‫بالمرور؟‬

‫•‬

‫إذا قمت بتدريب الكمبيوتر على التعرف عليك أثناء وجودكيف مكان واحد فقط‪ ،‬فهل ال يزال‬
‫بإمكانه التعرف عليك إذا كنتيف مكان آخر؟ ماذا لو غيرت مالبسك؟‬

‫هل يتعرف الكمبيوتر على وجهك أم أي شيء آخر؟‬

‫قم بتجربة لمعرفة كيف يتعلم الكمبيوتر وكيف يتصرف‪.‬‬


‫‪137‬‬

‫كانت أول محاولة معروفة للتعرف على الوجهيف عام ‪ 1965‬من قبل وودرو ويلسون بليدسو‪.‬‬ ‫•‬
‫أدخل قياسات وجه الشخص يدويًا وقام بتخزينها‪ ،‬جنبًا إلى جنب مع قياسات وجوه األشخاص‬
‫اآلخرين‪.‬‬

‫عند تقديم صورة جديدة‪ ،‬يمكن استخدام النظام لتحديد الشخص األكثر تشابهًا مع الصورة‪.‬‬ ‫•‬

‫وجد عددًا من المشكالتيف جعل نظامه يتعامل مع االختالفاتيف "دوران الرأس‪ ،‬واإلمالة‪،‬‬ ‫•‬
‫وشدة الضوء‪ ،‬وزاوية الضوء‪ ،‬والشيخوخة‪ ،‬وتعبيرات الوجه" وعدد من العوامل األخرى‪ .‬كان من‬
‫المستحيل تجنب هذهيف ذلك الوقت‪.‬‬

‫في اآلونة األخيرة‪ ،‬أدخلت ‪ Apple‬ميزة التعرف على الوجهيف هواتفهم‪ ،‬باستخدام برنامج يعرف‬ ‫•‬
‫باسم ‪ .Face ID‬بدالً من االعتماد على الصور‪ ،‬يؤدي ذلك إلى إنشاء خريطة مفصلة ألكثر من‬
‫‪ 30000‬نقطة محددة على وجهك‪.‬‬

‫يساعد ذلكيف التعامل مع التغييرات الصغيرةيف مظهر وجهك‪ ،‬مثل وضع الماكياج أو تسريحة‬ ‫•‬
‫شعر مختلفة‪ .‬قدمت شركات أخرى‪ ،‬مثل ‪ ،Samsung‬تقنية مماثلة لهواتفها‪.‬‬
13
‫رحله إلى المدرسه‬

Journey to school
‫‪139‬‬

‫‪Journey to school‬‬ ‫‪13‬‬


‫في هذا المشروع سوف تقوم بتدريب الكمبيوتر على البحث عن أنماطيف كيفية وصول زمالئك‬ ‫•‬
‫إلى المدرسة‪.‬‬

‫ستختبر هذا التدريب عن طريق جعل الكمبيوتر يتنبأ بكيفية انتقال األشخاص المختلفين إلى‬ ‫•‬
‫المدرسة‪.‬‬

‫‪ .1‬بالنسبة لهذا المشروع‪ ،‬سوف تحتاج إلى إجراء مسح مع زمالئكيف الفصل الدراسي‪ .‬كلما زاد‬
‫عدد األشخاص الذين يمكنك أن تسألهم‪ ،‬كان ذلك أفضل!‬

‫‪ .2‬اكتب ‪ 2‬أو ‪ 3‬أسئلة يمكن أن تطرحها على زمالئكيف الفصل الدراسي والتي يمكن أن تؤثر على‬
‫كيفية رحلتهم إلى المدرسة‪ .‬أنت بحاجة إلى أسئلة يمكنهم اإلجابة عليها برقم‪.‬‬

‫بالنسبة لبقية ورقة العمل هذه‪ ،‬سنستخدم‪:‬‬

‫• العمر (بالسنين)‪.‬‬

‫• المسافة (أميال من المنزل إلى المدرسة)‪.‬‬

‫• عدد األشقاء أو أصدقاء المدرسة الذين يعيشونيف الجوار‪.‬‬

‫ولكن يمكنك اختيار القيم الخاصة بك‪ .‬تأكد من أنها أرقام‪ ،‬واختر األشياء التي قد يكون لها عالقة برحلتهم‬
‫إلى المدرسة‪.‬‬
‫‪140‬‬

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

‫‪ .4‬بمجرد جمع اإلجابات من أكبر عدد ممكن من األطفال‪ ،‬فقد حان الوقت الستخدام ذلك‬
‫لتدريب الكمبيوتر‪.‬‬

‫انتقل إلى ‪/https://machinelearningforkids.co.uk‬يف متصفح الويب وانقر على "البدء‬


‫‪."Get started‬‬

‫‪ .5‬انقر فوق "تسجيل الدخول ‪ "Log In‬واكتب اسم المستخدم وكلمة المرور‬

‫إذا لم يكن لديك اسم مستخدم‪ ،‬فاطلب من معلمك إنشاء واحد لك‪.‬‬

‫إذا كنت ال تتذكر اسم المستخدم أو كلمة المرور‪ ،‬فاطلب من معلمك أو قائد المجموعة إعادة‬
‫تعيينهما لك‪.‬‬

‫انقر فوق "المشاريع ‪"Projects‬يف شريط القائمة العلوي‪.‬‬ ‫‪.6‬‬

‫‪ .7‬انقر فوق الزر "‪ +‬إضافة مشروع جديد ‪."Add a new project +‬‬

‫‪ .8‬قم بتسمية مشروعك "رحلة إلى المدرسة ‪ "journey to school‬واضبطه لتعلم كيفية التعرف‬
‫على "األرقام ‪"numbers‬‬
‫‪141‬‬ ‫‪Journey to school‬‬ ‫‪13‬‬

‫‪ .9‬انقر فوق "إضافة قيمة ‪ ،"Add a value‬ثم قم بتسميتها "العمر ‪ "age‬ثم قم بعمل النوع "رقم‬
‫‪ ."number‬قم بذلك مرة أخرى للحصول على قيمة "رقم ‪ "number‬تسمى "مسافة‬
‫‪."distance‬‬

‫افعل ذلك مرة ثالثة للحصول على قيمة "رقم ‪ "number‬تسمى "أصدقاء ‪ ." friends‬انقر فوق‬
‫"إنشاء ‪ " Create‬عندما تبدو مثل الصورة أدناه‪.‬‬

‫يجب عليك استخدام القيم التي استخدمتهايف االستطالع الخاص بك‪ ،‬ولكن ال تقم بتضمين‬
‫طريقة الرحلة الفعلية إلى المدرسة‪ .‬سنصل إلى ذلك بعد ذلك‪.‬‬

‫‪ .10‬يجب أن ترى اآلن "رحلة إلى المدرسة ‪ "journey to school‬تظهريف قائمة مشاريعك‪ .‬انقر‬
‫عليه‪.‬‬

‫‪ .11‬انقر فوق الزر "تدريب ‪ "Train‬لبدء إعطاء نتائج االستطالع للكمبيوتر‪.‬‬


‫‪142‬‬

‫‪ .12‬انقر فوق "إضافة تسمية جديدة ‪ " Add new label‬وإنشاء حاوية تسمى "سيارة ‪."car‬‬

‫افعل ذلك مرة أخرى وأنشئ حاوية تسمى "المشي ‪ ."walk‬افعل ذلك مرة أخرى لـ "دراجة‬
‫‪."cycle‬‬

‫إذا استخدمت خيارات مختلفةيف االستطالع‪ ،‬فاستخدم هذه األسماء بدالً من ذلك‪.‬‬

‫‪ .13‬انقر فوق الزر "إضافة مثال ‪"Add example‬يف حاوية "السيارة ‪ "car‬ثم اكتب نتيجة االستطالع‬
‫األولى لشخص يسافر بالسيارة‪.‬‬
‫‪143‬‬ ‫‪Journey to school‬‬ ‫‪13‬‬

‫‪ .14‬استمر حتى تدخل جميع نتائج االستطالع‪.‬‬

‫‪ .15‬انقر فوق ارتباط "<الرجوع إلى المشروع < ‪ ،"Back to project‬وهذه المرة انقر فوق "تعلم‬
‫واختبار ‪ "Learn & Test‬الستخدام األمثلة الخاصة بك‪.‬‬

‫‪ .16‬انقر فوق الزر تدريب ‪ Train‬نموذج التعلم اآللي الجديد‪.‬‬

‫يجب أن يستغرق التدريب بضع ثوانٍ فقط‪.‬‬

‫‪ .17‬بمجرد انتهاء التدريب‪ ،‬يجب أن يظهر مربع اختبار ‪ .Test box‬استخدم هذا الختبار النموذج‬
‫الخاص بك‪.‬‬

‫أدخل القيميف مربعات نص االختبار ‪ Test text boxes‬واضغط على اختبار ‪.Test‬‬
‫‪144‬‬

‫‪ .18‬استمريف االختبار لمحاولة التعرف على األنماط التي شاهدها الكمبيوتريف بيانات المسح‪.‬‬

‫مع تقدمكيف العمر‪ ،‬هل يعتقد الكمبيوتر أن المشي يصبح أكثر احتماال من الذهاب بالسيارة؟‬

‫إذا كان األمر كذلك‪ ،‬ما هو العمر الذي يبدو أن الكمبيوتر قد شهد التغيير فيه؟‬

‫لقد دربت نموذجًا بسيطًا للتعلم اآللي باستخدام أرقام من استطالع حول السفر‪.‬‬ ‫•‬

‫لقد أنشأت "نموذجًا تنبئيًا ‪ - "predictive model‬سمي ذلك ألننا نستخدم نماذج مثل هذه‬ ‫•‬
‫لعمل تنبؤات‪.‬‬

‫يمكنك استخدام هذا النموذج لعمل تنبؤات حول مدى احتمالية ذهاب شخص ما إلى المدرسة‬ ‫•‬
‫سيرًا على األقدام إذا كنت تعرف عمره ومدى تواجده بعيدًا عن المدرسة‪.‬‬

‫لكن ما مدى دقة التنبؤات؟‬ ‫•‬

‫‪ .19‬انقر على رابط "<الرجوع إلى المشروع < ‪ "Back to project‬ثم ارجع إلى صفحة التدريب‬
‫‪.Train page‬‬

‫‪ .20‬اختر إحدى إجابات االستطالع التي أدخلتها سابقًا‪ ،‬ثم احذفها‪.‬‬

‫تأكد من كتابة جميع القيم للمثال الذي تقوم بحذفه قبل حذفه‪ .‬سنحتاج القيميف دقيقة واحدة‪.‬‬

‫حرك مؤشر الماوس فوقه‪ ،‬حتى يظهر الصليب األحمر‪ .‬انقر فوق هذا الصليب األحمر لحذف‬
‫المثال‪.‬‬

‫‪ .21‬انقر فوق االرتباط "<الرجوع إلى المشروع < ‪ "Back to project‬ثم ارجع إلى صفحة التعلم‬
‫واالختبار ‪.Learn & Test page‬‬

‫‪ .22‬انقر فوق "تدريب نموذج جديد للتعلم اآللي ‪ "Train new machine learning model‬مرة‬
‫أخرى‪.‬‬

‫قد تحتاج إلى التمرير ألسفل ‪ -‬ستجد الزر أسفل الصفحة‪.‬‬


‫‪145‬‬ ‫‪Journey to school‬‬ ‫‪13‬‬

‫‪ .23‬بمجرد تدريب النموذج الجديد‪ ،‬أدخل القيم التي قمت بحذفهايف مربعات االختبار‪.‬‬

‫أنت تعرف اإلجابة الصحيحة عن ذلك ‪ -‬إنها الحاوية التي حذفت هذا المثال منها‪.‬‬

‫قارن تنبؤات الكمبيوتر باإلجابة الصحيحة‪ .‬هل الكمبيوتر فهمها بشكل صحيح؟‬

‫لقد اختبرت نموذج التعلم اآللي التنبئي لمعرفة مدى دقته‪.‬‬ ‫•‬

‫بحذف المثال من تدريب الكمبيوتر أوالً‪ ،‬فهذا يعني أنك اختبرته من خالل مطالبتك بإجابة سؤال‬ ‫•‬
‫لم يسبق له رؤيته من قبل‪.‬‬

‫(إذا قمت باختباره على مثال شاهده من قبل ‪ -‬أنه كان عليه التعلم منهيف التدريب ‪ -‬فال يمكنك‬ ‫•‬
‫حقًا معرفة ما إذا كان الكمبيوتر قد تعلم كيفية إيجاد اإلجابة بنفسه‪).‬‬

‫ولكن ما مدى عدالة االختبار؟‬ ‫•‬

‫هل اخترت مثاال سهال حقا؟ (مثل الطالب الذي يعيش حقًا طريقًا طويالً جدًا من المدرسة!)‬ ‫•‬

‫أو هل اخترت مثالًا صعبًا حقًا؟‬ ‫•‬

‫كيف يمكنك اختيار مثال لجعله عادالً؟‬ ‫•‬

‫اآلن بعد أن انتهيت‪ ،‬لماذا ال تجرّب إحدى هذه األفكار؟ أو ابتكر واحدة خاصة بك؟‬

‫•‬

‫هل يمكنك التفكيريف طريقة الستخدام قدرة الكمبيوتر على التنبؤ بكيفية انتقال األشخاص إلى‬
‫المدرسةيف لعبة ما؟‬
‫‪146‬‬

‫•‬

‫بدالً من مجرد حذف مثال واحد من بيانات التدريب واستخدام ذلك لالختبار‪ ،‬حاول استخدام‬
‫المزيد من األمثلة‪.‬‬

‫كم تعتقد أنه يجب عليك استخدامه لالختبار؟‬

‫إذا كنت تستخدم القليل جدًا لالختبار‪ ،‬فال يمكنك التأكد من جودة الكمبيوتر‪.‬‬

‫إذا كنت تستخدم الكثير لالختبار‪ ،‬فإنك تقلل عدد األمثلة التي يجب أن يتعلم الكمبيوتر منها‬
‫بالفعل‪.‬‬

‫غير قادر على إجراء مسح؟‬ ‫•‬

‫ال مشكلة! فيما يلي نتائج استطالع صغير أجريناه‪.‬‬ ‫•‬

‫‪Age‬‬ ‫‪Distance‬‬ ‫‪Friends‬‬ ‫‪Normal‬‬


‫&‬ ‫‪journey‬‬
‫)‪(years‬‬ ‫)‪(miles‬‬ ‫‪Siblings‬‬ ‫‪to‬‬
‫‪nearby‬‬ ‫‪school‬‬
‫‪9‬‬ ‫‪0.8‬‬ ‫‪0‬‬ ‫‪car‬‬
‫‪8‬‬ ‫‪0.9‬‬ ‫‪0‬‬ ‫‪car‬‬
‫‪6‬‬ ‫‪1.5‬‬ ‫‪12‬‬ ‫‪car‬‬
‫‪6‬‬ ‫‪2‬‬ ‫‪1‬‬ ‫‪car‬‬
‫‪11‬‬ ‫‪3‬‬ ‫‪0‬‬ ‫‪car‬‬
‫‪15‬‬ ‫‪7‬‬ ‫‪0‬‬ ‫‪car‬‬
‫‪10‬‬ ‫‪2‬‬ ‫‪0‬‬ ‫‪car‬‬
‫‪14‬‬ ‫‪7‬‬ ‫‪0‬‬ ‫‪car‬‬
‫‪10‬‬ ‫‪2.7‬‬ ‫‪0‬‬ ‫‪car‬‬
‫‪10‬‬ ‫‪3.5‬‬ ‫‪2‬‬ ‫‪car‬‬
‫‪7‬‬ ‫‪3.5‬‬ ‫‪1‬‬ ‫‪car‬‬
‫‪6‬‬ ‫‪2.5‬‬ ‫‪0‬‬ ‫‪car‬‬
147 Journey to school 13

11 2.6 1 car
8 5 4 car
9 1.2 0 car
6 5 4 car
9 2.3 0 car
8 2.6 1 car
8 1.5 4 car
5 2.8 1 car
6 1.5 0 car
7 3 1 car
5 1 0 car
6 3 1 car
9 1 0 car

Age Distance Friends Normal


& journey
(years) (miles) Siblings to
nearby school
6 1.1 0 car
5 1 4 car
5 10 0 car
14 5 1 car
14 7 0 car
15 5 1 car
9 1 0 car
9 1.1 0 walk
12 0.9 4 walk
6 0.5 5 walk
148

7 1 1 walk
8 0.9 0 walk
13 1 0 walk
9 1 0 walk
11 1.4 3 walk
11 1.5 2 walk
9 0.9 0 walk
9 1.1 0 walk
9 1 1 walk
8 1.3 0 walk
9 1 0 walk
10 0.9 1 walk
9 1.2 0 walk
9 1 3 walk
11 1 0 walk

Age Distance Friends Normal


& journey
(years) (miles) Siblings to
nearby school
12 0.8 3 walk
9 0.5 1 walk
10 1.1 2 walk
12 1 3 walk
15 1.5 0 walk
12 1.2 3 walk
9 1.3 0 walk
10 0.1 6 walk
149 Journey to school 13

11 1.1 4 walk
9 1.25 1 walk
13 0.5 5 walk
7 1.25 1 walk
9 0.1 0 walk
9 1.4 1 walk
13 0.3 5 walk
15 0.3 3 walk

Age Distance Friends Normal


& journey
(years) (miles) Siblings to school
nearby
12 0.8 4 walk
5 0.8 4 walk
9 1.1 1 walk
9 1.5 4 walk
9 0.7 6 walk
8 0.6 4 walk
16 1 10 walk
9 1 2 walk
12 0.2 8 cycle
10 2 1 cycle
11 0.8 1 cycle
10 1.1 0 cycle
13 1 1 cycle
9 1.1 0 cycle
‫‪14‬‬
‫الباندا الخجول‬

‫‪Shy Panda‬‬
‫‪151‬‬

‫‪Shy Panda‬‬ ‫‪14‬‬


‫في هذا المشروع سوف تصنع باندا راقص ‪.dancing panda‬‬ ‫•‬

‫سيكون باندا خجولة‪ ،‬سيحرج ويتوقف عن الرقص إذا رآك تنظر من خالل النافذة‪.‬‬ ‫•‬

‫ستقوم بتدريبه بحيث إذا غطيت عينيك‪ ،‬فسوف يدرك أنك ال تنظر ويستمريف الرقص‪.‬‬ ‫•‬

‫‪ .1‬انتقل إلى ‪/https://machinelearningforkids.co.uk‬يف مستعرض الويب‪.‬‬

‫‪ .2‬انقر فوق "البدء ‪"Get started‬‬

‫‪ .3‬انقر فوق "جربه اآلن ‪"Try it now‬‬

‫‪ .4‬انقر فوق "المشاريع ‪"Projects‬يف شريط القائمة العلوي‪.‬‬

‫‪ .5‬انقر فوق الزر "‪ +‬إضافة مشروع جديد ‪."Add a new project +‬‬

‫‪ .6‬أطلق عليه اسم "الباندا الخجول ‪ "shy panda‬واضبطه ليتعلم كيفية التعرف على "الصور‬
‫‪"images‬‬

‫إذا طلب النموذج مكان تدريب النموذج‪ ،‬فاختر "على جهاز الكمبيوتر الخاص بك ‪on your‬‬
‫‪"computer‬‬
‫‪152‬‬

‫‪ .7‬انقر فوق الزر "إنشاء ‪." Create‬‬

‫‪ .8‬يجب أن ترى "‪"shy panda‬يف قائمة مشاريعك‪ .‬انقر عليه‪.‬‬

‫‪ .9‬انقر على زر "تدريب ‪." Train‬‬

‫‪ .10‬انقر على "‪ +‬إضافة تسمية جديدة ‪."Add new label +‬‬
‫‪153‬‬ ‫‪Shy Panda‬‬ ‫‪14‬‬

‫‪ .11‬اكتب "نظر ‪ ،"looking‬ثم اضغط على إضافة ‪.Add‬‬

‫‪ .12‬افعل ذلك مرة أخرى‪ ،‬ولكن هذه المرة أضف "عدم النظر ‪"not looking‬‬

‫‪ .13‬انقر فوق الزر "كاميرا ويب ‪" webcam‬يف حاوية "عدم النظر ‪"not looking‬‬
‫‪154‬‬

‫‪ .14‬غطي وجهك بيديك والتقط صورة‪.‬‬

‫قد يكون من األسهل إذا كان لديك شريك أن تنقر على زر "إضافة ‪ " Add‬من أجلك!‬

‫‪ .15‬كرر ذلك حتى تحصل على عشر صور كهذه‪.‬‬

‫‪ .16‬انقر فوق الزر "كاميرا الويب ‪"webcam‬يف حاوية "النظر ‪"looking‬‬


‫‪155‬‬ ‫‪Shy Panda‬‬ ‫‪14‬‬

‫‪ .17‬انظر إلى الكاميرا وانقر على "إضافة ‪"Add‬‬

‫‪ .18‬كرر ذلك حتى تحصل على عشر صور كهذه‪.‬‬

‫‪ .19‬انقر فوق "<رجوع إلى المشروع < ‪" Back to project‬‬

‫‪ .20‬انقر فوق تعلم واختبار ‪.Learn & Test‬‬

‫‪ .21‬انقر فوق الزر "تدريب نموذج التعلم اآللي الجديد ‪Train new machine learning‬‬
‫‪"model‬‬

‫انتظر حتى يتدرب النموذج‪ .‬يجب أن يستغرق األمر دقيقة واحدة فقط‪.‬‬
‫‪156‬‬

‫لقد بدأتيف تدريب جهاز كمبيوتر على التعرف على ما إذا كانت صور الوجه وصور‬ ‫•‬
‫الوجه المغطى‪ .‬أنت تفعل ذلك من خالل التقاط الصور على سبيل المثال‪ .‬يتم‬
‫استخدام هذه األمثلة لتدريب "نموذج ‪ "model‬التعلم اآللي‪.‬‬

‫وهذا ما يسمى "التعلم الخاضع لإلشراف ‪ "supervised learning‬نظرًا للطريقة‬ ‫•‬


‫التي تشرف بها على تدريب الكمبيوتر‪.‬‬

‫سيتعلم الكمبيوتر من األنماط الموجودةيف األشكال من كل صورة من الصور التي‬ ‫•‬


‫قدمتها له‪ .‬سيتم استخدام هذه للتعرف على الصور الجديدة‪.‬‬

‫‪ .22‬انقر فوق "<الرجوع إلى المشروع < ‪"Back to project‬‬

‫‪ .23‬انقر فوق الزر "‪"Make‬‬

‫‪ .24‬انقر فوق "‪" Scratch 3‬‬

‫‪ .25‬انقر فوق "‪" Open in Scratch 3‬‬

‫‪ .26‬انقر فوق "قوالب المشروع ‪"Project templates‬‬


‫‪157‬‬ ‫‪Shy Panda‬‬ ‫‪14‬‬

‫‪ .27‬انقر فوق قالب الباندا الخجولة "‪"Shy Panda‬‬

‫قد تحتاج إلى التمرير ألسفل إليها‪.‬‬

‫‪ .28‬ابحث عن سكريبت "التعرف على النافذة ‪"recognise window‬يف كائن "النافذة ‪"window‬‬

‫‪ .29‬قم بتغيير سكريبت "التعرف على النافذة ‪ "recognise window‬بحيث يبدو هكذا‪:‬‬

‫‪ .30‬ابحث عن سكريبت "اإلعداد ‪"setup‬يف كائن "النافذة ‪"window‬‬


‫‪158‬‬

‫‪ .31‬قم بتغيير نص "اإلعداد ‪ "setup‬بحيث يبدو هكذا‬

‫‪ .32‬انقر فوق العلم األخضر لبدء رقص الباندا‪.‬‬

‫‪ .33‬يجب أن ترى نفسكيف النافذةيف مشروع سكراتش‪ .‬قد تحتاج إلى التحرك حتى يكون وجهك‬
‫مرئيًايف النافذة‪.‬‬

‫إذا كان نموذج التعلم اآللي الخاص بك يتعرف على النظريف النافذة على أنه "نظر ‪،"looking‬‬
‫فيجب أن يتوقف الباندا عن الرقص ويبدو محرجًا!‬
‫‪159‬‬ ‫‪Shy Panda‬‬ ‫‪14‬‬

‫‪ .34‬حاول تغطية وجهك‪.‬‬

‫يجب أن يبدأ الباندايف الرقص مرة أخرى‪ ،‬ألن نموذج التعلم اآللي الخاص بك سيدرك أنك ال‬
‫تنظر‪.‬‬

‫لقد أنشأت باندا خجولةيف سكراتش تستخدم التعلم اآللي للتعرف على ما إذا كان المنظريف ‬ ‫•‬
‫النافذة هو صورة لك تنظر إليه‪.‬‬

‫نموذج التعلم اآللي الذي دربته هو مُصنِّف للصور ‪ image classifier‬قادر على تصنيف الصور‬ ‫•‬
‫كواحدة من فئتين ‪ -‬إما النظر ‪ looking‬أو عدم النظر ‪.not looking‬‬

‫كلما أعطيت المزيد من األمثلة‪ ،‬كان من األفضل أن تدرك ما إذا كنت تنظر إليها أم ال‪.‬‬ ‫•‬

‫اآلن بعد أن انتهيت‪ ،‬لماذا ال تجرّب إحدى هذه األفكار؟ أو ابتكر واحدة خاصة بك؟‬

‫•‬

‫ليس عليك استخدام الباندايف قالب المشروع‪ .‬لماذا ال ترسم شخصيتك الخاصة؟ ستحتاج إلى‬
‫اثنين من الكائنات المتحركة لتتمكن من تحريكه وهو يرقص‪ ،‬والكائن الثالث يبدو خجولًا‪.‬‬
‫‪160‬‬

‫•‬

‫حاول اختباره مع زمالئكيف الفصل الدراسي‪ .‬هل ما زال الباندا يتصرف بشكل صحيح؟‬

‫ماذا لو لم يكن هناك أحد على اإلطالق؟‬

‫كيف يمكنك تحسين التدريب بحيث يفعل الباندا الشيء الصحيح لهذه األنواع من الحاالت؟‬
‫‪15‬‬
‫لغه الكائن الفضائي‬

‫‪Alien Language‬‬
‫‪162‬‬

‫‪Alien Language‬‬ ‫‪15‬‬


‫في هذا المشروع سوف تقوم بتدريب الكمبيوتر على فهم لغة الكائن الفضائي ‪Alien‬‬ ‫•‬
‫‪.Language‬‬

‫ستستخدم ذلك للتحكميف شخصية الكائن الفضائي ‪ Alien‬حتى تتمكن من فهم ما تخبرها أن‬ ‫•‬
‫تفعله‪.‬‬

‫‪ .1‬انتقل إلى ‪/https://scratch.machinelearningforkids.co.uk‬‬

‫الخطوات القليلة التالية تعمل فقط مع ‪.Google Chrome‬‬

‫إذا لم يكن لديك حق الوصول إلى ‪ ،Google Chrome‬فانتقل إلى الخطوة ‪ 5‬وابدأ من هناك‪.‬‬

‫‪ .2‬قم بتحميل اضافة الكالم إلى نص ‪Speech to Text‬‬

‫انقر على زر اإلضافات ‪( Extensions‬عالمة الجمع)يف أسفل اليسار‪ ،‬ثم اختر تحويل الكالم‬
‫إلى نص من القائمة‪.‬‬
‫‪163‬‬

‫‪ .3‬باستخدام كتل الكالم إلى نص الجديدة‪ ،‬قم بإنشاء السكريبتات التالية‪.‬‬

‫‪ .4‬انقر فوق العلم األخضر ‪ Green Flag‬وجربه‬

‫قل "يسار ‪ "left‬أو "يمين ‪ ."right‬يجب أن يتحرك القطيف االتجاه الذي تخبره به‪ .‬حاول تحريكه‬
‫ذهابًا وإيابًا عبر الشاشة باستخدام صوتك‪ .‬قد يكون من الصعب تشغيلها‪ .‬حاول التحدث بهدوء‬
‫ووضوح‪.‬‬

‫إذا لم ينجح األمر‪ ،‬فعدِّل السكريبت إلظهار ما تعتقد أنك تقوله‪:‬‬


‫‪Alien Language‬‬ ‫‪15‬‬ ‫‪164‬‬

‫لقد استخدمت التعرف على الكالم ‪ speech recognition‬للتحكميف شخصيةيف سكراتش‪.‬‬ ‫•‬
‫للحصول على هذا العمل بسرعة‪ ،‬لقد استخدمت نموذج التعلم اآللي الذي تم تدريبه بالفعل‬
‫من أجلك‪ .‬هذا نموذج عام للتعلم اآللي تم تدريبه للتعرف على كلمات قاموس اللغة اإلنجليزية‪.‬‬

‫بعد ذلك‪ ،‬ستقوم بتدريب نموذج التعلم اآللي بنفسك لترى كيف تم ذلك‪.‬‬ ‫•‬

‫في الجزء التالي من المشروع‪ ،‬ستستخدم صوتك للتحكميف شخصية الكائن الفضائي ال تفهم‬ ‫•‬
‫اللغة اإلنجليزية! سوف تخترع كلمتين جديدتين‪ ،‬لن يتم العثور عليهمايف قاموس اللغة‬
‫اإلنجليزية‪ ،‬للتحكميف شخصيتك وتدريب نموذج التعلم اآللي للتعرف عليها‪.‬‬

‫‪ .5‬اخترع لغتك الفضائية!‬

‫أنت بحاجة إلى كلمتين ‪ -‬كلمة فضائية لـ "يسار ‪ "left‬وكلمة فضائية لـ"يمين ‪ ."right‬اخترع‬
‫كلمات جديدة ال تظهريف قاموس اللغة اإلنجليزية‪ .‬يمكن أن تكون ضوضاء عشوائية طالما‬
‫يمكنك تكرارها بنفس الطريقةيف كل مرة وستكون مختلفة بشكل ملحوظ عن بعضها البعض‪.‬‬

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

‫‪ .6‬انتقل إلى ‪/https://machinelearningforkids.co.uk‬‬

‫‪ .7‬انقر فوق "تسجيل الدخول ‪"Log In‬‬

‫‪ .8‬انقر فوق "جربه اآلن ‪"Try it now‬‬

‫‪ .9‬انقر فوق "المشاريع ‪"Projects‬يف شريط القائمة العلوي‪.‬‬

‫‪ .10‬انقر فوق الزر "‪ +‬إضافة مشروع جديد ‪."Add a new project +‬‬

‫‪ .11‬قم بتسمية مشروعك "لغة الفضائيين ‪ "Alien Language‬واضبطه لتعلم كيفية التعرف على‬
‫"األصوات ‪."sounds‬‬

‫انقر فوق الزر "إنشاء ‪"Create‬‬


‫‪165‬‬

‫‪ .12‬يجب أن تشاهد اآلن "للغة الفضائيين ‪"Alien Language‬يف قائمة مشاريعك‪ .‬انقر عليه‪.‬‬

‫‪ .13‬انقر فوق الزر "تدريب ‪ "Train‬لبدء جمع األمثلة‪.‬‬

‫‪ .14‬انقر فوق الزر "إضافة مثال ‪"Add example‬يف حاوية ضوضاء الخلفية ‪.background noise‬‬
‫سيساعد تسجيل ضوضاء الخلفية نموذج التعلم اآللي الخاص بك على معرفة الفرق بين‬
‫األصوات التي ستقوم بتدريبها على التعرف عليها‪ ،‬وضوضاء الخلفيةيف مكان وجودك‪.‬‬

‫‪ .15‬انقر فوق الميكروفون لتسجيل ثانيتين من ضوضاء الخلفية ‪.background noise‬‬


‫‪Alien Language‬‬ ‫‪15‬‬ ‫‪166‬‬

‫‪ .16‬انقر فوق الزر "إضافة ‪ " Add‬لحفظ التسجيل الخاص بك‪.‬‬

‫‪ .17‬كرر ذلك حتى تحصل على ‪ 8‬أمثلة على األقل لضوضاء الخلفية ‪background noise‬‬
‫‪167‬‬

‫‪ .18‬انقر فوق الزر "إضافة تسمية جديدة ‪"Add new label‬يف الجزء العلوي األيمن‪ ،‬وأنشئ مجموعة‬
‫تدريب جديدة تسمى "يسار ‪"left‬‬

‫‪ .19‬انقر فوق الزر "إضافة مثال ‪"Add example‬يف الحاوية اليسرى الجديدة‪.‬‬

‫‪ .20‬سجل ما ال يقل عن ‪ 8‬أمثلة على ضوضاء الكائنات الفضائية الخاصة بك لـ "اليسار ‪"left‬‬

‫‪ .21‬انقر فوق الزر "إضافة تسمية جديدة ‪"Add new label‬يف الجزء العلوي األيسر‪ ،‬وأنشئ مجموعة‬
‫تدريب جديدة تسمى "يمين ‪"right‬‬

‫‪ .22‬سجل ما ال يقل عن ‪ 8‬أمثلة على ضوضاء الفضائيين الخاصة بك من أجل "اليمين ‪"right‬‬
‫‪Alien Language‬‬ ‫‪15‬‬ ‫‪168‬‬

‫‪ .23‬انقر فوق االرتباط "الرجوع إلى المشروع ‪"Back to project‬يف الجزء العلوي األيسر‪.‬‬

‫‪ .24‬انقر فوق الزر تعلم واختبار ‪.Learn & Test‬‬

‫‪ .25‬انقر فوق "تدريب نموذج جديد للتعلم اآللي ‪"Train new machine learning model‬‬

‫‪ .26‬بمجرد االنتهاء من التدريب‪ ،‬انقر فوق الزر "بدء االستماع ‪ " Start listening‬الختبار نموذج‬
‫التعلم اآللي الخاص بك‪.‬‬
‫‪169‬‬

‫قم بعمل أحد األصوات التي قمت بتدريب الكمبيوتر على التعرف عليها على أنها تعني "يسار‬
‫‪ "left‬أو "يمين ‪ ."right‬إذا تعرف عليها نموذج التعلم اآللي الخاص بك‪ ،‬فسيعرض ما تعتقد‬
‫أنك فعلته‪.‬‬

‫‪ .27‬إذا لم تكن راضيًا عن كيفية عمل النموذج‪ ،‬فارجع إلى صفحة التدريب ‪ Train page‬وأضف‬
‫المزيد من األمثلة إلى جميع مجموعات التدريب الثالثة‪.‬‬

‫‪ .28‬عندما تكون راضيًا عن نموذج التعلم اآللي الخاص بك‪ ،‬انقر فوق الزر ‪.Make‬‬

‫‪ .29‬انقر فوق الزر ‪ Scratch 3‬ثم انقر فوق ‪.Open in Scratch 3‬‬

‫‪ .30‬انقر على زر قوالب المشروع ‪Project templates‬يف الجزء العلوي من الشاشة وافتح قالب‬
‫مشروع "لغة الفضائيين ‪"Alien Language‬‬

‫‪ .31‬أضف السكريبت التالي إلى الكائن الفضائي‪:‬‬

‫توجد بالفعل بعض السكريبتاتيف الكائن الفضائي لوضعهيف المكان المناسبيف البداية‬
‫وتحريك كيفية سيره‪ .‬ال تحذفها‪ .‬يمكنك إضافة هذه السكريبتات تحتها‪.‬‬
‫‪Alien Language‬‬ ‫‪15‬‬ ‫‪170‬‬

‫‪ .32‬حان وقت االختبار! انقر فوق العلم األخضر ‪.Green Flag‬‬

‫أصدر أصواتك من أجل "اليسار ‪ "left‬و "اليمين ‪ "right‬لتخبر الفضائي عن طريقة المشي‪.‬‬
‫‪171‬‬

‫لقد قمت بتدريب نموذج التعلم اآللي الخاص بك للقيام بالتعرف على الكالم‪ .‬لقد استخدمت‬ ‫•‬
‫ذلك للتحكميف شخصيةيف سكراتش‪.‬‬

‫على عكس النموذج المدرب مسبقًا الذي استخدمته من قبل‪ ،‬والذي تم تدريبه على التعرف‬ ‫•‬
‫على عشرات اآلالف من الكلمات‪ ،‬فقد قمت بتدريبه فقط على التعرف على كلمتين مختلفتين‪.‬‬
‫ولكن المبدأ هو نفسه‪.‬‬

‫لقد رأيت أيضًا أهمية تدريب نموذج التعلم اآللي للعمل مع ضوضاء خلفية معينة‪.‬‬ ‫•‬

‫هل يمكنك التفكيريف مثال لنظام مثل هذا رأيته مستخدمًا من قبل؟ على سبيل المثال‪ ،‬تستخدم‬ ‫•‬
‫بعض السيارات أنظمة التعرف على الكالم التي تم تدريبها للتعرف على األوامر المختلفة التي‬
‫يمكنك إعطاؤها للكمبيوتر داخل السيارة‪ .‬ما هي األمثلة األخرى التي استخدمتها؟‬

‫اآلن بعد أن انتهيت‪ ،‬لماذا ال تجرّب إحدى هذه األفكار؟ أو ابتكر واحدة خاصة بك؟‬

‫•‬

‫حاول إضافة حاويات تدريب إضافيين لـ "اعلى ‪ "up‬و "أسفل ‪ "down‬حتى تتمكن من التحكم‬
‫في الكائن الفضائي للتحركيف جميع االتجاهات األربعة‪.‬‬
‫‪16‬‬
‫مكتشف الوجوه‬

‫‪Face Finder‬‬
‫‪173‬‬

‫‪Face Finder‬‬ ‫‪16‬‬


‫في هذا المشروع‪ ،‬ستقوم بعمل مرشح وجه مدعوم بالذكاء االصطناعي ‪AI-powered face‬‬ ‫•‬
‫‪ filter‬يضيف عيون كرتونية لوجهك‪.‬‬

‫ستستخدم نموذجًا للتعلم اآللي مُدرَّبًا مسبقًا ‪pre-trained machine learning model‬‬ ‫•‬
‫إلجراء اكتشاف الوجه على مقطع فيديو مباشر لكاميرا الويب وتأثيرات الرسوم المتحركة‬
‫باستخدام النتائج‪.‬‬

‫‪ .1‬انتقل إلى ‪/https://machinelearningforkids.co.uk/pretrained‬يف متصفح الويب‬

‫تعرض هذه الصفحة بعض نماذج التعلم اآللي التي تم اختبارها مسبقًا والمتوفرة لك‪ .‬بالنسبة‬
‫لهذا المشروع‪ ،‬سنستخدم نموذج اكتشاف الوجه ‪.Face Detection model‬‬

‫‪ .2‬انقر فوق "البدء ‪"Get started‬‬

‫‪ .3‬افتح نافذة اإلضافات ‪.Extensions window‬‬

‫انقر فوق الزر األزرق مع رمز عالمة الجمعيف أسفل اليسار‪.‬‬


‫‪174‬‬

‫‪ .4‬انقر على إضافة ‪.Video Sensing‬‬

‫ستحتاج إلى هذه االضافة الستخدام كاميرا الويبيف مشروعك‪.‬‬

‫‪ .5‬افتح نافذة االضافات مرة أخرى‬

‫‪ .6‬انقر على اضافة اكتشاف الوجه ‪Face detection extension‬‬

‫ستحتاج إلى هذه االضافة الستخدام نموذج التعلم اآللي المدرب مسبقًا والذي يحدد موقع‬
‫وجهكيف مغذي كاميرا الويب‪.‬‬

‫‪ .7‬احذف كائن القط من خالل النقر على أيقونة سلة المهمالت‪.‬‬


‫‪175‬‬ ‫‪Face Finder‬‬ ‫‪16‬‬

‫‪ .8‬قم بإنشاء كائن جديد باستخدام زر فرشاة الرسم ‪Paint brush‬‬

‫‪ .9‬ارسم عينًا كرتونيةيف عالمة تبويب المظاهر ‪Costume‬‬

‫يمكنك رسمه يدويًا إذا أردت‪ ،‬أو استخدم أداة الدائرة لرسم دائرتين إذا كنت تفضل شيئًا أبسط‪.‬‬

‫‪ .10‬اسحب عينك حتى يتطابق المركز مع الشعيرات المتقاطعة المركزية للكائن‪.‬‬

‫يجب أن تالحظ أنه يقفز إلى المكان الصحيح عندما تقترب‪.‬‬


‫‪176‬‬

‫‪ .11‬قم بتكرار كائن عينك‪.‬‬

‫انقر بزر الماوس األيمن فوق الكائن ثم انقر فوق تكرار ‪.Duplicate‬‬

‫‪ .12‬قم بتسمية الكائنين "العين اليسرى ‪ "left eye‬و "العين اليمنى ‪"right eye‬‬

‫‪ .13‬استخدم زر الرسام ‪ Paint‬مرة أخرى لرسم كائن أنف كارتون‪.‬‬


‫‪177‬‬ ‫‪Face Finder‬‬ ‫‪16‬‬

‫‪ .14‬انقر فوق المنصة ‪ Stage‬ثم انقر فوق عالمة التبويب ‪.Code‬‬

‫‪ .15‬قم بإنشاء هذا السكريبت لتمكين كاميرا الويب‪.‬‬

‫‪ .16‬اضبط حجم الكائنات المتحركة بحيث تكون مناسبة لوجهك‬

‫‪ .17‬انقر فوق كائن "العين اليسرى ‪ "left eye‬وقم بإنشاء هذا السكريبت‪.‬‬
‫‪178‬‬

‫‪ .18‬انقر على كائن "العين اليمنى ‪ "right eye‬وأنشئ هذا السكريبت‪.‬‬

‫‪ .19‬انقر فوق كائن "األنف ‪ "nose‬وإنشاء هذا السكريبت‪.‬‬

‫‪ .20‬حان وقت االختبار! انقر فوق العلم األخضر ‪.Green Flag‬‬

‫لقد أنشأت مشروعًا باستخدام نموذج تعلُّم آلي مُدرَّب مسبقًا ‪pre-trained machine‬‬ ‫•‬
‫‪.learning model‬‬

‫تم جمع أكثر من ‪ 32000‬صورة من قبل أكاديميينيف إحدى الجامعات‪ ،‬الذين قاموا بمراجعتها‬ ‫•‬
‫جميعًا والحظوا موقع ‪ 390.000‬وجه وجدوها فيها‪ .‬تم استخدام كل هذه األمثلة لما تبدو عليه‬
‫أجزاء الصور للوجوه لتدريب نموذج التعلم اآللي على كيفية التعرف على الوجوهيف الصور‪.‬‬

‫غالبًا ما تستخدم مشاريع التعلم اآللييف العالم الحقيقي نماذج تم تدريبها بالفعل من قبل‬ ‫•‬
‫أشخاص آخرين‪ .‬إنها طريقة جيدة إلنشاء مشروع بسرعة عندما ال يكون لديك الوقت لجمع‬
‫بيانات التدريب الخاصة بك‪.‬‬

‫‪ .21‬قم بتحديث السكريبتات الثالثة لتغيير حجم الكائنات المتحركة‪.‬‬

‫سيؤدي هذا إلى تحديث حجم الكائنات المتحركة بناءً على حجم وجهك‪ ،‬بحيث تكبر إذا‬
‫حركت وجهك بالقرب من كاميرا الويب‪ .‬جرب أرقامًا مختلفة حتى تصبح راضيًا عن طريقة‬
‫عملها (على سبيل المثال‪ ،‬جرب ‪ ،2 ،1.75 ،1.5 ،1‬إلخ‪).‬‬
‫‪179‬‬ ‫‪Face Finder‬‬ ‫‪16‬‬

‫‪ .22‬اختبر مشروعك مرة أخرى بالنقر فوق العلم األخضر ‪.Green Flag‬‬

‫لقد أنشأت مشروع سكراتش باستخدام تقنية التعلم اآللي المعروفة باسم اكتشاف الوجه ‪face‬‬ ‫•‬
‫‪ :detection‬اكتشاف موقع الوجوهيف الصور‪.‬‬

‫هناك مرحلتان لكيفية القيام بذلك‪.‬‬ ‫•‬

‫المرحلة األولى‪" :‬الكشف عن األشياء ‪ ."object detection‬يعثر على جزء الصورة الذي‬ ‫▪‬
‫يبدو أنه يحتوي على وجه‪ .‬فكريف األمر على أنه الكمبيوتر يرسم صندوقًا حول المكان الذي‬
‫يتوقع فيه الوجه‪.‬‬

‫المرحلة الثانية‪ :‬التنبؤ بالشكل ‪ .shape prediction‬يتنبأ بالمكان الذي من المرجح أن‬ ‫▪‬
‫تكون فيه العين واألنف والفميف المربع المرسوميف المرحلة األولى‪ .‬يوصف هذا أحيانًا بأنه‬
‫اكتشاف "معالم الوجه ‪."facial landmarks‬‬

‫ما تفعله ليس "التعرف على الوجه ‪ ."facial recognition‬ال يتعرف مشروعك على من يظهر‬ ‫▪‬
‫وجههيف الصورة‪ .‬وذلك ألن النموذج المدرب مسبقًا الذي تستخدمه لم يتم تدريبه على صور‬
‫شخص معين‪.‬‬
‫‪180‬‬

‫إنه يبحث فقط عن شيء يشبه وجه اإلنسان‪ ،‬ألنه تم تدريبه بأمثلة من صور للعديد من الوجوه‬ ‫▪‬
‫المختلفة‪.‬‬

‫"اكتشاف الوجه ‪ " Face detection‬هو قدرة مفيدة‪ .‬ربما رأيت أن تطبيقات الجوال تستخدم‬ ‫▪‬
‫فالتر وجه الفيديو إلضافة تأثيرات ممتعة إلى الفيديو‪ ،‬كما فعلتيف هذا المشروع‪.‬‬

‫تشمل االستخدامات األخرىيف العالم الواقعي القدرة على تعتيم ‪ blur‬وجوه األشخاص تلقائيًا‬ ‫▪‬
‫في الصور عندما ال يكون لديك إذن بنشر وجوههم‪ ،‬أو حساب عدد األشخاص الذين يمكن‬
‫لكاميرا الفيديو رؤيتها تلقائيًا‪.‬‬
1. Machine Learning for Kids, Machine learning projects, Dale Lane,
https://machinelearningforkids.co.uk/?lang=en#!/worksheets

You might also like