لنفترض أنّك تعمل على إعداد تطبيق لتوصية بالطعام، حيث المستخدمين يُدخلون وجباتهم المفضلة، ويقترح التطبيق وجبات مماثلة التي قد تعجبهم. كنت ترغب في تطوير نموذج تعلُّم الآلة يتنبأ بتشابه الطعام، حتى يتمكن تطبيقك من إنشاء التوصيات ("بما أنك تحب الفطائر المحلّاة، نوصي بمشاهدة الكريب").
لتدريب النموذج الخاص بك، فإنك تنظم مجموعة بيانات مكونة من 5000 من أصناف الوجبات، بما في ذلك borscht، الهوت دوغ، سلطة، البيتزا، والشاورما
![الشكل 1. مجموعة من الصور التوضيحية لخمسة أصناف طعام. في اتجاه عقارب الساعة من
أعلى اليسار: بورش، هوت دوغ، سلطة، بيتزا، شاورما.](https://developers.google.cn/static/machine-learning/crash-course/embeddings/images/food_images.png?authuser=19&hl=ar)
أنت تنشئ ميزة "meal
" تحتوي على
ترميز واحد فعال
لكل عنصر من عناصر الوجبة في مجموعة البيانات.
![الشكل 2. الجزء العلوي: تصور لترميز واحد فعال لبورش.
يتم عرض الخط المتجه [1, 0, 0, 0, ..., 0] فوق ستة مربعات،
تمت محاذاة كل منها من اليسار
إلى اليمين باستخدام أحد أرقام المتجهات. المربعات، من اليسار إلى اليمين
تحتوي على الصور التالية: بورش، هوت دوغ، سلطة، بيتزا، [فارغ]،
شاورما. الوسط: تصور لترميز واحد فعال للهوت دوغ.
يتم عرض الخط المتجه [0, 1, 0, 0, ..., 0] فوق ستة مربعات، لكل منها
تتم محاذاته من اليسار إلى اليمين باستخدام أحد أرقام المتجهات. تحتوي الصناديق على
نفس الصور من اليسار إلى اليمين كما في تصور بورش
أعلاه. أسفل: تصور لترميز واحد فعال للشاورما. تشير رسالة الأشكال البيانية
الخط المتجه [0, 0, 0, 0, ..., 1] يظهر فوق ستة مربّعات، على أن تتم محاذاة كل منها.
من اليسار إلى اليمين باستخدام أحد أرقام المتجهات. تحتوي الصناديق على
نفس الصور من اليسار إلى اليمين كما هو الحال مع بورش ونوت دوغ
والتصورات.](https://developers.google.cn/static/machine-learning/crash-course/embeddings/images/food_images_one_hot_encodings.png?authuser=19&hl=ar)
صعوبات تمثيلات البيانات المتفرقة
وبمراجعة هذا النوع من الترميزات لمرة واحدة، ستلاحظ مشكلتين رئيسيتين في هذه تمثيل البيانات.
- عدد الأوزان: تعني متجهات الإدخال الكبيرة عددًا كبيرًا من
الأوزان
بالنسبة إلى الشبكة العصبونية.
مع إدخال M في الترميز المميّز، ثم N
في الطبقة الأولى من الشبكة بعد المدخلات، ينبغي أن يتدرب النموذج
أوزان MxN لتلك الطبقة. يؤدي العدد الكبير من الترجيحات إلى حدوث مشاكل أخرى:
- عدد نقاط البيانات كلما زادت الأوزان في نموذجك، زادت البيانات بحاجة إلى التدريب بفعالية.
- مقدار العملية الحسابية: كلما زادت الأوزان، زادت العمليات الحسابية المطلوبة تطبيق النموذج واستخدامه. من السهل تجاوز إمكانات الأجهزة.
- مساحة الذاكرة: كلما زادت الأوزان في نموذجك، زادت الذاكرة التي إلى مسرِّعات الأعمال التي تتولى تدريبه وتقديمه. توسيع النطاق الكفاءة أمرًا صعبًا للغاية.
- صعوبة دعم تعلُّم الآلة على الجهاز (ODML). إذا كنت تريد تنفيذ نموذج تعلُّم الآلة على الأجهزة المحلية (بدلاً من عرض فستحتاج إلى التركيز على تصغير النموذج، وسترغب في لتقليل عدد الترجيحات.
- نقص العلاقات المفيدة بين المتجهات: قيم الخط المتجه في أن ترميزات الطعام لا توفر أي معلومات مفيدة عن وتشابه أصناف الطعام. من الناحية الرياضية، الفهرس 1 ("الهوت دوغ") أقرب إلى المؤشر 2 ("السلطة") من الفهرس 4999 ("الشاورما")، على الرغم من الكلاب أكثر تشابهًا مع الشاورما (يحتوي كلاهما على اللحم والخبز) من السلطة.
في هذه الوحدة، ستتعرف على كيفية إنشاء تضمينات ذات أبعاد أقل بيانات متفرقة تعالج كلتا المشكلتين.