Original Title: CONVOLUTIONAL NEURAL NETWORK (CNN)-BASED TRANSFER LEARNING IMPLEMENTED TO TIME-SERIES FLOOD FORECAST
Disclaimer: Summary generated by AI based on the provided document. Please refer to the original paper for full scientific accuracy.

ការអនុវត្តការរៀនផ្ទេរចំណេះដឹងផ្អែកលើបណ្ដាញសរសៃប្រសាទសិប្បនិម្មិត (CNN) សម្រាប់ការព្យាករណ៍ទឹកជំនន់តាមស៊េរីពេលវេលា

ចំណងជើងដើម៖ CONVOLUTIONAL NEURAL NETWORK (CNN)-BASED TRANSFER LEARNING IMPLEMENTED TO TIME-SERIES FLOOD FORECAST

អ្នកនិពន្ធ៖ Nobuaki Kimura, Institute for rural engineering, National Agriculture & food Research Organization, Daichi Baba, ARK Information Systems, INC.

ឆ្នាំបោះពុម្ព៖ 2020, Proceedings of the 22nd IAHR-APD Congress

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

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

បញ្ហា (The Problem)៖ ម៉ូដែលទស្សន៍ទាយទឹកជំនន់ដែលប្រើប្រាស់បណ្ដាញសរសៃប្រសាទសិប្បនិម្មិត (DNN) ទាមទារទិន្នន័យយ៉ាងច្រើន ដែលជាបញ្ហាប្រឈមធំសម្រាប់ទីជម្រាលតូចៗ ឬមធ្យមដែលខ្វះខាតទិន្នន័យវាស់វែងជាក់ស្តែង។

វិធីសាស្ត្រ (The Methodology)៖ ការសិក្សានេះបានប្រើប្រាស់បច្ចេកទេសរៀនផ្ទេរចំណេះដឹង (Transfer Learning) តាមរយៈម៉ូដែល Convolutional Neural Network (CNN) ដោយបំប្លែងទិន្នន័យស៊េរីពេលវេលាទៅជារូបភាពដើម្បីធ្វើការព្យាករណ៍។

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

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

វិធីសាស្ត្រ (Method) គុណសម្បត្តិ (Pros) គុណវិបត្តិ (Cons) លទ្ធផលគន្លឹះ (Key Result)
CNN with Transfer Learning (Pre-trained & Fine-tuned)
ម៉ូដែល CNN ដែលប្រើប្រាស់បច្ចេកទេសផ្ទេរចំណេះដឹង (បង្វឹកជាមុន និងបង្វឹកឡើងវិញកែតម្រូវ)
កាត់បន្ថយពេលវេលាគណនាបានយ៉ាងច្រើន (៦០%) និងបង្កើនភាពត្រឹមត្រូវខ្ពស់សម្រាប់ការព្យាករណ៍ទឹកជំនន់មុន ១ម៉ោង និង ៣ម៉ោង នៅក្នុងតំបន់ដែលខ្វះខាតទិន្នន័យ។ ទាមទារទិន្នន័យដ៏ច្រើនពីតំបន់ប្រភពផ្សេងទៀតដើម្បីបង្វឹកជាមុន ហើយនៅតែមិនទាន់មានភាពត្រឹមត្រូវខ្ពស់សម្រាប់ការព្យាករណ៍រយ:ពេលវែង (មុន ៦ ម៉ោង)។ កាត់បន្ថយកំហុស RMSE បានពី ២០-៣៦% សម្រាប់ការព្យាករណ៍មុន ៣ ម៉ោង ដោយចំណាយពេលវេលាគណនាត្រឹមតែ ២/៥ នៃម៉ូដែលធម្មតា។
CNN without Transfer Learning (Trained from scratch)
ម៉ូដែល CNN ដែលមិនប្រើប្រាស់បច្ចេកទេសផ្ទេរចំណេះដឹង (បង្វឹកពីដំបូងទាំងស្រុង)
មិនត្រូវការស្វែងរកទិន្នន័យពីតំបន់ជលសាស្ត្រផ្សេងទៀត ហើយអាចសិក្សាពីលក្ខណៈជាក់លាក់របស់តំបន់នោះដោយផ្ទាល់ប្រសិនបើមានទិន្នន័យគ្រប់គ្រាន់។ ដំណើរការបង្វឹកម៉ូដែលទាមទារពេលវេលាយូរ និងមានភាពត្រឹមត្រូវទាបនៅពេលដែលអនុវត្តក្នុងតំបន់ដែលមានទិន្នន័យប្រវត្តិសាស្ត្រតិចតួច។ មានកំហុស RMSE ខ្ពស់ជាង និងប្រើប្រាស់ពេលវេលាគណនាពេញលេញ ដែលធ្វើឲ្យមិនសូវមានប្រសិទ្ធភាពសម្រាប់តំបន់ខ្វះទិន្នន័យ។

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

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

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

