PyTorch ရှိ nn.Conv2d လုပ်ဆောင်ချက်၏ ပထမဆုံး ကန့်သတ်ချက်ဖြစ်သည့် ထည့်သွင်းချန်နယ်အရေအတွက်သည် ထည့်သွင်းပုံရှိ အင်္ဂါရပ်မြေပုံ သို့မဟုတ် ချန်နယ်အရေအတွက်ကို ရည်ညွှန်းသည်။ ၎င်းသည် ရုပ်ပုံ၏ "အရောင်" တန်ဖိုးများ အရေအတွက်နှင့် တိုက်ရိုက်မသက်ဆိုင်သော်လည်း ကွန်ရက်မှ သင်ယူနိုင်သည့် ထူးခြားသော အင်္ဂါရပ်များ သို့မဟုတ် ပုံစံများကို ကိုယ်စားပြုသည်။
convolutional neural network (CNN) တွင် အလွှာတစ်ခုစီတွင် အင်္ဂါရပ်များကို ထုတ်ယူရန်အတွက် ထည့်သွင်းပုံနှင့် ပေါင်းစပ်ထားသော စစ်ထုတ်မှုများ သို့မဟုတ် kernels အများအပြား ပါဝင်ပါသည်။ ဤစစ်ထုတ်မှုများသည် ထည့်သွင်းဒေတာတွင်ပါရှိသော မတူညီသောပုံစံများ သို့မဟုတ် အင်္ဂါရပ်များကို လေ့လာရန် တာဝန်ရှိသည်။ ထည့်သွင်းသည့်ချန်နယ်အရေအတွက်သည် အလွှာတွင်အသုံးပြုသည့် စစ်ထုတ်မှုအရေအတွက်ကို ဆုံးဖြတ်သည်။
ဤသဘောတရားကို နားလည်ရန် ဥပမာတစ်ခုကို သုံးသပ်ကြည့်ကြပါစို့။ ကျွန်ုပ်တို့တွင် အတိုင်းအတာ 32×32 ရှိသော RGB ပုံတစ်ခုရှိသည်ဆိုပါစို့။ ပုံရှိ pixel တစ်ခုစီတွင် အနီရောင်၊ အစိမ်းနှင့် အပြာရောင် လိုင်းသုံးရောင်ရှိသည်။ ထို့ကြောင့် input image တွင် input channel သုံးခုရှိသည်။ ကျွန်ုပ်တို့သည် ဤပုံအား input channels 16 ခုပါသည့် convolutional layer မှတဆင့်ဖြတ်သွားပါက၊ layer တွင် filter 16 ခုရှိမည်ဖြစ်ပြီး၊ တစ်ခုချင်းစီသည် မတူညီသောအင်္ဂါရပ်များကိုထုတ်ယူရန်အတွက် input image နှင့် ပေါင်းစပ်သွားမည်ဖြစ်ပါသည်။
input channel များစွာရှိခြင်း၏ ရည်ရွယ်ချက်မှာ input data ၏ မတူညီသော သွင်ပြင်လက္ခဏာများ သို့မဟုတ် လက္ခဏာများကို ဖမ်းယူရန်ဖြစ်သည်။ ရုပ်ပုံများတွင်၊ အစွန်းများ၊ ပုံသဏ္ဍာန်များ သို့မဟုတ် အရောင်များကဲ့သို့ သီးခြားပုံစံများကို ဖမ်းယူသည့် မတူညီသော အင်္ဂါရပ်မြေပုံတစ်ခုအဖြစ် ချန်နယ်တစ်ခုစီကို တွေ့မြင်နိုင်သည်။ အဝင်လိုင်းများစွာရှိခြင်းဖြင့် ကွန်ရက်သည် ထည့်သွင်းဒေတာ၏ ပိုမိုရှုပ်ထွေးသောကိုယ်စားပြုမှုများကို လေ့လာနိုင်သည်။
input channels အရေအတွက်သည် convolutional layer ရှိ parameters အရေအတွက်ကိုလည်း သက်ရောက်မှုရှိပါသည်။ အလွှာရှိ စစ်ထုတ်မှုတစ်ခုစီသည် လေ့ကျင့်ရေးလုပ်ငန်းစဉ်အတွင်း သင်ယူနိုင်သော အလေးများ မက်ထရစ်တစ်ခုဖြစ်သည်။ အလွှာရှိ ကန့်သတ်ချက်များ အရေအတွက်ကို စစ်ထုတ်မှုများ၏ အရွယ်အစားနှင့် အဝင်နှင့် အထွက်လမ်းကြောင်း အရေအတွက်ဖြင့် ဆုံးဖြတ်သည်။ ထည့်သွင်းသည့်ချန်နယ်အရေအတွက်ကို တိုးမြှင့်ခြင်းသည် ကွန်ရက်ကို ပိုမိုဖော်ပြနိုင်စေရုံသာမက တွက်ချက်မှုအရလည်း ပိုမိုစျေးကြီးစေသည့် ကန့်သတ်အရေအတွက်ကို တိုးစေသည်။
nn.Conv2d လုပ်ဆောင်ချက်ရှိ ထည့်သွင်းသည့်ချန်နယ်အရေအတွက်သည် ထည့်သွင်းပုံရှိ အင်္ဂါရပ်မြေပုံများ သို့မဟုတ် ချန်နယ်အရေအတွက်ကို ကိုယ်စားပြုသည်။ ၎င်းသည် convolutional layer တွင်အသုံးပြုသည့် filter အရေအတွက်ကိုဆုံးဖြတ်ပြီး input data ၏ရှုပ်ထွေးသောကိုယ်စားပြုမှုများကိုလေ့လာရန် network ၏စွမ်းရည်အပေါ်သက်ရောက်သည်။
အခြား လတ်တလောမေးခွန်းများနှင့် အဖြေများ Convolution အာရုံကြောကွန်ယက် (CNN):
- အကြီးမားဆုံး convolutional neural network က ဘာကို ဖန်တီးတာလဲ။
- အထွက်လိုင်းတွေက ဘာတွေလဲ။
- လေ့ကျင့်နေစဉ်အတွင်း CNN ၏စွမ်းဆောင်ရည်ကို မြှင့်တင်ရန် ဘုံနည်းပညာအချို့က အဘယ်နည်း။
- CNN လေ့ကျင့်ရေးတွင် အသုတ်အရွယ်အစား၏ အရေးပါမှုကား အဘယ်နည်း။ လေ့ကျင့်ရေး လုပ်ငန်းစဉ်အပေါ် ဘယ်လိုသက်ရောက်မှုရှိလဲ။
- ဒေတာများကို လေ့ကျင့်ရေးနှင့် မှန်ကန်ကြောင်း အတည်ပြုမှုအစုများအဖြစ် ပိုင်းခြားရန် အဘယ်ကြောင့် အရေးကြီးသနည်း။ တရားဝင်အတည်ပြုရန်အတွက် ဒေတာမည်မျှကို ယေဘုယျအားဖြင့် ခွဲဝေပေးသနည်း။
- CNN အတွက် လေ့ကျင့်ရေးဒေတာကို ကျွန်ုပ်တို့ ဘယ်လိုပြင်ဆင်မလဲ။ ပါဝင်သည့် အဆင့်များကို ရှင်းပြပါ။
- convolutional neural network (CNN) လေ့ကျင့်ရေးတွင် optimizer and loss function ၏ ရည်ရွယ်ချက်ကား အဘယ်နည်း။
- CNN ကို လေ့ကျင့်နေစဉ်အတွင်း မတူညီသော အဆင့်များတွင် ထည့်သွင်းဒေတာ၏ ပုံသဏ္ဍာန်ကို စောင့်ကြည့်ရန် အဘယ်ကြောင့် အရေးကြီးသနည်း။
- ပုံများမှလွဲ၍ အခြားဒေတာအတွက် convolutional အလွှာများကို သုံးနိုင်ပါသလား။ ဥပမာတစ်ခုပေးပါ။
- CNN ရှိ linear အလွှာများအတွက် သင့်လျော်သောအရွယ်အစားကို သင်မည်သို့ဆုံးဖြတ်နိုင်မည်နည်း။
Convolution neural network (CNN) တွင် နောက်ထပ်မေးခွန်းများနှင့် အဖြေများကို ကြည့်ပါ