ဆောင်းပါးတို Generative Adversarial Network (GAN) ဆိုတာ ဘာလဲ။ - Unite.AI
ကြှနျုပျတို့နှငျ့အတူချိတ်ဆက်ပါ
AI Masterclass-

AI ၅၀

Generative Adversarial Network (GAN) ဆိုတာ ဘာလဲ။

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

Generative Adversarial Networks (GANs) Neural Network Architecture အမျိုးအစားများဖြစ်သည်။ ဒေတာအသစ်ထုတ်ပေးနိုင်စွမ်း သင်ယူမှုပုံစံများနှင့် ကိုက်ညီသည်။ GAN များကို လူသားမျက်နှာများ သို့မဟုတ် အခြားအရာဝတ္ထုများ၏ ပုံများကို ထုတ်လုပ်ရန်၊ စာသားမှပုံသို့ ဘာသာပြန်ဆိုရန်၊ ပုံအမျိုးအစားတစ်ခုမှ အခြားတစ်ခုသို့ ပြောင်းလဲရန်နှင့် အခြားအပလီကေးရှင်းများအကြား ပုံများ၏ ကြည်လင်ပြတ်သားမှု (super resolution) ကို မြှင့်တင်ရန်အတွက် GAN ကို အသုံးပြုနိုင်သည်။ GAN များသည် ဒေတာအသစ်များကို လုံးလုံးလျားလျား ထုတ်လုပ်နိုင်သောကြောင့် ၎င်းတို့သည် နောက်ဆုံးပေါ် AI စနစ်များ၊ အပလီကေးရှင်းများနှင့် သုတေသနများစွာ၏ အကြီးအကဲဖြစ်သည်။ GANs အတိအကျဘယ်လိုအလုပ်လုပ်သလဲ။ GAN များ မည်သို့လုပ်ဆောင်သည်ကို လေ့လာပြီး ၎င်းတို့၏ အဓိကအသုံးပြုမှုအချို့ကို လေ့လာကြည့်ကြပါစို့။

Generative Models နှင့် GAN များကို သတ်မှတ်ခြင်း။

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

မတူညီသော မျိုးဆက်သစ်မော်ဒယ်များတွင် ဒေတာထုတ်ပေးခြင်းနှင့် ဖြစ်နိုင်ခြေဖြန့်ဝေမှုများကို တွက်ချက်ရန် မတူညီသောနည်းလမ်းများရှိသည်။ ဥပမာအားဖြင့်၊ Naive Bayes မော်ဒယ် အမျိုးမျိုးသော input features များနှင့် generative class အတွက် ဖြစ်နိုင်ခြေ ဖြန့်ဖြူးမှုကို တွက်ချက်ခြင်းဖြင့် လုပ်ဆောင်သည်။ Naive Bayes မော်ဒယ်သည် ခန့်မှန်းချက်ကို တင်ဆက်သည့်အခါ၊ မတူညီသော ကိန်းရှင်များ၏ ဖြစ်နိုင်ခြေကိုယူပြီး ၎င်းတို့ကို ပေါင်းစည်းခြင်းဖြင့် ဖြစ်နိုင်ခြေအရှိဆုံး အတန်းကို တွက်ချက်ပါသည်။ နက်နဲသောသင်ယူမှုမဟုတ်သော အခြားမျိုးဆက်သစ်မော်ဒယ်များသည် Gaussian Mixture Models နှင့် Latent Dirichlet Allocation (LDA) တို့ ပါဝင်သည်။ နက်ရှိုင်းသော ယိမ်း-အခြေခံ မျိုးဆက်သစ် မော်ဒယ်များ ပါဝင် ကန့်သတ်ထားသော Boltzmann စက်များ (RBMs), အမျိုးမျိုးသော အော်တိုကုဒ်နံပါတ်များ (VAEs)နှင့် GANs။

