Machine Learning (ဘယ်လဲ ဘာလဲ)

အမှတ်စဉ် (၂) - အဓိပ္ပါယ်ဖွင့်ဆိုခြင်း

Sai Htaung Kham
4 min readApr 29, 2019

ပြီးခဲ့တဲ့ Post မှာတော့ ကျွန်တော် Machine Learning ရဲ့ မိတ်ဆက်နဲ့ပတ်သက်ပြီး ရေးသားခဲ့ပြီးဖြစ်ပါတယ်။ မဖတ်ရသေးတဲ့ တတ်သိပညာရှင်များရှိရင်လည်း အောက်က Link မှာ ဝင်ရောက်ဖတ်ရှုနိုင်ပါတယ်ခင်ဗျ။

ဒီ Post မှာတော့ ကျွန်တော် Machine Learning ရဲ့ တိကျတဲ့ အဓိပ္ပါယ်ဖွင့်ဆိုခြင်းနဲ့ သက်ဆိုင်ရာ ဥပမာတွေကို ရှင်းလင်းတင်ပြပေးဖို့ စဉ်းစားထားပါတယ်ခင်ဗျ။ Machine Learning ဆိုတဲ့ အဓိပ္ပါယ်ကို ရှင်းပြပါလို့ ကျွန်တော့်ကို ပြောလာရှင်တော့ ကျွန်တော်က တိုက်ရိုက်ဘာသာပြန် ပြီးရှင်းပြပါလိမ့်မယ်။ ဘာကြောင့်လည်းဆိုတော့ Machine Learning ဆိုတဲ့ စကားလုံးဟာ တိုက်ရိုက်ဘာသာပြန်ခြင်းအားဖြင့် ပြီးပြည့်စုံတဲ့ အဓိပ္ပါယ် ပါဝင်နေလို့ပဲဖြစ်ပါတယ်။ မြန်မာလို ရှင်းပြရင်တော့ စက်ပစ္စည်းများ လေ့လာသင်ကြားခြင်းလို့ တိုက်ရိုက် ဘာသာပြန်ရပါလိမ့်မယ်။ ဒါပေမယ့် စက်ပစ္စည်းများ အစား ကွန်ပျူတာစနစ်များ လို့သုံးနှုန်းရင် ပိုပြီးမှန်ကန်မယ်လို့ ကျွန်တော် ယူဆပါတယ်။ တိုက်ရိုက် ဘာသာပြန်ရာမှာ အဆင်မပြေမှုတွေ ချောမွေ့မှုတွေ မရှိတာကိုတော့ သတိထားမိကြမှာပါ။ ကျွန်တော့်ကို ရှင်းပြခိုင်းရင်တော့ ကျွန်တော်ကတော့ အောက်ပါအတိုင်း ရှင်းပြပါလိမ့်မယ်။

ကွန်ပျူတာစနစ်များ ကိုယ်တိုင် လေ့လာသင်ကြားခြင်း၊ ကွန်ပျူတာစနစ်များကို သင်ကြားပို့သပေးခြင်းလို့ အဓိပ္ပါယ်ဖွင့်ဆိုပြန်ရင်လည်း မမှားပါဘူး။

ဟုတ်ပါတယ်။ တတ်သိပညာရှင်များ ဖတ်တဲ့အတိုင်းပါပဲ။ ကွန်ပျူတာစနစ်များကို သင်ကြားပို့သပေးခြင်းပါ။ ဒီနေရာမှာ ဘယ်သူက ကွန်ပျူတာစနစ်ကို သင်ကြားပို့သပေးမှာပါလိမ့်။ ဘယ်လိုပုံစံနဲ့ သင်ကြားကြမှာပါလိမ့် စတဲ့ တစ်လိမ့်လိမ့် မေးခွန်းများ တတ်သိပညာရှင်တွေရဲ့ ခေါင်းထဲမှာ တစ်စတစ်စ ပေါ်လာမှာကိုတော့ သေချာပါတယ်။ စိတ်မလောသေးပါနဲ့ ခင်ဗျ။ ကျွန်တော်တို့ အတူလျှောက်လှမ်းမယ့် ဒီခရီးကြမ်းမှာ တတ်သိပညာရှင်များ သေချာပေါက် ထိတွေ့လေ့လာရမှာပါ။

