تسوية الندر: L1 التسوية

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

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

على سبيل المثال، فكر في مجموعة بيانات الإسكان التي لا تغطي ولاية كاليفورنيا فقط ولكن العالم بأكمله. ينتج عن حساب خط العرض العالمي على مستوى الدقيقة (60 دقيقة لكل درجة) حوالي 10,000 بُعد بترميز متفرق، وخط الطول العالمي على مستوى الدقيقة يعطي حوالي 20,000 بُعد. سينتج عن التقاطع بين هاتين الميزتين ما يقرب من 200000000 بُعد. ويمثل العديد من هذه الأبعاد البالغ عددها 200,000,000 مناطق ذات مسكن محدود (على سبيل المثال، وسط المحيط) بحيث يصعب استخدام تلك البيانات لتعميمها بشكل فعال. سيكون من السخيف دفع تكلفة ذاكرة الوصول العشوائي لتخزين هذه الأبعاد غير الضرورية. وبالتالي، سيكون من الجيد تشجيع تراجُع قيم الأبعاد التي لا معنى لها إلى 0 بالضبط، ما سيتيح لنا تجنُّب الدفع مقابل تكلفة التخزين لمعاملات النموذج هذه عند وقت الاستنتاج.

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

هل سيؤدي تنظيم L2 إلى إنجاز هذه المهمة؟ للأسف لا. يشجع تسوية L2 على أن تكون الأوزان صغيرة، لكن لا تفرضها على 0.0 بالضبط.

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

مع ذلك، هناك مصطلح تنظيم يسمّى L1 وهو عبارة عن مقياس تقريبي للمستوى L0، ولكن يتميّز بأنّه محدب وبالتالي فعال في احتسابه. إذًا، يمكننا استخدام التسوية 1 لتشجيع العديد من المعاملات غير المفيدة في نموذجنا على أن تكون 0 بالضبط، وبالتالي تحقيق توفير في ذاكرة الوصول العشوائي (RAM) وقت الاستنتاج.

تسوية المستوى 1 مقابل تسوية المستوى 2.

يخضع الاحتمالان على الأوزان في المستوى 2 والمستوى 1 بشكل مختلف:

  • ينفّذ المستوى 2 عقوبة على الوزن2.
  • يعاقب L1 |weight|.

وبالتالي، لكل من L2 وL1 مشتقات مختلفة:

  • مشتق L2 هو 2 * weight.
  • مشتق L1 هو k (ثابت تكون قيمته مستقلة عن الوزن).

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

يمكنك اعتبار مشتق L1 كقوة تطرح بعضًا ثابتًا من الوزن في كل مرة. ومع ذلك، وبفضل القيم المطلقة، يكون هناك انقطاع في الحرف L1 عند 0، ما يؤدي إلى ظهور أصفار نتائج الطرح التي تتقاطع مع 0. على سبيل المثال، إذا كان الطرح سيؤدي إلى فرض وزن من +0.1 إلى -0.2، سيضبط L1 الوزن على 0 بالضبط. Eureka، L1 أصفت الوزن.

تبين أنّ تنظيم L1 - فرض عقوبة على القيمة المطلقة لجميع قيم الترجيح - مفيد جدًا للنماذج الواسعة.

تجدر الإشارة إلى أنّ هذا الوصف ينطبق على أي نموذج أحادي البعد.

انقر على زر التشغيل () أدناه لمقارنة تأثير التسوية L1 وL2 على شبكة من الأوزان.