Original Title: COMPARISON OF OPTIMIZATION TECHNIQUES BASED ON GRADIENT DESCENT ALGORITHM: A REVIEW
Source: www.researchgate.net
Disclaimer: Summary generated by AI based on the provided document. Please refer to the original paper for full scientific accuracy.

ការប្រៀបធៀបបច្ចេកទេសសុទិដ្ឋិកម្មដោយផ្អែកលើក្បួនដោះស្រាយ Gradient Descent៖ ការពិនិត្យឡើងវិញ

ចំណងជើងដើម៖ COMPARISON OF OPTIMIZATION TECHNIQUES BASED ON GRADIENT DESCENT ALGORITHM: A REVIEW

អ្នកនិពន្ធ៖ Saad Hikmat Haji (Duhok Polytechnic University, Iraq), Adnan Mohsin Abdulazeez (Duhok Polytechnic University, Iraq)

ឆ្នាំបោះពុម្ព៖ 2021, PalArch’s Journal Of Archaeology Of Egypt/Egyptology 18(4)

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

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

បញ្ហា (The Problem)៖ ឯកសារនេះដោះស្រាយបញ្ហានៃការជ្រើសរើសក្បួនដោះស្រាយសុទិដ្ឋិកម្ម (Optimization Algorithms) ដែលមានប្រសិទ្ធភាពបំផុតសម្រាប់បណ្តុះបណ្តាលម៉ូដែលរៀនស៊ីជម្រៅ (Deep Learning) ដើម្បីជៀសវាងការជាប់គាំងនៅចំណុចអប្បបរមាក្នុងតំបន់ (Local minima) និងបង្កើនល្បឿននៃការទាញចូល (Convergence)។

វិធីសាស្ត្រ (The Methodology)៖ ការសិក្សានេះប្រើប្រាស់វិធីសាស្ត្ររំលឹកឡើងវិញនូវអក្សរសិល្ប៍ (Literature Review) ដើម្បីប្រៀបធៀប និងវិភាគលើក្បួនដោះស្រាយ Gradient Descent (GD) ផ្សេងៗគ្នា។

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

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

វិធីសាស្ត្រ (Method) គុណសម្បត្តិ (Pros) គុណវិបត្តិ (Cons) លទ្ធផលគន្លឹះ (Key Result)
Gradient Descent (GD)
ការចុះតាមចំណោតមូលដ្ឋាន (Gradient Descent)
ប្រសិនបើអនុគមន៍មានលក្ខណៈប៉ោង (Convex) នោះវាអាចរកឃើញចំណុចល្អបំផុត (Global optimal) ប្រកបដោយស្ថិរភាព។ ល្អសម្រាប់ម៉ូដែលសាមញ្ញៗ។ ទាមទារការគណនាខ្ពស់ និងចំណាយពេលយូរ ព្រោះត្រូវប្រើទិន្នន័យទាំងអស់ក្នុងមួយជំហាន។ មានហានិភ័យក្នុងការជាប់គាំងនៅចំណុចអប្បបរមាក្នុងតំបន់ (Local minimum)។ ផ្តល់នូវគុណភាពនៃការទាញចូល (Convergency) បានល្អ ប៉ុន្តែល្បឿននៃការបណ្តុះបណ្តាលមានកម្រិតមធ្យមសម្រាប់ម៉ូដែលសាមញ្ញ និងយឺតសម្រាប់ម៉ូដែលស៊ាំញ៉ាំ។
Stochastic Gradient Descent (SGD)
ការចុះតាមចំណោតបែបចៃដន្យ (Stochastic Gradient Descent)
ចំណាយពេលគណនាតិចក្នុងមួយជំហាន ព្រោះមិនពឹងផ្អែកលើចំនួនទិន្នន័យសរុប។ អាចគេចផុតពីចំណុចអប្បបរមាក្នុងតំបន់បានល្អជាង GD។ ពិបាកក្នុងការកំណត់អត្រាសិក្សា (Learning rate) ឲ្យបានសមស្រប ហើយដំណើរការនៃការទាញចូលមានភាពរំញ័រខ្លាំង (Fluctuations)។ ទោះបីជាល្បឿននៃការបណ្តុះបណ្តាលអាចលឿនជាង GD តែវាទាមទារពេលវេលាយូរក្នុងការទាញចូលចំណុចល្អបំផុត (Global minimum)។
Adaptive Moment Estimation (Adam)
ការប៉ាន់ស្មានពេលវេលាសម្របតាមទិន្នន័យ (Adam)
មានដំណើរការល្អ និងមានស្ថិរភាពខ្ពស់។ ស័ក្តិសមបំផុតសម្រាប់ទិន្នន័យដែលមានលក្ខណៈស្តួចស្តើង (Sparse gradients) និងទិន្នន័យធំៗដែលមានវិមាត្រច្រើន។ ក្នុងលក្ខខណ្ឌមួយចំនួន វាអាចប្រឈមនឹងបញ្ហាមិនអាចទាញចូល (Cannot converge) ទៅកាន់ចំណុចអប្បបរមាបានល្អឥតខ្ចោះនោះទេ។ ផ្តល់នូវភាពជាក់លាក់ខ្ពស់ (រហូតដល់ 98.53% ក្នុងការធ្វើតេស្តផ្នែកវេជ្ជសាស្ត្រមួយចំនួន) និងមានល្បឿនបណ្តុះបណ្តាលលឿនសម្រាប់ម៉ូដែលស៊ាំញ៉ាំ។
Nesterov-Accelerated Adaptive Moment Estimation (Nadam)
បច្ចេកទេស Nadam (Adam បូកបញ្ចូលនឹង Nesterov Momentum)
រួមបញ្ចូលគុណសម្បត្តិនៃ Nesterov Momentum និង Adam ដែលជួយពន្លឿនការទាញចូលបានលឿន និងមានប្រសិទ្ធភាពជាង SGD ធម្មតា។ ស័ក្តិសមសម្រាប់ម៉ូដែលស្មុគស្មាញ។ ដូចគ្នានឹង Adam ដែរ យន្តការនេះអាចនឹងមិនទាញចូល (Converge) បានល្អនៅក្នុងកាលៈទេសៈជាក់លាក់មួយចំនួន។ ផ្តល់នូវលទ្ធផលល្អឥតខ្ចោះ និងមានស្ថិរភាពបំផុត (Stable performance) ទាំងអត្រានៃការទាញចូល និងល្បឿនបណ្តុះបណ្តាលធៀបនឹងបច្ចេកទេសផ្សេងៗទៀត។

