Original Title: Deep Learning with Relational Logic Representations
Source: github.com
Disclaimer: Summary generated by AI based on the provided document. Please refer to the original paper for full scientific accuracy.

ការរៀនស៊ីជម្រៅជាមួយតំណាងតក្កវិជ្ជាទំនាក់ទំនង

ចំណងជើងដើម៖ Deep Learning with Relational Logic Representations

អ្នកនិពន្ធ៖ Gustav Šír (Czech Technical University in Prague)

ឆ្នាំបោះពុម្ព៖ 2020

វិស័យសិក្សា៖ Artificial Intelligence

១. សេចក្តីសង្ខេបប្រតិបត្តិ (Executive Summary)

បញ្ហា (The Problem)៖ ម៉ូដែលរៀនស៊ីជម្រៅ (Deep learning models) បច្ចុប្បន្នភាគច្រើនត្រូវបានកំណត់ត្រឹមទិន្នន័យជាទម្រង់វ៉ិចទ័រ ឬតង់ស័រដែលមានទំហំថេរ (fixed-size tensors) ដែលធ្វើឱ្យមានការលំបាកក្នុងការរៀនដោយផ្ទាល់ពីទិន្នន័យទំនាក់ទំនងស្មុគស្មាញ (relational data) និងចំណេះដឹងក្រាហ្វិកដូចជាមូលដ្ឋានទិន្នន័យ។

វិធីសាស្ត្រ (The Methodology)៖ ការសិក្សានេះណែនាំនូវក្របខ័ណ្ឌថ្មីមួយហៅថា បណ្ដាញសរសៃប្រសាទទំនាក់ទំនងដែលបានលើកឡើង (Lifted Relational Neural Networks - LRNNs) ដើម្បីភ្ជាប់ការរៀនស៊ីជម្រៅជាមួយតក្កវិជ្ជាទំនាក់ទំនង។

លទ្ធផលសំខាន់ៗ (The Verdict)៖

២. ការវិភាគលើប្រសិទ្ធភាព និងដែនកំណត់ (Performance & Constraints)

វិធីសាស្ត្រ (Method) គុណសម្បត្តិ (Pros) គុណវិបត្តិ (Cons) លទ្ធផលគន្លឹះ (Key Result)
Lifted Relational Neural Networks (LRNNs)
បណ្ដាញសរសៃប្រសាទទំនាក់ទំនងដែលបានលើកឡើង (LRNNs)
មានសមត្ថភាពរៀនដោយផ្ទាល់ពីទិន្នន័យដែលមានរចនាសម្ព័ន្ធស្មុគស្មាញ (Relational data) ខ្ពស់ជាងក្រាហ្វិកធម្មតា ដោយប្រើវិធានតក្កវិជ្ជា (Logic rules) ដែលអាចបកស្រាយបាន។ ទាមទារឱ្យអ្នកប្រើប្រាស់មានចំណេះដឹងផ្នែកសរសេរកូដតក្កវិជ្ជា (Logic Programming) និងមិនទាន់មានការគាំទ្រពេញលេញលើ GPU Batching ដូចគំរូទំនើបៗផ្សេងទៀត។ ទទួលបានកម្រិតភាពត្រឹមត្រូវខ្ពស់ជាងគំរូ SRL ដទៃទៀតលើទិន្នន័យម៉ូលេគុល និងមានល្បឿនបណ្តុះបណ្តាល (Training) លឿនជាងគំរូ PyG និង DGL ចន្លោះពី ២ ទៅ ១០ ដង លើ CPU សម្រាប់ទិន្នន័យតូចៗ។
Graph Neural Networks (GNNs via PyG/DGL)
បណ្ដាញសរសៃប្រសាទក្រាហ្វិក (ដោយប្រើ PyG ឬ DGL)
មានភាពលេចធ្លោខ្លាំងក្នុងការគណនាទិន្នន័យក្រាហ្វិកធំៗ ដោយសារមានការធ្វើឱ្យប្រសើរ (Optimization) ខ្ពស់សម្រាប់ការប្រើប្រាស់ Batching និង GPU។ អសមត្ថភាពក្នុងការរៀនពីរចនាសម្ព័ន្ធក្រាហ្វិកដែលស្មុគស្មាញខ្លាំង (កំណត់ដោយទ្រឹស្តី Weisfeiler-Lehman) និងពិបាកបញ្ចូលចំណេះដឹងពីអ្នកជំនាញ។ ទទួលបានកម្រិតភាពត្រឹមត្រូវប្រហាក់ប្រហែលនឹង LRNNs លើការធ្វើចំណាត់ថ្នាក់ទិន្នន័យក្រាហ្វិកស្តង់ដារ តែមានល្បឿនលឿនជាង LRNNs នៅពេលប្រើប្រាស់ Batching ខ្នាតធំលើ GPU។
Statistical Relational Learning (SRL/ILP - e.g., RDN-boost, kFOIL)
ការរៀនទំនាក់ទំនងតាមស្ថិតិ និងការសរសេរកម្មវិធីតក្កវិជ្ជាអាំងឌុចទីវ (RDN-boost, kFOIL)
ផ្តល់នូវតម្លាភាពខ្ពស់ និងសមត្ថភាពបង្កើតវិធានដែលអាចអានបានដោយមនុស្សយ៉ាងច្បាស់លាស់។ មានភាពលំបាកក្នុងការគណនា (Scalability issues) និងមិនអាចរៀនពីតំណាងវ៉ិចទ័រលាក់កំបាំង (Latent continuous embeddings) បានល្អដូចបណ្តាញសរសៃប្រសាទនោះទេ។ មានកម្រិតលទ្ធផលនៃការទស្សន៍ទាយ (Predictive accuracy) ទាបជាង LRNNs នៅក្នុងការសាកល្បងលើសំណុំទិន្នន័យគីមីសាស្ត្រ NCI ទាំង ៧៨ និងទិន្នន័យកីឡាបាល់ទាត់។

