En fait, je suppose que la question est un peu large! En tous cas.
Comprendre les réseaux de convolution
Ce qui est appris dans ConvNets
tente de minimiser la fonction de coût pour classer correctement les entrées dans les tâches de classification. Tous les filtres de changement de paramètres et appris sont destinés à atteindre l'objectif mentionné.
Fonctionnalités apprises dans différentes couches
Ils essaient de réduire le coût en apprenant des caractéristiques de bas niveau, parfois dénuées de sens, comme les lignes horizontales et verticales dans leurs premières couches, puis en les empilant pour créer des formes abstraites, qui ont souvent un sens, dans leurs dernières couches. Pour illustrer cette fig. 1, qui a été utilisé à partir d' ici , peut être considéré. L'entrée est le bus et le gird montre les activations après le passage de l'entrée à travers différents filtres dans la première couche. Comme on peut le voir, le cadre rouge qui est l'activation d'un filtre, dont ses paramètres ont été appris, a été activé pour des bords relativement horizontaux. Le cadre bleu a été activé pour les bords relativement verticaux. Il est possible queConvNets
apprendre des filtres inconnus qui sont utiles et nous, comme par exemple les praticiens de la vision par ordinateur, n'avons pas découvert qu'ils peuvent être utiles. La meilleure partie de ces réseaux est qu'ils essaient de trouver leurs propres filtres et n'utilisent pas nos filtres découverts limités. Ils apprennent les filtres pour réduire la quantité de fonction de coût. Comme mentionné, ces filtres ne sont pas nécessairement connus.
Dans les couches plus profondes, les caractéristiques apprises dans les couches précédentes se rejoignent et créent des formes qui ont souvent un sens. Dans cet article, il a été discuté que ces couches peuvent avoir des activations qui ont un sens pour nous ou que les concepts qui ont un sens pour nous, en tant qu'êtres humains, peuvent être répartis entre d'autres activations. En figue. 2 le cadre vert montre les activatins d'un filtre dans la cinquième couche d'unConvNet
. Ce filtre se soucie des visages. Supposons que le rouge se soucie des cheveux. Celles-ci ont un sens. Comme on peut le voir, il y a d'autres activations qui ont été activées juste à la position des visages typiques dans l'entrée, le cadre vert en fait partie; Le cadre bleu en est un autre exemple. Par conséquent, l'abstraction des formes peut être apprise par un filtre ou de nombreux filtres. En d'autres termes, chaque concept, comme le visage et ses composants, peut être réparti entre les filtres. Dans les cas où les concepts sont répartis entre différentes couches, si quelqu'un les regarde, ils peuvent être sophistiqués. L'information est répartie entre eux et pour comprendre que l'information tous ces filtres et leurs activations doivent être pris en considération bien qu'ils puissent sembler tellement compliqués.
CNNs
ne doivent pas du tout être considérées comme des boîtes noires. Zeiler et tous dans cet article étonnant ont discuté du développement de meilleurs modèles est réduit à des essais et des erreurs si vous ne comprenez pas ce qui est fait à l'intérieur de ces réseaux. Cet article essaie de visualiser les cartes d'entités dans ConvNets
.
Capacité à gérer différentes transformations pour généraliser
ConvNets
utiliser des pooling
couches non seulement pour réduire le nombre de paramètres, mais aussi pour avoir la capacité d'être insensible à la position exacte de chaque entité. De plus, leur utilisation permet aux calques d'apprendre différentes caractéristiques, ce qui signifie que les premiers calques apprennent des caractéristiques simples de bas niveau comme les bords ou les arcs, et les calques plus profonds apprennent des caractéristiques plus complexes comme les yeux ou les sourcils. Max Pooling
Par exemple, tente de rechercher si une fonction spéciale existe dans une région spéciale ou non. L'idée de pooling
couches est tellement utile mais elle est juste capable de gérer la transition entre d'autres transformations. Bien que les filtres dans différents calques essaient de trouver des motifs différents, par exemple, une face pivotée est apprise en utilisant des calques différents d'une face habituelle,CNNs
par là ne possèdent pas de couche pour gérer d'autres transformations. Pour illustrer cela, supposons que vous vouliez apprendre des faces simples sans aucune rotation avec un filet minimal. Dans ce cas, votre modèle peut parfaitement le faire. supposons que l'on vous demande d'apprendre toutes sortes de visages avec une rotation arbitraire des visages. Dans ce cas, votre modèle doit être beaucoup plus grand que le filet appris précédent. La raison en est qu'il doit y avoir des filtres pour apprendre ces rotations dans l'entrée. Malheureusement, ce ne sont pas toutes des transformations. Votre saisie peut également être déformée également. Ces cas ont mis Max Jaderberg et tous en colère. Ils ont composé ce papier pour faire face à ces problèmes afin de calmer notre colère comme la leur.
Les réseaux de neurones convolutifs fonctionnent
Enfin, après avoir fait référence à ces points, ils fonctionnent car ils essaient de trouver des modèles dans les données d'entrée. Ils les empilent pour créer des concepts abstraits par là couches de convolution. Ils essaient de savoir si les données d'entrée ont chacun de ces concepts ou non dans ces couches denses pour déterminer à quelle classe les données d'entrée appartiennent.
J'ajoute quelques liens utiles: