ဆောင်းပါးတို Deep Learning ဆိုတာဘာလဲ။ (၂၀၂၃) - Unite.AI
ကြှနျုပျတို့နှငျ့အတူချိတ်ဆက်ပါ
AI Masterclass-

AI ၅၀

Deep Learning ဆိုတာဘာလဲ။

mm
နောက်ဆုံးရေးသားချိန် on

Deep learning သည် ဥာဏ်ရည်တုတွင် သြဇာအရှိဆုံးနှင့် အလျင်မြန်ဆုံး ကြီးထွားလာသော နယ်ပယ်များထဲမှ တစ်ခုဖြစ်သည်။ သို့ရာတွင်၊ နက်နဲသောသင်ယူမှုဟူသောဝေါဟာရသည် မတူညီသော algorithms နှင့် နည်းပညာများစွာကို ဖုံးလွှမ်းထားသောကြောင့် နက်နဲသောသင်ယူမှုကို အလိုလိုသိနားလည်မှုရရှိရန် ခက်ခဲနိုင်သည်။ Deep learning သည် ယေဘူယျအားဖြင့် machine learning ၏ ခွဲထွက်နည်းတစ်ခုဖြစ်ပြီး နက်နဲသောသင်ယူမှုကို နားလည်ရန်အတွက် machine learning သည် အဘယ်အရာကို နားလည်ရန်အရေးကြီးပါသည်။

စက်သင်ယူခြင်းဆိုသည်မှာအဘယ်နည်း။

နက်ရှိုင်းသောသင်ယူမှု machine learning မှအစပြုသော သဘောတရားအချို့၏ တိုးချဲ့မှုတစ်ခုဖြစ်သောကြောင့် ထိုအကြောင်းကြောင့် machine learning သည် ဘာလဲဆိုတာကို ရှင်းပြဖို့ တစ်မိနစ်လောက် အချိန်ယူကြည့်ရအောင်။

ရိုးရိုးရှင်းရှင်းပြောရလျှင် machine learning သည် ထိုတာဝန်များကို ပြီးမြောက်စေရန် အသုံးပြုသည့် algorithms လိုင်းတိုင်းကို တိကျပြတ်သားစွာ ကုဒ်ရေးခြင်းမပြုဘဲ သီးခြားလုပ်ငန်းတာဝန်များကို ထမ်းဆောင်ရန် ကွန်ပျူတာများကို အသုံးပြုနိုင်စေမည့် နည်းလမ်းတစ်ခုဖြစ်သည်။ စက်သင်ယူမှု အယ်လဂိုရီသမ် အမျိုးမျိုးရှိသော်လည်း အသုံးအများဆုံး အယ်လဂိုရီသမ်များထဲမှ တစ်ခုဖြစ်သည်။ multilayer perceptron. multilayer perceptron ကို အာရုံကြောကွန်ရက်တစ်ခုအဖြစ်လည်း ရည်ညွှန်းပြီး ၎င်းကို အတူတကွ ချိတ်ဆက်ထားသော node/neurons အတွဲလိုက်ဖြင့် ဖွဲ့စည်းထားသည်။ multilayer perceptron တွင် မတူညီသော အလွှာသုံးဆင့် ရှိသည်- input layer, hidden layer, and output layer.

ထည့်သွင်းလွှာသည် ဒေတာများကို အလယ်/ဝှက်ထားသော အလွှာရှိ node များဖြင့် ကိုင်တွယ်လုပ်ဆောင်သည့် ကွန်ရက်ထဲသို့ ဒေတာကို ယူဆောင်သည်။ လျှို့ဝှက်အလွှာရှိ ဆုံမှတ်များသည် input layer မှလာသော အချက်အလက်များကို အသုံးချနိုင်ပြီး input data မှ သက်ဆိုင်ရာပုံစံများကို ထုတ်ယူနိုင်သည့် သင်္ချာလုပ်ဆောင်ချက်များဖြစ်သည်။ ဤသည်မှာ အာရုံကြောကွန်ရက် “သင်ယူခြင်း” ဖြစ်သည်။ Neural Network များသည် လူ့ဦးနှောက်ဖွဲ့စည်းပုံနှင့် လုပ်ငန်းဆောင်တာများမှ လှုံ့ဆော်ပေးသည့်အချက်မှ ၎င်းတို့၏အမည်ကို ရရှိသည်။

