Original Title: Rice Disease Identification System Using Lightweight MobileNetV2
Source: doi.org/10.12792/icisip2021.007
Disclaimer: Summary generated by AI based on the provided document. Please refer to the original paper for full scientific accuracy.

ប្រព័ន្ធកំណត់អត្តសញ្ញាណជំងឺស្រូវដោយប្រើប្រាស់ MobileNetV2 ទម្ងន់ស្រាល

ចំណងជើងដើម៖ Rice Disease Identification System Using Lightweight MobileNetV2

អ្នកនិពន្ធ៖ Zhenghua Zhang (Yangzhou University), Yifeng Gu (Yangzhou University), Qingqing Hong (Yangzhou University)

ឆ្នាំបោះពុម្ព៖ 2021, Proceedings of the 8th IIAE International Conference on Intelligent Systems and Image Processing

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

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

បញ្ហា (The Problem)៖ ការកំណត់អត្តសញ្ញាណជំងឺស្រូវដោយផ្ទាល់ដៃត្រូវចំណាយពេលយូរ ចំណែកឯម៉ូដែលបណ្ដាញសរសៃប្រសាទកុំព្យូទ័រ (CNN) ធម្មតាទាមទារទំហំផ្ទុកនិងថាមពលគណនាធំ ដែលធ្វើឱ្យពិបាកក្នុងការដាក់ឱ្យប្រើប្រាស់នៅលើឧបករណ៍ចល័ត ឬឧបករណ៍បង្កប់។

វិធីសាស្ត្រ (The Methodology)៖ ការសិក្សានេះបានស្នើឡើងនូវប្រព័ន្ធកំណត់អត្តសញ្ញាណជំងឺស្រូវ ដោយប្រើប្រាស់ម៉ូដែល CNN ទម្ងន់ស្រាលប្រភេទ MobileNetV2 និងបច្ចេកទេសបង្រួមម៉ូដែល។

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

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

វិធីសាស្ត្រ (Method) គុណសម្បត្តិ (Pros) គុណវិបត្តិ (Cons) លទ្ធផលគន្លឹះ (Key Result)
Base MobileNetV2
ម៉ូដែល MobileNetV2 ដើម
មានសមត្ថភាពខ្ពស់ក្នុងការស្រង់យកលក្ខណៈពិសេសនៃរូបភាពដោយស្វ័យប្រវត្តិ និងមានភាពត្រឹមត្រូវល្អជាមូលដ្ឋាន។ ទាមទារទំហំផ្ទុកធំ (17.30MB) និងចំនួនប្រតិបត្តិការគណនាច្រើន (313.47M FLOPS) ដែលមិនសូវស័ក្តិសមសម្រាប់ឧបករណ៍ខ្សោយ។ ទទួលបានអត្រាភាពត្រឹមត្រូវ ៩០.៦៨% និងមានប៉ារ៉ាម៉ែត្រចំនួន ២.២៣លាន។
Pruned MobileNetV2 (Proposed)
ម៉ូដែល MobileNetV2 ដែលបានកាត់ឆានែល (Channel Pruning) និង Fine-tuning
មានទំហំតូចខ្លាំង (4.41MB) កាត់បន្ថយការប្រើប្រាស់អង្គចងចាំបាន ៧៤% និងដំណើរការលឿនជាងមុន ដោយរក្សាបានភាពត្រឹមត្រូវខ្ពស់។ ទាមទារការកំណត់អត្រាកាត់ (Pruning ratio) ឱ្យបានត្រឹមត្រូវ បើកាត់ច្រើនពេក (លើសពី ០.៥) ភាពត្រឹមត្រូវនឹងធ្លាក់ចុះយ៉ាងខ្លាំងដែលមិនអាចកែប្រែបាន។ ទទួលបានអត្រាភាពត្រឹមត្រូវ ៩០.៨៤% (កើនឡើង ០.១៦%) និងកាត់បន្ថយប៉ារ៉ាម៉ែត្រនៅសល់ត្រឹម ១.១១លាន។

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

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

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

