Direngsekeun: adam optimizer keras learning rate degrade

Tangtosna, hayu urang mimitian ku tulisan.

Modél pembelajaran jero geus jadi aspék signifikan tina téhnologi di jaman kiwari, sarta algoritma optimasi béda kawas Adam Optimizer maénkeun peran krusial dina palaksanaan maranéhanana. Keras, perpustakaan Python open source gratis anu kuat sareng gampang dianggo pikeun ngembangkeun sareng ngevaluasi model pembelajaran jero, ngabungkus perpustakaan komputasi numerik anu efisien Theano sareng TensorFlow. Pentingna nyaluyukeun laju diajar dina algoritma optimasi sapertos kitu penting pisan, sabab tiasa langsung mangaruhan prosés diajar modél. Dina tulisan ieu, urang bakal ngabahas kumaha carana nurunkeun tingkat diajar dina Adam optimizer di Keras ku léngkah-léngkah. Di dieu urang ogé bakal nutupan perpustakaan sareng fungsi anu aya dina prosés ieu.

Kabutuhan Panyaluyukeun Laju Diajar

Laju diajar mangrupa hyperparameter penting dina algoritma optimasi, kaasup Adam optimizer. Eta nangtukeun ukuran hambalan dina unggal iteration bari pindah ka arah minimum tina fungsi leungitna. Sacara husus, laju learning handap merlukeun leuwih epochs latihan dibere léngkah leutik dina apdet beurat, sedengkeun laju learning gedé bisa ngahontal titik konvergénsi leuwih gancang, tapi resiko overshooting minimum fungsi leungitna.

Lantaran kitu, éta mangrupikeun pendekatan anu umum pikeun nyaluyukeun sareng nguraikeun tingkat diajar dina jaman-jaman, anu sering disebut penurunan laju diajar. Laju luruhna diajar mastikeun yén modél diajar dugi ka handap tina fungsi leungitna, ngahindarkeun léngkah-léngkah anu ageung dina fase pelatihan engké anu tiasa nyababkeun turun naek anu signifikan.

Palaksanaan Laju Pangajaran di Keras

Di Keras, panyesuaian ieu tiasa dihontal kalayan bantosan fungsi LearningRateScheduler sareng 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)])

The LearningRateScheduler, luyu jeung jaman, bisa ngarobah laju learning. Padahal, ReduceLROnPlateau ngawas kuantitas sareng upami teu aya perbaikan anu katingali pikeun jumlah 'kasabaran' jaman, laju diajar dikirangan.

Gawe sareng Adam Optimizer

Nalika nungkulan Adam optimizer, urang ngamimitian conto na ku nangtukeun laju learning. Salila prosés kompilasi modél, urang input conto optimizer ieu.

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)

Dina kode di luhur, urang nuju assigning adam_opt nu Adam optimizer kalawan laju learning of 0.001 sarta laju buruk tina 1e-6.

Kasimpulanana, Laju diajar ngatur kumaha urang napigasi ka arah fungsi biaya minimum. Ku cara éfisién nyaluyukeun laju diajar ieu, urang tiasa ningkatkeun kinerja sareng efisiensi modél urang. Kombinasi Keras sareng Python ngajantenkeun tugas anu gampang pikeun nyaluyukeun tingkat diajar anu masihan kami langkung seueur kontrol kana prosés optimasi modél urang.

tulisan keywords:

Leave a Comment