2017-03-05 4 views
2

J'essaie de former mon propre réseau sur Caffe, similaire au modèle Imagenet. Mais je suis confus avec la couche de culture. Jusqu'à ce que je comprenne la couche de culture dans le modèle Imagenet, au cours de la formation, il faudra prendre au hasard des cultures d'image de 227 x 227 et former le réseau. Mais pendant le test, il faudra le centre de l'image 227x227, ne perdons-nous pas l'information de l'image alors que nous recadrons l'image du centre 227x27 de l'image 256x256? Et deuxième question, comment pouvons-nous définir le nombre de cultures à prendre pendant la formation? Et aussi, j'ai formé le même réseau (même nombre de couches, même taille de convolution, les neurones FC différeront évidemment), en prenant d'abord 227x227 recadrer à partir d'une image 256x256 et une seconde fois en 255x255 recadrer à partir d'une image 256x256. Selon mon intuition, le modèle avec une récolte de 255x255 devrait me donner le meilleur résultat. Mais je reçois une plus grande précision avec l'image 227x227, quelqu'un peut-il m'expliquer l'intuition derrière cela, ou est-ce que je fais quelque chose de mal?Caffé | augmentation des données par recadrage aléatoire

+0

Je pense que cette question devrait avoir une réponse plus large décrivant comment exactement le caffe gère l'augmentation de données «à la volée». Voudrait voir une réponse à cela. – Shai

+0

@Shai Ya c'est très bien. – Dharma

Répondre

0

Vos observations ne sont pas spécifiques à Caffe.

Les tailles des images recadrées au cours de la formation et les tests doivent être les mêmes (227x227 dans votre cas), parce que les couches de réseau en amont (circonvolutions, etc.) ont besoin des images pour la même taille . Les cultures aléatoires sont effectuées pendant la formation parce que vous voulez augmenter les données. Toutefois, lors des tests, vous souhaitez effectuer un test sur un jeu de données standard. Sinon, la précision signalée pendant les tests dépendrait également d'une base de données de test changeante.

Les cultures sont réalisées dynamiquement à chaque itération. Toutes les images d'un lot d'entraînement sont rognées au hasard. J'espère que cela répond à votre deuxième question.

Votre intuition n'est pas complète: Avec une plus grande récolte (227x227), vous avez plus d'augmentation de données. L'augmentation de données crée essentiellement de «nouveaux» échantillons d'apprentissage à partir de rien. Ceci est essentiel pour prévenir le surapprentissage pendant l'entraînement. Avec une récolte plus petite (255 x 255), vous devriez vous attendre à une meilleure précision de l'entraînement mais à une plus faible précision du test, car les données sont plus susceptibles d'être sur-équipées.

Bien sûr, le recadrage peut être surfait. Trop de recadrage et vous perdez trop d'informations d'une image. Pour la catégorisation d'images, la taille de recadrage idéale est celle qui ne modifie pas la catégorie d'une image (c'est-à-dire que seul l'arrière-plan est rogné).