Original Title: Deep Recurrent and Convolutional Neural Networks for Automated Behavior Classification
Source: cs.brown.edu
Disclaimer: Summary generated by AI based on the provided document. Please refer to the original paper for full scientific accuracy.

បណ្ដាញសរសៃប្រសាទសិប្បនិម្មិត Recurrent និង Convolutional សម្រាប់ចំណាត់ថ្នាក់អាកប្បកិរិយាដោយស្វ័យប្រវត្តិ

ចំណងជើងដើម៖ Deep Recurrent and Convolutional Neural Networks for Automated Behavior Classification

អ្នកនិពន្ធ៖ Zachary Nado (Brown University)

ឆ្នាំបោះពុម្ព៖ 2015

វិស័យសិក្សា៖ Computer Science / Machine Learning

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

បញ្ហា (The Problem)៖ ការវិភាគអាកប្បកិរិយាសត្វក្នុងការស្រាវជ្រាវជីវវេជ្ជសាស្រ្តគឺជាដំណើរការដែលចំណាយពេលច្រើននិងងាយរងកំហុស (ឧទាហរណ៍៖ មនុស្សត្រូវការ ២៥ នាទីដើម្បីវិភាគវីដេអូត្រឹម ១ នាទី) ដែលទាមទារឱ្យមានប្រព័ន្ធកុំព្យូទ័រស្វ័យប្រវត្តិកម្មជំនួស។

វិធីសាស្ត្រ (The Methodology)៖ ការសិក្សានេះប្រើប្រាស់ឧបករណ៍កត់ចំណាំវីដេអូតាមគេហទំព័រ ដើម្បីប្រមូលទិន្នន័យ និងសាងសង់គំរូបញ្ញាសិប្បនិម្មិត (Deep Learning) សម្រាប់ចាត់ថ្នាក់សកម្មភាពសត្វកណ្តុរ។

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

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

វិធីសាស្ត្រ (Method) គុណសម្បត្តិ (Pros) គុណវិបត្តិ (Cons) លទ្ធផលគន្លឹះ (Key Result)
SVMHMM with HMAX and Background Subtraction (Current System)
ប្រព័ន្ធចាស់ប្រើប្រាស់ SVMHMM ជាមួយ HMAX និងការកាត់ផ្ទៃខាងក្រោយ
ដំណើរការបានល្អគួរសមលើការកត់ត្រាសកម្មភាព និងធ្លាប់ប្រើប្រាស់ជាស្តង់ដារក្នុងមន្ទីរពិសោធន៍។ ត្រូវការការកែសម្រួលដោយមនុស្សច្រើន និងងាយរងបរាជ័យពេលមានការផ្លាស់ប្តូរបរិស្ថានតិចតួច (ដូចជាពន្លឺ ឬទីតាំងទ្រុង)។ ទទួលបានភាពត្រឹមត្រូវប្រមាណ ៨០% តែចំណាយពេលយូរក្នុងការរៀបចំទិន្នន័យ។
Pretrained CNN with Shape and Motion Features
បណ្តាញ CNN ប្រើលក្ខណៈរូបរាងនិងចលនា ដែលបានហ្វឹកហាត់ជាមុន (Pretrained)
មានភាពត្រឹមត្រូវខ្ពស់បំផុត មិនត្រូវការកាត់ផ្ទៃខាងក្រោយ សម្របខ្លួនបានល្អ និងដំណើរការលឿនខ្លាំង (១២ វិនាទី សម្រាប់វីដេអូ ១ នាទី)។ អាចនៅមានការភាន់ច្រឡំខ្លះរវាងសកម្មភាពដែលស្រដៀងគ្នាខ្លាំង (ឧទាហរណ៍៖ ការហិត និងការសម្អាតខ្លួន)។ ទទួលបានភាពត្រឹមត្រូវខ្ពស់បំផុតរហូតដល់ ៨៣.៦% និងមានល្បឿនលឿនជាងប្រព័ន្ធចាស់ ៨ ដង។
Long-Term Recurrent Convolutional Networks (LSTM)
បណ្តាញសរសៃប្រសាទ LSTM សម្រាប់វិភាគលំដាប់ពេលវេលា
មានសក្តានុពលខ្ពស់ក្នុងការយល់ដឹងពីទំនាក់ទំនងទិន្នន័យតាមពេលវេលាបន្តបន្ទាប់។ ត្រូវការទិន្នន័យច្រើនខ្លាំងដើម្បីហ្វឹកហាត់ បើមិនដូច្នេះទេវានឹងងាយរៀនទន្ទេញ (Overfitting) ដែលធ្វើឲ្យលទ្ធផលមិនសូវល្អ។ ទទួលបានភាពត្រឹមត្រូវត្រឹម ៨១.៤% ដែលទាបជាងការរំពឹងទុកដោយសារកង្វះទិន្នន័យហ្វឹកហាត់។