ការសិក្សានេះប្រមូលទិន្នន័យរូបភាពជំងឺស្រូវនៅប្រទេសចិន ដែលមានតែ ៥ ប្រភេទជំងឺប៉ុណ្ណោះ។ សម្រាប់ប្រទេសកម្ពុជា ពូជស្រូវ អាកាសធាតុ និងបរិស្ថានដាំដុះមានលក្ខណៈខុសប្លែកពីប្រទេសចិន ដែលអាចធ្វើឱ្យការប្រើប្រាស់ម៉ូដែលនេះដោយផ្ទាល់ជួបបញ្ហាភាពត្រឹមត្រូវមិនច្បាស់លាស់។ ដូច្នេះការប្រមូលទិន្នន័យរូបភាពជំងឺស្រូវក្នុងស្រុកបន្ថែម គឺជារឿងចាំបាច់បំផុត។

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

បច្ចេកវិទ្យាបង្រួមម៉ូដែល AI ឱ្យមានទម្ងន់ស្រាលនេះ មានសក្តានុពលខ្ពស់ខ្លាំងណាស់ក្នុងការយកមកអនុវត្តនៅក្នុងវិស័យកសិកម្មរបស់ប្រទេសកម្ពុជា។

ការដាក់ពង្រាយប្រព័ន្ធ AI ទម្ងន់ស្រាលលើទូរស័ព្ទដៃ គឺជាដំណោះស្រាយដ៏ឆ្លាតវៃនិងចំណាយតិច ដែលអាចជួយការពារការខាតបង់ទិន្នផលស្រូវ និងធានាសន្តិសុខស្បៀងនៅកម្ពុជាបានយ៉ាងមានប្រសិទ្ធភាព។

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

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

  1. សិក្សាមូលដ្ឋានគ្រឹះ Deep Learning និង MobileNet: និស្សិតត្រូវចាប់ផ្តើមសិក្សាពីភាសា Python និងបណ្ណាល័យ PyTorch ដោយផ្តោតលើការសរសេរកូដសម្រាប់បណ្ដាញសរសៃប្រសាទកុំព្យូទ័រ (CNN) ជាពិសេសស្វែងយល់ពីរចនាសម្ព័ន្ធរបស់ MobileNetV2 (Depth-wise separable convolution)។
  2. ប្រមូល និងរៀបចំទិន្នន័យជំងឺស្រូវនៅកម្ពុជា: ធ្វើការសហការជាមួយវិទ្យាស្ថានស្រាវជ្រាវ និងអភិវឌ្ឍន៍កសិកម្មកម្ពុជា (CARDI) ដើម្បីថតរូបភាពជំងឺស្រូវដែលកើតមានញឹកញាប់នៅកម្ពុជា រួចធ្វើការចំណាំ (Labeling) និងបង្កើនចំនួនទិន្នន័យតាមរយៈបច្ចេកទេស Data Augmentation។
  3. បង្ហាត់ម៉ូដែល និងអនុវត្ត Channel Pruning: សរសេរកូដបង្ហាត់ម៉ូដែល MobileNetV2 ជាមួយនឹងទិន្នន័យដែលប្រមូលបាន បន្ទាប់មកសាកល្បងប្រើប្រាស់វិធីសាស្ត្រ L1 Regularization ដើម្បីកាត់បន្ថយ Parameter (Pruning) ក្នុងអត្រាពី 0.1 ទៅ 0.5 រួចធ្វើការ Fine-tune ឡើងវិញដើម្បីរក្សាភាពត្រឹមត្រូវ។
  4. បំប្លែងម៉ូដែល និងអភិវឌ្ឍកម្មវិធីទូរស័ព្ទ (Mobile App): បំប្លែងម៉ូដែលដែលទទួលបានទៅជាទម្រង់ TFLite (TensorFlow Lite) ឬ ONNX រួចសរសេរកម្មវិធី Android ងាយស្រួលមួយ ដើម្បីដាក់បញ្ចូលម៉ូដែលនេះសម្រាប់ការថតនិងវិភាគរោគសញ្ញាជំងឺដោយផ្ទាល់លើទូរស័ព្ទ (On-device inference)។
  5. តភ្ជាប់ប្រព័ន្ធទិន្នន័យ និងសាកល្បងជាមួយអ្នកប្រើប្រាស់ពិត: បង្កើតមូលដ្ឋានទិន្នន័យ (ឧ. Firebase ឬ SQL Server) ដើម្បីរក្សាទុកលទ្ធផលនៃការស្កេន រួចយកកម្មវិធីនេះទៅសាកល្បងជាមួយកសិករនៅតាមមូលដ្ឋាន ដើម្បីប្រមូលមតិកែលម្អ (Feedback) លើភាពងាយស្រួលនិងភាពត្រឹមត្រូវក្នុងស្ថានភាពជាក់ស្តែង។

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

