Original Title: Convolutional Neural Network and its Architectures
Source: doi.org/10.37591/JoCTA
Disclaimer: Summary generated by AI based on the provided document. Please refer to the original paper for full scientific accuracy.

បណ្ដាញសរសៃប្រសាទសិប្បនិម្មិតបែបខុនវ៉ូលូសិន និងស្ថាបត្យកម្មរបស់វា

ចំណងជើងដើម៖ Convolutional Neural Network and its Architectures

អ្នកនិពន្ធ៖ Radhey Shyam, Bansal Institute of Engineering & Technology, Lucknow, India

ឆ្នាំបោះពុម្ព៖ 2021, Journal of Computer Technology & Applications

វិស័យសិក្សា៖ Computer Science

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

បញ្ហា (The Problem)៖ ការស្រាវជ្រាវនេះបង្ហាញពីការយល់ដឹងស៊ីជម្រៅអំពីបណ្ដាញសរសៃប្រសាទសិប្បនិម្មិតបែបខុនវ៉ូលូសិន (CNN) និងស្ថាបត្យកម្មលេចធ្លោនានា ដើម្បីដោះស្រាយបញ្ហាក្នុងការវិភាគទិន្នន័យរូបភាពធំៗសម្រាប់ការទទួលស្គាល់កុំព្យូទ័រ (Computer Vision)។

វិធីសាស្ត្រ (The Methodology)៖ ឯកសារនេះធ្វើការពិនិត្យឡើងវិញ (Literature Review) ទៅលើសមាសភាគរចនាសម្ព័ន្ធមុខងារ និងការវិវត្តនៃស្ថាបត្យកម្ម CNN ផ្សេងៗគ្នានៅក្នុងវិស័យបញ្ញាសិប្បនិម្មិត។

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

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

វិធីសាស្ត្រ (Method) គុណសម្បត្តិ (Pros) គុណវិបត្តិ (Cons) លទ្ធផលគន្លឹះ (Key Result)
VGG-16
ស្ថាបត្យកម្ម VGG-16
មានភាពងាយស្រួលក្នុងការយល់ និងមានប្រសិទ្ធភាពខ្ពស់សម្រាប់ការចាត់ថ្នាក់រូបភាពទូទៅ ដោយប្រើទំហំ Kernel ថេរ (3x3)។ ប្រើប្រាស់ប៉ារ៉ាម៉ែត្រច្រើនរហូតដល់ ១៣៨ លាន ដែលទាមទារទំហំផ្ទុក និងថាមពលគណនាខ្ពស់យ៉ាងខ្លាំង។ សម្រេចបានភាពត្រឹមត្រូវ ៩២.៧% (Top-5 test accuracy) លើសំណុំទិន្នន័យ ImageNet ។
Inception-V1
ស្ថាបត្យកម្ម Inception-V1
ប្រើប្រាស់ប៉ារ៉ាម៉ែត្រតិចតួច (ត្រឹមតែ ៥ លាន) ដែលជួយបង្កើនល្បឿន និងប្រសិទ្ធភាពដោយមិនប្រើប្រាស់ធនធានច្រើន។ ស្ថាបត្យកម្មមានភាពស្មុគស្មាញ និងទាមទារបច្ចេកទេសច្រើនក្នុងការកំណត់រចនាសម្ព័ន្ធបណ្ដាញ។ ជាម៉ូដែលជោគជ័យមួយដែលមានកម្រិតរហូតដល់ ២២ ស្រទាប់ និងជួយកាត់បន្ថយចំនួនប៉ារ៉ាម៉ែត្រយ៉ាងមានប្រសិទ្ធភាព។
ResNeXt-50
ស្ថាបត្យកម្ម ResNeXt-50
ប្រើប្រាស់បច្ចេកទេស Cardinality ដែលអនុញ្ញាតឱ្យបណ្ដាញរៀនបានកាន់តែជ្រៅដោយមិនចាំបាច់បង្កើនភាពស្មុគស្មាញ។ ទាមទារពេលវេលាយូរក្នុងការបង្វឹក (Training) ធៀបនឹងម៉ូដែលសាមញ្ញ ដោយសារចំនួនស្រទាប់ដ៏ច្រើន។ ទទួលបានជ័យលាភីរងទី១ ក្នុងការប្រកួត ILSVRC ជាមួយកម្រិតលម្អៀងត្រឹម ៣.០៣% ដោយប្រើប៉ារ៉ាម៉ែត្រត្រឹមតែ ២៥ លាន។

ការចំណាយលើធនធាន (Resource Cost)៖ ការប្រើប្រាស់បណ្ដាញ CNN ទាមទារធនធានកុំព្យូទ័រ និងទិន្នន័យយ៉ាងច្រើនសន្ធឹកសន្ធាប់ ជាពិសេសនៅពេលចំនួនស្រទាប់ (Layers) កាន់តែជ្រៅ និងស្មុគស្មាញ ដែលបណ្ដាលឱ្យប្រើប្រាស់ពេលវេលាច្រើន។

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

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

