• Scallop AI applications में logic rule-based symbolic reasoning जोड़ने के लिए एक declarative भाषा है, जो relational database query language Datalog पर आधारित है
  • इसका solver discrete, probabilistic, और differentiable reasoning को support करता है, इसलिए application की ज़रूरत के अनुसार reasoning का तरीका चुना जा सकता है
  • Python bindings के ज़रिए प्रोग्राम के भीतर logic reasoning modules जोड़े जा सकते हैं, और इन्हें मौजूदा PyTorch machine learning pipeline के साथ integrate किया जा सकता है
  • यह vision और NLP कार्यों में CNN या Transformer द्वारा बने neural components को logic rule components के साथ मिलाकर संयोजित करने का तरीका है
  • यह CLEVR visual reasoning, Pathfinder connectivity detection, और handwritten equation evaluation जैसे neural components और rules को साथ में सीखने वाले end-to-end उदाहरण प्रदान करता है

Scallop के मुख्य घटक

  • Language

    • Scallop AI applications में symbolic reasoning को संभालने के लिए एक declarative भाषा है
    • इसका आधार relational database के लिए logic rule-based query language Datalog है
  • Solver

    • Scallop एक extensible Datalog solver है
    • यह discrete reasoning, probabilistic reasoning, और differentiable reasoning modes को support करता है
    • हर reasoning mode को अलग-अलग AI application requirements के अनुसार configure किया जा सकता है
  • Framework

    • यह Python प्रोग्राम के भीतर logic reasoning modules के उपयोग के लिए bindings प्रदान करता है
    • यह मौजूदा PyTorch machine learning pipelines के साथ गहराई से integrate हो सकता है

उदाहरण applications

  • CLEVR एक visual reasoning कार्य है, जिसमें image के भीतर सरल 3D objects के बारे में “नीले रंग की कितनी objects हैं?” जैसे सवालों के जवाब दिए जाते हैं
    • neural component image का scene graph और प्रश्न को दर्शाने वाली programmatic query बनाता है
    • reasoning component निर्दिष्ट attributes के आधार पर objects को चुनने, तुलना करने, और गिनने वाले operations को logic rules के रूप में निर्दिष्ट करता है
    • Scallop इन components को एक common framework में integrate करता है और end-to-end learning संभव बनाता है
  • Pathfinder एक long-range connectivity reasoning कार्य है, जिसमें दो बिंदुओं और dashed lines वाली black-and-white image में यह तय किया जाता है कि क्या दोनों बिंदु dashed line से जुड़े हैं
    • इसे points और dashes का पता लगाने वाली एक सरल neural architecture और Scallop logic rules की कुछ पंक्तियों से बनाया जा सकता है
    • दिए गए rules dash(x, y) को path मानते हैं, और recursive रूप से path(x, z), dash(z, y) को जोड़कर is_connected() का निर्धारण करते हैं
    • यह संरचना आधुनिक Transformer की तुलना में बेहतर performance देती है
  • handwritten equation evaluation एक ऐसा कार्य है, जिसमें 0 से 9 तक के अंक और सरल arithmetic operations से बनी handwritten symbol sequence को पहचानकर expression की गणना की जाती है
    • उदाहरण में 1 + 3 / 5 को input मानकर परिणाम 1.6 निकाला जाता है
    • Scallop के साथ probabilistic inputs को parse करने वाला पूरा context-free grammar parser बनाया जा सकता है
    • parser और evaluator को Scallop code की 5 पंक्तियों में लिखा जा सकता है
    • यह प्रोग्राम individual symbol recognition neural model के साथ end-to-end तरीके से train किया जा सकता है, और training के बाद सबसे अधिक संभावित expression खोजकर उसका evaluation result लौटाता है

अभी कोई टिप्पणी नहीं है.

अभी कोई टिप्पणी नहीं है.