L'idée d'appliquer des filtres pour faire quelque chose comme identifier les bords, est une idée plutôt cool.
Par exemple, vous pouvez prendre une image d'un 7. Avec certains filtres, vous pouvez vous retrouver avec des images transformées qui mettent en valeur différentes caractéristiques de l'image d'origine. L'original 7:
peut être vécu par le réseau comme:
Remarquez comment chaque image a extrait un bord différent de l'original 7.
Tout cela est très bien, mais disons que la couche suivante de votre réseau est une couche Max Pooling.
Ma question est, en général, cela ne semble-t-il pas un peu exagéré? Nous avons simplement été très prudents et délibérés avec l'identification des bords à l'aide de filtres - maintenant, nous ne nous soucions plus de rien, car nous avons foutu le bord des valeurs de pixels! Veuillez me corriger si je me trompe, mais nous sommes passés de 25 X 25 à 2 X 2! Pourquoi ne pas simplement aller directement à Max Pooling, ne finirons-nous pas par la même chose?
Dans le prolongement de ma question, je ne peux m'empêcher de me demander ce qui se passerait si, par coïncidence, chacun des 4 carrés avait juste un pixel avec la même valeur maximale. Ce n'est sûrement pas un cas rare, non? Soudain, toutes vos images d'entraînement se ressemblent exactement.
The pooling operation provides a form of translation invariance
?