ការសិក្សានេះត្រូវបានធ្វើឡើងដោយប្រើប្រាស់ទិន្នន័យពីប្រទេសជប៉ុន ដែលជាតំបន់ទទួលរងឥទ្ធិពលព្យុះទីហ្វុងញឹកញាប់ និងមានលក្ខណៈភូមិសាស្ត្រខុសពីកម្ពុជា។ ទោះជាយ៉ាងណាក៏ដោយ បញ្ហាចម្បងនៃការសិក្សានេះគឺ 'ការខ្វះខាតទិន្នន័យវាស់វែង' នៅតាមទីជម្រាលតូចៗ ដែលនេះជាបញ្ហាប្រឈមធំដូចគ្នាសម្រាប់ប្រព័ន្ធជលសាស្ត្រនៅប្រទេសកម្ពុជា។

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

វិធីសាស្ត្រផ្ទេរចំណេះដឹង (Transfer Learning) នេះមានសក្តានុពលខ្ពស់ខ្លាំងណាស់សម្រាប់ការដោះស្រាយបញ្ហាខ្វះខាតទិន្នន័យស្ថានីយជលសាស្ត្រនៅកម្ពុជា។

សរុបមក ការប្រើប្រាស់បច្ចេកទេស Transfer Learning នេះ នឹងជួយប្រទេសកម្ពុជាកាត់បន្ថយការចំណាយថវិកាលើការដំឡើងសេនស័រ (Sensors) រាប់រយទីតាំង ដោយងាកមកប្រើប្រាស់ទិន្នន័យពីស្ថានីយធំៗដែលមានស្រាប់ជួយគាំទ្រស្ថានីយតូចៗវិញ។

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

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

  1. សិក្សាពីការបំប្លែងទិន្នន័យ Time-series ទៅជារូបភាព (Data Conversion): រៀនពីវិធីសាស្ត្ររៀបចំទិន្នន័យ (Data Preprocessing) ដោយយកទិន្នន័យកម្រិតទឹកប្រចាំម៉ោងមកបំប្លែងជាទម្រង់រូបភាព 2D (Pixel Arrays) ដោយប្រើប្រាស់បណ្ណាល័យ NumPy និង Pandas ក្នុងភាសា Python ដូចដែលគម្រូស្រាវជ្រាវបានបង្ហាញ។
  2. ប្រមូលទិន្នន័យជលសាស្ត្រពីស្ថាប័នពាក់ព័ន្ធកម្ពុជា (Data Collection): ទាញយកសំណុំទិន្នន័យ (Datasets) កម្រិតទឹក និងទឹកភ្លៀងពីគណៈកម្មការទន្លេមេគង្គ (Mekong River Commission - MRC) ដើម្បីប្រើជាទិន្នន័យតំបន់ប្រភព (Source Data) ដែលមានទំហំធំ និងគុណភាពខ្ពស់។
  3. បង្កើត និងបង្វឹកម៉ូដែល CNN ជាមុន (Model Pre-training): ប្រើប្រាស់ KerasTensorFlow ដើម្បីរចនាម៉ូដែល CNN ដែលមាន Convolutional Layer និង Max-pooling Layer រួចធ្វើការបង្វឹកវានៅលើទិន្នន័យទន្លេមេគង្គដែលបានប្រមូលមក ដោយកំណត់ Epoch ចំនួន ១០០ ដងជាការចាប់ផ្តើម។
  4. អនុវត្តការរៀនផ្ទេរចំណេះដឹង (Apply Transfer Learning to Target Basin): រក្សាទុកទម្ងន់ (Weights) នៃស្រទាប់ខាងលើរបស់ម៉ូដែល ហើយធ្វើការបង្វឹកឡើងវិញ (Fine-tuning/Retraining) តែនៅលើស្រទាប់ Fully Connected Layer ដោយប្រើប្រាស់ទិន្នន័យតិចតួចពីស្ទឹងក្នុងស្រុក ដោយកំណត់ត្រឹម ១០ ទៅ ៤០ Epochs ដើម្បីបញ្ចៀសការ Overfitting។
  5. វាយតម្លៃកំហុសនៃការព្យាករណ៍ (Error Evaluation): ប្រើប្រាស់រូបមន្តវាយតម្លៃ Root Mean Square Error (RMSE) និង Nash-Sutcliffe Efficiency (NSE) ដើម្បីប្រៀបធៀបលទ្ធផលកម្រិតទឹកដែលព្យាករណ៍បានមុន ១ម៉ោង ៣ម៉ោង និង ៦ម៉ោង ធៀបនឹងទិន្នន័យជាក់ស្តែង (Observed Data) ដើម្បីវាស់ស្ទង់ភាពជោគជ័យ។

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

