Original Title: Task Generalisation in Multi-Agent Reinforcement Learning
Source: ifaamas.org
Disclaimer: Summary generated by AI based on the provided document. Please refer to the original paper for full scientific accuracy.

ការធ្វើទូទៅកម្មភារកិច្ចនៅក្នុងការរៀនពង្រឹងភ្នាក់ងារច្រើន

ចំណងជើងដើម៖ Task Generalisation in Multi-Agent Reinforcement Learning

អ្នកនិពន្ធ៖ Lukas Schäfer (University of Edinburgh)

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

វិស័យសិក្សា៖ Machine Learning

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

បញ្ហា (The Problem)៖ ឯកសារនេះដោះស្រាយបញ្ហានៃការរៀនពង្រឹងភ្នាក់ងារច្រើន (MARL) ដែលភ្នាក់ងារតែងតែពឹងផ្អែកខ្លាំងពេកទៅលើបរិស្ថានហ្វឹកហាត់តែមួយ (overfit) ដែលធ្វើឱ្យពួកវាមិនអាចបត់បែន ឬធ្វើទូទៅកម្ម (generalise) ទៅនឹងបរិស្ថានថ្មីដែលស្រដៀងគ្នាបាន។

វិធីសាស្ត្រ (The Methodology)៖ ការស្រាវជ្រាវនេះបានធ្វើការពិសោធន៍បឋមនៅក្នុងបរិស្ថានឃ្លាំងមនុស្សយន្តច្រើន (multi-robot warehouse) ដោយប្រើប្រាស់ក្បួនដោះស្រាយ IA2C ដើម្បីវាយតម្លៃកម្រិតនៃការធ្វើទូទៅកម្មរបស់ភ្នាក់ងារ។

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

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

វិធីសាស្ត្រ (Method) គុណសម្បត្តិ (Pros) គុណវិបត្តិ (Cons) លទ្ធផលគន្លឹះ (Key Result)
IA2C Zero-shot with Absolute Coordinates
ការប្រើប្រាស់ IA2C សម្រាប់ការធ្វើទូទៅកម្ម (Zero-shot) ដោយប្រើកូអរដោនេដាច់ខាត
ងាយស្រួលក្នុងការអនុវត្ត និងមានទំហំទិន្នន័យសង្កេត (observation space) សាមញ្ញ។ បរាជ័យទាំងស្រុងក្នុងការធ្វើទូទៅកម្មទៅកាន់ឃ្លាំងដែលមានទម្រង់ខុសពីដើម ដោយសារភ្នាក់ងារជួបប្រទះទិន្នន័យក្រៅតំបន់ហ្វឹកហាត់ (out-of-distribution)។ ទទួលបានផលចំណេញ (returns) ស្មើនឹងសូន្យ នៅពេលអនុវត្តក្នុងឃ្លាំងថ្មី។
IA2C Zero-shot with Local Image Encoding + DR + GRU
ការប្រើប្រាស់ IA2C ជាមួយការបំប្លែងរូបភាពមូលដ្ឋាន រួមជាមួយ Domain Randomisation និងបណ្ដាញ GRU
មានសមត្ថភាពប្រសើរជាងមុនក្នុងការធ្វើទូទៅកម្មចំពោះឃ្លាំងដែលមានទំហំប្រហាក់ប្រហែលគ្នា ហើយបណ្តាញ GRU ជួយចងចាំព័ត៌មានដែលមើលមិនឃើញផ្ទាល់ (partial observability)។ នៅតែបរាជ័យដដែលនៅពេលផ្ទេរភ្នាក់ងារទៅកាន់ឃ្លាំងដែលមានទំហំធំជាង និងមានប្លង់ខុសគ្នាខ្លាំង។ ដំណើរការបានល្អលើបរិស្ថានស្រដៀងគ្នា ប៉ុន្តែភ្នាក់ងារគាំង (stuck) និងមិនអាចដំណើរការបានក្នុងឃ្លាំងធំ។
Pretraining followed by Finetuning
ការហ្វឹកហាត់ម៉ូដែលជាមុនសិន (Pretraining) រួចទើបយកមកកែសម្រួលបន្ថែម (Finetuning)
ភ្នាក់ងារអាចទាញយកចំណេះដឹងដែលបានរៀនពីមុនមកប្រើប្រាស់ ដែលជួយឱ្យការរៀនក្នុងបរិស្ថានថ្មីមានល្បឿនលឿន និងមានប្រសិទ្ធភាពខ្ពស់។ ទាមទារការរក្សាទុកម៉ូដែលចាស់ និងចំណាយពេលហ្វឹកហាត់បន្ថែម (ទោះបីជាតិចជាងការហ្វឹកហាត់ពីដំបូងក៏ដោយ)។ ទទួលបានផលចំណេញខ្ពស់ខ្លាំងបន្ទាប់ពីហ្វឹកហាត់បន្ថែម 20 លានជំហាន បើធៀបនឹងការហ្វឹកហាត់ពីដំបូងចំនួន 100 លានជំហាន។

