Machine Learning (ဘယ်လဲ ဘာလဲ)
အမှတ်စဉ် (၁) — မိတ်ဆက်ခြင်း
Machine Learning နဲ့ပတ်သက်ပြီး ကျွန်တော် လေ့လာခဲ့သမျှ အသိပညာတွေကို ဒီ Series ကနေတစ်ဆင့် မျှဝေပေးဖို့ မျှော်လင့်ပါတယ် ခင်ဗျာ… ရည်ရွယ်ချက်အနေနဲ့တော့ ထွေထွေထူးထူး မရှိပါဘူးခင်ဗျ… Machine Learning နဲ့ပတ်သက်ပြီး ဆောင်းပါးတွေ Tutorial တွေဟာ တခြားနိုင်ငံခြား ဘာသာစကား တွေအနေနဲ့ အများကြီး ရှိနေတာကိုတော့ ကျွန်တော်သတိထားမိပါတယ် ဒါပေမယ့် ဘာသာစကားအခက်အခဲကြောင့် သော်လည်းကောင်း အကြောင်းအမျိုးမျိုးကြောင့် သော်လည်းကောင်း Machine Learning ကိုလေ့လာဖို့ နားလည်ဖို့ အခက်အခဲ ရှိတဲ့လူတွေအတွက် အထောက်အကူပြုဖို့ရယ် နောက်တစ်ချက်ကတော့ ကျွန်တော်လေ့လာခဲ့သမျှကို ကိုယ်ပိုင် Note လေးအနေနဲ့ တစ်ချိန်ချိန် ပြန်လည် ဖတ်ရှုနိုင်ဖို့ ရည်ရွယ်ချက်အနေနဲ့ ဒီ Series ကိုရေးသားရခြင်းဖြစ်ပါတယ်… Machine Learning နဲ့ ပတ်သက်ပြီး သိတတ်ကျွမ်းကျင်တဲ့ ဆရာသမားတွေ အများကြီးရှိပြီးသားလို့ ကျွန်တော်ယူဆပါတယ်… အမှားများ တစ်စုံတစ်ရာရှိခဲ့ပါက ကျွန်တော့်ကို အကြောင်းကြားပေးကြပါလို့ မေတ္တာရပ်ခံအပ်ပါတယ်ခင်ဗျာ…
Machine Learning ရဲ့အလားအလာ
လွန်ခဲ့တဲ့ ၅ နှစ်လောက်ကစပြီး Machine Learning ဟာ ၂၁ ရာစုရဲ့ နာမည်အကြီးဆုံး Hot Job တစ်ခုအနေနဲ့ ရပ်တည်နေတာကို တွေ့ရကြမှာပါ... Machine Learning Engineer တွေဟာ တခြား Software Engineer တွေထက် လစာကောင်းတယ် စျေးကွက် ဝယ်လိုအားကောင်းတယ်ဆိုတဲ့အချက်ကို ဘယ်သူမှ ငြင်းကြလိမ့်မယ် မထင်ပါဘူး... အခုနာမည်ကြီးနေတဲ့ Application တော်တော်များများဟာလည်း Machine Learning နည်းပညာကို မသုံးရင် သုံးရတာ အရသာမတွေ့ကြသလို သုံးရတဲ့နေရာမှာလည်း ငြီးငွေ့စရာကောင်းလောက်အောင် ဖြစ်နေတဲ့ အဆင့်တွေရှိနေပါပြီ...
Machine Learning တွေကို ဘယ်မှာ သုံးကြလဲ၊ ဘာတွေအတွက် အသုံးဝင်လဲဆိုတာကိုတော့ Machine Learning ရဲ့ အဓိပ္ပါယ်တွေကို မဖွင့်ဆိုခင်၊ မရှင်းလင်းခင်မှာ အရင်ဆုံးမိတ်ဆက် ပေးချင်ပါတယ် ခင်ဗျာ...
Machine Learning နည်းပညာတစ်ချို့ အသုံးပြုတဲ့ နေရာတွေကတော့ အောက်ပါအတိုင်းဖြစ်ပါတယ်...
(၁) ဒါကတော့ Machine Learning နည်းပညာကို အသုံးပြုပြီး ပြုလုပ်ထားတဲ့ စိတ်ဝင်စားစရာ Application လေးပဲဖြစ်ပါတယ်... ကိုယ်ဆွဲခဲ့တဲ့ ပုံသည်အနီးစပ်ဆုံး ဘယ်ပုံတွေနဲ့ ဆင်တူလဲ ဘာပုံကို ဆွဲနေလဲ စတာတွေကို Machine Learning နည်းပညာသုံးပြီး ခန့်မှန်းတဲ့ Application လေးပဲဖြစ်ပါတယ်... စမ်းသုံးကြည့်ကြပါခင်ဗျာ...
(၂) လူတိုင်း Online Shopping ကိုတော့ သုံးဖူးကြလိမ့်မယ်လို့ထင်ပါတယ်... Online shopping ကို အသုံးပြုနေချိန်မှာ အောက်မှာ ဖော်ပြထားတဲ့ အခြေအနေတွေနဲ့ ရင်ဆိုင်ကြဖူးလားခင်ဗျ...
အပေါ်ကပုံကတော့ Recommendation System လို့ခေါ်ပါတယ်ခင်ဗျာ... Recommendation System ဆိုတာကတော့ Customer ဟာ ပစ္စည်းတစ်ခုဝယ်ရင် အဲ့ဒီအပြင် တခြားပစ္စည်းတွေရော ဘာတွေဝယ်နိုင်သေးလဲ။ ဘယ်လိုပစ္စည်းတွေက Customer တွေဆက်ပြီး ဝယ်သင့်လဲ စတဲ့ အကြံပေးတဲ့ စနစ်တွေမှာ Machine Learning နည်းပညာတွေပါ ထည့်သွင်းအသုံးပြုထားတာကို တွေ့နိုင်ပါသေးတယ် ခင်ဗျာ... အပေါ်ကပုံမှာဆိုရင် ကျွန်တော့်ရဲ့ Amazon Account ထဲကနေ ပုံဆွဲစာအုပ်လေး ဝယ်ပါမယ်ဆိုပြီး Shopping Cart ထဲကို ထည့်လိုက်ပါတယ်... တပြိုင်နက်တည်းမှာပဲ အောက်နားလေးမှာ ဒီပုံဆွဲစာအုပ်ကို ဝယ်တယ်ဆိုရင်တော့ ရောင်စုံခဲတံလေးနဲ့ ကလေး ပုံဆွဲနည်းစာအုပ်လေးလည်း ဝယ်သင့်တယ်ဆိုပြီး Recommender System လေးက အကြံပေးတဲ့အနေနဲ့ အပေါ်မှာ ဖော်ပြထားတဲ့ အတိုင်း ပစ္စည်းတွေကို ယှဉ်တွဲ ပြီး စျေးနှုန်းတွေကိုလည်း ဖော်ပြထားပါသေးတယ် ခင်ဗျာ...
(၃) မြန်မာမှာတော့ ဘယ် သီချင်း Application ကရေပန်းစားနေလဲဆိုတာတော့ ကျွန်တော် မသိပါဘူးခင်ဗျာ... လက်ရှိ ဂျပန်မှာ ရေပန်းစားနေတဲ့ Application ကတော့ Spotify ပဲဖြစ်ပါတယ်ခင်ဗျ... Spotify မှာလည်း Machine Learning နည်းပညာကို အသုံးပြုပြီးတော့ အသုံးပြုသူ User တစ်ဦးချင်းအတွက် ဘယ်သီချင်းက သင့်တော်တယ် ဘယ်သီချင်းက အပ်ဆပ်မှု ရှိတယ် စတာတွေကို အကြံဉာဏ်ပေးတဲ့ စနစ် Recommendation System အသုံးပြုထားတာကို သိသိသာသာ သိမြင်နိုင်ပါတယ်... ကျွန်တော့်အမြင်ပြောရမယ်ဆိုရင် Spotify ရဲ့ Recommendation System ဟာ ကျွန်တော့်ကိုယ်တိုင်ထက် ကျွန်တော့် အကြိုက်ကို ပိုလို့တောင် သိနေသလို ခံစားရပါတယ်... အဲ့ဒီစနစ်ကနေတစ်ဆင့် အကြံဉာဏ်ပေးတာ မိတ်ဆက်ပေးတဲ့ သီချင်းတွေက ကျွန်တော် အကြိုက်နဲ့ ကိုက်ညီမှု ရှိနေသလို တစ်ခါတစ်လေ ကျွန်တော် အရင်က အရမ်းကြိုက်ခဲ့တဲ့ သီချင်းဟောင်းတွေကိုလည်း မိတ်ဆက်ပေးတဲ့အထိ ဉာဏ်ရည်ထက်မြတ်နေတာကို တွေ့ရတော့ အရမ်းကို အဲ့ဩမင်သက်စေပါတယ်... ဒါကလည်း Machine Learning နည်းပညာကို မသုံးရင် အဲ့လောက် အကောင်းတဲ့ Recommendation System ကို ဖန်တီးလို့မရနိုင်ဘူးလို့ ယူဆပါတယ်... လက်ရှိမှာလည်း ကျွန်တော်က Recommendation System နဲ့ အလုပ်လုပ်နေတဲ့အတွက်ကြောင့် အချိန်ရရင် ရသလို နောင်လည်း Recommendation System အကြောင်းအလုပ်လုပ်ပုံကို တင်ပြပေးဖို့ ရည်ရွယ်ချက်ရှိပါသေးတယ်... ဒီလို Recommendation System ရဲ့ အလုပ်လုပ်ပုံဟာ မြန်မာပြည်နဲ့ မြန်မာ့ Developer တွေကြား ထိတွေ့နီးစပ်တဲ့ နည်းပညာ မဟုတ်သေးသလို တခြား System Development တွေနဲ့အလွန်ကွဲပြားနေတာကိုတော့ ငြင်းလို့မရပါဘူးခင်ဗျာ... အောက်မှာ ဖော်ပြထားတဲ့ ပုံကတော့ ကျွန်တော့် အတွက် Spotify က မိတ်ဆက်ပေးထားတဲ့ Playlist တွေပဲဖြစ်ပါတယ်...
အခု ကျွန်တော် ဖော်ပြတဲ့ ဥပမာတစ်ချို့ Machine Learning နည်းပညာကို အသုံးပြုထားတာတော့ အသေအချာပါပဲ... ဒီလောက်ဆိုရင်လည်း ဒီစာကို ဖတ်နေတဲ့ ပညာရှင်တွေလည်း Machine Learning နည်းပညာရဲ့ အသုံးပြုနေတဲ့ နယ်ပယ် တစ်ချို့ကို အကြမ်းဖျင်း နားလည် သဘောပေါက်ကြပါပြီလို့ ယူဆပါတော့မယ်...
Machine Learning ရဲ့ အဓိပ္ပါယ်ဖွင့်ဆိုခြင်း
Machine Learning ရဲ့ အဓိပ္ပါယ်ကို မဖွင့်ဆိုခင် Machine Learning ဟာ Artificial Intelligence (AI) အသိဉာဏ်တုနဲ့ ဘယ်လို ဆက်နွယ်နေလဲ၊ ဘာလို့ လူတွေတော်တော်များများဟာ Machine Learning ကို စက်ရုပ်တွေ၊ တချို့ သတင်းတွေမှာဆိုရင် Machine Learning တွေကို သိပ္ပံကားထဲ စက်ရုပ်ပုံတွေနဲ့ လူသားတွေ အချင်းချင်း ထိတွေ့ပြောကြဆိုကြ သူငယ်ချင်းလို ဆက်ဆံနေတာကို မကြာခဏ တွေ့မြင်ရပါလိမ့်မယ်... ကျွန်တော့် အမြင်ကို ပြောရမယ်ဆိုရင် ကျွန်တော်တို့ လက်ရှိ AI နည်းပညာဟာ အခုသတင်းတွေလို ရုပ်ရှင်ကားထဲလို လုပ်နိုင်ဖို့ဆိုတာ အတော်လေးကို ဝေးနေပါသေးတယ်... မရောက်နိုင်ဘူး မဖြစ်နိုင်ဘူးလို့ ကျွန်တော် မဆိုလိုပါဘူး... ဘာလို့လည်းဆိုတော့ AI နည်းပညာဟာ အရှိန်အဟုန်ပြင်းစွာ တိုးတက်နေသလို သုတေသနတွေရဲ့ ဘက်ကလည်း အားသက်စရာကောင်းလှအောင် အစိုးရနဲ့ သက်ဆိုင်ရာ အဖွဲ့အစည်းတွေ သာမက ချမ်းသာတဲ့ သန်းကြွယ်သူဌေးတွေကပင် အထက်အပံ့ပေးနေတဲ့အတွက်ကြောင့်ပဲ ဖြစ်ပါတယ်... လွန်ခဲ့တဲ့ ၅ နှစ်နဲ့ လက်ရှိ AI နည်းပညာကို လေ့လာကြည့်မယ်ဆိုရင် Programming Framework တွေ၊ Optimization Algorithms တွေ၊ Hardware Support တွေဟာ အံ့ဩစွာ တိုးတက်ပြောင်းလဲနေတာဟာလည်း AI ရဲ့ တိုးတက်နှုန်းကို တစ်နည်းနည်းအားဖြင့် အထောက်အကူပြုနေတာကိုတော့ ဘယ်လိုမှ ငြင်းဆိုလို့မရတဲ့ အချက်တစ်ချက် မဟုတ်ပါလားခင်ဗျ...
ဟုတ်ပါပြီဗျာ... ကျွန်တော်တို့ AI နဲ့ Machine Learning ကို ခွဲခြမ်းစိတ်ဖြာပြီး ကြည့်ကြရအောင်လားဗျာ...
အထက်ဖော်ပြပါ ပုံကိုကြည့်ခြင်းအားဖြင့် ကျွန်တော်တို့ ပြောနိုင်တာ တစ်ခုကတော့ Machine Learning ဟာ Artificial Intelligence ဘာသာရပ်ထဲက ဘာသာရပ်အသေးစား တစ်ခုလို့ ပြောဆိုရင်လည်း မမှားပါဘူး ခင်ဗျာ... Machine Learning ထဲက နောက်ထပ် အသေးစား ဘာသာရပ်တစ်ခုကတော့ Deep Learning ပဲဖြစ်ပါတယ်... နောက်ပိုင်းမှာလည်း Deep Learning ရဲ့မိတ်ဆက်နဲ့ အလုပ်လုပ်ပုံကို ရှင်းပြဖို့ ကျွန်တော် ရည်ရွယ်ထားပါသေးတယ်ခင်ဗျ... Deep Learning ကိုမလေ့လာခင် Machine Learning ကိုတော့ မသိလို့မဖြစ်ပါဘူး... Machine Learning ဟာ Deep Learning ကို နားလည်ဖို့ အတွက် အခြေခံ အုတ်မြစ်ဖြစ်တယ် ဆိုတာ အခုကတည်းက ပညာရှင်များ နားလည် သဘောပေါက်ဖို့ လိုအပ်ပါလိမ့်မယ်... ဟုတ်ပါပြီဗျာ အထက်ဖော်ပြပါပုံရဲ့ အလွှာ တစ်ခုချင်းစီလို ခွဲခြားလေ့လာကြည့်ရအောင်... ဒီနေရာမှာတော့ ကျွန်တော် လူပိန်းနားလည်လွယ်တဲ့ အသုံးအနှုန်းတွေနဲ့ ရှင်းပြပေးမှာပါ... အတိအကျ အဓိပ္ပါယ်ကို သိချင်ရင် အင်တာနက်ကနေ တစ်ဆင့် ရှာဖွေပြီး ဖတ်ရှုကြပါလို့ အကြံပေးပါရစေ...
Artificial Intelligence : လူသားတွေရဲ့ ပြုမူခြင်း၊ ပြောဆိုခြင်း၊ ပြသနာတစ်ခုအပေါ် ဖြေရှင်းခြင်း၊ တခြားလူရဲ့ ပြောဆိုဆက်သွယ်မှုကို မှန်ကန်စွာ သဘောပေါက်ပြီး တုန့်ပြန်နိုင်ခြင်း၊ အမှားတစ်ခုအပေါ်သင်ယူနိုင်ပြီး တိုးတက်မှု (အမှားနည်းအောင်) လုပ်ဆောင်နိုင်ခြင်း စတဲ့ လုပ်ဆောင်နိုင်တဲ့စွမ်းရည်တွေကို ကျွန်တော်တို့ အသိဉာဏ်တု ပိုင်ဆိုင်တယ် လို့ ယူဆလို့ရပါတယ် ခင်ဗျာ... ဒီလိုတွေ ကွန်ပျူတာက လုပ်ဆောင်နိုင်ဖို့ဆိုတာ Software Developer တစ်ယောက်အနေနဲ့ ဘယ်လောက်ခက်ခဲတယ်ဆိုတာ တွေးမိနိုင်ပါတယ်... သေချာတာတစ်ခုကတော့ Program တစ်ခုကို ရေးပြီး Rules တွေ၊ စည်းမျဉ်းစည်းကမ်းတွေ အနေနဲ့ သတ်မှတ်လို့မရဘူးဆိုတာ အထူးသိသာနေကြပြီ မဟုတ်ပါလား ခင်ဗျ...
Machine Learning : ဒီဟာကတော့ Artificial Intelligence ထဲက ပြသနာတစ်ခုကို အာရုံစိုက်ပြီး အဲ့ဒီပြသနာကို ဖြေရှင်းဖို့ လိုအပ်တဲ့ နည်းလမ်းတွေကို ရှာဖွေတဲ့ ဘာသာရပ်ပဲလို့ ပြောရင်လည်း မှားမယ်မထင်ပါဘူး... ဥပမာ တစ်ခု ပြောရမယ်ဆိုရင် လူသားတွေရဲ့ အမြင် အာရုံထဲကတစ်ဆင့် ဒီပုံထဲမှာ ခွေးရှိလား မရှိဘူးလား ဆိုတဲ့ ပြသနာကို ဖြေရှင်းမယ် ဆိုပါစို့... ပညာရှင်တွေ သတိထားရမှာက လူသားတွေရဲ့ အမြင်အာရုံကနေတစ်ဆင့် နားလည်သဘောပေါက်တဲ့ (ကြီးမားကျယ်ပြန့်တဲ့ အာရုံအမျိုးမျိုးထဲမှ အမြင်အာရုံ၊ အမြင်အာရုံထဲမှာ ဝတ္ထုတစ်ခုဖြစ်တဲ့ ခွေး စတဲ့ ကျယ်ပြန့်တဲ့ အာရုံထဲမှာမှ ခွေးဆိုတဲ့ ဝတ္ထုတစ်ခုကို အာရုံစိုက်နေတယ် ဆိုတာကို သတိထားစေလိုပါတယ်...) ပြသနာ အပိုင်းကို ကျွန်တော်တို့ ခွဲခြားပြီး အာရုံစိုက်နေတာပါ... ဒီလို ပြသနာအကြီးကြီးကနေ တတ်နိုင်သလောက် သေးသမျှသေးငယ်အောင် အပိုင်းခွဲခြားပြီး နောက်ဆုံးအပိုင်းခွဲခြားလို့ မရတော့တဲ့ ပြသနာကို အာရုံစိုက်ပြီး ဖြေရှင်းတာဟာ Machine Learning ကို လုပ်ဆောင်နေတယ် ဆိုပြန်လည်း မှားမယ်မထင်ပါ... ဟုတ်ပါပြီ Machine Learning ဆိုတာ နည်းပညာကျကျ ပြောပြရမယ်ဆိုရင်တော့ ကျွန်တော်တို့ဟာ သင်္ချာ နည်းပညာတွေ၊ Information Theory တွေ၊ စာရင်းအင်းသင်္ချာတွေ (Statistic ကို မြန်မာလို ဘယ်လိုခေါ်လည်းမသိဘူးခင်ဗျ... မှားရင်လည်း Comment ကနေတစ်ဆင့် ပြန်သင်ပေးပါခင်ဗျာ...)၊ Computer Science (ကွန်ပျူတာ သိပ္ပံ) စတဲ့ မြောက်များစွာသော နည်းပညာကို အသုံးပြုပြီး သေးငယ်တဲ့ ပြန်သနာကို ဖြေရှင်းခြင်းပဲဖြစ်ပါတယ် ခင်ဗျ...
Deep Learning : ဒီ နည်းပညာကတော့ ပေါ်တာ သိပ်တောင်မကြာသေးဘူးလို့ ကျွန်တော်တို့ဆိုနိုင်ပါတယ် ခင်ဗျ... ဒီနည်းပညာဟာ Backpropagation Algorithm ပေါ်လာမှသာ ကွန်ပျူတာ သိပ္ပံပညာရှင်တွေဟာ အလွန်နက်နဲသော (အထပ်များသော) Neural Network ကို တီထွင်ပြီး အသုံးပြုခွင့်ရလာတဲ့ အတွက်ကြောင့် ဒီနည်းပညာကို Deep Learning လို့ခေါ်ဝေါ်လာကြပါတယ်... အမှန်တော့ Machine Learning ကို Shallow Learning လို့လည်းခေါ်ကြပါသေးတယ်... အခုလောလောဆယ်တော့ Neural Network တွေ၊ Backpropagation Algorithm တွေခဏမေ့ထားလိုက်ပါ... ကျွန်တော်တို့ Machine Learning ခရီးကို အတူတကွ လျှောက်လှမ်းတဲ့နေရာမှာ အခွင့်ကြုံရင် ကြုံသလို ကျွန်တော် ဖြည်စွက်ပြီး ရှင်းပေးပါမယ်... အမှန်တော့ Neural Network ဟာ Machine Learning ထဲက Logistic Regression Algorithm ကို အဆင့်မြှင့်တင်ထားခြင်းပဲဖြစ်ပါတယ်... အခုတော့ အဲ့ဒီ နည်းပညာအသုံးအနှုန်းတွေ ခဏမေ့ထားလိုက်ပါဗျာ...
အခုဆိုရင်တော့ ပညာရှင်တွေလည်း AI တွေ Machine Learning တွေ Deep Learning တွေ စတဲ့ အခေါ်အဝေါ်တွေရဲ့ အကြမ်းဖျင်း အဓိပ္ပါယ်ဖွင့်ဆိုချက်ကိုတော့ အနည်းနဲ့ အများ နားလည်ကြပြီလို့ ကျွန်တော် ယူဆပါရစေ... အခုတော့ ကျွန်တော် အိပ်ရာဝင်ဖို့ အရမ်းနောက်ကျနေပြီ ဖြစ်တဲ့အတွက်ကြောင့် နောက် Post တစ်ခုမှာပဲ အတူတူ ခရီးကို ဆက်နှင်ကြပါစို့လားဗျာ...
အမှတ်စဉ် (၂) သို့