မာတိကာ[ဖျောက်][ရှိုး]
မကြာသေးမီနှစ်များအတွင်း၊ အာရုံကြောကွန်ရက်များသည် ကျယ်ပြန့်သောလုပ်ငန်းဆောင်တာများတွင် အလွန်ကောင်းမွန်ကြောင်း ပြသသောကြောင့် လူကြိုက်များလာခဲ့သည်။
၎င်းတို့သည် ရုပ်ပုံနှင့် အသံ မှတ်သားမှု၊ သဘာဝဘာသာစကား လုပ်ဆောင်ခြင်းနှင့် Go နှင့် စစ်တုရင်ကဲ့သို့သော ရှုပ်ထွေးသောဂိမ်းများကိုပင် ကစားခြင်းအတွက် ရွေးချယ်မှုကောင်းတစ်ခုဖြစ်ကြောင်း ပြသထားသည်။
ဒီ post မှာ neural network လေ့ကျင့်ရေး လုပ်ငန်းစဉ် တစ်ခုလုံးကို ပြောပြပေးပါမယ်။ Nural Network ကိုလေ့ကျင့်ရန် အဆင့်အားလုံးကို ဖော်ပြပြီး ရှင်းပြပါမည်။
အဆင့်တွေကို ကျော်သွားတဲ့အခါ လက်တွေ့ကျတဲ့ ဥပမာတစ်ခုရှိတယ်ဆိုတာ သေချာစေဖို့ ရိုးရှင်းတဲ့ ဥပမာတစ်ခု ထပ်ထည့်ချင်ပါတယ်။
ဒီတော့ လာပြီးတော့ အာရုံကြောကွန်ရက်တွေကို ဘယ်လိုလုပ်ဆောင်ရမလဲဆိုတာ လေ့လာကြည့်ရအောင်
ရိုးရှင်းစွာစတင်ပြီး ဘာတွေလဲဆိုတာ မေးကြည့်ရအောင် အာရုံကြောကွန်ရက်များ ပထမဦးဆုံးအရာအရပျ၌တည်၏။
အတိအကျ Neural Networks ဆိုတာဘာလဲ။
Neural Network များသည် လူ့ဦးနှောက်၏ လုပ်ဆောင်ချက်ကို အတုယူနိုင်သော ကွန်ပျူတာဆော့ဖ်ဝဲများဖြစ်သည်။ ၎င်းတို့သည် လူများရှာဖွေရခက်နိုင်သည့် ဒေတာပမာဏများစွာနှင့် နေရာကွက်ပုံစံများမှ သင်ယူနိုင်သည်။
အာရုံကြောကွန်ရက်များသည် ရုပ်ပုံနှင့် အသံ မှတ်သားမှု၊ သဘာဝဘာသာစကား လုပ်ဆောင်ခြင်းနှင့် ကြိုတင်ခန့်မှန်းမှု ပုံစံထုတ်ခြင်းစသည့် လုပ်ငန်းဆောင်တာများတွင် ဘက်စုံသုံးနိုင်ခြင်းကြောင့် မကြာသေးမီနှစ်များအတွင်း လူကြိုက်များလာခဲ့သည်။
ယေဘုယျအားဖြင့်၊ အာရုံကြောကွန်ရက်များသည် ကျယ်ပြန့်သောအသုံးချပရိုဂရမ်များအတွက် ခိုင်မာသောကိရိယာတစ်ခုဖြစ်ပြီး ကျွန်ုပ်တို့အလုပ်များစွာကို ချဉ်းကပ်ပုံပြောင်းရန် အခွင့်အလမ်းရှိသည်။
သူတို့အကြောင်းကို ဘာကြောင့် သိသင့်သလဲ။
အာရုံကြောကွန်ရက်များကို နားလည်ခြင်းသည် ကွန်ပျူတာအမြင်၊ စကားပြောမှတ်မိခြင်းနှင့် သဘာဝဘာသာစကားလုပ်ဆောင်ခြင်းအပါအဝင် နယ်ပယ်အမျိုးမျိုးတွင် ရှာဖွေတွေ့ရှိမှုများကို ဖြစ်ပေါ်စေသောကြောင့် အရေးကြီးပါသည်။
ဥပမာအားဖြင့်၊ အာရုံကြောကွန်ရက်များသည် အလိုအလျောက်မောင်းနှင်သည့်ကားများ၊ အလိုအလျောက်ဘာသာပြန်ခြင်းဝန်ဆောင်မှုများနှင့် ဆေးဘက်ဆိုင်ရာရောဂါရှာဖွေခြင်းများကိုပင် မကြာသေးမီက ဖြစ်ပေါ်တိုးတက်မှုများ၏ ဗဟိုချက်ဖြစ်သည်။
အာရုံကြောကွန်ရက်များ မည်သို့လုပ်ဆောင်ပုံနှင့် ၎င်းတို့ကို ဒီဇိုင်းထုတ်ပုံတို့ကို နားလည်ခြင်းသည် ကျွန်ုပ်တို့အား အသစ်နှင့် တီထွင်ဆန်းသစ်သော အပလီကေးရှင်းများ ဖန်တီးရန် ကူညီပေးပါသည်။ ထို့အပြင်၊ ၎င်းသည် အနာဂတ်တွင် ပိုမိုကြီးမားသော ရှာဖွေတွေ့ရှိမှုများကို ဖြစ်ပေါ်စေနိုင်သည်။
Tutorial အကြောင်း မှတ်ချက်
အပေါ်မှာပြောခဲ့သလိုပဲ၊ ဥပမာတစ်ခုပေးခြင်းအားဖြင့် neural network လေ့ကျင့်ရေးအဆင့်တွေကို ရှင်းပြချင်ပါတယ်။ ဒါကိုလုပ်ဖို့၊ MNIST dataset အကြောင်းပြောသင့်တယ်။ အာရုံကြောကွန်ရက်များကို စတင်အသုံးပြုလိုသူများအတွက် ရေပန်းစားသော ရွေးချယ်မှုတစ်ခုဖြစ်သည်။
MNIST သည် Modified National Institute of Standards and Technology အတွက် အတိုကောက်ဖြစ်သည်။ ၎င်းသည် စက်သင်ယူမှုပုံစံများ အထူးသဖြင့် အာရုံကြောကွန်ရက်များကို လေ့ကျင့်ခြင်းနှင့် စမ်းသပ်ခြင်းအတွက် အသုံးများသော လက်ရေးဂဏန်းဒေတာအတွဲတစ်ခုဖြစ်သည်။
စုစည်းမှုတွင် 70,000 မှ 0 အထိ လက်ရေးဖြင့်ရေးထားသော မီးခိုးရောင်စကေးဓာတ်ပုံ 9 ပါရှိသည်။
MNIST ဒေတာအတွဲသည် လူကြိုက်များသောစံနှုန်းတစ်ခုဖြစ်သည်။ ရုပ်ပုံအမျိုးအစားခွဲခြားခြင်း။ လုပ်ငန်းတာဝန်များ။ စက်သင်ယူမှု အယ်လဂိုရီသမ်များအတွက် ခက်ခဲသော စိန်ခေါ်မှုတစ်ခုအဖြစ် စိန်ခေါ်မှုတစ်ခုအဖြစ် တည်ရှိနေသော်လည်း ၎င်းသည် ကျစ်လျစ်ပြီး ကိုင်တွယ်ရလွယ်ကူသောကြောင့် သင်ကြားရေးနှင့် သင်ယူခြင်းအတွက် မကြာခဏအသုံးပြုလေ့ရှိသည်။
MNIST ဒေတာအတွဲကို TensorFlow၊ Keras နှင့် PyTorch အပါအဝင် စက်သင်ယူမှုဘောင်များနှင့် စာကြည့်တိုက်အများအပြားမှ ပံ့ပိုးပေးထားသည်။
ယခု ကျွန်ုပ်တို့သည် MNIST ဒေတာအတွဲအကြောင်း သိကြပြီး၊ ကျွန်ုပ်တို့၏ အာရုံကြောကွန်ရက်ကို လေ့ကျင့်ခြင်း အဆင့်များဖြင့် စတင်လိုက်ကြပါစို့။
Neural Network ကိုလေ့ကျင့်ရန် အခြေခံအဆင့်များ
လိုအပ်သော စာကြည့်တိုက်များကို တင်သွင်းပါ။
အာရုံကြောကွန်ရက်တစ်ခုကို စတင်လေ့ကျင့်သောအခါ၊ မော်ဒယ်ကို ဒီဇိုင်းဆွဲရန်နှင့် လေ့ကျင့်ရန် လိုအပ်သောကိရိယာများ ရှိရန် အရေးကြီးသည်။ အာရုံကြောကွန်ရက်ဖန်တီးရာတွင် ကနဦးအဆင့်မှာ TensorFlow၊ Keras နှင့် NumPy ကဲ့သို့သော လိုအပ်သော စာကြည့်တိုက်များကို တင်သွင်းရန်ဖြစ်သည်။
ဤစာကြည့်တိုက်များသည် အာရုံကြောကွန်ရက်၏ ဖွံ့ဖြိုးတိုးတက်မှုအတွက် အဆောက်အဦများအဖြစ် ဆောင်ရွက်ကြပြီး အရေးကြီးသော လုပ်ဆောင်နိုင်စွမ်းများကို ပံ့ပိုးပေးသည်။ ဤစာကြည့်တိုက်များ ပေါင်းစပ်ခြင်းဖြင့် ခေတ်မီဆန်းပြားသော အာရုံကြောကွန်ရက် ဒီဇိုင်းများ ဖန်တီးခြင်းနှင့် မြန်ဆန်သော လေ့ကျင့်မှုများကို ပြုလုပ်နိုင်စေပါသည်။
ကျွန်ုပ်တို့၏ဥပမာကိုစတင်ရန်; TensorFlow၊ Keras နှင့် NumPy အပါအဝင် လိုအပ်သော စာကြည့်တိုက်များကို တင်သွင်းပါမည်။ TensorFlow open-source machine learning framework တစ်ခုဖြစ်ပြီး Keras သည် high-level neural network API ဖြစ်ပြီး NumPy သည် ကိန်းဂဏန်းကွန်ပျူတာ Python စာကြည့်တိုက်တစ်ခုဖြစ်သည်။
import tensorflow as tf
from tensorflow import keras
import numpy as np
Dataset ကို တင်ပါ။
ဒေတာအစုံကို ယခုတင်ရပါမည်။ ဒေတာအတွဲသည် အာရုံကြောကွန်ရက်ကို လေ့ကျင့်သင်ကြားပေးမည့် ဒေတာအစုဖြစ်သည်။ ၎င်းသည် ဓာတ်ပုံများ၊ အသံနှင့် စာသားအပါအဝင် မည်သည့်ဒေတာအမျိုးအစားဖြစ်နိုင်သည်။
ဒေတာအတွဲကို အပိုင်းနှစ်ပိုင်းခွဲရန် အရေးကြီးသည်- တစ်ခုသည် အာရုံကြောကွန်ရက်ကို လေ့ကျင့်ရန်နှင့် လေ့ကျင့်ထားသော မော်ဒယ်၏ မှန်ကန်မှုကို အကဲဖြတ်ရန်အတွက် နောက်တစ်ပိုင်းသည် အရေးကြီးပါသည်။ TensorFlow၊ Keras နှင့် PyTorch အပါအဝင် စာကြည့်တိုက်များစွာကို ဒေတာအတွဲကို တင်သွင်းရန်အတွက် အသုံးပြုနိုင်သည်။
ကျွန်ုပ်တို့၏ ဥပမာအနေဖြင့်၊ ကျွန်ုပ်တို့သည် MNIST ဒေတာအတွဲကို တင်ရန် Keras ကိုလည်း အသုံးပြုပါသည်။ ဒေတာအတွဲတွင် လေ့ကျင့်ရေးဓာတ်ပုံ 60,000 နှင့် စမ်းသပ်မှုပုံ 10,000 ရှိသည်။
mnist = keras.datasets.mnist
(train_images, train_labels), (test_images, test_labels) = mnist.load_data()
Data ကို ကြိုတင်လုပ်ဆောင်ပါ။
ဒေတာကြိုတင်လုပ်ဆောင်ခြင်းသည် အာရုံကြောကွန်ရက်ကို လေ့ကျင့်ရာတွင် အရေးကြီးသောအဆင့်ဖြစ်သည်။ ၎င်းသည် အာရုံကြောကွန်ရက်သို့မပို့မီ ဒေတာများကို ပြင်ဆင်ခြင်းနှင့် သန့်ရှင်းရေးပြုလုပ်ခြင်းတို့တွင် ပါဝင်ပါသည်။
ပစ်ဇယ်တန်ဖိုးများကို ချဲ့ထွင်ခြင်း၊ ဒေတာကို ပုံမှန်ဖြစ်အောင်ပြုလုပ်ခြင်းနှင့် အညွှန်းများကို hot one-hot ကုဒ်ပြောင်းခြင်းသို့ ပြောင်းလဲခြင်းများသည် ကြိုတင်လုပ်ဆောင်ခြင်းလုပ်ငန်းစဉ်များ၏ ဥပမာများဖြစ်သည်။ ဤလုပ်ငန်းစဉ်များသည် အာရုံကြောကွန်ရက်ကို ပိုမိုထိရောက်တိကျစွာ သင်ယူရာတွင် အထောက်အကူပြုပါသည်။
ဒေတာကို ကြိုတင်လုပ်ဆောင်ခြင်းသည် အလွန်အကျုံးဝင်မှုကို လျှော့ချရန်နှင့် အာရုံကြောကွန်ရက်၏ စွမ်းဆောင်ရည်ကို မြှင့်တင်ရန်လည်း အထောက်အကူပြုနိုင်သည်။
အာရုံကြောကွန်ရက်ကို မလေ့ကျင့်မီ ဒေတာကို ကြိုတင်စီမံရပါမည်။ ၎င်းတွင် အညွှန်းများကို one-hot ကုဒ်ပြောင်းခြင်းသို့ ပြောင်းလဲခြင်းနှင့် pixel တန်ဖိုးများကို 0 နှင့် 1 ကြားရှိစေရန် ချိန်ညှိခြင်းများ ပါဝင်သည်။
train_images = train_images / 255.0
test_images = test_images / 255.0
train_labels = keras.utils.to_categorical(train_labels, 10)
test_labels = keras.utils.to_categorical(test_labels, 10)
Model ကိုသတ်မှတ်ပါ။
အာရုံကြောကွန်ရက်ပုံစံကို အဓိပ္ပာယ်ဖွင့်ဆိုခြင်းလုပ်ငန်းစဉ်တွင် အလွှာအရေအတွက်၊ အလွှာတစ်ခုလျှင် အာရုံကြောအရေအတွက်၊ လှုပ်ရှားလုပ်ဆောင်မှုများ၊ နှင့် ကွန်ရက်အမျိုးအစား (feedforward၊ ထပ်တလဲလဲ သို့မဟုတ် ဆက်တိုက်ဖြစ်နေသော) ကဲ့သို့သော ၎င်း၏ဗိသုကာလက်ရာကို တည်ထောင်ခြင်းတွင် ပါဝင်ပါသည်။
သင်အသုံးပြုသော အာရုံကြောကွန်ရက်ဒီဇိုင်းကို သင်ဖြေရှင်းရန်ကြိုးစားနေသော ပြဿနာအမျိုးအစားအလိုက် ဆုံးဖြတ်သည်။ ကောင်းစွာသတ်မှတ်ထားသော အာရုံကြောကွန်ရက် ဒီဇိုင်းသည် ၎င်းကို ပိုမိုထိရောက်ပြီး တိကျစေရန်အတွက် အာရုံကြောကွန်ရက် သင်ယူမှုတွင် အထောက်အကူဖြစ်စေပါသည်။
ဤအချက်တွင် အာရုံကြောကွန်ရက်ပုံစံကို ဖော်ပြရန် အချိန်တန်ပြီ။ ဤဥပမာအတွက် ဆဲလ် 128 ရှိသော နျူရွန် 10 ပါသော လျှို့ဝှက်အလွှာနှစ်ခုပါသော ရိုးရိုးမော်ဒယ်ကို အသုံးပြုပါ။
model = keras.Sequential([
keras.layers.Flatten(input_shape=(28, 28)),
keras.layers.Dense(128, activation='relu'),
keras.layers.Dense(128, activation='relu'),
keras.layers.Dense(10, activation='softmax')
])
မော်ဒယ်ကို ပြုစုပါ။
အာရုံကြောကွန်ရက်မော်ဒယ်၏ စုစည်းမှုအတွင်း ဆုံးရှုံးမှုလုပ်ဆောင်ချက်၊ ပိုမိုကောင်းမွန်အောင်လုပ်ဆောင်ခြင်းနှင့် မက်ထရစ်များကို သတ်မှတ်ရပါမည်။ အာရုံကြောကွန်ရက်၏ ရလဒ်ကို မှန်ကန်စွာ ခန့်မှန်းနိုင်စွမ်းကို ဆုံးရှုံးမှုလုပ်ဆောင်ချက်ဖြင့် တိုင်းတာသည်။
လေ့ကျင့်နေစဉ်အတွင်း အာရုံကြောကွန်ရက်၏ တိကျမှုကို တိုးမြှင့်ရန်၊ ပိုမိုကောင်းမွန်အောင်ပြုလုပ်သူသည် ၎င်း၏အလေးချိန်များကို ပြုပြင်ပေးသည်။ လေ့ကျင့်နေစဉ်အတွင်း အာရုံကြောကွန်ရက်၏ ထိရောက်မှုကို မက်ထရစ်များ အသုံးပြု၍ တိုင်းတာသည်။ အာရုံကြောကွန်ရက်ကို မလေ့ကျင့်မီ မော်ဒယ်ကို ဖန်တီးရပါမည်။
ကျွန်ုပ်တို့၏ဥပမာတွင်၊ ယခု ကျွန်ုပ်တို့သည် ယခုပုံစံကို တည်ဆောက်ရမည်ဖြစ်သည်။
model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])
Model ကိုလေ့ကျင့်ပါ။
ဆုံးရှုံးသွားသည့်လုပ်ဆောင်ချက်ကို လျှော့ချရန် ကွန်ရက်၏အလေးချိန်များကို မွမ်းမံစဉ်တွင် ပြင်ဆင်ထားသည့် ဒေတာအစုံကို အာရုံကြောကွန်ရက်မှတစ်ဆင့် ဖြတ်သန်းခြင်းကို အာရုံကြောကွန်ရက်ကို လေ့ကျင့်ပေးခြင်းဟု လူသိများသည်။
လေ့ကျင့်နေစဉ်အတွင်း အာရုံကြောကွန်ရက်ကို စမ်းသပ်ရန် တရားဝင်ဒေတာအတွဲကို ၎င်း၏ထိရောက်မှုကိုခြေရာခံကာ လွန်လွန်ကဲကဲမဖြစ်အောင် ကာကွယ်ရန် အသုံးပြုသည်။ လေ့ကျင့်ရေးလုပ်ငန်းစဉ်သည် အချိန်အနည်းငယ်ကြာနိုင်သည်၊ ထို့ကြောင့် အာရုံကြောကွန်ရက်သည် ညံ့ဖျင်းမှုမှကာကွယ်ရန် သင့်လျော်စွာ လေ့ကျင့်ထားရန် အရေးကြီးသည်။
လေ့ကျင့်ရေးဒေတာကို အသုံးပြု၍ မော်ဒယ်ကို လေ့ကျင့်နိုင်ပါပြီ။ ထိုသို့လုပ်ဆောင်ရန်၊ ကျွန်ုပ်တို့သည် အစုလိုက်အရွယ်အစား (မော်ဒယ်ကို မွမ်းမံမွမ်းမံခြင်းမပြုမီ လုပ်ဆောင်ခဲ့သည့် နမူနာအရေအတွက်) နှင့် အပိုင်းအရေအတွက် (ဒေတာအစုံအလင်တွင် ထပ်ခါတလဲလဲ အကြိမ်အရေအတွက်) ကို သတ်မှတ်ရပါမည်။
model.fit(train_images, train_labels, epochs=10, batch_size=32)
မော်ဒယ်ကို အကဲဖြတ်ခြင်း။
စမ်းသပ်ဒေတာအတွဲတွင် အာရုံကြောကွန်ရက်၏ စွမ်းဆောင်ရည်ကို စမ်းသပ်ခြင်းသည် ၎င်းကို အကဲဖြတ်သည့် လုပ်ငန်းစဉ်ဖြစ်သည်။ ဤအဆင့်တွင်၊ လေ့ကျင့်ထားသော အာရုံကြောကွန်ရက်ကို စမ်းသပ်ဒေတာအတွဲကို လုပ်ဆောင်ရန် အသုံးပြုပြီး တိကျမှုကို အကဲဖြတ်ပါသည်။
အသစ်စက်စက် မစမ်းသပ်ရသေးသော ဒေတာများမှ မှန်ကန်သောရလဒ်ကို အာရုံကြောကွန်ရက်တစ်ခု မည်မျှထိရောက်စွာ ခန့်မှန်းနိုင်သနည်းဟူသည် ၎င်း၏တိကျမှုအတိုင်းအတာတစ်ခုဖြစ်သည်။ မော်ဒယ်ကို ခွဲခြမ်းစိတ်ဖြာခြင်းဖြင့် အာရုံကြောကွန်ရက် မည်မျှကောင်းမွန်ကြောင်း ဆုံးဖြတ်ရာတွင် အထောက်အကူပြုနိုင်ပြီး ၎င်းကို ပိုကောင်းအောင်ပြုလုပ်ရန် နည်းလမ်းများကိုလည်း အကြံပြုပေးနိုင်ပါသည်။
လေ့ကျင့်ပြီးနောက် စမ်းသပ်မှုဒေတာကို အသုံးပြု၍ မော်ဒယ်၏စွမ်းဆောင်ရည်ကို နောက်ဆုံးတွင် အကဲဖြတ်နိုင်ပါသည်။
test_loss, test_acc = model.evaluate(test_images, test_labels)
print('Test accuracy:', test_acc)
ဒါပါပဲ! MNIST ဒေတာအတွဲတွင် ဂဏန်းများကို ရှာဖွေနိုင်စေရန် ကျွန်ုပ်တို့သည် အာရုံကြောကွန်ရက်တစ်ခုကို လေ့ကျင့်သင်ကြားပေးခဲ့ပါသည်။
ဒေတာကို ပြင်ဆင်ခြင်းမှ လေ့ကျင့်သင်ကြားထားသော မော်ဒယ်၏ ထိရောက်မှုကို အကဲဖြတ်ခြင်းအထိ၊ အာရုံကြောကွန်ရက်ကို လေ့ကျင့်ခြင်းတွင် လုပ်ငန်းစဉ်များစွာ ပါဝင်ပါသည်။ ဤညွှန်ကြားချက်များသည် အာရုံကြောကွန်ရက်များကို ထိရောက်စွာတည်ဆောက်ခြင်းနှင့် လေ့ကျင့်သင်ကြားခြင်းတွင် အတွေ့အကြုံမရှိသေးသူများကို ကူညီပေးသည်။
အမျိုးမျိုးသောပြဿနာများကိုကိုင်တွယ်ဖြေရှင်းရန် အာရုံကြောကွန်ရက်များကို အသုံးပြုလိုသော အစပြုသူများသည် ဤညွှန်ကြားချက်များကို လိုက်နာခြင်းဖြင့် ပြုလုပ်နိုင်ပါသည်။
နမူနာကို မြင်ယောင်ကြည့်ပါ။
ပိုနားလည်အောင် ဒီနမူနာနဲ့ လုပ်ခဲ့တာတွေကို မြင်ယောင်ကြည့်ရအောင်။
Matplotlib ပက်ကေ့ဂျ်ကို လေ့ကျင့်ရေးဒေတာအတွဲမှ ဓာတ်ပုံများကို ကျပန်းရွေးချယ်ရန် ဤကုဒ်အတိုအထွာတွင် အသုံးပြုပါသည်။ ပထမဦးစွာ၊ ကျွန်ုပ်တို့သည် Matplotlib ၏ “pyplot” module ကို တင်သွင်းပြီး ၎င်းကို “plt” ဟု နာမည်တပ်သည်။ ထို့နောက် စုစုပေါင်းအတိုင်းအတာ 10 x 10 လက်မဖြင့်၊ အတန်းခွဲ 5 ခုနှင့် ကော်လံ 5 ခုပါသည့် ပုံတစ်ခုပြုလုပ်သည်။
ထို့နောက်၊ တစ်ခုစီရှိ လေ့ကျင့်ရေးဒေတာအတွဲမှ ရုပ်ပုံတစ်ပုံကိုပြသပြီး အပိုင်းခွဲများပေါ်တွင် ထပ်လောင်းရန် for loop တစ်ခုကို အသုံးပြုသည်။ ဓာတ်ပုံကိုပြသရန်၊ ဓာတ်ပုံများကို မီးခိုးရောင်စကေးဖြင့်ပြသရန် "cmap" ရွေးချယ်မှုကို 'မီးခိုးရောင်' ဟုသတ်မှတ်ခြင်းဖြင့် "imshow" လုပ်ဆောင်ချက်ကို အသုံးပြုပါသည်။ အပိုင်းခွဲတစ်ခုစီ၏ ခေါင်းစဉ်ကိုလည်း စုစည်းမှုရှိ ဆက်စပ်ပုံ၏ အညွှန်းအဖြစ် သတ်မှတ်ထားသည်။
နောက်ဆုံးတွင်၊ ကျွန်ုပ်တို့သည် ပုံတွင်ပြထားသောပုံများကိုပြသရန် "show" function ကိုအသုံးပြုသည်။ ဤလုပ်ဆောင်ချက်သည် ကျွန်ုပ်တို့အား ဒေတာအတွဲမှ ဓာတ်ပုံနမူနာကို အမြင်အာရုံဖြင့် အကဲဖြတ်နိုင်စေသည်၊ ၎င်းသည် ဒေတာကို ကျွန်ုပ်တို့၏နားလည်မှုနှင့် ဖြစ်နိုင်သည့်စိုးရိမ်မှုများကို ဖော်ထုတ်ရာတွင် အထောက်အကူဖြစ်စေပါသည်။
import matplotlib.pyplot as plt
# Plot a random sample of images
fig, axes = plt.subplots(nrows=5, ncols=5, figsize=(10,10))
for i, ax in enumerate(axes.flat):
ax.imshow(train_images[i], cmap='gray')
ax.set_title(f"Label: {train_labels[i].argmax()}")
ax.axis('off')
plt.show()
အရေးကြီးသော Neural Network မော်ဒယ်များ
- Feedforward Neural Networks (FFNN)- အချက်အလက်များသည် အဝင်အလွှာမှ အထွက်အလွှာသို့ လျှို့ဝှက်အလွှာတစ်ခု သို့မဟုတ် တစ်ခုထက်ပိုသော အလွှာမှတစ်ဆင့် သတင်းအချက်အလက်များကို တစ်လမ်းတည်းသာ သွားလာနိုင်သည့် အာရုံကြောကွန်ရက် အမျိုးအစားဖြစ်သည်။
- Convolutional Neural Networks (CNN)- ရုပ်ပုံရှာဖွေခြင်းနှင့် လုပ်ဆောင်ခြင်းများတွင် အသုံးများသော အာရုံကြောကွန်ရက်တစ်ခု။ CNN များသည် ရုပ်ပုံများမှ အင်္ဂါရပ်များကို အလိုအလျောက် သိရှိပြီး ထုတ်ယူရန် ရည်ရွယ်ပါသည်။
- Recurrent Neural Networks (RNN)- ရုပ်ပုံရှာဖွေခြင်းနှင့် လုပ်ဆောင်ခြင်းများတွင် အသုံးများသော အာရုံကြောကွန်ရက်တစ်ခု။ CNN များသည် ရုပ်ပုံများမှ အင်္ဂါရပ်များကို အလိုအလျောက် သိရှိပြီး ထုတ်ယူရန် ရည်ရွယ်ပါသည်။
- Long-Term Memory (LSTM) ကွန်ရက်များ- ပုံမှန် RNN များတွင် ပျောက်နေသော gradients ပြဿနာကို ကျော်လွှားရန် ဖန်တီးထားသော RNN ပုံစံ။ ဆက်တိုက်ဒေတာများတွင် ရေရှည်မှီခိုမှုကို LSTMs များဖြင့် ပိုမိုကောင်းမွန်စွာ ဖမ်းယူနိုင်မည်ဖြစ်သည်။
- အော်တိုကုဒ်နံပါတ်များ- ကွန်ရက်သည် ၎င်း၏အဝင်ဒေတာကို ၎င်း၏အထွက်အလွှာတွင် ပြန်လည်ထုတ်လုပ်ရန် သင်ကြားပေးသည့် ကြီးကြပ်မှုမရှိသော သင်ယူမှုအာရုံကြောကွန်ရက်။ ဒေတာချုံ့ခြင်း၊ မမှန်မကန်သိရှိခြင်းနှင့် ရုပ်ပုံဖျက်ခြင်းတို့ကို autoencoders များဖြင့် ပြီးမြောက်စေနိုင်ပါသည်။
- Generative Adversarial Networks (GAN)- Generative Neural Network သည် လေ့ကျင့်ရေးဒေတာအတွဲနှင့် နှိုင်းယှဉ်နိုင်သော ဒေတာအသစ်များထုတ်လုပ်ရန် သင်ကြားပေးသော အာရုံကြောကွန်ရက်ပုံစံတစ်ခုဖြစ်သည်။ GAN များကို ကွန်ရက်နှစ်ခုဖြင့် ဖွဲ့စည်းထားသည်- ဒေတာအသစ်များကို ဖန်တီးပေးသည့် ဂျင်နရေတာကွန်ရက်တစ်ခုနှင့် ဖန်တီးထားသောဒေတာ၏ အရည်အသွေးကို အကဲဖြတ်သည့် ခွဲခြားဆက်ဆံသည့်ကွန်ရက်တစ်ခု။
အကျဉ်းချုပ်၊ သင်၏နောက်ထပ်အဆင့်များသည် အဘယ်နည်း။
အာရုံကြောကွန်ရက်ကို လေ့ကျင့်ပေးခြင်းအကြောင်း ပိုမိုလေ့လာရန် အွန်လိုင်းအရင်းအမြစ်များနှင့် သင်တန်းများစွာကို စူးစမ်းလေ့လာပါ။ ပရောဂျက်များ သို့မဟုတ် ဥပမာများကို လုပ်ဆောင်ခြင်းသည် အာရုံကြောကွန်ရက်များကို ပိုမိုကောင်းမွန်စွာ ဆုပ်ကိုင်နိုင်စေရန် နည်းလမ်းတစ်ခုဖြစ်သည်။
ဒွိအမျိုးအစားခွဲခြားခြင်းပြဿနာများ သို့မဟုတ် ရုပ်ပုံအမျိုးအစားခွဲခြားခြင်းလုပ်ငန်းကဲ့သို့သော လွယ်ကူသောနမူနာများဖြင့် စတင်ပါ၊ ထို့နောက် သဘာဝဘာသာစကားလုပ်ဆောင်ခြင်း သို့မဟုတ် ပိုမိုခက်ခဲသောအလုပ်များသို့ သွားပါ။ အားဖြည့်သင်ယူမှု.
ပရောဂျက်များတွင် အလုပ်လုပ်ခြင်းသည် သင့်အား စစ်မှန်သော အတွေ့အကြုံများ ရရှိရန်နှင့် သင်၏ အာရုံကြောကွန်ရက် လေ့ကျင့်ရေးစွမ်းရည်များ တိုးတက်စေရန် ကူညီပေးပါသည်။
သင်သည် အခြားသော သင်ယူသူများနှင့် ပရော်ဖက်ရှင်နယ်များနှင့် အပြန်အလှန် တုံ့ပြန်ရန်၊ သင့်လုပ်ငန်းကို မျှဝေရန်နှင့် မှတ်ချက်များနှင့် အကူအညီများ ရယူရန် အွန်လိုင်းစက်သင်ယူမှုနှင့် အာရုံကြောကွန်ရက်အဖွဲ့များနှင့် ဖိုရမ်များတွင်လည်း ပါဝင်နိုင်သည်။
LSRS MONRAD-KROHN
⁶ĵ error minimization အတွက် python ပရိုဂရမ်ကို ကြည့်ချင်ပါသလား။ နောက်အလွှာသို့ အလေးချိန်ပြောင်းလဲခြင်းအတွက် အထူးရွေးချယ်မှု ဆုံမှတ်များ