Cet article abordera le sujet de la création de couches personnalisées de réseaux de neurones, en utilisant la différenciation automatique et en travaillant avec des couches d'apprentissage en profondeur standard des réseaux de neurones dans MATLAB sur la base d'un classificateur utilisant un réseau de transformation spatiale.
Le Spatial Transformer Network (STN) est un exemple de modules LEGO diffĂ©renciables que vous pouvez utiliser pour construire et amĂ©liorer votre rĂ©seau neuronal. STN, en appliquant une transformation affine pouvant ĂȘtre entraĂźnĂ©e avec une interpolation ultĂ©rieure, prive les images de l'invariance spatiale. En gros, la tĂąche de STN est de faire pivoter ou de rĂ©duire / agrandir l'image originale afin que le rĂ©seau de classificateurs principal puisse identifier plus facilement l'objet souhaitĂ©. Un bloc STN peut ĂȘtre placĂ© dans un rĂ©seau de neurones convolutifs (CNN), y travaillant pour la plupart indĂ©pendamment, en apprenant sur des gradients provenant du rĂ©seau principal (pour plus de dĂ©tails sur ce sujet, voir les liens: Habr et Manuel ).
Dans notre cas, la tùche consiste à classer 99 classes de pare-brise de voiture, mais commençons par quelque chose de plus simple. Afin de nous familiariser avec ce sujet, nous allons prendre la base de données MNIST à partir de nombres manuscrits et construire un réseau de couches neuronales d'apprentissage en profondeur MATLAB et une couche de transformation d'image affine personnalisée (vous pouvez voir la liste de toutes les couches disponibles et leurs fonctionnalités ici ).
MATLAB , - dlarray ( , dlarray ).
, dlarray, MATLAB, , dlarray. , .
, , . , . , , - - .
, . Y, . (, ), . .
Y |
|
|
|
|
|
|
|
, , STN. MNIST.
, , , , , .
, MNIST, .
â , â , â RGB, , , . . , , , , 2, , 0, , , . , , STN , , , . , . STN - , , dropout STN.
, , [0;255], [0;1], â . .
, 255 0.3 0.75, . , .
, , , , [-10;10] [-50; 50]. MATLAB, dlarray . .
.
, , , , 90. , , , , , . , , , , .
, STN, . .
, .
, , STN .