MaxSketch: Robust Distinct Counting in Streams via Random Projections
تقدم هذه الورقة MaxSketch، وهو خوارزمية قائمة على الإسقاط العشوائي تستفيد من البنية الهندسية في التمثيلات المتعلمة لتحقيق تعقيد ذاكرة لوغاريتمي شبه مثالي لتقدير الأعداد المتميزة بمتانة في تدفقات البيانات عالية الأبعاد والمشوبة بالضجيج، متجاوزةً بذلك قيود المخططات الكلاسيكية والحدود السابقة للحالات الأسوأ.
البحث الأصلي مرخَّص بموجب CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). هذا شرح مولَّده بالذكاء الاصطناعي للبحث أدناه. لم يكتبه المؤلفون ولم يصادقوا عليه. وللتحقق من الدقة التقنية، يرجى الرجوع إلى البحث الأصلي. اقرأ إخلاء المسؤولية الكامل
تخيل أنك تقف عند تقاطع طرق مزدحم ومعك كاميرا، تحاول عدّ عدد الأشخاص الفريدين الذين يمرون من أمامك.
في الأيام الخوالي لعلوم الحاسوب، كان العدّ سهلاً إذا كان الجميع يرتدون شارة تعريف موحدة؛ فإذا مرت "أليس"، ستكتب شارتها "أليس". وإذا مرت أليس مرة أخرى، فستظل شارتها تقول "أليس". كان على الحاسوب ببساطة التحقق مما إذا كان قد رأى هذه الشارة المحددة من قبل. هذا هو أسلوب أدوات العد الكلاسيكية: فهي تعتمد على المطابقة التامة.
لكن في العالم الحقيقي، لا يرتدي الناس شارات تعريف. هم يرتدون ملابس مختلفة، ويقفون في إضاءات مختلفة، ويتخذون وضعيات مختلفة. إذا مرت أليس وهي ترتدي معطفاً أحمر، ثم مرت لاحقاً بسترة زرقاء، فقد يظن الحاسوب البسيط: "هذا شخص جديد!" ويعدّها مرتين. هذه هي مشكلة البيانات عالية الأبعاد والمشوشة: الشيء نفسه يبدو مختلفاً في كل مرة تراه فيها.
الطريقة القديمة مقابل المشكلة الجديدة
حاولت المحاولات السابقة حل هذه المشكلة عن طريق تجميع الأشياء التي تبدو متشابهة معاً (التجميع - Clustering). لكن هذا يشبه محاولة عدّ الناس عبر الاحتفاظ بصورة لكل شخص قابلته على الإطلاق. إذا رأيت 10,000 شخص، فستحتاج لتذكر 10,000 صورة. هذا يستهلك الكثير من الذاكرة، خاصة إذا كنت تعالج تدفقاً هائلاً من البيانات في الوقت الفعلي.
حاول نهج آخر القول: "إذا كانت الصورتان قريبتين بما يكفي، فهما لنفس الشخص". ولكن من الناحية الرياضية، تبين أن هذا أمر صعب للغاية. في أسوأ السيناريوهات، ستحتاج إلى كمية ضخمة من الذاة (تتناسب مع الجذر التربيعي لإجمالي عدد الأشخاص) للحصول على عد دقيق. هذا يشبه الحاجة إلى مكتبة بحجم مدينة فقط لعدّ الحشود في ملعب.
الحل: MaxSketch
قدم مؤلفو هذه الورقة طريقة جديدة تسمى MaxSketch. لقد أدركوا أن الذكاء الاصطناعي الحديث (تحديداً التعلم العميق) يقوم بالفعل بعمل رائع في تنظيم البيانات. فعندما تدرب ذكاءً اصطناعياً على التعرف على الوجوه أو الأشياء، فإنه يتعلم طبيعياً وضع "أليس" في مجموعة ضيقة ومتقاربة، و"بوب" في مجموعة أخرى بعيدة ومختلفة. وحتى لو غيرت أليس معطفها، فإن "بصمتها الرقمية" ستظل قريبة من مكانها الأصلي.
يستخدم MaxSketch هذا التجميع الطبيعي للعد دون الحاجة لتذكر كل صورة على حدة.
التشبيه: "نفق الرياح"
تخيل أن لديك نفق رياح عملاق به العديد من المراوح التي تهب من اتجاهات عشوائية مختلفة.
- الإعداد: لديك تدفق من الناس (نقاط البيانات) يسيرون عبر النفق.
- الاختبار: لكل اتجاه مروحة، تسأل: "من هو الشخص الأبعد في اتجاه هذه الرياح؟"
- السحر: إذا مرت 100 صورة لأليس عبر النفق، فستكون هي الشخص "الأبعد" لاتجاه مروحة معين لمرة واحدة فقط. وفي المرات الـ 99 الأخرى، ستظل موجودة، لكنها لن تغير الإجابة لأنها أصبحت بالفعل هي "الحد الأقصى". نفق الرياح يتجاهل التكرار بشكل فعال ولا يهتم إلا بـ وجود المجموعة الفريدة.
- العد: من خلال حساب متوسط النتائج لآلاف اتجاهات الرياح العشوائية هذه، يمكن للحاسوب تقدير عدد "المجموعات" (الأشخاص الفريدين) الموجودة في التدفق.
لماذا ينجح هذا الأسلوب؟
تثبت الورقة أنه إذا كانت البيانات "منضبطة" (بمعنى أن الذكاء الاصطناعي نجح بالفعل في تجميع الأشياء المتشابهة وإبقاء الأشياء المختلفة بعيدة عن بعضها)، فإن هذه الطريقة فعالة للغاية.
- الذاكرة: بدلاً من الحاجة إلى مكتبة بحجم مدينة، يحتاج MaxSketch فقط إلى دفتر ملاحظات صغير (ذاكرة لوغاريتمية). الأمر يشبه عدّ حشد عبر أخذ لقطات سريعة لاتجاه الرياح بدلاً من تصوير كل شخص على حدة.
- الدقة: يمكنه تقدير عدد الأشخاص الفريدين بدقة عالية جداً (ضمن هامش خطأ ضئيل جداً).
- المتانة: يعمل حتى لو بدا "أليس" في المعطف الأحمر مختلفاً قليلاً عن "أليس" في السترة الزرقاء، طالما أنه لا يزال يُعرف بأنه في نفس "الحي" العام في ذاكرة الذكاء الاصطناعي.
ما الذي اختبروه؟
اختبر الباحثون هذا على:
- MNIST (الأرقام المكتوبة بخط اليد): حيث تكون "المجموعات" واضحة جداً (الرقم '3' يبدو دائماً كأنه '3'). هنا، كان MaxSketch مثالياً، حتى عند عدّ تسلسلات أطول بكثير مما تم تدريبه عليه.
- CIFAR-10 (صور ملونة صغيرة): حيث تكون الأمور أكثر فوضوية. ومع ذلك، ظل يعمل بشكل جيد، خاصة إذا كان الذكاء الاصطناعي مدرباً بالفعل على التعرف على الأشياء.
- بيانات الوجوه الحقيقية: باستخدام صور حقيقية لأشخاص من الواقع. ورغم أن البيانات لم تكن مثالية، إلا أن MaxSketch أعطى تقديراً جيداً جداً لعدد الأشخاص الفريدين في تدفق يضم آلاف الصور، متفوقاً على الطرق السابقة المصممة للبيانات الفوضوية.
الخلاصة
MaxSketch هو خدعة ذكية تحول مشكلة عدّ صعبة إلى مشكلة بسيطة وهي "إيجاد الحد الأقصى". من خلال الاستفادة من حقيقة أن الذكاء الاصطناعي الحديث ينظم الأشياء المتشابهة معاً بشكل طبيعي، يمكنه عدّ العناصر الفريدة في تدفق هائل ومشوش باستخدام القليل من الذاكرة. إنه يجسّر الفجوة بين خوارزميات العد التقليدية والذكاء الاصطناعي الحديث، موضحاً أنه إذا كانت بياناتك منظمة بشكل جيد، فلست بحاجة لتذكر كل شيء لتعرف عدد الأشياء الفريدة الموجودة هناك.
غارق في أبحاث مجالك؟
تصلك نشرة يومية بأحدث الأبحاث المطابقة لكلماتك البحثية المفتاحية — مع ملخصات تقنية، بلغتك.