introduction

introduction

arrière-plan

Pour la plupart des praticiens de l'apprentissage en profondeur, la modélisation de séquences est synonyme de réseaux récurrents.

Cependant, des résultats récents ont montré que les architectures convolutives peuvent surpasser les réseaux récurrents sur des tâches telles que la synthèse audio et la traduction automatique. Étant donné une nouvelle tâche de modélisation de séquence ou un nouveau jeu de données, quelle architecture doit être utilisée ? Nous effectuons une évaluation systématique des architectures convolutionnelles et récurrentes générales pour la modélisation de séquences. Ces modèles sont évalués sur un large éventail de tâches standard couramment utilisées pour comparer les réseaux récurrents. Nos résultats montrent que les architectures convolutives simples surpassent les réseaux récurrents classiques tels que les LSTM sur une variété de tâches et d'ensembles de données, tout en présentant une mémoire efficace plus longue. Nous concluons que l'association commune entre la modélisation de séquences et les réseaux récurrents doit être reconsidérée et que les réseaux convolutifs doivent être considérés comme un point de départ naturel pour les tâches de modélisation de séquences. assister le personnel concerné

Résumé : cnn peut effectuer une modélisation de séquence, et les résultats de la modélisation sont dus à LSTM.

principe de conception

Modélisation d'ensembles de séquences

Les premiers principes sont employés : avec simplicité, combiner prédiction autorégressive et mémoire ultra-longue.

image-20230714162602143

image-20230714162609761

La prévision autorégressive , telle que l'équation (1), utilise les observations passées pour prédire les valeurs futures et ne peut pas divulguer les valeurs futures pour aider à la prévision .

Mémoire plus longue : L'avantage de RNN par rapport aux réseaux de neurones feed-forward traditionnels est qu'il a une mémoire plus longue car son entrée contient des modules cachés. CNN peut être plus compétitif que RNN et possède une mémoire plus longue, il peut donc être utilisé pour la modélisation de séquences .

Un réseau neuronal récurrent (RNN) est un modèle de réseau neuronal capable de traiter des données séquentielles. Comparé au réseau de neurones à anticipation traditionnel, RNN a une mémoire plus longue lors du traitement des données de séquence, car l'état caché de chaque pas de temps dans RNN est déterminé par l'entrée actuelle et l'état caché du pas de temps précédent. . Ce type de mémoire donne à RNN un avantage dans le traitement de données à longue séquence et a un large éventail d'applications dans le traitement du langage naturel, la reconnaissance vocale, la description d'images et d'autres domaines.

L'importance de la mémoire de RNN est qu'elle permet au modèle de prendre en compte toutes les informations précédentes lors du traitement des données de séquence, pas seulement l'entrée actuelle. Cela peut mieux capturer les dépendances à long terme dans les données de séquence, par exemple dans le traitement du langage naturel, les RNN peuvent mieux gérer les relations sémantiques dans les phrases longues.

Dans le réseau de neurones à anticipation traditionnel, chaque entrée est uniquement liée à la sortie actuelle, tandis que RNN peut intégrer les informations précédentes dans le calcul actuel, afin de mieux refléter les informations historiques des données de séquence. Dans le même temps, RNN a également des poids réutilisables, ce qui signifie que le modèle peut partager des poids lors du traitement de différentes données de séquence, de sorte qu'il a de meilleures performances de généralisation lors du traitement de différentes tâches.

En bref, la mémoire de RNN est d'une grande importance pour le traitement des données de séquence, elle peut mieux capturer les dépendances à long terme dans les données de séquence et a de meilleures performances de généralisation lors du traitement de différentes données de séquence.

Opération spécifique - convolution causale (Casual Model)

  • En raison de la nécessité de satisfaire la propriété autorégressive, l'entrée actuelle n'est liée qu'à la sortie passée et les informations ne peuvent pas être divulguées à partir du futur .
  • Et la séquence nécessite que l'entrée soit de la même longueur que la sortie. Une opération de convolution causale est employée.

Il peut mieux saisir la relation causale dans les séries chronologiques et éviter l'influence des informations futures sur les informations actuelles

Le modèle mathématique de convolution causale est le suivant :

yt = ∑ je = 0 k − 1 wi ⋅ xt − je y_t = \sum_{i=0}^{k-1} w_i \cdot x_{ti}yt=je = 0k 1wjeXt - je

Opération spécifique - Circonvolutions dilatées

  • Pour obtenir des historiques efficaces profonds et longs, des réseaux de neurones très profonds ou de très grands filtres sont nécessaires.
  • La convolution d'expansion est utilisée ici, qui consiste à insérer des trous dans le processus de convolution pour augmenter le champ de vision de la perception, de manière à mieux saisir la dépendance à long terme du modèle .

image-20230714164611369

Le modèle mathématique de convolution dilatée est le suivant :

yt = ∑ je = 0 k − 1 wi ⋅ X ( r ⋅ t ) − ( r − 1 ) ⋅ je y_t = \sum_{i=0}^{k-1} w_i \cdot x_{(r \cdot t ) - (r-1) \cdot i}yt=je = 0k 1wjeX( r t ) ( r 1 ) je

Input: [x1, x2, x3, x4, x5, x6, x7, x8, x9, x10]
    
        | kernel |
        ||
        
    Output: [y1, y2, y3, y4, y5, y6, y7, y8]
    
    y1 = w0*x1 + w1*x3 + w2*x5
    y2 = w0*x2 + w1*x4 + w2*x6
    y3 = w0*x3 + w1*x5 + w2*x7
    y4 = w0*x4 + w1*x6 + w2*x8
    y5 = w0*x5 + w1*x7 + w2*x9
    y6 = w0*x6 + w1*x8 + w2*x10
    y7 = w0*x7 + w1*x9
    y8 = w0*x8 + w1*x10

Fonctionnement spécifique - connexion résiduelle

y = F ( X ) + xy = F(x) + xy=F ( x )+X

image-20230714164740128

L'entrée est directement connectée à la sortie, de sorte que la différence entre l'entrée et l'entrée peut être apprise directement, au lieu d'apprendre uniquement la relation entre la sortie et le mappage.

  • Il peut réduire les problèmes de petits gradients et d'explosions de gradient, accélérant ainsi la convergence du modèle.
x = input
    y = Conv1D(x) + Conv1D(x)
    y = BatchNormalization(y)
    y = ReLU(y)
    output = y + x

image-20230714165641442

Résumer

  • Les CNN peuvent être utilisés pour la modélisation de séquence et devraient être le premier choix pour la modélisation de séquence.
  • TCN adopte le premier principe : une mémoire autorégressive et plus longue peut répondre aux exigences de la modélisation de séquences, et ses performances sont meilleures que rnn.
  • TCN utilise la convolution causale et la convolution d'expansion pour répondre respectivement aux deux exigences ci-dessus, et utilise une connexion résiduelle pour éviter des problèmes tels que la disparition du gradient et accélérer la vitesse d'apprentissage du modèle.

Je suppose que tu aimes

Origine blog.csdn.net/fuzekun/article/details/131727614
conseillé
Classement