Generative Adversarial Networks တွေပါ။ Ian Goodfellow မှ 2014 ခုနှစ်တွင် ပထမဆုံးအဆိုပြုခဲ့သည်။နှင့် ၎င်းတို့ကို Alec Redford နှင့် အခြားသုတေသီများက 2015 ခုနှစ်တွင် မြှင့်တင်ပေးခဲ့ပြီး GAN များအတွက် စံပြုဗိသုကာအဖြစ်သို့ ဦးတည်ခဲ့သည်။ GAN များသည် အမှန်တကယ်တွင် မတူညီသော ကွန်ရက်နှစ်ခုကို အတူတကွ ချိတ်ဆက်ထားသည်။ GAN တွေဖြစ်ပါတယ်။ နှစ်ပိုင်းဖြင့် ဖွဲ့စည်းထားသည်- Generator နှင့် Discriminator ဟူ၍လည်း ခေါ်ဆိုပါသည်။

GAN ဗိသုကာ

Generative Adversarial Networks တွေဖြစ်ပါတယ်။ Generator Model နှင့် Discriminator Model ကို ပေါင်းစပ်တည်ဆောက်ထားသည်။ ဂျင်နရေတာ မော်ဒယ်၏ အလုပ်မှာ လေ့ကျင့်ရေးဒေတာမှ သင်ယူခဲ့သည့် ပုံစံများကို အခြေခံ၍ ဒေတာနမူနာအသစ်များကို ဖန်တီးရန်ဖြစ်သည်။ ခွဲခြားမှုပုံစံ၏အလုပ်မှာ ရုပ်ပုံများကို ပိုင်းခြားစိတ်ဖြာရန် (ရုပ်ပုံများတွင် လေ့ကျင့်ထားသည်ဟု ယူဆသည်) နှင့် ပုံများကို ထုတ်လုပ်ခြင်း/အတုလား သို့မဟုတ် စစ်မှန်ခြင်းရှိမရှိ ဆုံးဖြတ်ရန်ဖြစ်သည်။

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

သင်တန်းကာလအတွင်း Gaussian ဒေတာဖြန့်ဝေမှုကို ဖန်တီးပြီးသည်နှင့်၊ မျိုးဆက်သစ်ပုံစံကို အသုံးပြုနိုင်သည်။ ဂျင်နရေတာ မော်ဒယ်သည် ကနဦးတွင် Gaussian ဖြန့်ဖြူးမှုအပေါ် အခြေခံ၍ ပြောင်းလဲသည့် ကျပန်း vector တစ်ခုကို ကျွေးပါသည်။ တစ်နည်းဆိုရသော် vector မျိုးစေ့သည် မျိုးဆက်ဖြစ်သည်။ မော်ဒယ်ကို လေ့ကျင့်သင်ကြားသောအခါ၊ vector space သည် ဒေတာ၏ Gaussian ဖြန့်ဖြူးမှု၏ ချုံ့ထားသောဗားရှင်း သို့မဟုတ် ကိုယ်စားပြုမှု ဖြစ်လိမ့်မည်။ ဒေတာဖြန့်ဝေမှု၏ ချုံ့ထားသောဗားရှင်းကို latent space သို့မဟုတ် latent variables များအဖြစ် ရည်ညွှန်းသည်။ နောက်ပိုင်းတွင်၊ GAN မော်ဒယ်သည် ငုပ်လျှိုးနေသော အာကာသကိုယ်စားပြုမှုကို ရယူပြီး မျိုးဆက်မော်ဒယ်သို့ ပေးအပ်နိုင်ပြီး လေ့ကျင့်ရေးဒေတာနှင့် အလွန်ဆင်တူသည့် ဒေတာအသစ်များကို ထုတ်လုပ်ရန်အတွက် ၎င်းမှ အမှတ်များကို ထုတ်ယူနိုင်သည်။

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

GAN လေ့ကျင့်ရေးလုပ်ငန်းစဉ်

တစ်ခုလုံးကို ကြည့်ရအောင် လေ့ကျင့်ရေး ဖြစ်စဉ် ဟန်ချက်ညီသော ရုပ်ပုံထုတ်လုပ်ခြင်းလုပ်ငန်းအတွက်။

စတင်ရန်၊ GAN သည် လေ့ကျင့်ရေးဒေတာအတွဲ၏ တစ်စိတ်တစ်ပိုင်းအနေဖြင့် စစ်မှန်သော၊ အစစ်အမှန်ပုံများကို အသုံးပြု၍ လေ့ကျင့်ထားသည်။ ၎င်းသည် ထုတ်လုပ်ထားသော ရုပ်ပုံများနှင့် အစစ်အမှန်ပုံများကြား ပိုင်းခြားရန် ခွဲခြားမှုပုံစံကို သတ်မှတ်ပေးသည်။ ၎င်းသည် ဒေတာအသစ်များထုတ်လုပ်ရန် ဂျင်နရေတာအသုံးပြုမည့် ဒေတာဖြန့်ဖြူးမှုကိုလည်း ထုတ်လုပ်ပေးသည်။