ការចំណាយលើធនធាន (Resource Cost)៖ ទោះបីជាឯកសារមិនបានបញ្ជាក់លម្អិតពីផ្នែករឹង (Hardware) ក៏ដោយ ការអនុវត្តបច្ចេកទេស Optimization លើម៉ូដែល Deep Learning តែងតែទាមទារធនធានកុំព្យូទ័រខ្ពស់ និងទិន្នន័យធំ។

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

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

ការសិក្សានេះគឺជាការពិនិត្យឡើងវិញនូវអក្សរសិល្ប៍ (Literature Review) ដោយពឹងផ្អែកលើលទ្ធផលពីសំណុំទិន្នន័យអន្តរជាតិស្តង់ដារ (ដូចជា CIFAR-10) និងទិន្នន័យវេជ្ជសាស្ត្រ/អាកាសធាតុបរទេស។ សម្រាប់ប្រទេសកម្ពុជា ការខ្វះខាតទិន្នន័យក្នុងស្រុកដែលមានទំហំធំអាចធ្វើឱ្យការបណ្តុះបណ្តាលម៉ូដែលមិនទទួលបានប្រសិទ្ធភាពខ្ពស់ ប៉ុន្តែការជ្រើសរើស Optimizer ដែលត្រឹមត្រូវ (ដូចជា Nadam) នឹងជួយកាត់បន្ថយបញ្ហានេះ ជាពិសេសលើទិន្នន័យដែលស្តួចស្តើង។

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

ការយល់ដឹងពីក្បួនដោះស្រាយសុទិដ្ឋិកម្ម (Optimization algorithms) ទាំងនេះគឺមានសារៈសំខាន់ណាស់សម្រាប់ការអភិវឌ្ឍវិស័យបច្ចេកវិទ្យាបញ្ញាសិប្បនិម្មិត (AI) នៅកម្ពុជា។

