ઉકેલાયેલ: એડમ ઑપ્ટિમાઇઝર કેરાસ લર્નિંગ રેટ ડિગ્રેડ

ચોક્કસપણે, ચાલો લેખ સાથે પ્રારંભ કરીએ.

ડીપ લર્નિંગ મોડલ્સ આજના યુગમાં ટેક્નોલોજીનું એક મહત્વપૂર્ણ પાસું બની ગયું છે, અને એડમ ઑપ્ટિમાઇઝર જેવા વિવિધ ઑપ્ટિમાઇઝેશન એલ્ગોરિધમ્સ તેમના અમલીકરણમાં નિર્ણાયક ભૂમિકા ભજવે છે. કેરાસ, ડીપ લર્નિંગ મોડલ્સ વિકસાવવા અને મૂલ્યાંકન કરવા માટે એક શક્તિશાળી અને ઉપયોગમાં સરળ મુક્ત ઓપન સોર્સ પાયથોન લાઇબ્રેરી, કાર્યક્ષમ સંખ્યાત્મક ગણતરી લાઇબ્રેરીઓ થિયાનો અને ટેન્સરફ્લોને લપેટી છે. આવા ઓપ્ટિમાઇઝેશન અલ્ગોરિધમ્સમાં શીખવાની દરને સમાયોજિત કરવાનું મહત્વ સર્વોપરી છે, કારણ કે તે મોડેલની શીખવાની પ્રક્રિયાને સીધી અસર કરી શકે છે. આ લેખમાં, અમે પગલું-દર-પગલાંમાં કેરાસમાં એડમ ઑપ્ટિમાઇઝરમાં લર્નિંગ રેટ કેવી રીતે ઘટાડવો તેની ચર્ચા કરીશું. અહીં અમે આ પ્રક્રિયા સાથે સંકળાયેલા પુસ્તકાલયો અને કાર્યોને પણ આવરી લઈશું.

લર્નિંગ રેટ એડજસ્ટમેન્ટની આવશ્યકતા

અધ્યયન દર ઓપ્ટિમાઇઝેશન એલ્ગોરિધમ્સમાં એક મહત્વપૂર્ણ હાઇપરપેરામીટર છે, સહિત એડમ ઑપ્ટિમાઇઝર. તે લોસ ફંક્શનના ન્યૂનતમ તરફ આગળ વધતી વખતે દરેક પુનરાવૃત્તિ પર પગલાનું કદ નક્કી કરે છે. ખાસ કરીને, નીચા લર્નિંગ રેટને વેઇટ અપડેટ્સમાં નાના પગલાઓને જોતાં વધુ પ્રશિક્ષણ યુગની જરૂર પડે છે, જ્યારે મોટો શીખવાનો દર ઝડપથી કન્વર્જન્સ પોઈન્ટ સુધી પહોંચી શકે છે, પરંતુ ન્યૂનતમ નુકશાન કાર્યને ઓવરશૂટ કરવાનું જોખમ રહે છે.

આથી, તે યુગો પર શીખવાની દરને સમાયોજિત કરવા અને અધોગતિ કરવાનો એક સામાન્ય અભિગમ છે, જેને ઘણીવાર શીખવાની દર સડો તરીકે ઓળખવામાં આવે છે. લર્નિંગ રેટ સડો એ સુનિશ્ચિત કરે છે કે શીખવાનું મોડલ નુકશાન કાર્યના તળિયે પહોંચે છે, પછીના તાલીમ તબક્કામાં મોટા પગલાઓને ટાળે છે જે નોંધપાત્ર વધઘટનું કારણ બની શકે છે.

કેરસમાં લર્નિંગ રેટ ડિકેનો અમલ

કેરાસમાં, આ ગોઠવણ LearningRateScheduler અને ReduceLROnPlateau કૉલબેક ફંક્શન્સની મદદથી મેળવી શકાય છે.

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)])

લર્નિંગરેટ શેડ્યુલર, યુગો અનુસાર, શીખવાની દરમાં ફેરફાર કરી શકે છે. જ્યારે, ReduceLROnPlateau જથ્થાને મોનિટર કરે છે અને જો યુગની 'ધીરજ' સંખ્યા માટે કોઈ સુધારો જોવામાં આવતો નથી, તો શીખવાની દરમાં ઘટાડો થાય છે.

એડમ ઑપ્ટિમાઇઝર સાથે કામ કરવું

એડમ ઑપ્ટિમાઇઝર સાથે કામ કરતી વખતે, અમે શીખવાની દરનો ઉલ્લેખ કરીને તેનો દાખલો શરૂ કરીએ છીએ. મોડલ સંકલન પ્રક્રિયા દરમિયાન, અમે આ ઑપ્ટિમાઇઝર ઇન્સ્ટન્સ ઇનપુટ કરીએ છીએ.

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 ને એડમ ઑપ્ટિમાઇઝર સોંપી રહ્યાં છીએ.

નિષ્કર્ષ માં, લર્નિંગ રેટ નિયમન કરે છે કે અમે ન્યૂનતમ ખર્ચ કાર્ય તરફ કેવી રીતે નેવિગેટ કરીએ છીએ. આ શીખવાની દરને અસરકારક રીતે સમાયોજિત કરીને, અમે અમારા મોડલની કામગીરી અને કાર્યક્ષમતાને વધારી શકીએ છીએ. પાયથોન સાથે કેરાસનું સંયોજન શીખવાના દરને સમાયોજિત કરવાનું સરળ કાર્ય બનાવે છે જે અમને અમારી મોડેલ ઑપ્ટિમાઇઝેશન પ્રક્રિયાઓ પર વધુ નિયંત્રણ આપે છે.

સંબંધિત પોસ્ટ્સ:

પ્રતિક્રિયા આપો