ការចំណាយលើធនធាន (Resource Cost)៖ ឯកសារមិនបានបញ្ជាក់លម្អិតអំពីតម្រូវការផ្នែករឹង (Hardware) នោះទេ ប៉ុន្តែការហ្វឹកហាត់ភ្នាក់ងារចំនួនរាប់សិបលានជំហាន (50M-100M timesteps) ទាមទារថាមពលកុំព្យូទ័រខ្ពស់យ៉ាងពិតប្រាកដ។

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

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

ការសិក្សានេះត្រូវបានធ្វើឡើងទាំងស្រុងនៅក្នុងបរិស្ថានក្លែងធ្វើនិម្មិត (Simulated 2D Gridworld) ឈ្មោះ RWARE ដែលមិនមានបញ្ចូលនូវរូបវិទ្យាពិតប្រាកដ កំហុសសេនស័រ ឬការរំខានពីមនុស្សឡើយ។ សម្រាប់ប្រទេសកម្ពុជា ការអនុវត្តនេះដោយផ្ទាល់ទៅលើមនុស្សយន្តពិតក្នុងរោងចក្រ នឹងជួបប្រទះបញ្ហាគម្លាតរវាងការក្លែងធ្វើនិងការពិត (Sim-to-Real gap) ដែលតម្រូវឱ្យមានការកែសម្រួលបន្ថែមយ៉ាងប្រុងប្រយ័ត្ន។

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

បច្ចេកវិទ្យានៃការសម្របសម្រួលមនុស្សយន្តច្រើននេះ មានសក្តានុពលខ្ពស់សម្រាប់ការធ្វើស្វ័យប្រវត្តិកម្មឃ្លាំងទំនិញ និងភស្តុភារនៅក្នុងប្រទេសកម្ពុជានាពេលអនាគត។

ការប្រើប្រាស់វិធីសាស្ត្រ Finetuning អាចជួយសហគ្រាសកម្ពុជាសន្សំសំចៃពេលវេលា និងធនធានកុំព្យូទ័របានយ៉ាងច្រើន នៅពេលពង្រីកប្រតិបត្តិការឃ្លាំងរបស់ពួកគេពីតូចទៅធំ ដោយមិនចាំបាច់ហ្វឹកហាត់ប្រព័ន្ធបញ្ញាសិប្បនិម្មិតពីដំបូងឡើងវិញ។

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

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

  1. ស្វែងយល់ពីមូលដ្ឋានគ្រឹះនៃ RL និង MARL: និស្សិតគួរសិក្សាពីទ្រឹស្តីនៃការរៀនពង្រឹង (Reinforcement Learning) ដោយចាប់ផ្តើមពី Single-Agent រួចឈានទៅ Multi-Agent។ គួរប្រើប្រាស់បណ្ណាល័យកូដដូចជា OpenAI Gym និង PettingZoo ដើម្បីអនុវត្តកូដសាមញ្ញៗជាមុនសិន។
  2. ដំឡើងនិងធ្វើតេស្តបរិស្ថាន RWARE: ទាញយកកូដប្រភពនៃបរិស្ថានក្លែងធ្វើឃ្លាំងមនុស្សយន្ត (Multi-Robot Warehouse) ពី GitHub (uoe-agents/robotic-warehouse) មករត់លើកុំព្យូទ័ររបស់អ្នក ដើម្បីស្វែងយល់ពីរបៀបដែលទិន្នន័យសង្កេត និងរង្វាន់ត្រូវបានគណនា។
  3. អនុវត្តក្បួនដោះស្រាយ Actor-Critic: សរសេរកូដក្បួនដោះស្រាយ A2C ឬ PPO ដោយប្រើប្រាស់ PyTorch ឬបណ្ណាល័យដែលស្រាប់ដូចជា Ray RLlib ដើម្បីហ្វឹកហាត់ភ្នាក់ងារ (Agents) ឱ្យចេះដើរប្រមូលទំនិញក្នុងឃ្លាំងតូច (ទំហំ 5x5)។
  4. ពិសោធន៍ជាមួយការធ្វើ Transfer Learning និង Finetuning: រក្សាទុក (Save) ម៉ូដែលដែលបានហ្វឹកហាត់រួចក្នុងឃ្លាំងតូច រួចផ្ទុកវាឡើងវិញ (Load weights) ទៅក្នុងបរិស្ថានឃ្លាំងធំជាងមុន ហើយបន្តការហ្វឹកហាត់ (Finetune) ដើម្បីប្រៀបធៀបលទ្ធផលជាមួយនឹងការហ្វឹកហាត់ម៉ូដែលថ្មីពីចំណុចសូន្យ។
  5. ផ្សារភ្ជាប់ការក្លែងធ្វើទៅនឹងរូបវិទ្យាពិត (Sim-to-Real): ដើម្បីត្រៀមខ្លួនក្នុងការអនុវត្តជាក់ស្តែងនៅកម្ពុជា គួរចាប់ផ្តើមសិក្សាពី ROS (Robot Operating System) និងកម្មវិធីក្លែងធ្វើ 3D ដែលមានរូបវិទ្យាពិតប្រាកដដូចជា Gazebo ដើម្បីសាកល្បងបញ្ជូនគោលការណ៍ដែលបានរៀនទៅកាន់រ៉ូបូតជាក់ស្តែង។

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

