Rumah > Peranti teknologi > AI > teks badan

Algoritma RMSprop yang dipertingkatkan

PHPz
Lepaskan: 2024-01-22 17:18:17
ke hadapan
781 orang telah melayarinya

Algoritma RMSprop yang dipertingkatkan

RMSprop ialah pengoptimum yang digunakan secara meluas untuk mengemas kini berat rangkaian saraf. Ia telah dicadangkan oleh Geoffrey Hinton et al pada tahun 2012 dan merupakan pendahulu pengoptimum Adam. Kemunculan pengoptimum RMSprop adalah terutamanya untuk menyelesaikan beberapa masalah yang dihadapi dalam algoritma penurunan kecerunan SGD, seperti kehilangan kecerunan dan letupan kecerunan. Dengan menggunakan pengoptimum RMSprop, kadar pembelajaran boleh dilaraskan dengan berkesan dan pemberat dikemas kini secara adaptif, dengan itu meningkatkan kesan latihan model pembelajaran mendalam.

Idea teras pengoptimum RMSprop adalah untuk melaksanakan purata wajaran kecerunan supaya kecerunan pada langkah masa yang berbeza mempunyai kesan yang berbeza pada kemas kini pemberat. Secara khusus, RMSprop mengira purata wajaran eksponen bagi kecerunan kuasa dua bagi setiap parameter dan membahagikannya dengan punca kuasa dua kecerunan purata. Punca kuasa dua ini berfungsi sebagai penyebut untuk menormalkan kecerunan sejarah setiap parameter, dengan itu menjadikan jumlah kemas kini setiap parameter lebih lancar. Selain itu, RMSprop juga boleh melaraskan kadar pembelajaran supaya ia beransur-ansur berkurangan semasa proses latihan untuk meningkatkan kelajuan penumpuan model dan keupayaan generalisasi. Dengan cara ini, RMSprop boleh mengendalikan perubahan dalam kecerunan dengan berkesan dan membantu model menyesuaikan dengan lebih baik kepada pengedaran data yang berbeza dan matlamat pengoptimuman.

Secara khusus, formula kemas kini pengoptimum RMSprop adalah seperti berikut:

\begin{aligned}
v_t&=\gamma v_{t-1}+(1-\gamma)(\nabla J(\theta_t))^2\
\theta_{t+1}&=\theta_t-\frac{\eta}{\sqrt{v_t}+\epsilon}\nabla J(\theta_t)
\end{aligned}
Salin selepas log masuk

di mana, v_t mewakili purata berwajaran eksponen bagi kecerunan kuasa dua, kadar biasanya menggunakan langkah pereputan gamma ke-t =0.9 Buat pengiraan. Kadar pembelajaran eta digunakan untuk mengawal saiz langkah kemas kini parameter, dan epsilon ialah pemalar kecil yang digunakan untuk mengelakkan pembahagian sebanyak 0 daripada berlaku. Parameter ini memainkan peranan penting dalam algoritma penurunan kecerunan Dengan melaraskan nilainya, proses pengoptimuman boleh dilaraskan dan dioptimumkan dengan halus.

Kelebihan utama pengoptimum RMSprop ialah ia boleh menyesuaikan secara adaptif kadar pembelajaran setiap parameter, dengan itu mengurangkan ayunan dan ketidakstabilan semasa proses latihan. Berbanding dengan algoritma turunan kecerunan tradisional, RMSprop boleh menumpu lebih cepat dan mempunyai keupayaan generalisasi yang lebih baik. Selain itu, RMSprop juga boleh mengendalikan kecerunan jarang, menjadikannya lebih cekap apabila memproses set data yang besar.

Walau bagaimanapun, RMSprop juga mempunyai beberapa kekurangan. Pertama, kadar pembelajaran RMSprop mungkin terlalu kecil, menyebabkan model menumpu secara perlahan. Kedua, RMSprop mungkin dipengaruhi oleh kecerunan yang bising, mengakibatkan prestasi model yang lemah. Selain itu, prestasi RMSprop juga dipengaruhi oleh hiperparameter seperti kadar pembelajaran awal, kadar pereputan, dan malar $epsilon$, dan memerlukan pelarasan parameter empirikal.

