web-dev-qa-db-fra.com

Signification d'une époque dans la formation de réseaux de neurones

pendant que je lis comment construire ANN dans pybrain , ils disent:

Former le réseau pour certaines époques. Habituellement, vous définissez quelque chose comme 5 ici,

trainer.trainEpochs( 1 )

J'ai cherché quelle est cette moyenne, puis je conclus que nous utilisons une époque de données pour mettre à jour les pondérations. Si je choisis de former les données avec 5 époques sous forme de conseil pybrain, le jeu de données sera divisé en 5 sous-ensembles et les pondérations seront mises à jour. 5 fois au maximum.

Je connais bien la formation en ligne dans laquelle les wights sont mis à jour après chaque échantillon de données ou de vecteur de caractéristique. Ma question est de savoir comment être sûr que 5 époques suffiront pour construire un modèle et définir les poids probablement. Quel est l'avantage de cette méthode sur la formation en ligne? De plus, le terme "Époque" est utilisé dans la formation en ligne. Cela signifie-t-il un vecteur de caractéristiques?

50
user2162652

Une époque se compose de un cycle complet d’entraînement sur le plateau d’entraînement. Une fois que chaque échantillon de l'ensemble est vu, vous recommencez - marquant le début de la 2e époque.

Cela n’a rien à voir avec une formation par lots ou en ligne en soi. Batch signifie que vous mettez à jour une fois à la fin de l'époque (après chaque échantillon est vu, c'est-à-dire que #Epoch est mis à jour ) et en ligne que vous mettez à jour après chaque exemple (#samples * #Epoch updates).

Vous ne pouvez pas être sûr que 5 époques ou 500 soient suffisantes pour la convergence, car cela varie d'une donnée à l'autre. Vous pouvez arrêter l'entraînement lorsque l'erreur converge ou devient inférieure à un certain seuil. Cela va également sur le territoire de la prévention de l'overfitting. Vous pouvez lire sur arrêt précoce et validation croisée à ce sujet.

95
runDOSrun

désolé de réactiver ce fil. Je découvre de nouveaux réseaux neuronaux et étudie l’impact de la formation en "mini-lots".

jusqu'ici, si j'ai bien compris, une époque ( comme le dit runDOSrun ) est une utilisation intégrale de l'ensemble du TrainingSet (et non de DataSet. Car DataSet = TrainingSet + ValidationSet). Dans la formation par lots miniatures, vous pouvez diviser le TrainingSet en petits ensembles et mettre à jour les poids à l'intérieur d'une époque. "espérons-le", le réseau "convergera" plus rapidement.

certaines définitions de réseaux de neurones sont obsolètes et, je suppose, doivent être redéfinies.

1
Jp Ramoso