واحدة من مشاكل تدريب الشبكات العصبية هي إعادة التدريب. هذا عندما تعلمت الخوارزمية العمل بشكل جيد مع البيانات التي شاهدتها ، ولكن على الآخرين تتأقلم بشكل أسوأ. في المقالة ، نصف كيف حاولنا حل هذه المشكلة من خلال الجمع بين التدريب مع الانحدار التدريجي والمنهج التطوري.

إذا أراد شخص ما أن يفهم بشكل أفضل ما سيتم مناقشته أدناه ، فيمكنك قراءة هذه المقالات على المحور : article1 و 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, , . .
- كان من الممكن جعل الطفرات جزءًا من المُحسّن ، بدلاً من كتابة غلاف منفصل لهذا الغرض
- استغرق الأمر عدة مرات أكثر مما خططنا
سيكون من دواعي سرورنا تلقي التعليقات ليس فقط على المحتوى ، ولكن أيضًا على المقالة نفسها ككل. إذا كنت مهتمًا بهذا الموضوع أو كنت مهتمًا ، فقم بالكتابة أيضًا ، سيكون من الرائع التحدث ، ربما فاتنا شيء.
روابط مفيدة
- تؤدي إضافة ضوضاء التدرج إلى تحسين التعلم للشبكات العميقة جدًا
- تطور التدرج العشوائي العشوائي لتحسين الشبكات العصبية العميقة
- إستراتيجيات التطور كبديل قابل للتطوير لتعلم التعزيز