Network ရှိ node များကြား ချိတ်ဆက်မှုများတွင် weights ဟုခေါ်သော တန်ဖိုးများရှိသည်။ ဤတန်ဖိုးများသည် အလွှာတစ်ခုရှိ ဒေတာသည် နောက်အလွှာရှိ ဒေတာနှင့် မည်သို့ဆက်စပ်နေသနည်းဟူသည့် အခြေခံအားဖြင့် ယူဆချက်ဖြစ်သည်။ ကွန်ရက်က လေ့ကျင့်ပေးသည်နှင့်အမျှ အလေးများကို ချိန်ညှိပြီး ရည်မှန်းချက်မှာ ဒေတာနှင့်ပတ်သက်သော အလေးချိန်/ယူဆချက်များသည် နောက်ဆုံးတွင် ဒေတာအတွင်းရှိ အဓိပ္ပါယ်ရှိသော ပုံစံများကို တိကျစွာကိုယ်စားပြုသည့် တန်ဖိုးများအဖြစ် ပေါင်းစပ်သွားမည်ဖြစ်သည်။

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

Deep Learning ဆိုတာဘာလဲ။

Deep learning သည် multilayer perceptrons အများအပြားကို အတူတကွ ပေါင်းစပ်ထားသည့် machine learning Architecture များအတွက် ပေးထားသော ဝေါဟာရဖြစ်ပြီး၊ ထို့ကြောင့် လျှို့ဝှက်အလွှာတစ်ခုသာမက လျှို့ဝှက်အလွှာများစွာပါရှိသည်။ နက်နဲသော အာရုံကြောကွန်ရက်ဖြစ်သည့် “ပိုမိုနက်ရှိုင်းသော” သည် ကွန်ရက်တွင် သင်ယူနိုင်သည့် ဆန်းပြားသောပုံစံများ ပိုများလေဖြစ်သည်။

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

Deep Learning အမျိုးအစားများ

သုတေသီများနှင့် အင်ဂျင်နီယာများအသုံးပြုသော နက်နဲသောသင်ယူမှုဗိသုကာအမျိုးမျိုးရှိပြီး မတူညီသောဗိသုကာတစ်ခုစီတွင် ၎င်း၏ကိုယ်ပိုင်အထူးပြုအသုံးပြုမှုကိစ္စများရှိသည်။

Convolutional အာရုံကြောကွန်ယက်များ

Convolutional အာရုံကြောကွန်ရက်များသို့မဟုတ် CNN များသည် ကွန်ပျူတာအမြင်စနစ်များဖန်တီးရာတွင် အသုံးများသော အာရုံကြောကွန်ရက်ဗိသုကာများဖြစ်သည်။ convolutional neural networks များ၏ဖွဲ့စည်းပုံသည် ပုံဒေတာကို အဓိပ္ပါယ်ဖွင့်ဆိုနိုင်စေပြီး အပြည့်အဝချိတ်ဆက်ထားသောကွန်ရက်က အဓိပ္ပာယ်ဖွင့်ဆိုနိုင်သော ဂဏန်းများအဖြစ်သို့ ပြောင်းလဲပေးပါသည်။ CNN တွင် အဓိက အစိတ်အပိုင်း လေးခု ရှိသည်။

  • Convolutional အလွှာများ
  • Subsampling/pooling အလွှာများ
  • အသက်သွင်းခြင်းလုပ်ဆောင်ချက်များ
  • အပြည့်အဝချိတ်ဆက်ထားသောအလွှာများ

convolutional layers များသည် ပုံများကို network အတွင်းသို့ inputs များအဖြစ် ယူဆောင်ကာ၊ ပုံများကို ပိုင်းခြားစိတ်ဖြာကာ pixels များ၏ တန်ဖိုးများကို ရယူသည်။ Subsampling သို့မဟုတ် pooling သည် ပုံများ၏ ကိုယ်စားပြုမှုကို ရိုးရှင်းစေရန်နှင့် ရုပ်ပုံ filter များ၏ အာရုံခံနိုင်စွမ်းကို ဆူညံစေရန် လျှော့ချရန် ပုံတန်ဖိုးများကို ပြောင်းလဲခြင်း/လျှော့ချခြင်း ဖြစ်သည်။ activation လုပ်ဆောင်ချက်များသည် ဒေတာများကို အလွှာတစ်ခုမှ နောက်တစ်လွှာသို့ မည်ကဲ့သို့ စီးဆင်းသည်ကို ထိန်းချုပ်ပြီး အပြည့်အဝ ချိတ်ဆက်ထားသော အလွှာများသည် ရုပ်ပုံကို ကိုယ်စားပြုသည့် တန်ဖိုးများကို ခွဲခြမ်းစိတ်ဖြာပြီး ထိုတန်ဖိုးများတွင် သိမ်းဆည်းထားသည့် ပုံစံများကို လေ့လာသည်။

RNNs/LSTMs

