Original Title: A Comprehensive Review of Deep Learning Architectures for Computer Vision Applications
Source: asrjetsjournal.org
Disclaimer: Summary generated by AI based on the provided document. Please refer to the original paper for full scientific accuracy.

ការត្រួតពិនិត្យយ៉ាងទូលំទូលាយអំពីស្ថាបត្យកម្ម Deep Learning សម្រាប់កម្មវិធីកុំព្យូទ័រវីហ្សិន (Computer Vision)

ចំណងជើងដើម៖ A Comprehensive Review of Deep Learning Architectures for Computer Vision Applications

អ្នកនិពន្ធ៖ Arman Sarraf (Islamic Azad University North Tehran Branch), Mohammad Azhdari (Data Processing Company (DPCO)), Saman Sarraf (The Institute of Electrical and Electronics Engineers)

ឆ្នាំបោះពុម្ព៖ 2021, American Scientific Research Journal for Engineering, Technology, and Sciences (ASRJETS)

វិស័យសិក្សា៖ Computer Science / Machine Learning

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

បញ្ហា (The Problem)៖ ឯកសារនេះកំណត់ និងដោះស្រាយបញ្ហានៃការចាត់ថ្នាក់រូបភាព ដោយបង្ហាញពីដែនកំណត់នៃក្បួនដោះស្រាយម៉ាស៊ីនរៀន (Machine Learning) បែបប្រពៃណី ដែលមិនមានសមត្ថភាពគ្រប់គ្រាន់ក្នុងការទាញយកលក្ខណៈពិសេស (Feature extraction) ពីរូបភាពស្មុគស្មាញ និងមានសម្លេងរំខាន (Noisy samples)។

វិធីសាស្ត្រ (The Methodology)៖ ការសិក្សានេះបានធ្វើការត្រួតពិនិត្យប្រវត្តិសាស្ត្រ និងការវិវត្តន៍យ៉ាងទូលំទូលាយលើស្ថាបត្យកម្មផ្សេងៗនៃ Convolutional Neural Networks (CNNs) ចាប់តាំងពីការចាប់ផ្តើមរហូតដល់ម៉ូដែលទំនើប។

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

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

