لنفترض أنّك تعمل على إعداد تطبيق لتوصية بالطعام، حيث المستخدمين يُدخلون وجباتهم المفضلة، ويقترح التطبيق وجبات مماثلة التي قد تعجبهم. كنت ترغب في تطوير نموذج تعلُّم الآلة يتنبأ بتشابه الطعام، حتى يتمكن تطبيقك من إنشاء التوصيات ("بما أنك تحب الفطائر المحلّاة، نوصي بمشاهدة الكريب").
لتدريب النموذج الخاص بك، فإنك تنظم مجموعة بيانات مكونة من 5000 من أصناف الوجبات، بما في ذلك borscht، الهوت دوغ، سلطة، البيتزا، والشاورما
أنت تنشئ ميزة "meal
" تحتوي على
ترميز واحد فعال
لكل عنصر من عناصر الوجبة في مجموعة البيانات.
صعوبات تمثيلات البيانات المتفرقة
وبمراجعة هذا النوع من الترميزات لمرة واحدة، ستلاحظ مشكلتين رئيسيتين في هذه تمثيل البيانات.
- عدد الأوزان: تعني متجهات الإدخال الكبيرة عددًا كبيرًا من
الأوزان
بالنسبة إلى الشبكة العصبونية.
مع إدخال M في الترميز المميّز، ثم N
في الطبقة الأولى من الشبكة بعد المدخلات، ينبغي أن يتدرب النموذج
أوزان MxN لتلك الطبقة. يؤدي العدد الكبير من الترجيحات إلى حدوث مشاكل أخرى:
- عدد نقاط البيانات كلما زادت الأوزان في نموذجك، زادت البيانات بحاجة إلى التدريب بفعالية.
- مقدار العملية الحسابية: كلما زادت الأوزان، زادت العمليات الحسابية المطلوبة تطبيق النموذج واستخدامه. من السهل تجاوز إمكانات الأجهزة.
- مساحة الذاكرة: كلما زادت الأوزان في نموذجك، زادت الذاكرة التي إلى مسرِّعات الأعمال التي تتولى تدريبه وتقديمه. توسيع النطاق الكفاءة أمرًا صعبًا للغاية.
- صعوبة دعم تعلُّم الآلة على الجهاز (ODML). إذا كنت تريد تنفيذ نموذج تعلُّم الآلة على الأجهزة المحلية (بدلاً من عرض فستحتاج إلى التركيز على تصغير النموذج، وسترغب في لتقليل عدد الترجيحات.
- نقص العلاقات المفيدة بين المتجهات: قيم الخط المتجه في أن ترميزات الطعام لا توفر أي معلومات مفيدة عن وتشابه أصناف الطعام. من الناحية الرياضية، الفهرس 1 ("الهوت دوغ") أقرب إلى المؤشر 2 ("السلطة") من الفهرس 4999 ("الشاورما")، على الرغم من الكلاب أكثر تشابهًا مع الشاورما (يحتوي كلاهما على اللحم والخبز) من السلطة.
في هذه الوحدة، ستتعرف على كيفية إنشاء تضمينات ذات أبعاد أقل بيانات متفرقة تعالج كلتا المشكلتين.