ဂျင်နရေတာသည် ကျပန်းဂဏန်းဒေတာ၏ vector ကိုယူပြီး Gaussian ဖြန့်ဝေမှုအပေါ်အခြေခံ၍ ၎င်းတို့ကို ပုံတစ်ပုံသို့ပြန်ပို့ပေးသည်။ လေ့ကျင့်ရေးဒေတာအတွဲမှ စစ်မှန်သောပုံရိပ်အချို့နှင့်အတူ ဤထုတ်လုပ်လိုက်သောပုံများကို ခွဲခြားဆက်ဆံသည့်ပုံစံသို့ ထည့်သွင်းထားသည်။ ခွဲခြားဆက်ဆံသူသည် ၎င်းရရှိသည့်ရုပ်ပုံများ၏ သဘောသဘာဝနှင့် ပတ်သက်၍ ဖြစ်နိုင်ခြေရှိသော ခန့်မှန်းချက်ကို 0 နှင့် 1 အကြား တန်ဖိုးတစ်ခုထုတ်ကာ 1 သည် ပုံမှန်အားဖြင့် စစ်မှန်သောပုံဖြစ်ပြီး 0 သည် ပုံအတုဖြစ်သည်။

ခွဲခြားဆက်ဆံသူသည် ရုပ်ပုံများ၏ မြေပြင်အမှန်တရားကို ဖြည့်သွင်းပေးသောကြောင့် ကစားရာတွင် တုံ့ပြန်ချက်နှစ်ထပ်ကွင်းတစ်ခုပါရှိသည်။

မျိုးဆက်သစ်နှင့် ခွဲခြားဆက်ဆံမှုပုံစံများသည် တစ်ဦးနှင့်တစ်ဦး ပေါင်း၍ သုညဂိမ်းကို ကစားကြသည်။ zero-sum ဂိမ်းသည် တစ်ဖက်မှ အမြတ်များကို အခြားတစ်ဖက်၏ ကုန်ကျစရိတ်ဖြင့် ရောက်လာသည် (ပေါင်းလဒ်သည် လုပ်ဆောင်ချက်နှစ်ခုလုံးသည် သုည ex ဖြစ်သည်)။ ခွဲခြားဆက်ဆံသူပုံစံသည် အစစ်အမှန်နှင့် အတုအယောင်နမူနာများကြား အောင်မြင်စွာ ပိုင်းခြားနိုင်သောအခါ၊ ခွဲခြားဆက်ဆံသူ၏ ကန့်သတ်ဘောင်များကို ပြောင်းလဲခြင်းမရှိပါ။ သို့သော် အစစ်အမှန်နှင့် အတုပုံများကြားတွင် ခွဲခြားရန် ပျက်ကွက်သည့်အခါ မော်ဒယ်၏ ကန့်သတ်ချက်များတွင် ကြီးမားသော အပ်ဒိတ်များကို ပြုလုပ်ပါသည်။ ခွဲခြားမှုပုံစံကို လိမ်လည်လှည့်ဖြားရန် ပျက်ကွက်သောအခါ မျိုးဆက်သစ်မော်ဒယ်အတွက် ဒဏ်ငွေ (နှင့် ၎င်း၏ ကန့်သတ်ချက်များ မွမ်းမံထားသည်)၊ သို့သော် မဟုတ်ပါက ၎င်း၏ ကန့်သတ်ချက်များသည် မပြောင်းလဲပါ (သို့မဟုတ် ၎င်းကို ဆုချီးမြှင့်သည်)။

