عالم صغير قابل للتنقل هرميًا

خوارزمية العالم الصغير القابل للتنقل الهرمي ( HNSW ) هي خوارزمية للبحث التقريبي عن أقرب جار . تُستخدم هذه الخوارزمية للعثور على العناصر المشابهة لعنصر الاستعلام في مجموعة كبيرة، دون مقارنة الاستعلام بكل عنصر على حدة. [ 1 ]

تُستخدم هذه الخوارزمية عادةً للبحث في بيانات المتجهات . في هذه الأنظمة، يُمثَّل كل عنصر، مثل مستند أو صورة أو أغنية أو ملف تعريف مستخدم، بقائمة من الأرقام تُسمى متجهًا. تُعامل العناصر ذات المتجهات المتشابهة على أنها متشابهة وفقًا للنموذج الذي أنتج هذه المتجهات. يوفر نظام HNSW طريقةً للبحث السريع في هذه المتجهات، لا سيما في مجموعات البيانات الكبيرة.

يخزن HNSW المتجهات في رسم بياني . كل متجه هو عقدة ، وتربطه روابط ببعض المتجهات المجاورة. يتكون الرسم البياني من عدة طبقات: تحتوي الطبقات العليا على عدد أقل من العقد وتعمل كخريطة تقريبية، بينما تحتوي الطبقة السفلى على جميع العقد وتوفر عرضًا أكثر تفصيلًا. يبدأ البحث في طبقة عليا، ويتبع الروابط نحو العقد الأقرب إلى الاستعلام، ثم يكرر العملية في الطبقات السفلى حتى يعثر على مجموعة من أقرب الجيران المحتملين. [ 1 ]

رسم توضيحي لعملية البحث متعددة الطبقات في رسم بياني هرمي قابل للتنقل لعالم صغير

خلفية

تُعنى مسألة البحث عن أقرب جار بتحديد العناصر الأقرب إلى عنصر الاستعلام في مجموعة البيانات. يمكن للبحث المباشر مقارنة عنصر الاستعلام بكل عنصر في مجموعة البيانات، إلا أن هذه العملية تصبح بطيئة عند التعامل مع مجموعات بيانات كبيرة. كما أن طرق البحث الدقيق القائمة على الأشجار المكانية، مثل شجرة kd وشجرة R ، قد تصبح أقل فعالية مع البيانات عالية الأبعاد، وهي مشكلة غالباً ما تُعرف بلعنة الأبعاد .

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

يستند مشروع HNSW إلى أبحاثٍ في شبكات العالم الصغير والرسوم البيانية القابلة للتصفح. في الرسم البياني ذي العالم الصغير، يمكن الوصول إلى معظم العقد من عقد أخرى عبر سلسلة قصيرة من الروابط. أما في الرسم البياني القابل للتصفح، فيمكن لعملية البحث استخدام المعلومات المحلية للوصول إلى الهدف. يُعدّ عمل جون كلاينبرغ حول التصفح في شبكات العالم الصغير مثالًا هامًا في هذا المجال البحثي. [ 2 ] وقد تناولت دراسات لاحقة طرقًا لإضافة روابط تُسهّل تصفح الرسوم البيانية بطريقة جشعة. [ 3 ]

تُوسّع خوارزمية HNSW أساليب البحث عن التشابه في العالم الصغير القابلة للتصفح، وذلك بإضافة تسلسل هرمي من طبقات الرسم البياني. يُساعد هذا التسلسل الهرمي الخوارزمية في إيجاد منطقة جيدة في الرسم البياني قبل إجراء بحث أكثر تفصيلاً في الطبقة السفلية. [ 4 ]

الخوارزمية

تعتمد خوارزمية HNSW على رسم بياني للتقارب. في هذا الرسم البياني، ترتبط المتجهات المتقاربة بحواف. تستخدم الخوارزمية هذه الحواف للتنقل عبر مجموعة البيانات ، بدلاً من مسح كل متجه على حدة.

الرسم البياني هرمي. يظهر كل متجه في الطبقة السفلية. كما توجد بعض المتجهات في طبقات أعلى، ويقل عدد المتجهات كلما ارتفعنا في الطبقات. تسمح الطبقات العليا بالحركة بعيدة المدى عبر مجموعة البيانات، بينما تسمح الطبقات السفلى ببحث أكثر تفصيلاً بالقرب من المرشحين الواعدين. [ 1 ]

تتم عملية البحث النموذجية على النحو التالي:

  1. يبدأ البحث من نقطة دخول في الطبقة العليا.
  2. في كل خطوة، تنظر الخوارزمية إلى العقد المجاورة وتنتقل إلى عقدة مجاورة أقرب إلى الاستعلام.
  3. عندما لا يتمكن من العثور على جار أقرب في تلك الطبقة، فإنه ينتقل إلى الطبقة التالية.
  4. في الطبقة السفلية، تستكشف مجموعة أوسع من العقد المرشحة وتعيد أقرب المرشحين الذين تم العثور عليهم.

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

البناء والمعايير

يتم بناء مخطط HNSW بشكل تدريجي. عند إدخال متجه جديد، تقوم الخوارزمية بتعيين طبقة قصوى له، وتبحث عن العقد الموجودة القريبة، وتربط العقدة الجديدة بجيران محددين في كل طبقة تظهر فيها. [ 1 ]

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

نظرًا لأن خوارزمية HNSW تقريبية، فإن نتائجها لا تتطابق دائمًا مع نتائج البحث الدقيق الكامل. ويعتمد أداؤها العملي على مجموعة البيانات، ومقياس المسافة، والتنفيذ، وإعدادات المعلمات. وقد أظهرت دراسات المقارنة المعيارية أن المكتبات القائمة على HNSW تتمتع بأداء قوي بين طرق الجوار الأقرب التقريبية، على الرغم من أن أداءها في أسوأ الحالات قد يختلف عن أدائها على مجموعات البيانات المعيارية الشائعة. [ 5 ] [ 6 ]

