HyperAIHyperAI

Command Palette

Search for a command to run...

إصلاح-الكسر-إصلاح: التعلم غير المشرف لإصلاح البرامج

Michihiro Yasunaga Percy Liang

الملخص

نعتبر مهام الإصلاح: مع وجود مقيم (مثل المترجم) يقيّم جودة المدخل، الهدف هو تدريب إصلاح يقوم بتحويل مثال سيء (مثل الكود الذي يحتوي على أخطاء نحوية) إلى مثال جيد (مثل الكود الخالي من الأخطاء النحوية). ومع ذلك، فإن الأعمال الحالية تنشئ بيانات التدريب التي تتكون من أزواج (سيء، جيد) عن طريق تشويه الأمثلة الجيدة باستخدام تقنيات تقريبية (مثل حذف الرموز). ومع ذلك، فإن الإصلاحات التي تم تدريبها على هذه البيانات المولدة بشكل صناعي لا تتنبأ بشكل جيد بالتوزيع الحقيقي للأدخال السيئة. لسد هذا الفجوة، نقترح نهجًا جديدًا للتدريب يُعرف باسم "كسره وإصلاحه" (BIFI)، والذي يعتمد على فكرتين رئيسيتين: (i) نستخدم المقيم لفحص خرج الإصلاح على الأدخال السيئة الحقيقية وإضافة الأخرج الجيدة (المصححة) إلى بيانات التدريب، و(ii) نتدرب على كاسر لإنتاج كود سيء واقعي من كود جيد. بناءً على هاتين الفكرتين، نقوم بتحديث الكاسر والإصلاح بشكل متكرر بينما نستخدمهما معًا لإنتاج المزيد من البيانات المتزامنة. قمنا بتقييم BIFI على مجموعتي بيانات لإصلاح الكود: GitHub-Python، وهي مجموعة بيانات جديدة نقدمها حيث الهدف هو إصلاح كود Python الذي يحتوي على أخطاء في شجرة التحليل النحوي؛ وDeepFix، حيث الهدف هو إصلاح كود C الذي يحتوي على أخطاء في المترجم. حقق BIFI أفضل النتائج بالمقارنة مع الأساليب الموجودة، حيث بلغت دقة الإصلاح 90.5٪ في GitHub-Python (+28.5٪) و71.7٪ في DeepFix (+5.6٪). ومن الجدير بالذكر أن BIFI لا يتطلب أي بيانات مشمولة بالتصنيف؛ نأمل أن يكون نقطة انطلاق قوية للتعلم غير المنظور لمجموعة متنوعة من مهام الإصلاح.


بناء الذكاء الاصطناعي بالذكاء الاصطناعي

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

البرمجة التعاونية باستخدام الذكاء الاصطناعي
وحدات GPU جاهزة للعمل
أفضل الأسعار

HyperAI Newsletters

اشترك في آخر تحديثاتنا
سنرسل لك أحدث التحديثات الأسبوعية إلى بريدك الإلكتروني في الساعة التاسعة من صباح كل يوم اثنين
مدعوم بواسطة MailChimp