វិធីសាស្ត្រ (Method) គុណសម្បត្តិ (Pros) គុណវិបត្តិ (Cons) លទ្ធផលគន្លឹះ (Key Result)
Support Vector Machine (SVM)
ម៉ាស៊ីនវ៉ិចទ័រគាំទ្រ (SVM)
អាចជៀសវាងបញ្ហា Overfitting បានយ៉ាងល្អ និងផ្តល់ការពន្យល់លទ្ធផលបានច្បាស់លាស់។ វាមានប្រសិទ្ធភាពខ្ពស់លើការចាត់ថ្នាក់ទិន្នន័យតូចៗ។ ការអនុវត្តមានភាពយឺតយ៉ាវនៅពេលមានទិន្នន័យច្រើន ហើយក្បួនដោះស្រាយមានភាពស្មុគស្មាញខ្លាំងក្នុងការកែសម្រួល។ ល្អសម្រាប់ការចាត់ថ្នាក់រូបភាពកម្រិតមូលដ្ឋាន តែមិនអាចទាញយកលក្ខណៈពិសេសពីរូបភាពឆៅ (Raw images) បានដោយស្វ័យប្រវត្តិទេ។
Artificial Neural Network (ANN)
បណ្តាញសរសៃប្រសាទសិប្បនិម្មិត (ANN)
អាចអនុវត្តបានយ៉ាងល្អជាមួយទិន្នន័យធំៗ (Big Data) និងមានប្រសិទ្ធភាពទោះបីជាទិន្នន័យមានសម្លេងរំខាន (Noisy samples) ក៏ដោយ។ ដំណើរការរៀនសូត្រ (Training) មានភាពយឺតយ៉ាវខ្លាំង និងទាមទារប្រព័ន្ធកុំព្យូទ័រដែលមានកម្លាំងខ្លាំង។ ជាម៉ូដែលមូលដ្ឋានគ្រឹះ ប៉ុន្តែមានកម្រិតក្នុងការទាញយកលក្ខណៈពិសេសស្មុគស្មាញពីរូបភាព បើធៀបនឹង CNN។
VGGNet
បណ្តាញ VGGNet
ប្រើប្រាស់តម្រង (Filters) តូចៗទំហំ 3x3 ជាបន្តបន្ទាប់ ដែលជួយសម្រួលដល់ភាពស្មុគស្មាញនៃការគណនានិងបង្កើនភាពត្រឹមត្រូវខ្ពស់។ មានចំនួនប៉ារ៉ាម៉ែត្រច្រើនរហូតដល់ ១៣៨ លាន ដែលធ្វើឲ្យម៉ូដែលនេះមានទំហំធំ និងតម្រូវការគណនាខ្ពស់។ សម្រេចបានភាពត្រឹមត្រូវខ្ពស់រហូតដល់ 92.7% លើការសាកល្បងជាមួយ Image Dataset ដែលមានរូបភាពចំនួន ១៤ លានសន្លឹក និង ១០០០ ថ្នាក់។
ResNet (Residual Neural Network)
បណ្តាញសរសៃប្រសាទ ResNet
ប្រើប្រាស់បច្ចេកទេស Skip Connections ដើម្បីដោះស្រាយបញ្ហាបាត់បង់ព័ត៌មាន (Vanishing Gradient)។ អាចបង្កើតបណ្តាញដែលមានជម្រៅជ្រៅរហូតដល់ ១៥២ ស្រទាប់ដោយរក្សាប្រសិទ្ធភាពខ្ពស់។ ការគណនានៅតែមានទំហំធំ ហើយត្រូវការពេលច្រើនក្នុងការហ្វឹកហាត់ម៉ូដែលពីដំបូង បើធៀបនឹងបណ្តាញរាក់ៗ។ ទទួលបានអត្រាកំហុសត្រឹមតែ 3.57% ប៉ុណ្ណោះលើការសាកល្បង ImageNet ដែលជាកម្រិតទាបជាងកំហុសរបស់មនុស្សធម្មតាទៅទៀត។
MobileNet
បណ្តាញ MobileNet
មានទំហំតូច ស៊ីភ្លើងតិច កម្លាំងគណនាតិច និងមានភាពយឺតយ៉ាវទាប (Low-delay) ដែលស័ក្តិសមបំផុតសម្រាប់ឧបករណ៍ចល័ត។ ត្រូវធ្វើការលះបង់ភាពត្រឹមត្រូវ (Accuracy) មួយផ្នែកតូច ដើម្បីទទួលបានល្បឿន និងទំហំតូចសម្រាប់ទូរស័ព្ទដៃ។ អនុញ្ញាតឲ្យមានដំណើរការទាក់ទងនឹង Computer Vision (ដូចជាការចាត់ថ្នាក់ និងស្វែងរកវត្ថុ) ដំណើរការផ្ទាល់លើទូរស័ព្ទដៃដោយមិនចាំបាច់មាន Server ធំដុំ។

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

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

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

ការសិក្សា និងការអភិវឌ្ឍន៍ម៉ូដែលភាគច្រើនប្រើប្រាស់សំណុំទិន្នន័យអន្តរជាតិ (ដូចជា ImageNet) ដែលប្រមូលផ្តុំរូបភាពពីបរិបទបស្ចិមប្រទេសជាចម្បង។ សម្រាប់ប្រទេសកម្ពុជា នេះអាចបង្កជាបញ្ហាលម្អៀង (Bias) ដោយសារទម្រង់មុខ (Facial features) លក្ខណៈផ្លូវថ្នល់ យានយន្ត និងសញ្ញាចរាចរណ៍នៅកម្ពុជា មានលក្ខណៈខុសប្លែក ដែលអាចធ្វើឲ្យភាពត្រឹមត្រូវរបស់ម៉ូដែលធ្លាក់ចុះនៅពេលយកមកប្រើប្រាស់ផ្ទាល់។

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

ទោះបីជាមានបញ្ហាប្រឈមទាក់ទងនឹងទិន្នន័យក៏ដោយ ស្ថាបត្យកម្ម CNN ដែលបានរៀបរាប់ក្នុងឯកសារនេះ មានសក្តានុពលខ្ពស់ក្នុងការដោះស្រាយបញ្ហាជាក់ស្តែងនៅប្រទេសកម្ពុជា។