ការចំណាយលើធនធាន (Resource Cost)៖ ការអនុវត្តប្រព័ន្ធនេះទាមទារធនធានកុំព្យូទ័រល្មមសម្រាប់ការងារខ្នាតតូច ប៉ុន្តែទាមទារជំនាញកម្រិតខ្ពស់លើការគិតបែបតក្កវិជ្ជា និងបញ្ញាសិប្បនិមិត្ត។

៣. ការពិនិត្យសម្រាប់បរិបទកម្ពុជា/អាស៊ីអាគ្នេយ៍

ភាពលំអៀងនៃទិន្នន័យ (Data Bias)៖

ការសិក្សានេះប្រើប្រាស់សំណុំទិន្នន័យចំណេះដឹងទូទៅ (ឧ. ជីវវិទ្យា គីមីវិទ្យា ការប្រកួតបាល់ទាត់) ដែលមិនមានទំនោរលំអៀងទៅលើប្រជាសាស្ត្រមនុស្ស (Demographic bias) នោះទេ។ ទោះជាយ៉ាងណាក្តី ការពឹងផ្អែកលើសំណុំទិន្នន័យបស្ចិមប្រទេសមានន័យថាសម្រាប់កម្ពុជា យើងត្រូវប្រមូល និងរៀបចំទិន្នន័យមូលដ្ឋានចំណេះដឹង (Knowledge Base) ដោយខ្លួនឯងពីដំបូងដើម្បីទទួលបានលទ្ធផលជាក់ស្តែង។

លទ្ធភាពនៃការអនុវត្ត (Applicability)៖

វិធីសាស្ត្រនៃការបង្រួបបង្រួមចំណេះដឹងតាមរយៈវិធានតក្កវិជ្ជា និងបណ្តាញសរសៃប្រសាទនេះ មានសក្តានុពលខ្ពស់សម្រាប់ស្ថាប័នស្រាវជ្រាវ និងវិស័យបច្ចេកវិទ្យានៅកម្ពុជា។

សរុបមក LRNNs ជាឧបករណ៍ដ៏មានឥទ្ធិពលសម្រាប់ការដោះស្រាយបញ្ហាស្មុគស្មាញ ដែលទាមទារនូវការពន្យល់និងហេតុផលច្បាស់លាស់ (Explainable AI) ដែលស្របទៅនឹងតម្រូវការប្រព័ន្ធសម្រេចចិត្តនៅកម្ពុជា។

៤. ផែនការសកម្មភាពសម្រាប់និស្សិត (Actionable Roadmap)