Bolehkah pengoptimum rmsprop menghalang pemasangan berlebihan

Pengoptimum RMSprop boleh membantu mengurangkan masalah pemasangan berlebihan dalam beberapa kes, tetapi ia tidak menyelesaikan sepenuhnya pemasangan berlebihan. Pengoptimum RMSprop menyesuaikan secara adaptif kadar pembelajaran setiap parameter untuk menumpu kepada penyelesaian optimum dengan lebih cepat. Ini membantu mengelakkan model daripada terlampau muat pada set latihan, tetapi tidak menjamin bahawa model tidak akan terlalu muat pada set ujian. Oleh itu, untuk mengurangkan masalah over-fitting secara berkesan, teknik lain seperti regularization, dropout, dsb. biasanya diperlukan.

Penggunaan pengoptimum rmsprop

Pengoptimum RMSprop ialah pengoptimum keturunan kecerunan biasa yang boleh digunakan untuk melatih rangkaian saraf. Berikut ialah langkah umum untuk menggunakan pengoptimum RMSprop:

1 Import perpustakaan dan set data yang diperlukan

2 Bina model rangkaian saraf

3 dan lain-lain Hiperparameter

4 Susun model, nyatakan fungsi kehilangan dan penunjuk penilaian

55 Latih model, nyatakan parameter seperti set data latihan, saiz kelompok, bilangan kitaran latihan

. . Nilaikan prestasi model, Gunakan set data ujian untuk penilaian

7 Laraskan seni bina model, hiperparameter, dll. untuk meningkatkan lagi prestasi model

Berikut ialah contoh penggunaan API Keras untuk melaksanakan. Pengoptimum RMSprop:

from keras.models import Sequential
from keras.layers import Dense
from keras.optimizers import RMSprop
from keras.datasets import mnist

# Load MNIST dataset
(train_images, train_labels), (test_images, test_labels) = mnist.load_data()

# Preprocess the data
train_images = train_images.reshape((60000, 784))
train_images = train_images.astype('float32') / 255
test_images = test_images.reshape((10000, 784))
test_images = test_images.astype('float32') / 255

# Build the model
model = Sequential()
model.add(Dense(512, activation='relu', input_shape=(784,)))
model.add(Dense(10, activation='softmax'))

# Initialize RMSprop optimizer
optimizer = RMSprop(lr=0.001, rho=0.9)

# Compile the model
model.compile(optimizer=optimizer,
              loss='categorical_crossentropy',
              metrics=['accuracy'])

# Train the model
model.fit(train_images, train_labels, epochs=5, batch_size=128)

# Evaluate the model
test_loss, test_acc = model.evaluate(test_images, test_labels)
print('Test accuracy:', test_acc)
Salin selepas log masuk
Dalam kod di atas, Kami mula-mula memuatkan set data MNIST dan memprosesnya terlebih dahulu. Kami kemudian menggunakan Keras untuk membina model rangkaian saraf dengan dua lapisan bersambung sepenuhnya dan mengoptimumkannya menggunakan pengoptimum RMSprop. Kami menetapkan kadar pembelajaran 0.001 dan parameter rho 0.9. Seterusnya, kami menyusun model menggunakan entropi silang sebagai fungsi kehilangan dan ketepatan sebagai metrik penilaian. Kami kemudian melatih model menggunakan set data latihan, menyatakan bilangan zaman latihan sebagai 5 dan saiz kelompok sebagai 128. Akhir sekali, kami menilai prestasi model menggunakan set data ujian dan mengeluarkan ketepatan ujian.

Atas ialah kandungan terperinci Algoritma RMSprop yang dipertingkatkan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:163.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!