ការជ្រើសរើសបច្ចេកទេស Optimization ដែលស័ក្តិសម (ដូចជា Adam ឬ Nadam) មិនត្រឹមតែជួយបង្កើនភាពត្រឹមត្រូវនៃម៉ូដែលប៉ុណ្ណោះទេ តែថែមទាំងជួយសន្សំសំចៃថ្លៃដើមលើការប្រើប្រាស់ម៉ាស៊ីនមេ (Server costs) និងពេលវេលាស្រាវជ្រាវក្នុងបរិបទដែលកម្ពុជានៅមានធនធានកម្រិតនៅឡើយ។

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

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

  1. ស្វែងយល់ពីមូលដ្ឋានគ្រឹះនៃ Optimizers: និស្សិតគប្បីចាប់ផ្តើមសិក្សាពីគណិតវិទ្យានៅពីក្រោយ Gradient Descent, ការទាញចូល (Convergence) និង Loss Functions ដោយប្រើប្រាស់វគ្គសិក្សាអនឡាញ (ឧទាហរណ៍៖ Deep Learning Specialization នៅលើ Coursera ឬតាម YouTube)។
  2. អនុវត្តការសរសេរកូដផ្ទាល់ (Hands-on Coding): សាកល្បងសរសេរកូដដើម្បីប្រៀបធៀបដំណើរការរបស់ SGD, Adam និង Nadam ដោយខ្លួនឯងនៅលើសៀវភៅកត់ត្រាអនឡាញ Google Colab ដោយប្រើប្រាស់បណ្ណាល័យ AI ល្បីៗដូចជា PyTorch ឬ TensorFlow។
  3. សាកល្បងជាមួយទិន្នន័យក្នុងស្រុករបស់កម្ពុជា: ប្រមូលសំណុំទិន្នន័យតូចៗនៅកម្ពុជា (ឧទាហរណ៍៖ រូបភាពអក្សរខ្មែរ រូបភាពផ្លាកសញ្ញាចរាចរណ៍ ឬទិន្នន័យតម្លៃផ្ទះ) រួចសាកល្បងបណ្តុះបណ្តាលម៉ូដែលដោយប្តូរ Optimizers ផ្សេងៗគ្នាដើម្បីស្វែងរកមួយណាដែលមានប្រសិទ្ធភាពជាងគេ។
  4. តាមដាន និងវិភាគលទ្ធផល (Monitoring & Profiling): ប្រើប្រាស់ឧបករណ៍តាមដានការហ្វឹកហាត់ម៉ូដែលដូចជា TensorBoard ឬ Weights & Biases (W&B) ដើម្បីមើលក្រាហ្វនៃអត្រា Loss និងអត្រា Accuracy ដែលជួយក្នុងការសម្រេចចិត្តជ្រើសរើស Optimizer បានត្រឹមត្រូវជាងមុន។

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