ដើម្បីអនុវត្តតាមការសិក្សានេះ និស្សិតគួរអនុវត្តតាមជំហានខាងក្រោម៖

  1. ជំហានទី១៖ សិក្សាមូលដ្ឋានគ្រឹះនៃតក្កវិជ្ជា និងក្រាហ្វិក: និស្សិតត្រូវរៀនពីមូលដ្ឋាននៃការសរសេរកូដដោយប្រើ Prolog និងស្វែងយល់ពីទ្រឹស្តីក្រាហ្វិក (Graph Theory) ជាមុនសិន ដើម្បីងាយស្រួលយល់ពីទំនាក់ទំនងនៃទិន្នន័យ។
  2. ជំហានទី២៖ អនុវត្តជាមួយឧបករណ៍ Deep Learning ទំនើប: សាកល្បងបង្កើតគំរូ GNNs ដោយប្រើប្រាស់ PyTorch Geometric (PyG)Deep Graph Library (DGL) លើទិន្នន័យសាមញ្ញ ដើម្បីយល់ពីដំណើរការនៃការបញ្ជូនសាររវាងចំណុច (Message Passing)។
  3. ជំហានទី៣៖ សាកល្បងប្រើប្រាស់ក្របខ័ណ្ឌ LRNNs: ទាញយកប្រភពកូដចំហ NeuraLogic ពី GitHub មកដំឡើងជាភាសា Java ឬប្រើប្រាស់ Python Wrapper របស់វា ដើម្បីដំណើរការសាកល្បងលើទិន្នន័យគំរូដូចជាចំណាត់ថ្នាក់ម៉ូលេគុល ឬការទស្សន៍ទាយលទ្ធផលបាល់ទាត់។
  4. ជំហានទី៤៖ បង្កើតគម្រោងស្រាវជ្រាវផ្ទាល់ខ្លួនដោយប្រើទិន្នន័យក្នុងស្រុក: ប្រមូលទិន្នន័យក្នុងស្រុក (ឧទាហរណ៍៖ ទិន្នន័យកសិកម្ម ឬទិន្នន័យសាធារណៈ) រៀបចំជាទម្រង់មូលដ្ឋានចំណេះដឹងតាមរយៈ Neo4j ហើយអនុវត្ត LRNNs ដើម្បីបង្កើតប្រព័ន្ធទស្សន៍ទាយដែលអាចពន្យល់ពីហេតុផលបាន (Explainable Model)។

៥. វាក្យសព្ទបច្ចេកទេស (Technical Glossary)