ការចំណាយលើធនធាន (Resource Cost)៖ ការសិក្សានេះទាមទារធនធានកុំព្យូទ័រដែលមានកម្លាំងក្រាហ្វិកខ្លាំង និងការកសាងប្រព័ន្ធប្រមូលទិន្នន័យវីដេអូដែលទាមទារកម្លាំងពលកម្មមនុស្សច្រើនក្នុងការកត់ចំណាំ (Annotation)។

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

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

ទិន្នន័យត្រូវបានប្រមូលផ្តុំនៅក្នុងមជ្ឈមណ្ឌលជីវវេជ្ជសាស្ត្រ Brown ទៅលើសត្វកណ្តុរពិសោធន៍ក្នុងបរិយាកាសទ្រុងដែលគ្រប់គ្រងបានយ៉ាងល្អ (ពន្លឺថេរ, កាមេរ៉ាអាំងប្រារ៉េដ)។ សម្រាប់ប្រទេសកម្ពុជា ការពឹងផ្អែកលើបរិស្ថានថេរពេកអាចជាបញ្ហាបើសិនជាត្រូវអនុវត្តប្រព័ន្ធនេះក្នុងកសិដ្ឋានបើកចំហរ ឬតំបន់ព្រៃដែលពន្លឺនិងទីតាំងកាមេរ៉ាមិនមានស្ថិរភាពពេញលេញ។

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

ទោះបីជាការសិក្សានេះផ្តោតលើសត្វកណ្តុរក្នុងមន្ទីរពិសោធន៍ក៏ដោយ វិធីសាស្ត្រនៃការប្រើប្រាស់ Computer Vision នេះមានសក្តានុពលខ្ពស់សម្រាប់ការអភិវឌ្ឍនិងអនុវត្តនៅកម្ពុជា។

សរុបមក បច្ចេកទេស Deep Learning សម្រាប់ការវិភាគវីដេអូនេះ គឺជាឧបករណ៍ដ៏មានតម្លៃដែលអាចបំប្លែងការងារស្រាវជ្រាវដោយដៃដែលចំណាយពេលយូររាប់ម៉ោង ទៅជាប្រព័ន្ធស្វ័យប្រវត្តិកម្មដ៏ឆ្លាតវៃក្នុងវិស័យកសិកម្ម សុខាភិបាល និងការអភិរក្សនៅកម្ពុជា។

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

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

  1. រៀបចំទិន្នន័យ និងទាញយករូបភាពពីវីដេអូ (Video Preprocessing): ប្រើប្រាស់ OpenCV និង FFMPEG ដើម្បីទាញយករូបភាពពីវីដេអូជាស៊ុម (Frames) រួចបម្លែងទំហំនិងពណ៌ (Grayscale) ដើម្បីត្រៀមបញ្ចូលទៅក្នុងប្រព័ន្ធ AI។
  2. គូសចំណាំទិន្នន័យដោយប្រើប្រព័ន្ធជំនួយ (Data Annotation): សាកល្បងប្រើប្រាស់កម្មវិធីទំនើបៗដូចជា CVAT (Computer Vision Annotation Tool)Roboflow ដើម្បីគូសចំណាំ (Annotate) សកម្មភាពនៅក្នុងវីដេអូ ជំនួសឲ្យការបង្កើត Web-tool ខ្លួនឯងដែលចំណាយពេលយូរ។
  3. កសាងម៉ូដែលកែច្នៃរូបភាព (Build CNN Models & Transfer Learning): ចាប់ផ្តើមអនុវត្តម៉ូដែល AlexNetResNet ដោយប្រើប្រាស់ PyTorchTensorFlow (ជំនួសឲ្យ Caffe ដែលហួសសម័យ) និងអនុវត្តបច្ចេកទេស Pretraining (Transfer Learning) ដើម្បីបង្កើនភាពត្រឹមត្រូវលឿនជាងការចាប់ផ្តើមពីសូន្យ។
  4. កែសម្រួល Hyperparameters ដើម្បីបង្កើនប្រសិទ្ធភាព (Hyperparameter Optimization): អនុវត្តការប្រើប្រាស់ Batch Normalization, ឧបករណ៍ Solver RMSPropAdam, និងកំណត់ Gradient Clipping ដើម្បីកាត់បន្ថយបញ្ហា Unstable Gradient ដែលធ្វើឲ្យម៉ូដែលពិបាករៀន។
  5. បន្ថែមការវិភាគតាមលំដាប់ពេលវេលា (Incorporate Temporal Analysis): នៅពេលដែលអ្នកមានទិន្នន័យវីដេអូដែលបានគូសចំណាំយ៉ាងច្រើនសន្ធឹកសន្ធាប់ សូមសាកល្បងបន្ថែមស្រទាប់ LSTMGRU ពីលើបណ្តាញ CNN ដើម្បីឲ្យប្រព័ន្ធអាចយល់ពីលំហូរនៃសកម្មភាពសត្វបន្តបន្ទាប់គ្នាតាមពេលវេលាពិតប្រាកដ។

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