ကွန်ပျူတာစနစ်ကို သင်ကြားပေးခြင်း

ကွန်ပျူတာစနစ်ကို အသိဉာဏ်တု ရှိလာအောင်၊ ဖြတ်ထိုးဉာဏ်တွေ အသိပညာ ဗဟုသုတတွေ တိုးတက်လာအောင် ဘယ်လို သင်ကြားပေးရမှာပါလိမ့်။ Wikipedia page တွေကို လက်ရှိ ကိုယ်သုံးနေတဲ့ ကွန်ပျူတာထဲကို Download ဆွဲပြီး ထားလိုက်ရင် ရော အဲ့ကွန်ပျူတာ ဗဟုသုတတွေ၊ ဖြတ်ထိုးဉာဏ်တွေ တိုးလာမှာလား။ ဒါမှမဟုတ် ကွန်ပျူတာကို အင်တာနက်နဲ့ချိပ်ထားလိုက်ရင်ရော သူ့ဟာသူ လေ့လာနိုင်မှာလား စတဲ့ လားပေါင်းများစွာသော မေးခွန်းတွေ ခေါင်းထဲမှာ ပေါ်လာပါလိမ့်မယ်။ ဟုတ်ပါပြီဗျာ လားပေါင်းများစွာထဲက ရုန်းထွက်ရအောင်ဗျာ။

Machine Learning ဆိုသည်မှာ အဘယ်နည်း။

Machine Learning is the field of study that gives computers the ability to learn without being explicitly programmed. — Arthur Samuel, 1959

Arthur Samuel ကတော့ Machine Learning ဆိုတာ ကွန်ပျူတာတွေကို ရှင်းလင်းတိကျတဲ့ ညွှန်ကြားချက်တွေ၊ Program တွေကို ရေးမထားဘဲ သူတို့ကိုယ်တိုင် လေ့လာသင်ကြားနိုင်အောင် လေ့လာတဲ့ဘာသာရပ်ကို Machine Learning ပါလို့ အဓိပ္ပါယ်ဖွင့်ဆိုထားပါတယ်။

A computer program is said to learn from experience E with respect to some task T and some performance measure P, if its performance on T, as measured by P, improves with experience E. — Tom Mitchell, 1997

Tom Mitchell ရဲ့ ရှင်းလင်းတင်ပြချက်ကတော့ နည်းနည်းရှုပ်ထွေးပါတယ်။ တကယ်လို့ ကွန်ပျူတာစနစ်ဟာ T ဆိုတဲ့ လုပ်ဆောင်ချက်ကို P ဆိုတဲ့ စွမ်းရည်နဲ့လုပ်ဆောင်ရင်း E ဆိုတဲ့ အတွေ့အကြုံပေါ်တိုးတက်မှုရှိလာမယ်ဆိုရင် အဲ့ဒီ ကွန်ပျူတာစနစ်ဟာ T ဆိုတဲ့ လုပ်ဆောင်ချက်ကို လုပ်ဆောင်ရင်း P ဆိုတဲ့စွမ်းရည်ရရှိကာ E ဆိုတဲ့ အတွေ့အကြုံကနေ သင်ယူနေတယ်လို့ သတ်မှတ်လို့ရပါတယ်။

လူပိန်းလိုနားလည်အောင် ရှင်းပြပါဆိုရင်တော့ ကွန်ပျူတာစနစ်ဟာ လုပ်ငန်းတစ်ခုပေါ်မှာ လုပ်ဆောင်နေရင်း အရင်ကလုပ်ဆောင်ခဲ့တဲ့ အမှားတွေကို လေ့လာသင်ယူကာ နောက်တစ်ခေါက်မမှားအောင် အမှားနည်းအောင် လုပ်ဆောင်ရင်း စွမ်းရည်တိုးတက်လာမယ် ဆိုရင် အဲ့ဒီ ကွန်ပျူတာစနစ်ဟာ သင်ယူလေ့လာနေတယ်လို့ ကျွန်တော်တို့ ယူဆလို့ရပါတယ်။