ពាក្យបច្ចេកទេស ការពន្យល់ជាខេមរភាសា (Khmer Explanation) និយមន័យសាមញ្ញ (Simple Definition)
Gradient Descent (GD) ជាក្បួនដោះស្រាយសម្រាប់ស្វែងរកចំណុចទាបបំផុតនៃអនុគមន៍ ដោយធ្វើការផ្លាស់ប្តូរតម្លៃបន្តិចម្តងៗក្នុងទិសដៅផ្ទុយពីកម្រិតជម្រាល (Gradient) ដើម្បីកាត់បន្ថយកំហុស (Error) របស់ម៉ូដែលឱ្យនៅតិចបំផុត។ ដូចជាមនុស្សបិទភ្នែកកំពុងរកផ្លូវចុះពីលើភ្នំមកជ្រលងភ្នំ ដោយប្រើជើងស្ទាបរកទិសដៅណាដែលទេរចុះក្រោម។
Local Minima ជាចំណុចទាបមួយនៅក្នុងអនុគមន៍ ប៉ុន្តែវាមិនមែនជាចំណុចដែលទាបជាងគេបំផុត (Global Minimum) នោះទេ ដែលធ្វើឱ្យម៉ូដែលគិតថាវាបានរកឃើញចម្លើយល្អបំផុតហើយ តែការពិតនៅមានចម្លើយល្អជាងនេះ។ ដូចជាការចុះពីលើភ្នំធ្លាក់ចូលក្នុងរណ្តៅមួយនៅលើចង្កេះភ្នំ ហើយគិតថាដល់ជើងភ្នំហើយ ទាំងដែលជើងភ្នំពិតប្រាកដនៅទាបជាងនោះ។
Learning Rate ជាទំហំនៃជំហាននីមួយៗដែលក្បួនដោះស្រាយ (Algorithm) ត្រូវឈានទៅរកចំណុចអប្បបរមា។ ប្រសិនបើវាធំពេក អាចនឹងរំលងចំណុចគោលដៅ តែបើវាតូចពេក នឹងត្រូវចំណាយពេលយូរខ្លាំង។ ដូចជាការបោះជំហានរបស់មនុស្ស បើឈានជើងធំពេកអាចនឹងដើរហួសផ្ទះដែលចង់ទៅ រីឯបើឈានជើងតូចពេកដូចស្រមោច នោះនឹងប្រើពេលយូរទម្រាំទៅដល់។
Stochastic Gradient Descent (SGD) ជាទម្រង់មួយនៃ Gradient Descent ដែលប្រើប្រាស់ទិន្នន័យតែមួយ ឬមួយផ្នែកតូច (ចៃដន្យ) ប៉ុណ្ណោះក្នុងមួយជំហាននៃការគណនា ដើម្បីជួយឱ្យការហ្វឹកហាត់មានល្បឿនលឿន និងកាត់បន្ថយការប្រើប្រាស់អង្គចងចាំ។ ជំនួសឱ្យការអានសៀវភៅទាំងមូលទើបសន្និដ្ឋានម្តង វាប្រៀបដូចជាការទាញយកទំព័រណាមួយមកអានដោយចៃដន្យ រួចធ្វើការកែតម្រូវការយល់ដឹងរបស់ខ្លួនភ្លាមៗ។
Momentum ជាបច្ចេកទេសបន្ថែមសន្ទុះដល់ក្បួនដោះស្រាយ ដោយយកល្បឿននៃការផ្លាស់ប្តូរពីជំហានមុនៗមកបូកបញ្ចូលគ្នា ដើម្បីជួយរុញម៉ូដែលឱ្យរំលងផុតពី Local Minima និងពន្លឿនការទៅដល់គោលដៅ។ ដូចជាការរុញរទេះចុះចំណោត ដែលរទេះមានសន្ទុះល្បឿនខ្លាំងពីមុនមក អាចធ្វើឱ្យវារអិលរំលងរលាក់តូចៗបានយ៉ាងងាយស្រួលដោយមិនជាប់គាំង។
Cost Function ជាអនុគមន៍គណិតវិទ្យាដែលប្រើសម្រាប់វាស់ស្ទង់ថាតើម៉ូដែលព្យាករណ៍បានខុសពីទិន្នន័យជាក់ស្តែងកម្រិតណា។ គោលដៅចម្បងនៃម៉ូដែលគឺធ្វើឱ្យតម្លៃកំហុសនេះកាន់តែតូចកាន់តែល្អ។ ប្រៀបដូចជាពិន្ទុកំហុសនៃការប្រលង បើអ្នកធ្វើខុសកាន់តែតិច ពិន្ទុកំហុសកាន់តែតូច នោះមានន័យថាអ្នករៀនកាន់តែពូកែ។
Epoch ជុំនៃការបណ្តុះបណ្តាលដែលម៉ូដែលបានមើល និងរៀនពីសំណុំទិន្នន័យសរុប (Training Dataset) ទាំងមូលពេញមួយជុំ។ ការរៀនច្រើនជុំ (Epochs) ជួយឱ្យម៉ូដែលកាន់តែមានភាពសុក្រឹត។ ដូចជាការអានសៀវភៅមេរៀនចប់មួយក្បាលពេញពីដើមដល់ចប់រាប់ជាមួយជុំ បើអានច្រើនជុំ នឹងកាន់តែចាំច្បាស់។
Back-propagation ជាយន្តការបញ្ជូនកំហុស (Error) ត្រឡប់ថយក្រោយវិញតាមស្រទាប់នីមួយៗនៃបណ្តាញសរសៃប្រសាទ (Neural Network) ដើម្បីធ្វើការកែតម្រូវទម្ងន់ (Weights) នៃប៉ារ៉ាម៉ែត្រនីមួយៗឱ្យមានភាពត្រឹមត្រូវជាងមុន។ ដូចជាការធ្វើនំខួច ហើយអ្នកភ្លក់ប្រាប់ថាប្រៃពេក ចុងភៅក៏ដើរត្រឡប់ទៅប្រាប់កូនកាំបិតឱ្យបន្ថយអំបិលសម្រាប់ការធ្វើលើកក្រោយ។

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

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

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