Original Title: ECG Arrhythmia Classification based on Convolutional Autoencoders and Transfer Learning
Source: doi.org/10.52547/mjee.16.3.41
Disclaimer: Summary generated by AI based on the provided document. Please refer to the original paper for full scientific accuracy.

ចំណាត់ថ្នាក់ចង្វាក់បេះដូងខុសប្រក្រតី (ECG Arrhythmia) ដោយផ្អែកលើ Convolutional Autoencoders និង Transfer Learning

ចំណងជើងដើម៖ ECG Arrhythmia Classification based on Convolutional Autoencoders and Transfer Learning

អ្នកនិពន្ធ៖ R. M. Obaidi (Ahl Al Bayt University), R. A. Sattar (Al Farahidi University), M. Abd (Al-Manara College For Medical Sciences), I. Amjed Almani (Al-Hadba University College), T. Alghazali (The Islamic University in Najaf), S. Ghazi Talib (Al-Mustaqbal University College), M. Hussein Ali (Al-Nisour University College), M. Q. Mohammed (Al-Esraa University College), T. Abid Mohammad (Al-Zahrawi University College), M. R. Abdul-Sahib (Ashur University College)

ឆ្នាំបោះពុម្ព៖ 2022, Majlesi Journal of Electrical Engineering

វិស័យសិក្សា៖ Biomedical Signal Processing / Deep Learning

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

បញ្ហា (The Problem)៖ ឯកសារនេះផ្តោតលើការដោះស្រាយបញ្ហានៃការវិភាគសញ្ញាវាស់ចង្វាក់បេះដូង (ECG) ដោយស្វ័យប្រវត្តិ ដើម្បីរកមើលភាពមិនប្រក្រតីនៃចង្វាក់បេះដូង (Arrhythmia) ឆ្លើយតបទៅនឹងអត្រាកំណើននៃជំងឺបេះដូង និងជួយសម្រួលដល់កង្វះខាតអ្នកជំនាញបេះដូង។

វិធីសាស្ត្រ (The Methodology)៖ ការសិក្សានេះស្នើឡើងនូវវិធីសាស្ត្ររៀនស៊ីជម្រៅបែបចម្រុះ (Ensemble Deep Learning) ដែលទាញយកលក្ខណៈពិសេសទាំងពីសញ្ញាដើមផ្ទាល់ និងពីរូបភាពតំណាងសញ្ញា ដើម្បីធ្វើការចាត់ថ្នាក់យ៉ាងសុក្រឹត។

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

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

វិធីសាស្ត្រ (Method) គុណសម្បត្តិ (Pros) គុណវិបត្តិ (Cons) លទ្ធផលគន្លឹះ (Key Result)
Ensemble: Convolutional Autoencoder + EfficientNet (Proposed)
វិធីសាស្ត្រចម្រុះរួមបញ្ចូល Convolutional Autoencoder និង EfficientNet (ស្នើឡើង)
ទទួលបានភាពត្រឹមត្រូវខ្ពស់បំផុត និងមានស្ថិរភាពល្អក្នុងការទាញយកលក្ខណៈពិសេសទាំងពីសញ្ញាដើមនិងរូបភាព Spectrogram។ ទាមទារថាមពលកុំព្យូទ័រខ្ពស់ និងពេលវេលាច្រើនក្នុងការហ្វឹកហាត់ម៉ូដែលបណ្ដាញសរសៃប្រសាទទាំងពីរស្របគ្នា។ ភាពត្រឹមត្រូវ (Accuracy) ៩៩.៦៧%, F1-Score ៩៩.៧០%
2D Convolutional Neural Network (Jun et al.)
បណ្ដាញសរសៃប្រសាទ 2D CNN (Jun និងសហការី)
មានប្រសិទ្ធភាពខ្ពស់ក្នុងការវិភាគរូបភាពសញ្ញា ECG (Grayscale images) សម្រាប់ការចាត់ថ្នាក់ចំណាត់ថ្នាក់ចង្វាក់បេះដូង។ ពឹងផ្អែកតែលើរូបភាពតំណាង (Image representation) ដោយមិនបានទាញយកលក្ខណៈពិសេសពីទម្រង់សញ្ញាដើម (Raw signals) ផ្ទាល់នោះទេ។ ភាពត្រឹមត្រូវ (Accuracy) ៩៩.០៥%
K-Nearest Neighbor with DCT (Acharya et al.)
ក្បួនដោះស្រាយ K-Nearest Neighbor ប្រើជាមួយលក្ខណៈពិសេស DCT
ម៉ូដែលមិនសូវស្មុគស្មាញ និងត្រូវការថាមពលកុំព្យូទ័រតិចជាងការរៀនស៊ីជម្រៅ (Deep Learning)។ ត្រូវការអ្នកជំនាញដើម្បីទាញយកលក្ខណៈពិសេសដោយដៃ (Manual feature extraction) ជាមុនសិន ដែលស៊ីពេលនិងលំបាក។ ភាពត្រឹមត្រូវ (Accuracy) ៩៨.៥០%

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

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

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