ការអនុវត្តបច្ចេកវិទ្យា Deep Learning អាចក្លាយជាកាតាលីករដ៏សំខាន់សម្រាប់ការរីកចម្រើននៃសេដ្ឋកិច្ចឌីជីថលនៅកម្ពុជា ប្រសិនបើមានការវិនិយោគលើការប្រមូលទិន្នន័យក្នុងស្រុកដើម្បីបង្កើនភាពត្រឹមត្រូវនៃម៉ូដែល។

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

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

  1. សិក្សាមូលដ្ឋានគ្រឹះនៃ Python និង Machine Learning: និស្សិតគួរចាប់ផ្តើមពីការរៀនភាសា Python និងបណ្ណាល័យមូលដ្ឋានដូចជា NumPy និង Pandas ព្រមទាំងស្វែងយល់ពីទ្រឹស្តី Machine Learning តាមរយៈវគ្គសិក្សាអនឡាញ។
  2. អនុវត្តការសាងសង់ម៉ូដែល CNN សាមញ្ញ: សាកល្បងសរសេរកូដដើម្បីបង្កើតម៉ូដែល LeNet ឬ AlexNet ដោយប្រើប្រាស់ Frameworks ទំនើបៗដូចជា TensorFlowPyTorch លើទិន្នន័យសាមញ្ញដូចជា MNIST។
  3. ប្រើប្រាស់បច្ចេកទេស Transfer Learning លើទិន្នន័យកម្ពុជា: ទាញយកម៉ូដែលដែលមានស្រាប់ដូចជា ResNet-50 មកអនុវត្តបន្ត (Fine-tune) លើសំណុំទិន្នន័យដែលប្រមូលបាននៅកម្ពុជា (ឧទាហរណ៍៖ រូបភាពអក្សរខ្មែរ រូបភាពប្រាសាទ) ដើម្បីសន្សំសំចៃពេលវេលានិងកម្លាំងកុំព្យូទ័រ។
  4. អភិវឌ្ឍន៍កម្មវិធីលើទូរស័ព្ទដៃ (Mobile Deployment): ប្រើប្រាស់ស្ថាបត្យកម្ម MobileNet រួមជាមួយឧបករណ៍ TensorFlow Lite ដើម្បីបំប្លែងម៉ូដែលទៅជាកម្មវិធី Android/iOS អនុញ្ញាតឲ្យអ្នកប្រើប្រាស់អាចយកទៅវាស់ស្ទង់ជាក់ស្តែងនៅតាមទីវាលដោយផ្ទាល់។
  5. ចូលរួមគម្រោងបង្កើតសំណុំទិន្នន័យក្នុងស្រុក (Local Dataset): សហការគ្នាជាក្រុមដើម្បីចាប់ផ្តើមប្រមូល និងរៀបចំបិទស្លាក (Labeling) ទិន្នន័យរូបភាពដែលពាក់ព័ន្ធនឹងបរិបទកម្ពុជា តាមរយៈឧបករណ៍ដូចជា Label StudioCVAT ដើម្បីទុកជាប្រយោជន៍ដល់អ្នកស្រាវជ្រាវជំនាន់ក្រោយ។

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