ពាក្យបច្ចេកទេស ការពន្យល់ជាខេមរភាសា (Khmer Explanation) និយមន័យសាមញ្ញ (Simple Definition)
convolutional neural network (CNN) ជាប្រភេទបណ្ដាញសរសៃប្រសាទសិប្បនិម្មិតដែលពូកែខាងវិភាគទិន្នន័យជារូបភាព ដោយវាប្រើប្រាស់រចនាសម្ព័ន្ធតម្រង (Filters) ឆ្លងកាត់គ្នាជាស្រទាប់ៗ ដើម្បីទាញយកលក្ខណៈពិសេសៗ (ដូចជា គែម ទម្រង់ ឬពណ៌) ពីរូបភាពដោយស្វ័យប្រវត្តិ។ ដូចជាភ្នែកមនុស្សដែលមើលឃើញរូបរាងសត្វ ឬវត្ថុផ្សេងៗ ដោយផ្តុំចំណុចតូចៗជាច្រើននៃពន្លឺនិងពណ៌បញ្ចូលគ្នាឱ្យចេញជារូបរាងតែមួយ។
channel pruning ជាបច្ចេកទេសបង្រួមទំហំម៉ូដែល AI ដោយកាត់ចោលនូវបណ្ដាញតភ្ជាប់ (Channels) ឬប៉ារ៉ាម៉ែត្រណាដែលមិនសូវមានប្រយោជន៍ ឬមិនសូវចូលរួមចំណែកក្នុងការធ្វើសេចក្តីសម្រេចចិត្ត ដើម្បីឱ្យម៉ូដែលដំណើរការលឿននិងស៊ីទំហំផ្ទុកតិចដោយរក្សាបានភាពត្រឹមត្រូវប្រហាក់ប្រហែលដើម។ ដូចជាការកាត់មែកឈើដែលងាប់ ឬមិនសូវចេញផ្លែចោល ដើម្បីឱ្យដើមឈើទាំងមូលនៅស្រាល ទទួលបានពន្លឺគ្រប់គ្រាន់ និងនៅតែផ្តល់ទិន្នផលល្អ។
depth-wise separable convolution (DSC) ជាបច្ចេកទេសស្នូលរបស់ MobileNet ដែលបំបែកប្រតិបត្តិការ Convolution ធម្មតាជាពីរដំណាក់កាល (Depth-wise និង Point-wise) ដើម្បីកាត់បន្ថយចំនួននៃការគណនាគណិតវិទ្យាបានយ៉ាងច្រើនសន្ធឹកសន្ធាប់ដោយមិនធ្វើឱ្យបាត់បង់គុណភាពក្នុងការទាញយកលក្ខណៈពីរូបភាព។ ដូចជាការបែងចែកការងាររោងចក្រជាពីរផ្នែកដាច់ពីគ្នា ដែលផ្នែកនីមួយៗជំនាញរៀងខ្លួន ធ្វើឱ្យចំណេញកម្លាំងពលកម្មនិងពេលវេលាជាងការឱ្យមនុស្សម្នាក់ធ្វើការងារទាំងអស់តាំងពីដើមដល់ចប់។
floating-point operations per second (FLOPS) ជារង្វាស់ទូទៅដែលគេប្រើសម្រាប់វាស់ស្ទង់ល្បឿន ឬទំហំនៃការគណនារបស់កុំព្យូទ័រ ក៏ដូចជាកម្រិតភាពស្មុគស្មាញរបស់ម៉ូដែល AI។ ម៉ូដែលដែលមាន FLOPS ទាប មានន័យថាវាទាមទារថាមពលគណនាតិច ស័ក្តិសមសម្រាប់ឧបករណ៍ចល័ត ឬទូរស័ព្ទដៃ។ ដូចជារង្វាស់កម្លាំងសេះ (Horsepower) របស់ម៉ាស៊ីនឡានអញ្ចឹងដែរ គ្រាន់តែនេះជារង្វាស់ទំហំកម្លាំងគណនារបស់ម៉ូដែល AI ក្នុងមួយវិនាទី។
L1 regularization ជាបច្ចេកទេសគណិតវិទ្យាដែលត្រូវបានបន្ថែមទៅលើអនុគមន៍កំហុស (Loss function) ពេលកំពុងបង្ហាត់ម៉ូដែល ដើម្បីជំរុញឱ្យទម្ងន់ (Weights) នៃលក្ខណៈពិសេសមួយចំនួនធ្លាក់ចុះដល់សូន្យ ដែលជួយឱ្យប្រព័ន្ធងាយស្រួលជ្រើសរើសនិងរក្សាទុកតែទិន្នន័យណាដែលសំខាន់បំផុត។ ដូចជាច្បាប់ពិន័យមួយដែលបង្ខំឱ្យសិស្សផ្តោតតែលើមេរៀនណាដែលនឹងចេញប្រឡងពិតប្រាកដ ហើយបោះបង់មេរៀនដែលមិនសំខាន់ចោល ដើម្បីសន្សំការចងចាំរបស់ខួរក្បាល។
fine-tune ជាដំណើរការយកម៉ូដែល AI ដែលមានស្រាប់ ឬម៉ូដែលដែលទើបតែត្រូវបានកាត់បន្ថយទំហំ (Pruned) មកបង្ហាត់សាជាថ្មីក្នុងកម្រិតស្រាលជាមួយនឹងទិន្នន័យដដែល ដើម្បីឱ្យវាស្ដារ ឬកែលម្អភាពត្រឹមត្រូវឡើងវិញបន្ទាប់ពីរងការបាត់បង់ទិន្នន័យខ្លះៗ។ ដូចជាការយកកាំបិតដែលទើបតែដំជារូបរាងរួច មកសំលៀងបន្ថែមបន្តិចទៀតឱ្យមុតល្អ មុននឹងយកទៅប្រើប្រាស់កាត់វត្ថុអ្វីមួយដោយផ្ទាល់។
Knowledge distillation ជាវិធីសាស្ត្រមួយទៀតនៃការបង្រួមម៉ូដែល ដែលគេប្រើប្រាស់ម៉ូដែលធំមានសមត្ថភាពខ្ពស់ (ហៅថា គ្រូ) ដើម្បីបង្រៀននិងផ្ទេរចំណេះដឹងទៅឱ្យម៉ូដែលតូចមួយទៀត (ហៅថា សិស្ស) ដើម្បីឱ្យម៉ូដែលតូចអាចមានលទ្ធភាពវិភាគទិន្នន័យបានល្អប្រហាក់ប្រហែលម៉ូដែលធំ។ ដូចជាសាស្ត្រាចារ្យជើងចាស់ម្នាក់ (ម៉ូដែលធំ) ដែលផ្ទេរចំណេះដឹងនិងបទពិសោធន៍សង្ខេបៗរបស់គាត់ទៅឱ្យកូនសិស្ស (ម៉ូដែលតូច) ដើម្បីឱ្យសិស្សអាចធ្វើការងារបានល្អដោយមិនបាច់ប្រើពេលរៀនសូត្រពីចំណុចសូន្យឡើងវិញ។

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

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

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