ការសិក្សានេះប្រើប្រាស់ទិន្នន័យពីអ្នកជំងឺចំនួន ៣០,០០០ នាក់ ដែលប្រមូលបានពីមន្ទីរពេទ្យនៅប្រទេសអ៊ីរ៉ាក់ផ្តាច់មុខ។ ទិន្នន័យនេះអាចមានកម្រិតលំអៀងទៅលើហ្សែន របៀបរស់នៅ និងប្រវត្តិវេជ្ជសាស្ត្ររបស់ប្រជាជនតំបន់មជ្ឈិមបូព៌ា។ សម្រាប់ប្រទេសកម្ពុជា ការអនុវត្តម៉ូដែលនេះតម្រូវឱ្យមានការសាកល្បង និងកែសម្រួលបន្ថែម (Fine-tuning) ជាមួយទិន្នន័យប្រជាជនកម្ពុជាផ្ទាល់ ដើម្បីធានាបាននូវភាពសុក្រឹតមុននឹងដាក់ឱ្យប្រើប្រាស់ក្នុងគ្លីនិក។

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

វិធីសាស្ត្រនេះមានសក្តានុពលធំធេងសម្រាប់ប្រព័ន្ធសុខាភិបាលកម្ពុជា ជាពិសេសក្នុងការជួយគាំទ្រដល់គ្រូពេទ្យទូទៅនៅតំបន់ដែលខ្វះខាតអ្នកឯកទេសបេះដូង។

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

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

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

  1. ប្រមូល និងរៀបចំទិន្នន័យ ECG (Data Collection & Preprocessing): ចាប់ផ្តើមដោយការទាញយកទិន្នន័យបើកទូលាយដូចជា MIT-BIH Arrhythmia Database មកអនុវត្តសិន។ បន្ទាប់មក ប្រើប្រាស់បណ្ណាល័យ SciPyLibrosa ក្នុង Python ដើម្បីសម្អាតរលកសញ្ញា កាត់បន្ថយសំឡេងរំខាន (Noise) និងបំប្លែងសញ្ញាទៅជារូបភាព Spectrogram
  2. រៀបចំសំណុំម៉ូដែល Convolutional Autoencoders (CAE): សរសេរកូដបង្កើតម៉ូដែល CAE ដោយប្រើប្រាស់ PyTorch ដើម្បីរៀនពីរបៀបបង្រួម (Encode) សញ្ញា ECG ដើម និងទាញយកលក្ខណៈពិសេស (Latent space features) សំខាន់ៗដោយស្វ័យប្រវត្តិ ដោយមិនបាច់ពឹងផ្អែកលើអ្នកជំនាញពេទ្យទាញយកឱ្យ។
  3. អនុវត្តការផ្ទេរចំណេះដឹង (Transfer Learning): ទាញយកម៉ូដែល EfficientNetV1MobileNetV1 ដែលមានស្រាប់នៅក្នុង Torchvision យកមកប្រើប្រាស់ជាមួយរូបភាព Spectrogram ដើម្បីស្រូបយកលក្ខណៈពិសេសពីរូបភាពតំណាងសញ្ញាបេះដូងបន្ថែមទៀត។
  4. បង្រួបបង្រួមម៉ូដែល (Ensemble Model Integration): បង្កើតបណ្ដាញសរសៃប្រសាទបញ្ចូលគ្នា ដោយយកលទ្ធផល (Features) ដែលបានពី CAE (សញ្ញាដើម) និង EfficientNet (រូបភាព Spectrogram) មកតភ្ជាប់គ្នា (Concatenate) រួចបញ្ជូនទៅកាន់ Fully Connected Layer ដើម្បីចាត់ថ្នាក់ប្រភេទជំងឺ។
  5. វាយតម្លៃ និងដាក់ឱ្យដំណើរការ (Evaluation & Deployment): វាស់ស្ទង់ប្រសិទ្ធភាពម៉ូដែលដោយប្រើ Confusion Matrix, Accuracy និង F1-Score តាមរយៈ Scikit-Learn។ បន្ទាប់មក បង្កើតចំណុចប្រទាក់វេបសាយតូចមួយដោយប្រើ FastAPIStreamlit ដើម្បីឱ្យគ្រូពេទ្យអាចបញ្ជូនឯកសារសញ្ញាផ្ទាល់ចូលប្រព័ន្ធ និងទទួលបានលទ្ធផលភ្លាមៗ។

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