ការសិក្សានេះពឹងផ្អែកលើសំណុំទិន្នន័យអន្តរជាតិខ្នាតធំ (ដូចជា ImageNet) ដែលរូបភាពភាគច្រើនមានប្រភពមកពីប្រទេសលោកខាងលិច មិនមែនជាទិន្នន័យតំណាងឱ្យបរិបទក្នុងស្រុកនោះទេ។ សម្រាប់ប្រទេសកម្ពុជា នេះជាបញ្ហាប្រឈមធំមួយ ដោយសារការទទួលស្គាល់វត្ថុ (ឧទាហរណ៍ ផ្លាកលេខរថយន្តកម្ពុជា សំណេរដៃអក្សរខ្មែរ ឬមុខមាត់ជនជាតិខ្មែរ) ទាមទារឱ្យមានការប្រមូលទិន្នន័យក្នុងស្រុកដែលមានលក្ខណៈសម្បូរបែប ដើម្បីកាត់បន្ថយភាពលម្អៀង (Data Bias) និងទទួលបានភាពត្រឹមត្រូវខ្ពស់ពេលយកមកអនុវត្តជាក់ស្តែង។

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

បច្ចេកវិទ្យា CNN មានសក្តានុពលខ្ពស់ និងអាចយកមកប្រើប្រាស់ជាក់ស្តែងដើម្បីដោះស្រាយបញ្ហាជាច្រើនតាមវិស័យនានានៅក្នុងប្រទេសកម្ពុជា។

ជារួម បច្ចេកវិទ្យាទាំងនេះអាចជួយជំរុញការអភិវឌ្ឍសេដ្ឋកិច្ចឌីជីថលរបស់កម្ពុជាបានយ៉ាងមានប្រសិទ្ធភាព ប្រសិនបើមានការវិនិយោគត្រឹមត្រូវលើហេដ្ឋារចនាសម្ព័ន្ធទិន្នន័យក្នុងស្រុក និងការបណ្តុះបណ្តាលធនធានមនុស្ស។

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

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

  1. យល់ដឹងពីមូលដ្ឋានគ្រឹះនៃ Computer Vision: និស្សិតត្រូវចាប់ផ្តើមរៀនសរសេរកូដផ្នែក Linear Algebra និង Matrix សម្រាប់ការធ្វើ Convolution តាមរយៈវេទិកា Google Colab ដោយប្រើប្រាស់ភាសា Python និងបណ្ណាល័យ NumPy
  2. អនុវត្តការសាងសង់ម៉ូដែលជាមួយកូដជាក់ស្តែង: ចាប់ផ្តើមសាងសង់ម៉ូដែលសាមញ្ញៗដូចជា LeNet ដោយប្រើប្រាស់ TensorFlowPyTorch លើទិន្នន័យតូចៗ ដើម្បីយល់ពីដំណើរការនៃកម្រិត Convolution, Pooling និង Flattening។
  3. សិក្សាពី Transfer Learning សម្រាប់ការសន្សំធនធាន: ទាញយកម៉ូដែលដែលមានស្រាប់ដូចជា ResNet-50VGG-16 មកហ្វឹកហាត់សារជាថ្មី (Fine-tuning) លើសំណុំទិន្នន័យខ្នាតតូចក្នុងស្រុក (ឧទាហរណ៍ ការសម្គាល់អក្សរខ្មែរ) ដើម្បីចំណេញពេលវេលា និងធនធាន។
  4. អភិវឌ្ឍគម្រោងសម្រាប់ដោះស្រាយបញ្ហាជាក់ស្តែង (Real-world Project): ប្រមូលទិន្នន័យរូបភាពក្នុងស្រុកដោយខ្លួនឯង រួចដំណើរការបង្កើតជា API តាមរយៈ FastAPI និងដាក់ឱ្យប្រើប្រាស់ (Deploy) ទៅក្នុងកម្មវិធីទូរស័ព្ទ ដោយប្រើប្រាស់បច្ចេកវិទ្យា TensorFlow Lite

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

