Kuxazululiwe: i-adam optimizer keras izinga lokufunda liyehlisa

Isibuyekezo sokugcina: 09/25/2023

Impela, ake siqale ngesihloko.

Amamodeli okufunda okujulile abe yisici esibalulekile sobuchwepheshe enkathini yanamuhla, futhi ama-algorithms ahlukene okwenza ngcono afana ne-Adam Optimizer adlala indima ebalulekile ekusebenzeni kwawo. I-Keras, umtapo wolwazi we-Python ovulekile onamandla futhi olula ukuwusebenzisa wokuthuthukisa nokuhlola amamodeli okufunda okujulile, uhlanganisa imitapo yolwazi yokubala yezinombolo esebenza kahle i-Theano ne-TensorFlow. Ukubaluleka kokulungisa izinga lokufunda kuma-algorithms okuthuthukisa anjalo kubaluleke kakhulu, njengoba kungathinta ngqo inqubo yokufunda yemodeli. Kulesi sihloko, sizoxoxa ngendlela yokwehlisa izinga lokufunda ku-Adam optimizer e-Keras ngendlela yesinyathelo ngesinyathelo. Lapha sizophinde simboze imitapo yolwazi nemisebenzi ehilelekile kule nqubo.

Isidingo Sokulungiswa Kwezinga Lokufunda

Izinga lokufunda liyi-hyperparameter ebalulekile kuma-algorithms okwenza ngcono, kufaka phakathi i-Adam optimizer . Linquma usayizi wesinyathelo ku-iteration ngayinye ngenkathi liqhubekela phambili ebuncaneni bomsebenzi wokulahlekelwa. Ngokukhethekile, izinga lokufunda eliphansi lidinga izikhathi eziningi zokuqeqeshwa uma kubhekwa izinyathelo ezincane ekubuyekezweni kwesisindo, kanti izinga lokufunda elikhulu lingafinyelela iphuzu lokuhlangana ngokushesha, kodwa lisengozini yokudlula ubuncane bomsebenzi wokulahlekelwa.

Ngakho-ke, kuyindlela evamile yokulungisa nokwehlisa izinga lokufunda ngezikhathi ezithile, ngokuvamile okubizwa ngokuthi ukuwohloka kwezinga lokufunda. Ukuwohloka kwezinga lokufunda kuqinisekisa ukuthi imodeli yokufunda ifika ekugcineni komsebenzi wokulahlekelwa, igwema izinyathelo ezinkulu esigabeni sokuqeqeshwa sakamuva ezingase zidale ukushintshashintsha okukhulu.

Ukuqaliswa Kokuwohloka Kwezinga Lokufunda eKeras

E-Keras, lokhu kulungiswa kungafinyelelwa ngosizo lwe-LearningRateScheduler kanye nemisebenzi ye-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)])

I-LearningRateScheduler, ngokuvumelana nezinkathi, ingashintsha izinga lokufunda. Nakuba, i-ReduceLROnPlateau iqapha inani futhi uma kungekho ntuthuko ebonakalayo enanini 'lokubekezela' lezinkathi, izinga lokufunda liyehliswa.

Ukusebenza no-Adam Optimizer

Lapho sisebenzelana ne-Adam optimizer, siqala isibonelo saso ngokucacisa izinga lokufunda. Ngesikhathi senqubo yokuhlanganisa imodeli, sifaka lesi sibonelo se-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)

Kukhodi engenhla, sabela i-adam_opt isilungiseleli sika-Adam esinezinga lokufunda elingu-0.001 kanye nezinga lokubola elingu-1e-6.

Ekuphetheni , izinga lokufunda lilawula indlela esihamba ngayo siye emsebenzini wezindleko eziphansi. Ngokulungisa kahle leli zinga lokufunda, singathuthukisa ukusebenza kahle kwemodeli yethu. Ukuhlanganiswa kweKeras nePython kwenza kube umsebenzi olula ukulungisa amazinga okufunda okusinika ukulawula okwengeziwe ezinqubweni zethu zokwenza ngcono imodeli.

Okuthunyelwe okuhlobene: