ပျောက်ကွယ်သွားသော gradient ပြဿနာသည် အထူးသဖြင့် gradient-based optimization algorithms ၏အခြေအနေတွင် နက်နဲသောအာရုံကြောကွန်ရက်များလေ့ကျင့်ရေးတွင် ဖြစ်ပေါ်လာသည့်စိန်ခေါ်မှုတစ်ခုဖြစ်သည်။ သင်ယူမှုလုပ်ငန်းစဉ်အတွင်း နက်ရှိုင်းသောကွန်ရက်အလွှာများမှတဆင့် နောက်သို့ပြန်ပြန့်ပွားလာသောကြောင့် ကိန်းဂဏန်းများ လျှော့နည်းသွားသည့်ပြဿနာကို ရည်ညွှန်းသည်။ ဤဖြစ်စဉ်သည် ကွန်ရက်ပေါင်းစည်းမှုကို သိသိသာသာ ဟန့်တားနိုင်ပြီး ရှုပ်ထွေးသောပုံစံများနှင့် ကိုယ်စားပြုမှုများကို သင်ယူနိုင်စွမ်းကို ဟန့်တားနိုင်သည်။
ကွယ်ပျောက်နေသော gradient ပြဿနာကို နားလည်ရန်၊ နက်နဲသော အာရုံကြောကွန်ရက်များကို လေ့ကျင့်ရန် အသုံးများသော backpropagation algorithm ကို ဦးစွာ ဆွေးနွေးကြည့်ကြပါစို့။ forward pass ကာလအတွင်း၊ input data အား ကွန်ရက်မှတဆင့် ဖြည့်သွင်းပြီး အလွှာတစ်ခုစီတွင် activations များကို ဆက်တိုက်တွက်ချက်ပါသည်။ ထို့နောက် ထွက်ပေါ်လာသော output ကို လိုချင်သော output နှင့် နှိုင်းယှဉ်ပြီး error တစ်ခုကို တွက်ချက်ပါသည်။ နောက်ပြန်လှည့်ခြင်းတွင်၊ အမှားသည် အလွှာများမှတဆင့် နောက်ပြန်ပြန့်နှံ့သွားပြီး၊ ကိန်းဂဏန်းများ၏ ကွင်းဆက်စည်းမျဉ်းကို အသုံးပြု၍ ကွန်ရက်ဘောင်ဘောင်များနှင့်ပတ်သက်၍ gradient များကို တွက်ချက်ပါသည်။
gradient များသည် error လျှော့ချရန်အတွက် network parameters များတွင် ပြုလုပ်ရန်လိုအပ်သော ပြောင်းလဲမှုများ၏ ဦးတည်ချက်နှင့် ပမာဏကို ကိုယ်စားပြုသည်။ stochastic gradient descent (SGD) ကဲ့သို့သော ပိုမိုကောင်းမွန်အောင်လုပ်ဆောင်သည့် အယ်လဂိုရီသမ်ကို အသုံးပြု၍ ၎င်းတို့အား ကန့်သတ်ချက်များကို အပ်ဒိတ်လုပ်ရန် အသုံးပြုသည်။ သို့သော်၊ နက်ရှိုင်းသောကွန်ရက်များတွင်၊ ၎င်းတို့ကို အလေးများဖြင့် မြှောက်ကာ backpropagation လုပ်ငန်းစဉ်အတွင်း အလွှာတစ်ခုစီရှိ activation functions များမှတစ်ဆင့် ဖြတ်သွားသောကြောင့် gradient များသည် အလွန်သေးငယ်သွားနိုင်သည်။
ကွန်ရက်မှတဆင့် နောက်ပြန်ပြန့်ပွားလာသောကြောင့် gradient များသည် အလွန်သေးငယ်၍ သုညသို့ ချဉ်းကပ်သောအခါ ပျောက်ကွယ်သွားသော gradient ပြဿနာသည် ဖြစ်ပေါ်သည်။ gradient များကို အလွှာတစ်ခုစီ၏ အလေးများဖြင့် မြှောက်ထားသောကြောင့် ဖြစ်ရခြင်းဖြစ်ပြီး ယင်းအလေးချိန်များသည် တစ်ခုထက်နည်းပါက၊ gradient များသည် အလွှာတစ်ခုစီနှင့် ကိန်းဂဏန်းများ ကျုံ့သွားသောကြောင့်ဖြစ်သည်။ ထို့ကြောင့်၊ ကန့်သတ်ချက်များဆိုင်ရာ အပ်ဒိတ်များသည် အားနည်းသွားကာ ကွန်ရက်သည် အဓိပ္ပါယ်ရှိသော ကိုယ်စားပြုမှုများကို လေ့လာရန် ပျက်ကွက်သွားပါသည်။
ဤပြဿနာကို သရုပ်ဖော်ရန်၊ အလွှာများစွာရှိသော နက်နဲသော အာရုံကြောကွန်ရက်ကို စဉ်းစားပါ။ gradient များသည် နောက်သို့ပြန့်ပွားလာသည်နှင့်အမျှ ၎င်းတို့သည် အလွန်သေးငယ်သွားကာ အစောပိုင်းအလွှာများအထိ ထိရောက်စွာ ကွယ်ပျောက်သွားနိုင်သည်။ ရလဒ်အနေဖြင့်၊ အစောပိုင်းအလွှာများသည် error နှင့်ပတ်သက်သည့် အချက်အလက်အနည်းငယ်မျှသာရရှိကြပြီး ၎င်းတို့၏ ကန့်သတ်ချက်များသည် ကြီးမားစွာမပြောင်းလဲပါ။ ၎င်းသည် ဒေတာအတွင်းရှိ ရှုပ်ထွေးသောမှီခိုမှုနှင့် အထက်တန်းများကို ဖမ်းယူရန် ကွန်ရက်၏စွမ်းရည်ကို ကန့်သတ်ထားသည်။
ပျောက်ကွယ်သွားသော gradient ပြဿနာသည် ထပ်တလဲလဲ အာရုံကြောကွန်ရက်များ (RNNs) သို့မဟုတ် ကာလတိုမှတ်ဉာဏ် (LSTM) ကွန်ရက်များကဲ့သို့သော နက်နဲသော အာရုံကြောကွန်ရက်များတွင် အထူးသဖြင့် ပြဿနာဖြစ်သည်။ ဤကွန်ရက်များတွင် အချက်အလက်များကို အချိန်နှင့်အမျှ သိမ်းဆည်းထားနိုင်ပြီး ဖြန့်ဝေခွင့်ပြုသည့် တုံ့ပြန်ချက်ချိတ်ဆက်မှုများရှိသည်။ သို့သော်လည်း၊ gradient များသည် အချိန်ကြာလာသည်နှင့်အမျှ gradient များသည် လျင်မြန်စွာ လျော့နည်းသွားသောကြောင့် ကွန်ရက်များကို သင်ယူမှုတွင် ရေရှည်မှီခိုမှုနှင့်အတူ ရုန်းကန်ရနိုင်သည်။
ပျောက်ကွယ်နေသော gradient ပြဿနာကို လျော့ပါးသက်သာစေရန် နည်းပညာများစွာကို တီထွင်ထားပါသည်။ ချဉ်းကပ်မှုတစ်ခုမှာ ပြုပြင်ထားသော linear ယူနစ် (ReLU) ကဲ့သို့ ရွှဲရွှဲစိုခြင်းမရှိသည့် လုပ်ဆောင်ချက်များကို အသုံးပြုရန်ဖြစ်သည်။ ReLU တွင် အပြုသဘောဆောင်သော သွင်းအားစုများအတွက် စဉ်ဆက်မပြတ် gradient တစ်ခုရှိပြီး ပျောက်ကွယ်နေသော gradient ပြဿနာကို သက်သာစေသည်။ အခြားနည်းလမ်းတစ်ခုမှာ ကျန်ရှိသောကွန်ရက်များ (ResNets) တွင် gradient များသည် အချို့သောအလွှာများကိုကျော်ဖြတ်ကာ ကွန်ရက်မှတဆင့်ပိုမိုလွယ်ကူစွာစီးဆင်းနိုင်စေသည့် skip connections ကိုအသုံးပြုရန်ဖြစ်သည်။
ထို့အပြင်၊ gradient များကို ကြီးလွန်းခြင်း သို့မဟုတ် သေးငယ်လွန်းခြင်းမှ ကာကွယ်ရန် gradient clipping ကို အသုံးပြုနိုင်သည်။ ၎င်းတွင် အဆင့်သတ်မှတ်ချက်တစ်ခုသတ်မှတ်ခြင်းနှင့် ၎င်းတို့သည် ဤအဆင့်သတ်မှတ်ချက်ထက်ကျော်လွန်ပါက gradient များကို ပြန်လည်ချိန်ညှိခြင်းတို့ ပါဝင်သည်။ Gradients များ၏ ပြင်းအားကို ကန့်သတ်ခြင်းဖြင့်၊
ပျောက်ကွယ်သွားသော gradient ပြဿနာသည် နက်နဲသော အာရုံကြောကွန်ရက်များကို လေ့ကျင့်ရာတွင် ဖြစ်ပေါ်လာသည့် စိန်ခေါ်မှုတစ်ခုဖြစ်သည်။ ကွန်ရက်အလွှာများမှတဆင့် နောက်သို့ပြန်ပြန့်ပွားလာသောကြောင့် gradient များသည် အဆမတန် လျော့နည်းသွားကာ ပေါင်းစည်းမှုနှေးကွေးပြီး ရှုပ်ထွေးသောပုံစံများနှင့် ကိုယ်စားပြုမှုများကို သင်ယူရာတွင် အခက်အခဲများဖြစ်ပေါ်လာပါသည်။ ဤပြဿနာကို လျော့ပါးစေရန်အတွက် အမျိုးမျိုးသော နည်းပညာများ၊ ချိတ်ဆက်မှုများကို ကျော်သွားခြင်းနှင့် gradient clipping ကဲ့သို့သော နည်းပညာများကို အသုံးပြုနိုင်ပါသည်။
အခြား လတ်တလောမေးခွန်းများနှင့် အဖြေများ နက်ရှိုင်းသောအာရုံကြောကွန်ယက်များနှင့်ခန့်မှန်းသူများ:
- နက်ရှိုင်းသော သင်ယူခြင်းအား နက်နဲသော အာရုံကြောကွန်ရက် (DNN) ကို အခြေခံ၍ စံပြတစ်ခုကို သတ်မှတ်ခြင်းနှင့် လေ့ကျင့်ခြင်းဟု အဓိပ္ပာယ်ဖွင့်ဆိုနိုင်ပါသလား။
- Google ၏ TensorFlow မူဘောင်သည် စက်သင်ယူမှုမော်ဒယ်များ၏ ဖွံ့ဖြိုးတိုးတက်မှုတွင် စိတ်ကူးယဉ်မှုအဆင့်ကို တိုးမြှင့်နိုင်ပါသလား (ဥပမာ- ကုဒ်ကိုဖွဲ့စည်းမှုပုံစံဖြင့် အစားထိုးခြင်း)။
- ဒေတာအတွဲသည် ကြီးမားပါက အကဲဖြတ်ရန် နည်းရန် လိုအပ်သည်၊ ဆိုလိုသည်မှာ အကဲဖြတ်ရန်အတွက် အသုံးပြုထားသည့် ဒေတာအတွဲ၏ အပိုင်းကို ဒေတာအတွဲ၏ အရွယ်အစား တိုးလာခြင်းဖြင့် လျော့သွားနိုင်သည် မှန်ကန်ပါသလား။
- နက်ရှိုင်းသောအာရုံကြောကွန်ရက် (DNN) ၏ လျှို့ဝှက်အငြင်းပွားမှုအဖြစ် ပံ့ပိုးပေးထားသည့် အခင်းအကျင်းကို ပြောင်းလဲခြင်းဖြင့် အလွှာတစ်ခုချင်းစီရှိ အလွှာအရေအတွက်နှင့် နံပါတ်များကို (ပေါင်းထည့်ခြင်းဖြင့် ဖယ်ရှားခြင်းဖြင့်) အလွယ်တကူ ထိန်းချုပ်နိုင်မည်နည်း။
- ထိုမော်ဒယ်သည် အလွန်အကျွံဖြစ်နေကြောင်း မည်သို့အသိအမှတ်ပြုနိုင်မည်နည်း။
- အာရုံကြောကွန်ရက်များနှင့် နက်နဲသော အာရုံကြောကွန်ရက်များကား အဘယ်နည်း။
- နက်နဲသော အာရုံကြောကွန်ရက်များကို အဘယ်ကြောင့် နက်ရှိုင်းစွာ ခေါ်ဝေါ်သနည်း။
- DNN သို့ နောက်ထပ် node များထည့်ခြင်း၏ အားသာချက်များနှင့် အားနည်းချက်များကား အဘယ်နည်း။
- မျဉ်းဖြောင့်ပုံစံများနှင့် နှိုင်းယှဉ်ပါက နက်နဲသော အာရုံကြောကွန်ရက်များကို အသုံးပြုခြင်း၏ အားနည်းချက်အချို့ကား အဘယ်နည်း။
- DNN အမျိုးအစားခွဲခြားမှုတွင် မည်သည့် ထပ်ဆောင်းဘောင်များကို စိတ်ကြိုက်ပြင်ဆင်နိုင်သနည်း၊ ၎င်းတို့သည် နက်ရှိုင်းသော အာရုံကြောကွန်ရက်ကို ကောင်းစွာချိန်ညှိခြင်းအတွက် မည်သို့အထောက်အကူပြုသနည်း။
Deep neural networks နှင့် estimators များတွင် နောက်ထပ်မေးခွန်းများနှင့် အဖြေများကို ကြည့်ပါ။