ពាក្យបច្ចេកទេស ការពន្យល់ជាខេមរភាសា (Khmer Explanation) និយមន័យសាមញ្ញ (Simple Definition)
Convolutional Neural Network (CNN) ជាប្រភេទបណ្តាញសរសៃប្រសាទសិប្បនិម្មិតដែលប្រើប្រាស់ក្បួនគណនា Convolution ដើម្បីទាញយកលក្ខណៈពិសេសពីរូបភាព (ដូចជា គែម ទម្រង់ ឬពណ៌) សម្រាប់ការសម្គាល់ និងចាត់ថ្នាក់វត្ថុផ្សេងៗក្នុងវិស័យ Computer Vision។ ប្រៀបដូចជាភ្នែក និងខួរក្បាលមនុស្សដែលស្កែនមើលរូបភាពម្តងមួយប្លុកៗ រួចផ្គុំព័ត៌មានទាំងនោះដើម្បីដឹងថាវាជារូបអ្វី។
Feature Extraction ជាដំណើរការនៃការបំប្លែងទិន្នន័យឆៅ (ដូចជាភីកសែលនៃរូបភាព) ទៅជាព័ត៌មាន ឬលក្ខណៈសំខាន់ៗដែលម៉ាស៊ីនអាចយល់បាន ដើម្បីងាយស្រួលក្នុងការវិភាគ និងចាត់ថ្នាក់ទិន្នន័យទាំងនោះ។ ដូចជាការអានអត្ថបទដ៏វែងមួយ រួចដកស្រង់យកតែចំណុចសំខាន់ៗ (មេគំនិត) ដើម្បីងាយស្រួលចងចាំ។
Pooling Layer ជាស្រទាប់មួយក្នុង CNN ដែលមានតួនាទីកាត់បន្ថយទំហំវិមាត្រនៃទិន្នន័យ (Feature Map) ដោយរក្សាទុកតែព័ត៌មានសំខាន់ៗបំផុត ដើម្បីកាត់បន្ថយភាពស្មុគស្មាញនៃការគណនា និងទប់ស្កាត់ការចងចាំទិន្នន័យហួសកម្រិត (Overfitting)។ ដូចជាការបង្រួមរូបភាព (Zoom out) ដើម្បីមើលទិដ្ឋភាពជារួម ដោយលុបចោលនូវព័ត៌មានលម្អិតតូចតាចដែលមិនចាំបាច់ចេញ។
Fully Connected Layer (FC) ជាស្រទាប់ចុងក្រោយនៅក្នុងបណ្តាញសរសៃប្រសាទ ដែលតភ្ជាប់ណឺរ៉ូនទាំងអស់ពីស្រទាប់មុនៗទៅកាន់ចំណុចទាំងអស់ក្នុងស្រទាប់របស់វា ដើម្បីធ្វើការបូកសរុបលក្ខណៈពិសេស និងធ្វើការសម្រេចចិត្តថាតើរូបភាពនោះជាអ្វីប្រាកដ។ ដូចជាគណៈកម្មការដែលប្រមូលរបាយការណ៍សង្ខេបពីផ្នែកផ្សេងៗ រួចធ្វើការបោះឆ្នោតសម្រេចលទ្ធផលចុងក្រោយ។
Overfitting ជាបញ្ហាដែលកើតឡើងនៅពេលដែលម៉ូដែលរៀនទន្ទេញចាំទិន្នន័យហ្វឹកហាត់ (Training data) ខ្លាំងពេក រហូតដល់មិនអាចធ្វើការទស្សន៍ទាយបានត្រឹមត្រូវលើទិន្នន័យថ្មីដែលវាមិនធ្លាប់ជួប (Testing data)។ ដូចជាសិស្សដែលទន្ទេញចាំតែលំហាត់ក្នុងសៀវភៅ តែពេលប្រឡងចេញលំហាត់រាងប្លែកបន្តិច ក៏ធ្វើមិនបាន។
Dropout ជាបច្ចេកទេសមួយសម្រាប់ដោះស្រាយបញ្ហា Overfitting ដោយធ្វើការបិទ (អសកម្ម) ណឺរ៉ូនមួយចំនួនដោយចៃដន្យកំឡុងពេលហ្វឹកហាត់ ដើម្បីកុំឲ្យបណ្តាញពឹងផ្អែកលើណឺរ៉ូនណាមួយខ្លាំងពេក។ ដូចជាការបិទភ្នែកម្ខាងពេលហាត់ចាប់បាល់ ដើម្បីបង្ហាត់ឲ្យយើងចេះសម្របខ្លួនទោះបីជាខ្វះព័ត៌មាន ឬសមាជិកក្រុមណាម្នាក់អវត្តមានក៏ដោយ។
Activation Function ជាក្បួនគណិតវិទ្យាដែលកំណត់ថា តើណឺរ៉ូនមួយគួរតែបញ្ជូនព័ត៌មាន (សកម្ម) ទៅស្រទាប់បន្ទាប់ឬអត់ ដោយផ្អែកលើទម្ងន់នៃទិន្នន័យដែលវាទទួលបាន ដើម្បីជួយឲ្យបណ្តាញអាចយល់ពីទំនាក់ទំនងទិន្នន័យដែលមិនមែនជាបន្ទាត់ត្រង់ (Nonlinear)។ ដូចជាកុងតាក់ភ្លើងឆ្លាតវៃដែលសម្រេចចិត្តថាត្រូវបើកឲ្យចរន្តអគ្គិសនីឆ្លងកាត់ឬអត់ អាស្រ័យលើកម្លាំងភ្លើងដែលរុញមក។
Batch Normalization ជាបច្ចេកទេសក្នុងការកែសម្រួលទិន្នន័យដែលបញ្ជូនចន្លោះស្រទាប់នីមួយៗឲ្យមានស្តង់ដាររួម (Standardization) ដើម្បីជួយឲ្យម៉ូដែលហ្វឹកហាត់បានលឿន និងមានលំនឹងជាងមុន។ ដូចជាការបំប្លែងពិន្ទុសិស្សពីមុខវិជ្ជាផ្សេងៗដែលដាក់ពិន្ទុខុសៗគ្នា ឲ្យមកជាប្រព័ន្ធពិន្ទុភាគរយរួមតែមួយ ដើម្បីងាយស្រួលប្រៀបធៀបគ្នាក្នុងថ្នាក់។

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

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

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