မှုများထပ်တလဲလဲအာရုံကြောကွန်ရက်များ(သို့) RNN များသည် ဒေတာ၏ အစီအစဥ် အရေးကြီးသည့် အလုပ်များအတွက် ရေပန်းစားပြီး ကွန်ရက်သည် ဒေတာ၏ အစုအဝေးအကြောင်း လေ့လာရမည်ဖြစ်ပါသည်။ ဝါကျတစ်ကြောင်း၏ အဓိပ္ပါယ်ကို ကုဒ်ဆွဲသောအခါတွင် စကားလုံးများ၏ အစီအစဥ်သည် အရေးကြီးသောကြောင့် RNNs များကို သဘာဝဘာသာစကားဖြင့် လုပ်ဆောင်ခြင်းကဲ့သို့သော ပြဿနာများတွင် အများအားဖြင့် အသုံးချကြသည်။ Recurrent Neural Network ဟူသောအသုံးအနှုန်း၏ "ထပ်တလဲလဲ" အပိုင်းသည် ယခင်တွက်ချက်မှုနှင့် လက်ရှိတွက်ချက်မှုအပေါ် မူတည်၍ ပေးထားသောဒြပ်စင်တစ်ခုအတွက် အစီအစဥ်တစ်ခု၏ output မှ ဆင်းသက်လာခြင်းဖြစ်သည်။ နက်နဲသော အာရုံကြောကွန်ရက်များ၏ အခြားပုံစံများနှင့်မတူဘဲ၊ RNN များတွင် "မှတ်ဉာဏ်များ" ရှိသည်၊ နှင့် အစီအစဥ်ရှိ မတူညီသောအချိန်အဆင့်များတွင် တွက်ချက်ထားသော အချက်အလက်များကို နောက်ဆုံးတန်ဖိုးများကို တွက်ချက်ရန်အတွက် အသုံးပြုပါသည်။

ပစ္စည်းတစ်ခု၏တန်ဖိုးကို တွက်ချက်သည့်အခါ ယခင်အရာများအပြင် ဆက်တိုက်ရှိ အနာဂတ်အရာများကို ထည့်သွင်းစဉ်းစားသည့် နှစ်လမ်းညွန် RNNs အပါအဝင် RNN အမျိုးအစားများစွာ ရှိပါသည်။ RNN အမျိုးအစား နောက်တစ်မျိုး Long-Term Memory သို့မဟုတ် LSTMကွန်ရက်။ LSTM များသည် ရှည်လျားသောဒေတာကွင်းဆက်များကို ကိုင်တွယ်ဖြေရှင်းနိုင်သော RNN အမျိုးအစားများဖြစ်သည်။ ပုံမှန် RNN များသည် "exploding gradient problem" ဟုခေါ်သော အရာတစ်ခု၏ သားကောင်ဖြစ်နိုင်သည်။ Input data ၏ကွင်းဆက်သည် အလွန်ရှည်လာသောအခါတွင် ဤပြဿနာသည် ဖြစ်ပေါ်လာသော်လည်း LSTM များတွင် ဤပြဿနာကို တိုက်ဖျက်ရန် နည်းလမ်းများရှိသည်။

အော်တိုကုဒ်များ

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

အော်တိုကုဒ်များ ကွဲလွဲမှု၏ သဘောသဘာဝကို မသိသောကြောင့် ကြီးကြပ်မထားသော သင်ကြားမှု၏ ဥပမာတစ်ခုဖြစ်သော ဒေတာအတွဲများတွင် ကွဲလွဲချက်များကို ရှာဖွေရန် မကြာခဏအသုံးပြုကြသည်။ ထိုသို့သော မမှန်မကန်ရှာဖွေခြင်း၏ ဥပမာများတွင် ငွေကြေးအဖွဲ့အစည်းများအတွက် လိမ်လည်မှုရှာဖွေခြင်း ပါဝင်သည်။ ဤအခြေအနေတွင်၊ autoencoder တစ်ခု၏ ရည်ရွယ်ချက်မှာ ဒေတာရှိ ပုံမှန်ပုံစံများ၏ အခြေခံအချက်များကို ဆုံးဖြတ်ရန်နှင့် ကွဲလွဲချက်များ သို့မဟုတ် ပြင်ပအရာများကို ခွဲခြားသတ်မှတ်ရန်ဖြစ်သည်။

autoencoder ၏ဖွဲ့စည်းပုံသည် မကြာခဏ အချိုးကျပြီး ကွန်ရက်၏အထွက်ထွက်သည် input နှင့်ဆင်တူသောကြောင့် ဝှက်ထားသောအလွှာများကို ခင်းကျင်းထားသည်။ မကြာခဏအသုံးပြုခြင်းကိုမြင်ရသော autoencoders လေးမျိုးမှာ-

  • ပုံမှန်/ရိုးရိုး အော်တိုကုဒ်များ
  • Multilayer ကုဒ်နံပါတ်များ
  • Convolutional ကုဒ်နံပါတ်များ
  • ပုံမှန် ကုဒ်နံပါတ်များ

