Deep Learning မိတ်ဆက်
By Nway Nway Than Hlaing and Phue Pyae Maung
Deep Learning ဆိုတာဘာလဲ ?
Deep Learning ဆိုတာ ယေဘူယျအားဖြင့် computer တွေကို လူသားတွေရဲ့အသိမျိုးသိလာအောင် train ပေးတဲ့ machine learning technique တစ်ခုဖြစ်ပါတယ်။
ဥပမာအားဖြင့် မီးနီတွေ့ရင် ရပ်ရမယ်ဆိုတဲ့ အသိမျိုး၊ လမ်းဖြတ်ကူးနေတဲ့သူတွေ့ရင် ဘာလုပ်မလဲ စတဲ့ features တွေ ထည့်သွင်းပေးထားတဲ့ driverless car နောက်ကွယ်က အဓိက technology ဟာ deep learning ပဲဖြစ်ပါတယ်။ mobile phone တွေ၊ tablet တွေ မှာပါတဲ့ voice recognition functions တွေမှာလည်း deep learning က မပါမဖြစ်ပါပဲ။
အရင်က မဖြစ်နိုင်ဘူးလို့ ယူဆခဲ့တဲ့ ရလဒ်တွေ တကယ်ဖြစ်လာတဲ့ အခါမှာ deep learning အပေါ် လူတွေရဲ့ စိတ်ဝင်စားမှုမြင့်တက်လာခဲ့ပါတယ်။ deep learning models တွေရဲ့ လုပ်ဆောင်ချက်တွေက အရမ်းတိကျပါတယ်။ တချို့ case တွေမှာဆိုရင် လူသားတွေရဲ့ လုပ်ဆောင်နိုင်စွမ်းထက် ပိုတိကျနေတာကို တွေ့ရပါတယ်။
ဘာကြောင့် Deep learning လို့ ခေါ်တာလဲ ?
Artificial Neural Networks ရဲ့ ဖွဲ့စည်းတည်ဆောက်ပုံကြောင့်ပဲ ဖြစ်ပါတယ်။ လွန်ခဲ့တဲ့နှစ် ၄၀, ၅၀ လောက်က device တွေရဲ့ computation rate အရမ်းမမြင့်သေးတဲ့အချိန် neural networks လို့ပြောရင် layer 2ခုပဲ ရှိခဲ့တယ်။ အခုချိန်မှာတော့10 layers, 100 layers စသည်ဖြင့် သုံးနေကြပါပြီ။
Single Neural Network နဲ့ Deep learning algorithm ရဲ့ အဓိက ကွာခြားချက်ဖြစ်တဲ့ neural networks ရဲ့ layers အရေအတွက် ဘယ်လောက်များလဲ၊ ဘယ်လောက် deep ဖြစ်သလဲဆိုတဲ့ အပေါ် deep လို့သုံးစွဲလာကြတာ ဖြစ်ပါတယ်။ ဒီကနေတစ်ဆင့် deep neural learning, deep neural networks ဆိုပြီးဖြစ်လာပါတယ်။
Artificial Neural Networks field ထဲကို ပထမဆုံးဝင်ရောက်ခဲ့တဲ့သူတွေထဲက တစ်ဦးဖြစ်တဲ့ AI ရဲ့ Godfather လို့ခေါ်ကြတဲ့ Geoffrey Hinton က သူ့ရဲ့ ပထမဆုံး paper မှာ backpropagation algorithm for training multilayer perceptron networks တွေအကြောင်း co-publish လုပ်ခဲ့တယ်။
Large artificial neural networks တွေအကြောင်းဖော်ပြရာမှာ deep ဆိုတဲ့ term ကို မိတ်ဆက်ပေးခဲ့တယ်။ Geoffrey က သူ့ရဲ့ paper တွေ တော်တော်များများမှာ “deep” ဆိုတဲ့စကားလုံးကို တွင်တွင်ကျယ်ကျယ်အသုံးပြုခဲ့ပါတယ်။
၂၀၀၉ ခုနှစ် speech recognition အသုံးပြုထားတဲ့ application ကို စမ်းသပ်အောင်မြင်ခဲ့တဲ့အချိန်မှာ “deep” ဆိုတဲ့ အသုံးအနှုန်းကို လူတွေစပြီးသတိထားမိလာကြပါတယ်။ လိုတိုရှင်းပြောရရင် deep learning ဆိုတဲ့ term ကို Geoffrey က ပြန်လည်မိတ်ဆက်ပေးခဲ့ပါတယ်။
Structure of a Neural Networks
Deep Learning မှာ algorithms တွေကို layers အလိုက် process လုပ်ပါတယ်။ Data တွေက layer တစ်ခုချင်းစီ အလုပ်လုပ်တယ်။ ရှေ့ layer က ထွက်လာတဲ့ output ကိုနောက် layer မှာ input အနေနဲ့ အသုံးပြုပြီး process တွေကို လုပ်ဆောင်ပါတယ်။
ပထမဆုံး layer ကို input layer လို့ခေါ်ပါတယ်။ နောက်ဆုံး layer ကိုတော့ output layer လို့ခေါ်ပြီးတော့ ဒီ layer၂ခု ကြားထဲက layer တွေကိုတော့ hidden layers လို့ခေါ်ပါတယ်။ Layer တစ်ခုချင်းစီမှာ activation function တစ်မျိုးစီပါဝင်ပြီးတော့ ရိုးရိုးရှင်းရှင်းနဲ့ ဆင်တူတဲ့ algorithm တွေဖြစ်ပါတယ်။
Feature Extraction
Feature Extraction ကတော့ Deep Learning ရဲ့ အစိတ်အပိုင်းတစ်ခုဖြစ်ပါတယ်။ Feature Extraction က data set ထဲက features တစ်ချို့ကို ဖယ်ပြီး feature set အသစ်တစ်ခု ဖန်တီးပါတယ်။ New feature set က original feature set ထဲက features အများစုကို cover ဖြစ်ရတယ်။ Feature extraction ကို များသောအားဖြင့် Data Scientist ဒါမှမဟုတ် Machine learning engineer က တာဝန်ယူရပါတယ်။
Machine Learning Vs Deep Learning
Deep Learning ဆိုတာ Machine Learning ကို specialized လုပ်ထားတဲ့ ML ရဲ့ အခွဲတစ်ခု ဖြစ်ပါတယ်။ Machine Learning နဲ့ Deep Learning ရဲ့ အဓိက ကွာခြားချက်က Feature Extraction လုပ်ဆောင်တဲ့ နေရာမှာ ကွာသွားပါတယ်။
Machine Learning မှာ feature extraction ကို manually လုပ်ပေးရပါတယ်။ Image တွေကို စီစဥ်ဖို့အတွက် ကိုယ်လိုချင်တဲ့ features တွေနဲ့ classifier တွေကို ကိုယ်တိုင် manually ရွေးချယ်ပေးရပါတယ်။ Deep Learning မှာဆိုရင် computer ကပဲ automatically learn လုပ်ပြီးတော့ ဆောင်ရွက်ပေးပါတယ်။
ဒါ့အပြင် Deep learning မှာ End-to-end learning ကိုလည်း လုပ်ဆောင်ပေးပါတယ်။ End-to-End learning မှာ raw data နဲ့ လုပ်ဆောင်ရမယ့် task ကိုသာပေးထားပြီးတော့ computer က ဘယ်လိုလုပ်ရမလဲဆိုတာကို သူ့ဘာသူ အဖြေရှာပြီး learn လုပ်ရပါတယ်။ ဥပမာအားဖြင့် classification မှာ ဘယ် object က ဘယ် class ကို သွားရမလဲဆိုတာကို computer က သူ့ဘာသူ predict လုပ်ရပါတယ်။
နောက်ထပ်ကွာခြားချက်တစ်ခုက deep learning မှာ algorithms တွေရဲ့ စံချိန်စံညွှန်းကို data တွေနဲ့ တိုင်းတာပါတယ်။ Machine Learning method တစ်ခုဖြစ်တဲ့ Shallow learning မှာတော့ examples တွေ training data တွေ ဘယ်လောက်ထည့်ထည့် လုပ်ဆောင်ချက်တွေက အခြေအနေတစ်ခုရောက်ရင် ရပ်တန့်သွားပါတယ်။ ဆက်ပြီး improve ဖြစ်လာမှာ မဟုတ်ပါဘူး။ Deep Learning ရဲ့ အဓိက အားသာချက်က data size ကြီးလာလေ neural networks တွေ ပို improved ဖြစ်လာတယ်။ Accuracy ပိုကောင်းလာပါတယ်။
Deep Learning in Real World
Deep learning ကို နေရာတော်တော်များများမှာ အသုံးပြုပါတယ်။ Automated Driving လို့ခေါ်တဲ့ Driverless Cars ထုတ်တဲ့ စက်ရုံတွေကနေပြီးတော့ ဆေးပညာနဲ့ ပတ်သတ်တဲ့ device တွေမှာပါ အသုံးပြုပါတယ်။
Automated Driving မှာဆိုရင် traffic lights, stop sign တွေနဲ့ no entry sign တွေကို automatically detect လုပ်ဖို့ deep learning ကို အသုံးပြုရပါတယ်။ လမ်းမှာ ယာဥ်တိုက်မှုတွေ လျှော့ချနိုင်ဖို့ လမ်းဖြတ်ကူးတဲ့သူတွေကို detect လုပ်ရာမှာလည်း deep learning ကို အသုံးပြုရပါတယ်။
ဆေးဖက်ဆိုင်ရာသုတေသနတွေမှာလည်း deep learning က အသုံးဝင်ပါတယ်။ Cancer research တွေမှာ cancer cells တွေကို detect လုပ်ဖို့အတွက် deep learning ကိုသုံးပါတယ်။
အလုပ်ရုံ၊ စက်ရုံတွေမှာ အန္တရာယ်များတဲ့ စက်ယန္တရား တွေနဲ့ လုံခြုံတဲ့ အကွာအဝေးတစ်ခုမှာသာရှိနေဖို့ detect လုပ်ပေးတဲ့ နေရာမှာလည်းအသုံးပြုပါတယ်။
Voice Recognition နဲ့ Speech Translation တွေ ဥပမာအားဖြင့် Siri တို့ Alexa တို့ စတဲ့ digital voice assistant device တွေမှာ artificial intelligence ဖြစ်တဲ့ deep learning ကို အသုံးပြုပြီး ရေးဆွဲထားခြင်းဖြစ်ပါတယ်။
နာမည်ကျော်ပုဂ္ဂိုလ်အချို့ရဲ့ deep learning နဲ့ ပက်သက်ပြီး ဆွေးနွေးချက်
ပထမဆုံးအနေနဲ့ Google Brain တည်ထောင်မှုမှာပါဝင်ခဲ့သူတစ်ဦးဖြစ်တဲ့အပြင် Coursera မှာလည်းအားလုံးမြင်ဖူးနေကြမယ့် Andrew Ng က ၂၀၁၃ ခုနှစ်ကကျင်းပခဲ့တဲ့ “Deep Learning, Self-Taught Learning and Unsupervised Feature Learning “ ဟောပြောပွဲမှာ “ deep learning ဆိုတာ လူ့ဦးနှောက် ကိုတုပပြီး learning algorithms တွေပိုမိုကောင်းမွန်အောင်၊ machine learning နဲ့ AI ကိုပိုပြီးတိုးတက်အောင် ပြုလုပ်နိုင်ရမယ်။ ဒီဟာက AI လောကအတွက် အကောင်းဆုံးရိုက်ချက်ဖြစ်လာနိုင်မယ်” ဆိုပြီးပြောခဲ့ပါတယ်။
ဒါပေမဲ့လည်း အဲ့ဒီအချိန်တုန်းက ကွန်ပျူတာတွေက မြန်သင့်သလောက်မမြန်သေးတာရယ်၊ data မလုံလောက်သေးတာတွေရယ်ကြောင့်နောက်ပိုင်းမှာ သူပြောခဲ့တာတွေကမှေးမှိန်လာခဲ့ပါတယ်။
၂၀၁၅ ခုနှစ်မှာ “ what data scientists should know about deep learning” ဆိုတဲ့ဟောပြောပွဲမှာတော့ Andrew က scale အကြောင်းကို အဓိကထားပြီးပြောသွားပါတယ်။ “ပိုကြီးတဲ့ neural networks တွေကိုသာ data များများထည့်သွင်း ပြီးလေ့ကျင့်ပေးမယ်ဆိုရင် model တွေရဲ့ လုပ်ဆောင်နိုင်စွမ်းတွေက ပိုပြီးမြင့်မားလာမှာဖြစ်ပြီး ဒီနည်းလမ်းက အခြား machine learning နည်းလမ်းတွေနဲ့ကွာခြားပါတယ်” ဆိုပြီး ပုံနဲ့ ရှင်းပြခဲ့ပါတယ်။
ဒါ့အပြင် ၂၀၁၄ “Deep Learning “ ဟောပြောပွဲမှာလည်း “ Deep learning တဟုန်ထိုးတိုးတက်နေရတဲ့အ ကြောင်းကတော့ supervised learning မှာ တအားစွမ်းဆောင်ရည်ကောင်းလို့ဖြစ်ပါတယ်” ဆိုပြီး ပြောခဲ့ပါသေးတယ်။ Labeled Data တွေလိုမျိုးသာ Unlabeled Data တွေအများအပြား ရှိရင် Unsupervised Learning ကလည်း အားကောင်းလာပါလိမ့်မယ်တဲ့။
နောက်တစ်ယောက်ကတော့ Jeff Dean ပါ။ သူကတော့ Wizard နဲ့ Google ရဲ့စီနီယာအဖွဲ့ဝင်ဖြစ်ပါတယ်။ သူလည်းပဲ Google Brain project မှာ ပါဝင်ပြီး large-scale deep learning ဆောဖ့်ဝဲဖြစ်တဲ့ Disbelief နဲ့ Tensorflow ကိုတီထွင်ခဲ့သူလည်းဖြစ်ပါတယ်။
၂၀၁၆ ခုနှစ် “Deep Learning for Building Intelligent Computer Systems” ဟောပြောပွဲမှာ “ deep learning ဆိုတာကိုကြားတာနဲ့ ကြီးမားနက်နဲတဲ့ neural network ကြီးကိုပြေးမြင်လိုက်ပါ။ Deep ဆိုတာက network မှာ အလွှာတွေအများကြီးပါတာကိုရည်ညွှန်းတာဖြစ်ပါတယ်။ သူတို့ကို ယေဘူယျအားဖြင့် deep neural network လို့ထင်ပါတယ်” ဆိုပြီးပြောခဲ့ပါတယ်။
သူလည်းပဲ neural network ကြီးရဲ့ တိုးချဲ့နိုင်စွမ်း(scaling)ကိုမီးမောင်းထိုးပြခဲ့ပါတယ်။ data တွေသာ များများရမယ်၊ model တွေလည်းပိုကြီးလာမယ်၊ training များများလုပ်မယ်ဆိုရင် ရလဒ်တွေကပိုမိုကောင်းမွန်လာနိုင်ပါတယ်တဲ့။
🔰 အဆုံးထိဖတ်ပေးတဲ့အတွက် ကျေးဇူးတင်ပါတယ်။ 🔰