Salah satu masalah pelatihan jaringan saraf adalah pelatihan ulang. Ini adalah saat algoritma belajar bekerja dengan baik dengan data yang dia lihat, tetapi pada orang lain copes lebih buruk. Dalam artikel tersebut, kami berbicara tentang bagaimana kami mencoba menyelesaikan masalah ini dengan menggabungkan pembelajaran dengan gradient descent dan pendekatan evolusioner.

Jika seseorang ingin lebih memahami apa yang akan dibahas di bawah ini, maka Anda dapat membaca artikel ini di hub : article1 dan article2
( , , , )
, , . .
, , . , .
P.S. , , ., , , . .
:
-
- N -
- K
- -
- ( )
- goto 1
:
— CIFAR10
— resnet18
— SGD
— CrossEntropyLoss
— accuracy
5
50 ,
40-50
: , ..
№1. .
.
: Adding Gradient Noise Improves Learning for Very Deep Networks, Evolutionary Stochastic Gradient Descent for Optimization of Deep Neural Networks.
For i in range(N):
N -
SGD
#
For k in range(K):
.
, .
G .
:
- , , .
- ( 1) . — . ?
- .
.
, . accuracy , , . . ( 2).
.
? ? . SGD () . . , .
:
Accuracy 47.81% — .
Accuracy 47.72% — SGD.
. 40 . SGD . .
4 , resnet18 accuracy. accuracy. .
. .
, . , .
, .
.. , . . , .
.
:
- , .
- . , .
- . .
- backward.
№2.
OpenAI Evolution Strategies as a Scalable Alternative to Reinforcement Learning, https://github.com/staturecrane/PyTorch-ES
For i in range(N):
N - SGD
For k in range(K):
— . -1 1 σ, .
normalized_rewards = (rewards - np.mean(rewards)) / np.std(rewards)
for index, param in enumerate(self.weights):
A = np.array([p[index] for p in population])
rewards_pop = torch.from_numpy(np.dot(A.T,normalized_rewards).T).float()
param.data = param.data + LEARNING_RATE/(POPULATION_SIZE * SIGMA) * rewards_pop
. - . , . .
/ — SGD+
/ — SGD
Loss — , . SGD , , .
Validation — accuracy. , - 5 SGD , , , SGD+
Final score — accuracy , .
: SGD , c .
, , , , Google .
accuracy
:
- Adam, , . .
- Dimungkinkan untuk menjadikan mutasi sebagai bagian dari optimizer, daripada menulis shell terpisah untuk ini
- Butuh waktu beberapa kali lebih banyak dari yang kami rencanakan
Kami akan senang menerima umpan balik tidak hanya pada konten, tetapi juga pada artikel itu sendiri secara keseluruhan. Jika Anda tertarik dengan topik ini atau tertarik, kemudian menulis juga, akan menyenangkan untuk berbicara, mungkin kita melewatkan sesuatu.
tautan yang bermanfaat
- Menambahkan Gradient Noise Meningkatkan Pembelajaran untuk Jaringan yang Sangat Mendalam
- Keturunan Gradien Stochastik Evolusioner untuk Optimalisasi Jaringan Saraf Tiruan
- Strategi Evolusi sebagai Alternatif yang Dapat diskalakan untuk Pembelajaran Penguatan