PyTorch - Bases du réseau neuronal

Le principe principal du réseau neuronal comprend une collection d'éléments de base, c'est-à-dire un neurone artificiel ou un perceptron. Il comprend plusieurs entrées de base telles que x1, x2… .. xn qui produit une sortie binaire si la somme est supérieure au potentiel d'activation.

La représentation schématique de l'échantillon de neurone est mentionnée ci-dessous -

La sortie générée peut être considérée comme la somme pondérée avec potentiel d'activation ou biais.

$$ Sortie = \ sum_jw_jx_j + Biais $$

L'architecture typique du réseau neuronal est décrite ci-dessous -

Les couches entre l'entrée et la sortie sont appelées couches cachées, et la densité et le type de connexions entre les couches est la configuration. Par exemple, une configuration entièrement connectée a tous les neurones de la couche L connectés à ceux de L + 1. Pour une localisation plus prononcée, nous ne pouvons connecter qu'un voisinage local, disons neuf neurones, à la couche suivante. La figure 1-9 illustre deux couches cachées avec des connexions denses.

Les différents types de réseaux de neurones sont les suivants -

Réseaux de neurones feedforward

Les réseaux de neurones à effet direct comprennent des unités de base de la famille des réseaux de neurones. Le mouvement des données dans ce type de réseau neuronal se fait de la couche d'entrée à la couche de sortie, via les couches cachées présentes. La sortie d'une couche sert de couche d'entrée avec des restrictions sur tout type de boucles dans l'architecture du réseau.

Réseaux de neurones récurrents

Les réseaux de neurones récurrents se produisent lorsque le modèle de données change en conséquence sur une période. Dans RNN, la même couche est appliquée pour accepter les paramètres d'entrée et afficher les paramètres de sortie dans le réseau neuronal spécifié.

Les réseaux neuronaux peuvent être construits à l'aide du package torch.nn.

Il s'agit d'un simple réseau à réaction. Il prend l'entrée, l'alimente à travers plusieurs couches l'une après l'autre, puis donne finalement la sortie.

Avec l'aide de PyTorch, nous pouvons utiliser les étapes suivantes pour une procédure d'entraînement typique pour un réseau de neurones -

  • Définissez le réseau neuronal qui a des paramètres (ou pondérations) apprenables
  • Itérer sur un ensemble de données d'entrées.
  • Traitez les entrées via le réseau.
  • Calculez la perte (dans quelle mesure la sortie est-elle correcte).
  • Propagez les dégradés dans les paramètres du réseau.
  • Mettez à jour les poids du réseau, généralement en utilisant une simple mise à jour comme indiqué ci-dessous
rule: weight = weight -learning_rate * gradient