ពាក្យបច្ចេកទេស ការពន្យល់ជាខេមរភាសា (Khmer Explanation) និយមន័យសាមញ្ញ (Simple Definition)
Transfer learning បច្ចេកទេសក្នុងបញ្ញាសិប្បនិម្មិតដែលយកម៉ូដែលដែលបានបង្វឹកនិងរៀនរួចនៅលើបញ្ហាមួយ (ឬទីតាំងមួយមានទិន្នន័យច្រើន) ទៅប្រើប្រាស់និងកែតម្រូវបន្តិចបន្តួចដើម្បីដោះស្រាយបញ្ហាថ្មីមួយទៀត (ឬទីតាំងថ្មីដែលមានទិន្នន័យតិច)។ ដូចជាមនុស្សដែលចេះជិះកង់រួចហើយ ពេលទៅរៀនជិះម៉ូតូគឺឆាប់ចេះជាងអ្នកដែលមិនធ្លាប់ជិះអ្វីសោះ។
Convolutional neural network (CNN) ប្រភេទនៃបណ្ដាញសរសៃប្រសាទសិប្បនិម្មិតដែលពូកែខាងវិភាគទិន្នន័យជារូបភាព ដោយវាប្រើប្រាស់ស្រទាប់តម្រង (Filters) ដើម្បីទាញយកលក្ខណៈពិសេសៗ (Features) ពីរូបភាពទាំងនោះ។ ក្នុងការសិក្សានេះ គេបំប្លែងទិន្នន័យកម្ពស់ទឹកពីតួលេខទៅជារូបភាពដើម្បីឲ្យ CNN វិភាគរកទម្រង់នៃទឹកជំនន់។ ដូចជាកែវពង្រីកដែលឆ្លុះមើលរាល់ចំណុចតូចៗនៃរូបភាព ដើម្បីកត់សម្គាល់ថាតើវាជារូបអ្វីពិតប្រាកដ។
Leave-one-out cross validation វិធីសាស្ត្រវាយតម្លៃភាពត្រឹមត្រូវរបស់ម៉ូដែល ដោយទាញយកទិន្នន័យមួយចេញមកធ្វើជាទិន្នន័យសាកល្បង (Test) ហើយយកទិន្នន័យដែលសល់ទាំងអស់ទៅបង្វឹកម៉ូដែល (Train)។ គេធ្វើបែបនេះវិលជុំរហូតដល់ទិន្នន័យទាំងអស់ធ្លាប់ត្រូវបានយកមកធ្វើជាទិន្នន័យសាកល្បងម្ដងម្នាក់។ ដូចជាការរៀនត្រៀមប្រឡង ដោយបិទសំណួរមួយទុកធ្វើតេស្តសមត្ថភាពខ្លួនឯង ហើយរៀនចម្លើយនៃសំណួរទាំងអស់ដែលនៅសល់ ធ្វើបែបនេះឆ្លាស់គ្នារហូតដល់សាកល្បងអស់គ្រប់សំណួរ។
max-pooling layer ស្រទាប់មួយនៅក្នុងម៉ូដែល CNN ដែលមានតួនាទីបង្រួមទំហំទិន្នន័យរូបភាព ដោយជ្រើសរើសយកតែតម្លៃដែលធំជាងគេ (Max) ក្នុងប្លុកនីមួយៗ ដើម្បីរក្សាលក្ខណៈសំខាន់ៗនិងកាត់បន្ថយបន្ទុកព្រមទាំងពេលវេលាក្នុងការគណនា។ ដូចជាការសង្ខេបអត្ថបទវែងមួយដោយជ្រើសរើសយកតែចំណុចសំខាន់ៗបំផុតមកទុក ដើម្បីងាយស្រួលអាននិងចំណាំ។
time-series data សំណុំទិន្នន័យដែលត្រូវបានកត់ត្រាជាបន្តបន្ទាប់ទៅតាមលំដាប់នៃពេលវេលាជាប់ៗគ្នា ដូចជាទិន្នន័យកម្ពស់ទឹកទន្លេ ឬបរិមាណទឹកភ្លៀងដែលស្ថានីយវាស់រៀងរាល់មួយម៉ោងម្ដងៗ។ ដូចជាសៀវភៅកំណត់ហេតុប្រចាំថ្ងៃដែលយើងកត់ត្រាសីតុណ្ហភាពរាងកាយរៀងរាល់ព្រឹកជាប្រចាំ។
epoch ចំនួនជុំដែលម៉ូដែលបញ្ញាសិប្បនិម្មិត (AI) បានរៀនសូត្រឆ្លងកាត់សំណុំទិន្នន័យបង្វឹក (Training Dataset) ទាំងមូលមួយចប់។ ការកំណត់ចំនួន Epoch សមស្របជួយឲ្យម៉ូដែលរៀនបានច្បាស់លាស់ដោយមិនទន្ទេញចាំមាត់ពេក (Overfitting)។ ដូចជាចំនួនដងដែលសិស្សអានសៀវភៅមេរៀនមួយក្បាលពីដើមដល់ចប់ ដើម្បីត្រៀមប្រឡង។
Root mean square error (RMSE) រូបមន្តគណិតវិទ្យាសម្រាប់វាស់ស្ទង់ទំហំនៃកំហុសរវាងតម្លៃដែលម៉ូដែលទាយបាន និងតម្លៃពិតប្រាកដជាក់ស្តែង។ កាលណា RMSE មានតម្លៃកាន់តែតូច មានន័យថាម៉ូដែលទាយបានកាន់តែត្រឹមត្រូវ។ ដូចជាការវាស់ចម្ងាយគោលដៅនិងចំណុចដែលព្រួញបាញ់ចំ បើចម្ងាយកាន់តែខ្លី មានន័យថាអ្នកបាញ់កាន់តែពូកែនិងច្បាស់។
fine-tuned ដំណើរការបង្វឹកឡើងវិញនូវស្រទាប់ខាងចុងនៃម៉ូដែលដែលបានបង្វឹកជាមុនរួចហើយ (Pre-trained model) ដោយប្រើប្រាស់ទិន្នន័យថ្មីក្នុងបរិមាណតិចតួច ដើម្បីឲ្យវាអាចសម្របខ្លួនទៅនឹងបរិបទថ្មី ឬទីតាំងថ្មីបានយ៉ាងល្អ។ ដូចជាអ្នកចេះលេងហ្គីតាសូទិចរួចហើយ ចំណាយពេលហាត់បន្ថែមបន្តិចបន្តួចដើម្បីឲ្យចេះលេងហ្គីតាអគ្គិសនីបានស្ទាត់។

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

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

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