ពាក្យបច្ចេកទេស ការពន្យល់ជាខេមរភាសា (Khmer Explanation) និយមន័យសាមញ្ញ (Simple Definition)
Convolutional Neural Networks បណ្ដាញសរសៃប្រសាទសិប្បនិម្មិតដែលត្រូវបានរចនាឡើងយ៉ាងពិសេសសម្រាប់វិភាគទិន្នន័យរូបភាពនិងវីដេអូ ដោយប្រើប្រាស់តម្រង (Filters) ដើម្បីស្កេនរកលក្ខណៈពិសេសៗដូចជា គែម ទ្រង់ទ្រាយ និងចលនារបស់វត្ថុ។ ដូចជាមនុស្សកំពុងយកកែវពង្រីកមកឆ្លុះមើលរូបភាពម្ដងមួយចំណែកតូចៗ ដើម្បីដឹងថាវត្ថុក្នុងរូបភាពនោះមានរូបរាងជាអ្វី។
Long-Short Term Memory (LSTM) ប្រភេទបណ្ដាញសរសៃប្រសាទ Recurrent (RNN) ដែលមានសមត្ថភាពចងចាំព័ត៌មានពីអតីតកាលក្នុងរយៈពេលវែង និងអាចសម្រេចចិត្តថាតើព័ត៌មានណាគួរបន្តរក្សាទុក ឬគួរលុបចោល សម្រាប់ការវិភាគទិន្នន័យតាមលំដាប់ពេលវេលា (ដូចជាវីដេអូ)។ ដូចជាការអានសៀវភៅរឿង ដែលអ្នកត្រូវចងចាំតួអង្គសំខាន់ៗតាំងពីដើមរឿង និងបំភ្លេចចោលព័ត៌មានតូចតាចដែលមិនសំខាន់ ដើម្បីយល់សាច់រឿងទាំងមូល។
Batch normalization បច្ចេកទេសក្នុង Deep Learning ដែលធ្វើឲ្យទិន្នន័យបញ្ចូល (Inputs) នៃស្រទាប់នីមួយៗក្នុងបណ្ដាញទៅជាទម្រង់ស្តង់ដាររួមមួយ ដែលជួយឲ្យម៉ូដែលរៀនបានលឿន និងមានស្ថិរភាពជាងមុន។ ដូចជាការប្ដូររូបិយប័ណ្ណបរទេសចម្រុះជាច្រើន ទៅជារូបិយប័ណ្ណតែមួយ (ឧទាហរណ៍៖ ដុល្លារ) ដើម្បីឲ្យគណនេយ្យករងាយស្រួលគណនានិងធ្វើការលឿនជាងមុន។
Gradient Clipping យន្តការសម្រាប់ទប់ស្កាត់បញ្ហាការកើនឡើងខ្លាំងខុសប្រក្រតីនៃការគណនា (Exploding Gradient Problem) ក្នុងពេលហ្វឹកហាត់ម៉ូដែល ដោយកំណត់កម្រិតអតិបរមានៃទំហំតួលេខ Gradient មិនឲ្យលើសពីតម្លៃដែលបានកំណត់។ ដូចជាការកំណត់ល្បឿនអតិបរមារបស់រថយន្ត ដើម្បីការពារកុំឲ្យរថយន្តបើកលឿនពេកហួសពីការគ្រប់គ្រងដែលនាំឲ្យមានគ្រោះថ្នាក់។
Pretraining ដំណើរការនៃការយកម៉ូដែល AI ដែលត្រូវបានហ្វឹកហាត់រួចជាស្រេចលើទិន្នន័យដ៏ធំ (ដូចជា ImageNet) មកប្រើប្រាស់ជាមូលដ្ឋានសម្រាប់ដោះស្រាយបញ្ហាថ្មី ដើម្បីសន្សំពេលវេលា និងបង្កើនភាពត្រឹមត្រូវ។ ដូចជាការជួលចុងភៅដែលមានបទពិសោធន៍ធ្វើម្ហូបអឺរ៉ុបរួចហើយ មកបង្ហាត់បន្ថែមបន្តិចបន្តួចឲ្យចេះធ្វើម្ហូបខ្មែរ លឿនជាងការយកអ្នកអត់ចេះសោះមកបង្រៀនពីសូន្យ។
Backpropogation ក្បួនគណិតវិទ្យាដែលជួយប្រាប់បណ្ដាញសរសៃប្រសាទអំពីរបៀបកែតម្រូវទម្ងន់ (Weights) របស់វាដោយផ្ញើព័ត៌មានពីកំហុសឆ្គងត្រឡប់ពីស្រទាប់ចុងក្រោយទៅស្រទាប់ដំបូង ដើម្បីកាត់បន្ថយកំហុសនៅក្នុងការទស្សន៍ទាយលើកក្រោយ។ ដូចជាចៅហ្វាយនាយម្នាក់ឃើញកំហុសលទ្ធផលការងារចុងក្រោយ រួចដើរប្រាប់កូនចៅតាមផ្នែកនីមួយៗត្រឡប់ទៅក្រោយវិញ ដើម្បីឲ្យពួកគេកែតម្រូវការងាររៀងៗខ្លួន។
Hyperparameter អថេរឬការកំណត់កម្រិតជាមុនដែលអ្នកអភិវឌ្ឍត្រូវកំណត់ដោយផ្ទាល់ (ដូចជា Learning Rate ឬ Batch Size) មុនពេលចាប់ផ្ដើមហ្វឹកហាត់ម៉ូដែល AI ដោយវាមិនមែនជាតម្លៃដែលម៉ូដែលរៀនដោយខ្លួនឯងនោះទេ។ ដូចជាការកំណត់កម្ដៅនិងពេលវេលានៅលើម៉ាស៊ីនដុតនំ (Oven) ជាមុន អ្នកត្រូវកំណត់ឲ្យត្រូវទើបនំឆ្អិនល្អ។
Overfitting បញ្ហាដែលកើតឡើងនៅពេលម៉ូដែល AI រៀនទន្ទេញទិន្នន័យហ្វឹកហាត់បានល្អពេក រហូតដល់វាបរាជ័យក្នុងការទស្សន៍ទាយឲ្យបានត្រឹមត្រូវនៅពេលជួបប្រទះទិន្នន័យថ្មីដែលវាមិនធ្លាប់ឃើញពីមុន។ ដូចជាសិស្សដែលខំទន្ទេញចម្លើយវិញ្ញាសាចាស់ៗចាំរត់មាត់ តែប្រឡងធ្លាក់នៅពេលគ្រូចេញលំហាត់ថ្មីដែលមានទម្រង់ខុសពីមុនបន្តិចបន្តួច។

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

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

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