အကောင်းဆုံးမှာ၊ ဂျင်နရေတာသည် အတုနှင့်အစစ်ပုံများကို ခွဲခြားခွဲခြားမသိနိုင်သောအချက်တစ်ခုအထိ ၎င်း၏စွမ်းဆောင်ရည်ကို မြှင့်တင်ပေးနိုင်သည်။ ဆိုလိုသည်မှာ ခွဲခြားဆက်ဆံသူသည် ပုံအစစ်အမှန်နှင့် အတုများအတွက် ဖြစ်နိုင်ခြေ 50% ကို အမြဲတမ်း တင်ဆက်နေမည်ဖြစ်ပြီး၊ ဆိုလိုသည်မှာ ထုတ်လုပ်လိုက်သော ပုံများသည် စစ်မှန်သောပုံများနှင့် ခွဲခြား၍မရပေ။ လက်တွေ့တွင်၊ GAN များသည် များသောအားဖြင့် ဤနေရာသို့ မရောက်ပါ။ သို့သော်၊ GAN များအတွက် အသုံးပြုသည့် အလုပ်များစွာအတွက် အသုံးဝင်နေသေးသော မျိုးဆက်သစ်ပုံစံသည် ပြီးပြည့်စုံသော အလားတူပုံများကို ဖန်တီးရန် မလိုအပ်ပါ။

GAN အက်ပ်များ

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

ဒေတာအတွဲများအတွက် နမူနာအသစ်များ ဖန်တီးခြင်း။

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

ထူးခြားသောလူ့မျက်နှာများဖန်တီးခြင်း။

ဤဓာတ်ပုံရှိ အမျိုးသမီး မရှိပါ။ ပုံအား StyleGAN မှ ထုတ်လုပ်ခဲ့သည်။ ဓာတ်ပုံ- Owlsmcgee မှတဆင့် Wikimedia Commons၊ အများသူငှာ Domain (https://commons.wikimedia.org/wiki/File:Woman_1.jpg)

လုံလောက်စွာ လေ့ကျင့်ထားသောအခါ၊ GAN များကို အသုံးပြုနိုင်သည်။ လူ့မျက်နှာများ၏ အလွန်လက်တွေ့ကျသော ရုပ်ပုံများကို ဖန်တီးပါ။ မျက်နှာမှတ်သားမှုစနစ်များကို လေ့ကျင့်ရန် ဤထုတ်လုပ်လိုက်သော ပုံများကို အသုံးပြုနိုင်သည်။

ရုပ်ပုံမှ ရုပ်ပုံဘာသာပြန်ခြင်း။

GAN များ ပုံဘာသာပြန်ဆိုရာတွင် excel GAN များကို အဖြူအမည်းပုံများကို အရောင်ခြယ်ရန်၊ ပုံကြမ်းများ သို့မဟုတ် ပုံများကို ဓာတ်ပုံအဖြစ်သို့ ဘာသာပြန်ရန် သို့မဟုတ် နေ့မှညသို့ ပုံများကို ပြောင်းလဲရန်အတွက် အသုံးပြုနိုင်သည်။

Text-To-Image ဘာသာပြန်ခြင်း။

Text-to-Image ဘာသာပြန်ဆိုသည်။ GANs ကိုအသုံးပြုခြင်းအားဖြင့်ဖြစ်နိုင်သည်။. ပုံတစ်ပုံနှင့် တွဲပါပုံကို ဖော်ပြသည့် စာသားဖြင့် ပံ့ပိုးပေးသည့်အခါ GAN က လုပ်ဆောင်နိုင်သည်။ ပုံအသစ်ဖန်တီးရန် လေ့ကျင့်ပါ။ လိုချင်သောပုံ၏ဖော်ပြချက်နှင့်အတူပေးသောအခါ။

ပုံများကို တည်းဖြတ်ခြင်းနှင့် ပြုပြင်ခြင်း။

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

စူပါ Resolution

Super Resolution သည် ကြည်လင်ပြတ်သားမှု နည်းပါးသော ရုပ်ပုံတစ်ပုံကို ရိုက်ယူပြီး ပုံထဲသို့ ပစ်ဇယ်ပိုထည့်ခြင်း လုပ်ငန်းစဉ်ဖြစ်ပြီး ထိုရုပ်ပုံ၏ ကြည်လင်ပြတ်သားမှုကို ပိုမိုကောင်းမွန်စေပါသည်။ ပုံတစ်ပုံရိုက်ရန် GAN များကို လေ့ကျင့်နိုင်ပါသည်။ ထိုရုပ်ပုံ၏ အရည်အသွေးမြင့် ဗားရှင်းကို ဖန်တီးပါ။ 

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