Qu'est-ce qu'une couche convolutionnelle 1D dans le Deep Learning?

13

J'ai une bonne compréhension générale du rôle et du mécanisme des couches convolutives dans le Deep Learning pour le traitement d'image en cas d'implémentations 2D ou 3D - elles essaient "simplement" de capturer des motifs 2D dans les images (sur 3 canaux en cas de 3D).

Mais récemment, je suis tombé sur des couches convolutives 1D dans le contexte du traitement du langage naturel, ce qui est une sorte de surprise pour moi, car selon moi, la convolution 2D est surtout utilisée pour capturer des motifs 2D impossibles à révéler sous forme 1D (vectorielle) de pixels d'image. Quelle est la logique derrière la convolution 1D?

Hendrik
la source

Réponses:

16

En bref, il n'y a rien de spécial dans le nombre de dimensions pour la convolution. Toute dimensionnalité de convolution pourrait être envisagée, si elle convenait à un problème.

Le nombre de dimensions est une propriété du problème résolu. Par exemple, 1D pour les signaux audio, 2D pour les images, 3D pour les films. . .

Ignorant brièvement le nombre de dimensions, les éléments suivants peuvent être considérés comme les forces d'un réseau neuronal convolutif (CNN), par rapport aux modèles entièrement connectés, lorsqu'il s'agit de certains types de données:

  1. L'utilisation de poids partagés pour chaque emplacement que le processus de convolution réduit considérablement le nombre de paramètres à apprendre, par rapport aux mêmes données traitées via un réseau entièrement connecté.

  2. Les poids partagés sont une forme de régularisation.

  3. La structure d'un modèle convolutionnel fait de fortes hypothèses sur les relations locales dans les données, ce qui, lorsqu'il est vrai, en fait un bon ajustement au problème.

    3.1 Les modèles locaux fournissent de bonnes données prédictives (et / ou peuvent être utilement combinés en modèles prédictifs plus complexes dans les couches supérieures)

    3.2 Les types de modèles trouvés dans les données peuvent être trouvés à plusieurs endroits. Trouver le même modèle dans un ensemble différent de points de données est significatif.

Ces propriétés des CNN sont indépendantes du nombre de dimensions. Les CNN unidimensionnels fonctionnent avec des motifs dans une dimension et ont tendance à être utiles dans l'analyse de signal sur des signaux de longueur fixe. Ils fonctionnent bien pour l'analyse de signaux audio, par exemple. Également pour certains traitements du langage naturel - bien que les réseaux de neurones récurrents, qui permettent différentes longueurs de séquence, puissent être mieux adaptés, en particulier ceux avec des dispositions de portes mémoire telles que LSTM ou GRU. Un CNN peut toujours être plus facile à gérer, et vous pouvez simplement remplir l'entrée pour qu'elle soit de longueur fixe.

Neil Slater
la source
est 2D uniquement pour les images en niveaux de gris? Que se passe-t-il lorsque vous introduisez le RVB?
Mohammad Athar
1
@MohammadAthar: RVB est représenté comme des canaux (ou des cartes d'entités) d'informations 2D distinctes, et généralement considéré comme 2D également lors de la description des couches CNN. Si vous utilisiez TensorFlow ou Keras, vous utiliseriez certainement une définition de couche Conv2D pour gérer les images en couleur. Cependant, les implémentations auront souvent des structures 3D et 4D en interne pour stocker les poids. . . et une convolution 2D sur plusieurs canaux est effectivement un cas particulier d'une convolution 3D mathématiquement (où les dimensions d'entrée et de noyau doivent correspondre pour la dernière couche). C'est donc une convention de dénomination autant que n'importe quoi.
Neil Slater