ပုံမှန်/ရိုးရိုး autoencoders များသည် လျှို့ဝှက်အလွှာတစ်ခုရှိ အာရုံကြောပိုက်ကွန်များသာဖြစ်ပြီး multilayer autoencoders များသည် လျှို့ဝှက်အလွှာတစ်ခုထက်ပိုသော နက်ရှိုင်းသောကွန်ရက်များဖြစ်သည်။ Convolutional autoencoders များသည် အပြည့်အ၀ချိတ်ဆက်ထားသော အလွှာများအစား convolutional အလွှာများကို အသုံးပြုသည်။ ပုံမှန် autoencoders များသည် neural network မှ inputs များကို ကူးယူခြင်းမှလွဲ၍ အခြားလုပ်ဆောင်ချက်များကို ပိုမိုရှုပ်ထွေးသော လုပ်ဆောင်ချက်များကို လုပ်ဆောင်နိုင်စေမည့် တိကျသောဆုံးရှုံးမှုအမျိုးအစားကို အသုံးပြုပါသည်။

Generation ဆန့်ကျင်ဘက်ကွန်ယက်များ

Generative Adversarial Networks (GANs) တကယ်တော့ နက်နဲသော အာရုံကြောကွန်ရက်များ အများအပြားသည် ကွန်ရက်တစ်ခုမျှသာ ဖြစ်သည်။ နက်ရှိုင်းသော သင်ယူမှုပုံစံနှစ်ခုကို တစ်ချိန်တည်းတွင် လေ့ကျင့်သင်ကြားပေးပြီး ၎င်းတို့၏ ရလဒ်များကို အခြားကွန်ရက်သို့ ပေးပို့သည်။ ကွန်ရက်များသည် တစ်ခုနှင့်တစ်ခု ပြိုင်ဆိုင်နေကြပြီး ၎င်းတို့သည် အချင်းချင်း၏ output data များကို ဝင်ရောက်ခွင့်ရရှိသောကြောင့် ၎င်းတို့နှစ်ဦးစလုံးသည် ဤဒေတာမှ သင်ယူပြီး တိုးတက်ကောင်းမွန်လာကြသည်။ ကွန်ရက်နှစ်ခုသည် အခြေခံအားဖြင့် အတုနှင့် ထောက်လှမ်းခြင်းဂိမ်းကို ကစားနေကြပြီး မျိုးဆက်သစ်မော်ဒယ်သည် စုံထောက်မော်ဒယ်/ခွဲခြားဆက်ဆံသူကို အရူးလုပ်မည့် သာဓကအသစ်များကို ဖန်တီးရန် ကြိုးစားနေပါသည်။ GAN များသည် ကွန်ပျူတာအမြင်နယ်ပယ်တွင် ရေပန်းစားလာခဲ့သည်။

Deep Learning အကျဉ်းချုပ်

နက်ရှိုင်းသောသင်ယူမှုသည် ရှုပ်ထွေးသောပုံစံများကိုလေ့လာနိုင်ပြီး ထိုပုံစံများကို အနာဂတ်ဒေတာအတွဲများသို့ ယေဘုယျဖော်ပြနိုင်သည့် ရှုပ်ထွေးသောပုံစံများကိုဖန်တီးရန် အာရုံကြောကွန်ရက်များ၏အခြေခံမူများကို တိုးချဲ့သည်။ Convolutional neural networks များကို ပုံများကို အနက်ပြန်ဆိုရန် အသုံးပြုကြပြီး RNNs/LSTMs များကို ဆင့်ကဲဒေတာကို အဓိပ္ပာယ်ပြန်ဆိုရန် အသုံးပြုပါသည်။ Autoencoders များသည် ကြီးကြပ်မထားသော သင်ယူမှုတာဝန်များကို ကြီးကြပ်သင်ကြားမှုဆိုင်ရာ အလုပ်များအဖြစ်သို့ ပြောင်းလဲနိုင်သည်။ နောက်ဆုံးတွင်၊ GAN များသည် ကွန်ပြူတာအမြင်အလုပ်များအတွက် အထူးအသုံးဝင်သော တစ်ခုနှင့်တစ်ခုကြား ချိတ်ဆက်ထားသော ကွန်ရက်များစွာဖြစ်သည်။

ဘလော့ဂါနှင့် ပရိုဂရမ်မာများအတွက် အထူးပြုပါ။ စက်သင်ယူ နှင့် နက်ရှိုင်းသောသင်ယူခြင်း အကြောင်းအရာများ လူမှုဆက်ဆံရေးကောင်းမွန်ရန်အတွက် AI ၏စွမ်းအားကို အခြားသူများအား ကူညီပေးနိုင်ရန် Daniel က မျှော်လင့်ထားသည်။