1 poin oleh GN⁺ 2025-03-24 | Belum ada komentar. | Bagikan ke WhatsApp
  • Scallop adalah bahasa deklaratif untuk memasukkan penalaran simbolik berbasis aturan logika ke dalam aplikasi AI, dan berbasis pada Datalog, bahasa kueri basis data relasional
  • Solver-nya mendukung penalaran diskret, probabilistik, dan terdiferensiasi, sehingga metode penalaran dapat dipilih sesuai kebutuhan aplikasi
  • Melalui binding Python, modul penalaran logika dapat dimasukkan ke dalam program, dan dapat diintegrasikan dengan pipeline machine learning PyTorch yang sudah ada
  • Dalam tugas visi dan NLP, pendekatannya adalah menyusun bersama komponen neural yang dibuat oleh CNN atau Transformer dengan komponen aturan logika
  • Menyediakan contoh end-to-end yang mempelajari komponen neural dan aturan secara bersama, seperti penalaran visual CLEVR, penentuan konektivitas Pathfinder, dan evaluasi ekspresi matematika tulisan tangan

Komponen inti Scallop

  • Language

    • Scallop adalah bahasa deklaratif untuk menangani penalaran simbolik dalam aplikasi AI
    • Dasarnya adalah Datalog, bahasa kueri berbasis aturan logika untuk basis data relasional
  • Solver

    • Scallop adalah solver Datalog yang dapat diperluas
    • Mendukung mode penalaran diskret, penalaran probabilistik, dan penalaran terdiferensiasi
    • Setiap mode penalaran dapat dikonfigurasi agar sesuai dengan kebutuhan berbagai aplikasi AI
  • Framework

    • Menyediakan binding yang memungkinkan modul penalaran logika digunakan di dalam program Python
    • Dapat terintegrasi secara mendalam dengan pipeline machine learning PyTorch yang sudah ada

Contoh aplikasi

  • CLEVR adalah tugas penalaran visual yang menjawab pertanyaan seperti “ada berapa objek berwarna biru?” terhadap objek 3D sederhana di dalam gambar
    • Komponen neural menghasilkan scene graph dari gambar dan programmatic query yang merepresentasikan pertanyaan
    • Komponen penalaran menetapkan operasi seperti memilih, membandingkan, dan menghitung objek berdasarkan atribut tertentu sebagai aturan logika
    • Scallop mengintegrasikan komponen-komponen ini dalam satu framework umum dan memungkinkan pembelajaran end-to-end
  • Pathfinder adalah tugas penalaran konektivitas jarak jauh yang menentukan apakah dua titik terhubung oleh garis putus-putus dalam gambar hitam-putih berisi dua titik dan garis putus-putus
    • Dapat dibangun dengan arsitektur neural sederhana untuk mendeteksi titik dan dash, serta beberapa baris aturan logika Scallop
    • Aturan yang ditampilkan menjadikan dash(x, y) sebagai jalur, lalu menghubungkan path(x, z), dash(z, y) secara rekursif untuk menentukan is_connected()
    • Konfigurasi ini menghasilkan performa lebih tinggi daripada Transformer terbaru
  • Evaluasi ekspresi matematika tulisan tangan adalah tugas mengenali urutan simbol tulisan tangan yang terdiri dari digit 0 sampai 9 dan operasi aritmetika sederhana, lalu menghitung ekspresinya
    • Contohnya melihat 1 + 3 / 5 sebagai input dan menghitung nilai hasil 1.6
    • Dengan Scallop, parser tata bahasa bebas konteks lengkap yang dapat mem-parse input probabilistik dapat dibuat
    • Parser dan evaluator dapat ditulis dalam 5 baris kode Scallop
    • Program ini dapat dilatih secara end-to-end bersama model neural pengenalan simbol individual, dan setelah dilatih akan menemukan ekspresi yang paling mungkin serta mengembalikan hasil evaluasinya

Belum ada komentar.

Belum ada komentar.