Machine Learning ၏ သာဓကများ

Machine Learning မှာ အခုတလော ရေပန်းစားနေတဲ့ ပြသနာတစ်ခုကတော့ Sentiment Analysis ပဲဖြစ်ပါတယ်။ Sentiment Analysis ဆိုတာကတော့ စာတစ်ကြောင်းဖြစ်စေ၊ စာတစ်ပိုဒ်ဖြစ်စေတဲ့ ရေးသားတဲ့စာပေါ်မူတည်ပြီးတော့ အဲ့ဒီစာတွေရဲ့ အဓိပ္ပါယ်ဟာ အကောင်းဘက်ဦးတည်နေတာလား၊ အဆိုးဘက်ဦးတည်နေတာလား စတဲ့ခွဲခြမ်းစိတ်ဖြာတဲ့ လုပ်ဆောင်ချက်ကို ဆိုလိုတာပါ။ အရင်တုန်းကတော့ Sentiment Analysis ကို Rule based approach အနေနဲ့ လုပ်ဆောင်နေကြပေမယ့် အခုနောက်ပိုင်း Machine Learning နည်းပညာထွန်းကား လာတာနဲ့အမျှ Machine Learning နည်းပညာကို အသုံးပြုပြီး လုပ်ဆောင်နေကြတာကို တွေ့ရပါလိမ့်မယ်။ အကြောင်းရင်းကိုတော့ မကြာခင် ကျွန်တော် ရှင်းလင်းသွားပါမယ်။

Source: https://www.twilio.com/docs/glossary/what-is-sentiment-analysis

ဘာလို့ ကျွန်တော်တို့ Machine Learning ကိုလိုအပ်တာပါလိမ့်

ကျွန်တော်တို့ မြန်မာစာကြောင်းကို ဥပမာထားပြီးလေ့လာကြည့်ရအောင်ဗျာ။ စာကြောင်းမှာ ကြိုက်နှစ်သက်တာနဲ့ မနှစ်သက်တာ ဆိုတဲ့ ပြသနာလေးကို ခွဲခြမ်းကြည့်ရအောင်။ ဒီလို ပြသနာကို Machine Learning မှာတော့ Classification ပြသနာလို့ ကျွန်တော်တို့ ခေါ်ဝေါ်ကြပါတယ်။ ကျွန်တော် အရမ်းပျော်တယ် ဆိုတဲ့ စာကြောင်းမှာတော့ ကျွန်တော်တို့ လူသားတွေ အတွက် ခွဲခြမ်းစိတ်ဖြာရာမှာ အရမ်းလွယ်ကူပါလိမ့်မယ်။ အဲ့ဒီစာကြောင်းဟာ နှစ်သက်မှုကို ဖော်ပြနေတယ်ဆိုတာကိုတော့ လူသားတွေ မြင်တာနဲ့ တန်းသိနိုင်ပါတယ်။ ကွန်ပျူတာမှာ​ရော Program ရေးပြီး ခွဲခြမ်းစိတ်ဖြာမှုမလုပ်နိုင်ဘူးလားလို့ မေးနိုင်ပါတယ်။ လုပ်နိုင်တာပေါ့ဗျာ... ဥပမာ အရမ်းပျော်တယ် ဆိုတဲ့ စာလုံးတွေ ပါရင် ခွဲခြားလို့ရပြီပဲမဟုတ်လား။ နောက်စာတစ်ကြောင်းကို ကြည့်ရအောင်ဗျာ။ ကျွန်တော် အရမ်းဝမ်းနည်းတယ် ဆိုတဲ့ စာကြောင်းကို ကြည့်ရအောင်ဗျာ။ ဒါလည်း လွယ်ပါတယ် ဝမ်းနည်းတယ် ဆိုတဲ့ စာကြောင်းလေးပါရင် ရပြီပဲမဟုတ်လားပေါ့။ ဒီလိုနဲ့ Rule Based Approach (စည်းမျဉ်းစည်းကမ်း)တွေ သတ်မှတ်ပြီး Program ရေးရင်တော့ သေချာတာတစ်ခုက အမြဲတမ်း Maintenance လုပ်မယ့်လူလိုအပ်နေသလို၊ Dictionary မှာရှိတဲ့ စကားလုံးလောက်သာ Rule တွေကို သတ်မှတ်နိုင်မှာပါ။ အရမ်းလန်းတယ်ဗျာ။ အရမ်းမိုက်တယ်။ နိုင်းလောက်ရှိတယ်။ ချိဖ ၊ ချိမ၊ ညလေး၊ မွင်းဂါး စတဲ့ ခေတ်ပေါ် စကားလုံးတွေရော ဘယ်လိုလုပ်မှာလဲ။ သေချာတာတစ်ခုကတော့ Rule Based Approach နဲ့သာသွားရင်တော့ လွယ်ကူမယ်မထင်ဘူးဗျ။

