web-dev-qa-db-fra.com

Quelle doit être la taille du lot et le nombre d'époques lors de l'ajustement d'un modèle à Keras?

Je m'entraine sur 970 échantillons et valide sur 243 échantillons.

Quelle doit être la taille du lot et le nombre d'époques lors de l'ajustement d'un modèle dans Keras pour optimiser le val_acc? Existe-t-il une règle empirique à utiliser en fonction de la taille de saisie des données?

39
pr338

Puisque vous avez un assez petit ensemble de données (~ 1000 échantillons), vous seriez probablement en sécurité avec une taille de lot de 32, ce qui est assez standard. Votre problème ne fera pas une énorme différence si vous ne vous entraînez pas sur des centaines de milliers ou des millions d'observations.

Pour répondre à vos questions sur Taille du lot et Epochs:

En général : des tailles de lot plus importantes accélèrent les progrès de la formation, mais ne convergent pas toujours aussi rapidement. Les lots de petite taille entraînent plus lentement, mais peut converger plus rapidement. C'est définitivement dépendant du problème.

En général , les modèles s'améliorent avec plus d'époques de formation, jusqu'à un certain point. Ils vont commencer à atteindre un plateau de précision à mesure qu'ils convergent. Essayez quelque chose comme 50 et le nombre de points de l'époque (axe x) en fonction de la précision (axe y). Vous verrez où il se stabilise.

Quel est le type et/ou la forme de vos données? S'agit-il d'images ou simplement de données tabulaires? C'est un détail important.

37
Lucas Ramadan

Excellentes réponses ci-dessus. Tout le monde a donné de bonnes contributions.

Idéalement, il s’agit de la séquence des tailles de lot à utiliser:

{1, 2, 4, 8, 16} - slow 

{ [32, 64],[ 128, 256] }- Good starters

[32, 64] - CPU

[128, 256] - GPU for more boost
10
Beltino Goncalves

J'utilise Keras pour effectuer une régression non linéaire sur les données de parole. Chacun de mes fichiers vocaux me donne des fonctionnalités qui se composent de 25 000 lignes dans un fichier texte, chaque ligne contenant 257 nombres réels. J'utilise une taille de lot de 100, Epoch 50 pour former Sequential modèle dans Keras avec 1 couche masquée. Après 50 périodes d’entraînement, il converge assez bien vers un niveau bas val_loss.

7
tauseef_CuriousGuy

J'ai utilisé Keras pour effectuer une régression non linéaire pour la modélisation du mix de marché. J'ai obtenu les meilleurs résultats avec une taille de lot de 32 et une epochs = 100 tout en apprenant un modèle séquentiel en keras avec 3 couches cachées. Généralement, une taille de lot de 32 ou 25 est bonne, avec des époques = 100 sauf si vous avez un jeu de données volumineux. en cas de données volumineuses, vous pouvez choisir une taille de lot de 10 avec des époques n/b de 50 à 100. Encore une fois, les chiffres mentionnés ci-dessus ont bien fonctionné pour moi.

3
fnatic9