đïžâđšïž Coup dâoeil sur le Test-Time Augmentation
Utiliser la data augmentation au moment de lâinfĂ©rence pour faire de meilleures prĂ©dictions.
La plupart des gens considĂšrent la data augmentation comme une technique qui consiste Ă crĂ©er des variations dans les donnĂ©es dâentrainement, dans le but pour amĂ©liorer les performances dâun modĂšle et le rendre plus rĂ©sistant aux variations.
Câest totalement vrai.
đ Mais, est-ce que vous saviez quâil existe une autre utilisation de cette technique pour amĂ©liorer la prĂ©cision des prĂ©dictions de votre modĂšle ?
Imaginez que vous construisez un modĂšle de classification multi-classes.
Lors de son dĂ©ploiement, chaque input (requĂȘte / image dans cette exemple) est traitĂ©e par le modĂšle pour dĂ©terminer la classe correcte associĂ©e Ă lâimage. Vous utilisez une seule photo pour faire une prĂ©diction, votre modĂšle a donc une seule chance, une seule opportunitĂ© pour trouver la bonne rĂ©ponse.
đ Il existe un truc pour amĂ©liorer vos rĂ©sultats, câest Ă dire ici, la prĂ©cision et la fiabilitĂ© des prĂ©dictions du modĂšle.
Une Augmentation oui, mais au moment du test
La Test-Time Augmentation (ou lâaugmentation au moment du test) est une technique dans laquelle vous pouvez augmenter des Ă©chantillons avant de les faire passer Ă travers le modĂšle, puis vous moyennez les rĂ©sultats des prĂ©dictions.
Par exemple, au lieu de faire passer une image Ă travers le modĂšle, vous pouvez gĂ©nĂ©rer deux versions supplĂ©mentaires en augmentant lâimage originale. Par exemple, vous pouvez lĂ©gĂšrement faire pivoter lâimage et la recadrer un peu, la retourner, ou encore varier lâajustement des contrastes ou des couleurs.
Vous avez maintenant trois images différentes pour faire une prédiction. Faites-les passer à travers le modÚle, moyennez les trois vecteurs softmax que vous obtenez en retour, et déterminez la classe finale à partir du résultat.
En augmentant lâimage originale, vous donnez au modĂšle plus dâopportunitĂ©s de voir quelque chose de diffĂ©rent et de calculer la bonne prĂ©diction.
Vous pouvez tirer parti de la data augmentation pour vous donner une meilleure chance de faire la bonne prédiction.
Faire de bonnes augmentations
Le succĂšs de la Test-Time Augmentation dĂ©pend de la qualitĂ© de vos Ă©chantillons augmentĂ©s ; câest donc dans cela que toute votre attention devra ĂȘtre consacrĂ©.
Vos Ă©chantillons augmentĂ©s auront beaucoup dâinfluence sur le rĂ©sultat final. Si vous crĂ©ez des variations bĂąclĂ©es de lâimage originale, lâaugmentation au moment du test peut rapidement diminuer la performance de votre modĂšle dans la prĂ©diction.
Commencez avec de lĂ©gĂšres modifications de lâimage initiale. Ne vous emballez pas. Vous constaterez que la plupart du succĂšs repose sur lâĂ©vitement dâune complexitĂ© excessive.
Conclusion
Traditionnellement, la data augmentation nâest pas recommandĂ©e sur les jeux de donnĂ©es de test car cela pourrait fausser lâĂ©valuation du modĂšle, le rendant moins capable de gĂ©nĂ©raliser Ă des donnĂ©es non modifiĂ©es. Tout cela, fait que dans notre esprit, vous et moi avions toujours eu ce schĂ©ma en tĂȘte : TEST + DATA AUGMENTATION = ATTENTION, JAMAIS.
Nous venons de voir que la Test-Time Augmentation est diffĂ©rente. Elle nâest pas utilisĂ©e pour Ă©valuer le modĂšle, mais pour amĂ©liorer ses prĂ©dictions au moment de lâinfĂ©renceâŠ
Je rĂ©pĂšte et prĂ©cise : la Test-Time Augmentation est diffĂ©rente. Elle est lĂ pour optimiser la prĂ©cision des rĂ©sultats du modĂšle lorsquâil est confrontĂ© Ă des donnĂ©es rĂ©elles et inconnu (phase test)⊠elle nâest pas utilisĂ© pour renforcer de la capacitĂ© gĂ©nĂ©rale du modĂšle Ă apprendre et Ă gĂ©nĂ©raliser (phase entrainement).
đĄ Câest une maniĂšre intelligente dâexploiter la flexibilitĂ© de la data augmentation pour optimiser les performances du modĂšle en pratique, sans compromettre son aptitude Ă gĂ©nĂ©raliser sur de nouvelles donnĂ©es.
Vous avez aimé ? Restons connecté
Abonnez-vous gratuitement Ă mon Medium pour ĂȘtre averti lorsque je publie un nouvel article, une nouvelle histoire.
Retrouver moi sur LinkedIn, et Github.