အဲ့လို တိတိကျကျ Program ရေးပြီးဖြေရှင်းလို့ မရတော့တဲ့ ခက်ခဲတဲ့ ပြသနာမျိုးတွေကို ဖြေရှင်းရာမှာ Machine Learning ဟာ ထိရောက်မှုရှိတယ်လို့ ဆိုနိုင်ပါတယ်။

ခုဏက ပြသနာကို Machine Learning နဲ့ ဖြေရှင်းမယ်ဆိုရင် Machine Learning ဟာ ဘာကို ကြည့်ပြီး ခွဲခြမ်းစိတ်ဖြာမှာလဲ စတဲ့ မေးခွန်းတွေ သိတတ်ပညာရှင်တွေရဲ့ ခေါင်းထဲမှာ ပေါ်နေလောက်ပါပြီ။ ဒါကတော့ Machine Learning Engineer ရဲ့ Machine Learning Model တည်ဆောက်ပုံပေါ်မူတည်ပြီး ကွဲပြားပါတယ်ခင်ဗျ။ ဒီနေရာမှာ ကျွန်တော်Model လို့ သုံးနှုန်းထားပါတယ်။ Model ဆိုတာကတော့ နားလည်ရလွယ်အောင် Program လို့သာ မှတ်ယူလို့ရပါတယ်။ နောင်လည်း ကျွန်တော် အသေးစိတ်ရှင်းပြဖို့ရှိပါတယ်ခင်ဗျ။

ဥပမာ စာကြောင်းလေးတွေ ကြည့်ရအောင်ဗျာ။ ဒီဟာက နိုင်းလောက်ရှိတယ်။ အရမ်းကောင်းတယ်ဗျာ။ ဆိုတဲ့ စာကြောင်းလေးကြည့်ရအောင်။ ဒီနေရာမှာ Machine Learning Model ဟာ အရမ်းကောင်းတယ် ဆိုတဲ့ စာကြောင်းလေးကိုပဲ မြင်ဖူးတယ်လို့ မှတ်ယူကြပါစို့။ ဒါဆို ဒီဟာက နိုင်းလောက်ရှိတယ် ဆိုတဲ့ စာကြောင်းကို ဘယ်လို သဘောပေါက်နိုင်မှာလဲ။ ဘယ်လို အဓိပ္ပါယ်ဖွင့်ဆိုကြမှာလဲပေါ့။ Machine Learning ကို မပြောခင်မှာ ကျွန်တော်တို့ အနေနဲ့ရော ဒီစာကြောင်းကို ဘယ်လိုသိနိုင်မှာလဲ တကယ်လို့ အခုမှ ပထမဆုံးအကြိမ် တွေ့ခဲ့မယ်ဆိုရင်။ စဉ်းစားကြည့်ပါဗျ။ ကျွန်တော်သာဆိုရင် အနောက်က အရမ်းကောင်းတယ်ဗျာ ဆိုတဲ့ စာကြောင်းကို ကြည့်ပြီး ဒီဟာက နိုင်းလောက်ရှိတယ် ဆိုတဲ့ စာကြောင်းဟာ အကောင်းဘက်ဆန်တယ်။ ကြိုက်နှစ်သက်တာကို အဓိပ္ပါယ်ရှိတယ်လို့ မှတ်ယူနိုင်ပါတယ်။ ဒါလည်းမှားကောင်းမှားနိုင်ပါတယ်။ ဒါပေမယ့် ၃၊ ၄၊ ၅ ခါလောက် နိုင်းလောက်ရှိတယ် ဆိုတဲ့ စာကြောင်းဟာ ကြိုက်နှစ်သက်တာကို ဖော်ပြတဲ့ စာကြောင်းတွေနဲ့ ခဏခဏ တွဲပြီးပါလာရင်တော့ သေချာပြီပေါ့ဗျာ... နိုင်းလောက်ရှိတယ် ဆိုတဲ့ အဓိပ္ပါယ်ဟာ ကြိုက်နှစ်သက်တယ် ဆိုတဲ့ အဓိပ္ပါယ်ကို ဖော်ပြနေတာ။ Machine Learning Model တွေလည်း ဒီလိုပါပဲ အပေါ်က နည်းလမ်းအတိုင်း Machine Learning Engineer တွေသာ Design ဆွဲပြီး တည်ဆောက်ခဲ့မယ်ဆိုရင် ကျွန်တော် ဖော်ပြခဲ့တဲ့ ဥပမာအတိုင်း သူတို့ကိုယ်တိုင်သူတို့ လေ့လာနိုင်တာကို တွေ့ရပါလိမ့်မယ်။

