تنفيذ Pytorch للشبكات العلائقية - وحدة شبكة عصبية بسيطة للتفكير العلائقي
تم تنفيذها واختبارها على مهمة فرز clevr.
يعد Sort-Of-Clevr نسخة مبسطة من Clevr. هذا يتكون من 10000 صورة و 20 سؤالًا (10 أسئلة علائقية و 10 أسئلة غير علمية) لكل صورة. يتم تعيين 6 ألوان (أحمر ، أخضر ، أزرق ، برتقالي ، رمادي ، أصفر) للشكل الذي تم اختياره عشوائيًا (مربع أو دائرة) ، ويوضع في صورة.
تتكون الأسئلة غير العلمية من 3 أنواع فرعية:
أطروحات الأسئلة "غير علمية" لأن الوكيل يحتاج فقط إلى التركيز على كائن معين.
تتكون الأسئلة العلائقية من 3 أنواع فرعية:
هذه الأسئلة "علائقية" لأن العميل يجب أن ينظر في العلاقات بين الكائنات.
يتم تشفير الأسئلة في متجه بحجم 11: 6 لمتجه واحد للحمل لبعض الألوان بين 6 ألوان ، 2 لمتجه واحد من الأسئلة العلائقية/غير العلمية. 3 لمتجه واحد من 3 أنواع فرعية.

أي ، مع عرض صورة العينة ، يمكننا إنشاء أسئلة غير علمية مثل:
والأسئلة العلائقية:
قم بإنشاء بيئة من environment.yml .
$ conda env create -f environment.yml
تنشيط البيئة
$ conda activate RN3
إذا كنت لا تستخدم Conda تثبيت Python 3 بشكل طبيعي واستخدم pip install لتثبيت التبعيات المتبقية. يمكن العثور على قائمة التبعيات في ملف environment.yml .
$ ./run.sh
أو
$ python sort_of_clevr_generator.py
لإنشاء مجموعة بيانات نوع clevr و
$ python main.py
لتدريب نموذج RN الثنائي. بدلا من ذلك ، الاستخدام
$ python main.py --relation-type=ternary
لتدريب نموذج RN الثلاثية.
في الورقة الأصلية ، استخدمت مهمة فرز clevr نموذجًا مختلفًا من مهمة CLEVR. ومع ذلك ، نظرًا لأن النموذج المستخدم CLEVR يتطلب وقتًا أقل بكثير للحساب (الشبكة أصغر بكثير) ، يتم استخدام هذا النموذج لمهمة فرز CLEVR.
| الشبكات العلائقية (العصر العشرين) | CNN + MLP (بدون RN ، الحقبة 100) | |
|---|---|---|
| السؤال غير العلمي | 99 ٪ | 66 ٪ |
| سؤال علائقي | 89 ٪ | 66 ٪ |
حدث CNN + MLP في التكلفة لبيانات التدريب.
تُظهر الشبكات العلائقية نتائج أفضل بكثير في أسئلة علائقية وأسئلة غير علمية.
GNGDB يسرع النموذج بمقدار 10 مرات.