يُستخدم في أنظمة البحث عن المتجهات

يُستخدم HNSW كفهرس في الأنظمة التي تخزن وتبحث في المتجهات عالية الأبعاد. تشمل هذه الأنظمة قواعد بيانات المتجهات، ومحركات البحث، وامتدادات قواعد البيانات. ومن الاستخدامات الشائعة البحث الدلالي ، وأنظمة التوصية ، والبحث عن تشابه الصور، والتوليد المُعزز بالاسترجاع .

تُطبّق العديد من مشاريع البرمجيات أو تدعم HNSW. تشمل المكتبات hnswlib، المرتبطة بمؤلفي HNSW الأصليين، و FAISS . [ 7 ] تشمل قواعد البيانات وأنظمة البحث التي توثّق دعم HNSW كلاً من Apache Lucene و Chroma و ClickHouse و DuckDB و MariaDB و Milvus و pgvector و Qdrant و Redis . [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ]

انظر أيضاً

مراجع

  1. 1 2 3 4 5 مالكوف، يوري أ؛ ياشونين، ديمتري أ (1 أبريل 2020). "بحث فعال وقوي عن أقرب جار تقريبي باستخدام رسوم بيانية هرمية قابلة للتنقل في عالم صغير". معاملات IEEE في تحليل الأنماط والذكاء الآلي . 42 (4): 824-836 . arXiv : 1603.09320 . doi : 10.1109/TPAMI.2018.2889473 . PMID 30602420 . 
  2. كلاينبرغ، جون م. (24 أغسطس 2000). "الملاحة في عالم صغير". مجلة نيتشر . 406 : 845. doi : 10.1038/35022643 .
  3. فراينيو، بيير؛ جافوي، سيريل؛ كوسوفسكي، أدريان؛ ليبهار، إيمانويل؛ لوتكر، تسفي (17 مايو 2009). "مخططات تعزيز شاملة لإمكانية التنقل في الشبكة". علوم الحاسوب النظرية . 410 ( 21-23 ): 1970-1981 . doi : 10.1016/j.tcs.2008.12.061 .
  4. مالكوف، يوري؛ بونومارينكو، ألكسندر؛ لوغفينوف، أندريه؛ كريلوف، فلاديمير (2012). "خوارزمية موزعة قابلة للتوسع لمسألة البحث التقريبي عن أقرب جار في فضاءات مترية عامة عالية الأبعاد" . في نافارو، غونزالو؛ بيستوف، فلاديمير (محرران). البحث عن التشابه وتطبيقاته . سلسلة محاضرات في علوم الحاسوب . المجلد 7404. برلين، هايدلبرغ: سبرينغر. الصفحات 132-147 . doi : 10.1007/978-3-642-32153-5_10 . ISBN   978-3-642-32153-5.
  5. أومولر، مارتن؛ برناردسون، إريك؛ فيثفول، ألكسندر (2017). "معايير ANN: أداة قياس أداء لخوارزميات الجوار الأقرب التقريبي" . في: بيكس، كريستيان؛ بوروتا، فيليكس؛ كروجر، بير؛ سيدل، توماس (محررون). البحث عن التشابه وتطبيقاته . سلسلة محاضرات في علوم الحاسوب . المجلد 10609. تشام: دار نشر سبرينغر الدولية. الصفحات 34-49 . arXiv : 1807.05614 . doi : 10.1007/978-3-319-68474-1_3 . ISBN   978-3-319-68474-1.أُعيد نشرها بعنوان: أومولر، مارتن؛ برناردسون، إريك؛ فيثفول، ألكسندر (2020). "معايير ANN: أداة قياس أداء لخوارزميات الجوار الأقرب التقريبية" . نظم المعلومات . 87 : 101374. arXiv : 1807.05614 . doi : 10.1016/j.is.2019.02.006 .
  6. إنديك، بيوتر؛ شو، هايك (2023). أسوأ أداء لتطبيقات البحث التقريبي عن أقرب جار: الضمانات والقيود . المؤتمر السابع والثلاثون لأنظمة معالجة المعلومات العصبية. arXiv : 2310.19126 .
  7. nmslib/hnswlib ، nmslib، 18-03-2024 ، تم الاسترجاع في 19-03-2024
  8. "وثائق كروما" . docs.trychroma.com . تم الاطلاع عليه بتاريخ 19-03-2025 .
  9. "البحث الدقيق والتقريبي عن أقرب جار في كليك هاوس" . clickhouse.com . 21 أبريل 2025. تم الاطلاع عليه بتاريخ 21-04-2025 .
  10. "البحث عن تشابه المتجهات في قاعدة بيانات DuckDB" . duckdb.org . 3 مايو 2024. تم الاطلاع عليه بتاريخ 20 فبراير 2025 .
  11. "MariaDB Vector" . MariaDB.org . تم الاطلاع عليه بتاريخ 30-07-2024 .
  12. ويناستوان، روبن (14 مايو 2024). "كيفية اختيار فهرس متجه في مثيل ميلفوس الخاص بك: دليل مرئي" . zilliz.com . تم الاسترجاع في 10 أكتوبر 2024 .
  13. "مستودع pgvector" . github.com/pgvector . تم الاطلاع عليه بتاريخ 19-03-2025 .
  14. "وثائق Qdrant" . qdrant.tech/ . تم الاطلاع عليه بتاريخ 19-03-2025 .
  15. "بحث المتجهات في Redis" . redis.io/ . تم الاطلاع عليه بتاريخ 25-06-2025 .