ဖြေရှင်းထားသည်- adam optimizer keras သင်ယူမှုနှုန်းကို ကျဆင်းစေပါသည်။

သေချာပါတယ်၊ ဆောင်းပါးနဲ့စလိုက်ရအောင်။

နက်ရှိုင်းသောသင်ယူမှုပုံစံများသည် ယနေ့ခေတ်တွင် နည်းပညာ၏ အရေးပါသောကဏ္ဍတစ်ခုဖြစ်လာပြီး Adam Optimizer ကဲ့သို့သော ကွဲပြားခြားနားသော ပိုမိုကောင်းမွန်အောင်လုပ်ဆောင်သည့် အယ်လဂိုရီသမ်များသည် ၎င်းတို့၏လုပ်ဆောင်မှုတွင် အရေးပါသောအခန်းကဏ္ဍမှ ပါဝင်ပါသည်။ နက်ရှိုင်းသော သင်ယူမှုပုံစံများကို တီထွင်ခြင်းနှင့် အကဲဖြတ်ခြင်းအတွက် အစွမ်းထက်ပြီး အသုံးပြုရလွယ်ကူသော အခမဲ့ open source Python စာကြည့်တိုက် Keras သည် ထိရောက်သော ကိန်းဂဏာန်းတွက်ချက်မှုစာကြည့်တိုက်များ Theano နှင့် TensorFlow ကို ခြုံငုံထားသည်။ မော်ဒယ်၏ သင်ယူမှုလုပ်ငန်းစဉ်ကို တိုက်ရိုက်လွှမ်းမိုးနိုင်သောကြောင့် ယင်းကဲ့သို့ ပိုမိုကောင်းမွန်အောင်ပြုလုပ်ထားသော အယ်လဂိုရီသမ်များတွင် သင်ယူမှုနှုန်းကို ချိန်ညှိရန် အရေးကြီးပါသည်။ ဤဆောင်းပါးတွင်၊ Keras ရှိ Adam optimizer တွင် သင်ယူမှုနှုန်းကို အဆင့်ဆင့်လျှော့ချနည်းကို ဆွေးနွေးပါမည်။ ဤလုပ်ငန်းစဉ်တွင် ပါ၀င်သော စာကြည့်တိုက်များနှင့် လုပ်ဆောင်ချက်များကိုလည်း ဤနေရာတွင် အကျုံးဝင်ပါမည်။

သင်ယူမှုနှုန်း ချိန်ညှိမှု၏ လိုအပ်ချက်

သင်ယူနှုန်း အပါအဝင် optimization algorithms တွင်အရေးကြီးသော hyperparameter တစ်ခုဖြစ်သည်။ Adam optimizer. ၎င်းသည် ဆုံးရှုံးမှုလုပ်ဆောင်ချက်၏ အနိမ့်ဆုံးဆီသို့ ရွေ့နေချိန်တွင် ထပ်ခါတလဲလဲလုပ်ဆောင်မှုတစ်ခုစီတွင် ခြေလှမ်းအရွယ်အစားကို ဆုံးဖြတ်သည်။ အထူးသဖြင့်၊ သင်ယူမှုနှုန်းနည်းပါးခြင်းသည် ကိုယ်အလေးချိန်မွမ်းမံမှုများတွင် သေးငယ်သောအဆင့်များကိုပေးသော လေ့ကျင့်ရေးအပိုင်းများ လိုအပ်သော်လည်း ပိုကြီးသောသင်ယူမှုနှုန်းသည် ပေါင်းဆုံမှုအမှတ်ကို ပိုမိုမြန်ဆန်စွာရောက်ရှိနိုင်သော်လည်း ဆုံးရှုံးမှုအနည်းဆုံးလုပ်ဆောင်ချက်ကို ကျော်လွန်သွားနိုင်သည့် အန္တရာယ်ရှိသည်။

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

Keras တွင် Learning Rate Decay ကို အကောင်အထည်ဖော်ခြင်း။

Keras တွင်၊ LearningRateScheduler နှင့် ReduceLROnPlateau callback လုပ်ဆောင်ချက်များ၏အကူအညီဖြင့် ဤချိန်ညှိမှုကို ရရှိနိုင်သည်။

from keras.callbacks import LearningRateScheduler
import numpy as np

# Learning rate schedule
initial_learning_rate = 0.1
decay = initial_learning_rate / epochs

def lr_time_based_decay(epoch, lr):
    return lr * 1 / (1 + decay * epoch)

# Fit the model on the batches generated
model.fit(X_train, Y_train, epochs=epochs,callbacks=[LearningRateScheduler(lr_time_based_decay, verbose=1)])

LearningRateScheduler သည် ခေတ်ကာလများနှင့်အညီ သင်ယူမှုနှုန်းကို ပြောင်းလဲနိုင်သည်။ သော်လည်းကောင်း ReduceLROnPlateau သည် ပမာဏတစ်ခုကို စောင့်ကြည့်ပြီး 'စိတ်ရှည်ခြင်း' အပိုင်းအတွက် တိုးတက်မှုကို မတွေ့ပါက၊ သင်ယူမှုနှုန်းကို လျှော့ချသည်။

Adam Optimizer နှင့် အလုပ်လုပ်သည်။

Adam optimizer နှင့်ဆက်ဆံသောအခါ၊ ကျွန်ုပ်တို့သည် သင်ယူမှုနှုန်းကို သတ်မှတ်ခြင်းဖြင့် ၎င်း၏ဥပမာကို စတင်လုပ်ဆောင်ပါသည်။ မော်ဒယ်စုစည်းမှုလုပ်ငန်းစဉ်အတွင်း၊ ကျွန်ုပ်တို့သည် ဤ optimizer ဥပမာကို ထည့်သွင်းပါသည်။

from keras.optimizers import Adam

# Applying learning rate decay 
adam_opt = Adam(lr=0.001, decay=1e-6)
model.compile(loss='binary_crossentropy', optimizer=adam_opt)

အထက်ကုဒ်တွင်၊ ကျွန်ုပ်တို့သည် သင်ယူမှုနှုန်း 0.001 နှင့် ပျက်စီးမှုနှုန်း 1e-6 ဖြင့် adam_opt ကို Adam optimizer ကို သတ်မှတ်ပေးထားပါသည်။

နိဂုံးချုပ်အားဖြင့်သင်ယူမှုနှုန်းသည် အနိမ့်ဆုံးကုန်ကျစရိတ် လုပ်ဆောင်ချက်ဆီသို့ ကျွန်ုပ်တို့ မည်သို့ သွားလာသည်ကို ထိန်းညှိပေးပါသည်။ ဤသင်ယူမှုနှုန်းကို ထိထိရောက်ရောက် ချိန်ညှိခြင်းဖြင့် ကျွန်ုပ်တို့၏ မော်ဒယ်၏ စွမ်းဆောင်ရည်နှင့် စွမ်းဆောင်ရည်ကို မြှင့်တင်နိုင်ပါသည်။ Python နှင့် Keras ၏ပေါင်းစပ်မှုသည် ကျွန်ုပ်တို့၏ မော်ဒယ် optimization လုပ်ငန်းစဉ်များကို ပိုမိုထိန်းချုပ်ပေးသည့် သင်ယူမှုနှုန်းများကို ချိန်ညှိရန် ရိုးရှင်းသောအလုပ်ဖြစ်စေသည်။

Related ရေးသားချက်များ:

a Comment ချန်ထား