ពាក្យបច្ចេកទេស ការពន្យល់ជាខេមរភាសា (Khmer Explanation) និយមន័យសាមញ្ញ (Simple Definition)
Multi-agent reinforcement learning (MARL) ការរៀនពង្រឹងដែលភ្នាក់ងារ (បញ្ញាសិប្បនិម្មិត) ជាច្រើនធ្វើការរៀនសូត្រក្នុងពេលតែមួយតាមរយៈការសាកល្បងខុសត្រូវនៅក្នុងបរិស្ថានជុំវិញខ្លួន និងតាមរយៈការធ្វើអន្តរកម្មជាមួយភ្នាក់ងារដទៃទៀត។ ដូចជាក្រុមកីឡាករបាល់ទាត់រៀនលេងជាមួយគ្នា ដោយម្នាក់ៗរៀនពីកំហុសខ្លួនឯងផង និងរៀនសហការជាមួយមិត្តរួមក្រុមផង។
zero-shot generalisation សមត្ថភាពរបស់ម៉ូដែល AI ក្នុងការដោះស្រាយបញ្ហាថ្មី ឬធ្វើការក្នុងបរិស្ថានថ្មីដែលវាមិនធ្លាប់ជួបប្រទះពីមុនមកទាល់តែសោះ ដោយមិនចាំបាច់មានការហ្វឹកហាត់បន្ថែមទៅលើទិន្នន័យថ្មីនោះឡើយ។ ដូចជាសិស្សដែលចេះបូកលេខដោយប្រើផ្លែប៉ោម ហើយអាចយកចំណេះដឹងនោះទៅបូកលេខដោយប្រើផ្លែក្រូចបានភ្លាមៗដោយមិនបាច់រៀនសារជាថ្មី។
finetuning ដំណើរការនៃការយកម៉ូដែល AI ដែលបានហ្វឹកហាត់រួចម្ដងមកហើយ (pre-trained) ទៅហ្វឹកហាត់បន្ថែមបន្តិចបន្តួចនៅលើទិន្នន័យ ឬបរិស្ថានថ្មី ដើម្បីឱ្យវាអាចសម្របខ្លួនបានលឿននិងមានប្រសិទ្ធភាពខ្ពស់។ ដូចជាជាងជួសជុលឡានដែលពូកែខាងឡានសាំង ទៅរៀនវគ្គខ្លីបន្ថែមដើម្បីចេះជួសជុលឡានអគ្គិសនី ដោយផ្អែកលើចំណេះដឹងមូលដ្ឋានដែលមានស្រាប់។
domain randomisation (DR) បច្ចេកទេសហ្វឹកហាត់ AI ដោយផ្លាស់ប្តូរលក្ខខណ្ឌបរិស្ថានជានិច្ច (ដូចជាប្តូរពណ៌ ទំហំ ឬប្លង់) ដើម្បីឱ្យ AI នោះរៀនមិនប្រកាន់យកតែទម្រង់ណាមួយ និងមានភាពបត់បែនខ្ពស់ពេលជួបស្ថានភាពជាក់ស្តែងផ្សេងៗ។ ដូចជាការហ្វឹកហាត់ទាហានឱ្យចេះប្រយុទ្ធទាំងក្នុងព្រៃ លើភ្នំ ក្នុងទឹក និងទីក្រុង ដើម្បីឱ្យពួកគេមានភាពបត់បែន និងត្រៀមខ្លួនរួចរាល់សម្រាប់គ្រប់ស្ថានភាព។
partially-observable stochastic games (POSG) ទម្រង់គណិតវិទ្យាដែលពិពណ៌នាពីបរិស្ថានដែលភ្នាក់ងារនីមួយៗមើលឃើញតែផ្នែកខ្លះនៃពិភពលោក (មិនដឹងព័ត៌មានទាំងអស់គ្រប់ជ្រុងជ្រោយ) ហើយលទ្ធផលនៃសកម្មភាពណាមួយតែងមានលក្ខណៈចៃដន្យ។ ដូចជាការលេងបៀរដែលអ្នកមើលឃើញតែសន្លឹកបៀរក្នុងដៃខ្លួនឯង និងមិនដឹងថាអ្នកដទៃមានបៀរអ្វីខ្លះ ហើយរាល់ការចាប់បៀរថ្មីគឺពឹងផ្អែកលើភាពចៃដន្យ (សំណាង)។
Advantage Actor-Critic (IA2C) ក្បួនដោះស្រាយដែលបែងចែក AI ជាពីរផ្នែក៖ មួយជា "តួអង្គ (Actor)" សម្រាប់សម្រេចចិត្តធ្វើសកម្មភាព និងមួយទៀតជា "អ្នករិះគន់ (Critic)" សម្រាប់វាយតម្លៃថាសកម្មភាពនោះល្អកម្រិតណា ដើម្បីជួយឱ្យការរៀនមានភាពប្រសើរឡើង។ ដូចជាអ្នកកំពុងហាត់ច្រៀង (តួអង្គ) ដោយមានគ្រូបង្វឹកម្នាក់នៅក្បែរចាំស្តាប់និងប្រាប់ថាអ្នកច្រៀងត្រូវចង្វាក់ឬអត់ (អ្នករិះគន់)។
Meta RL ការរៀនពង្រឹងកម្រិតខ្ពស់ ដែល AI មិនត្រឹមតែរៀនពីរបៀបដោះស្រាយបញ្ហាមួយប៉ុណ្ណោះទេ តែវា "រៀនពីរបៀបរៀន" ដើម្បីឱ្យវាអាចចាប់យកចំណេះដឹងថ្មីៗបានលឿននៅពេលជួបភារកិច្ចថ្មី (Few-shot learning)។ ដូចជាសិស្សដែលមិនត្រឹមតែទន្ទេញមេរៀន តែយល់ពី "វិធីសាស្ត្រនៃការរៀនសូត្រ" ដែលធ្វើឱ្យគេអាចរៀនមុខវិជ្ជាថ្មីអ្វីក៏ឆាប់ចេះ។
Gated Recurrent Networks (GRU) ប្រភេទបណ្តាញសរសៃប្រសាទសិប្បនិម្មិតដែលមានសមត្ថភាពចងចាំព័ត៌មានពីអតីតកាល និងប្រើប្រាស់វាសម្រាប់ការសម្រេចចិត្តនៅពេលអនាគត ដែលស័ក្តិសមបំផុតសម្រាប់ដំណើរការទិន្នន័យដែលមានលំដាប់លំដោយ។ ដូចជាអ្នកអានសៀវភៅរឿងប្រលោមលោកដែលត្រូវចងចាំសាច់រឿងពីជំពូកមុនៗ ទើបអាចយល់អត្ថន័យនៃសាច់រឿងនៅជំពូកបន្ទាប់បាន។

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

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

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