စိတ်ဝင်စားဖို့ မကောင်းဘူးလားဗျာ။ Machine Learning နည်းပညာတွေဟာ လူတွေရဲ့ ပတ်ဝန်းကျင်အပေါ် သဘောပေါက်မှု၊ လေ့လာသင်ယူမှုတွေအတိုင်း လေ့လာနိုင်တယ် ဆိုတဲ့ အချက်ဟာ ကျွန်တော့်အတွက် အရမ်းကို စိတ်လှုပ်ရှားစရာ အကောင်းဆုံး အချက်တစ်ချက်ပါပဲခင်ဗျ။ အမှန်တော့ နာမည်ကျော် Neural Network၊ Convolutional Neural Network၊ Long Short Term Memory စတဲ့ နာမည်ကျော် Deep Learning Algorithms တွေဟာလည်း လူတွေရဲ့ ဇီ၀ဗေဒ ဖြစ်စဉ်တွေကို အတုယူကာ တည်ဆောက်ထားတဲ့ နည်းပညာတွေပဲ ဖြစ်ပါတယ်ခင်ဗျ။ ခုဏကဖော်ပြလိုက်တဲ့ စကားလုံးတွေ နဲ့ပတ်သက်ပြီး နောင်လည်း အခွင့်ကြုံရင် Post လေးရေးပြီး ရှင်းပြသွားဖို့ အစီအစဉ်ရှိပါတယ်ခင်ဗျ။ အခုလောလောဆယ်တော့ နားမလည်သေးရင်လည်း ခဏလောက်မေ့ထားလို့ရပါတယ်ခင်ဗျ။

အခုဆိုရင်တော့ သိတတ်ပညာရှင်တွေ Machine Learning ကဘာလို့လိုလဲ။ ဘာအတွက် အသုံးဝင်လဲ။ သူတို့တွေ အကြမ်းဖျင်း သူတို့ကိုသူတို့ ဘယ်လို လေ့လာ နိုင်လဲ စတဲ့ အကြမ်းဖျင်း သဘောပေါက်မှုတွေ ရကြပြီလို့ ယူဆပါရစေဗျာ။

သာမန် Program ကိုရေးသားပြီး ပြသနာကို ဖြေရှင်းခြင်း
Machine Learning ကို အသုံးပြုပြီး ပြသနာဖြေရှင်းခြင်း

ဒီနေ့တော့ ဒီလောက်နဲ့ နားလိုက်ရအောင်ဗျာ... ကျွန်တော်လည်း ဗိုက်ဆာလာပြီ ခဏလေး သွားဆွဲလိုက်ဦးမယ်ဗျာ... လာမယ့် Post ကိုတော့ Machine Learning အမျိုးအစားနဲ့ ပတ်သက်ပြီး ဆွေးနွေးကြရအောင်လားဗျာ... 😁

အမှတ်စဥ် (၃) သို့

--

--

Sai Htaung Kham

Research Engineer working on AI. Make things work beyond its limitation.