ពាក្យបច្ចេកទេស ការពន្យល់ជាខេមរភាសា (Khmer Explanation) និយមន័យសាមញ្ញ (Simple Definition)
Convolution ដំណើរការគណនាគណិតវិទ្យាដែលយកម៉ាទ្រីសពីរ (ទិន្នន័យរូបភាព និង Kernel) មកគុណបញ្ចូលគ្នាដើម្បីទាញយកលក្ខណៈពិសេស (Features) ពីរូបភាព ដូចជាគែម បន្ទាត់ ឬទម្រង់ផ្សេងៗ។ ដូចជាការយកកែវពង្រីកមកឆ្លុះមើលរូបភាពម្តងមួយកន្លែងៗ ដើម្បីស្វែងរកចំណុចសំខាន់ៗ។
Kernel ម៉ាទ្រីសតូចមួយ (ឧទាហរណ៍ 3x3 ឬ 5x5) ដែលមានផ្ទុកតម្លៃទម្ងន់ (Weights) សម្រាប់ធ្វើប្រមាណវិធីគុណជាមួយទិន្នន័យរូបភាព ដើម្បីចាប់យកទម្រង់ជាក់លាក់ណាមួយរបស់រូបភាពនៅពេលដំណើរការ Convolution។ ដូចជាតម្រងពណ៌ (Filter) ដែលយើងដាក់ពីមុខកាមេរ៉ា ដើម្បីផ្តោតលើតែពណ៌ ឬរូបរាងណាមួយដែលយើងចង់បាន។
Stride ចំនួនជំហាន (គិតជាភីកសែល) ដែល Kernel ត្រូវរំកិលខ្លួនពីចំណុចមួយទៅចំណុចមួយទៀតនៅលើរូបភាពនៅពេលកំពុងធ្វើប្រមាណវិធី។ ប្រសិនបើប្រើ Stride ធំ នោះទំហំរូបភាពលទ្ធផលនឹងកាន់តែតូច។ ដូចជាប្រវែងជំហានជើងនៅពេលយើងដើររើសសំរាមលើវាលស្មៅ (បើបោះជំហានធំ យើងដើរលឿន តែអាចរំលងសំរាមខ្លះ)។
Padding ការបន្ថែមតម្លៃសូន្យ (Zero-padding) នៅជុំវិញគែមរបស់ទិន្នន័យរូបភាពដើម ដើម្បីការពារកុំឱ្យបាត់បង់ព័ត៌មាននៅផ្នែកគែម និងជួយរក្សាទំហំរូបភាពលទ្ធផល (Output) ឱ្យនៅដដែលក្រោយពេលធ្វើ Convolution។ ដូចជាការដាក់ស៊ុមបន្ថែមនៅជុំវិញផ្ទាំងគំនូរ ដើម្បីកុំឱ្យគេកាត់ត្រូវសាច់រូបភាពសំខាន់ៗនៅគែម។
Pooling ដំណើរការកាត់បន្ថយទំហំវិមាត្រ (Resolution) របស់ Feature Map ដើម្បីកាត់បន្ថយចំនួនប៉ារ៉ាម៉ែត្រ ការពារការចងចាំទិន្នន័យខុស (Overfitting) និងជួយឱ្យបណ្តាញមានភាពរហ័សក្នុងការគណនា។ ដូចជាការបង្រួមរូបភាព (Zoom out) ឱ្យតូចជាងមុន ប៉ុន្តែយើងនៅតែអាចមើលដឹងថារូបនោះជារូបអ្វី។
Flattening ការបំប្លែងទិន្នន័យម៉ាទ្រីសដែលមានច្រើនវិមាត្រ (ឧទាហរណ៍ 3D array ទំហំ 10x10x10) ឱ្យទៅជាជួរឈរតែមួយ (1D array ដែលមាន 1000 ធាតុ) ដើម្បីអាចបញ្ជូនបន្តទៅកាន់ Fully Connected Layer បាន។ ដូចជាការយកដុំល្បែងផ្គុំរូប (Lego) ដែលតម្រៀបជារូបរាងហើយ មកដោះរាយតម្រៀបជាជួរត្រង់តែមួយវិញ។
Fully Connected Layers ស្រទាប់ចុងក្រោយនៃបណ្តាញ CNN ដែលណឺរ៉ូននីមួយៗភ្ជាប់ទៅកាន់ណឺរ៉ូនទាំងអស់នៃស្រទាប់មុន ដើម្បីធ្វើការគណនា និងសម្រេចចិត្តចុងក្រោយថាតើរូបភាពនោះជាវត្ថុអ្វី (Classification)។ ដូចជាគណៈកម្មការចៅក្រមដែលប្រមូលតម្រុយពីអ្នកស៊ើបអង្កេតទាំងអស់ ដើម្បីធ្វើការសន្និដ្ឋាន និងកាត់ក្តីចុងក្រោយ។
Transfer learning បច្ចេកទេសនៃការយកម៉ូដែល CNN ដែលបានហ្វឹកហាត់រួចនៅលើសំណុំទិន្នន័យដ៏ធំ (ដូចជា ImageNet) មកបន្តហ្វឹកហាត់បន្ថែមតិចតួចលើសំណុំទិន្នន័យថ្មីដែលមានទំហំតូច ដើម្បីចំណេញពេលវេលា និងធនធាន។ ដូចជាការជួលចុងភៅដែលចេះធ្វើម្ហូបអឺរ៉ុបស្ទាត់ជំនាញរួចហើយ មកបង្រៀនបន្ថែមតែបន្តិច ដើម្បីឱ្យគាត់ចេះធ្វើម្ហូបអាស៊ី ដោយមិនបាច់បង្រៀនពីការកាន់កាំបិតសារជាថ្មី។

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

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

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