L'arquitectura d'una xarxa neuronal convolucional (CNN) a PyTorch fa referència al disseny i la disposició dels seus diferents components, com ara capes convolucionals, capes d'agrupació, capes completament connectades i funcions d'activació. L'arquitectura determina com la xarxa processa i transforma les dades d'entrada per produir sortides significatives. En aquesta resposta, oferirem una explicació detallada i completa de l'arquitectura d'una CNN a PyTorch, centrant-nos en els seus components clau i les seves funcionalitats.
Una CNN normalment consta de diverses capes disposades de manera seqüencial. La primera capa és normalment una capa convolucional, que realitza l'operació fonamental de convolució a les dades d'entrada. La convolució implica l'aplicació d'un conjunt de filtres aprendre (també coneguts com a nuclis) a les dades d'entrada per extreure característiques. Cada filtre realitza un producte puntual entre els seus pesos i un camp receptiu local de l'entrada, produint un mapa de característiques. Aquests mapes de característiques capturen diferents aspectes de les dades d'entrada, com ara vores, textures o patrons.
Després de la capa convolucional, s'aplica una funció d'activació no lineal per elements als mapes de característiques. Això introdueix la no linealitat a la xarxa, la qual cosa li permet aprendre relacions complexes entre l'entrada i la sortida. Les funcions d'activació habituals que s'utilitzen a les CNN inclouen ReLU (Unitat lineal rectificada), sigmoide i tanh. ReLU s'utilitza àmpliament a causa de la seva senzillesa i eficàcia per mitigar el problema del gradient de desaparició.
Després de la funció d'activació, sovint s'utilitza una capa de agrupació per reduir les dimensions espacials dels mapes de característiques alhora que es conserven les característiques importants. Les operacions d'agrupació, com ara l'agrupació màxima o l'agrupació mitjana, divideixen els mapes de característiques en regions no superposades i agreguen els valors dins de cada regió. Aquesta operació de mostreig inferior redueix la complexitat computacional de la xarxa i la fa més robusta a les variacions de l'entrada.
Les capes convolucionals, d'activació i d'agrupació es repeteixen normalment diverses vegades per extreure característiques cada cop més abstractes i d'alt nivell de les dades d'entrada. Això s'aconsegueix augmentant el nombre de filtres a cada capa convolucional o apilant múltiples capes convolucionals. La profunditat de la xarxa li permet aprendre representacions jeràrquiques de l'entrada, capturant característiques tant de baix nivell com d'alt nivell.
Un cop finalitzat el procés d'extracció de característiques, la sortida s'aplana en un vector 1D i es passa per una o més capes completament connectades. Aquestes capes connecten cada neurona d'una capa amb cada neurona de la següent capa, la qual cosa permet aprendre relacions complexes. Les capes completament connectades s'utilitzen habitualment a les capes finals de la xarxa per mapar les característiques apreses a la sortida desitjada, com ara les probabilitats de classe en les tasques de classificació d'imatges.
Per millorar el rendiment i la generalització de la xarxa, es poden aplicar diverses tècniques. Les tècniques de regularització, com ara l'abandonament o la normalització per lots, es poden utilitzar per evitar el sobreajust i millorar la capacitat de la xarxa per generalitzar-se a dades no vistes. L'abandonament posa a l'atzar una fracció de les neurones a zero durant l'entrenament, obligant la xarxa a aprendre representacions redundants. La normalització per lots normalitza les entrades a cada capa, reduint el canvi de covariable intern i accelerant el procés d'entrenament.
L'arquitectura d'una CNN a PyTorch inclou la disposició i el disseny dels seus components, incloses les capes convolucionals, les funcions d'activació, les capes d'agrupació i les capes totalment connectades. Aquests components treballen conjuntament per extreure i aprendre característiques significatives de les dades d'entrada, cosa que permet a la xarxa fer prediccions o classificacions precises. Dissenyant acuradament l'arquitectura i incorporant tècniques com la regularització, es pot millorar el rendiment i la generalització de la xarxa.
Altres preguntes i respostes recents sobre Xarxa neuronal de convolució (CNN):
- Quina és la xarxa neuronal convolucional més gran feta?
- Quins són els canals de sortida?
- Quin és el significat del nombre de canals d'entrada (el primer paràmetre de nn.Conv1d)?
- Quines són algunes de les tècniques habituals per millorar el rendiment d'una CNN durant l'entrenament?
- Quina és la importància de la mida del lot en la formació d'una CNN? Com afecta el procés de formació?
- Per què és important dividir les dades en conjunts de formació i validació? Quantes dades s'assignen normalment per a la validació?
- Com preparem les dades de formació per a una CNN? Explica els passos a seguir.
- Quin és el propòsit de l'optimitzador i la funció de pèrdua en l'entrenament d'una xarxa neuronal convolucional (CNN)?
- Per què és important controlar la forma de les dades d'entrada en diferents etapes durant la formació d'una CNN?
- Es poden utilitzar capes convolucionals per a dades que no siguin imatges? Posa un exemple.
Veure més preguntes i respostes a la xarxa neuronal de convolució (CNN)