Descente de gradient par lot en mini-réseau neuronal
Je travaille avec un réseau neuronal multicouche. J'ai l'intention de faire une descente de gradient en mini-batch. Supposons que j'ai des mini-lots de 100 sur 1 million de points de données. Je ne comprends pas la partie où je dois mettre à jour les poids de l'ensemble du réseau. Quand je fais une passe avant sur ces 100 échantillons, je additionne toutes les erreurs sur ces 100 échantillons. Que dois-je faire d'autre à part ça? Dois-je également calculer les erreurs de couches cachées côte à côte? Quand seront-ils calculés?
Apprentissage par lots dans les réseaux de neurones
Vous devez calculer les deltas de poids pour chaque neurone dans toutes les couches de votre réseau, pour chaque instance de données dans votre ensemble de données (choisi). C'est la même procédure que toujours en rétropropagation.
Puisque vous souhaitez utiliser l'apprentissage par lots, vous retarderez l'étape de mise à jour du poids. Au lieu de cela, vous devez stocker ces deltas et additionner les deltas des différentes instances de votre lot une fois le lot terminé. Utilisez ensuite ces deltas nouvellement manipulés pour mettre à jour les pondérations de votre réseau.