ពាក្យបច្ចេកទេស ការពន្យល់ជាខេមរភាសា (Khmer Explanation) និយមន័យសាមញ្ញ (Simple Definition)
Electrocardiogram (ECG) ជាបច្ចេកទេសវេជ្ជសាស្ត្រដែលវាស់ និងកត់ត្រាសកម្មភាពអគ្គិសនីរបស់បេះដូងក្នុងទម្រង់ជារលកសញ្ញា ដើម្បីពិនិត្យមើលភាពប្រក្រតី ឬបញ្ហានៃការលោតរបស់បេះដូងអ្នកជំងឺ។ ដូចជាការថតចម្លងចរន្តភ្លើងដែលរត់កាត់ម៉ាស៊ីនបូមទឹក ដើម្បីដឹងថាម៉ាស៊ីននោះដើរស្រួលឬមានបញ្ហាខូចខាត។
Arrhythmia ជាស្ថានភាពដែលចង្វាក់បេះដូងលោតខុសប្រក្រតី វាអាចថាលោតញាប់ពេក យឺតពេក ឬលោតរអាក់រអួល ដែលជារោគសញ្ញាបញ្ជាក់ពីវត្តមាននៃជំងឺបេះដូងធ្ងន់ធ្ងរ។ ដូចជានាឡិកាដែលដើររំលងវិនាទី ឬដើរលឿនខុសធម្មតា ដែលបញ្ជាក់ថាថ្ម ឬគ្រឿងក្នុងរបស់វាមានបញ្ហា។
Convolutional Autoencoders (CAE) ជាប្រភេទបណ្ដាញសរសៃប្រសាទសិប្បនិម្មិតដែលរៀនបង្រួមទិន្នន័យ (Encode) ទៅជាទម្រង់តូចបំផុត រួចពង្រីកវាវិញ (Decode) ដើម្បីចាប់យកលក្ខណៈពិសេសសំខាន់ៗបំផុតរបស់ទិន្នន័យនោះដោយស្វ័យប្រវត្តិ។ ដូចជាការសង្ខេបសៀវភៅមួយក្បាលក្រាស់ឱ្យសល់ត្រឹមមួយទំព័រដែលផ្ទុកតែអត្ថន័យសំខាន់ រួចអាចសរសេរពង្រីកសាច់រឿងនោះឡើងវិញបានដោយមិនបាត់បង់អត្ថន័យដើម។
Transfer Learning ជាវិធីសាស្ត្រក្នុងបញ្ញាសិប្បនិម្មិត (AI) ដែលយកម៉ូដែលធ្លាប់បានហ្វឹកហាត់រួចជាស្រេចលើការងារមួយដ៏ធំ មកប្រើប្រាស់ និងកែសម្រួលបន្តិចបន្តួចសម្រាប់ការងារថ្មីមួយទៀតដែលស្រដៀងគ្នា ដើម្បីចំណេញពេលវេលា និងធនធាន។ ដូចជាការយកអ្នកដែលចេះជិះកង់ស្ទាត់ជំនាញស្រាប់ ទៅបង្រៀនឱ្យជិះម៉ូតូ ដែលគាត់អាចរៀនចេះលឿនជាងអ្នកដែលមិនធ្លាប់ចេះជិះអ្វីសោះ។
Spectrogram ជារូបភាពតំណាងដែលបង្ហាញពីបំរែបំរួលប្រេកង់ (Frequency) នៃរលកសញ្ញាណាមួយធៀបនឹងពេលវេលា ដែលជួយឱ្យកុំព្យូទ័រអាចមើលឃើញសញ្ញាអគ្គិសនីជាទម្រង់រូបភាពមានពណ៌ផ្សេងៗ។ ដូចជាការបំប្លែងសម្លេងចម្រៀងទៅជាគំនូរពណ៌រលកតន្ត្រីនៅលើអេក្រង់ ដើម្បីឱ្យយើងអាចមើលឃើញកម្រិតសំឡេងឡើងចុះដោយផ្ទាល់ភ្នែក។
Latent Space ជាទំហំផ្ទុកទិន្នន័យតូចចង្អៀតដែលត្រូវបានបង្រួមដោយកូដន័រ (Encoder) នៅក្នុង Autoencoder ដែលវាផ្ទុកនូវលក្ខណៈពិសេសស្នូល និងអត្ថន័យសំខាន់ៗបំផុតនៃទិន្នន័យដើមដោយគ្មានរឿងរំខាន (Noise)។ ដូចជាការបំប្លែងផ្លែឈើស្រស់មួយកន្ត្រកធំ ទៅជាទឹកស៊ីរ៉ូមួយដបតូចដែលនៅតែរក្សាបាននូវរសជាតិនិងខ្លឹមសារវីតាមីនដើមរបស់ផ្លែឈើនោះទាំងស្រុង។
EfficientNet ជាស្ថាបត្យកម្មបណ្ដាញសរសៃប្រសាទ (CNN) កម្រិតខ្ពស់ដែលត្រូវបានបង្កើនប្រសិទ្ធភាពក្នុងការទាញយកលក្ខណៈពិសេសពីរូបភាព ដោយវាធ្វើការពង្រីកទំហំ ជម្រៅ និងទទឹងរបស់បណ្ដាញដោយប្រើរូបមន្តគណិតវិទ្យាសមាមាត្រ។ ដូចជាការប្រើប្រាស់កែវពង្រីកឆ្លាតវៃដែលអាចមើលឃើញទាំងទិដ្ឋភាពជារួម និងចំណុចល្អិតៗនៃរូបភាពក្នុងពេលតែមួយ ដោយមិនចាំបាច់ប្រើកាមេរ៉ាធំកម្រិតខ្ពស់ឡើយ។
Confusion Matrix ជាតារាងរង្វាយតម្លៃដែលប្រើដើម្បីបង្ហាញយ៉ាងលម្អិតពីចំនួនទស្សន៍ទាយត្រូវ (True Positives/Negatives) និងចំនួនទស្សន៍ទាយខុស (False Positives/Negatives) របស់ម៉ូដែល AI ធៀបនឹងទិន្នន័យពិតជាក់ស្តែង។ ដូចជាតារាងកត់ត្រាពិន្ទុប្រឡង ដែលប្រាប់យ៉ាងច្បាស់ថាសិស្សម្នាក់ឆ្លើយត្រូវប៉ុន្មានសំណួរ ឆ្លើយខុសប៉ុន្មាន និងរំលងប៉ុន្មាន ដើម្បីដឹងពីចំណុចខ្សោយរបស់គាត់។

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

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

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