ពាក្យបច្ចេកទេស ការពន្យល់ជាខេមរភាសា (Khmer Explanation) និយមន័យសាមញ្ញ (Simple Definition)
Lifted Relational Neural Networks (LRNNs) ជាក្របខ័ណ្ឌបញ្ញាសិប្បនិមិត្តដែលរួមបញ្ចូលគ្នារវាងការរៀនស៊ីជម្រៅ (Deep Learning) និងតក្កវិជ្ជាទំនាក់ទំនង (Relational Logic) ដែលអនុញ្ញាតឱ្យប្រព័ន្ធអាចរៀនពីទិន្នន័យដែលមានរចនាសម្ព័ន្ធស្មុគស្មាញ (ដូចជាក្រាហ្វ) ដោយប្រើប្រាស់វិធានតក្កវិជ្ជាជាពុម្ពសម្រាប់បង្កើតបណ្តាញសរសៃប្រសាទ។ ដូចជាការបង្រៀនកុំព្យូទ័រឱ្យចេះគិតរកហេតុផលបែបតក្កវិជ្ជាព្រមទាំងអាចរៀនស្គាល់លំនាំស្មុគស្មាញដូចខួរក្បាលមនុស្សក្នុងពេលតែមួយ។
Statistical Relational Learning (SRL) ជាអនុវិស័យមួយនៃការរៀនម៉ាស៊ីន (Machine Learning) ដែលផ្តោតលើការដោះស្រាយជាមួយទិន្នន័យដែលមានទំនាក់ទំនងគ្នាទៅវិញទៅមកដោយប្រើប្រាស់ស្ថិតិនិងប្រូបាប៊ីលីតេ ដើម្បីប៉ាន់ស្មានភាពមិនប្រាកដប្រជានៅក្នុងបណ្តាញទំនាក់ទំនង។ ដូចជាការទស្សន៍ទាយថាអ្នកអាចនឹងចូលចិត្តញ៉ាំអ្វី ដោយមើលលើចំណូលចិត្តរបស់មិត្តភក្តិជិតស្និទ្ធរបស់អ្នក (ទិន្នន័យមានទំនាក់ទំនងគ្នា)។
Graph Neural Networks (GNNs) ជាប្រភេទបណ្តាញសរសៃប្រសាទសិប្បនិមិត្តដែលត្រូវបានរចនាឡើងជាពិសេសដើម្បីដំណើរការទិន្នន័យដែលស្ថិតក្នុងទម្រង់ជាក្រាហ្វ (ឧ. បណ្តាញសង្គម ម៉ូលេគុល) ដោយរៀនពីទំនាក់ទំនងរវាងចំណុចនីមួយៗតាមរយៈការផ្លាស់ប្តូរព័ត៌មានជាមួយចំណុចជិតខាងវា។ ដូចជាការវាយតម្លៃអត្តចរិតរបស់មនុស្សម្នាក់ដោយសង្កេតមើលក្រុមមនុស្សដែលគាត់តែងតែដើរលេងជាមួយ។
Differentiable Logic Programming ជាការបំប្លែងកម្មវិធីតក្កវិជ្ជាបុរាណឱ្យទៅជាទម្រង់គណិតវិទ្យាដែលអាចធ្វើឌីផេរ៉ង់ស្យែលបាន ដែលអនុញ្ញាតឱ្យម៉ាស៊ីនអាចកែតម្រូវកំហុសនិងរៀនដោយស្វ័យប្រវត្តិតាមរយៈបច្ចេកទេស Gradient Descent របស់ការរៀនស៊ីជម្រៅ (Deep Learning)។ ដូចជាការបំប្លែងច្បាប់រឹងរូស (ត្រូវឬខុស) ឱ្យទៅជាកម្រិតនៃភាគរយ (ប្រាកដប្រជាប៉ុន្មានភាគរយ) ដើម្បីឱ្យកុំព្យូទ័រអាចកែតម្រូវចម្លើយវាបន្តិចម្តងៗរហូតដល់ត្រូវ។
Inductive Logic Programming (ILP) ជាវិធីសាស្ត្ររៀនម៉ាស៊ីនដែលប្រើប្រាស់តក្កវិជ្ជាលំដាប់ទីមួយ (First-Order Logic) ដើម្បីទាញយក (Induce) វិធានតក្កវិជ្ជាឬចំណេះដឹងទូទៅ ចេញពីសំណុំឧទាហរណ៍ទិន្នន័យនិងចំណេះដឹងផ្ទៃខាងក្រោយ។ ដូចជាក្មេងដែលសង្កេតឃើញសត្វស្លាបជាច្រើនចេះហោះ ហើយទាញសេចក្តីសន្និដ្ឋានជាច្បាប់ទូទៅថា "សត្វដែលមានស្លាបភាគច្រើនគឺចេះហោះ"។
First-Order Logic (FOL) ជាប្រព័ន្ធតក្កវិជ្ជាគណិតវិទ្យាដែលអាចឱ្យយើងសរសេរប្រយោគបង្ហាញពីទំនាក់ទំនងរវាងវត្ថុផ្សេងៗ ដោយប្រើប្រាស់សញ្ញាបញ្ជាក់បរិមាណ (Quantifiers) ដូចជា "ទាំងអស់" (∀) ឬ "មានខ្លះ" (∃)។ ជាភាសាមួយប្រភេទដែលម៉ាស៊ីនប្រើដើម្បីយល់ពីប្រយោគមានលក្ខខណ្ឌ ឧទាហរណ៍ "បើ A ជាឪពុក B ហើយ B ជាឪពុក C នោះ A ជាជីតារបស់ C"។
Latent Relational Structures ជារចនាសម្ព័ន្ធ ឬទំនាក់ទំនងលាក់កំបាំងរវាងទិន្នន័យដែលមិនត្រូវបានប្រាប់ឱ្យដឹងចំៗ ប៉ុន្តែប្រព័ន្ធបញ្ញាសិប្បនិមិត្តអាចរៀននិងទាញយកវាបានដោយស្វ័យប្រវត្តិតាមរយៈការវិភាគលើលំនាំរួម។ ដូចជាការសង្កេតឃើញក្រុមសិស្សដែលតែងតែអង្គុយជាមួយគ្នានៅម៉ោងចេញលេង ហើយសន្និដ្ឋានបានថាពួកគេជា "មិត្តភក្តិ" ទោះបីជាមិនមាននរណាប្រាប់ក៏ដោយ។
Propositionalization ជាបច្ចេកទេសបំប្លែងទិន្នន័យដែលមានរចនាសម្ព័ន្ធទំនាក់ទំនងស្មុគស្មាញ (Relational Data) ឱ្យទៅជាទម្រង់តារាងធម្មតា (Attribute-value vectors) ដើម្បីអាចប្រើប្រាស់ជាមួយក្បួនរៀនម៉ាស៊ីនបែបបុរាណ ដែលជារឿយៗតែងតែធ្វើឱ្យបាត់បង់ព័ត៌មានលម្អិត។ ដូចជាការយកសាច់រឿងប្រលោមលោកដ៏វែងមួយមកសង្ខេបជារបាយការណ៍ខ្លីៗ ដែលធ្វើឲ្យបាត់បង់នូវរសជាតិ និងសាច់រឿងលម្អិត។

៦. ប្រធានបទពាក់ព័ន្ធ (Further Reading)

អត្ថបទដែលបានបោះពុម្ពនៅលើ KhmerResearch ដែលទាក់ទងនឹងប្រធានបទនេះ៖

ប្រធានបទ និងសំណួរស្រាវជ្រាវដែលទាក់ទងនឹងឯកសារនេះ ដែលអ្នកអាចស្វែងរកបន្ថែម៖