បញ្ហា (The Problem)៖ ការស្រាវជ្រាវនេះបង្ហាញពីការយល់ដឹងស៊ីជម្រៅអំពីបណ្ដាញសរសៃប្រសាទសិប្បនិម្មិតបែបខុនវ៉ូលូសិន (CNN) និងស្ថាបត្យកម្មលេចធ្លោនានា ដើម្បីដោះស្រាយបញ្ហាក្នុងការវិភាគទិន្នន័យរូបភាពធំៗសម្រាប់ការទទួលស្គាល់កុំព្យូទ័រ (Computer Vision)។
វិធីសាស្ត្រ (The Methodology)៖ ឯកសារនេះធ្វើការពិនិត្យឡើងវិញ (Literature Review) ទៅលើសមាសភាគរចនាសម្ព័ន្ធមុខងារ និងការវិវត្តនៃស្ថាបត្យកម្ម CNN ផ្សេងៗគ្នានៅក្នុងវិស័យបញ្ញាសិប្បនិម្មិត។
លទ្ធផលសំខាន់ៗ (The Verdict)៖
| វិធីសាស្ត្រ (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) កាន់តែជ្រៅ និងស្មុគស្មាញ ដែលបណ្ដាលឱ្យប្រើប្រាស់ពេលវេលាច្រើន។
ការសិក្សានេះពឹងផ្អែកលើសំណុំទិន្នន័យអន្តរជាតិខ្នាតធំ (ដូចជា ImageNet) ដែលរូបភាពភាគច្រើនមានប្រភពមកពីប្រទេសលោកខាងលិច មិនមែនជាទិន្នន័យតំណាងឱ្យបរិបទក្នុងស្រុកនោះទេ។ សម្រាប់ប្រទេសកម្ពុជា នេះជាបញ្ហាប្រឈមធំមួយ ដោយសារការទទួលស្គាល់វត្ថុ (ឧទាហរណ៍ ផ្លាកលេខរថយន្តកម្ពុជា សំណេរដៃអក្សរខ្មែរ ឬមុខមាត់ជនជាតិខ្មែរ) ទាមទារឱ្យមានការប្រមូលទិន្នន័យក្នុងស្រុកដែលមានលក្ខណៈសម្បូរបែប ដើម្បីកាត់បន្ថយភាពលម្អៀង (Data Bias) និងទទួលបានភាពត្រឹមត្រូវខ្ពស់ពេលយកមកអនុវត្តជាក់ស្តែង។
បច្ចេកវិទ្យា CNN មានសក្តានុពលខ្ពស់ និងអាចយកមកប្រើប្រាស់ជាក់ស្តែងដើម្បីដោះស្រាយបញ្ហាជាច្រើនតាមវិស័យនានានៅក្នុងប្រទេសកម្ពុជា។
ជារួម បច្ចេកវិទ្យាទាំងនេះអាចជួយជំរុញការអភិវឌ្ឍសេដ្ឋកិច្ចឌីជីថលរបស់កម្ពុជាបានយ៉ាងមានប្រសិទ្ធភាព ប្រសិនបើមានការវិនិយោគត្រឹមត្រូវលើហេដ្ឋារចនាសម្ព័ន្ធទិន្នន័យក្នុងស្រុក និងការបណ្តុះបណ្តាលធនធានមនុស្ស។
ដើម្បីអនុវត្តតាមការសិក្សានេះ និស្សិតគួរអនុវត្តតាមជំហានខាងក្រោម៖
| ពាក្យបច្ចេកទេស | ការពន្យល់ជាខេមរភាសា (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) មកបន្តហ្វឹកហាត់បន្ថែមតិចតួចលើសំណុំទិន្នន័យថ្មីដែលមានទំហំតូច ដើម្បីចំណេញពេលវេលា និងធនធាន។ | ដូចជាការជួលចុងភៅដែលចេះធ្វើម្ហូបអឺរ៉ុបស្ទាត់ជំនាញរួចហើយ មកបង្រៀនបន្ថែមតែបន្តិច ដើម្បីឱ្យគាត់ចេះធ្វើម្ហូបអាស៊ី ដោយមិនបាច់បង្រៀនពីការកាន់កាំបិតសារជាថ្មី។ |
អត្ថបទដែលបានបោះពុម្ពនៅលើ KhmerResearch ដែលទាក់ទងនឹងប្រធានបទនេះ៖
ប្រធានបទ និងសំណួរស្រាវជ្រាវដែលទាក់ទងនឹងឯកសារនេះ ដែលអ្នកអាចស្វែងរកបន្ថែម៖