Cet article est une sortie facile à comprendre du ** Deep Learning from scratch Chapter 7 Learning Techniques **. J'ai pu le comprendre moi-même, j'espère donc que vous pourrez le lire confortablement. De plus, je serais plus qu'heureux que vous puissiez vous y référer lorsque vous étudiez ce livre.
Savez-vous ce qu'est l'apprentissage d'ensemble? L'apprentissage d'ensemble est la capacité de produire de bons résultats d'apprentissage en s'entraînant avec plusieurs modèles. Le décrochage améliore le résultat d'apprentissage en reproduisant l'apprentissage d'ensemble de manière simulée.
Dropout fait-il spécifiquement l'intérieur? C'est l'élimination aléatoire des neurones lors de l'apprentissage. Dans Dropout, en effaçant les neurones au hasard, plusieurs modèles différents sont créés pour créer un apprentissage d'ensemble.
Voici un exemple de mise en œuvre simple.
class Dropout:#Généré après la couche de fonction d'activation et activé à chaque fois que l'apprentissage est effectué. Ne pas activer avec prédire
def __init__(self,dropout_ratio=0.5):
self.dropout_ratio = dropout_ratio
self.mask = None #Contient un tableau de neurones à effacer
def forward(self,x,train_flg=True):
if train_flg:
self.mask = np.random.rand(*x.shape) > self.dropout_ratio#Déterminez au hasard les neurones à effacer
return x * self.mask
else:
return x * (1 - self.dropout_ratio)
def backward(self,dout):
return dout * self.mask#Identique à Relu
Recommended Posts